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
@@ -821,11 +821,10 @@ 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;
+ ipn->ipn_key->ipnk_type == type))
vec_add1 (ipnis, ip_neighbor_get_index(ipn));
}));
