GNU Linux-libre 5.4.207-gnu1
[releases.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 GRO_CELLS
13         select NET_SWITCHDEV
14         select PHYLINK
15         select NET_DEVLINK
16         ---help---
17           Say Y if you want to enable support for the hardware switches supported
18           by the Distributed Switch Architecture.
19
20 if NET_DSA
21
22 # tagging formats
23 config 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
33 config NET_DSA_TAG_BRCM_COMMON
34         tristate
35         default n
36
37 config NET_DSA_TAG_BRCM
38         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
44
45 config NET_DSA_TAG_BRCM_PREPEND
46         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
53 config 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.
58
59 config NET_DSA_TAG_DSA
60         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.
64
65 config NET_DSA_TAG_EDSA
66         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.
70
71 config NET_DSA_TAG_MTK
72         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.
76
77 config 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.
82
83 config NET_DSA_TAG_QCA
84         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
89 config 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
95 config 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
105 config 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.
110
111 endif