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