blob: 1f9b9b11008cbab5c6822192ce84be2febe58e04 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001# SPDX-License-Identifier: GPL-2.0-only
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002config 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
David Brazdil0f672f62019-12-10 10:32:29 +00008menuconfig NET_DSA
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00009 tristate "Distributed Switch Architecture"
David Brazdil0f672f62019-12-10 10:32:29 +000010 depends on HAVE_NET_DSA
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000011 depends on BRIDGE || BRIDGE=n
Olivier Deprez0e641232021-09-23 10:07:05 +020012 select GRO_CELLS
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000013 select NET_SWITCHDEV
14 select PHYLINK
David Brazdil0f672f62019-12-10 10:32:29 +000015 select NET_DEVLINK
Olivier Deprez157378f2022-04-04 15:47:50 +020016 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000017 Say Y if you want to enable support for the hardware switches supported
18 by the Distributed Switch Architecture.
19
20if NET_DSA
21
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000022# tagging formats
David Brazdil0f672f62019-12-10 10:32:29 +000023config NET_DSA_TAG_8021Q
Olivier Deprez157378f2022-04-04 15:47:50 +020024 tristate
David Brazdil0f672f62019-12-10 10:32:29 +000025 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
Olivier Deprez157378f2022-04-04 15:47:50 +020033config 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
David Brazdil0f672f62019-12-10 10:32:29 +000039config NET_DSA_TAG_BRCM_COMMON
40 tristate
41 default n
42
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000043config NET_DSA_TAG_BRCM
David Brazdil0f672f62019-12-10 10:32:29 +000044 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000050
51config NET_DSA_TAG_BRCM_PREPEND
David Brazdil0f672f62019-12-10 10:32:29 +000052 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000064
65config NET_DSA_TAG_DSA
David Brazdil0f672f62019-12-10 10:32:29 +000066 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000070
71config NET_DSA_TAG_EDSA
David Brazdil0f672f62019-12-10 10:32:29 +000072 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000076
77config NET_DSA_TAG_MTK
David Brazdil0f672f62019-12-10 10:32:29 +000078 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000082
David Brazdil0f672f62019-12-10 10:32:29 +000083config 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000088
Olivier Deprez157378f2022-04-04 15:47:50 +020089config 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000103config NET_DSA_TAG_QCA
David Brazdil0f672f62019-12-10 10:32:29 +0000104 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000130
131endif