fib: default flow hash config for each DPO protocol type

Type: fix
Fixes: 59fa121f

Change-Id: I9eb4fe1612734e54932228527c37bf33b705dbdb
Signed-off-by: Neale Ranns <nranns@cisco.com>
This commit is contained in:
Neale Ranns
2019-06-26 02:16:50 -07:00
committed by Dave Barach
parent 0f9845120a
commit 023d23ad89
4 changed files with 29 additions and 2 deletions

View File

@ -172,6 +172,11 @@ I: mpls
M: Neale Ranns <nranns@cisco.com>
F: src/vnet/mpls/
VNET BIER
I: bier
M: Neale Ranns <nranns@cisco.com>
F: src/vnet/bier/
VNET Session Layer
I: session
M: Florin Coras <fcoras@cisco.com>

View File

@ -22,6 +22,7 @@
#include <vnet/adj/adj_internal.h>
#include <vnet/fib/fib_urpf_list.h>
#include <vnet/bier/bier_fwd.h>
#include <vnet/fib/mpls_fib.h>
/*
* distribution error tolerance for load-balancing
@ -188,6 +189,27 @@ format_load_balance_dpo (u8 * s, va_list * args)
return (load_balance_format(lbi, LOAD_BALANCE_FORMAT_DETAIL, indent, s));
}
flow_hash_config_t
load_balance_get_default_flow_hash (dpo_proto_t lb_proto)
{
switch (lb_proto)
{
case DPO_PROTO_IP4:
case DPO_PROTO_IP6:
return (IP_FLOW_HASH_DEFAULT);
case DPO_PROTO_MPLS:
return (MPLS_FLOW_HASH_DEFAULT);
case DPO_PROTO_ETHERNET:
case DPO_PROTO_BIER:
case DPO_PROTO_NSH:
break;
}
return (0);
}
static load_balance_t *
load_balance_create_i (u32 num_buckets,
dpo_proto_t lb_proto,

View File

@ -188,6 +188,7 @@ typedef enum load_balance_format_flags_t_ {
extern index_t load_balance_create(u32 num_buckets,
dpo_proto_t lb_proto,
flow_hash_config_t fhc);
extern flow_hash_config_t load_balance_get_default_flow_hash(dpo_proto_t lb_proto);
extern void load_balance_multipath_update(
const dpo_id_t *dpo,
const load_balance_path_t * raw_next_hops,

View File

@ -394,8 +394,7 @@ fib_path_list_mk_lb (fib_path_list_t *path_list,
dproto,
load_balance_create(vec_len(nhs),
dproto,
fib_table_get_default_flow_hash_config(
dpo_proto_to_fib(dproto))));
load_balance_get_default_flow_hash(dproto)));
load_balance_multipath_update(dpo, nhs,
fib_path_list_fwd_flags_2_load_balance(flags));