1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2b3422a31SBen Hutchings 30b9f9dfbSAndrew Lunnmenuconfig NET_DSA 4c6f15070SMathieu Olivari tristate "Distributed Switch Architecture" 5ee0ab7a2SAndrew Lunn depends on BRIDGE || BRIDGE=n 694ead4caSFlorian Fainelli depends on HSR || HSR=n 7227d7206SAlexander Lobakin depends on INET && NETDEVICES 8e131a563SAlexander Lobakin select GRO_CELLS 93a89eaa6SVivien Didelot select NET_SWITCHDEV 1011d8f3ddSFlorian Fainelli select PHYLINK 11f6b19b35SJiri Pirko select NET_DEVLINK 124a52dd8fSOleksij Rempel imply NET_SELFTESTS 13a7f7f624SMasahiro Yamada help 14c6f15070SMathieu Olivari Say Y if you want to enable support for the hardware switches supported 15c6f15070SMathieu Olivari by the Distributed Switch Architecture. 1691da11f8SLennert Buytenhek 17b3422a31SBen Hutchingsif NET_DSA 1891da11f8SLennert Buytenhek 19227d7206SAlexander Lobakin# Drivers must select the appropriate tagging format(s) 20227d7206SAlexander Lobakin 2148fda74fSOleksij Rempelconfig NET_DSA_TAG_AR9331 2248fda74fSOleksij Rempel tristate "Tag driver for Atheros AR9331 SoC with built-in switch" 2348fda74fSOleksij Rempel help 2448fda74fSOleksij Rempel Say Y or M if you want to enable support for tagging frames for 2548fda74fSOleksij Rempel the Atheros AR9331 SoC with built-in switch. 2648fda74fSOleksij Rempel 270b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_BRCM_COMMON 280b9f9dfbSAndrew Lunn tristate 290b9f9dfbSAndrew Lunn default n 300b9f9dfbSAndrew Lunn 315037d532SFlorian Fainelliconfig NET_DSA_TAG_BRCM 320b9f9dfbSAndrew Lunn tristate "Tag driver for Broadcom switches using in-frame headers" 330b9f9dfbSAndrew Lunn select NET_DSA_TAG_BRCM_COMMON 340b9f9dfbSAndrew Lunn help 350b9f9dfbSAndrew Lunn Say Y if you want to enable support for tagging frames for the 360b9f9dfbSAndrew Lunn Broadcom switches which place the tag after the MAC source address. 370b9f9dfbSAndrew Lunn 38964dbf18SÁlvaro Fernández Rojasconfig NET_DSA_TAG_BRCM_LEGACY 39964dbf18SÁlvaro Fernández Rojas tristate "Tag driver for Broadcom legacy switches using in-frame headers" 40964dbf18SÁlvaro Fernández Rojas select NET_DSA_TAG_BRCM_COMMON 41964dbf18SÁlvaro Fernández Rojas help 42964dbf18SÁlvaro Fernández Rojas Say Y if you want to enable support for tagging frames for the 43964dbf18SÁlvaro Fernández Rojas Broadcom legacy switches which place the tag after the MAC source 44964dbf18SÁlvaro Fernández Rojas address. 455037d532SFlorian Fainelli 46b74b70c4SFlorian Fainelliconfig NET_DSA_TAG_BRCM_PREPEND 470b9f9dfbSAndrew Lunn tristate "Tag driver for Broadcom switches using prepended headers" 480b9f9dfbSAndrew Lunn select NET_DSA_TAG_BRCM_COMMON 490b9f9dfbSAndrew Lunn help 500b9f9dfbSAndrew Lunn Say Y if you want to enable support for tagging frames for the 510b9f9dfbSAndrew Lunn Broadcom switches which places the tag before the Ethernet header 520b9f9dfbSAndrew Lunn (prepended). 5391da11f8SLennert Buytenhek 5401ef09caSKurt Kanzenbachconfig NET_DSA_TAG_HELLCREEK 5501ef09caSKurt Kanzenbach tristate "Tag driver for Hirschmann Hellcreek TSN switches" 5601ef09caSKurt Kanzenbach help 5701ef09caSKurt Kanzenbach Say Y or M if you want to enable support for tagging frames 5801ef09caSKurt Kanzenbach for the Hirschmann Hellcreek TSN switches. 5901ef09caSKurt Kanzenbach 6079691192SHauke Mehrtensconfig NET_DSA_TAG_GSWIP 610b9f9dfbSAndrew Lunn tristate "Tag driver for Lantiq / Intel GSWIP switches" 620b9f9dfbSAndrew Lunn help 630b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for the 640b9f9dfbSAndrew Lunn Lantiq / Intel GSWIP switches. 6579691192SHauke Mehrtens 66469ee5feSTobias Waldekranzconfig NET_DSA_TAG_DSA_COMMON 67469ee5feSTobias Waldekranz tristate 68469ee5feSTobias Waldekranz 690b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_DSA 700b9f9dfbSAndrew Lunn tristate "Tag driver for Marvell switches using DSA headers" 71469ee5feSTobias Waldekranz select NET_DSA_TAG_DSA_COMMON 720b9f9dfbSAndrew Lunn help 730b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for the 740b9f9dfbSAndrew Lunn Marvell switches which use DSA headers. 758b8010fbSWoojung Huh 760b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_EDSA 770b9f9dfbSAndrew Lunn tristate "Tag driver for Marvell switches using EtherType DSA headers" 78469ee5feSTobias Waldekranz select NET_DSA_TAG_DSA_COMMON 790b9f9dfbSAndrew Lunn help 800b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for the 810b9f9dfbSAndrew Lunn Marvell switches which use EtherType DSA headers. 82cafdc45cSJohn Crispin 835cd8985aSSean Wangconfig NET_DSA_TAG_MTK 840b9f9dfbSAndrew Lunn tristate "Tag driver for Mediatek switches" 850b9f9dfbSAndrew Lunn help 860b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for 870b9f9dfbSAndrew Lunn Mediatek switches. 88e8fe177aSJuergen Beisert 890b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ 90*092f8751SPrasanna Vengateshan tristate "Tag driver for Microchip 8795/937x/9477/9893 families of switches" 910b9f9dfbSAndrew Lunn help 920b9f9dfbSAndrew Lunn Say Y if you want to enable support for tagging frames for the 93*092f8751SPrasanna Vengateshan Microchip 8795/937x/9477/9893 families of switches. 940b9f9dfbSAndrew Lunn 958dce89aaSVladimir Olteanconfig NET_DSA_TAG_OCELOT 967c83a7c5SVladimir Oltean tristate "Tag driver for Ocelot family of switches, using NPI port" 978dce89aaSVladimir Oltean select PACKING 988dce89aaSVladimir Oltean help 997c83a7c5SVladimir Oltean Say Y or M if you want to enable NPI tagging for the Ocelot switches 1007c83a7c5SVladimir Oltean (VSC7511, VSC7512, VSC7513, VSC7514, VSC9953, VSC9959). In this mode, 1017c83a7c5SVladimir Oltean the frames over the Ethernet CPU port are prepended with a 1027c83a7c5SVladimir Oltean hardware-defined injection/extraction frame header. Flow control 1037c83a7c5SVladimir Oltean (PAUSE frames) over the CPU port is not supported when operating in 1047c83a7c5SVladimir Oltean this mode. 1057c83a7c5SVladimir Oltean 1067c83a7c5SVladimir Olteanconfig NET_DSA_TAG_OCELOT_8021Q 1077c83a7c5SVladimir Oltean tristate "Tag driver for Ocelot family of switches, using VLAN" 1087c83a7c5SVladimir Oltean help 1097c83a7c5SVladimir Oltean Say Y or M if you want to enable support for tagging frames with a 1107c83a7c5SVladimir Oltean custom VLAN-based header. Frames that require timestamping, such as 1117c83a7c5SVladimir Oltean PTP, are not delivered over Ethernet but over register-based MMIO. 1127c83a7c5SVladimir Oltean Flow control over the CPU port is functional in this mode. When using 1137c83a7c5SVladimir Oltean this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for 1147c83a7c5SVladimir Oltean use with tc-flower. 1158dce89aaSVladimir Oltean 116eb7b7211SAndrew Lunnconfig NET_DSA_TAG_QCA 1170b9f9dfbSAndrew Lunn tristate "Tag driver for Qualcomm Atheros QCA8K switches" 1180b9f9dfbSAndrew Lunn help 1190b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for 1200b9f9dfbSAndrew Lunn the Qualcomm Atheros QCA8K switches. 1210b9f9dfbSAndrew Lunn 1229cb8eddaSAlvin Šipragaconfig NET_DSA_TAG_RTL4_A 1239cb8eddaSAlvin Šipraga tristate "Tag driver for Realtek 4 byte protocol A tags" 1249cb8eddaSAlvin Šipraga help 1259cb8eddaSAlvin Šipraga Say Y or M if you want to enable support for tagging frames for the 1269cb8eddaSAlvin Šipraga Realtek switches with 4 byte protocol A tags, sich as found in 1279cb8eddaSAlvin Šipraga the Realtek RTL8366RB. 1289cb8eddaSAlvin Šipraga 1291521d5adSAlvin Šipragaconfig NET_DSA_TAG_RTL8_4 1301521d5adSAlvin Šipraga tristate "Tag driver for Realtek 8 byte protocol 4 tags" 1311521d5adSAlvin Šipraga help 1321521d5adSAlvin Šipraga Say Y or M if you want to enable support for tagging frames for Realtek 1331521d5adSAlvin Šipraga switches with 8 byte protocol 4 tags, such as the Realtek RTL8365MB-VC. 1341521d5adSAlvin Šipraga 135a08d6a6dSClément Légerconfig NET_DSA_TAG_RZN1_A5PSW 136a08d6a6dSClément Léger tristate "Tag driver for Renesas RZ/N1 A5PSW switch" 137a08d6a6dSClément Léger help 138a08d6a6dSClément Léger Say Y or M if you want to enable support for tagging frames for 139a08d6a6dSClément Léger Renesas RZ/N1 embedded switch that uses an 8 byte tag located after 140a08d6a6dSClément Léger destination MAC address. 141a08d6a6dSClément Léger 1420b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_LAN9303 1430b9f9dfbSAndrew Lunn tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" 1440b9f9dfbSAndrew Lunn help 1450b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for the 1460b9f9dfbSAndrew Lunn SMSC/Microchip LAN9303 family of switches. 1470b9f9dfbSAndrew Lunn 148227d07a0SVladimir Olteanconfig NET_DSA_TAG_SJA1105 149227d07a0SVladimir Oltean tristate "Tag driver for NXP SJA1105 switches" 1506358f38cSVladimir Oltean select PACKING 151227d07a0SVladimir Oltean help 152227d07a0SVladimir Oltean Say Y or M if you want to enable support for tagging frames with the 153227d07a0SVladimir Oltean NXP SJA1105 switch family. Both the native tagging protocol (which 154227d07a0SVladimir Oltean is only for link-local traffic) as well as non-native tagging (based 155227d07a0SVladimir Oltean on a custom 802.1Q VLAN header) are available. 156227d07a0SVladimir Oltean 1570b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_TRAILER 1580b9f9dfbSAndrew Lunn tristate "Tag driver for switches using a trailer tag" 1590b9f9dfbSAndrew Lunn help 1600b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames at 1610b9f9dfbSAndrew Lunn with a trailed. e.g. Marvell 88E6060. 162e8fe177aSJuergen Beisert 16354a52823SGeorge McCollisterconfig NET_DSA_TAG_XRS700X 16454a52823SGeorge McCollister tristate "Tag driver for XRS700x switches" 16554a52823SGeorge McCollister help 16654a52823SGeorge McCollister Say Y or M if you want to enable support for tagging frames for 16754a52823SGeorge McCollister Arrow SpeedChips XRS700x switches that use a single byte tag trailer. 16854a52823SGeorge McCollister 169b3422a31SBen Hutchingsendif 170