blob: 29e2bd5cc5af7416ae1231374c5239aaf3126d26 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Ben Hutchingsb3422a32012-11-26 09:16:10 +00002config HAVE_NET_DSA
3 def_bool y
Vivien Didelot3a89eaa2017-01-09 16:49:26 -05004 depends on INET && NETDEVICES && !S390
Ben Hutchingsb3422a32012-11-26 09:16:10 +00005
6# Drivers must select NET_DSA and the appropriate tagging format
7
Andrew Lunn0b9f9df2019-04-28 19:37:23 +02008menuconfig NET_DSA
Mathieu Olivaric6f15072015-03-20 18:31:03 -07009 tristate "Distributed Switch Architecture"
Jakub Kicinskif4b6bcc2019-02-25 19:34:02 -080010 depends on HAVE_NET_DSA
Andrew Lunnee0ab7a22017-11-11 16:29:41 +010011 depends on BRIDGE || BRIDGE=n
Vivien Didelot3a89eaa2017-01-09 16:49:26 -050012 select NET_SWITCHDEV
Florian Fainelli11d8f3d2018-05-10 13:17:32 -070013 select PHYLINK
Jiri Pirkof6b19b32019-03-24 11:14:38 +010014 select NET_DEVLINK
Mathieu Olivaric6f15072015-03-20 18:31:03 -070015 ---help---
16 Say Y if you want to enable support for the hardware switches supported
17 by the Distributed Switch Architecture.
Lennert Buytenhek91da11f2008-10-07 13:44:02 +000018
Ben Hutchingsb3422a32012-11-26 09:16:10 +000019if NET_DSA
Lennert Buytenhek91da11f2008-10-07 13:44:02 +000020
Vladimir Olteanf9bbe442019-05-05 13:19:22 +030021# tagging formats
22config NET_DSA_TAG_8021Q
23 tristate "Tag driver for switches using custom 802.1Q VLAN headers"
24 select VLAN_8021Q
25 help
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.
29
30 Drivers which use these helpers should select this as dependency.
31
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020032config NET_DSA_TAG_BRCM_COMMON
33 tristate
34 default n
35
Florian Fainelli5037d532014-08-27 17:04:55 -070036config NET_DSA_TAG_BRCM
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020037 tristate "Tag driver for Broadcom switches using in-frame headers"
38 select NET_DSA_TAG_BRCM_COMMON
39 help
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.
42
Florian Fainelli5037d532014-08-27 17:04:55 -070043
Florian Fainellib74b70c2017-11-10 15:22:54 -080044config NET_DSA_TAG_BRCM_PREPEND
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020045 tristate "Tag driver for Broadcom switches using prepended headers"
46 select NET_DSA_TAG_BRCM_COMMON
47 help
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
50 (prepended).
Lennert Buytenhek91da11f2008-10-07 13:44:02 +000051
Hauke Mehrtens79691192018-09-09 22:16:43 +020052config NET_DSA_TAG_GSWIP
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020053 tristate "Tag driver for Lantiq / Intel GSWIP switches"
54 help
55 Say Y or M if you want to enable support for tagging frames for the
56 Lantiq / Intel GSWIP switches.
Hauke Mehrtens79691192018-09-09 22:16:43 +020057
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020058config NET_DSA_TAG_DSA
59 tristate "Tag driver for Marvell switches using DSA headers"
60 help
61 Say Y or M if you want to enable support for tagging frames for the
62 Marvell switches which use DSA headers.
Woojung Huh8b8010f2017-05-31 20:19:06 +000063
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020064config NET_DSA_TAG_EDSA
65 tristate "Tag driver for Marvell switches using EtherType DSA headers"
66 help
67 Say Y or M if you want to enable support for tagging frames for the
68 Marvell switches which use EtherType DSA headers.
John Crispincafdc452016-09-15 16:26:40 +020069
Sean Wang5cd89852017-04-07 16:45:06 +080070config NET_DSA_TAG_MTK
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020071 tristate "Tag driver for Mediatek switches"
72 help
73 Say Y or M if you want to enable support for tagging frames for
74 Mediatek switches.
Juergen Beiserte8fe1772017-04-18 10:48:24 +020075
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020076config NET_DSA_TAG_KSZ
George McCollisterf4073e92019-09-10 08:18:36 -050077 tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020078 help
79 Say Y if you want to enable support for tagging frames for the
George McCollisterf4073e92019-09-10 08:18:36 -050080 Microchip 8795/9477/9893 families of switches.
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020081
Andrew Lunneb7b7212017-05-16 22:40:07 +020082config NET_DSA_TAG_QCA
Andrew Lunn0b9f9df2019-04-28 19:37:23 +020083 tristate "Tag driver for Qualcomm Atheros QCA8K switches"
84 help
85 Say Y or M if you want to enable support for tagging frames for
86 the Qualcomm Atheros QCA8K switches.
87
88config NET_DSA_TAG_LAN9303
89 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
90 help
91 Say Y or M if you want to enable support for tagging frames for the
92 SMSC/Microchip LAN9303 family of switches.
93
Vladimir Oltean227d07a2019-05-05 13:19:27 +030094config NET_DSA_TAG_SJA1105
95 tristate "Tag driver for NXP SJA1105 switches"
96 select NET_DSA_TAG_8021Q
Vladimir Oltean6358f382019-06-11 21:47:45 +030097 select PACKING
Vladimir Oltean227d07a2019-05-05 13:19:27 +030098 help
99 Say Y or M if you want to enable support for tagging frames with the
100 NXP SJA1105 switch family. Both the native tagging protocol (which
101 is only for link-local traffic) as well as non-native tagging (based
102 on a custom 802.1Q VLAN header) are available.
103
Andrew Lunn0b9f9df2019-04-28 19:37:23 +0200104config NET_DSA_TAG_TRAILER
105 tristate "Tag driver for switches using a trailer tag"
106 help
107 Say Y or M if you want to enable support for tagging frames at
108 with a trailed. e.g. Marvell 88E6060.
Juergen Beiserte8fe1772017-04-18 10:48:24 +0200109
Ben Hutchingsb3422a32012-11-26 09:16:10 +0000110endif