Add rotates to v6 worker hash to prevent SIP/DIP synchronizing. 46/446/2
authorBud Grise <griseb@cisco.com>
Wed, 24 Feb 2016 21:14:22 +0000 (16:14 -0500)
committerGerrit Code Review <gerrit@fd.io>
Wed, 2 Mar 2016 17:23:29 +0000 (17:23 +0000)
Change-Id: Ibe8ec6271b3f04290a60c0145e59a01d3130500f
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
vnet/vnet/devices/dpdk/node.c

index b981570..72d564b 100644 (file)
@@ -963,9 +963,9 @@ static inline u64 ipv6_get_key (ip6_header_t *ip)
    u64  hash_key;
 
    hash_key = ip->src_address.as_u64[0] ^
-              ip->src_address.as_u64[1] ^
-              ip->dst_address.as_u64[0] ^
-              ip->dst_address.as_u64[1] ^
+              rotate_left(ip->src_address.as_u64[1],13) ^
+              rotate_left(ip->dst_address.as_u64[0],26) ^
+              rotate_left(ip->dst_address.as_u64[1],39) ^
               ip->protocol;
 
    return hash_key;