Re: [PATCH 5/6] vDPA: answer num of queue pairs = 1 to userspace when VIRTIO_NET_F_MQ == 0
From: Jason Wang <jasowang@redhat.com>
Date: 2022-06-02 07:38:35
Also in:
virtualization
From: Jason Wang <jasowang@redhat.com>
Date: 2022-06-02 07:38:35
Also in:
virtualization
On Thu, Jun 2, 2022 at 10:48 AM Zhu Lingshan [off-list ref] wrote:
If VIRTIO_NET_F_MQ == 0, the virtio device should have one queue pair, so when userspace querying queue pair numbers, it should return mq=1 than zero
Spec said: "max_virtqueue_pairs only exists if VIRTIO_NET_F_MQ is set" So we are probably fine. Thanks
Signed-off-by: Zhu Lingshan <redacted> --- drivers/vdpa/vdpa.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)diff --git a/drivers/vdpa/vdpa.c b/drivers/vdpa/vdpa.c index 030d96bdeed2..50a11ece603e 100644 --- a/drivers/vdpa/vdpa.c +++ b/drivers/vdpa/vdpa.c@@ -818,9 +818,10 @@ static int vdpa_dev_net_mq_config_fill(struct vdpa_device *vdev, u16 val_u16; if ((features & BIT_ULL(VIRTIO_NET_F_MQ)) == 0) - return 0; + val_u16 = 1; + else + val_u16 = le16_to_cpu((__force __le16)config->max_virtqueue_pairs); - val_u16 = le16_to_cpu(config->max_virtqueue_pairs); return nla_put_u16(msg, VDPA_ATTR_DEV_NET_CFG_MAX_VQP, val_u16); } --2.31.1