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_RTL4_A 90 tristate "Tag driver for Realtek 4 byte protocol A tags" 91 help 92 Say Y or M if you want to enable support for tagging frames for the 93 Realtek switches with 4 byte protocol A tags, sich as found in 94 the Realtek RTL8366RB. 95 96config NET_DSA_TAG_OCELOT 97 tristate "Tag driver for Ocelot family of switches" 98 select PACKING 99 help 100 Say Y or M if you want to enable support for tagging frames for the 101 Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959). 102 103config NET_DSA_TAG_QCA 104 tristate "Tag driver for Qualcomm Atheros QCA8K switches" 105 help 106 Say Y or M if you want to enable support for tagging frames for 107 the Qualcomm Atheros QCA8K switches. 108 109config NET_DSA_TAG_LAN9303 110 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" 111 help 112 Say Y or M if you want to enable support for tagging frames for the 113 SMSC/Microchip LAN9303 family of switches. 114 115config NET_DSA_TAG_SJA1105 116 tristate "Tag driver for NXP SJA1105 switches" 117 select NET_DSA_TAG_8021Q 118 select PACKING 119 help 120 Say Y or M if you want to enable support for tagging frames with the 121 NXP SJA1105 switch family. Both the native tagging protocol (which 122 is only for link-local traffic) as well as non-native tagging (based 123 on a custom 802.1Q VLAN header) are available. 124 125config NET_DSA_TAG_TRAILER 126 tristate "Tag driver for switches using a trailer tag" 127 help 128 Say Y or M if you want to enable support for tagging frames at 129 with a trailed. e.g. Marvell 88E6060. 130 131endif 132