summaryrefslogtreecommitdiffstats
path: root/src/vnet/fib/fib_path_ext.c
diff options
context:
space:
mode:
authorNeale Ranns <neale@graphiant.com>2021-12-20 18:18:42 +0000
committerDamjan Marion <dmarion@me.com>2021-12-21 11:13:41 +0000
commit53962fbccb4612af41e3fbd913cc50be09d3b24a (patch)
treeb576686d35593d8e20b8f858eed4585ae3e8ff65 /src/vnet/fib/fib_path_ext.c
parent3aa3d6d3f347784f3df5c164b3078bdc5e80e54a (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.c5
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) ||