From: Jason Wang <jasowang@redhat.com>
To: aliguori@us.ibm.com, pbonzini@redhat.com, owasserm@redhat.com,
qemu-devel@nongnu.org
Cc: Jason Wang <jasowang@redhat.com>, mst@redhat.com
Subject: [Qemu-devel] [PATCH V7 0/5] Send the gratuitous by guest
Date: Thu, 7 Mar 2013 16:23:46 +0800 [thread overview]
Message-ID: <1362644631-23113-1-git-send-email-jasowang@redhat.com> (raw)
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.
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
- decide whether to send gratuitous packets by previous runstate instead of a dedicated parameter
- check virtio_net_started() instead of VIRTIO_NET_S_LINK_UP before issue the config update interrupt
- move VIRTIO_NET_S_ANNOUNCE to 0x100 and supress guest config write to RO bits
- cleanups suggested by Michael
Tested with migration within 802.1Q.
Jason Wang (5):
runstate: introduce prelaunch-migrate state
net: announce self after vm is started
net: model specific announcing support
virtio-net: notify guest to annouce itself
virtio-net: compat guest announce
hw/pc.h | 6 +++++-
hw/virtio-net.c | 30 ++++++++++++++++++++++++++++++
hw/virtio-net.h | 15 ++++++++++++++-
include/net/net.h | 2 ++
migration.c | 4 +---
qapi-schema.json | 5 ++++-
savevm.c | 8 ++++++--
vl.c | 8 +++++++-
8 files changed, 69 insertions(+), 9 deletions(-)
next reply other threads:[~2013-03-07 8:33 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-07 8:23 Jason Wang [this message]
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
-- 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=1362644631-23113-1-git-send-email-jasowang@redhat.com \
--to=jasowang@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=mst@redhat.com \
--cc=owasserm@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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).