Typos. A bunch of typos I've been collecting.
[vpp.git] / src / vnet / bier / bier_imp.c
index c51dede..2da3f66 100644 (file)
@@ -17,7 +17,7 @@
  *
  * A BIER imposition object is present in the IP mcast output list
  * and represents the imposition of a BIER bitmask. After BIER header
- * imposition the packet is forward within the appropriate/specifid
+ * imposition the packet is forward within the appropriate/specified
  * BIER table
  */
 
@@ -68,7 +68,7 @@ bier_imp_add_or_lock (const bier_table_id_t *bti,
     pool_get_aligned(bier_imp_pool, bi, CLIB_CACHE_LINE_BYTES);
 
     bi->bi_tbl = *bti;
-    btii = bier_table_add_or_lock(bti, MPLS_LABEL_INVALID);
+    btii = bier_table_lock(bti);
 
     /*
      * init the BIER header we will paint on in the data plane
@@ -80,7 +80,7 @@ bier_imp_add_or_lock (const bier_table_id_t *bti,
                   0, // entropy
                   sender);
     bier_hdr_hton(&bi->bi_hdr);
-    clib_memcpy(&bi->bi_bits, bs->bbs_buckets, bs->bbs_len);
+    clib_memcpy_fast(&bi->bi_bits, bs->bbs_buckets, bs->bbs_len);
 
     bier_imp_lock_i(bi);
 
@@ -157,7 +157,7 @@ format_bier_imp (u8* s, va_list *args)
         bier_hdr_ntoh(&copy);
         bier_bit_string_init(&bbs,
                              bier_hdr_get_len_id(&copy),
-                             bi->bi_bits.bits);
+                             bi->bi_bits);
 
         s = format(s, "\n%U%U",
                    format_white_space, indent,
@@ -275,8 +275,15 @@ show_bier_imp (vlib_main_t * vm,
     }
     else
     {
-        vlib_cli_output(vm, "%U", format_bier_imp, bii, 1,
-                        BIER_SHOW_DETAIL);
+        if (pool_is_free_index(bier_imp_pool, bii))
+        {
+            vlib_cli_output(vm, "No such BIER imposition: %d", bii);
+        }
+        else
+        {
+            vlib_cli_output(vm, "%U", format_bier_imp, bii, 1,
+                            BIER_SHOW_DETAIL);
+        }
     }
     return (NULL);
 }