qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] net: Add support of VIRTIO_NET_F_GUEST_ANNOU


From: Thibaut Collet
Subject: Re: [Qemu-devel] [PATCH v2] net: Add support of VIRTIO_NET_F_GUEST_ANNOUNCE for vhost-net/vhost-user
Date: Mon, 8 Jun 2015 16:05:23 +0200

> I've asked several times whether vhost-user support live migration?

vhost-user can support live migration but it needs such fixes of Qemu.
I have found the issue and develop my patch by trying live migration with vhost user.

> I think Jason is pointing out that your patch lacks support for guests
> that do not negotiate VIRTIO_NET_F_GUEST_ANNOUNCE.

I have understood the issue with old guest pointed by Jason.
I have thinking about the best way to do solve it and any advices are welcome.

> Please send each patch revision as a new email thread.  This makes it
> easy to see your new patches in threaded email clients.


I have used the same email thread as it is a reworked of my first patch.
I will create a new email thread for the next version.

On Mon, Jun 8, 2015 at 3:32 PM, Stefan Hajnoczi <address@hidden> wrote:
On Mon, Jun 08, 2015 at 10:21:38AM +0200, Thibaut Collet wrote:
> Hi,
>
> My understanding of gratuitous packet with virtio for any backend (vhost
> user or other):
> - When the VM is loaded (first start or migration) the virtio net
> interfaces are loaded ( virtio_net_load_device function in
> hw/net/virtio-net.c)
> - If the guest has the VIRTIO_NET_F_GUEST_ANNOUNCE capability, request to
> send gratuitous packet is done.
>
> 1. To enable gratuitous packet through this mechanism I have added
> VIRTIO_NET_F_GUEST_ANNOUNCE
> capability to hw/net/vhost_net.c. So host and guest can negotiate this
> feature when vhost-user is used.
>
> 2. self announce occurs in case of live migration. During a live migration
> a GARP is sent to all net backend through a queue dedicated to the net
> backend.
>    But for vhost-user:
>        - this operation is not possible (vhost-user has no queue)
>        - it is already done with the previous mechanism.
>    Rather to define a queue to vhost user and notify twice the guest to
> send gratuitous packet I have disable GARP from self announce and use only
> the first mechanism for that.
>
> I have tested my modifications with guest that supports
> VIRTIO_NET_F_GUEST_ANNOUNCE and vhost-user on the host. After a live
> migration I have the GARP from the guest.

I think Jason is pointing out that your patch lacks support for guests
that do not negotiate VIRTIO_NET_F_GUEST_ANNOUNCE.

If the guest does not set the feature bit then packets might continue to
get forwarded to the old host.

Perhaps the correct place to implement this is in the virtio-net.c
device instead of in vhost-user.c.  The non-vhost-user case should also
skip sending two ARP packets.

BUT before we go any further:

I've asked several times whether vhost-user support live migration?

You didn't answer that question.  Fixing this issue only makes sense if
vhost-user live migration is supported.

Stefan


reply via email to

[Prev in Thread] Current Thread [Next in Thread]