xref: /openbmc/linux/net/dsa/Kconfig (revision e82c878d)
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 NET_SWITCHDEV
13	select PHYLINK
14	select NET_DEVLINK
15	---help---
16	  Say Y if you want to enable support for the hardware switches supported
17	  by the Distributed Switch Architecture.
18
19if NET_DSA
20
21# tagging formats
22config NET_DSA_TAG_8021Q
23	tristate
24	select VLAN_8021Q
25	help
26	  Unlike the other tagging protocols, the 802.1Q config option simply
27	  provides helpers for other tagging implementations that might rely on
28	  VLAN in one way or another. It is not a complete solution.
29
30	  Drivers which use these helpers should select this as dependency.
31
32config NET_DSA_TAG_AR9331
33	tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
34	help
35	  Say Y or M if you want to enable support for tagging frames for
36	  the Atheros AR9331 SoC with built-in switch.
37
38config NET_DSA_TAG_BRCM_COMMON
39	tristate
40	default n
41
42config NET_DSA_TAG_BRCM
43	tristate "Tag driver for Broadcom switches using in-frame headers"
44	select NET_DSA_TAG_BRCM_COMMON
45	help
46	  Say Y if you want to enable support for tagging frames for the
47	  Broadcom switches which place the tag after the MAC source address.
48
49
50config NET_DSA_TAG_BRCM_PREPEND
51	tristate "Tag driver for Broadcom switches using prepended headers"
52	select NET_DSA_TAG_BRCM_COMMON
53	help
54	  Say Y if you want to enable support for tagging frames for the
55	  Broadcom switches which places the tag before the Ethernet header
56	  (prepended).
57
58config NET_DSA_TAG_GSWIP
59	tristate "Tag driver for Lantiq / Intel GSWIP switches"
60	help
61	  Say Y or M if you want to enable support for tagging frames for the
62	  Lantiq / Intel GSWIP switches.
63
64config NET_DSA_TAG_DSA
65	tristate "Tag driver for Marvell switches using DSA headers"
66	help
67	  Say Y or M if you want to enable support for tagging frames for the
68	  Marvell switches which use DSA headers.
69
70config NET_DSA_TAG_EDSA
71	tristate "Tag driver for Marvell switches using EtherType DSA headers"
72	help
73	  Say Y or M if you want to enable support for tagging frames for the
74	  Marvell switches which use EtherType DSA headers.
75
76config NET_DSA_TAG_MTK
77	tristate "Tag driver for Mediatek switches"
78	help
79	  Say Y or M if you want to enable support for tagging frames for
80	  Mediatek switches.
81
82config NET_DSA_TAG_KSZ
83	tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
84	help
85	  Say Y if you want to enable support for tagging frames for the
86	  Microchip 8795/9477/9893 families of switches.
87
88config NET_DSA_TAG_OCELOT
89	tristate "Tag driver for Ocelot family of switches"
90	select PACKING
91	help
92	  Say Y or M if you want to enable support for tagging frames for the
93	  Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959).
94
95config NET_DSA_TAG_QCA
96	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
97	help
98	  Say Y or M if you want to enable support for tagging frames for
99	  the Qualcomm Atheros QCA8K switches.
100
101config NET_DSA_TAG_LAN9303
102	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
103	help
104	  Say Y or M if you want to enable support for tagging frames for the
105	  SMSC/Microchip LAN9303 family of switches.
106
107config NET_DSA_TAG_SJA1105
108	tristate "Tag driver for NXP SJA1105 switches"
109	select NET_DSA_TAG_8021Q
110	select PACKING
111	help
112	  Say Y or M if you want to enable support for tagging frames with the
113	  NXP SJA1105 switch family. Both the native tagging protocol (which
114	  is only for link-local traffic) as well as non-native tagging (based
115	  on a custom 802.1Q VLAN header) are available.
116
117config NET_DSA_TAG_TRAILER
118	tristate "Tag driver for switches using a trailer tag"
119	help
120	  Say Y or M if you want to enable support for tagging frames at
121	  with a trailed. e.g. Marvell 88E6060.
122
123endif
124