Message ID | 0b4378b01430b620069407a3ffd8dce6ecbbe343.1297269881.git.mst@redhat.com |
---|---|
State | New |
Headers | show |
diff --git a/hw/virtio-net.c b/hw/virtio-net.c index 671d952..20cf680 100644 --- a/hw/virtio-net.c +++ b/hw/virtio-net.c @@ -115,7 +115,8 @@ static void virtio_net_vhost_status(VirtIONet *n, uint8_t status) if (!tap_get_vhost_net(n->nic->nc.peer)) { return; } - if (!!n->vhost_started == virtio_net_started(n, status)) { + if (!!n->vhost_started == virtio_net_started(n, status) && + !n->nic->nc.peer->link_down) { return; } if (!n->vhost_started) {
qemu makes it possible to disable link at tap which is not communicated to the guest but causes all packets to be dropped. When vhost-net is enabled, vhost needs to be aware of both the virtio link_down and the peer link_down. we switch to userspace emulation when either is down. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reported-by: pradeep <psuriset@linux.vnet.ibm.com> --- hw/virtio-net.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)