Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
ip: Router ID included in flow hash
[vpp.git]
/
src
/
vnet
/
ip
/
ip6_inlines.h
diff --git
a/src/vnet/ip/ip6_inlines.h
b/src/vnet/ip/ip6_inlines.h
index
ae7b7a1
..
2a4bb70
100644
(file)
--- a/
src/vnet/ip/ip6_inlines.h
+++ b/
src/vnet/ip/ip6_inlines.h
@@
-106,8
+106,13
@@
ip6_compute_flow_hash (const ip6_header_t * ip,
}
b ^= (flow_hash_config & IP_FLOW_HASH_PROTO) ? protocol : 0;
}
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);
+ c = ((flow_hash_config & IP_FLOW_HASH_REVERSE_SRC_DST) ? ((t1 << 16) | t2) :
+ ((t2 << 16) | t1));
+ t1 = ((u64) ip_flow_hash_router_id << 32);
+ t1 |=
+ ((flow_hash_config & IP_FLOW_HASH_FL) ? ip6_flow_label_network_order (ip) :
+ 0);
+ c ^= t1;
hash_mix64 (a, b, c);
return (u32) c;
hash_mix64 (a, b, c);
return (u32) c;