--- pimd-2.1.0-alpha29.19/config.c.orig Fri Dec 6 07:47:15 2002 +++ pimd-2.1.0-alpha29.19/config.c Fri Aug 19 03:14:02 2005 @@ -135,13 +135,16 @@ bcopy(ifrp->ifr_name, ifr.ifr_name, sizeof(ifr.ifr_name)); /* - * Ignore loopback interfaces and interfaces that do not - * support multicast. + * Ignore loopback interfaces. + * Note that IFF_MULTICAST indicates that the device handles + * multicast packets in a special way (e.g. special MAC address) + * and not the sole capability. All interfaces except + * IFF_LOOPBACK ones are multicast capable. */ if (ioctl(udp_socket, SIOCGIFFLAGS, (char *)&ifr) < 0) log(LOG_ERR, errno, "ioctl SIOCGIFFLAGS for %s", ifr.ifr_name); flags = ifr.ifr_flags; - if ((flags & (IFF_LOOPBACK | IFF_MULTICAST)) != IFF_MULTICAST) + if (flags & (IFF_LOOPBACK)) continue; /*