]> www.infradead.org Git - users/jedix/linux-maple.git/commit
net: Introduce generic failover module
authorSridhar Samudrala <sridhar.samudrala@intel.com>
Thu, 24 May 2018 16:55:13 +0000 (09:55 -0700)
committerBrian Maly <brian.maly@oracle.com>
Tue, 20 Nov 2018 22:12:27 +0000 (17:12 -0500)
commitb3bc7c163fc927349f18cf287df9358e1eca8546
tree4d7e74892df3f9c002b3b8e8883449b882d78ba1
parent5676b58b037f7ed4bf3f406231896f0e9c371151
net: Introduce generic failover module

The failover module provides a generic interface for paravirtual drivers
to register a netdev and a set of ops with a failover instance. The ops
are used as event handlers that get called to handle netdev register/
unregister/link change/name change events on slave pci ethernet devices
with the same mac address as the failover netdev.

This enables paravirtual drivers to use a VF as an accelerated low latency
datapath. It also allows migration of VMs with direct attached VFs by
failing over to the paravirtual datapath when the VF is unplugged.

Signed-off-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 30c8bd5aa8b2c78546c3e52337101b9c85879320)
Orabug: 28122104
Signed-off-by: Vijay Balakrishna <vijay.balakrishna@oracle.com>
Reviewed-by: Shannon Nelson <shannon.nelson@oracle.com>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Made a change to resolve build error as #arguments differs in UEK5
for routine netdev_master_upper_dev_link().

Signed-off-by: Brian Maly <brian.maly@oracle.com>
Conflicts:
include/linux/netdevice.h
(enum net_device_priv_flags list in UEK5 is a subset of upstream list,
merged conflicts manually)

net/Kconfig
(a config absent in UEK5, cherry-pick failed to resolve)

(cherry picked from commit 2c6fa9893c5d8b5e71103af40986d3fd952a28d7)
Signed-off-by: Vijay Balakrishna <vijay.balakrishna@oracle.com>
Reviewed-by: Si-Wei Liu <si-wei.liu@oracle.com>
Reviewed-by: Shannon Nelson <shannon.nelson@oracle.com>
Conflicts:
MAINTAINERS
(the surrounding list where new MAINTAINER for failover added by cherry-pick
differs between UEK5 and UEK4)
include/linux/netdevice.h
(there is additonal code only in UEK5 which cherry-pick inserted into UEK4,
only retained relevant code)
net/core/Makefile
(there are additional objects only in UEK5 which cherry-pick inserted into UEK4
makefile, only relevant object retained)

Signed-off-by: Brian Maly <brian.maly@oracle.com>
Documentation/networking/failover.rst [new file with mode: 0644]
MAINTAINERS
include/linux/netdevice.h
include/net/failover.h [new file with mode: 0644]
net/Kconfig
net/core/Makefile
net/core/failover.c [new file with mode: 0644]