xref: /openbmc/linux/net/dsa/Kconfig (revision 305c8388)
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_GSWIP
60	tristate "Tag driver for Lantiq / Intel GSWIP switches"
61	help
62	  Say Y or M if you want to enable support for tagging frames for the
63	  Lantiq / Intel GSWIP switches.
64
65config NET_DSA_TAG_DSA
66	tristate "Tag driver for Marvell switches using DSA headers"
67	help
68	  Say Y or M if you want to enable support for tagging frames for the
69	  Marvell switches which use DSA headers.
70
71config NET_DSA_TAG_EDSA
72	tristate "Tag driver for Marvell switches using EtherType DSA headers"
73	help
74	  Say Y or M if you want to enable support for tagging frames for the
75	  Marvell switches which use EtherType DSA headers.
76
77config NET_DSA_TAG_MTK
78	tristate "Tag driver for Mediatek switches"
79	help
80	  Say Y or M if you want to enable support for tagging frames for
81	  Mediatek switches.
82
83config NET_DSA_TAG_KSZ
84	tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
85	help
86	  Say Y if you want to enable support for tagging frames for the
87	  Microchip 8795/9477/9893 families of switches.
88
89config NET_DSA_TAG_OCELOT
90	tristate "Tag driver for Ocelot family of switches"
91	select PACKING
92	help
93	  Say Y or M if you want to enable support for tagging frames for the
94	  Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959).
95
96config NET_DSA_TAG_QCA
97	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
98	help
99	  Say Y or M if you want to enable support for tagging frames for
100	  the Qualcomm Atheros QCA8K switches.
101
102config NET_DSA_TAG_LAN9303
103	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
104	help
105	  Say Y or M if you want to enable support for tagging frames for the
106	  SMSC/Microchip LAN9303 family of switches.
107
108config NET_DSA_TAG_SJA1105
109	tristate "Tag driver for NXP SJA1105 switches"
110	select NET_DSA_TAG_8021Q
111	select PACKING
112	help
113	  Say Y or M if you want to enable support for tagging frames with the
114	  NXP SJA1105 switch family. Both the native tagging protocol (which
115	  is only for link-local traffic) as well as non-native tagging (based
116	  on a custom 802.1Q VLAN header) are available.
117
118config NET_DSA_TAG_TRAILER
119	tristate "Tag driver for switches using a trailer tag"
120	help
121	  Say Y or M if you want to enable support for tagging frames at
122	  with a trailed. e.g. Marvell 88E6060.
123
124endif
125