diff options
author | Neale Ranns <neale@graphiant.com> | 2021-12-20 18:18:42 +0000 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2021-12-21 11:13:41 +0000 |
commit | 53962fbccb4612af41e3fbd913cc50be09d3b24a (patch) | |
tree | b576686d35593d8e20b8f858eed4585ae3e8ff65 /src/vnet/mfib/mfib_entry.c | |
parent | 3aa3d6d3f347784f3df5c164b3078bdc5e80e54a (diff) |
fib: MPLS EOS chains built for attached prefixes should link to a lookup DPO
Type: fix
Presently a local label associated with an attached or connected prefix will link to the glean. This is a problem since it will never use the adj-fibs that are installed for that attached prefix. Instead link the local label to a lookup in the table in which the attached link is bound.
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Iad49fb6168b9ba47216a9a52bd262363b49c3c43
Diffstat (limited to 'src/vnet/mfib/mfib_entry.c')
-rw-r--r-- | src/vnet/mfib/mfib_entry.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vnet/mfib/mfib_entry.c b/src/vnet/mfib/mfib_entry.c index 1b685d68482..8050882d436 100644 --- a/src/vnet/mfib/mfib_entry.c +++ b/src/vnet/mfib/mfib_entry.c @@ -547,6 +547,7 @@ typedef struct mfib_entry_collect_forwarding_ctx_t_ load_balance_path_t * next_hops; fib_forward_chain_type_t fct; mfib_entry_src_t *msrc; + dpo_proto_t payload_proto; } mfib_entry_collect_forwarding_ctx_t; static fib_path_list_walk_rc_t @@ -592,7 +593,8 @@ mfib_entry_src_collect_forwarding (fib_node_index_t pl_index, nh->path_index = path_index; nh->path_weight = fib_path_get_weight(path_index); - fib_path_contribute_forwarding(path_index, ctx->fct, &nh->path_dpo); + fib_path_contribute_forwarding(path_index, ctx->fct, + ctx->payload_proto, &nh->path_dpo); break; case FIB_FORW_CHAIN_TYPE_UNICAST_IP4: @@ -632,6 +634,7 @@ mfib_entry_stack (mfib_entry_t *mfib_entry, .next_hops = NULL, .fct = mfib_entry_get_default_chain_type(mfib_entry), .msrc = msrc, + .payload_proto = fib_proto_to_dpo(mfib_entry->mfe_prefix.fp_proto), }; /* |