• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "Tag driver for switches using custom 802.1Q VLAN headers"
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_BRCM_COMMON
34	tristate
35	default n
36
37config NET_DSA_TAG_BRCM
38	tristate "Tag driver for Broadcom switches using in-frame headers"
39	select NET_DSA_TAG_BRCM_COMMON
40	help
41	  Say Y if you want to enable support for tagging frames for the
42	  Broadcom switches which place the tag after the MAC source address.
43
44
45config NET_DSA_TAG_BRCM_PREPEND
46	tristate "Tag driver for Broadcom switches using prepended headers"
47	select NET_DSA_TAG_BRCM_COMMON
48	help
49	  Say Y if you want to enable support for tagging frames for the
50	  Broadcom switches which places the tag before the Ethernet header
51	  (prepended).
52
53config NET_DSA_TAG_GSWIP
54	tristate "Tag driver for Lantiq / Intel GSWIP switches"
55	help
56	  Say Y or M if you want to enable support for tagging frames for the
57	  Lantiq / Intel GSWIP switches.
58
59config NET_DSA_TAG_DSA
60	tristate "Tag driver for Marvell switches using DSA headers"
61	help
62	  Say Y or M if you want to enable support for tagging frames for the
63	  Marvell switches which use DSA headers.
64
65config NET_DSA_TAG_EDSA
66	tristate "Tag driver for Marvell switches using EtherType 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 EtherType DSA headers.
70
71config NET_DSA_TAG_MTK
72	tristate "Tag driver for Mediatek switches"
73	help
74	  Say Y or M if you want to enable support for tagging frames for
75	  Mediatek switches.
76
77config NET_DSA_TAG_KSZ
78	tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
79	help
80	  Say Y if you want to enable support for tagging frames for the
81	  Microchip 8795/9477/9893 families of switches.
82
83config NET_DSA_TAG_QCA
84	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
85	help
86	  Say Y or M if you want to enable support for tagging frames for
87	  the Qualcomm Atheros QCA8K switches.
88
89config NET_DSA_TAG_LAN9303
90	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
91	help
92	  Say Y or M if you want to enable support for tagging frames for the
93	  SMSC/Microchip LAN9303 family of switches.
94
95config NET_DSA_TAG_SJA1105
96	tristate "Tag driver for NXP SJA1105 switches"
97	select NET_DSA_TAG_8021Q
98	select PACKING
99	help
100	  Say Y or M if you want to enable support for tagging frames with the
101	  NXP SJA1105 switch family. Both the native tagging protocol (which
102	  is only for link-local traffic) as well as non-native tagging (based
103	  on a custom 802.1Q VLAN header) are available.
104
105config NET_DSA_TAG_TRAILER
106	tristate "Tag driver for switches using a trailer tag"
107	help
108	  Say Y or M if you want to enable support for tagging frames at
109	  with a trailed. e.g. Marvell 88E6060.
110
111endif
112