summaryrefslogtreecommitdiffstats
path: root/drivers/net/vxlan.c
diff options
context:
space:
mode:
authorstephen hemminger <shemminger@vyatta.com>2012-10-09 22:35:47 +0200
committerDavid S. Miller <davem@davemloft.net>2012-10-11 04:41:21 +0200
commit321fb991399bd7b156f8b15a8acfa0c8622e3c68 (patch)
tree0fb43e03c3e2ab028520804bbaa4325eb3a06cd6 /drivers/net/vxlan.c
parentvxlan: minor output refactoring (diff)
downloadlinux-321fb991399bd7b156f8b15a8acfa0c8622e3c68.tar.xz
linux-321fb991399bd7b156f8b15a8acfa0c8622e3c68.zip
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>
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r--drivers/net/vxlan.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 92150c0cf4d9..882a041d7594 100644
--- a/drivers/net/vxlan.c
+++ b/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);
}