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 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_AR9331 34 tristate "Tag driver for Atheros AR9331 SoC with built-in switch" 35 help 36 Say Y or M if you want to enable support for tagging frames for 37 the Atheros AR9331 SoC with built-in switch. 38 39config NET_DSA_TAG_BRCM_COMMON 40 tristate 41 default n 42 43config NET_DSA_TAG_BRCM 44 tristate "Tag driver for Broadcom switches using in-frame headers" 45 select NET_DSA_TAG_BRCM_COMMON 46 help 47 Say Y if you want to enable support for tagging frames for the 48 Broadcom switches which place the tag after the MAC source address. 49 50 51config NET_DSA_TAG_BRCM_PREPEND 52 tristate "Tag driver for Broadcom switches using prepended headers" 53 select NET_DSA_TAG_BRCM_COMMON 54 help 55 Say Y if you want to enable support for tagging frames for the 56 Broadcom switches which places the tag before the Ethernet header 57 (prepended). 58 59config NET_DSA_TAG_GSWIP 60 tristate "Tag driver for Lantiq / Intel GSWIP switches" 61 help 62 Say Y or M if you want to enable support for tagging frames for the 63 Lantiq / Intel GSWIP switches. 64 65config NET_DSA_TAG_DSA 66 tristate "Tag driver for Marvell switches using 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 DSA headers. 70 71config NET_DSA_TAG_EDSA 72 tristate "Tag driver for Marvell switches using EtherType DSA headers" 73 help 74 Say Y or M if you want to enable support for tagging frames for the 75 Marvell switches which use EtherType DSA headers. 76 77config NET_DSA_TAG_MTK 78 tristate "Tag driver for Mediatek switches" 79 help 80 Say Y or M if you want to enable support for tagging frames for 81 Mediatek switches. 82 83config NET_DSA_TAG_KSZ 84 tristate "Tag driver for Microchip 8795/9477/9893 families of switches" 85 help 86 Say Y if you want to enable support for tagging frames for the 87 Microchip 8795/9477/9893 families of switches. 88 89config NET_DSA_TAG_OCELOT 90 tristate "Tag driver for Ocelot family of switches" 91 select PACKING 92 help 93 Say Y or M if you want to enable support for tagging frames for the 94 Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959). 95 96config NET_DSA_TAG_QCA 97 tristate "Tag driver for Qualcomm Atheros QCA8K switches" 98 help 99 Say Y or M if you want to enable support for tagging frames for 100 the Qualcomm Atheros QCA8K switches. 101 102config NET_DSA_TAG_LAN9303 103 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" 104 help 105 Say Y or M if you want to enable support for tagging frames for the 106 SMSC/Microchip LAN9303 family of switches. 107 108config NET_DSA_TAG_SJA1105 109 tristate "Tag driver for NXP SJA1105 switches" 110 select NET_DSA_TAG_8021Q 111 select PACKING 112 help 113 Say Y or M if you want to enable support for tagging frames with the 114 NXP SJA1105 switch family. Both the native tagging protocol (which 115 is only for link-local traffic) as well as non-native tagging (based 116 on a custom 802.1Q VLAN header) are available. 117 118config NET_DSA_TAG_TRAILER 119 tristate "Tag driver for switches using a trailer tag" 120 help 121 Say Y or M if you want to enable support for tagging frames at 122 with a trailed. e.g. Marvell 88E6060. 123 124endif 125