Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Ben Hutchings | b3422a3 | 2012-11-26 09:16:10 +0000 | [diff] [blame] | 2 | |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 3 | menuconfig NET_DSA |
Mathieu Olivari | c6f1507 | 2015-03-20 18:31:03 -0700 | [diff] [blame] | 4 | tristate "Distributed Switch Architecture" |
Andrew Lunn | ee0ab7a2 | 2017-11-11 16:29:41 +0100 | [diff] [blame] | 5 | depends on BRIDGE || BRIDGE=n |
Florian Fainelli | 94ead4c | 2021-02-19 21:12:21 -0800 | [diff] [blame] | 6 | depends on HSR || HSR=n |
Alexander Lobakin | 227d720 | 2021-03-19 15:46:30 +0000 | [diff] [blame] | 7 | depends on INET && NETDEVICES |
Alexander Lobakin | e131a56 | 2020-04-21 16:41:08 +0300 | [diff] [blame] | 8 | select GRO_CELLS |
Vivien Didelot | 3a89eaa | 2017-01-09 16:49:26 -0500 | [diff] [blame] | 9 | select NET_SWITCHDEV |
Florian Fainelli | 11d8f3d | 2018-05-10 13:17:32 -0700 | [diff] [blame] | 10 | select PHYLINK |
Jiri Pirko | f6b19b3 | 2019-03-24 11:14:38 +0100 | [diff] [blame] | 11 | select NET_DEVLINK |
Oleksij Rempel | 4a52dd8 | 2021-04-28 15:09:46 +0200 | [diff] [blame] | 12 | imply NET_SELFTESTS |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 13 | help |
Mathieu Olivari | c6f1507 | 2015-03-20 18:31:03 -0700 | [diff] [blame] | 14 | Say Y if you want to enable support for the hardware switches supported |
| 15 | by the Distributed Switch Architecture. |
Lennert Buytenhek | 91da11f | 2008-10-07 13:44:02 +0000 | [diff] [blame] | 16 | |
Ben Hutchings | b3422a3 | 2012-11-26 09:16:10 +0000 | [diff] [blame] | 17 | if NET_DSA |
Lennert Buytenhek | 91da11f | 2008-10-07 13:44:02 +0000 | [diff] [blame] | 18 | |
Alexander Lobakin | 227d720 | 2021-03-19 15:46:30 +0000 | [diff] [blame] | 19 | # Drivers must select the appropriate tagging format(s) |
| 20 | |
Oleksij Rempel | 48fda74 | 2019-12-18 09:02:14 +0100 | [diff] [blame] | 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 | |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 27 | config NET_DSA_TAG_BRCM_COMMON |
| 28 | tristate |
| 29 | default n |
| 30 | |
Florian Fainelli | 5037d53 | 2014-08-27 17:04:55 -0700 | [diff] [blame] | 31 | config NET_DSA_TAG_BRCM |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 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 | |
Álvaro Fernández Rojas | 964dbf18 | 2021-03-17 11:29:26 +0100 | [diff] [blame] | 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. |
Florian Fainelli | 5037d53 | 2014-08-27 17:04:55 -0700 | [diff] [blame] | 45 | |
Florian Fainelli | b74b70c | 2017-11-10 15:22:54 -0800 | [diff] [blame] | 46 | config NET_DSA_TAG_BRCM_PREPEND |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 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). |
Lennert Buytenhek | 91da11f | 2008-10-07 13:44:02 +0000 | [diff] [blame] | 53 | |
Kurt Kanzenbach | 01ef09c | 2020-11-03 08:10:54 +0100 | [diff] [blame] | 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 | |
Hauke Mehrtens | 7969119 | 2018-09-09 22:16:43 +0200 | [diff] [blame] | 60 | config NET_DSA_TAG_GSWIP |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 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. |
Hauke Mehrtens | 7969119 | 2018-09-09 22:16:43 +0200 | [diff] [blame] | 65 | |
Tobias Waldekranz | 469ee5f | 2020-11-15 00:45:57 +0100 | [diff] [blame] | 66 | config NET_DSA_TAG_DSA_COMMON |
| 67 | tristate |
| 68 | |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 69 | config NET_DSA_TAG_DSA |
| 70 | tristate "Tag driver for Marvell switches using DSA headers" |
Tobias Waldekranz | 469ee5f | 2020-11-15 00:45:57 +0100 | [diff] [blame] | 71 | select NET_DSA_TAG_DSA_COMMON |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 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. |
Woojung Huh | 8b8010f | 2017-05-31 20:19:06 +0000 | [diff] [blame] | 75 | |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 76 | config NET_DSA_TAG_EDSA |
| 77 | tristate "Tag driver for Marvell switches using EtherType DSA headers" |
Tobias Waldekranz | 469ee5f | 2020-11-15 00:45:57 +0100 | [diff] [blame] | 78 | select NET_DSA_TAG_DSA_COMMON |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 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. |
John Crispin | cafdc45 | 2016-09-15 16:26:40 +0200 | [diff] [blame] | 82 | |
Sean Wang | 5cd8985 | 2017-04-07 16:45:06 +0800 | [diff] [blame] | 83 | config NET_DSA_TAG_MTK |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 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. |
Juergen Beisert | e8fe177 | 2017-04-18 10:48:24 +0200 | [diff] [blame] | 88 | |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 89 | config NET_DSA_TAG_KSZ |
George McCollister | f4073e9 | 2019-09-10 08:18:36 -0500 | [diff] [blame] | 90 | tristate "Tag driver for Microchip 8795/9477/9893 families of switches" |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 91 | help |
| 92 | Say Y if you want to enable support for tagging frames for the |
George McCollister | f4073e9 | 2019-09-10 08:18:36 -0500 | [diff] [blame] | 93 | Microchip 8795/9477/9893 families of switches. |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 94 | |
Vladimir Oltean | 8dce89aa | 2019-11-14 17:03:29 +0200 | [diff] [blame] | 95 | config NET_DSA_TAG_OCELOT |
Vladimir Oltean | 7c83a7c | 2021-01-29 03:00:08 +0200 | [diff] [blame] | 96 | tristate "Tag driver for Ocelot family of switches, using NPI port" |
Vladimir Oltean | 8dce89aa | 2019-11-14 17:03:29 +0200 | [diff] [blame] | 97 | select PACKING |
| 98 | help |
Vladimir Oltean | 7c83a7c | 2021-01-29 03:00:08 +0200 | [diff] [blame] | 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" |
Vladimir Oltean | 7c83a7c | 2021-01-29 03:00:08 +0200 | [diff] [blame] | 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. |
Vladimir Oltean | 8dce89aa | 2019-11-14 17:03:29 +0200 | [diff] [blame] | 115 | |
Andrew Lunn | eb7b721 | 2017-05-16 22:40:07 +0200 | [diff] [blame] | 116 | config NET_DSA_TAG_QCA |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 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. |
| 121 | |
Alvin Šipraga | 9cb8edd | 2021-10-18 11:37:58 +0200 | [diff] [blame] | 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 | |
Alvin Šipraga | 1521d5a | 2021-10-18 11:38:00 +0200 | [diff] [blame] | 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 | |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 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. |
| 140 | |
Vladimir Oltean | 227d07a | 2019-05-05 13:19:27 +0300 | [diff] [blame] | 141 | config NET_DSA_TAG_SJA1105 |
| 142 | tristate "Tag driver for NXP SJA1105 switches" |
Vladimir Oltean | 6358f38 | 2019-06-11 21:47:45 +0300 | [diff] [blame] | 143 | select PACKING |
Vladimir Oltean | 227d07a | 2019-05-05 13:19:27 +0300 | [diff] [blame] | 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 | |
Andrew Lunn | 0b9f9df | 2019-04-28 19:37:23 +0200 | [diff] [blame] | 150 | config NET_DSA_TAG_TRAILER |
| 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. |
Juergen Beisert | e8fe177 | 2017-04-18 10:48:24 +0200 | [diff] [blame] | 155 | |
George McCollister | 54a5282 | 2021-01-14 13:57:32 -0600 | [diff] [blame] | 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 | |
Ben Hutchings | b3422a3 | 2012-11-26 09:16:10 +0000 | [diff] [blame] | 162 | endif |