blob: 29e2bd5cc5af7416ae1231374c5239aaf3126d26 [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
12 select NET_SWITCHDEV
13 select PHYLINK
David Brazdil0f672f62019-12-10 10:32:29 +000014 select NET_DEVLINK
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000015 ---help---
16 Say Y if you want to enable support for the hardware switches supported
17 by the Distributed Switch Architecture.
18
19if NET_DSA
20
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000021# tagging formats
David Brazdil0f672f62019-12-10 10:32:29 +000022config 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
32config NET_DSA_TAG_BRCM_COMMON
33 tristate
34 default n
35
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000036config NET_DSA_TAG_BRCM
David Brazdil0f672f62019-12-10 10:32:29 +000037 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000043
44config NET_DSA_TAG_BRCM_PREPEND
David Brazdil0f672f62019-12-10 10:32:29 +000045 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).
51
52config NET_DSA_TAG_GSWIP
53 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000057
58config NET_DSA_TAG_DSA
David Brazdil0f672f62019-12-10 10:32:29 +000059 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000063
64config NET_DSA_TAG_EDSA
David Brazdil0f672f62019-12-10 10:32:29 +000065 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000069
70config NET_DSA_TAG_MTK
David Brazdil0f672f62019-12-10 10:32:29 +000071 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000075
David Brazdil0f672f62019-12-10 10:32:29 +000076config NET_DSA_TAG_KSZ
77 tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
78 help
79 Say Y if you want to enable support for tagging frames for the
80 Microchip 8795/9477/9893 families of switches.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000081
82config NET_DSA_TAG_QCA
David Brazdil0f672f62019-12-10 10:32:29 +000083 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
94config NET_DSA_TAG_SJA1105
95 tristate "Tag driver for NXP SJA1105 switches"
96 select NET_DSA_TAG_8021Q
97 select PACKING
98 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
104config 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.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000109
110endif