linux-stable/drivers/s390/net
Alexandra Winter 4e20e73e63 s390/qeth: Switchdev event handler
QETH HiperSockets devices with LEARNING_SYNC capability can be used
to construct a linux bridge with:
2 isolated southbound interfaces:
     a) a default network interface
     b) a LEARNING-SYNC HiperSockets interface
and 1 non-isolated northbound interface. This is called a 'HiperSockets
Converged Interface' (HSCI).
The existing LEARNING_SYNC functionality is used to update the bridge fdb
with MAC addresses that should be sent-out via the HiperSockets interface,
instead of the default network interface.

Add handling of switchdev events SWITCHDEV_FDB_ADD_TO_DEVICE and
SWITCHDEV_FDB_DEL_TO_DEVICE to the qeth LEARNING_SYNC functionality. Thus
if the northbound bridgeport of an HSCI doesn't only have a single static
MAC address, but instead is a learning bridgeport, work is enqueued, so
the HiperSockets virtual switch (that is external to this Linux instance)
can update its fdb.

When BRIDGE is a loadable module, QETH_L2 mustn't be built-in:

drivers/s390/net/qeth_l2_main.o: in function 'qeth_l2_switchdev_event':
drivers/s390/net/qeth_l2_main.c:927: undefined reference to
'br_port_flag_is_set'

Add Kconfig dependency to enforce usable configurations.

Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-08-07 09:44:02 +01:00
..
ctcm_dbug.c
ctcm_dbug.h
ctcm_fsms.c s390: Fix fall-through warnings for Clang 2021-07-13 14:43:09 -05:00
ctcm_fsms.h s390/ctcm: remove orphaned function declarations 2020-10-02 16:22:49 -07:00
ctcm_main.c s390/ctcm: Use GFP_ATOMIC in ctcmpc_tx(). 2020-12-01 16:56:02 -08:00
ctcm_main.h s390/ctcm: Use GFP_ATOMIC in ctcmpc_tx(). 2020-12-01 16:56:02 -08:00
ctcm_mpc.c s390/ctcm: Use explicit allocation mask in ctcmpc_unpack_skb(). 2020-12-01 16:56:01 -08:00
ctcm_mpc.h s390/ctcm: remove orphaned function declarations 2020-10-02 16:22:49 -07:00
ctcm_sysfs.c
fsm.c
fsm.h
ism.h net/smc: introduce System Enterprise ID (SEID) 2020-09-28 15:19:02 -07:00
ism_drv.c s390/ism: fix incorrect system EID 2020-10-26 16:29:14 -07:00
Kconfig s390/qeth: Switchdev event handler 2021-08-07 09:44:02 +01:00
lcs.c s390/net: remove pm ops from ccwgroup drivers 2020-05-19 12:48:39 -07:00
lcs.h
Makefile
netiucv.c s390/netiuvc: get rid of forward declarations 2021-06-12 13:06:33 -07:00
qeth_core.h qeth: use ndo_siocdevprivate 2021-07-27 20:11:44 +01:00
qeth_core_main.c qeth: use ndo_siocdevprivate 2021-07-27 20:11:44 +01:00
qeth_core_mpc.c s390/qeth: remove OSN support 2021-07-20 06:17:06 -07:00
qeth_core_mpc.h s390/qeth: clean up QETH_PROT_* naming 2021-07-20 06:17:06 -07:00
qeth_core_sys.c s390/qeth: remove OSN support 2021-07-20 06:17:06 -07:00
qeth_ethtool.c s390/qeth: remove OSN support 2021-07-20 06:17:06 -07:00
qeth_l2.h s390/qeth: use dev->groups for common sysfs attributes 2020-12-07 06:55:21 -08:00
qeth_l2_main.c s390/qeth: Switchdev event handler 2021-08-07 09:44:02 +01:00
qeth_l2_sys.c s390/qeth: use dev->groups for common sysfs attributes 2020-12-07 06:55:21 -08:00
qeth_l3.h s390/qeth: use dev->groups for common sysfs attributes 2020-12-07 06:55:21 -08:00
qeth_l3_main.c dev_ioctl: split out ndo_eth_ioctl 2021-07-27 20:11:45 +01:00
qeth_l3_sys.c s390/qeth: use dev->groups for common sysfs attributes 2020-12-07 06:55:21 -08:00
smsgiucv.c s390/net: remove pm support from iucv drivers 2020-05-19 12:48:39 -07:00
smsgiucv.h
smsgiucv_app.c