From: Jason Wang <jasowang@redhat.com>
To: Thibaut Collet <thibaut.collet@6wind.com>
Cc: mst@redhat.com, qemu-devel@nongnu.org,
Stefan Hajnoczi <stefanha@redhat.com>,
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, 08 Jun 2015 18:22:09 +0800 [thread overview]
Message-ID: <55756CD1.6000703@redhat.com> (raw)
In-Reply-To: <CABUUfwN94zwFitW8uC+0-3tDGVXOKxjYT2PXvbCaTL-GEgR5CA@mail.gmail.com>
On 06/08/2015 06:01 PM, Thibaut Collet wrote:
> Hi,
>
> I agree that my patch is OK only for recent drivers. To have a simple
> patch with only few modifications I do not implement a solution for
> old driver but I can be done later.
>
This makes sense.
> For legacy guest without VIRTIO_NET_F_GUEST_ANNOUNCE the problem is
> more complex. The RARP must be sent by the vhost client/backend. This
> component is outside QEMU (the reference implementation is
> snabbswitch: http://www.virtualopensystems.com/en/solutions/guides/snabbswitch-qemu/).
> To do that:
> - a receive function must be defined for the vhost user.
> - a message must be added between QEMU and vapp. This message will be
> sent only for old guest driver to avoid GARP duplication.
> - the added self_announce_disabled must be removed (decision to send
> or not the RARP is done later by the backend and not by the generic
> migration method)
>
> Do you agree with this solution ?
>
>
Sounds ok.
> Regards.
>
> On Mon, Jun 8, 2015 at 11:14 AM, Jason Wang <jasowang@redhat.com
> <mailto:jasowang@redhat.com>> wrote:
>
>
>
> On 06/08/2015 04:21 PM, 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.
>
> Yes, your patch works well for recent drivers. But the problem is
> legacy
> guest/driver without VIRTIO_NET_F_GUEST_ANNOUNCE. In this case there
> will be no GARP sent after migration.
>
> Thanks
>
>
next prev parent reply other threads:[~2015-06-08 10:22 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 [this message]
2015-06-08 13:32 ` Stefan Hajnoczi
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=55756CD1.6000703@redhat.com \
--to=jasowang@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@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).