1 # SPDX-License-Identifier: GPL-2.0-only
4 depends on INET && NETDEVICES && !S390
6 # Drivers must select NET_DSA and the appropriate tagging format
9 tristate "Distributed Switch Architecture"
10 depends on HAVE_NET_DSA
11 depends on BRIDGE || BRIDGE=n
16 Say Y if you want to enable support for the hardware switches supported
17 by the Distributed Switch Architecture.
22 config NET_DSA_TAG_8021Q
23 tristate "Tag driver for switches using custom 802.1Q VLAN headers"
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.
30 Drivers which use these helpers should select this as dependency.
32 config NET_DSA_TAG_BRCM_COMMON
36 config NET_DSA_TAG_BRCM
37 tristate "Tag driver for Broadcom switches using in-frame headers"
38 select NET_DSA_TAG_BRCM_COMMON
40 Say Y if you want to enable support for tagging frames for the
41 Broadcom switches which place the tag after the MAC source address.
44 config NET_DSA_TAG_BRCM_PREPEND
45 tristate "Tag driver for Broadcom switches using prepended headers"
46 select NET_DSA_TAG_BRCM_COMMON
48 Say Y if you want to enable support for tagging frames for the
49 Broadcom switches which places the tag before the Ethernet header
52 config NET_DSA_TAG_GSWIP
53 tristate "Tag driver for Lantiq / Intel GSWIP switches"
55 Say Y or M if you want to enable support for tagging frames for the
56 Lantiq / Intel GSWIP switches.
58 config NET_DSA_TAG_DSA
59 tristate "Tag driver for Marvell switches using DSA headers"
61 Say Y or M if you want to enable support for tagging frames for the
62 Marvell switches which use DSA headers.
64 config NET_DSA_TAG_EDSA
65 tristate "Tag driver for Marvell switches using EtherType DSA headers"
67 Say Y or M if you want to enable support for tagging frames for the
68 Marvell switches which use EtherType DSA headers.
70 config NET_DSA_TAG_MTK
71 tristate "Tag driver for Mediatek switches"
73 Say Y or M if you want to enable support for tagging frames for
76 config NET_DSA_TAG_KSZ_COMMON
80 config NET_DSA_TAG_KSZ
81 tristate "Tag driver for Microchip 9893 family of switches"
82 select NET_DSA_TAG_KSZ_COMMON
84 Say Y if you want to enable support for tagging frames for the
85 Microchip 9893 family of switches.
87 config NET_DSA_TAG_KSZ9477
88 tristate "Tag driver for Microchip 9477 family of switches"
89 select NET_DSA_TAG_KSZ_COMMON
91 Say Y if you want to enable support for tagging frames for the
92 Microchip 9477 family of switches.
94 config NET_DSA_TAG_QCA
95 tristate "Tag driver for Qualcomm Atheros QCA8K switches"
97 Say Y or M if you want to enable support for tagging frames for
98 the Qualcomm Atheros QCA8K switches.
100 config NET_DSA_TAG_LAN9303
101 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
103 Say Y or M if you want to enable support for tagging frames for the
104 SMSC/Microchip LAN9303 family of switches.
106 config NET_DSA_TAG_SJA1105
107 tristate "Tag driver for NXP SJA1105 switches"
108 select NET_DSA_TAG_8021Q
111 Say Y or M if you want to enable support for tagging frames with the
112 NXP SJA1105 switch family. Both the native tagging protocol (which
113 is only for link-local traffic) as well as non-native tagging (based
114 on a custom 802.1Q VLAN header) are available.
116 config NET_DSA_TAG_TRAILER
117 tristate "Tag driver for switches using a trailer tag"
119 Say Y or M if you want to enable support for tagging frames at
120 with a trailed. e.g. Marvell 88E6060.