c11 safe string handling support
[vpp.git] / src / vnet / bier / bier_disp_table.c
index b2541da..cf9f053 100644 (file)
@@ -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)));
 }
 
@@ -378,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);
 }