1 # SPDX-License-Identifier: GPL-2.0-only
4 tristate "Distributed Switch Architecture"
5 depends on BRIDGE || BRIDGE=n
6 depends on HSR || HSR=n
7 depends on INET && NETDEVICES
14 Say Y if you want to enable support for the hardware switches supported
15 by the Distributed Switch Architecture.
19 # Drivers must select the appropriate tagging format(s)
21 config NET_DSA_TAG_NONE
22 tristate "No-op tag driver"
24 Say Y or M if you want to enable support for switches which don't tag
25 frames over the CPU port.
27 config NET_DSA_TAG_AR9331
28 tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
30 Say Y or M if you want to enable support for tagging frames for
31 the Atheros AR9331 SoC with built-in switch.
33 config NET_DSA_TAG_BRCM_COMMON
37 config NET_DSA_TAG_BRCM
38 tristate "Tag driver for Broadcom switches using in-frame headers"
39 select NET_DSA_TAG_BRCM_COMMON
41 Say Y if you want to enable support for tagging frames for the
42 Broadcom switches which place the tag after the MAC source address.
44 config NET_DSA_TAG_BRCM_LEGACY
45 tristate "Tag driver for Broadcom legacy switches using in-frame headers"
46 select NET_DSA_TAG_BRCM_COMMON
48 Say Y if you want to enable support for tagging frames for the
49 Broadcom legacy switches which place the tag after the MAC source
52 config NET_DSA_TAG_BRCM_PREPEND
53 tristate "Tag driver for Broadcom switches using prepended headers"
54 select NET_DSA_TAG_BRCM_COMMON
56 Say Y if you want to enable support for tagging frames for the
57 Broadcom switches which places the tag before the Ethernet header
60 config NET_DSA_TAG_HELLCREEK
61 tristate "Tag driver for Hirschmann Hellcreek TSN switches"
63 Say Y or M if you want to enable support for tagging frames
64 for the Hirschmann Hellcreek TSN switches.
66 config NET_DSA_TAG_GSWIP
67 tristate "Tag driver for Lantiq / Intel GSWIP switches"
69 Say Y or M if you want to enable support for tagging frames for the
70 Lantiq / Intel GSWIP switches.
72 config NET_DSA_TAG_DSA_COMMON
75 config NET_DSA_TAG_DSA
76 tristate "Tag driver for Marvell switches using DSA headers"
77 select NET_DSA_TAG_DSA_COMMON
79 Say Y or M if you want to enable support for tagging frames for the
80 Marvell switches which use DSA headers.
82 config NET_DSA_TAG_EDSA
83 tristate "Tag driver for Marvell switches using EtherType DSA headers"
84 select NET_DSA_TAG_DSA_COMMON
86 Say Y or M if you want to enable support for tagging frames for the
87 Marvell switches which use EtherType DSA headers.
89 config NET_DSA_TAG_MTK
90 tristate "Tag driver for Mediatek switches"
92 Say Y or M if you want to enable support for tagging frames for
95 config NET_DSA_TAG_KSZ
96 tristate "Tag driver for Microchip 8795/937x/9477/9893 families of switches"
98 Say Y if you want to enable support for tagging frames for the
99 Microchip 8795/937x/9477/9893 families of switches.
101 config NET_DSA_TAG_OCELOT
102 tristate "Tag driver for Ocelot family of switches, using NPI port"
105 Say Y or M if you want to enable NPI tagging for the Ocelot switches
106 (VSC7511, VSC7512, VSC7513, VSC7514, VSC9953, VSC9959). In this mode,
107 the frames over the Ethernet CPU port are prepended with a
108 hardware-defined injection/extraction frame header. Flow control
109 (PAUSE frames) over the CPU port is not supported when operating in
112 config NET_DSA_TAG_OCELOT_8021Q
113 tristate "Tag driver for Ocelot family of switches, using VLAN"
115 Say Y or M if you want to enable support for tagging frames with a
116 custom VLAN-based header. Frames that require timestamping, such as
117 PTP, are not delivered over Ethernet but over register-based MMIO.
118 Flow control over the CPU port is functional in this mode. When using
119 this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for
122 config NET_DSA_TAG_QCA
123 tristate "Tag driver for Qualcomm Atheros QCA8K switches"
125 Say Y or M if you want to enable support for tagging frames for
126 the Qualcomm Atheros QCA8K switches.
128 config NET_DSA_TAG_RTL4_A
129 tristate "Tag driver for Realtek 4 byte protocol A tags"
131 Say Y or M if you want to enable support for tagging frames for the
132 Realtek switches with 4 byte protocol A tags, sich as found in
133 the Realtek RTL8366RB.
135 config NET_DSA_TAG_RTL8_4
136 tristate "Tag driver for Realtek 8 byte protocol 4 tags"
138 Say Y or M if you want to enable support for tagging frames for Realtek
139 switches with 8 byte protocol 4 tags, such as the Realtek RTL8365MB-VC.
141 config NET_DSA_TAG_RZN1_A5PSW
142 tristate "Tag driver for Renesas RZ/N1 A5PSW switch"
144 Say Y or M if you want to enable support for tagging frames for
145 Renesas RZ/N1 embedded switch that uses an 8 byte tag located after
146 destination MAC address.
148 config NET_DSA_TAG_LAN9303
149 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
151 Say Y or M if you want to enable support for tagging frames for the
152 SMSC/Microchip LAN9303 family of switches.
154 config NET_DSA_TAG_SJA1105
155 tristate "Tag driver for NXP SJA1105 switches"
158 Say Y or M if you want to enable support for tagging frames with the
159 NXP SJA1105 switch family. Both the native tagging protocol (which
160 is only for link-local traffic) as well as non-native tagging (based
161 on a custom 802.1Q VLAN header) are available.
163 config NET_DSA_TAG_TRAILER
164 tristate "Tag driver for switches using a trailer tag"
166 Say Y or M if you want to enable support for tagging frames at
167 with a trailed. e.g. Marvell 88E6060.
169 config NET_DSA_TAG_XRS700X
170 tristate "Tag driver for XRS700x switches"
172 Say Y or M if you want to enable support for tagging frames for
173 Arrow SpeedChips XRS700x switches that use a single byte tag trailer.