X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vnet%2Fvnet%2Ffib%2Ffib_entry.c;h=1821319dbf77b10f18b0a7204d13678b253335a8;hb=6c3ebcc2bfd36a5835a99225ad667e4403293ffb;hp=a75d5c9cf8cb6e336991074f2cc2740b113e63ee;hpb=5499b1968e1d12b736dd3e30b8fb2b69a300128f;p=vpp.git diff --git a/vnet/vnet/fib/fib_entry.c b/vnet/vnet/fib/fib_entry.c index a75d5c9cf8c..1821319dbf7 100644 --- a/vnet/vnet/fib/fib_entry.c +++ b/vnet/vnet/fib/fib_entry.c @@ -435,6 +435,34 @@ fib_entry_back_walk_notify (fib_node_t *node, return (FIB_NODE_BACK_WALK_CONTINUE); } +static void +fib_entry_show_memory (void) +{ + u32 n_srcs = 0, n_exts = 0; + fib_entry_src_t *esrc; + fib_entry_t *entry; + + fib_show_memory_usage("Entry", + pool_elts(fib_entry_pool), + pool_len(fib_entry_pool), + sizeof(fib_entry_t)); + + pool_foreach(entry, fib_entry_pool, + ({ + n_srcs += vec_len(entry->fe_srcs); + vec_foreach(esrc, entry->fe_srcs) + { + n_exts += vec_len(esrc->fes_path_exts); + } + })); + + fib_show_memory_usage("Entry Source", + n_srcs, n_srcs, sizeof(fib_entry_src_t)); + fib_show_memory_usage("Entry Path-Extensions", + n_exts, n_exts, + sizeof(fib_path_ext_t)); +} + /* * The FIB path-list's graph node virtual function table */ @@ -442,6 +470,7 @@ static const fib_node_vft_t fib_entry_vft = { .fnv_get = fib_entry_get_node, .fnv_last_lock = fib_entry_last_lock_gone, .fnv_back_walk = fib_entry_back_walk_notify, + .fnv_mem_show = fib_entry_show_memory, }; /* @@ -516,14 +545,6 @@ fib_entry_get_path_list (fib_node_index_t fib_entry_index) return (fib_entry->fe_parent); } -u32 -fib_entry_get_fib_table_id(fib_node_index_t fib_entry_index) -{ - - - return (0); -} - u32 fib_entry_child_add (fib_node_index_t fib_entry_index, fib_node_type_t child_type,