On 05/12/2014 03:22 PM, Michael S. Tsirkin wrote: > On Fri, Apr 11, 2014 at 10:54:47AM +0800, Jason Wang wrote: >> > It's hard to track all mac addresses and their configurations (e.g >> > vlan or ipv6) in qemu. Without those informations, it's impossible to >> > build proper garp packet after migration. The only possible solution >> > to this is let guest (who knew all configurations) to do this. >> > >> > So, this patch introduces a new readonly config status bit of virtio-net, >> > VIRTIO_NET_S_ANNOUNCE which is used to notify guest to announce >> > presence of its link through config update interrupt.When guest has >> > done the announcement, it should ack the notification through >> > VIRTIO_NET_CTRL_ANNOUNCE_ACK cmd. This feature is negotiated by a new >> > feature bit VIRTIO_NET_F_ANNOUNCE (which has already been supported by >> > Linux guest). >> > >> > During load, a counter of announcing rounds were set so that the after >> > the vm is running it can trigger rounds of config interrupts to notify >> > the guest to build and send the correct garps. >> > >> > Reference: >> > RFC v1: https://lists.gnu.org/archive/html/qemu-devel/2014-03/msg02648.html >> > V7: https://lists.gnu.org/archive/html/qemu-devel/2013-03/msg01127.html >> > >> > Changes from RFC v1: >> > - clean VIRTIO_NET_S_ANNOUNCE bit during reset >> > - free announce timer during clean >> > - make announce work for non-vhost case >> > >> > Changes from V7: >> > - Instead of introducing a global method for each kind of nic, this >> > version limits the changes to virtio-net itself. >> > >> > Cc: Liuyongan <[email protected]> >> > Cc: Amos Kong <[email protected]> >> > Signed-off-by: Jason Wang <[email protected]> > Looks good to me, but I think you should use > QEMU_CLOCK_VIRTUAL: let's not change VM state > when emulation is not running. >
Sure, will post another version. Thanks
