Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2config 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
8menuconfig 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
19if NET_DSA
20
21# 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
32config NET_DSA_TAG_BRCM_COMMON
33 tristate
34 default n
35
36config NET_DSA_TAG_BRCM
37 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
43
44config NET_DSA_TAG_BRCM_PREPEND
45 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.
57
58config 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.
63
64config 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.
69
70config NET_DSA_TAG_MTK
71 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.
75
76config 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.
81
82config NET_DSA_TAG_QCA
83 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.
109
110endif