X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fbier%2Fbier_disp_table.c;h=cf9f0538df7213557c5d2f9d10c05d2c504a8cc6;hb=5100aa9cb;hp=5caf86d370548a8da1642caf72036456f60b2259;hpb=d792d9c01e60656cbfe1b0f1fd6a9b125f5dab0c;p=vpp.git diff --git a/src/vnet/bier/bier_disp_table.c b/src/vnet/bier/bier_disp_table.c index 5caf86d3705..cf9f0538df7 100644 --- a/src/vnet/bier/bier_disp_table.c +++ b/src/vnet/bier/bier_disp_table.c @@ -75,7 +75,7 @@ bier_disp_table_add_or_lock (u32 table_id) /** * Set the result for each entry in the DB to be invalid */ - memset(bdt->bdt_db, 0xff, sizeof(bdt->bdt_db)); + clib_memset(bdt->bdt_db, 0xff, sizeof(bdt->bdt_db)); } else { @@ -161,9 +161,9 @@ format_bier_disp_table (u8* s, va_list *ap) if (INDEX_INVALID != bdt->bdt_db[ii]) { u16 src = ii; - s = format(s, "\n%Usrc:%d", format_white_space, indent, + s = format(s, "\n%Usrc:%d", format_white_space, indent+1, clib_host_to_net_u16(src)); - s = format(s, "\n%U%U", format_white_space, indent+2, + s = format(s, "\n%U", format_bier_disp_entry, bdt->bdt_db[ii], indent+4, BIER_SHOW_BRIEF); } @@ -206,8 +206,10 @@ bier_disp_table_entry_remove (index_t bdti, static index_t bier_disp_table_lookup_hton(index_t bdti, - bier_bp_t src) + bier_bp_t bp) { + bier_hdr_src_id_t src = bp; + return (bier_disp_table_lookup(bdti, clib_host_to_net_u16(src))); } @@ -328,7 +330,8 @@ const static dpo_vft_t bier_disp_table_dpo_vft = { const static char *const bier_disp_table_bier_nodes[] = { - "bier-disp-lookup" + "bier-disp-lookup", + NULL }; const static char * const * const bier_disp_table_nodes[DPO_PROTO_NUM] = @@ -377,14 +380,20 @@ show_bier_disp_table (vlib_main_t * vm, ({ vlib_cli_output(vm, "%U", format_bier_disp_table, bier_disp_table_get_index(bdt), - 1, - BIER_SHOW_BRIEF); + 0, BIER_SHOW_BRIEF); })); } else { - vlib_cli_output(vm, "%U", format_bier_disp_table, bdti, 1, - BIER_SHOW_DETAIL); + if (pool_is_free_index(bier_disp_table_pool, bdti)) + { + vlib_cli_output(vm, "No such BIER disp table: %d", bdti); + } + else + { + vlib_cli_output(vm, "%U", format_bier_disp_table, bdti, 0, + BIER_SHOW_DETAIL); + } } return (NULL); }