qemu-e2k/net
Thibaut Collet f6f56291de vhost user: add support of live migration
Some vhost user backends are able to support live migration.
To provide this service the following features must be added:
1. Add the VIRTIO_NET_F_GUEST_ANNOUNCE capability to vhost-net when netdev
   backend is vhost-user.
2. Provide a nop receive callback to vhost-user.
   This callback is called by:
    *  qemu_announce_self after a migration to send fake RARP to avoid network
       outage for peers talking to the migrated guest.
         - For guest with GUEST_ANNOUNCE capabilities, guest already sends GARP
           when the bit VIRTIO_NET_S_ANNOUNCE is set.
           => These packets must be discarded.
         - For guest without GUEST_ANNOUNCE capabilities, migration termination
           is notified when the guest sends packets.
           => These packets can be discarded.
    * virtio_net_tx_bh with a dummy boot to send fake bootp/dhcp request.
      BIOS guest manages virtio driver to send 4 bootp/dhcp request in case of
      dummy boot.
      => These packets must be discarded.

Signed-off-by: Thibaut Collet <thibaut.collet@6wind.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Thibaut Collet <thibaut.collet@6wind.com>
2015-10-22 14:34:49 +03:00
..
checksum.c net: iovec checksum calculator 2013-03-25 11:13:10 +01:00
clients.h net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
dump.c net: remove muldiv64() 2015-09-25 14:56:38 +02:00
eth.c misc: Use g_assert_not_reached for code which is expected to be unreachable 2013-07-27 11:22:54 +04:00
filter-buffer.c netfilter: add a netbuffer filter 2015-10-12 13:31:28 +08:00
filter.c netfilter: print filter info associate with the netdev 2015-10-12 13:30:56 +08:00
hub.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
hub.h net: fix qemu_flush_queued_packets() in presence of a hub 2013-02-27 16:10:23 +01:00
l2tpv3.c Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
Makefile.objs netfilter: add a netbuffer filter 2015-10-12 13:31:28 +08:00
net.c net: don't set native endianness 2015-10-21 09:24:44 +03:00
netmap.c Change qemu_set_fd_handler2(..., NULL, ...) to qemu_set_fd_handler 2015-06-12 13:26:21 +01:00
queue.c net/queue: export qemu_net_queue_append_iov 2015-10-12 13:31:18 +08:00
slirp.c qerror: Move #include out of qerror.h 2015-06-22 18:20:40 +02:00
socket.c socket: pass correct size in net_socket_send() 2015-07-20 17:39:05 +01:00
tap_int.h tap: add VNET_LE/VNET_BE operations 2015-06-17 17:12:54 +02:00
tap-aix.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap-bsd.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap-haiku.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap-linux.c trivial: remove trailing newline from error_report 2015-09-11 10:21:38 +03:00
tap-linux.h tap: add VNET_LE/VNET_BE operations 2015-06-17 17:12:54 +02:00
tap-solaris.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap-win32.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap.c virtio, pci fixes, enhancements 2015-06-19 11:30:57 +01:00
util.c net: reorganize headers 2012-12-19 08:31:29 +01:00
util.h
vde.c net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
vhost-user.c vhost user: add support of live migration 2015-10-22 14:34:49 +03:00