API sw_interface_dump: Dump all if index is zero 06/19106/2
authorVratko Polak <vrpolak@cisco.com>
Tue, 23 Apr 2019 10:26:44 +0000 (12:26 +0200)
committerDave Wallace <dwallacelf@gmail.com>
Tue, 23 Apr 2019 14:38:58 +0000 (14:38 +0000)
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>
src/vnet/interface.api
src/vnet/interface_api.c

index d8d9198..7a2c45a 100644 (file)
@@ -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
index 8b0cd8e..4cd2ec9 100644 (file)
@@ -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;