# SPDX-License-Identifier: GPL-2.0-only
config [31mCONFIG_HAVE_NET_DSA[0m
def_bool y
depends on [31mCONFIG_INET[0m && [31mCONFIG_NETDEVICES[0m && ![31mCONFIG_S390[0m
# Drivers must select [31mCONFIG_NET_DSA[0m and the appropriate tagging format
menuconfig [31mCONFIG_NET_DSA[0m
tristate "Distributed Switch Architecture"
depends on [31mCONFIG_HAVE_NET_DSA[0m
depends on [31mCONFIG_BRIDGE[0m || [31mCONFIG_BRIDGE[0m=n
select [31mCONFIG_NET_SWITCHDEV[0m
select [31mCONFIG_PHYLINK[0m
select [31mCONFIG_NET_DEVLINK[0m
---help---
Say Y if you want to enable support for the hardware switches supported
by the Distributed Switch Architecture.
if [31mCONFIG_NET_DSA[0m
# tagging formats
config [31mCONFIG_NET_DSA_TAG_8021Q[0m
tristate "Tag driver for switches using custom 802.1Q VLAN headers"
select [31mCONFIG_VLAN_8021Q[0m
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 [31mCONFIG_NET_DSA_TAG_BRCM_COMMON[0m
tristate
default n
config [31mCONFIG_NET_DSA_TAG_BRCM[0m
tristate "Tag driver for Broadcom switches using in-frame headers"
select [31mCONFIG_NET_DSA_TAG_BRCM_COMMON[0m
help
Say Y if you want to enable support for tagging frames for the
Broadcom switches which place the tag after the [31mCONFIG_MAC[0m source address.
config [31mCONFIG_NET_DSA_TAG_BRCM_PREPEND[0m
tristate "Tag driver for Broadcom switches using prepended headers"
select [31mCONFIG_NET_DSA_TAG_BRCM_COMMON[0m
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 [31mCONFIG_NET_DSA_TAG_GSWIP[0m
tristate "Tag driver for Lantiq / Intel GSWIP switches"
help
Say Y or [31mCONFIG_M[0m if you want to enable support for tagging frames for the
Lantiq / Intel GSWIP switches.
config [31mCONFIG_NET_DSA_TAG_DSA[0m
tristate "Tag driver for Marvell switches using DSA headers"
help
Say Y or [31mCONFIG_M[0m if you want to enable support for tagging frames for the
Marvell switches which use DSA headers.
config [31mCONFIG_NET_DSA_TAG_EDSA[0m
tristate "Tag driver for Marvell switches using EtherType DSA headers"
help
Say Y or [31mCONFIG_M[0m if you want to enable support for tagging frames for the
Marvell switches which use EtherType DSA headers.
config [31mCONFIG_NET_DSA_TAG_MTK[0m
tristate "Tag driver for Mediatek switches"
help
Say Y or [31mCONFIG_M[0m if you want to enable support for tagging frames for
Mediatek switches.
config [31mCONFIG_NET_DSA_TAG_KSZ[0m
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 [31mCONFIG_NET_DSA_TAG_QCA[0m
tristate "Tag driver for Qualcomm Atheros QCA8K switches"
help
Say Y or [31mCONFIG_M[0m if you want to enable support for tagging frames for
the Qualcomm Atheros QCA8K switches.
config [31mCONFIG_NET_DSA_TAG_LAN9303[0m
tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
help
Say Y or [31mCONFIG_M[0m if you want to enable support for tagging frames for the
SMSC/Microchip LAN9303 family of switches.
config [31mCONFIG_NET_DSA_TAG_SJA1105[0m
tristate "Tag driver for NXP SJA1105 switches"
select [31mCONFIG_NET_DSA_TAG_8021Q[0m
select [31mCONFIG_PACKING[0m
help
Say Y or [31mCONFIG_M[0m 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 [31mCONFIG_NET_DSA_TAG_TRAILER[0m
tristate "Tag driver for switches using a trailer tag"
help
Say Y or [31mCONFIG_M[0m if you want to enable support for tagging frames at
with a trailed. e.g. Marvell 88E6060.
endif