Merge tag 'for-5.6/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/devic...
[linux-2.6-microblaze.git] / net / dsa / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config 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
8 menuconfig NET_DSA
9         tristate "Distributed Switch Architecture"
10         depends on HAVE_NET_DSA
11         depends on BRIDGE || BRIDGE=n
12         select NET_SWITCHDEV
13         select PHYLINK
14         select NET_DEVLINK
15         ---help---
16           Say Y if you want to enable support for the hardware switches supported
17           by the Distributed Switch Architecture.
18
19 if NET_DSA
20
21 # tagging formats
22 config NET_DSA_TAG_8021Q
23         tristate
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
32 config NET_DSA_TAG_AR9331
33         tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
34         help
35           Say Y or M if you want to enable support for tagging frames for
36           the Atheros AR9331 SoC with built-in switch.
37
38 config NET_DSA_TAG_BRCM_COMMON
39         tristate
40         default n
41
42 config NET_DSA_TAG_BRCM
43         tristate "Tag driver for Broadcom switches using in-frame headers"
44         select NET_DSA_TAG_BRCM_COMMON
45         help
46           Say Y if you want to enable support for tagging frames for the
47           Broadcom switches which place the tag after the MAC source address.
48
49
50 config NET_DSA_TAG_BRCM_PREPEND
51         tristate "Tag driver for Broadcom switches using prepended headers"
52         select NET_DSA_TAG_BRCM_COMMON
53         help
54           Say Y if you want to enable support for tagging frames for the
55           Broadcom switches which places the tag before the Ethernet header
56           (prepended).
57
58 config NET_DSA_TAG_GSWIP
59         tristate "Tag driver for Lantiq / Intel GSWIP switches"
60         help
61           Say Y or M if you want to enable support for tagging frames for the
62           Lantiq / Intel GSWIP switches.
63
64 config NET_DSA_TAG_DSA
65         tristate "Tag driver for Marvell switches using 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 DSA headers.
69
70 config NET_DSA_TAG_EDSA
71         tristate "Tag driver for Marvell switches using EtherType DSA headers"
72         help
73           Say Y or M if you want to enable support for tagging frames for the
74           Marvell switches which use EtherType DSA headers.
75
76 config NET_DSA_TAG_MTK
77         tristate "Tag driver for Mediatek switches"
78         help
79           Say Y or M if you want to enable support for tagging frames for
80           Mediatek switches.
81
82 config NET_DSA_TAG_KSZ
83         tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
84         help
85           Say Y if you want to enable support for tagging frames for the
86           Microchip 8795/9477/9893 families of switches.
87
88 config NET_DSA_TAG_OCELOT
89         tristate "Tag driver for Ocelot family of switches"
90         select PACKING
91         help
92           Say Y or M if you want to enable support for tagging frames for the
93           Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959).
94
95 config NET_DSA_TAG_QCA
96         tristate "Tag driver for Qualcomm Atheros QCA8K switches"
97         help
98           Say Y or M if you want to enable support for tagging frames for
99           the Qualcomm Atheros QCA8K switches.
100
101 config NET_DSA_TAG_LAN9303
102         tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
103         help
104           Say Y or M if you want to enable support for tagging frames for the
105           SMSC/Microchip LAN9303 family of switches.
106
107 config NET_DSA_TAG_SJA1105
108         tristate "Tag driver for NXP SJA1105 switches"
109         select NET_DSA_TAG_8021Q
110         select PACKING
111         help
112           Say Y or M if you want to enable support for tagging frames with the
113           NXP SJA1105 switch family. Both the native tagging protocol (which
114           is only for link-local traffic) as well as non-native tagging (based
115           on a custom 802.1Q VLAN header) are available.
116
117 config NET_DSA_TAG_TRAILER
118         tristate "Tag driver for switches using a trailer tag"
119         help
120           Say Y or M if you want to enable support for tagging frames at
121           with a trailed. e.g. Marvell 88E6060.
122
123 endif