[v12,09/10] net/virtio-user: ctrl virtqueue not supported with packed vqs
Checks
Commit Message
Until we have support for ctrl virtqueues let's disable it and
exit if specified as a parameter.
Signed-off-by: Jens Freimann <jfreimann@redhat.com>
---
drivers/net/virtio/virtio_user/virtio_user_dev.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
Comments
It seems check-git-log.sh returns an error for this one.
On 12/13/18 1:34 PM, Jens Freimann wrote:
> Until we have support for ctrl virtqueues let's disable it and
> exit if specified as a parameter.
>
> Signed-off-by: Jens Freimann <jfreimann@redhat.com>
> ---
> drivers/net/virtio/virtio_user/virtio_user_dev.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c b/drivers/net/virtio/virtio_user/virtio_user_dev.c
> index 697ba4ae8..f9b83c423 100644
> --- a/drivers/net/virtio/virtio_user/virtio_user_dev.c
> +++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c
> @@ -467,10 +467,14 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, int queues,
> if (!in_order)
> dev->unsupported_features |= (1ull << VIRTIO_F_IN_ORDER);
>
> - if (packed_vq)
> + if (packed_vq) {
> + if (cq)
> + rte_exit(EXIT_FAILURE,
> + "control vq not supported with packed virtqueues\n");
Sorry if I wasn't clear, but you should return -1 and not exit the
application using the DPDK lib.
> dev->device_features |= (1ull << VIRTIO_F_RING_PACKED);
> - else
> + } else {
> dev->device_features &= ~(1ull << VIRTIO_F_RING_PACKED);
> + }
>
> if (dev->mac_specified) {
> dev->device_features |= (1ull << VIRTIO_NET_F_MAC);
>
On Thu, Dec 13, 2018 at 05:42:02PM +0100, Maxime Coquelin wrote:
>It seems check-git-log.sh returns an error for this one.
>
>On 12/13/18 1:34 PM, Jens Freimann wrote:
>>Until we have support for ctrl virtqueues let's disable it and
>>exit if specified as a parameter.
>>
>>Signed-off-by: Jens Freimann <jfreimann@redhat.com>
>>---
>> drivers/net/virtio/virtio_user/virtio_user_dev.c | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>>diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c b/drivers/net/virtio/virtio_user/virtio_user_dev.c
>>index 697ba4ae8..f9b83c423 100644
>>--- a/drivers/net/virtio/virtio_user/virtio_user_dev.c
>>+++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c
>>@@ -467,10 +467,14 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, int queues,
>> if (!in_order)
>> dev->unsupported_features |= (1ull << VIRTIO_F_IN_ORDER);
>>- if (packed_vq)
>>+ if (packed_vq) {
>>+ if (cq)
>>+ rte_exit(EXIT_FAILURE,
>>+ "control vq not supported with packed virtqueues\n");
>
>Sorry if I wasn't clear, but you should return -1 and not exit the
>application using the DPDK lib.
Ha, I did this first, but then I thought, no that doesn't seem useful because the
notice you get is easy to miss between all the other output and then
you run something that will not really work as expected :)
But okay, I can change it to return -1.
regards,
Jens
@@ -467,10 +467,14 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, int queues,
if (!in_order)
dev->unsupported_features |= (1ull << VIRTIO_F_IN_ORDER);
- if (packed_vq)
+ if (packed_vq) {
+ if (cq)
+ rte_exit(EXIT_FAILURE,
+ "control vq not supported with packed virtqueues\n");
dev->device_features |= (1ull << VIRTIO_F_RING_PACKED);
- else
+ } else {
dev->device_features &= ~(1ull << VIRTIO_F_RING_PACKED);
+ }
if (dev->mac_specified) {
dev->device_features |= (1ull << VIRTIO_NET_F_MAC);