xref: /linux/net/dsa/Kconfig (revision 0c8a32eed1625a65798286fb73fea8710a908545)
1# SPDX-License-Identifier: GPL-2.0-only
2config HAVE_NET_DSA
3	def_bool y
4	depends on INET && NETDEVICES && !S390
5
6# Drivers must select NET_DSA and the appropriate tagging format
7
8menuconfig NET_DSA
9	tristate "Distributed Switch Architecture"
10	depends on HAVE_NET_DSA
11	depends on BRIDGE || BRIDGE=n
12	select GRO_CELLS
13	select NET_SWITCHDEV
14	select PHYLINK
15	select NET_DEVLINK
16	help
17	  Say Y if you want to enable support for the hardware switches supported
18	  by the Distributed Switch Architecture.
19
20if NET_DSA
21
22# tagging formats
23config NET_DSA_TAG_8021Q
24	tristate
25	select VLAN_8021Q
26	help
27	  Unlike the other tagging protocols, the 802.1Q config option simply
28	  provides helpers for other tagging implementations that might rely on
29	  VLAN in one way or another. It is not a complete solution.
30
31	  Drivers which use these helpers should select this as dependency.
32
33config NET_DSA_TAG_AR9331
34	tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
35	help
36	  Say Y or M if you want to enable support for tagging frames for
37	  the Atheros AR9331 SoC with built-in switch.
38
39config NET_DSA_TAG_BRCM_COMMON
40	tristate
41	default n
42
43config NET_DSA_TAG_BRCM
44	tristate "Tag driver for Broadcom switches using in-frame headers"
45	select NET_DSA_TAG_BRCM_COMMON
46	help
47	  Say Y if you want to enable support for tagging frames for the
48	  Broadcom switches which place the tag after the MAC source address.
49
50
51config NET_DSA_TAG_BRCM_PREPEND
52	tristate "Tag driver for Broadcom switches using prepended headers"
53	select NET_DSA_TAG_BRCM_COMMON
54	help
55	  Say Y if you want to enable support for tagging frames for the
56	  Broadcom switches which places the tag before the Ethernet header
57	  (prepended).
58
59config NET_DSA_TAG_HELLCREEK
60	tristate "Tag driver for Hirschmann Hellcreek TSN switches"
61	help
62	  Say Y or M if you want to enable support for tagging frames
63	  for the Hirschmann Hellcreek TSN switches.
64
65config NET_DSA_TAG_GSWIP
66	tristate "Tag driver for Lantiq / Intel GSWIP switches"
67	help
68	  Say Y or M if you want to enable support for tagging frames for the
69	  Lantiq / Intel GSWIP switches.
70
71config NET_DSA_TAG_DSA_COMMON
72	tristate
73
74config NET_DSA_TAG_DSA
75	tristate "Tag driver for Marvell switches using DSA headers"
76	select NET_DSA_TAG_DSA_COMMON
77	help
78	  Say Y or M if you want to enable support for tagging frames for the
79	  Marvell switches which use DSA headers.
80
81config NET_DSA_TAG_EDSA
82	tristate "Tag driver for Marvell switches using EtherType DSA headers"
83	select NET_DSA_TAG_DSA_COMMON
84	help
85	  Say Y or M if you want to enable support for tagging frames for the
86	  Marvell switches which use EtherType DSA headers.
87
88config NET_DSA_TAG_MTK
89	tristate "Tag driver for Mediatek switches"
90	help
91	  Say Y or M if you want to enable support for tagging frames for
92	  Mediatek switches.
93
94config NET_DSA_TAG_KSZ
95	tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
96	help
97	  Say Y if you want to enable support for tagging frames for the
98	  Microchip 8795/9477/9893 families of switches.
99
100config NET_DSA_TAG_RTL4_A
101	tristate "Tag driver for Realtek 4 byte protocol A tags"
102	help
103	  Say Y or M if you want to enable support for tagging frames for the
104	  Realtek switches with 4 byte protocol A tags, sich as found in
105	  the Realtek RTL8366RB.
106
107config NET_DSA_TAG_OCELOT
108	tristate "Tag driver for Ocelot family of switches"
109	select PACKING
110	help
111	  Say Y or M if you want to enable support for tagging frames for the
112	  Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959).
113
114config NET_DSA_TAG_QCA
115	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
116	help
117	  Say Y or M if you want to enable support for tagging frames for
118	  the Qualcomm Atheros QCA8K switches.
119
120config NET_DSA_TAG_LAN9303
121	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
122	help
123	  Say Y or M if you want to enable support for tagging frames for the
124	  SMSC/Microchip LAN9303 family of switches.
125
126config NET_DSA_TAG_SJA1105
127	tristate "Tag driver for NXP SJA1105 switches"
128	select NET_DSA_TAG_8021Q
129	select PACKING
130	help
131	  Say Y or M if you want to enable support for tagging frames with the
132	  NXP SJA1105 switch family. Both the native tagging protocol (which
133	  is only for link-local traffic) as well as non-native tagging (based
134	  on a custom 802.1Q VLAN header) are available.
135
136config NET_DSA_TAG_TRAILER
137	tristate "Tag driver for switches using a trailer tag"
138	help
139	  Say Y or M if you want to enable support for tagging frames at
140	  with a trailed. e.g. Marvell 88E6060.
141
142endif
143