Browse Source

vxlan: fix byte order in hash function

Shift was wrong direction causing packets to hash based on
other parts of the ethernet header, not the address.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
stephen hemminger 12 years ago
parent
commit
321fb99139
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/net/vxlan.c

+ 2 - 2
drivers/net/vxlan.c

@@ -228,9 +228,9 @@ static u32 eth_hash(const unsigned char *addr)
 
 	/* only want 6 bytes */
 #ifdef __BIG_ENDIAN
-	value <<= 16;
-#else
 	value >>= 16;
+#else
+	value <<= 16;
 #endif
 	return hash_64(value, FDB_HASH_BITS);
 }