diff options
author | peter <peter@FreeBSD.org> | 2014-07-18 07:41:38 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2014-07-18 07:41:38 +0000 |
commit | d4e36a8d1165a024b5f898eee84115aa9fcbf8de (patch) | |
tree | c30c9aabda6db89b9965255021f3c6f0bd9ff2b9 /sys/dev/bge | |
parent | 2c479407e0afce2c05606d6d9c052858196fcea2 (diff) | |
download | FreeBSD-src-d4e36a8d1165a024b5f898eee84115aa9fcbf8de.zip FreeBSD-src-d4e36a8d1165a024b5f898eee84115aa9fcbf8de.tar.gz |
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.
Diffstat (limited to 'sys/dev/bge')
-rw-r--r-- | sys/dev/bge/if_bge.c | 4 |
1 files changed, 2 insertions, 2 deletions
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); } |