X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fadj%2Fadj_nbr.c;h=3a474a8e199ccb9344f293f8c46f54da6d9bb918;hb=1855b8e4;hp=eff7d4ce1fb89d7101b694f51e300803cf665e2b;hpb=f9d0568344b4766bc1ddc1be9a7e9afd00e2d832;p=vpp.git diff --git a/src/vnet/adj/adj_nbr.c b/src/vnet/adj/adj_nbr.c index eff7d4ce1fb..3a474a8e199 100644 --- a/src/vnet/adj/adj_nbr.c +++ b/src/vnet/adj/adj_nbr.c @@ -230,7 +230,12 @@ adj_nbr_add_or_lock (fib_protocol_t nh_proto, adj_index = adj_get_index(adj); adj_lock(adj_index); - vnet_rewrite_init(vnm, sw_if_index, + if (ip46_address_is_equal(&ADJ_BCAST_ADDR, nh_addr)) + { + adj->lookup_next_index = IP_LOOKUP_NEXT_BCAST; + } + + vnet_rewrite_init(vnm, sw_if_index, link_type, adj_get_nd_node(nh_proto), vnet_tx_node_index_for_sw_interface(vnm, sw_if_index), &adj->rewrite_header); @@ -751,7 +756,7 @@ VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION_PRIO( * @brief Invoked on each SW interface of a HW interface when the * HW interface state changes */ -static void +static walk_rc_t adj_nbr_hw_sw_interface_state_change (vnet_main_t * vnm, u32 sw_if_index, void *arg) @@ -768,6 +773,7 @@ adj_nbr_hw_sw_interface_state_change (vnet_main_t * vnm, adj_nbr_interface_state_change_one, ctx); } + return (WALK_CONTINUE); } /**