Date: Mon, 15 May 1995 23:50:01 -0700 From: Paul Traina <pst@Shockwave.COM> To: freebsd-bugs Subject: kern/424: if_ep driver does not support multicast Message-ID: <199505160650.XAA00909@freefall.cdrom.com> In-Reply-To: Your message of Mon, 15 May 1995 23:45:23 -0700 <199505160645.XAA21674@precipice.shockwave.com>
index | next in thread | previous in thread | raw e-mail
>Number: 424
>Category: kern
>Synopsis: 3COM 3C509 driver doesn't support multicast
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs (FreeBSD bugs mailing list)
>State: open
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon May 15 23:50:00 1995
>Originator: Rob Widmer
>Organization:
cisco Systems, Inc.
>Release: FreeBSD 2.0
>Environment:
FreeBSD 2.0, 3COM 3C509 (if_ep)
>Description:
Add multicast support
>How-To-Repeat:
>Fix:
*** 559,564 ****
--- 559,565 ----
ifp->if_name = "ep";
ifp->if_mtu = ETHERMTU;
ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_NOTRAILERS;
+ ifp->if_flags |= IFF_MULTICAST;
ifp->if_init = epinit;
ifp->if_output = ether_output;
ifp->if_start = epstart;
***************
*** 1336,1341 ****
--- 1337,1363 ----
ifp->if_mtu = ifr->ifr_mtu;
}
break;
+
+ case SIOCADDMULTI:
+ case SIOCDELMULTI:
+ /*
+ * Update our multicast listeners
+ */
+ if (cmd == SIOCADDMULTI) {
+ ether_addmulti(ifr, &sc->arpcom);
+ } else {
+ ether_delmulti(ifr, &sc->arpcom);
+ }
+
+ if (error == ENETRESET) {
+ /*
+ * Multicast list has changed; set the
+ * hardware filter accordingly
+ */
+ epreset(ifp->if_unit);
+ error = 0;
+ }
+ break;
default:
error = EINVAL;
>Audit-Trail:
>Unformatted:
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199505160650.XAA00909>
