X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip4_forward.c;h=fd8559d99869c937d095f11019de75004e9afda6;hb=067cd6229a47ea3ba8b59a2a04090e80afb5bd2c;hp=0035cc8a552cf117114e71cef86aad87decec699;hpb=8637634d4dbc3e8cc90f78307d2069524b8f8f5e;p=vpp.git diff --git a/src/vnet/ip/ip4_forward.c b/src/vnet/ip/ip4_forward.c index 0035cc8a552..fd8559d9986 100644 --- a/src/vnet/ip/ip4_forward.c +++ b/src/vnet/ip/ip4_forward.c @@ -114,14 +114,14 @@ VLIB_REGISTER_NODE (ip4_lookup_node) = VLIB_NODE_FUNCTION_MULTIARCH (ip4_lookup_node, ip4_lookup); -always_inline uword +static uword ip4_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; from = vlib_frame_vector_args (frame); n_left_from = frame->n_vectors; @@ -1960,6 +1960,9 @@ ip4_probe_neighbor (vlib_main_t * vm, ip4_address_t * dst, u32 sw_if_index, &im->ip4_arp_request_packet_template, &bi); + if (!h) + return clib_error_return (0, "ARP request packet allocation failed"); + hi = vnet_get_sup_hw_interface (vnm, sw_if_index); if (PREDICT_FALSE (!hi->hw_address)) { @@ -2079,7 +2082,7 @@ ip4_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) {