From b8591ac91318984a2706c6388ff836f1a9ef0a16 Mon Sep 17 00:00:00 2001 From: Vratko Polak Date: Tue, 23 Apr 2019 12:26:44 +0200 Subject: [PATCH] API sw_interface_dump: Dump all if index is zero This is a temporary measure, to allow CSIT usage of VAT command sw_interface_dump without arguments. Change-Id: Ic40adfcc89d92179e213afc497e4e71bbc0dad83 Signed-off-by: Vratko Polak --- src/vnet/interface.api | 7 ++++--- src/vnet/interface_api.c | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/vnet/interface.api b/src/vnet/interface.api index d8d9198cda7..7a2c45a47ca 100644 --- a/src/vnet/interface.api +++ b/src/vnet/interface.api @@ -14,7 +14,7 @@ * limitations under the License. */ -option version = "2.3.0"; +option version = "2.3.1"; import "vnet/interface_types.api"; @@ -205,9 +205,10 @@ define sw_interface_details /** \brief Request all or filtered subset of sw_interface_details @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request - @param sw_if_index - index of the interface to dump info on, ~0 if on all + @param sw_if_index - index of the interface to dump info on, 0 or ~0 if on all + TODO: Support selecting only index==0 when CSIT is ready. @param name_filter_valid - 1 if requesting a filtered subset of records else 0 - if name filter is valid, sw_if_index value is effectively set to ~0 + if name filter is set as valid, sw_if_index value is ignored and all interfaces are examined @param name_filter - interface name substring filter. Eg. loop1 returns [loop1, loop10] */ define sw_interface_dump diff --git a/src/vnet/interface_api.c b/src/vnet/interface_api.c index 8b0cd8e4a33..4cd2ec95b0f 100644 --- a/src/vnet/interface_api.c +++ b/src/vnet/interface_api.c @@ -308,9 +308,9 @@ vl_api_sw_interface_dump_t_handler (vl_api_sw_interface_dump_t * mp) u8 *filter = 0, *name = 0; sw_if_index = ntohl (mp->sw_if_index); - if (!mp->name_filter_valid && sw_if_index != ~0) + if (!mp->name_filter_valid && sw_if_index != ~0 && sw_if_index != 0) { - /* is it a valid sw_if_index/ */ + /* is it a valid sw_if_index? */ if (vec_len (im->sw_interfaces) <= sw_if_index) return; -- 2.16.6