Date: Sun, 30 Dec 2012 21:00:36 -0600 From: Mike Karels <mike_karels@mcafee.com> To: <FreeBSD-gnats-submit@FreeBSD.org> Subject: kern/174850: bxe driver does not receive multicasts Message-ID: <201212310300.qBV30aJ0051302@mcafee.com> Resent-Message-ID: <201212310310.qBV3A0HT048357@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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 root@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212310300.qBV30aJ0051302>