diff options
author | Pyun YongHyeon <yongari@FreeBSD.org> | 2009-09-29 23:03:16 +0000 |
---|---|---|
committer | Pyun YongHyeon <yongari@FreeBSD.org> | 2009-09-29 23:03:16 +0000 |
commit | cb2cdeceb5edf896a67bbade636283f7697b3482 (patch) | |
tree | 783db1a1a691f2fb5dc828555ab660c989ec7d7b /sys/dev/ale | |
parent | 072a126d12b4427e7fa2cc448b604f92e4cfe5f6 (diff) | |
download | src-cb2cdeceb5edf896a67bbade636283f7697b3482.tar.gz src-cb2cdeceb5edf896a67bbade636283f7697b3482.zip |
Fix multicast handling. All Atheros controllers use big-endian form
in computing multicast hash.
PR: kern/139137
Notes
Notes:
svn path=/head/; revision=197627
Diffstat (limited to 'sys/dev/ale')
-rw-r--r-- | sys/dev/ale/if_ale.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/ale/if_ale.c b/sys/dev/ale/if_ale.c index 65e068fa5db3..305eda4810a3 100644 --- a/sys/dev/ale/if_ale.c +++ b/sys/dev/ale/if_ale.c @@ -3060,7 +3060,7 @@ ale_rxfilter(struct ale_softc *sc) TAILQ_FOREACH(ifma, &sc->ale_ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; - crc = ether_crc32_le(LLADDR((struct sockaddr_dl *) + crc = ether_crc32_be(LLADDR((struct sockaddr_dl *) ifma->ifma_addr), ETHER_ADDR_LEN); mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f); } |