========================
QEMU virtio-net standby (net_failover)
========================

This document explains the setup and usage of virtio-net standby feature which
is used to create a net_failover pair of devices.

The general idea is that we have a pair of devices, a (vfio-)pci and a
virtio-net device. Before migration the vfio device is unplugged and data flows
through the virtio-net device, on the target side another vfio-pci device is
plugged in to take over the data-path. In the guest the net_failover kernel
module will pair net devices with the same MAC address.

The two devices are called primary and standby device. The fast hardware based
networking device is called the primary device and the virtio-net device is the
standby device.

Restrictions
------------

Currently only PCIe devices are allowed as primary devices, this restriction
can be lifted in the future with enhanced QEMU support. Also, only networking
devices are allowed as primary device. The user needs to ensure that primary
and standby devices are not plugged into the same PCIe slot.

Usecase
-------

  Virtio-net standby allows easy migration while using a passed-through fast
  networking device by falling back to a virtio-net device for the duration of
  the migration. It is like a simple version of a bond, the difference is that it
  requires no configuration in the guest. When a guest is live-migrated to
  another host QEMU will unplug the primary device via the PCIe based hotplug
  handler and traffic will go through the virtio-net device.  On the target
  system the primary device will be automatically plugged back and the
  net_failover module registers it again as the primary device.

Usage
-----

  The primary device can be hotplugged or be part of the startup configuration

  -device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:00:6f:55:cc, \
    bus=root2,failover=on

  With the parameter failover=on the VIRTIO_NET_F_STANDBY feature will be enabled.

  -device vfio-pci,host=5e:00.2,id=hostdev0,bus=root1,failover_pair_id=net1

  failover_pair_id references the id of the virtio-net standby device. This
  is only for pairing the devices within QEMU. The guest kernel module
  net_failover will match devices with identical MAC addresses.

Hotplug
-------

  Both primary and standby device can be hotplugged via the QEMU monitor.  Note
  that if the virtio-net device is plugged first a warning will be issued that it
  couldn't find the primary device.

Migration
---------

  A new migration state wait-unplug was added for this feature. If failover primary
  devices are present in the configuration, migration will go into this state.
  It will wait until the device unplug is completed in the guest and then move into
  active state. On the target system the primary devices will be automatically hotplugged
  when the feature bit was negotiated for the virtio-net standby device.
