aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/devices/virtio
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/devices/virtio')
-rw-r--r--src/vnet/devices/virtio/vhost_user.api2
-rw-r--r--src/vnet/devices/virtio/vhost_user_api.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/src/vnet/devices/virtio/vhost_user.api b/src/vnet/devices/virtio/vhost_user.api
index 127b0a27fc7..338fd710bc0 100644
--- a/src/vnet/devices/virtio/vhost_user.api
+++ b/src/vnet/devices/virtio/vhost_user.api
@@ -115,7 +115,7 @@ define sw_interface_vhost_user_details
};
/** \brief Vhost-user interface dump request
- @param sw_if_index - filter by sw_if_index UNIMPLEMENTED
+ @param sw_if_index - filter by sw_if_index
*/
define sw_interface_vhost_user_dump
{
diff --git a/src/vnet/devices/virtio/vhost_user_api.c b/src/vnet/devices/virtio/vhost_user_api.c
index 67365334d95..80fe5548efd 100644
--- a/src/vnet/devices/virtio/vhost_user_api.c
+++ b/src/vnet/devices/virtio/vhost_user_api.c
@@ -211,7 +211,7 @@ static void
filter_sw_if_index = htonl (mp->sw_if_index);
if (filter_sw_if_index != ~0)
- return; /* UNIMPLEMENTED */
+ VALIDATE_SW_IF_INDEX (mp);
rv = vhost_user_dump_ifs (vnm, vm, &ifaces);
if (rv)
@@ -219,8 +219,11 @@ static void
vec_foreach (vuid, ifaces)
{
- send_sw_interface_vhost_user_details (am, reg, vuid, mp->context);
+ if ((filter_sw_if_index == ~0) ||
+ (vuid->sw_if_index == filter_sw_if_index))
+ send_sw_interface_vhost_user_details (am, reg, vuid, mp->context);
}
+ BAD_SW_IF_INDEX_LABEL;
vec_free (ifaces);
}