SR-mpls: do not pass empty label stack to fib 47/14547/3
authorNeale Ranns <nranns@cisco.com>
Wed, 29 Aug 2018 10:05:17 +0000 (03:05 -0700)
committerJohn Lo <loj@cisco.com>
Wed, 29 Aug 2018 22:44:14 +0000 (22:44 +0000)
Change-Id: Ib1601d01a54296e72be3bbfa057fce965549b02b
Signed-off-by: Neale Ranns <nranns@cisco.com>
src/vnet/srmpls/sr_mpls_policy.c

index 7d336c1..5bb7fb2 100755 (executable)
@@ -85,20 +85,21 @@ create_sl (mpls_sr_policy_t * sr_policy, mpls_label_t * sl, u32 weight)
       .frp_local_label = sl[0],
     };
 
-    vec_add (path.frp_label_stack, sl + 1, vec_len (sl) - 1);
+    if (vec_len (sl) - 1)
+      vec_add (path.frp_label_stack, sl + 1, vec_len (sl) - 1);
 
     fib_route_path_t *paths = NULL;
     vec_add1 (paths, path);
 
-               /* *INDENT-OFF* */
-               fib_prefix_t    pfx = {
-                       .fp_len = 21,
-                       .fp_proto = FIB_PROTOCOL_MPLS,
-                       .fp_label = sr_policy->bsid,
-                       .fp_eos = eos,
-                       .fp_payload_proto = DPO_PROTO_MPLS,
-               };
-               /* *INDENT-ON* */
+    /* *INDENT-OFF* */
+    fib_prefix_t pfx = {
+        .fp_len = 21,
+        .fp_proto = FIB_PROTOCOL_MPLS,
+        .fp_label = sr_policy->bsid,
+        .fp_eos = eos,
+        .fp_payload_proto = DPO_PROTO_MPLS,
+    };
+    /* *INDENT-ON* */
 
     fib_table_entry_path_add2 (0,
                               &pfx,