From: Mark Cave-Ayland Date: Fri, 15 Dec 2017 18:41:52 +0000 (+0000) Subject: ftgmac100: use inline net_crc32() and bitshift instead of compute_mcast_idx() X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4227be63f081e939ae7313b1921d8f60a5d8d714;p=qmiga%2Fqemu.git ftgmac100: use inline net_crc32() and bitshift instead of compute_mcast_idx() This makes it much easier to compare the multicast CRC calculation endian and bitshift against the Linux driver implementation. Signed-off-by: Mark Cave-Ayland Signed-off-by: Jason Wang --- diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c index 3c36ab9cec..704f452067 100644 --- a/hw/net/ftgmac100.c +++ b/hw/net/ftgmac100.c @@ -762,7 +762,7 @@ static int ftgmac100_filter(FTGMAC100State *s, const uint8_t *buf, size_t len) } /* TODO: this does not seem to work for ftgmac100 */ - mcast_idx = compute_mcast_idx(buf); + mcast_idx = net_crc32(buf, ETH_ALEN) >> 26; if (!(s->math[mcast_idx / 32] & (1 << (mcast_idx % 32)))) { return 0; }