Check get packet template allocation failure (VPP-1321)
[vpp.git] / src / vnet / ip / ip6_neighbor.c
index e281d7e..6d91224 100644 (file)
@@ -466,6 +466,8 @@ ip6_nbr_probe (ip_adjacency_t * adj)
   h = vlib_packet_template_get_packet (vm,
                                       &im->discover_neighbor_packet_template,
                                       &bi);
+  if (!h)
+    return;
 
   hi = vnet_get_sup_hw_interface (vnm, adj->rewrite_header.sw_if_index);
 
@@ -3285,6 +3287,8 @@ ip6_discover_neighbor_inline (vlib_main_t * vm,
 
            h0 = vlib_packet_template_get_packet
              (vm, &im->discover_neighbor_packet_template, &bi0);
+           if (!h0)
+             continue;
 
            /*
             * Build ethernet header.
@@ -5037,6 +5041,9 @@ send_ip6_na_w_addr (vlib_main_t * vm,
        vlib_packet_template_get_packet (vm,
                                         &i6m->discover_neighbor_packet_template,
                                         &bi);
+      if (!h)
+       return;
+
       ip6_set_reserved_multicast_address (&h->ip.dst_address,
                                          IP6_MULTICAST_SCOPE_link_local,
                                          IP6_MULTICAST_GROUP_ID_all_hosts);