blob: 7dce11ab28062336f2c62266f4cf90e304728444 [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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000016 ---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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000022# tagging formats
David Brazdil0f672f62019-12-10 10:32:29 +000023config 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000037config NET_DSA_TAG_BRCM
David Brazdil0f672f62019-12-10 10:32:29 +000038 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000044
45config NET_DSA_TAG_BRCM_PREPEND
David Brazdil0f672f62019-12-10 10:32:29 +000046 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000058
59config NET_DSA_TAG_DSA
David Brazdil0f672f62019-12-10 10:32:29 +000060 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000064
65config NET_DSA_TAG_EDSA
David Brazdil0f672f62019-12-10 10:32:29 +000066 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000070
71config NET_DSA_TAG_MTK
David Brazdil0f672f62019-12-10 10:32:29 +000072 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000076
David Brazdil0f672f62019-12-10 10:32:29 +000077config 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000082
83config NET_DSA_TAG_QCA
David Brazdil0f672f62019-12-10 10:32:29 +000084 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000110
111endif