qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH ] lan9118: fix multicast filtering
@ 2012-08-23 15:39 Aurelien Jarno
  2012-08-24  9:47 ` Stefan Hajnoczi
  2012-09-07 14:56 ` Aurelien Jarno
  0 siblings, 2 replies; 7+ messages in thread
From: Aurelien Jarno @ 2012-08-23 15:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Aurelien Jarno

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 <aurelien@aurel32.net>
---
 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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-09-07 15:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-23 15:39 [Qemu-devel] [PATCH ] lan9118: fix multicast filtering Aurelien Jarno
2012-08-24  9:47 ` Stefan Hajnoczi
2012-08-24 10:08   ` Aurelien Jarno
2012-08-24 10:13     ` Stefan Hajnoczi
2012-09-07 14:56 ` Aurelien Jarno
2012-09-07 15:04   ` Peter Maydell
2012-09-07 15:36     ` Aurelien Jarno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).