From f2984bbb013acb0d6872e8fbb2f9d57d3e4f49b9 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelsalam Date: Fri, 20 Nov 2020 18:56:09 +0000 Subject: ip: use IPv6 flowlabel in flow hash computation extends ip6_compute_flow_hash() to include IPv6 flowlabel in flowhash computation Type: improvement Signed-off-by: Ahmed Abdelsalam Signed-off-by: Neale Ranns Change-Id: Id1aaa20c9dac729c22b714eea1cdd6e9e4d1f75e --- src/vnet/ip/ip6_inlines.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/vnet/ip/ip6_inlines.h') diff --git a/src/vnet/ip/ip6_inlines.h b/src/vnet/ip/ip6_inlines.h index ae7b7a1761b..8376377600a 100644 --- a/src/vnet/ip/ip6_inlines.h +++ b/src/vnet/ip/ip6_inlines.h @@ -108,6 +108,8 @@ ip6_compute_flow_hash (const ip6_header_t * ip, b ^= (flow_hash_config & IP_FLOW_HASH_PROTO) ? protocol : 0; c = (flow_hash_config & IP_FLOW_HASH_REVERSE_SRC_DST) ? ((t1 << 16) | t2) : ((t2 << 16) | t1); + t1 = ip->ip_version_traffic_class_and_flow_label & IP6_PACKET_FL_MASK; + c ^= (flow_hash_config & IP_FLOW_HASH_FL) ? (t1 << 32) : 0; hash_mix64 (a, b, c); return (u32) c; -- cgit 1.2.3-korg