qemu/include
Jason Wang f57fcf7063 virtio-net: announce self by guest
It's hard to track all mac addresses and their configurations (e.g
vlan or ipv6) in qemu. Without this information, it's impossible to
build proper garp packet after migration. The only possible solution
to this is let guest (who knows 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 is set so that after the vm is
running it can trigger rounds of config interrupts to notify the guest to build
and send the correct garps.

Cc: Liuyongan <liuyongan@huawei.com>
Cc: Amos Kong <akong@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2014-06-19 16:41:54 +03:00
..
block cleanup QEMUOptionParameter 2014-06-16 17:23:21 +08:00
disas disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
exec memory: add memory_region_is_mapped() API 2014-06-19 16:41:47 +03:00
fpu softfloat: Introduce float32_to_uint64_round_to_zero 2014-04-08 11:20:00 +02:00
hw virtio-net: announce self by guest 2014-06-19 16:41:54 +03:00
libdecnumber libdecnumber: Introduce decNumberIntegralToInt64 2014-06-16 13:24:29 +02:00
migration migration: introduce self_announce_delay() 2014-06-19 16:41:54 +03:00
monitor monitor: add Error-propagating monitor_handle_fd_param2() 2014-05-08 14:19:58 -04:00
net net: Export valid host network devices list 2014-06-11 10:10:29 -04:00
qapi purge error_is_set() 2014-05-22 18:14:01 +01:00
qemu Patch queue for ppc - 2014-06-16 2014-06-16 18:26:21 +01:00
qom softmmu: make do_unaligned_access a method of CPU 2014-06-05 16:10:31 +02:00
sysemu add memdev backend infrastructure 2014-06-18 21:10:30 +03:00
ui spice: add mouse cursor support 2014-06-13 12:34:57 +02:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h target-ppc: Support little-endian PPC64 in user mode. 2014-06-16 13:24:40 +02:00
glib-compat.h glib-compat.h: add new thread API emulation on top of pre-2.31 API 2014-06-10 07:44:01 +02:00
qemu-common.h util: add qemu_iovec_is_zero 2014-05-19 12:20:19 +02:00
qemu-io.h qemu-io: Fix warnings from static code analysis 2014-03-13 14:42:24 +01:00
trace.h build: some simplifications for "trace/Makefile.objs" 2013-01-12 18:42:51 +01:00