linux-sg2042/drivers/net/ethernet/ti
Ilias Apalodimas 111cf1ab4d net: ethernet: ti: introduce cpsw switchdev based driver part 2 - switch
CPSW switchdev based driver which is operating in dual-emac mode by
default, thus working as 2 individual network interfaces. The Switch mode
can be enabled by configuring devlink driver parameter "switch_mode" to 1:

	devlink dev param set platform/48484000.switch \
	name switch_mode value 1 cmode runtime

This can be done regardless of the state of Port's netdevs - UP/DOWN, but
Port's netdev devices have to be UP before joining the bridge to avoid
overwriting of bridge configuration as CPSW switch driver completely
reloads its configuration when first Port changes its state to UP.
When the both interfaces joined the bridge - CPSW switch driver will start
marking packets with offload_fwd_mark flag unless "ale_bypass=0".

All configuration is implemented via switchdev API and notifiers.
Supported:
 - SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS
 - SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS: BR_MCAST_FLOOD
 - SWITCHDEV_ATTR_ID_PORT_STP_STATE
 - SWITCHDEV_OBJ_ID_PORT_VLAN
 - SWITCHDEV_OBJ_ID_PORT_MDB
 - SWITCHDEV_OBJ_ID_HOST_MDB

Hence CPSW switchdev driver supports:
- FDB offloading
- MDB offloading
- VLAN filtering and offloading
- STP

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-11-20 11:25:24 -08:00
..
Kconfig net: ethernet: ti: introduce cpsw switchdev based driver part 1 - dual-emac 2019-11-20 11:25:23 -08:00
Makefile net: ethernet: ti: introduce cpsw switchdev based driver part 2 - switch 2019-11-20 11:25:24 -08:00
cpmac.c net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
cpsw-common.c net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
cpsw-phy-sel.c bus_find_device: Unify the match callback with class_find_device 2019-06-24 05:22:31 +02:00
cpsw.c net: ethernet: ti: cpsw: move set of common functions in cpsw_priv 2019-11-20 11:25:23 -08:00
cpsw.h net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
cpsw_ale.c net: ethernet: ti: ale: modify vlan/mdb api for switchdev 2019-11-20 11:25:23 -08:00
cpsw_ale.h net: ethernet: ti: ale: modify vlan/mdb api for switchdev 2019-11-20 11:25:23 -08:00
cpsw_ethtool.c net: ethernet: ti: cpsw: add XDP support 2019-07-08 14:58:04 -07:00
cpsw_new.c net: ethernet: ti: introduce cpsw switchdev based driver part 2 - switch 2019-11-20 11:25:24 -08:00
cpsw_priv.c net: ethernet: ti: introduce cpsw switchdev based driver part 1 - dual-emac 2019-11-20 11:25:23 -08:00
cpsw_priv.h net: ethernet: ti: introduce cpsw switchdev based driver part 2 - switch 2019-11-20 11:25:24 -08:00
cpsw_sl.c net: ethernet: ti: cpsw: introduce mac sl module api 2019-04-27 17:11:49 -04:00
cpsw_sl.h net: ethernet: ti: cpsw: introduce mac sl module api 2019-04-27 17:11:49 -04:00
cpsw_switchdev.c net: ethernet: ti: introduce cpsw switchdev based driver part 2 - switch 2019-11-20 11:25:24 -08:00
cpsw_switchdev.h net: ethernet: ti: introduce cpsw switchdev based driver part 2 - switch 2019-11-20 11:25:24 -08:00
cpts.c ethernet: ti: cpts: use ktime_get_real_ns helper 2019-11-07 19:59:16 -08:00
cpts.h net: ethernet: ti: cpts: add support for ext rftclk selection 2019-06-09 12:53:06 -07:00
davinci_cpdma.c davinci_cpdma: make cpdma_chan_split_pool static 2019-10-15 20:56:14 -07:00
davinci_cpdma.h net: ethernet: ti: davinci_cpdma: allow desc split while down 2019-07-08 14:58:04 -07:00
davinci_emac.c Driver Core and debugfs changes for 5.3-rc1 2019-07-12 12:24:03 -07:00
davinci_mdio.c drivers: net: davinci_mdio: fix return value check in davinci_mdio_probe() 2019-05-05 10:17:28 -07:00
netcp.h net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
netcp_core.c net: Use skb_frag_off accessors 2019-07-30 14:21:32 -07:00
netcp_ethss.c net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
netcp_sgmii.c net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
netcp_xgbepcsr.c net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
tlan.c ethernet: remove redundant memset 2019-07-15 11:06:27 -07:00
tlan.h