X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=src%2Fvnet%2Ffib%2Ffib_entry.c;h=32e45f24453ec276d566e50b3a20ed86b5cf8b95;hp=eaedc504d48a7f095af0d0979abbf909935d294c;hb=775f73c6b;hpb=a3aaa61e2f2fd81f9653cb678b38519e96e6c6cd 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); } }