This an update of series that let guest and qemu to be co-operated to send gratuitous packets when needed such as after migration, loadvm and continuing.
As it's hard for qemu to track the network configuration in guest such as bondings, vlans or ipv6. So current gratuitous may not work under those situations. The series first introduce a model specific function in order to let nic models to use a device specific way to announce the link presence. With this, virtio-net backend were modified to notify the guest (through config update interrupt) and let guest send the gratuitous packet when needed. 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 --- Jason Wang (4): net: announce self after vm start net: model specific announcing support virtio-net: notify guest to annouce itself virtio-net: compat guest announce support. hw/pc_piix.c | 35 +++++++++++++++++++++++++++++++++++ hw/virtio-net.c | 19 +++++++++++++++++++ hw/virtio-net.h | 3 +++ migration.c | 1 - net.h | 2 ++ savevm.c | 8 +++++--- vl.c | 4 ++++ 7 files changed, 68 insertions(+), 4 deletions(-) -- Jason Wang