diff options
Diffstat (limited to 'src/vnet/dpo/load_balance.c')
-rw-r--r-- | src/vnet/dpo/load_balance.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/vnet/dpo/load_balance.c b/src/vnet/dpo/load_balance.c index 939e25c08fa..f244498a077 100644 --- a/src/vnet/dpo/load_balance.c +++ b/src/vnet/dpo/load_balance.c @@ -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, |