xref: /openbmc/linux/net/dsa/Kconfig (revision f9bbe4477c30ece44296437ee26142b42ef8070b)
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
20*f9bbe447SVladimir Oltean# tagging formats
21*f9bbe447SVladimir Olteanconfig NET_DSA_TAG_8021Q
22*f9bbe447SVladimir Oltean	tristate "Tag driver for switches using custom 802.1Q VLAN headers"
23*f9bbe447SVladimir Oltean	select VLAN_8021Q
24*f9bbe447SVladimir Oltean	help
25*f9bbe447SVladimir Oltean	  Unlike the other tagging protocols, the 802.1Q config option simply
26*f9bbe447SVladimir Oltean	  provides helpers for other tagging implementations that might rely on
27*f9bbe447SVladimir Oltean	  VLAN in one way or another. It is not a complete solution.
28*f9bbe447SVladimir Oltean
29*f9bbe447SVladimir Oltean	  Drivers which use these helpers should select this as dependency.
30*f9bbe447SVladimir 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