BUG:Invalid Default Interface for IP Multicasting Causes Crash

ID: Q132434

The information in this article applies to:

SYMPTOMS

Changing the default interface for IP multicasting if the interface is not valid for the machine causes Windows NT to crash (stop responding) on the Intel x86 platform.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.

A fix to this problem is in development, but has not been regression-tested and may be destabilizing in production environments. Microsoft does not recommend implementing this fix at this time. Contact Microsoft Product Support Services for more information on the availability of this fix.

MORE INFORMATION

Each multicast transmission is sent from a single network interface, even if the host has more than one multicast-capable interface. A socket option is available to override the default for subsequent transmissions from a given socket. For example

 unsigned long addr = inet_addr("12.13.14.15");
 setsockopt(sock, IPPROTO_IP, IP_MULTICAST_IF, (char *)&addr, sizeof(addr))

where "addr" is the local IP address of the desired outgoing interface. An address of INADDR_ANY may be used to revert to the default interface.

NOTE: In the above case although the IP address is a "legal" address, if it does not belong to the machine, the following behavior occurs depending on what platform is being used:

There is no adverse effect (regardless of the platform) if the machine actually "owns" the IP address.

REFERENCES

For more information on IP multicasting, refer to the \DOC\MISC\Multcast.txt file included with the Win32 SDK.

Additional query words:

Keywords          : kbnetwork kbIP kbNTOS350bug kbNTOS351bug kbSDKPlatform kbWinsock kbGrpNet 
Issue type        : kbbug

Last Reviewed: July 30, 1998