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>
