[Openslp-devel] Re: OpenSLP and IP_DROP_MEMBERSHIP
Brought to you by:
jcalcote
From: Matt P. <ma...@ca...> - 2001-11-15 00:59:50
|
Hi Timothy, There may be an issue with not calling DropSLPMulticastGroup() on multicast sockets before closing them. Basically what this does is instruct the kernel (and device driver) to not look for muticast traffic and also sends an IGMP message to the router so that multicast traffic is no longer sent. You'd think that on the OS could do this for you when the socket is closed, however, it might be possible that on some OSes that the IGMP exchange is not performed. The result would be continued routing of multicast until the lack IGMP messages caused the router to time out. The good news is that this is extremely easy to fix. We can simply call DropSLPMulticastGroup() from SLPDSocketFree() on sockets of type DATAGRAM_MULTICAST. I can put the change in tomorrow... On Wednesday 14 November 2001 03:57 pm, Timothy S Zurcher wrote: > Matt, > > I see that the following file: > slpd/slpd_socket.c > > has the following function: > DropSLPMulticastGroup() > > that makes the following call: > setsockopt(..., IP_DROP_MEMBERSHIP, ...); > > However, I don't see anywhere that DropSLPMulticastGroup() is being called. > > When the multicast sockets are created, I see that the setsockopt() > call is being made to join the multicast group (IP_ADD_MEMBERSHIP), > and I see the IGMP protocol request on the wire. > > Is there any issue with, or without, DropSLPMulticastGroup() being called? > > Thanks, > Tim Zurcher -- Matt Peterson Sr. Software Engineer Caldera, Inc ma...@ca... |