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.
This commit is contained in:
Peter Wemm 2014-07-18 07:41:38 +00:00
parent 3dcf5eb705
commit a127e581c5

View File

@ -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);
}