xref: /openbmc/linux/net/dsa/Kconfig (revision ec8f24b7)
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
123a89eaa6SVivien Didelot	select NET_SWITCHDEV
1311d8f3ddSFlorian Fainelli	select PHYLINK
14f6b19b35SJiri Pirko	select NET_DEVLINK
15c6f15070SMathieu Olivari	---help---
16c6f15070SMathieu Olivari	  Say Y if you want to enable support for the hardware switches supported
17c6f15070SMathieu Olivari	  by the Distributed Switch Architecture.
1891da11f8SLennert Buytenhek
19b3422a31SBen Hutchingsif NET_DSA
2091da11f8SLennert Buytenhek
21f9bbe447SVladimir Oltean# tagging formats
22f9bbe447SVladimir Olteanconfig NET_DSA_TAG_8021Q
23f9bbe447SVladimir Oltean	tristate "Tag driver for switches using custom 802.1Q VLAN headers"
24f9bbe447SVladimir Oltean	select VLAN_8021Q
25f9bbe447SVladimir Oltean	help
26f9bbe447SVladimir Oltean	  Unlike the other tagging protocols, the 802.1Q config option simply
27f9bbe447SVladimir Oltean	  provides helpers for other tagging implementations that might rely on
28f9bbe447SVladimir Oltean	  VLAN in one way or another. It is not a complete solution.
29f9bbe447SVladimir Oltean
30f9bbe447SVladimir Oltean	  Drivers which use these helpers should select this as dependency.
31f9bbe447SVladimir Oltean
320b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_BRCM_COMMON
330b9f9dfbSAndrew Lunn	tristate
340b9f9dfbSAndrew Lunn	default n
350b9f9dfbSAndrew Lunn
365037d532SFlorian Fainelliconfig NET_DSA_TAG_BRCM
370b9f9dfbSAndrew Lunn	tristate "Tag driver for Broadcom switches using in-frame headers"
380b9f9dfbSAndrew Lunn	select NET_DSA_TAG_BRCM_COMMON
390b9f9dfbSAndrew Lunn	help
400b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
410b9f9dfbSAndrew Lunn	  Broadcom switches which place the tag after the MAC source address.
420b9f9dfbSAndrew Lunn
435037d532SFlorian Fainelli
44b74b70c4SFlorian Fainelliconfig NET_DSA_TAG_BRCM_PREPEND
450b9f9dfbSAndrew Lunn	tristate "Tag driver for Broadcom switches using prepended headers"
460b9f9dfbSAndrew Lunn	select NET_DSA_TAG_BRCM_COMMON
470b9f9dfbSAndrew Lunn	help
480b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
490b9f9dfbSAndrew Lunn	  Broadcom switches which places the tag before the Ethernet header
500b9f9dfbSAndrew Lunn	  (prepended).
5191da11f8SLennert Buytenhek
5279691192SHauke Mehrtensconfig NET_DSA_TAG_GSWIP
530b9f9dfbSAndrew Lunn	tristate "Tag driver for Lantiq / Intel GSWIP switches"
540b9f9dfbSAndrew Lunn	help
550b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
560b9f9dfbSAndrew Lunn	  Lantiq / Intel GSWIP switches.
5779691192SHauke Mehrtens
580b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_DSA
590b9f9dfbSAndrew Lunn	tristate "Tag driver for Marvell switches using DSA headers"
600b9f9dfbSAndrew Lunn	help
610b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
620b9f9dfbSAndrew Lunn	  Marvell switches which use DSA headers.
638b8010fbSWoojung Huh
640b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_EDSA
650b9f9dfbSAndrew Lunn	tristate "Tag driver for Marvell switches using EtherType DSA headers"
660b9f9dfbSAndrew Lunn	help
670b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
680b9f9dfbSAndrew Lunn	  Marvell switches which use EtherType DSA headers.
69cafdc45cSJohn Crispin
705cd8985aSSean Wangconfig NET_DSA_TAG_MTK
710b9f9dfbSAndrew Lunn	tristate "Tag driver for Mediatek switches"
720b9f9dfbSAndrew Lunn	help
730b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for
740b9f9dfbSAndrew Lunn	  Mediatek switches.
75e8fe177aSJuergen Beisert
760b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ_COMMON
770b9f9dfbSAndrew Lunn	tristate
780b9f9dfbSAndrew Lunn	default n
790b9f9dfbSAndrew Lunn
800b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ
810b9f9dfbSAndrew Lunn	tristate "Tag driver for Microchip 9893 family of switches"
820b9f9dfbSAndrew Lunn	select NET_DSA_TAG_KSZ_COMMON
830b9f9dfbSAndrew Lunn	help
840b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
850b9f9dfbSAndrew Lunn	  Microchip 9893 family of switches.
860b9f9dfbSAndrew Lunn
870b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ9477
880b9f9dfbSAndrew Lunn	tristate "Tag driver for Microchip 9477 family of switches"
890b9f9dfbSAndrew Lunn	select NET_DSA_TAG_KSZ_COMMON
900b9f9dfbSAndrew Lunn	help
910b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
920b9f9dfbSAndrew Lunn	  Microchip 9477 family of switches.
93eb7b7211SAndrew Lunn
94eb7b7211SAndrew Lunnconfig NET_DSA_TAG_QCA
950b9f9dfbSAndrew Lunn	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
960b9f9dfbSAndrew Lunn	help
970b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for
980b9f9dfbSAndrew Lunn	  the Qualcomm Atheros QCA8K switches.
990b9f9dfbSAndrew Lunn
1000b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_LAN9303
1010b9f9dfbSAndrew Lunn	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
1020b9f9dfbSAndrew Lunn	help
1030b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
1040b9f9dfbSAndrew Lunn	  SMSC/Microchip LAN9303 family of switches.
1050b9f9dfbSAndrew Lunn
106227d07a0SVladimir Olteanconfig NET_DSA_TAG_SJA1105
107227d07a0SVladimir Oltean	tristate "Tag driver for NXP SJA1105 switches"
108227d07a0SVladimir Oltean	select NET_DSA_TAG_8021Q
109227d07a0SVladimir Oltean	help
110227d07a0SVladimir Oltean	  Say Y or M if you want to enable support for tagging frames with the
111227d07a0SVladimir Oltean	  NXP SJA1105 switch family. Both the native tagging protocol (which
112227d07a0SVladimir Oltean	  is only for link-local traffic) as well as non-native tagging (based
113227d07a0SVladimir Oltean	  on a custom 802.1Q VLAN header) are available.
114227d07a0SVladimir Oltean
1150b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_TRAILER
1160b9f9dfbSAndrew Lunn	tristate "Tag driver for switches using a trailer tag"
1170b9f9dfbSAndrew Lunn	help
1180b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames at
1190b9f9dfbSAndrew Lunn	  with a trailed. e.g. Marvell 88E6060.
120e8fe177aSJuergen Beisert
121b3422a31SBen Hutchingsendif
122