From 227038a444b98f922b4a4f44b85ae60f9ee86e1c Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Fri, 21 Apr 2017 01:07:59 -0700 Subject: IP Flow Hash Config fixes - the flow hash config is (and was) cached on the load-balance object so the fib_table_t struct is not used a switch time. Therefore changes to the table's flow hash config need to be propagated to all load-balances and hance all FIB entries in the table. - enable API for setting the IPv6 table flow hash config - use only the hash config in the fib_table_t object and not on the ipX_fib_t - add tests. Change-Id: Ib804c11162c6d4972c764957562c372f663e05d4 Signed-off-by: Neale Ranns --- src/vnet/mpls/mpls_tunnel.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/vnet/mpls/mpls_tunnel.c') diff --git a/src/vnet/mpls/mpls_tunnel.c b/src/vnet/mpls/mpls_tunnel.c index 1254dd9d..457d48eb 100644 --- a/src/vnet/mpls/mpls_tunnel.c +++ b/src/vnet/mpls/mpls_tunnel.c @@ -24,6 +24,7 @@ #include #include #include +#include /** * @brief pool of tunnel instances @@ -200,9 +201,20 @@ mpls_tunnel_mk_lb (mpls_tunnel_t *mt, { flow_hash_config_t fhc; - fhc = 0; // FIXME - /* fhc = fib_table_get_flow_hash_config(fib_entry->fe_fib_index, */ - /* dpo_proto_to_fib(lb_proto)); */ + switch (linkt) + { + case VNET_LINK_MPLS: + fhc = MPLS_FLOW_HASH_DEFAULT; + break; + case VNET_LINK_IP4: + case VNET_LINK_IP6: + fhc = IP_FLOW_HASH_DEFAULT; + break; + default: + fhc = 0; + break; + } + dpo_set(dpo_lb, DPO_LOAD_BALANCE, lb_proto, -- cgit 1.2.3-korg