aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2019-04-23 12:26:44 +0200
committerDave Wallace <dwallacelf@gmail.com>2019-04-23 14:38:58 +0000
commitb8591ac91318984a2706c6388ff836f1a9ef0a16 (patch)
treeee8db7328c25292797be5739028d769e7dc13374
parentbed1421b9f1b3643d93384084972337b596aec73 (diff)
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 <vrpolak@cisco.com>
-rw-r--r--src/vnet/interface.api7
-rw-r--r--src/vnet/interface_api.c4
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;