Subject: Re: [Fwd: TTL of zero in WinNT?]

From: Igor Slepchin <[email-masked]>
Date: Tue, 10 Nov 1998 16:59:32 -0500

Unfortunately, Mr. Raghav's code doesn't work (even after removing #if 0
-#endif around the code that sets TTL). In fact, that code does
precisely what we complained about: it _does_ set the TTL to 0 but then
it happily sends those datagrams onto the network where they are picked
up by tcpdump running on a Linux host. This is what happens when i
specify the real IP address as an outgoing interface. If I bind the
socket to 127.0.0.1 instead (cute hack, right?), the datagrams are _not_
sent to the network (hurray?) Alas, they are not sent anywhere else
either: another app on the same machine listening to the same mcast
group doesn't receive anything.

I don't think this is the way anybody but Microsoft would expect that to
work.

BTW, this is a confirmed bug: see article Q138268 on msdn
(http://support.microsoft.com/support/kb/articles/q138/2/68.asp)

---
Igor Slepchin

Jonathan Rosenberg wrote:
> 
> alas, Microsoft speaks (harshly, in fact)
> 
> try this fix and see if it helps.
> --
> Jonathan D. Rosenberg                       Lucent Technologies
> Member of Technical Staff                   101 Crawfords Corner Rd.
> High Speed Networks Research                Holmdel, NJ 07733
> FAX:   (732) 834-5379                       Rm. 4C-526
> EMAIL: [email-masked]
> URL: http://www.cs.columbia.edu/~jdrosen
> 
>   ------------------------------------------------------------------------
> 
> Subject: RE: TTL of zero in WinNT?
> Date: Tue, 10 Nov 1998 11:56:35 -0800
> From: Amritansh Raghav <[email-masked]>
> To: "'Jon Crowcroft'" <[email-masked]>,
>      Colin Perkins
>      <[email-masked]>
> CC: Jonathan Rosenberg <[email-masked]>, [email-masked]
> 
> > -----Original Message-----
> > From: Jon Crowcroft [mailto:[email-masked]]
> >
> > In message <[email-masked]>, Colin Perkins typed:
> >
> >  >>--> Jonathan Rosenberg writes:
> >  >>>Has anyone had any experience with sending multicast
> > packets with a TTL
> >  >>>of 0 under WinNT? We are getting the bizarre result that
> > Windows sets
> >  >>>the TTL to zero, but sends the packets anyway.. We kind
> > of need this for
> >  >>>all of these conference bus schemes.
> >
> >  >>I'm seeing the same problem -- WinNT 4.0 with service pack
> > 4 installed.
> >
> > Colin
> >
> > hypothesis - some smart NT soft-person uses loopback in a
> > link level driver to
> > loop multicast packets, instead of havign a general abstraction of
> > loopback drivers, then forgets that by the time they get to the
> > link/mac level they cannot check the TTL, so they see a multicast
> > packet, loop it back, but send it on the wire with TTL=0
> >
> > oops
> 
> and, as usual, you would be wrong.
> 
> anyways - i just tried this and NT defaults to a ttl of 1 if you dont
> setsockopt IP_MULTICAST_TTL, otherwise sets the ttl to the value passed for
> the socket option (and will accept 0).
> 
> i used a small test program (attached, quick cut and paste from someone
> elses test)which sends UDP packets. seems to work as expected on NT4 SP4.
> If you can send me more info as to what exactly the program is doing, i
> would be glad to look at it.
> 
> >
> > j.
> > this wouldn't hapen in a millenium of halloweens with linux:-)
> >
> 
> once it runs a fully multithreaded kernel with fine grain locking on an mp
> alpha...
> 
> < ..some uuencoded stuff removed..>