1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2b3422a31SBen Hutchingsconfig HAVE_NET_DSA 3b3422a31SBen Hutchings def_bool y 43a89eaa6SVivien Didelot depends on INET && NETDEVICES && !S390 5b3422a31SBen Hutchings 6b3422a31SBen Hutchings# Drivers must select NET_DSA and the appropriate tagging format 7b3422a31SBen Hutchings 80b9f9dfbSAndrew Lunnmenuconfig NET_DSA 9c6f15070SMathieu Olivari tristate "Distributed Switch Architecture" 10f4b6bcc7SJakub Kicinski depends on HAVE_NET_DSA 11ee0ab7a2SAndrew Lunn depends on BRIDGE || BRIDGE=n 12e131a563SAlexander Lobakin select GRO_CELLS 133a89eaa6SVivien Didelot select NET_SWITCHDEV 1411d8f3ddSFlorian Fainelli select PHYLINK 15f6b19b35SJiri Pirko select NET_DEVLINK 16a7f7f624SMasahiro Yamada help 17c6f15070SMathieu Olivari Say Y if you want to enable support for the hardware switches supported 18c6f15070SMathieu Olivari by the Distributed Switch Architecture. 1991da11f8SLennert Buytenhek 20b3422a31SBen Hutchingsif NET_DSA 2191da11f8SLennert Buytenhek 22f9bbe447SVladimir Oltean# tagging formats 23f9bbe447SVladimir Olteanconfig NET_DSA_TAG_8021Q 24129bd7caSFlorian Fainelli tristate 25f9bbe447SVladimir Oltean select VLAN_8021Q 26f9bbe447SVladimir Oltean help 27f9bbe447SVladimir Oltean Unlike the other tagging protocols, the 802.1Q config option simply 28f9bbe447SVladimir Oltean provides helpers for other tagging implementations that might rely on 29f9bbe447SVladimir Oltean VLAN in one way or another. It is not a complete solution. 30f9bbe447SVladimir Oltean 31f9bbe447SVladimir Oltean Drivers which use these helpers should select this as dependency. 32f9bbe447SVladimir Oltean 3348fda74fSOleksij Rempelconfig NET_DSA_TAG_AR9331 3448fda74fSOleksij Rempel tristate "Tag driver for Atheros AR9331 SoC with built-in switch" 3548fda74fSOleksij Rempel help 3648fda74fSOleksij Rempel Say Y or M if you want to enable support for tagging frames for 3748fda74fSOleksij Rempel the Atheros AR9331 SoC with built-in switch. 3848fda74fSOleksij Rempel 390b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_BRCM_COMMON 400b9f9dfbSAndrew Lunn tristate 410b9f9dfbSAndrew Lunn default n 420b9f9dfbSAndrew Lunn 435037d532SFlorian Fainelliconfig NET_DSA_TAG_BRCM 440b9f9dfbSAndrew Lunn tristate "Tag driver for Broadcom switches using in-frame headers" 450b9f9dfbSAndrew Lunn select NET_DSA_TAG_BRCM_COMMON 460b9f9dfbSAndrew Lunn help 470b9f9dfbSAndrew Lunn Say Y if you want to enable support for tagging frames for the 480b9f9dfbSAndrew Lunn Broadcom switches which place the tag after the MAC source address. 490b9f9dfbSAndrew Lunn 505037d532SFlorian Fainelli 51b74b70c4SFlorian Fainelliconfig NET_DSA_TAG_BRCM_PREPEND 520b9f9dfbSAndrew Lunn tristate "Tag driver for Broadcom switches using prepended headers" 530b9f9dfbSAndrew Lunn select NET_DSA_TAG_BRCM_COMMON 540b9f9dfbSAndrew Lunn help 550b9f9dfbSAndrew Lunn Say Y if you want to enable support for tagging frames for the 560b9f9dfbSAndrew Lunn Broadcom switches which places the tag before the Ethernet header 570b9f9dfbSAndrew Lunn (prepended). 5891da11f8SLennert Buytenhek 5901ef09caSKurt Kanzenbachconfig NET_DSA_TAG_HELLCREEK 6001ef09caSKurt Kanzenbach tristate "Tag driver for Hirschmann Hellcreek TSN switches" 6101ef09caSKurt Kanzenbach help 6201ef09caSKurt Kanzenbach Say Y or M if you want to enable support for tagging frames 6301ef09caSKurt Kanzenbach for the Hirschmann Hellcreek TSN switches. 6401ef09caSKurt Kanzenbach 6579691192SHauke Mehrtensconfig NET_DSA_TAG_GSWIP 660b9f9dfbSAndrew Lunn tristate "Tag driver for Lantiq / Intel GSWIP switches" 670b9f9dfbSAndrew Lunn help 680b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for the 690b9f9dfbSAndrew Lunn Lantiq / Intel GSWIP switches. 7079691192SHauke Mehrtens 71*469ee5feSTobias Waldekranzconfig NET_DSA_TAG_DSA_COMMON 72*469ee5feSTobias Waldekranz tristate 73*469ee5feSTobias Waldekranz 740b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_DSA 750b9f9dfbSAndrew Lunn tristate "Tag driver for Marvell switches using DSA headers" 76*469ee5feSTobias Waldekranz select NET_DSA_TAG_DSA_COMMON 770b9f9dfbSAndrew Lunn help 780b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for the 790b9f9dfbSAndrew Lunn Marvell switches which use DSA headers. 808b8010fbSWoojung Huh 810b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_EDSA 820b9f9dfbSAndrew Lunn tristate "Tag driver for Marvell switches using EtherType DSA headers" 83*469ee5feSTobias Waldekranz select NET_DSA_TAG_DSA_COMMON 840b9f9dfbSAndrew Lunn help 850b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for the 860b9f9dfbSAndrew Lunn Marvell switches which use EtherType DSA headers. 87cafdc45cSJohn Crispin 885cd8985aSSean Wangconfig NET_DSA_TAG_MTK 890b9f9dfbSAndrew Lunn tristate "Tag driver for Mediatek switches" 900b9f9dfbSAndrew Lunn help 910b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for 920b9f9dfbSAndrew Lunn Mediatek switches. 93e8fe177aSJuergen Beisert 940b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ 95f4073e91SGeorge McCollister tristate "Tag driver for Microchip 8795/9477/9893 families of switches" 960b9f9dfbSAndrew Lunn help 970b9f9dfbSAndrew Lunn Say Y if you want to enable support for tagging frames for the 98f4073e91SGeorge McCollister Microchip 8795/9477/9893 families of switches. 990b9f9dfbSAndrew Lunn 100efd7fe68SLinus Walleijconfig NET_DSA_TAG_RTL4_A 101efd7fe68SLinus Walleij tristate "Tag driver for Realtek 4 byte protocol A tags" 102efd7fe68SLinus Walleij help 103efd7fe68SLinus Walleij Say Y or M if you want to enable support for tagging frames for the 104efd7fe68SLinus Walleij Realtek switches with 4 byte protocol A tags, sich as found in 105efd7fe68SLinus Walleij the Realtek RTL8366RB. 106efd7fe68SLinus Walleij 1078dce89aaSVladimir Olteanconfig NET_DSA_TAG_OCELOT 1088dce89aaSVladimir Oltean tristate "Tag driver for Ocelot family of switches" 1098dce89aaSVladimir Oltean select PACKING 1108dce89aaSVladimir Oltean help 1118dce89aaSVladimir Oltean Say Y or M if you want to enable support for tagging frames for the 1128dce89aaSVladimir Oltean Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959). 1138dce89aaSVladimir Oltean 114eb7b7211SAndrew Lunnconfig NET_DSA_TAG_QCA 1150b9f9dfbSAndrew Lunn tristate "Tag driver for Qualcomm Atheros QCA8K switches" 1160b9f9dfbSAndrew Lunn help 1170b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for 1180b9f9dfbSAndrew Lunn the Qualcomm Atheros QCA8K switches. 1190b9f9dfbSAndrew Lunn 1200b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_LAN9303 1210b9f9dfbSAndrew Lunn tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" 1220b9f9dfbSAndrew Lunn help 1230b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames for the 1240b9f9dfbSAndrew Lunn SMSC/Microchip LAN9303 family of switches. 1250b9f9dfbSAndrew Lunn 126227d07a0SVladimir Olteanconfig NET_DSA_TAG_SJA1105 127227d07a0SVladimir Oltean tristate "Tag driver for NXP SJA1105 switches" 128227d07a0SVladimir Oltean select NET_DSA_TAG_8021Q 1296358f38cSVladimir Oltean select PACKING 130227d07a0SVladimir Oltean help 131227d07a0SVladimir Oltean Say Y or M if you want to enable support for tagging frames with the 132227d07a0SVladimir Oltean NXP SJA1105 switch family. Both the native tagging protocol (which 133227d07a0SVladimir Oltean is only for link-local traffic) as well as non-native tagging (based 134227d07a0SVladimir Oltean on a custom 802.1Q VLAN header) are available. 135227d07a0SVladimir Oltean 1360b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_TRAILER 1370b9f9dfbSAndrew Lunn tristate "Tag driver for switches using a trailer tag" 1380b9f9dfbSAndrew Lunn help 1390b9f9dfbSAndrew Lunn Say Y or M if you want to enable support for tagging frames at 1400b9f9dfbSAndrew Lunn with a trailed. e.g. Marvell 88E6060. 141e8fe177aSJuergen Beisert 142b3422a31SBen Hutchingsendif 143