BIER: coverity fixes 38/9438/2
authorNeale Ranns <nranns@cisco.com>
Wed, 15 Nov 2017 18:44:07 +0000 (10:44 -0800)
committerChris Luke <chris_luke@comcast.com>
Wed, 15 Nov 2017 19:45:47 +0000 (19:45 +0000)
Change-Id: I657bade082f9f754b294cd5f23ecfad4f0f46265
Signed-off-by: Neale Ranns <nranns@cisco.com>
src/vnet/bier/bier_api.c
src/vnet/bier/bier_disp_table.c
src/vnet/bier/bier_disp_table.h
src/vnet/bier/bier_test.c
src/vnet/bier/bier_update.c
src/vnet/fib/fib_test.c

index aacee09..cd1f40b 100644 (file)
@@ -178,7 +178,7 @@ vl_api_bier_route_add_del_t_handler (vl_api_bier_route_add_del_t * mp)
         brpath->frp_flags = FIB_ROUTE_PATH_BIER_FMASK;
 
         vec_validate(brpath->frp_label_stack,
-                     mp->br_paths[ii].n_labels);
+                     mp->br_paths[ii].n_labels - 1);
         for (jj = 0; jj < mp->br_paths[ii].n_labels; jj++)
         {
             brpath->frp_label_stack[jj] =
index b2541da..47d23e8 100644 (file)
@@ -206,9 +206,11 @@ 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)
 {
-    return (bier_disp_table_lookup(bdti, clib_host_to_net_u16(src)));
+    bier_hdr_src_id_t src = bp;
+
+    return (bier_disp_table_lookup(bdti, clib_host_to_net_u32(src)));
 }
 
 void
index 18726c8..6f9380a 100644 (file)
@@ -98,7 +98,7 @@ bier_disp_table_get (index_t bdti)
 
 static inline index_t
 bier_disp_table_lookup (index_t bdti,
-                        bier_bp_t src)
+                        bier_hdr_src_id_t src)
 {
     bier_disp_table_t *bdt;
 
index 6119410..f0e7b0c 100644 (file)
@@ -836,7 +836,7 @@ bier_test_mpls_disp (void)
         .frp_rpf_id = 9, // some non-zero value
         .frp_flags = FIB_ROUTE_PATH_RPF_ID,
     };
-    u16 src = 99;
+    bier_hdr_src_id_t src = 99;
     vec_add1(rpaths, path_via_mfib);
     bier_disp_table_entry_path_add(bier_disp_tbl_id, src,
                                    BIER_HDR_PROTO_IPV4, rpaths);
index ddbdd72..170893d 100644 (file)
@@ -76,7 +76,7 @@ vnet_bier_route_cmd (vlib_main_t * vm,
                      vlib_cli_command_t * cmd)
 {
     clib_error_t * error = NULL;
-    fib_route_path_t brp = {
+    fib_route_path_t *brps = NULL, brp = {
         .frp_flags = FIB_ROUTE_PATH_BIER_FMASK,
     };
     bier_table_id_t bti = {
@@ -104,6 +104,7 @@ vnet_bier_route_cmd (vlib_main_t * vm,
         }
     }
 
+    vec_add1(brps, brp);
     bti.bti_hdr_len = bier_hdr_bit_len_to_id(hdr_len);
     // FIXME
     bti.bti_type    = BIER_TABLE_MPLS_SPF;
@@ -118,6 +119,7 @@ vnet_bier_route_cmd (vlib_main_t * vm,
     }
 
 done:
+    vec_free(brps);
     return (error);
 }
 
@@ -138,6 +140,7 @@ show_bier_fib_command_fn (vlib_main_t * vm,
 
     bp = BIER_BP_INVALID;
     bti = bei = INDEX_INVALID;
+    flags = BIER_SHOW_BRIEF;
 
     while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) {
         if (unformat (input, "%d %d", &bti, &bp))
index b74ec33..555196d 100644 (file)
@@ -612,12 +612,18 @@ fib_test_validate_lb (const dpo_id_t *dpo,
 
     va_start(ap, n_buckets);
 
-    FIB_TEST_LB((DPO_LOAD_BALANCE == dpo->dpoi_type),
-               "Entry links to %U",
-               format_dpo_type, dpo->dpoi_type);
-    lb = load_balance_get(dpo->dpoi_index);
+    if (FIB_TEST_I((DPO_LOAD_BALANCE == dpo->dpoi_type),
+                   "Entry links to %U",
+                   format_dpo_type, dpo->dpoi_type))
+    {
+        lb = load_balance_get(dpo->dpoi_index);
 
-    res = fib_test_validate_lb_v(lb, n_buckets, &ap);
+        res = fib_test_validate_lb_v(lb, n_buckets, &ap);
+    }
+    else
+    {
+        res = !0;
+    }
 
     va_end(ap);