diff options
Diffstat (limited to 'src/vnet/fib/fib_entry_src.c')
-rw-r--r-- | src/vnet/fib/fib_entry_src.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/vnet/fib/fib_entry_src.c b/src/vnet/fib/fib_entry_src.c index 173df74f0a4..667aa485f7c 100644 --- a/src/vnet/fib/fib_entry_src.c +++ b/src/vnet/fib/fib_entry_src.c @@ -275,6 +275,7 @@ fib_entry_src_get_path_forwarding (fib_node_index_t path_index, case FIB_FORW_CHAIN_TYPE_UNICAST_IP6: case FIB_FORW_CHAIN_TYPE_MCAST_IP4: case FIB_FORW_CHAIN_TYPE_MCAST_IP6: + case FIB_FORW_CHAIN_TYPE_BIER: /* * EOS traffic with no label to stack, we need the IP Adj */ @@ -480,8 +481,8 @@ fib_entry_src_mk_lb (fib_entry_t *fib_entry, } else { + fib_protocol_t flow_hash_proto; flow_hash_config_t fhc; - fib_protocol_t fp; /* * if the protocol for the LB we are building does not match that @@ -489,16 +490,17 @@ fib_entry_src_mk_lb (fib_entry_t *fib_entry, * then the fib_index is not an index that relates to the table * type we need. So get the default flow-hash config instead. */ - fp = dpo_proto_to_fib(lb_proto); - - if (fib_entry->fe_prefix.fp_proto != fp) + flow_hash_proto = dpo_proto_to_fib(lb_proto); + if (fib_entry->fe_prefix.fp_proto != flow_hash_proto) { - fhc = fib_table_get_default_flow_hash_config(fp); + fhc = fib_table_get_default_flow_hash_config(flow_hash_proto); } else { - fhc = fib_table_get_flow_hash_config(fib_entry->fe_fib_index, fp); + fhc = fib_table_get_flow_hash_config(fib_entry->fe_fib_index, + flow_hash_proto); } + dpo_set(dpo_lb, DPO_LOAD_BALANCE, lb_proto, |