1# SPDX-License-Identifier: GPL-2.0-only 2config HAVE_NET_DSA 3 def_bool y 4 depends on INET && NETDEVICES && !S390 5 6# Drivers must select NET_DSA and the appropriate tagging format 7 8menuconfig NET_DSA 9 tristate "Distributed Switch Architecture" 10 depends on HAVE_NET_DSA 11 depends on BRIDGE || BRIDGE=n 12 select NET_SWITCHDEV 13 select PHYLINK 14 select NET_DEVLINK 15 ---help--- 16 Say Y if you want to enable support for the hardware switches supported 17 by the Distributed Switch Architecture. 18 19if NET_DSA 20 21# tagging formats 22config NET_DSA_TAG_8021Q 23 tristate "Tag driver for switches using custom 802.1Q VLAN headers" 24 select VLAN_8021Q 25 help 26 Unlike the other tagging protocols, the 802.1Q config option simply 27 provides helpers for other tagging implementations that might rely on 28 VLAN in one way or another. It is not a complete solution. 29 30 Drivers which use these helpers should select this as dependency. 31 32config NET_DSA_TAG_BRCM_COMMON 33 tristate 34 default n 35 36config NET_DSA_TAG_BRCM 37 tristate "Tag driver for Broadcom switches using in-frame headers" 38 select NET_DSA_TAG_BRCM_COMMON 39 help 40 Say Y if you want to enable support for tagging frames for the 41 Broadcom switches which place the tag after the MAC source address. 42 43 44config NET_DSA_TAG_BRCM_PREPEND 45 tristate "Tag driver for Broadcom switches using prepended headers" 46 select NET_DSA_TAG_BRCM_COMMON 47 help 48 Say Y if you want to enable support for tagging frames for the 49 Broadcom switches which places the tag before the Ethernet header 50 (prepended). 51 52config NET_DSA_TAG_GSWIP 53 tristate "Tag driver for Lantiq / Intel GSWIP switches" 54 help 55 Say Y or M if you want to enable support for tagging frames for the 56 Lantiq / Intel GSWIP switches. 57 58config NET_DSA_TAG_DSA 59 tristate "Tag driver for Marvell switches using DSA headers" 60 help 61 Say Y or M if you want to enable support for tagging frames for the 62 Marvell switches which use DSA headers. 63 64config NET_DSA_TAG_EDSA 65 tristate "Tag driver for Marvell switches using EtherType DSA headers" 66 help 67 Say Y or M if you want to enable support for tagging frames for the 68 Marvell switches which use EtherType DSA headers. 69 70config NET_DSA_TAG_MTK 71 tristate "Tag driver for Mediatek switches" 72 help 73 Say Y or M if you want to enable support for tagging frames for 74 Mediatek switches. 75 76config NET_DSA_TAG_KSZ_COMMON 77 tristate 78 default n 79 80config NET_DSA_TAG_KSZ 81 tristate "Tag driver for Microchip 9893 family of switches" 82 select NET_DSA_TAG_KSZ_COMMON 83 help 84 Say Y if you want to enable support for tagging frames for the 85 Microchip 9893 family of switches. 86 87config NET_DSA_TAG_KSZ9477 88 tristate "Tag driver for Microchip 9477 family of switches" 89 select NET_DSA_TAG_KSZ_COMMON 90 help 91 Say Y if you want to enable support for tagging frames for the 92 Microchip 9477 family of switches. 93 94config NET_DSA_TAG_QCA 95 tristate "Tag driver for Qualcomm Atheros QCA8K switches" 96 help 97 Say Y or M if you want to enable support for tagging frames for 98 the Qualcomm Atheros QCA8K switches. 99 100config NET_DSA_TAG_LAN9303 101 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" 102 help 103 Say Y or M if you want to enable support for tagging frames for the 104 SMSC/Microchip LAN9303 family of switches. 105 106config NET_DSA_TAG_SJA1105 107 tristate "Tag driver for NXP SJA1105 switches" 108 select NET_DSA_TAG_8021Q 109 help 110 Say Y or M if you want to enable support for tagging frames with the 111 NXP SJA1105 switch family. Both the native tagging protocol (which 112 is only for link-local traffic) as well as non-native tagging (based 113 on a custom 802.1Q VLAN header) are available. 114 115config NET_DSA_TAG_TRAILER 116 tristate "Tag driver for switches using a trailer tag" 117 help 118 Say Y or M if you want to enable support for tagging frames at 119 with a trailed. e.g. Marvell 88E6060. 120 121endif 122