Date: Thu, 13 Jul 2000 20:01:17 -0700 (PDT) From: Andrew Swan <aswan@ffnet.com> To: FreeBSD-gnats-submit@freebsd.org Cc: wpaul@ctr.columbia.edu Subject: kern/19904: sf driver doesn't handle ALLMULTI in SIFFLAGS Message-ID: <200007140301.UAA47055@geary.ffnet.com>
next in thread | raw e-mail | index | archive | help
>Number: 19904 >Category: kern >Synopsis: sf driver doesn't handle ALLMULTI in SIFFLAGS >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Jul 13 20:10:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Andrew Swan >Release: FreeBSD 3.3-RELEASE i386 >Organization: FastForward Networks, Inc. >Environment: sf driver (Adaptec "Starfire" 10/100 PCI ethernet controller) >Description: When the IFF_ALLMULTI flag is set on an sf interface and then the SIFFLAGS ioctl is invoked, the card is not properly programmed to receive all multicasts. >How-To-Repeat: Run mrouted with a vif configured on a physical sf interface and source traffic on that interface -- it will not be properly forwarded. >Fix: This patch is for version 1.2.2.2 of if_sf.c (from 3.3-RELEASE) I don't have any newer installation locally to test on. --- if_sf.c 1999/10/14 00:51:23 1.1.1.1 +++ if_sf.c 2000/07/14 02:44:48 @@ -1479,6 +1479,13 @@ SF_CLRBIT(sc, SF_RXFILT, SF_RXFILT_BROAD); } + /* Dow we want all multicasts? (e.g., multicast routing) */ + if (ifp->if_flags & IFF_ALLMULTI) { + SF_SETBIT(sc, SF_RXFILT, SF_RXFILT_ALLMULTI); + } else { + SF_CLRBIT(sc, SF_RXFILT, SF_RXFILT_ALLMULTI); + } + /* Init the completion queue indexes */ csr_write_4(sc, SF_CQ_CONSIDX, 0); csr_write_4(sc, SF_CQ_PRODIDX, 0); >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007140301.UAA47055>