summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;