From bedf48a17cbac03684d28af5dfba099ea3fd9d3f Mon Sep 17 00:00:00 2001 From: Michael Yu Date: Fri, 8 May 2020 16:42:58 +0800 Subject: 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 --- src/vnet/ip-neighbor/ip_neighbor.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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* */ -- cgit 1.2.3-korg