File Index
Files and directories
Sign in
FILE

am65_nuss_cpsw_switchdev.rst

File preview with syntax highlighting.

linux-6.19.14/Documentation/networking/device_drivers/ethernet/ti/am65_nuss_cpsw_switchdev.rst RESTRUCTUREDTEXT
  1.. SPDX-License-Identifier: GPL-2.0
  2
  3===================================================================
  4Texas Instruments K3 AM65 CPSW NUSS switchdev based ethernet driver
  5===================================================================
  6
  7:Version: 1.0
  8
  9Port renaming
 10=============
 11
 12In order to rename via udev::
 13
 14    ip -d link show dev sw0p1 | grep switchid
 15
 16    SUBSYSTEM=="net", ACTION=="add", ATTR{phys_switch_id}==<switchid>, \
 17	    ATTR{phys_port_name}!="", NAME="sw0$attr{phys_port_name}"
 18
 19
 20Multi mac mode
 21==============
 22
 23- The driver is operating in multi-mac mode by default, thus
 24  working as N individual network interfaces.
 25
 26Devlink configuration parameters
 27================================
 28
 29See Documentation/networking/devlink/am65-nuss-cpsw-switch.rst
 30
 31Enabling "switch"
 32=================
 33
 34The Switch mode can be enabled by configuring devlink driver parameter
 35"switch_mode" to 1/true::
 36
 37        devlink dev param set platform/c000000.ethernet \
 38        name switch_mode value true cmode runtime
 39
 40This can be done regardless of the state of Port's netdev devices - UP/DOWN, but
 41Port's netdev devices have to be in UP before joining to the bridge to avoid
 42overwriting of bridge configuration as CPSW switch driver completely reloads its
 43configuration when first port changes its state to UP.
 44
 45When both interfaces have joined the bridge - CPSW switch driver will enable
 46marking packets with offload_fwd_mark flag.
 47
 48All configuration is implemented via switchdev API.
 49
 50Bridge setup
 51============
 52
 53::
 54
 55        devlink dev param set platform/c000000.ethernet \
 56        name switch_mode value true cmode runtime
 57
 58	ip link add name br0 type bridge
 59	ip link set dev br0 type bridge ageing_time 1000
 60	ip link set dev sw0p1 up
 61	ip link set dev sw0p2 up
 62	ip link set dev sw0p1 master br0
 63	ip link set dev sw0p2 master br0
 64
 65	[*] bridge vlan add dev br0 vid 1 pvid untagged self
 66
 67	[*] if vlan_filtering=1. where default_pvid=1
 68
 69	Note. Steps [*] are mandatory.
 70
 71
 72On/off STP
 73==========
 74
 75::
 76
 77	ip link set dev BRDEV type bridge stp_state 1/0
 78
 79VLAN configuration
 80==================
 81
 82::
 83
 84  bridge vlan add dev br0 vid 1 pvid untagged self <---- add cpu port to VLAN 1
 85
 86Note. This step is mandatory for bridge/default_pvid.
 87
 88Add extra VLANs
 89===============
 90
 91 1. untagged::
 92
 93	bridge vlan add dev sw0p1 vid 100 pvid untagged master
 94	bridge vlan add dev sw0p2 vid 100 pvid untagged master
 95	bridge vlan add dev br0 vid 100 pvid untagged self <---- Add cpu port to VLAN100
 96
 97 2. tagged::
 98
 99	bridge vlan add dev sw0p1 vid 100 master
100	bridge vlan add dev sw0p2 vid 100 master
101	bridge vlan add dev br0 vid 100 pvid tagged self <---- Add cpu port to VLAN100
102
103FDBs
104----
105
106FDBs are automatically added on the appropriate switch port upon detection
107
108Manually adding FDBs::
109
110    bridge fdb add aa:bb:cc:dd:ee:ff dev sw0p1 master vlan 100
111    bridge fdb add aa:bb:cc:dd:ee:fe dev sw0p2 master <---- Add on all VLANs
112
113MDBs
114----
115
116MDBs are automatically added on the appropriate switch port upon detection
117
118Manually adding MDBs::
119
120  bridge mdb add dev br0 port sw0p1 grp 239.1.1.1 permanent vid 100
121  bridge mdb add dev br0 port sw0p1 grp 239.1.1.1 permanent <---- Add on all VLANs
122
123Multicast flooding
124==================
125CPU port mcast_flooding is always on
126
127Turning flooding on/off on switch ports:
128bridge link set dev sw0p1 mcast_flood on/off
129
130Access and Trunk port
131=====================
132
133::
134
135 bridge vlan add dev sw0p1 vid 100 pvid untagged master
136 bridge vlan add dev sw0p2 vid 100 master
137
138
139 bridge vlan add dev br0 vid 100 self
140 ip link add link br0 name br0.100 type vlan id 100
141
142Note. Setting PVID on Bridge device itself works only for
143default VLAN (default_pvid).
~/ Read-only file preview.