From: Stefan Hajnoczi <stefanha@redhat.com>
To: Thibaut Collet <thibaut.collet@6wind.com>
Cc: Jason Wang <jasowang@redhat.com>,
mst@redhat.com, qemu-devel@nongnu.org, quintela@redhat.com
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 [thread overview]
Message-ID: <20150608133203.GM23825@stefanha-thinkpad.redhat.com> (raw)
In-Reply-To: <CABUUfwO1OfV56SUpQq__a6KjTEaiaJyizYe_pNfrfcrRSoffyQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1980 bytes --]
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 #2: Type: application/pgp-signature, Size: 473 bytes --]
next prev parent reply other threads:[~2015-06-08 13:32 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-28 8:03 [Qemu-devel] [PATCH 1/1] net: fix queue's purge on VM stop Thibaut Collet
2015-05-29 13:12 ` Stefan Hajnoczi
2015-05-29 14:28 ` Thibaut Collet
2015-06-02 10:34 ` Stefan Hajnoczi
2015-06-03 7:56 ` Thibaut Collet
2015-06-03 9:42 ` Jason Wang
2015-06-03 13:40 ` Stefan Hajnoczi
2015-06-04 9:35 ` Jason Wang
2015-06-05 13:24 ` [Qemu-devel] [PATCH v2] net: Add support of VIRTIO_NET_F_GUEST_ANNOUNCE for vhost-net/vhost-user Thibaut Collet
2015-06-08 5:55 ` Jason Wang
2015-06-08 8:21 ` Thibaut Collet
2015-06-08 9:14 ` Jason Wang
2015-06-08 10:01 ` Thibaut Collet
2015-06-08 10:09 ` Michael S. Tsirkin
2015-06-08 10:22 ` Jason Wang
2015-06-08 13:32 ` Stefan Hajnoczi [this message]
2015-06-08 14:05 ` Thibaut Collet
2015-06-08 15:13 ` Stefan Hajnoczi
2015-06-08 15:32 ` Thibaut Collet
2015-06-09 10:38 ` Stefan Hajnoczi
2015-06-09 10:43 ` Stefan Hajnoczi
2015-06-08 16:13 ` Michael S. Tsirkin
2015-06-09 2:35 ` Jason Wang
2015-06-08 10:12 ` Michael S. Tsirkin
2015-06-08 11:29 ` Thibaut Collet
2015-06-08 12:45 ` Michael S. Tsirkin
2015-06-08 13:20 ` Thibaut Collet
2015-06-08 15:48 ` Michael S. Tsirkin
2015-06-08 13:25 ` Stefan Hajnoczi
2015-06-03 9:42 ` [Qemu-devel] [PATCH 1/1] net: fix queue's purge on VM stop Stefan Hajnoczi
2015-06-01 9:17 ` Jason Wang
2015-06-01 10:14 ` Thibaut Collet
2015-06-03 9:40 ` Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150608133203.GM23825@stefanha-thinkpad.redhat.com \
--to=stefanha@redhat.com \
--cc=jasowang@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=thibaut.collet@6wind.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).