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