ip: mfib CLI 'via local' fix
[vpp.git] / src / vnet / ip / lookup.c
index 60cedac..43a90a1 100644 (file)
@@ -261,7 +261,12 @@ format_ip_adjacency_packet_data (u8 * s, va_list * args)
   u32 adj_index = va_arg (*args, u32);
   u8 *packet_data = va_arg (*args, u8 *);
   u32 n_packet_data_bytes = va_arg (*args, u32);
-  ip_adjacency_t *adj = adj_get (adj_index);
+  ip_adjacency_t *adj;
+
+  if (!adj_is_valid (adj_index))
+    return format (s, "<invalid adjacency>");
+
+  adj = adj_get (adj_index);
 
   switch (adj->lookup_next_index)
     {
@@ -891,6 +896,8 @@ vnet_ip_mroute_cmd (vlib_main_t * vm,
           */
          rpath.frp_proto = fib_proto_to_dpo (pfx.fp_proto);
          rpath.frp_mitf_flags = MFIB_ITF_FLAG_FORWARD;
+
+         vec_add1 (rpaths, rpath);
        }
       else if (unformat (line_input, "via %U",
                         unformat_fib_route_path, &rpath, &payload_proto))