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 77 tristate "Tag driver for Microchip 8795/9477/9893 families of switches" 78 help 79 Say Y if you want to enable support for tagging frames for the 80 Microchip 8795/9477/9893 families of switches. 81 82config NET_DSA_TAG_QCA 83 tristate "Tag driver for Qualcomm Atheros QCA8K switches" 84 help 85 Say Y or M if you want to enable support for tagging frames for 86 the Qualcomm Atheros QCA8K switches. 87 88config NET_DSA_TAG_LAN9303 89 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" 90 help 91 Say Y or M if you want to enable support for tagging frames for the 92 SMSC/Microchip LAN9303 family of switches. 93 94config NET_DSA_TAG_SJA1105 95 tristate "Tag driver for NXP SJA1105 switches" 96 select NET_DSA_TAG_8021Q 97 select PACKING 98 help 99 Say Y or M if you want to enable support for tagging frames with the 100 NXP SJA1105 switch family. Both the native tagging protocol (which 101 is only for link-local traffic) as well as non-native tagging (based 102 on a custom 802.1Q VLAN header) are available. 103 104config NET_DSA_TAG_TRAILER 105 tristate "Tag driver for switches using a trailer tag" 106 help 107 Say Y or M if you want to enable support for tagging frames at 108 with a trailed. e.g. Marvell 88E6060. 109 110endif 111