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, using NPI port" 109 select PACKING 110 help 111 Say Y or M if you want to enable NPI tagging for the Ocelot switches 112 (VSC7511, VSC7512, VSC7513, VSC7514, VSC9953, VSC9959). In this mode, 113 the frames over the Ethernet CPU port are prepended with a 114 hardware-defined injection/extraction frame header. Flow control 115 (PAUSE frames) over the CPU port is not supported when operating in 116 this mode. 117 118config NET_DSA_TAG_OCELOT_8021Q 119 tristate "Tag driver for Ocelot family of switches, using VLAN" 120 select NET_DSA_TAG_8021Q 121 help 122 Say Y or M if you want to enable support for tagging frames with a 123 custom VLAN-based header. Frames that require timestamping, such as 124 PTP, are not delivered over Ethernet but over register-based MMIO. 125 Flow control over the CPU port is functional in this mode. When using 126 this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for 127 use with tc-flower. 128 129config NET_DSA_TAG_QCA 130 tristate "Tag driver for Qualcomm Atheros QCA8K switches" 131 help 132 Say Y or M if you want to enable support for tagging frames for 133 the Qualcomm Atheros QCA8K switches. 134 135config NET_DSA_TAG_LAN9303 136 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" 137 help 138 Say Y or M if you want to enable support for tagging frames for the 139 SMSC/Microchip LAN9303 family of switches. 140 141config NET_DSA_TAG_SJA1105 142 tristate "Tag driver for NXP SJA1105 switches" 143 select NET_DSA_TAG_8021Q 144 select PACKING 145 help 146 Say Y or M if you want to enable support for tagging frames with the 147 NXP SJA1105 switch family. Both the native tagging protocol (which 148 is only for link-local traffic) as well as non-native tagging (based 149 on a custom 802.1Q VLAN header) are available. 150 151config NET_DSA_TAG_TRAILER 152 tristate "Tag driver for switches using a trailer tag" 153 help 154 Say Y or M if you want to enable support for tagging frames at 155 with a trailed. e.g. Marvell 88E6060. 156 157config NET_DSA_TAG_XRS700X 158 tristate "Tag driver for XRS700x switches" 159 help 160 Say Y or M if you want to enable support for tagging frames for 161 Arrow SpeedChips XRS700x switches that use a single byte tag trailer. 162 163endif 164