|
From: | Kangjie Xu |
Subject: | Re: [PATCH v2 18/24] vhost-net: vhost-user: update vhost_net_virtqueue_stop() |
Date: | Wed, 24 Aug 2022 12:57:14 +0800 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 |
在 2022/8/24 12:05, Jason Wang 写道:
在 2022/8/16 09:06, Kangjie Xu 写道:Update vhost_net_virtqueue_stop() for vhost-user scenario.Let's explain why it is needed now or why it doesn't cause any issue or it's a bug fix or not.Thanks
This patch is to suppport vq reset for vhost-user.We need this simply because the behavior of vhost_ops->get_vq_index() is different in vhost-user and vhost-kernel.
vhost_user_get_vq_index(dev, idx) simply returns "idx". vhost_kernel_get_vq_index(dev, idx) returns "idx - dev->vq_index". Thanks
Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> --- hw/net/vhost_net.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c index 2ab67e875e..c0d408f3b4 100644 --- a/hw/net/vhost_net.c +++ b/hw/net/vhost_net.c@@ -533,6 +533,10 @@ void vhost_net_virtqueue_stop(VirtIODevice *vdev, NetClientState *nc,assert(r >= 0); } + if (net->nc->info->type == NET_CLIENT_DRIVER_VHOST_USER) { + idx = idx - net->dev.vq_index; + } + vhost_dev_virtqueue_stop(&net->dev, vdev, idx); }
[Prev in Thread] | Current Thread | [Next in Thread] |