[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH ] lan9118: fix multicast filtering
From: |
Aurelien Jarno |
Subject: |
[Qemu-devel] [PATCH ] lan9118: fix multicast filtering |
Date: |
Thu, 23 Aug 2012 17:39:39 +0200 |
The lan9118 emulation tries to compute the multicast index by calling
directly the crc32() function from zlib, but fails to get the correct
result.
Use the common compute_mcast_idx() function instead, which gives the
correct result. This fixes IPv6 support.
Signed-off-by: Aurelien Jarno <address@hidden>
---
hw/lan9118.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/lan9118.c b/hw/lan9118.c
index ff0a50b..ceaf96f 100644
--- a/hw/lan9118.c
+++ b/hw/lan9118.c
@@ -500,7 +500,7 @@ static int lan9118_filter(lan9118_state *s, const uint8_t
*addr)
}
} else {
/* Hash matching */
- hash = (crc32(~0, addr, 6) >> 26);
+ hash = compute_mcast_idx(addr);
if (hash & 0x20) {
return (s->mac_hashh >> (hash & 0x1f)) & 1;
} else {
--
1.7.10.4
- [Qemu-devel] [PATCH ] lan9118: fix multicast filtering,
Aurelien Jarno <=