All of lore.kernel.org
 help / color / mirror / Atom feed
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
>
>

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.