From d4e36a8d1165a024b5f898eee84115aa9fcbf8de Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 18 Jul 2014 07:41:38 +0000 Subject: Fix an apparent conversion error in bge to the new driver api. if_multiaddr_array() does the LLADDR work, don't do it twice. This broke IPv6 in "interesting" ways in the FreeBSD.org cluster. --- sys/dev/bge/if_bge.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys') diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index 69c8ba8..80715ef 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -1646,8 +1646,8 @@ bge_setmulti(struct bge_softc *sc) if_multiaddr_array(ifp, mta, &mcnt, mc_count); for(i = 0; i < mcnt; i++) { - h = ether_crc32_le(LLADDR((struct sockaddr_dl *) - (mta + (i * ETHER_ADDR_LEN))), ETHER_ADDR_LEN) & 0x7F; + h = ether_crc32_le(mta + (i * ETHER_ADDR_LEN), + ETHER_ADDR_LEN) & 0x7F; hashes[(h & 0x60) >> 5] |= 1 << (h & 0x1F); } -- cgit v1.1