From 073d74d0ba9a6110ed73a38df668c47ceb3ca776 Mon Sep 17 00:00:00 2001 From: Paul Vinciguerra Date: Mon, 27 Apr 2020 01:12:48 -0400 Subject: tap: implement sw_interface_tap_v2_dump filtering by sw_if_index Type: feature Change-Id: I6f607f383dc77a71e8712124f7613b38b4ac065a Signed-off-by: Paul Vinciguerra --- src/vnet/devices/tap/tapv2_api.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/vnet/devices/tap/tapv2_api.c') diff --git a/src/vnet/devices/tap/tapv2_api.c b/src/vnet/devices/tap/tapv2_api.c index 9e09459c9ab..05679377d2a 100644 --- a/src/vnet/devices/tap/tapv2_api.c +++ b/src/vnet/devices/tap/tapv2_api.c @@ -232,8 +232,8 @@ vl_api_sw_interface_tap_v2_dump_t_handler (vl_api_sw_interface_tap_v2_dump_t * return; filter_sw_if_index = htonl (mp->sw_if_index); - if (filter_sw_if_index != ~0) - return; /* UNIMPLEMENTED */ + if (mp->sw_if_index != ~0) + VALIDATE_SW_IF_INDEX (mp); rv = tap_dump_ifs (&tapifs); if (rv) @@ -241,9 +241,11 @@ vl_api_sw_interface_tap_v2_dump_t_handler (vl_api_sw_interface_tap_v2_dump_t * vec_foreach (tap_if, tapifs) { - tap_send_sw_interface_details (am, reg, tap_if, mp->context); + if ((filter_sw_if_index == ~0) + || (tap_if->sw_if_index == filter_sw_if_index)) + tap_send_sw_interface_details (am, reg, tap_if, mp->context); } - + BAD_SW_IF_INDEX_LABEL; vec_free (tapifs); } -- cgit 1.2.3-korg