BIER: fix support for longer bit-string lengths
[vpp.git] / src / vnet / bier / bier_disp_table.c
index 5caf86d..c663286 100644 (file)
@@ -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,13 +380,12 @@ 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,
+        vlib_cli_output(vm, "%U", format_bier_disp_table, bdti, 0,
                         BIER_SHOW_DETAIL);
     }
     return (NULL);