Improve test for unlocking LISP src FIB
[vpp.git] / vnet / vnet / ip / icmp4.c
index abad5bd..c160f88 100644 (file)
@@ -510,8 +510,11 @@ ip4_icmp_error (vlib_main_t * vm,
       out_ip0->ttl = 0xff;
       out_ip0->protocol = IP_PROTOCOL_ICMP;
       out_ip0->dst_address = ip0->src_address;
-      if_add_index0 = 
-       lm->if_address_pool_index_by_sw_if_index[sw_if_index0];
+      if_add_index0 = ~0;
+      if (PREDICT_TRUE (vec_len (lm->if_address_pool_index_by_sw_if_index)
+                        > sw_if_index0))
+          if_add_index0 = 
+              lm->if_address_pool_index_by_sw_if_index[sw_if_index0];
       if (PREDICT_TRUE(if_add_index0 != ~0)) {
        ip_interface_address_t *if_add = 
          pool_elt_at_index(lm->if_address_pool, if_add_index0);
@@ -598,7 +601,7 @@ icmp4_pg_edit_function (pg_main_t * pg,
                        u32 * packets,
                        u32 n_packets)
 {
-  vlib_main_t * vm = pg->vlib_main;
+  vlib_main_t * vm = vlib_get_main();
   u32 ip_offset, icmp_offset;
 
   icmp_offset = g->start_byte_offset;