Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
config CONFIG_HAVE_NET_DSA
	def_bool y
	depends on CONFIG_INET && CONFIG_NETDEVICES && !CONFIG_S390

# Drivers must select CONFIG_NET_DSA and the appropriate tagging format

menuconfig CONFIG_NET_DSA
	tristate "Distributed Switch Architecture"
	depends on CONFIG_HAVE_NET_DSA
	depends on CONFIG_BRIDGE || CONFIG_BRIDGE=n
	select CONFIG_NET_SWITCHDEV
	select CONFIG_PHYLINK
	select CONFIG_NET_DEVLINK
	---help---
	  Say Y if you want to enable support for the hardware switches supported
	  by the Distributed Switch Architecture.

if CONFIG_NET_DSA

# tagging formats
config CONFIG_NET_DSA_TAG_8021Q
	tristate "Tag driver for switches using custom 802.1Q VLAN headers"
	select CONFIG_VLAN_8021Q
	help
	  Unlike the other tagging protocols, the 802.1Q config option simply
	  provides helpers for other tagging implementations that might rely on
	  VLAN in one way or another. It is not a complete solution.

	  Drivers which use these helpers should select this as dependency.

config CONFIG_NET_DSA_TAG_BRCM_COMMON
	tristate
	default n

config CONFIG_NET_DSA_TAG_BRCM
	tristate "Tag driver for Broadcom switches using in-frame headers"
	select CONFIG_NET_DSA_TAG_BRCM_COMMON
	help
	  Say Y if you want to enable support for tagging frames for the
	  Broadcom switches which place the tag after the CONFIG_MAC source address.


config CONFIG_NET_DSA_TAG_BRCM_PREPEND
	tristate "Tag driver for Broadcom switches using prepended headers"
	select CONFIG_NET_DSA_TAG_BRCM_COMMON
	help
	  Say Y if you want to enable support for tagging frames for the
	  Broadcom switches which places the tag before the Ethernet header
	  (prepended).

config CONFIG_NET_DSA_TAG_GSWIP
	tristate "Tag driver for Lantiq / Intel GSWIP switches"
	help
	  Say Y or CONFIG_M if you want to enable support for tagging frames for the
	  Lantiq / Intel GSWIP switches.

config CONFIG_NET_DSA_TAG_DSA
	tristate "Tag driver for Marvell switches using DSA headers"
	help
	  Say Y or CONFIG_M if you want to enable support for tagging frames for the
	  Marvell switches which use DSA headers.

config CONFIG_NET_DSA_TAG_EDSA
	tristate "Tag driver for Marvell switches using EtherType DSA headers"
	help
	  Say Y or CONFIG_M if you want to enable support for tagging frames for the
	  Marvell switches which use EtherType DSA headers.

config CONFIG_NET_DSA_TAG_MTK
	tristate "Tag driver for Mediatek switches"
	help
	  Say Y or CONFIG_M if you want to enable support for tagging frames for
	  Mediatek switches.

config CONFIG_NET_DSA_TAG_KSZ
	tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
	help
	  Say Y if you want to enable support for tagging frames for the
	  Microchip 8795/9477/9893 families of switches.

config CONFIG_NET_DSA_TAG_QCA
	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
	help
	  Say Y or CONFIG_M if you want to enable support for tagging frames for
	  the Qualcomm Atheros QCA8K switches.

config CONFIG_NET_DSA_TAG_LAN9303
	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
	help
	  Say Y or CONFIG_M if you want to enable support for tagging frames for the
	  SMSC/Microchip LAN9303 family of switches.

config CONFIG_NET_DSA_TAG_SJA1105
	tristate "Tag driver for NXP SJA1105 switches"
	select CONFIG_NET_DSA_TAG_8021Q
	select CONFIG_PACKING
	help
	  Say Y or CONFIG_M if you want to enable support for tagging frames with the
	  NXP SJA1105 switch family. Both the native tagging protocol (which
	  is only for link-local traffic) as well as non-native tagging (based
	  on a custom 802.1Q VLAN header) are available.

config CONFIG_NET_DSA_TAG_TRAILER
	tristate "Tag driver for switches using a trailer tag"
	help
	  Say Y or CONFIG_M if you want to enable support for tagging frames at
	  with a trailed. e.g. Marvell 88E6060.

endif