commit 96a3d98d2cdbd897ff5ab33427aa4cfb94077665 (vhost: don't set vring call if no vector) set vring call fd to -1 for drivers does not use interrupt at all(e.g virtio-net pmd). That patch setting vring call fd to -1 cause the network to not work when running dpdk in the guest. The openvswitch port status is down by executing the command "ovs-vsctl list interface" in host of running the guest. The network is ok if it doesn't set vring call fd to -1 in vhost_virtqueue_start. The patch doesn't set vring call fd to -1 for vhost-user.
Signed-off-by: ZhiPeng Lu <lu.zhip...@zte.com.cn> --- hw/virtio/vhost.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 6eddb09..bb8db7d 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1098,7 +1098,8 @@ static int vhost_virtqueue_start(struct vhost_dev *dev, if (k->query_guest_notifiers && k->query_guest_notifiers(qbus->parent) && - virtio_queue_vector(vdev, idx) == VIRTIO_NO_VECTOR) { + virtio_queue_vector(vdev, idx) == VIRTIO_NO_VECTOR && + vdev->use_guest_notifier_mask) { file.fd = -1; r = dev->vhost_ops->vhost_set_vring_call(dev, &file); if (r) { -- 1.8.3.1