summaryrefslogtreecommitdiffstats
path: root/net/dsa/Kconfig
blob: 2dfe9063613feb3251f3ec9f96adc87d2e0cd47a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
# SPDX-License-Identifier: GPL-2.0-only

menuconfig NET_DSA
	tristate "Distributed Switch Architecture"
	depends on BRIDGE || BRIDGE=n
	depends on HSR || HSR=n
	depends on INET && NETDEVICES
	select GRO_CELLS
	select NET_SWITCHDEV
	select PHYLINK
	select NET_DEVLINK
	imply NET_SELFTESTS
	help
	  Say Y if you want to enable support for the hardware switches supported
	  by the Distributed Switch Architecture.

if NET_DSA

# Drivers must select the appropriate tagging format(s)

config NET_DSA_TAG_NONE
	tristate "No-op tag driver"
	help
	  Say Y or M if you want to enable support for switches which don't tag
	  frames over the CPU port.

config NET_DSA_TAG_AR9331
	tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
	help
	  Say Y or M if you want to enable support for tagging frames for
	  the Atheros AR9331 SoC with built-in switch.

config NET_DSA_TAG_BRCM_COMMON
	tristate
	default n

config NET_DSA_TAG_BRCM
	tristate "Tag driver for Broadcom switches using in-frame headers"
	select NET_DSA_TAG_BRCM_COMMON
	help
	  Say Y if you want to enable support for tagging frames for the
	  Broadcom switches which place the tag after the MAC source address.

config NET_DSA_TAG_BRCM_LEGACY
	tristate "Tag driver for Broadcom legacy switches using in-frame headers"
	select NET_DSA_TAG_BRCM_COMMON
	help
	  Say Y if you want to enable support for tagging frames for the
	  Broadcom legacy switches which place the tag after the MAC source
	  address.

config NET_DSA_TAG_BRCM_PREPEND
	tristate "Tag driver for Broadcom switches using prepended headers"
	select NET_DSA_TAG_BRCM_COMMON
	help
	  Say Y if you want to enable support for tagging frames for the
	  Broadcom switches which places the tag before the Ethernet header
	  (prepended).

config NET_DSA_TAG_HELLCREEK
	tristate "Tag driver for Hirschmann Hellcreek TSN switches"
	help
	  Say Y or M if you want to enable support for tagging frames
	  for the Hirschmann Hellcreek TSN switches.

config NET_DSA_TAG_GSWIP
	tristate "Tag driver for Lantiq / Intel GSWIP switches"
	help
	  Say Y or M if you want to enable support for tagging frames for the
	  Lantiq / Intel GSWIP switches.

config NET_DSA_TAG_DSA_COMMON
	tristate

config NET_DSA_TAG_DSA
	tristate "Tag driver for Marvell switches using DSA headers"
	select NET_DSA_TAG_DSA_COMMON
	help
	  Say Y or M if you want to enable support for tagging frames for the
	  Marvell switches which use DSA headers.

config NET_DSA_TAG_EDSA
	tristate "Tag driver for Marvell switches using EtherType DSA headers"
	select NET_DSA_TAG_DSA_COMMON
	help
	  Say Y or M if you want to enable support for tagging frames for the
	  Marvell switches which use EtherType DSA headers.

config NET_DSA_TAG_MTK
	tristate "Tag driver for Mediatek switches"
	help
	  Say Y or M if you want to enable support for tagging frames for
	  Mediatek switches.

config NET_DSA_TAG_KSZ
	tristate "Tag driver for Microchip 8795/937x/9477/9893 families of switches"
	help
	  Say Y if you want to enable support for tagging frames for the
	  Microchip 8795/937x/9477/9893 families of switches.

config NET_DSA_TAG_OCELOT
	tristate "Tag driver for Ocelot family of switches, using NPI port"
	select PACKING
	help
	  Say Y or M if you want to enable NPI tagging for the Ocelot switches
	  (VSC7511, VSC7512, VSC7513, VSC7514, VSC9953, VSC9959). In this mode,
	  the frames over the Ethernet CPU port are prepended with a
	  hardware-defined injection/extraction frame header.  Flow control
	  (PAUSE frames) over the CPU port is not supported when operating in
	  this mode.

config NET_DSA_TAG_OCELOT_8021Q
	tristate "Tag driver for Ocelot family of switches, using VLAN"
	help
	  Say Y or M if you want to enable support for tagging frames with a
	  custom VLAN-based header. Frames that require timestamping, such as
	  PTP, are not delivered over Ethernet but over register-based MMIO.
	  Flow control over the CPU port is functional in this mode. When using
	  this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for
	  use with tc-flower.

config NET_DSA_TAG_QCA
	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
	help
	  Say Y or M if you want to enable support for tagging frames for
	  the Qualcomm Atheros QCA8K switches.

config NET_DSA_TAG_RTL4_A
	tristate "Tag driver for Realtek 4 byte protocol A tags"
	help
	  Say Y or M if you want to enable support for tagging frames for the
	  Realtek switches with 4 byte protocol A tags, such as found in
	  the Realtek RTL8366RB.

config NET_DSA_TAG_RTL8_4
	tristate "Tag driver for Realtek 8 byte protocol 4 tags"
	help
	  Say Y or M if you want to enable support for tagging frames for Realtek
	  switches with 8 byte protocol 4 tags, such as the Realtek RTL8365MB-VC.

config NET_DSA_TAG_RZN1_A5PSW
	tristate "Tag driver for Renesas RZ/N1 A5PSW switch"
	help
	  Say Y or M if you want to enable support for tagging frames for
	  Renesas RZ/N1 embedded switch that uses an 8 byte tag located after
	  destination MAC address.

config NET_DSA_TAG_LAN9303
	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
	help
	  Say Y or M if you want to enable support for tagging frames for the
	  SMSC/Microchip LAN9303 family of switches.

config NET_DSA_TAG_SJA1105
	tristate "Tag driver for NXP SJA1105 switches"
	select PACKING
	help
	  Say Y or M if you want to enable support for tagging frames with the
	  NXP SJA1105 switch family. Both the native tagging protocol (which
	  is only for link-local traffic) as well as non-native tagging (based
	  on a custom 802.1Q VLAN header) are available.

config NET_DSA_TAG_TRAILER
	tristate "Tag driver for switches using a trailer tag"
	help
	  Say Y or M if you want to enable support for tagging frames at
	  with a trailed. e.g. Marvell 88E6060.

config NET_DSA_TAG_VSC73XX_8021Q
	tristate "Tag driver for Microchip/Vitesse VSC73xx family of switches, using VLAN"
	help
	  Say Y or M if you want to enable support for tagging frames with a
	  custom VLAN-based header.

config NET_DSA_TAG_XRS700X
	tristate "Tag driver for XRS700x switches"
	help
	  Say Y or M if you want to enable support for tagging frames for
	  Arrow SpeedChips XRS700x switches that use a single byte tag trailer.

endif