All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: aliguori@us.ibm.com, gleb@redhat.com,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	qemu-devel@nongnu.org, owasserm@redhat.com, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH V7 0/5] Send the gratuitous by guest
Date: Mon, 11 Mar 2013 15:45:48 +0800	[thread overview]
Message-ID: <513D8BAC.3010702@redhat.com> (raw)
In-Reply-To: <20130308110317.GD32107@stefanha-thinkpad.redhat.com>

On 03/08/2013 07:03 PM, Stefan Hajnoczi wrote:
> On Thu, Mar 07, 2013 at 12:52:42PM +0200, Michael S. Tsirkin wrote:
>> On Thu, Mar 07, 2013 at 06:33:30PM +0800, Jason Wang wrote:
>>> On 03/07/2013 06:25 PM, Michael S. Tsirkin wrote:
>>>> On Thu, Mar 07, 2013 at 06:13:41PM +0800, Jason Wang wrote:
>>>>> On 03/07/2013 06:04 PM, Michael S. Tsirkin wrote:
>>>>>> On Thu, Mar 07, 2013 at 04:23:46PM +0800, Jason Wang wrote:
>>>>>>> This series tries to let guest instead of qemu to send the gratuitous packets
>>>>>>> after migration when guest is capable of doing this. This is needed since it's
>>>>>>> impossible for qemu to keep track of all configurations (e.g 802.1Q) and mac
>>>>>>> addresses (more than one mac address may be used by guest). So qemu can't build
>>>>>>> gratuitous packets for all those configurations properly. The only solution is
>>>>>>> let guest driver who knew all needed information to do this.
>>>>>>>
>>>>>>> The series first introduces a new runstate which just tracks the state when the
>>>>>>> migration is finished and guest is about to start. And then we can just trying
>>>>>>> to notify the guest to send the GARP after changing from this state to
>>>>>>> running. A model specific announcing method were also also introduced to let
>>>>>>> each kinds of nic do its own notification. When there's no such method register
>>>>>>> for the nic, the old style of sending RARP were kept. And the last two patches
>>>>>>> implemented the virtio-net method of notification.
>>>>>> Do we want to retry SELF_ANNOUNCE_ROUNDS?
>>>>> Yes, we do the announcement several times like in the past.
>>>>>>> Changes from V6:
>>>>>>> - introduce a new runstate instead of using a global variable check the state
>>>>>>>
>>>>>>> Changes from V5:
>>>>>>> - use a global variable to decide whether an announcement is needed after migration
>>>>>>> - align with virtio spec and let guest ack the announcement notification through
>>>>>>>   control vq instead of config status writing
>>>>>>>
>>>>>>> Changes from V4:
>>>>>>> - keep the old behavior that send the gratuitous packets only after migration
>>>>>> I wonder why it's a sane thing to do. How about simply sending the event after load?
>>>>> The aim is to limit the change of the behaviour to focus on migration.
>>>>> We may also need this after cont,
>>>> Hmm why after cont?
>>> If we stop the vm for a long period, the mac will be missed in the
>>> forward table of the bridge also.
>> Hmm okay, needs some thought.
> One case where a physical machine is offline for a long time is
> Wake-on-LAN.  Broadcast is used exactly for this reason.
>
> If a switch receives a packet to an unknown MAC it must broadcast.  If a
> host doesn't have a IP-to-MAC table entry (due to timeout) it must send
> an ARP request.
>
> So I think this is all handled by existing behavior.  If other hosts
> have forgotten about the VM's MAC they will send an ARP request, which
> the VM will respond to if it is running again.
>
> Stefan

Right, thanks for the clarification. So the only thing qemu needs to
care is migration.

  reply	other threads:[~2013-03-11  7:46 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-07  8:23 [Qemu-devel] [PATCH V7 0/5] Send the gratuitous by guest Jason Wang
2013-03-07  8:23 ` [Qemu-devel] [PATCH V7 1/5] runstate: introduce prelaunch-migrate state Jason Wang
2013-03-07 15:37   ` Eric Blake
2013-03-11 14:31     ` Jiri Denemark
2013-03-12  3:09       ` Jason Wang
2013-03-07  8:23 ` [Qemu-devel] [PATCH V7 2/5] net: announce self after vm is started Jason Wang
2013-03-07  8:23 ` [Qemu-devel] [PATCH V7 3/5] net: model specific announcing support Jason Wang
2013-03-07  8:23 ` [Qemu-devel] [PATCH V7 4/5] virtio-net: notify guest to annouce itself Jason Wang
2013-03-07  8:23 ` [Qemu-devel] [PATCH V7 5/5] virtio-net: compat guest announce Jason Wang
2013-03-07 10:04 ` [Qemu-devel] [PATCH V7 0/5] Send the gratuitous by guest Michael S. Tsirkin
2013-03-07 10:13   ` Jason Wang
2013-03-07 10:25     ` Michael S. Tsirkin
2013-03-07 10:33       ` Jason Wang
2013-03-07 10:52         ` Michael S. Tsirkin
2013-03-08  3:41           ` Jason Wang
2013-03-08 11:03           ` Stefan Hajnoczi
2013-03-11  7:45             ` Jason Wang [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-02-10 12:30 Liuyongan
2014-02-11  2:45 ` 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=513D8BAC.3010702@redhat.com \
    --to=jasowang@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=gleb@redhat.com \
    --cc=mst@redhat.com \
    --cc=owasserm@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=stefanha@gmail.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.