qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]