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