xref: /openbmc/linux/net/dsa/Kconfig (revision 8ec90bfd)
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_RTL4_A
90	tristate "Tag driver for Realtek 4 byte protocol A tags"
91	help
92	  Say Y or M if you want to enable support for tagging frames for the
93	  Realtek switches with 4 byte protocol A tags, sich as found in
94	  the Realtek RTL8366RB.
95
96config NET_DSA_TAG_OCELOT
97	tristate "Tag driver for Ocelot family of switches"
98	select PACKING
99	help
100	  Say Y or M if you want to enable support for tagging frames for the
101	  Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959).
102
103config NET_DSA_TAG_QCA
104	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
105	help
106	  Say Y or M if you want to enable support for tagging frames for
107	  the Qualcomm Atheros QCA8K switches.
108
109config NET_DSA_TAG_LAN9303
110	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
111	help
112	  Say Y or M if you want to enable support for tagging frames for the
113	  SMSC/Microchip LAN9303 family of switches.
114
115config NET_DSA_TAG_SJA1105
116	tristate "Tag driver for NXP SJA1105 switches"
117	select NET_DSA_TAG_8021Q
118	select PACKING
119	help
120	  Say Y or M if you want to enable support for tagging frames with the
121	  NXP SJA1105 switch family. Both the native tagging protocol (which
122	  is only for link-local traffic) as well as non-native tagging (based
123	  on a custom 802.1Q VLAN header) are available.
124
125config NET_DSA_TAG_TRAILER
126	tristate "Tag driver for switches using a trailer tag"
127	help
128	  Say Y or M if you want to enable support for tagging frames at
129	  with a trailed. e.g. Marvell 88E6060.
130
131endif
132