X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip6_forward.c;h=41f5b151a09043d84954aa41ac556b75859ffc73;hb=067cd6229a47ea3ba8b59a2a04090e80afb5bd2c;hp=5ea7d8d6e9d45fa382225a35bf62af0e4e41cbde;hpb=8637634d4dbc3e8cc90f78307d2069524b8f8f5e;p=vpp.git diff --git a/src/vnet/ip/ip6_forward.c b/src/vnet/ip/ip6_forward.c index 5ea7d8d6e9d..41f5b151a09 100644 --- a/src/vnet/ip/ip6_forward.c +++ b/src/vnet/ip/ip6_forward.c @@ -522,14 +522,14 @@ VLIB_REGISTER_NODE (ip6_lookup_node) = VLIB_NODE_FUNCTION_MULTIARCH (ip6_lookup_node, ip6_lookup); -always_inline uword +static uword ip6_load_balance (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { vlib_combined_counter_main_t *cm = &load_balance_main.lbm_via_counters; u32 n_left_from, n_left_to_next, *from, *to_next; ip_lookup_next_t next; - u32 thread_index = vlib_get_thread_index (); + u32 thread_index = vm->thread_index; ip6_main_t *im = &ip6_main; from = vlib_frame_vector_args (frame); @@ -1476,6 +1476,8 @@ ip6_probe_neighbor (vlib_main_t * vm, ip6_address_t * dst, u32 sw_if_index, vlib_packet_template_get_packet (vm, &im->discover_neighbor_packet_template, &bi); + if (!h) + return clib_error_return (0, "ICMP6 NS packet allocation failed"); hi = vnet_get_sup_hw_interface (vnm, sw_if_index); @@ -1592,7 +1594,7 @@ ip6_rewrite_inline (vlib_main_t * vm, n_left_from = frame->n_vectors; next_index = node->cached_next_index; - u32 thread_index = vlib_get_thread_index (); + u32 thread_index = vm->thread_index; while (n_left_from > 0) {