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/fib/fib_path_ext.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/fib/fib_path_ext.c')
-rw-r--r-- | src/vnet/fib/fib_path_ext.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/vnet/fib/fib_path_ext.c b/src/vnet/fib/fib_path_ext.c index 209b6273a85..f5611f92271 100644 --- a/src/vnet/fib/fib_path_ext.c +++ b/src/vnet/fib/fib_path_ext.c @@ -163,8 +163,8 @@ fib_path_ext_mpls_flags_to_mpls_label (fib_path_ext_mpls_flags_t fpe_flags) load_balance_path_t * fib_path_ext_stack (fib_path_ext_t *path_ext, + dpo_proto_t payload_proto, fib_forward_chain_type_t child_fct, - fib_forward_chain_type_t imp_null_fct, load_balance_path_t *nhs) { fib_forward_chain_type_t parent_fct; @@ -189,7 +189,7 @@ fib_path_ext_stack (fib_path_ext_t *path_ext, */ if (fib_path_ext_is_imp_null(path_ext)) { - parent_fct = imp_null_fct; + parent_fct = fib_forw_chain_type_from_dpo_proto(payload_proto); } else { @@ -240,6 +240,7 @@ fib_path_ext_stack (fib_path_ext_t *path_ext, */ fib_path_contribute_forwarding(path_ext->fpe_path_index, parent_fct, + payload_proto, &via_dpo); if (dpo_is_drop(&via_dpo) || |