linux/drivers/net/ethernet
Vladimir Oltean df291e54cc net: ocelot: support multiple bridges
The ocelot switches are a bit odd in that they do not have an STP state
to put the ports into. Instead, the forwarding configuration is delayed
from the typical port_bridge_join into stp_state_set, when the port enters
the BR_STATE_FORWARDING state.

I can only guess that the implementation of this quirk is the reason that
led to the simplification of the driver such that only one bridge could
be offloaded at a time.

We can simplify the data structures somewhat, and introduce a per-port
bridge device pointer and STP state, similar to how the LAG offload
works now (there we have a per-port bonding device pointer and TX
enabled state). This allows offloading multiple bridges with relative
ease, while still keeping in place the quirk to delay the programming of
the PGIDs.

We actually need this change now because we need to remove the bogus
restriction from ocelot_bridge_stp_state_set that ocelot->bridge_mask
needs to contain BIT(port), otherwise that function is a no-op.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-03-18 19:13:42 -07:00
..
3com net: 3c509: Fix fall-through warnings for Clang 2021-03-10 12:45:15 -08:00
8390
adaptec
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon ena: Update driver to use ethtool_sprintf 2021-03-17 11:42:31 -07:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-02-16 17:51:13 -08:00
apm
apple
aquantia net: ethernet: aquantia: Handle error cleanup of start on open 2021-02-11 14:38:06 -08:00
arc
atheros ethernet: alx: fix order of calls on resume 2021-03-05 15:05:33 -08:00
broadcom ethernet/broadcom:remove unneeded variable: "ret" 2021-03-17 14:38:45 -07:00
brocade bna: Update driver to use ethtool_sprintf 2021-03-17 11:42:31 -07:00
cadence net: macb: simplify clk_init with dev_err_probe 2021-03-17 15:10:05 -07:00
calxeda
cavium net/ethernet: convert to use module_platform_driver in octeon_mgmt.c 2021-01-29 19:02:43 -08:00
chelsio flow_offload: reject configuration of packet-per-second policing in offload drivers 2021-03-13 14:18:09 -08:00
cirrus
cisco net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
cortina
davicom net: davicom: Use platform_get_irq_optional() 2021-03-08 12:01:58 -08:00
dec
dlink
emulex net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
ezchip
faraday
freescale dpaa2-eth: fixup kdoc warnings 2021-03-16 15:29:49 -07:00
fujitsu
google
hisilicon hisilicon: Update drivers to use ethtool_sprintf 2021-03-17 11:42:30 -07:00
huawei
i825xx drivers: net: ethernet: i825xx: Fix couple of spellings in the file ether1.c 2021-02-04 19:07:55 -08:00
ibm Merge git://git.kernel.org:/pub/scm/linux/kernel/git/netdev/net 2021-03-09 17:15:56 -08:00
intel intel: Update drivers to use ethtool_sprintf 2021-03-17 11:42:30 -07:00
marvell octeontx2-af: Remove redundant initialization of pointer pfvf 2021-03-18 19:13:42 -07:00
mediatek net: ethernet: mtk-star-emac: fix wrong unmap in RX handling 2021-03-02 15:28:07 -08:00
mellanox mlxsw: Allow 802.1d and .1ad VxLAN bridges to coexist on Spectrum>=2 2021-03-17 12:26:28 -07:00
micrel net: ks8851: remove definition of DEBUG 2021-01-15 17:53:29 -08:00
microchip ethernet/microchip:remove unneeded variable: "ret" 2021-03-17 14:39:34 -07:00
moxa
mscc net: ocelot: support multiple bridges 2021-03-18 19:13:42 -07:00
myricom
natsemi
neterion net: ethernet: neterion: Fix a typo in the file s2io.c 2021-03-15 12:48:20 -07:00
netronome nfp: Replace nfp_pr_et with ethtool_sprintf 2021-03-17 11:42:30 -07:00
ni
nvidia
nxp
oki-semi ptp_pch: Move 'pch_*()' prototypes to shared header 2021-03-12 17:09:34 -08:00
packetengines
pasemi
pensando ionic: Update driver to use ethtool_sprintf 2021-03-17 11:42:31 -07:00
qlogic qed: Fix fall-through warnings for Clang 2021-03-10 12:45:15 -08:00
qualcomm net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum header 2021-03-15 20:41:58 -07:00
rdc
realtek r8169: fix r8168fp_adjust_ocp_cmd function 2021-03-05 13:00:38 -08:00
renesas sh_eth: place RX/TX descriptor *enum*s after their *struct*s 2021-03-12 17:50:42 -08:00
rocker net: switchdev: pass flags and mask to both {PRE_,}BRIDGE_FLAGS attributes 2021-02-12 17:08:04 -08:00
samsung net: phy: rename PHY_IGNORE_INTERRUPT to PHY_MAC_INTERRUPT 2021-02-15 15:20:49 -08:00
seeq
sfc sfc: reduce the number of requested xdp ev queues 2021-01-22 19:16:45 -08:00
sgi
silan
sis
smsc net: smsc911x: Make Runtime PM handling more fine-grained 2021-01-19 17:46:39 -08:00
socionext net, xdp: Introduce xdp_prepare_buff utility routine 2021-01-08 13:39:24 -08:00
stmicro stmmac: intel: Add PSE and PCH PTP clock source selection 2021-03-18 19:10:51 -07:00
sun net: cassini: Fix fall-through warnings for Clang 2021-03-10 12:45:15 -08:00
synopsys net: dwc-xlgmac: Fix spelling mistake in function name 2021-02-06 11:37:01 -08:00
tehuti net: tehuti: fix error return code in bdx_probe() 2021-03-05 12:59:32 -08:00
ti Devicetree updates for v5.12: 2021-02-22 10:05:12 -08:00
toshiba net: ethernet: toshiba: spider_net: Document a whole bunch of function parameters 2021-01-16 18:13:28 -08:00
tundra
via
wiznet
xilinx Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-02-16 17:51:13 -08:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig net: remove aurora nb8800 driver 2021-01-21 19:48:38 -08:00
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile net: remove aurora nb8800 driver 2021-01-21 19:48:38 -08:00