aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/Kconfig
diff options
context:
space:
mode:
authorSridhar Samudrala <sridhar.samudrala@intel.com>2018-05-24 09:55:17 -0700
committerDavid S. Miller <davem@davemloft.net>2018-05-28 22:59:54 -0400
commitba5e4426e80e0435358c7117c339e6a4c22c34ad (patch)
tree15c0a73a03f040e43dac06f46c74abc10a40103c /drivers/net/Kconfig
parentvirtio_net: Introduce VIRTIO_NET_F_STANDBY feature bit (diff)
downloadlinux-dev-ba5e4426e80e0435358c7117c339e6a4c22c34ad.tar.xz
linux-dev-ba5e4426e80e0435358c7117c339e6a4c22c34ad.zip
virtio_net: Extend virtio to use VF datapath when available
This patch enables virtio_net to switch over to a VF datapath when STANDBY feature is enabled and a VF netdev is present with the same MAC address. It allows live migration of a VM with a direct attached VF without the need to setup a bond/team between a VF and virtio net device in the guest. It uses the API that is exported by the net_failover driver to create and and destroy a master failover netdev. When STANDBY feature is enabled, an additional netdev(failover netdev) is created that acts as a master device and tracks the state of the 2 lower netdevs. The original virtio_net netdev is marked as 'standby' netdev and a passthru device with the same MAC is registered as 'primary' netdev. The hypervisor needs to unplug the VF device from the guest on the source host and reset the MAC filter of the VF to initiate failover of datapath to virtio before starting the migration. After the migration is completed, the destination hypervisor sets the MAC filter on the VF and plugs it back to the guest to switch over to VF datapath. This patch is based on the discussion initiated by Jesse on this thread. https://marc.info/?l=linux-virtualization&m=151189725224231&w=2 Signed-off-by: Sridhar Samudrala <sridhar.samudrala@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/Kconfig')
-rw-r--r--drivers/net/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 2cdaff90a9ec..d03775100f7d 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -332,6 +332,7 @@ config VETH
config VIRTIO_NET
tristate "Virtio network driver"
depends on VIRTIO
+ select NET_FAILOVER
---help---
This is the virtual network driver for virtio. It can be used with
QEMU based VMMs (like KVM or Xen). Say Y or M.