xref: /openbmc/linux/net/dsa/Kconfig (revision f9bbe447)
1b3422a31SBen Hutchingsconfig HAVE_NET_DSA
2b3422a31SBen Hutchings	def_bool y
33a89eaa6SVivien Didelot	depends on INET && NETDEVICES && !S390
4b3422a31SBen Hutchings
5b3422a31SBen Hutchings# Drivers must select NET_DSA and the appropriate tagging format
6b3422a31SBen Hutchings
70b9f9dfbSAndrew Lunnmenuconfig NET_DSA
8c6f15070SMathieu Olivari	tristate "Distributed Switch Architecture"
9f4b6bcc7SJakub Kicinski	depends on HAVE_NET_DSA
10ee0ab7a2SAndrew Lunn	depends on BRIDGE || BRIDGE=n
113a89eaa6SVivien Didelot	select NET_SWITCHDEV
1211d8f3ddSFlorian Fainelli	select PHYLINK
13f6b19b35SJiri Pirko	select NET_DEVLINK
14c6f15070SMathieu Olivari	---help---
15c6f15070SMathieu Olivari	  Say Y if you want to enable support for the hardware switches supported
16c6f15070SMathieu Olivari	  by the Distributed Switch Architecture.
1791da11f8SLennert Buytenhek
18b3422a31SBen Hutchingsif NET_DSA
1991da11f8SLennert Buytenhek
20f9bbe447SVladimir Oltean# tagging formats
21f9bbe447SVladimir Olteanconfig NET_DSA_TAG_8021Q
22f9bbe447SVladimir Oltean	tristate "Tag driver for switches using custom 802.1Q VLAN headers"
23f9bbe447SVladimir Oltean	select VLAN_8021Q
24f9bbe447SVladimir Oltean	help
25f9bbe447SVladimir Oltean	  Unlike the other tagging protocols, the 802.1Q config option simply
26f9bbe447SVladimir Oltean	  provides helpers for other tagging implementations that might rely on
27f9bbe447SVladimir Oltean	  VLAN in one way or another. It is not a complete solution.
28f9bbe447SVladimir Oltean
29f9bbe447SVladimir Oltean	  Drivers which use these helpers should select this as dependency.
30f9bbe447SVladimir Oltean
310b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_BRCM_COMMON
320b9f9dfbSAndrew Lunn	tristate
330b9f9dfbSAndrew Lunn	default n
340b9f9dfbSAndrew Lunn
355037d532SFlorian Fainelliconfig NET_DSA_TAG_BRCM
360b9f9dfbSAndrew Lunn	tristate "Tag driver for Broadcom switches using in-frame headers"
370b9f9dfbSAndrew Lunn	select NET_DSA_TAG_BRCM_COMMON
380b9f9dfbSAndrew Lunn	help
390b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
400b9f9dfbSAndrew Lunn	  Broadcom switches which place the tag after the MAC source address.
410b9f9dfbSAndrew Lunn
425037d532SFlorian Fainelli
43b74b70c4SFlorian Fainelliconfig NET_DSA_TAG_BRCM_PREPEND
440b9f9dfbSAndrew Lunn	tristate "Tag driver for Broadcom switches using prepended 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 places the tag before the Ethernet header
490b9f9dfbSAndrew Lunn	  (prepended).
5091da11f8SLennert Buytenhek
5179691192SHauke Mehrtensconfig NET_DSA_TAG_GSWIP
520b9f9dfbSAndrew Lunn	tristate "Tag driver for Lantiq / Intel GSWIP switches"
530b9f9dfbSAndrew Lunn	help
540b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
550b9f9dfbSAndrew Lunn	  Lantiq / Intel GSWIP switches.
5679691192SHauke Mehrtens
570b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_DSA
580b9f9dfbSAndrew Lunn	tristate "Tag driver for Marvell switches using DSA headers"
590b9f9dfbSAndrew Lunn	help
600b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
610b9f9dfbSAndrew Lunn	  Marvell switches which use DSA headers.
628b8010fbSWoojung Huh
630b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_EDSA
640b9f9dfbSAndrew Lunn	tristate "Tag driver for Marvell switches using EtherType DSA headers"
650b9f9dfbSAndrew Lunn	help
660b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
670b9f9dfbSAndrew Lunn	  Marvell switches which use EtherType DSA headers.
68cafdc45cSJohn Crispin
695cd8985aSSean Wangconfig NET_DSA_TAG_MTK
700b9f9dfbSAndrew Lunn	tristate "Tag driver for Mediatek switches"
710b9f9dfbSAndrew Lunn	help
720b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for
730b9f9dfbSAndrew Lunn	  Mediatek switches.
74e8fe177aSJuergen Beisert
750b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ_COMMON
760b9f9dfbSAndrew Lunn	tristate
770b9f9dfbSAndrew Lunn	default n
780b9f9dfbSAndrew Lunn
790b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ
800b9f9dfbSAndrew Lunn	tristate "Tag driver for Microchip 9893 family of switches"
810b9f9dfbSAndrew Lunn	select NET_DSA_TAG_KSZ_COMMON
820b9f9dfbSAndrew Lunn	help
830b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
840b9f9dfbSAndrew Lunn	  Microchip 9893 family of switches.
850b9f9dfbSAndrew Lunn
860b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ9477
870b9f9dfbSAndrew Lunn	tristate "Tag driver for Microchip 9477 family of switches"
880b9f9dfbSAndrew Lunn	select NET_DSA_TAG_KSZ_COMMON
890b9f9dfbSAndrew Lunn	help
900b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
910b9f9dfbSAndrew Lunn	  Microchip 9477 family of switches.
92eb7b7211SAndrew Lunn
93eb7b7211SAndrew Lunnconfig NET_DSA_TAG_QCA
940b9f9dfbSAndrew Lunn	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
950b9f9dfbSAndrew Lunn	help
960b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for
970b9f9dfbSAndrew Lunn	  the Qualcomm Atheros QCA8K switches.
980b9f9dfbSAndrew Lunn
990b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_LAN9303
1000b9f9dfbSAndrew Lunn	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
1010b9f9dfbSAndrew Lunn	help
1020b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
1030b9f9dfbSAndrew Lunn	  SMSC/Microchip LAN9303 family of switches.
1040b9f9dfbSAndrew Lunn
1050b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_TRAILER
1060b9f9dfbSAndrew Lunn	tristate "Tag driver for switches using a trailer tag"
1070b9f9dfbSAndrew Lunn	help
1080b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames at
1090b9f9dfbSAndrew Lunn	  with a trailed. e.g. Marvell 88E6060.
110e8fe177aSJuergen Beisert
111b3422a31SBen Hutchingsendif
112