From owner-freebsd-bugs@FreeBSD.ORG Mon Dec 31 03:10:00 2012 Return-Path: Delivered-To: freebsd-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AC4275D3 for ; Mon, 31 Dec 2012 03:10:00 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 77B7F8FC0C for ; Mon, 31 Dec 2012 03:10:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id qBV3A0Oo048358 for ; Mon, 31 Dec 2012 03:10:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id qBV3A0HT048357; Mon, 31 Dec 2012 03:10:00 GMT (envelope-from gnats) Resent-Date: Mon, 31 Dec 2012 03:10:00 GMT Resent-Message-Id: <201212310310.qBV3A0HT048357@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Mike Karels Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 808062D0 for ; Mon, 31 Dec 2012 03:00:38 +0000 (UTC) (envelope-from Mike_Karels@mcafee.com) Received: from DNVWSMAILOUT1.mcafee.com (dnvwsmailout1.mcafee.com [161.69.31.173]) by mx1.freebsd.org (Postfix) with ESMTP id 33C6D8FC08 for ; Mon, 31 Dec 2012 03:00:37 +0000 (UTC) Received: from DNVEXAMER2N1.corp.nai.org (unknown [10.44.48.21]) by DNVWSMAILOUT1.mcafee.com with smtp id 7283_295c_89afacf9_932c_45aa_8c8e_dd5b598ee51f; Sun, 30 Dec 2012 21:00:37 -0600 Received: from DNVEXAPP1N2.corp.nai.org (10.44.48.62) by DNVEXAMER2N1.corp.nai.org (10.44.48.21) with Microsoft SMTP Server (TLS) id 14.2.318.1; Sun, 30 Dec 2012 20:00:37 -0700 Received: from frodo.scur.com (10.44.48.240) by mail.na.nai.com (10.44.48.62) with Microsoft SMTP Server id 14.2.318.1; Sun, 30 Dec 2012 20:00:36 -0700 Received: from mcafee.com (localhost [127.0.0.1]) by frodo.scur.com (8.14.5/8.14.5) with ESMTP id qBV30ac7051303 for ; Sun, 30 Dec 2012 21:00:36 -0600 (CST) (envelope-from mkarels@mcafee.com) Received: (from mkarels@localhost) by mcafee.com (8.14.5/8.14.5/Submit) id qBV30aJ0051302; Sun, 30 Dec 2012 21:00:36 -0600 (CST) (envelope-from mkarels) Message-Id: <201212310300.qBV30aJ0051302@mcafee.com> Date: Sun, 30 Dec 2012 21:00:36 -0600 From: Mike Karels To: X-Send-Pr-Version: 3.113 Subject: kern/174850: bxe driver does not receive multicasts X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Mike Karels List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2012 03:10:00 -0000 >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: