From owner-freebsd-hackers Sun Apr 11 23:52:35 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from catarina.usc.edu (catarina.usc.edu [128.125.51.47]) by hub.freebsd.org (Postfix) with SMTP id 9EA9714EF4 for ; Sun, 11 Apr 1999 23:51:51 -0700 (PDT) (envelope-from pavlin@catarina.usc.edu) Received: from rumi.usc.edu (rumi.usc.edu [128.125.51.41]) by catarina.usc.edu (8.6.10/8.6.9) with ESMTP id XAA02321; Sun, 11 Apr 1999 23:49:27 -0700 Received: from rumi (localhost [127.0.0.1]) by rumi.usc.edu (8.8.5/8.6.9) with ESMTP id XAA10028; Sun, 11 Apr 1999 23:49:26 -0700 (PDT) Message-Id: <199904120649.XAA10028@rumi.usc.edu> To: bmah@CA.Sandia.GOV Cc: Dag-Erling Smorgrav , Pavlin Ivanov Radoslavov , freebsd-hackers@FreeBSD.ORG Subject: Re: IGMP membership report not received by mrouted In-reply-to: Your message of "Fri, 09 Apr 1999 06:59:34 PDT." <199904091359.GAA08806@stennis.ca.sandia.gov> Date: Sun, 11 Apr 1999 23:49:26 -0700 From: Pavlin Ivanov Radoslavov Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > --==_Exmh_98576044P > Content-Type: text/plain; charset=us-ascii > > If memory serves me right, Dag-Erling Smorgrav wrote: > > Pavlin Ivanov Radoslavov writes: > > > If I start mrouted (3.9-beta3+IOS12), mrouted cannot see the IGMP > > > membership reports. If I start tcpdump on the interface with > > > receivers, then mrouted can see the IGMP membership reports!! > > > No other mrouted running on neighbor machines. > > > > Starting tcpdump puts the interface in promiscuous mode. It sounds to > > me like a) the NIC driver is incorrectly discarding multicast packets > > when not in promiscuous mode, or b) mrouted uses bpf but forgets to Thanks for all suggestions/explanations. A mcast routing daemon like mrouted puts an interface in a mode similar to promiscuous: there is a flag IFF_ALLMULTI that enables receiving all multicast groups. After looking in the source code, it seems like the problem is in the de driver. Below is a simple patch to pci/if_de.c that fixed it. I will send an email to the author of the device driver. Regards, Pavlin --- if_de.c.orig Tue Dec 29 16:37:43 1998 +++ if_de.c Sun Apr 11 23:32:40 1999 @@ -3378,9 +3378,11 @@ } else { sc->tulip_flags &= ~TULIP_PROMISC; sc->tulip_cmdmode &= ~TULIP_CMD_PROMISCUOUS; - if (sc->tulip_flags & TULIP_ALLMULTI) { + if (sc->tulip_if.if_flags & IFF_ALLMULTI) { + sc->tulip_flags |= TULIP_ALLMULTI; sc->tulip_cmdmode |= TULIP_CMD_ALLMULTI; } else { + sc->tulip_flags &= ~TULIP_ALLMULTI; sc->tulip_cmdmode &= ~TULIP_CMD_ALLMULTI; } } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message