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