diff options
| author | Hiroki Sato <hrs@FreeBSD.org> | 2014-03-08 14:58:39 +0000 |
|---|---|---|
| committer | Hiroki Sato <hrs@FreeBSD.org> | 2014-03-08 14:58:39 +0000 |
| commit | b0478c2bb7ba3e68bf6a59aab44a8f9a5fcf89aa (patch) | |
| tree | 927fcd05d4002fc678d4bf2d41a6741d3385e6cc /sys/dev/ffec | |
| parent | 49fa38e888a3a6b2106303ffb349cc38848ef854 (diff) | |
Notes
Diffstat (limited to 'sys/dev/ffec')
| -rw-r--r-- | sys/dev/ffec/if_ffec.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/ffec/if_ffec.c b/sys/dev/ffec/if_ffec.c index 203af9baaf38..8a4984e01c15 100644 --- a/sys/dev/ffec/if_ffec.c +++ b/sys/dev/ffec/if_ffec.c @@ -959,9 +959,10 @@ ffec_setup_rxfilter(struct ffec_softc *sc) TAILQ_FOREACH(ifma, &sc->ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; - crc = ether_crc32_be(LLADDR((struct sockaddr_dl *) + /* 6 bits from MSB in LE CRC32 are used for hash. */ + crc = ether_crc32_le(LLADDR((struct sockaddr_dl *) ifma->ifma_addr), ETHER_ADDR_LEN); - ghash |= 1LLU << (crc & 0x3f); + ghash |= 1LLU << (((uint8_t *)&crc)[3] >> 2); } if_maddr_runlock(ifp); } |
