linux-stable/drivers/net/ethernet/mellanox/mlxsw
Vladimir Oltean 69bfac968a net: switchdev: add a context void pointer to struct switchdev_notifier_info
In the case where the driver asks for a replay of a certain type of
event (port object or attribute) for a bridge port that is a LAG, it may
do so because this port has just joined the LAG.

But there might already be other switchdev ports in that LAG, and it is
preferable that those preexisting switchdev ports do not act upon the
replayed event.

The solution is to add a context to switchdev events, which is NULL most
of the time (when the bridge layer initiates the call) but which can be
set to a value controlled by the switchdev driver when a replay is
requested. The driver can then check the context to figure out if all
ports within the LAG should act upon the switchdev event, or just the
ones that match the context.

We have to modify all switchdev_handle_* helper functions as well as the
prototypes in the drivers that use these helpers too, because these
helpers hide the underlying struct switchdev_notifier_info from us and
there is no way to retrieve the context otherwise.

The context structure will be populated and used in later patches.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-06-28 14:09:03 -07:00
..
cmd.h
core.c mlxsw: core: use PSID string define in devlink info 2021-05-27 14:51:18 -07:00
core.h
core_acl_flex_actions.c mlxsw: core_acl_flex_actions: Add mirror sampler action 2021-03-16 15:32:22 -07:00
core_acl_flex_actions.h mlxsw: core_acl_flex_actions: Add mirror sampler action 2021-03-16 15:32:22 -07:00
core_acl_flex_keys.c
core_acl_flex_keys.h
core_env.c mlxsw: core_env: Avoid unnecessary memcpy()s 2021-06-24 15:41:55 -07:00
core_env.h mlxsw: core: Add support for module EEPROM read by page 2021-06-21 12:33:05 -07:00
core_hwmon.c mlxsw: reg: Extend MTMP register with new threshold field 2021-06-08 14:39:07 -07:00
core_thermal.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-06-18 19:47:02 -07:00
emad.h
i2c.c
i2c.h
item.h
Kconfig mlxsw: Remove Mellanox SwitchX-2 ASIC support 2021-05-17 15:15:46 -07:00
Makefile mlxsw: Remove Mellanox SwitchX-2 ASIC support 2021-05-17 15:15:46 -07:00
minimal.c mlxsw: core: Add support for module EEPROM read by page 2021-06-21 12:33:05 -07:00
pci.c mlxsw: Remove Mellanox SwitchX-2 ASIC support 2021-05-17 15:15:46 -07:00
pci.h mlxsw: Remove Mellanox SwitchX-2 ASIC support 2021-05-17 15:15:46 -07:00
pci_hw.h
port.h
reg.h mlxsw: reg: Document possible MCIA status values 2021-06-21 12:33:04 -07:00
resources.h
spectrum.c mlxsw: Verify the accessed index doesn't exceed the array length 2021-05-17 15:15:46 -07:00
spectrum.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-09 20:48:35 -07:00
spectrum1_acl_tcam.c
spectrum1_kvdl.c
spectrum1_mr_tcam.c
spectrum2_acl_tcam.c
spectrum2_kvdl.c
spectrum2_mr_tcam.c
spectrum_acl.c mlxsw: spectrum_acl: Offload FLOW_ACTION_SAMPLE 2021-03-16 15:32:22 -07:00
spectrum_acl_atcam.c
spectrum_acl_bloom_filter.c
spectrum_acl_ctcam.c
spectrum_acl_erp.c
spectrum_acl_flex_actions.c mlxsw: spectrum_acl: Offload FLOW_ACTION_SAMPLE 2021-03-16 15:32:22 -07:00
spectrum_acl_flex_actions.h
spectrum_acl_flex_keys.c
spectrum_acl_tcam.c
spectrum_acl_tcam.h
spectrum_buffers.c mlxsw: spectrum_buffers: Switch function arguments 2021-05-17 15:15:46 -07:00
spectrum_cnt.c
spectrum_cnt.h
spectrum_dcb.c
spectrum_dpipe.c mlxsw: spectrum_router: Pass payload pointer to nexthop update function 2021-03-24 16:34:57 -07:00
spectrum_dpipe.h
spectrum_ethtool.c mlxsw: core: Add support for module EEPROM read by page 2021-06-21 12:33:05 -07:00
spectrum_fid.c
spectrum_flow.c
spectrum_flower.c mlxsw: spectrum_acl: Offload FLOW_ACTION_SAMPLE 2021-03-16 15:32:22 -07:00
spectrum_ipip.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-09 20:48:35 -07:00
spectrum_ipip.h mlxsw: spectrum_router: Pass payload pointer to nexthop update function 2021-03-24 16:34:57 -07:00
spectrum_kvdl.c
spectrum_matchall.c mlxsw: spectrum_matchall: Perform priority checks earlier 2021-03-29 13:37:25 -07:00
spectrum_mr.c mlxsw: spectrum_mr: Update egress RIF list before route's action 2021-05-06 17:19:29 -07:00
spectrum_mr.h
spectrum_mr_tcam.c
spectrum_mr_tcam.h
spectrum_nve.c mlxsw: spectrum: Fix ECN marking in tunnel decapsulation 2021-03-29 13:29:49 -07:00
spectrum_nve.h mlxsw: Allow 802.1d and .1ad VxLAN bridges to coexist on Spectrum>=2 2021-03-17 12:26:28 -07:00
spectrum_nve_vxlan.c mlxsw: Allow 802.1d and .1ad VxLAN bridges to coexist on Spectrum>=2 2021-03-17 12:26:28 -07:00
spectrum_policer.c
spectrum_ptp.c mlxsw: Verify the accessed index doesn't exceed the array length 2021-05-17 15:15:46 -07:00
spectrum_ptp.h
spectrum_qdisc.c mlxsw: spectrum_qdisc: Pass handle, not band number to find_class() 2021-06-07 13:11:41 -07:00
spectrum_router.c mlxsw: spectrum_router: remove redundant continue statement 2021-06-16 12:46:21 -07:00
spectrum_router.h mlxsw: spectrum_router: Remove abort mechanism 2021-06-08 14:39:06 -07:00
spectrum_router_xm.c
spectrum_span.c
spectrum_span.h
spectrum_switchdev.c net: switchdev: add a context void pointer to struct switchdev_notifier_info 2021-06-28 14:09:03 -07:00
spectrum_switchdev.h
spectrum_trap.c mlxsw: spectrum_acl: Offload FLOW_ACTION_SAMPLE 2021-03-16 15:32:22 -07:00
spectrum_trap.h
trap.h
txheader.h