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: Stefan Hajnoczi
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 14:32:03 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

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

Attachment: pgpJIAguCOjY7.pgp
Description: PGP signature


reply via email to

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