From 5c544c8c3e084f7ccad041d168b6fff736b46cba Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Tue, 17 Nov 2020 09:47:07 +0000 Subject: fib: Adjacency flag for midchain to perfom flow hash (on inner packet) Type: feature Signed-off-by: Neale Ranns Change-Id: I964afd9266645de5c87d49c58ce6b48c2c18f97f --- src/vnet/adj/adj.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/vnet/adj/adj.h') diff --git a/src/vnet/adj/adj.h b/src/vnet/adj/adj.h index b29b1b0c225..44bb2bd981b 100644 --- a/src/vnet/adj/adj.h +++ b/src/vnet/adj/adj.h @@ -185,6 +185,12 @@ typedef enum adj_attr_t_ * the fixup function is standard IP4o4 header */ ADJ_ATTR_MIDCHAIN_FIXUP_IP4O4_HDR, + /** + * the fixup function performs the flow hash + * this means the flow hash is performed on the inner + * header, where the entropy is higher. + */ + ADJ_ATTR_MIDCHAIN_FIXUP_FLOW_HASH, } adj_attr_t; #define ADJ_ATTR_NAMES { \ @@ -193,11 +199,12 @@ typedef enum adj_attr_t_ [ADJ_ATTR_MIDCHAIN_IP_STACK] = "midchain-ip-stack", \ [ADJ_ATTR_MIDCHAIN_LOOPED] = "midchain-looped", \ [ADJ_ATTR_MIDCHAIN_FIXUP_IP4O4_HDR] = "midchain-ip4o4-hdr-fixup", \ + [ADJ_ATTR_MIDCHAIN_FIXUP_FLOW_HASH] = "midchain-flow-hash", \ } #define FOR_EACH_ADJ_ATTR(_attr) \ for (_attr = ADJ_ATTR_SYNC_WALK_ACTIVE; \ - _attr <= ADJ_ATTR_MIDCHAIN_FIXUP_IP4O4_HDR; \ + _attr <= ADJ_ATTR_MIDCHAIN_FIXUP_FLOW_HASH; \ _attr++) /** @@ -211,6 +218,7 @@ typedef enum adj_flags_t_ ADJ_FLAG_MIDCHAIN_IP_STACK = (1 << ADJ_ATTR_MIDCHAIN_IP_STACK), ADJ_FLAG_MIDCHAIN_LOOPED = (1 << ADJ_ATTR_MIDCHAIN_LOOPED), ADJ_FLAG_MIDCHAIN_FIXUP_IP4O4_HDR = (1 << ADJ_ATTR_MIDCHAIN_FIXUP_IP4O4_HDR), + ADJ_FLAG_MIDCHAIN_FIXUP_FLOW_HASH = (1 << ADJ_ATTR_MIDCHAIN_FIXUP_FLOW_HASH), } __attribute__ ((packed)) adj_flags_t; /** -- cgit 1.2.3-korg