diff options
Diffstat (limited to 'src/vnet')
-rw-r--r-- | src/vnet/devices/virtio/vhost_user.api | 2 | ||||
-rw-r--r-- | src/vnet/devices/virtio/vhost_user_api.c | 7 |
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); } |