summaryrefslogtreecommitdiffstats
path: root/src/vnet/mpls
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2017-04-21 01:07:59 -0700
committerDamjan Marion <dmarion.lists@gmail.com>2017-04-26 15:31:41 +0000
commit227038a444b98f922b4a4f44b85ae60f9ee86e1c (patch)
treed4268410e3f860bb01386f4242e023324885801d /src/vnet/mpls
parent9806eae1f5f3953f7ac2c5bd07061a94387d757e (diff)
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 <nranns@cisco.com>
Diffstat (limited to 'src/vnet/mpls')
-rw-r--r--src/vnet/mpls/mpls_tunnel.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/vnet/mpls/mpls_tunnel.c b/src/vnet/mpls/mpls_tunnel.c
index 1254dd9ddfb..457d48eb6bf 100644
--- a/src/vnet/mpls/mpls_tunnel.c
+++ b/src/vnet/mpls/mpls_tunnel.c
@@ -24,6 +24,7 @@
#include <vnet/adj/adj_midchain.h>
#include <vnet/adj/adj_mcast.h>
#include <vnet/dpo/replicate_dpo.h>
+#include <vnet/fib/mpls_fib.h>
/**
* @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,