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_HELLCREEK 60 tristate "Tag driver for Hirschmann Hellcreek TSN switches" 61 help 62 Say Y or M if you want to enable support for tagging frames 63 for the Hirschmann Hellcreek TSN switches. 64 65config NET_DSA_TAG_GSWIP 66 tristate "Tag driver for Lantiq / Intel GSWIP switches" 67 help 68 Say Y or M if you want to enable support for tagging frames for the 69 Lantiq / Intel GSWIP switches. 70 71config NET_DSA_TAG_DSA 72 tristate "Tag driver for Marvell switches using 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 DSA headers. 76 77config NET_DSA_TAG_EDSA 78 tristate "Tag driver for Marvell switches using EtherType DSA headers" 79 help 80 Say Y or M if you want to enable support for tagging frames for the 81 Marvell switches which use EtherType DSA headers. 82 83config NET_DSA_TAG_MTK 84 tristate "Tag driver for Mediatek switches" 85 help 86 Say Y or M if you want to enable support for tagging frames for 87 Mediatek switches. 88 89config NET_DSA_TAG_KSZ 90 tristate "Tag driver for Microchip 8795/9477/9893 families of switches" 91 help 92 Say Y if you want to enable support for tagging frames for the 93 Microchip 8795/9477/9893 families of switches. 94 95config NET_DSA_TAG_RTL4_A 96 tristate "Tag driver for Realtek 4 byte protocol A tags" 97 help 98 Say Y or M if you want to enable support for tagging frames for the 99 Realtek switches with 4 byte protocol A tags, sich as found in 100 the Realtek RTL8366RB. 101 102config NET_DSA_TAG_OCELOT 103 tristate "Tag driver for Ocelot family of switches" 104 select PACKING 105 help 106 Say Y or M if you want to enable support for tagging frames for the 107 Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959). 108 109config NET_DSA_TAG_QCA 110 tristate "Tag driver for Qualcomm Atheros QCA8K switches" 111 help 112 Say Y or M if you want to enable support for tagging frames for 113 the Qualcomm Atheros QCA8K switches. 114 115config NET_DSA_TAG_LAN9303 116 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" 117 help 118 Say Y or M if you want to enable support for tagging frames for the 119 SMSC/Microchip LAN9303 family of switches. 120 121config NET_DSA_TAG_SJA1105 122 tristate "Tag driver for NXP SJA1105 switches" 123 select NET_DSA_TAG_8021Q 124 select PACKING 125 help 126 Say Y or M if you want to enable support for tagging frames with the 127 NXP SJA1105 switch family. Both the native tagging protocol (which 128 is only for link-local traffic) as well as non-native tagging (based 129 on a custom 802.1Q VLAN header) are available. 130 131config NET_DSA_TAG_TRAILER 132 tristate "Tag driver for switches using a trailer tag" 133 help 134 Say Y or M if you want to enable support for tagging frames at 135 with a trailed. e.g. Marvell 88E6060. 136 137endif 138