From: Michael Yu Date: Fri, 8 May 2020 08:42:58 +0000 (+0800) Subject: ip-neighbor: fix show ip neighbor issue X-Git-Tag: v20.09-rc0~20 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=bedf48a17cbac03684d28af5dfba099ea3fd9d3f;p=vpp.git ip-neighbor: fix show ip neighbor issue Fix the issue that vppctl show ip4{6} neighbor [interface] command can't show entries correctly, example: both ip4 and ip6 entries can be shown with command: vppctl show ip4 neighbor. Type: fix Signed-off-by: Michael Yu Change-Id: I229368b71cd285adce994c8290cc9d7e4c4f5aa6 Signed-off-by: Michael Yu --- diff --git a/src/vnet/ip-neighbor/ip_neighbor.c b/src/vnet/ip-neighbor/ip_neighbor.c index a0179f7f375..09b56058f72 100644 --- a/src/vnet/ip-neighbor/ip_neighbor.c +++ b/src/vnet/ip-neighbor/ip_neighbor.c @@ -821,12 +821,11 @@ ip_neighbor_entries (u32 sw_if_index, ip46_type_t type) /* *INDENT-OFF* */ pool_foreach (ipn, ip_neighbor_pool, ({ - if (sw_if_index != ~0 && - ipn->ipn_key->ipnk_sw_if_index != sw_if_index && + if ((sw_if_index == ~0 || + ipn->ipn_key->ipnk_sw_if_index == sw_if_index) && (IP46_TYPE_ANY == type || - (ipn->ipn_key->ipnk_type == type))) - continue; - vec_add1 (ipnis, ip_neighbor_get_index(ipn)); + ipn->ipn_key->ipnk_type == type)) + vec_add1 (ipnis, ip_neighbor_get_index(ipn)); })); /* *INDENT-ON* */