diff options
author | Steven Luong <sluong@cisco.com> | 2020-05-18 17:12:56 -0700 |
---|---|---|
committer | Paul Vinciguerra <pvinci@vinciconsulting.com> | 2020-06-16 01:37:56 +0000 |
commit | a0e8d9669e980c673f5302e7bff0c06b31d46b56 (patch) | |
tree | 93a12a433ff07eb91f9393b2c654984522d68a1d /src/vnet/devices/virtio | |
parent | 0cf528233ab9272d7153f7323bacae2d50313b1a (diff) |
virtio: add vhost sw_if_index filter for sw_interface_vhost_user_dump
The filter sw_if_index was in the API sw_interface_vhost_user_dump. But
it was never implemented in the backend. This patch is to add the backend,
vat, and custom dump support for the filter.
Type: feature
Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Iaa41a7e11bfbcbb4c60092375e4b0dcf0950077b
Diffstat (limited to 'src/vnet/devices/virtio')
-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); } |