>Number: 174850 >Category: kern >Synopsis: bxe driver does not receive multicasts >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Dec 31 03:10:00 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Mike Karels >Release: FreeBSD 10.0-CURRENT amd64 >Organization: McAfee, Inc >Environment: System: FreeBSD freebsd-current.karels.net 10.0-CURRENT FreeBSD 10.0-CURRENT #1 r244048: Sun Dec 9 18:48:31 UTC 2012 r...@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Multicast filters do not work on the bxe driver. Note: problem was found and fixed on a FreeBSD 8.2 derivative; the patch compiles with -current. >How-To-Repeat: Run a program that expects to receive multicast; it only works with promiscous or all-multicast mode. >Fix: Index: if_bxe.c =================================================================== --- if_bxe.c (revision 244606) +++ if_bxe.c (working copy) @@ -14188,7 +14188,8 @@ TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; - crc = ether_crc32_le(ifma->ifma_addr->sa_data, + crc = calculate_crc32c(0, + LLADDR((struct sockaddr_dl *)ifma->ifma_addr), ETHER_ADDR_LEN); bit = (crc >> 24) & 0xff; regidx = bit >> 5; >Release-Note: >Audit-Trail: >Unformatted: _______________________________________________ freebsd-bugs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"