X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fadj%2Fadj_nbr.c;h=f769c56d8ecfcdd2377f84480d90544f2983f62c;hb=cbe25aab3be72154f2c706c39eeba6a77f34450f;hp=28ee53e7d49a75b4771a7cda8d70581f25f33e6d;hpb=96453fd2417ebd1d69354a7fb692976129cea80e;p=vpp.git diff --git a/src/vnet/adj/adj_nbr.c b/src/vnet/adj/adj_nbr.c index 28ee53e7d49..f769c56d8ec 100644 --- a/src/vnet/adj/adj_nbr.c +++ b/src/vnet/adj/adj_nbr.c @@ -464,6 +464,7 @@ adj_nbr_update_rewrite_internal (ip_adjacency_t *adj, vlib_worker_thread_barrier_sync(vm); adj->lookup_next_index = adj_next_index; + adj->ia_node_index = this_node; if (NULL != rewrite) { @@ -666,15 +667,17 @@ adj_nbr_walk_nh (u32 sw_if_index, if (!ADJ_NBR_ITF_OK(adj_nh_proto, sw_if_index)) return; - vnet_link_t linkt; - adj_index_t ai; - - FOR_EACH_VNET_LINK(linkt) + switch (adj_nh_proto) { - ai = adj_nbr_find (adj_nh_proto, linkt, nh, sw_if_index); - - if (INDEX_INVALID != ai) - cb(ai, ctx); + case FIB_PROTOCOL_IP4: + adj_nbr_walk_nh4(sw_if_index, &nh->ip4, cb, ctx); + break; + case FIB_PROTOCOL_IP6: + adj_nbr_walk_nh6(sw_if_index, &nh->ip6, cb, ctx); + break; + case FIB_PROTOCOL_MPLS: + ASSERT(0); + break; } }