Adding "Mtrie mheap usage" in output of "show ip fib memory" command, for displaying the total Mtrie Mheap usage together with memery usage of each node and each table
Change-Id: I2bcc570924e44a2b406f69cfc2f2f8d5abb61a39
Signed-off-by: Lollita Liu <lollita.liu@ericsson.com>
Signed-off-by: Neale Ranns <nranns@cisco.com>
- uword mtrie_size, hash_size;
+ uword mtrie_size, hash_size, *old_heap;
+
mtrie_size = ip4_fib_mtrie_memory_usage(&fib->mtrie);
hash_size = 0;
mtrie_size = ip4_fib_mtrie_memory_usage(&fib->mtrie);
hash_size = 0;
+ old_heap = clib_mem_set_heap (ip4_main.mtrie_mheap);
for (i = 0; i < ARRAY_LEN (fib->fib_entry_by_dst_address); i++)
{
uword * hash = fib->fib_entry_by_dst_address[i];
for (i = 0; i < ARRAY_LEN (fib->fib_entry_by_dst_address); i++)
{
uword * hash = fib->fib_entry_by_dst_address[i];
hash_size += hash_bytes(hash);
}
}
hash_size += hash_bytes(hash);
}
}
+ clib_mem_set_heap (old_heap);
+
if (verbose)
vlib_cli_output (vm, "%U mtrie:%d hash:%d",
format_fib_table_name, fib->index,
if (verbose)
vlib_cli_output (vm, "%U mtrie:%d hash:%d",
format_fib_table_name, fib->index,
vlib_cli_output (vm, "totals: mtrie:%ld hash:%ld all:%ld",
total_mtrie_memory,
total_hash_memory,
total_mtrie_memory + total_hash_memory);
vlib_cli_output (vm, "totals: mtrie:%ld hash:%ld all:%ld",
total_mtrie_memory,
total_hash_memory,
total_mtrie_memory + total_hash_memory);
+ vlib_cli_output (vm, "\nMtrie Mheap Usage: %U\n",
+ format_mheap, ip4_main.mtrie_mheap, 1);
+ }