From: Stanislav Zaikin Date: Sat, 13 Feb 2021 13:32:15 +0000 (+0300) Subject: fib: copy the path extentions when creating fib src rr entry X-Git-Tag: v22.02-rc0~312 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F76%2F31276%2F2;p=vpp.git fib: copy the path extentions when creating fib src rr entry Type: fix Signed-off-by: Stanislav Zaikin Change-Id: Ib4957bfc03b0dfc90fd28689d5b32cc3d82e7b74 --- diff --git a/src/vnet/fib/fib_entry_src_rr.c b/src/vnet/fib/fib_entry_src_rr.c index d0256b9f24b..d8bc09c5f1a 100644 --- a/src/vnet/fib/fib_entry_src_rr.c +++ b/src/vnet/fib/fib_entry_src_rr.c @@ -24,6 +24,7 @@ #include "fib_entry_cover.h" #include "fib_entry.h" #include "fib_table.h" +#include "fib_path_ext.h" /* * fib_entry_src_rr_resolve_via_connected @@ -93,6 +94,7 @@ fib_entry_src_rr_use_covers_pl (fib_entry_src_t *src, { fib_node_index_t *entries = NULL; dpo_proto_t proto; + fib_entry_src_t *s; proto = fib_proto_to_dpo(fib_entry->fe_prefix.fp_proto); vec_add1(entries, fib_entry_get_index(fib_entry)); @@ -107,6 +109,14 @@ fib_entry_src_rr_use_covers_pl (fib_entry_src_t *src, else { src->fes_pl = cover->fe_parent; + vec_foreach (s,cover->fe_srcs) + { + if (s->fes_pl != cover->fe_parent) + continue; + + src->fes_path_exts.fpel_exts = vec_dup (s->fes_path_exts.fpel_exts); + break; + } } vec_free(entries); } @@ -195,6 +205,7 @@ fib_entry_src_rr_deactivate (fib_entry_src_t *src, fib_path_list_unlock(src->fes_pl); src->fes_pl = FIB_NODE_INDEX_INVALID; + vec_free (src->fes_path_exts.fpel_exts); src->fes_entry_flags = FIB_ENTRY_FLAG_NONE; }