summaryrefslogtreecommitdiffstats
path: root/src/vnet/fib/fib_entry.c
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2018-12-20 03:01:49 -0800
committerDamjan Marion <dmarion@me.com>2018-12-20 15:00:30 +0000
commit775f73c6baaf9bc2283e7ab9752c81984823be99 (patch)
tree7c2496d34a590fae15f917f9e51867fa14aafec5 /src/vnet/fib/fib_entry.c
parenta3aaa61e2f2fd81f9653cb678b38519e96e6c6cd (diff)
FIB: encode the label stack in the FIB path during table dump
Change-Id: I28e8a99b980ad343a4209e673201791b91ceab4e Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/fib/fib_entry.c')
-rw-r--r--src/vnet/fib/fib_entry.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/vnet/fib/fib_entry.c b/src/vnet/fib/fib_entry.c
index eaedc504d48..32e45f24453 100644
--- a/src/vnet/fib/fib_entry.c
+++ b/src/vnet/fib/fib_entry.c
@@ -1652,12 +1652,25 @@ void
fib_entry_encode (fib_node_index_t fib_entry_index,
fib_route_path_encode_t **api_rpaths)
{
+ fib_path_ext_list_t *ext_list;
fib_entry_t *fib_entry;
+ fib_entry_src_t *bsrc;
+ ext_list = NULL;
fib_entry = fib_entry_get(fib_entry_index);
+ bsrc = fib_entry_get_best_src_i(fib_entry);
+
+ if (bsrc)
+ {
+ ext_list = &bsrc->fes_path_exts;
+ }
+
if (FIB_NODE_INDEX_INVALID != fib_entry->fe_parent)
{
- fib_path_list_walk(fib_entry->fe_parent, fib_path_encode, api_rpaths);
+ fib_path_list_walk_w_ext(fib_entry->fe_parent,
+ ext_list,
+ fib_path_encode,
+ api_rpaths);
}
}