]>
Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
b3422a31 BH |
2 | config HAVE_NET_DSA |
3 | def_bool y | |
3a89eaa6 | 4 | depends on INET && NETDEVICES && !S390 |
b3422a31 BH |
5 | |
6 | # Drivers must select NET_DSA and the appropriate tagging format | |
7 | ||
0b9f9dfb | 8 | menuconfig NET_DSA |
c6f15070 | 9 | tristate "Distributed Switch Architecture" |
f4b6bcc7 | 10 | depends on HAVE_NET_DSA |
ee0ab7a2 | 11 | depends on BRIDGE || BRIDGE=n |
e131a563 | 12 | select GRO_CELLS |
3a89eaa6 | 13 | select NET_SWITCHDEV |
11d8f3dd | 14 | select PHYLINK |
f6b19b35 | 15 | select NET_DEVLINK |
a7f7f624 | 16 | help |
c6f15070 MO |
17 | Say Y if you want to enable support for the hardware switches supported |
18 | by the Distributed Switch Architecture. | |
91da11f8 | 19 | |
b3422a31 | 20 | if NET_DSA |
91da11f8 | 21 | |
f9bbe447 VO |
22 | # tagging formats |
23 | config NET_DSA_TAG_8021Q | |
129bd7ca | 24 | tristate |
f9bbe447 VO |
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 | ||
48fda74f OR |
33 | config NET_DSA_TAG_AR9331 |
34 | tristate "Tag driver for Atheros AR9331 SoC with built-in switch" | |
35 | help | |
36 | Say Y or M if you want to enable support for tagging frames for | |
37 | the Atheros AR9331 SoC with built-in switch. | |
38 | ||
0b9f9dfb AL |
39 | config NET_DSA_TAG_BRCM_COMMON |
40 | tristate | |
41 | default n | |
42 | ||
5037d532 | 43 | config NET_DSA_TAG_BRCM |
0b9f9dfb AL |
44 | tristate "Tag driver for Broadcom switches using in-frame headers" |
45 | select NET_DSA_TAG_BRCM_COMMON | |
46 | help | |
47 | Say Y if you want to enable support for tagging frames for the | |
48 | Broadcom switches which place the tag after the MAC source address. | |
49 | ||
5037d532 | 50 | |
b74b70c4 | 51 | config NET_DSA_TAG_BRCM_PREPEND |
0b9f9dfb AL |
52 | tristate "Tag driver for Broadcom switches using prepended headers" |
53 | select NET_DSA_TAG_BRCM_COMMON | |
54 | help | |
55 | Say Y if you want to enable support for tagging frames for the | |
56 | Broadcom switches which places the tag before the Ethernet header | |
57 | (prepended). | |
58 | ||
01ef09ca KK |
59 | config NET_DSA_TAG_HELLCREEK |
60 | tristate "Tag driver for Hirschmann Hellcreek TSN switches" | |
61 | help | |
62 | Say Y or M if you want to enable support for tagging frames | |
63 | for the Hirschmann Hellcreek TSN switches. | |
64 | ||
0b9f9dfb AL |
65 | config NET_DSA_TAG_GSWIP |
66 | tristate "Tag driver for Lantiq / Intel GSWIP switches" | |
67 | help | |
68 | Say Y or M if you want to enable support for tagging frames for the | |
69 | Lantiq / Intel GSWIP switches. | |
b74b70c4 | 70 | |
469ee5fe TW |
71 | config NET_DSA_TAG_DSA_COMMON |
72 | tristate | |
73 | ||
cf85d08f | 74 | config NET_DSA_TAG_DSA |
0b9f9dfb | 75 | tristate "Tag driver for Marvell switches using DSA headers" |
469ee5fe | 76 | select NET_DSA_TAG_DSA_COMMON |
0b9f9dfb AL |
77 | help |
78 | Say Y or M if you want to enable support for tagging frames for the | |
79 | Marvell switches which use DSA headers. | |
cf85d08f | 80 | |
91da11f8 | 81 | config NET_DSA_TAG_EDSA |
0b9f9dfb | 82 | tristate "Tag driver for Marvell switches using EtherType DSA headers" |
469ee5fe | 83 | select NET_DSA_TAG_DSA_COMMON |
0b9f9dfb AL |
84 | help |
85 | Say Y or M if you want to enable support for tagging frames for the | |
86 | Marvell switches which use EtherType DSA headers. | |
91da11f8 | 87 | |
0b9f9dfb AL |
88 | config NET_DSA_TAG_MTK |
89 | tristate "Tag driver for Mediatek switches" | |
90 | help | |
91 | Say Y or M if you want to enable support for tagging frames for | |
92 | Mediatek switches. | |
93 | ||
8b8010fb | 94 | config NET_DSA_TAG_KSZ |
f4073e91 | 95 | tristate "Tag driver for Microchip 8795/9477/9893 families of switches" |
0b9f9dfb AL |
96 | help |
97 | Say Y if you want to enable support for tagging frames for the | |
f4073e91 | 98 | Microchip 8795/9477/9893 families of switches. |
39d6b96f | 99 | |
efd7fe68 LW |
100 | config NET_DSA_TAG_RTL4_A |
101 | tristate "Tag driver for Realtek 4 byte protocol A tags" | |
102 | help | |
103 | Say Y or M if you want to enable support for tagging frames for the | |
104 | Realtek switches with 4 byte protocol A tags, sich as found in | |
105 | the Realtek RTL8366RB. | |
106 | ||
8dce89aa | 107 | config NET_DSA_TAG_OCELOT |
7c83a7c5 | 108 | tristate "Tag driver for Ocelot family of switches, using NPI port" |
8dce89aa VO |
109 | select PACKING |
110 | help | |
7c83a7c5 VO |
111 | Say Y or M if you want to enable NPI tagging for the Ocelot switches |
112 | (VSC7511, VSC7512, VSC7513, VSC7514, VSC9953, VSC9959). In this mode, | |
113 | the frames over the Ethernet CPU port are prepended with a | |
114 | hardware-defined injection/extraction frame header. Flow control | |
115 | (PAUSE frames) over the CPU port is not supported when operating in | |
116 | this mode. | |
117 | ||
118 | config NET_DSA_TAG_OCELOT_8021Q | |
119 | tristate "Tag driver for Ocelot family of switches, using VLAN" | |
120 | select NET_DSA_TAG_8021Q | |
121 | help | |
122 | Say Y or M if you want to enable support for tagging frames with a | |
123 | custom VLAN-based header. Frames that require timestamping, such as | |
124 | PTP, are not delivered over Ethernet but over register-based MMIO. | |
125 | Flow control over the CPU port is functional in this mode. When using | |
126 | this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for | |
127 | use with tc-flower. | |
8dce89aa | 128 | |
0b9f9dfb AL |
129 | config NET_DSA_TAG_QCA |
130 | tristate "Tag driver for Qualcomm Atheros QCA8K switches" | |
131 | help | |
132 | Say Y or M if you want to enable support for tagging frames for | |
133 | the Qualcomm Atheros QCA8K switches. | |
b3422a31 | 134 | |
0b9f9dfb AL |
135 | config NET_DSA_TAG_LAN9303 |
136 | tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" | |
137 | help | |
138 | Say Y or M if you want to enable support for tagging frames for the | |
139 | SMSC/Microchip LAN9303 family of switches. | |
cafdc45c | 140 | |
227d07a0 VO |
141 | config NET_DSA_TAG_SJA1105 |
142 | tristate "Tag driver for NXP SJA1105 switches" | |
143 | select NET_DSA_TAG_8021Q | |
6358f38c | 144 | select PACKING |
227d07a0 VO |
145 | help |
146 | Say Y or M if you want to enable support for tagging frames with the | |
147 | NXP SJA1105 switch family. Both the native tagging protocol (which | |
148 | is only for link-local traffic) as well as non-native tagging (based | |
149 | on a custom 802.1Q VLAN header) are available. | |
150 | ||
eb7b7211 | 151 | config NET_DSA_TAG_TRAILER |
0b9f9dfb AL |
152 | tristate "Tag driver for switches using a trailer tag" |
153 | help | |
154 | Say Y or M if you want to enable support for tagging frames at | |
155 | with a trailed. e.g. Marvell 88E6060. | |
e8fe177a | 156 | |
54a52823 GM |
157 | config NET_DSA_TAG_XRS700X |
158 | tristate "Tag driver for XRS700x switches" | |
159 | help | |
160 | Say Y or M if you want to enable support for tagging frames for | |
161 | Arrow SpeedChips XRS700x switches that use a single byte tag trailer. | |
162 | ||
b3422a31 | 163 | endif |