1# SPDX-License-Identifier: GPL-2.0-only 2 3menuconfig NET_DSA 4 tristate "Distributed Switch Architecture" 5 depends on BRIDGE || BRIDGE=n 6 depends on HSR || HSR=n 7 depends on INET && NETDEVICES 8 select GRO_CELLS 9 select NET_SWITCHDEV 10 select PHYLINK 11 select NET_DEVLINK 12 help 13 Say Y if you want to enable support for the hardware switches supported 14 by the Distributed Switch Architecture. 15 16if NET_DSA 17 18# Drivers must select the appropriate tagging format(s) 19 20config NET_DSA_TAG_8021Q 21 tristate 22 select VLAN_8021Q 23 help 24 Unlike the other tagging protocols, the 802.1Q config option simply 25 provides helpers for other tagging implementations that might rely on 26 VLAN in one way or another. It is not a complete solution. 27 28 Drivers which use these helpers should select this as dependency. 29 30config NET_DSA_TAG_AR9331 31 tristate "Tag driver for Atheros AR9331 SoC with built-in switch" 32 help 33 Say Y or M if you want to enable support for tagging frames for 34 the Atheros AR9331 SoC with built-in switch. 35 36config NET_DSA_TAG_BRCM_COMMON 37 tristate 38 default n 39 40config NET_DSA_TAG_BRCM 41 tristate "Tag driver for Broadcom switches using in-frame headers" 42 select NET_DSA_TAG_BRCM_COMMON 43 help 44 Say Y if you want to enable support for tagging frames for the 45 Broadcom switches which place the tag after the MAC source address. 46 47config NET_DSA_TAG_BRCM_LEGACY 48 tristate "Tag driver for Broadcom legacy switches using in-frame headers" 49 select NET_DSA_TAG_BRCM_COMMON 50 help 51 Say Y if you want to enable support for tagging frames for the 52 Broadcom legacy switches which place the tag after the MAC source 53 address. 54 55config NET_DSA_TAG_BRCM_PREPEND 56 tristate "Tag driver for Broadcom switches using prepended headers" 57 select NET_DSA_TAG_BRCM_COMMON 58 help 59 Say Y if you want to enable support for tagging frames for the 60 Broadcom switches which places the tag before the Ethernet header 61 (prepended). 62 63config NET_DSA_TAG_HELLCREEK 64 tristate "Tag driver for Hirschmann Hellcreek TSN switches" 65 help 66 Say Y or M if you want to enable support for tagging frames 67 for the Hirschmann Hellcreek TSN switches. 68 69config NET_DSA_TAG_GSWIP 70 tristate "Tag driver for Lantiq / Intel GSWIP switches" 71 help 72 Say Y or M if you want to enable support for tagging frames for the 73 Lantiq / Intel GSWIP switches. 74 75config NET_DSA_TAG_DSA_COMMON 76 tristate 77 78config NET_DSA_TAG_DSA 79 tristate "Tag driver for Marvell switches using DSA headers" 80 select NET_DSA_TAG_DSA_COMMON 81 help 82 Say Y or M if you want to enable support for tagging frames for the 83 Marvell switches which use DSA headers. 84 85config NET_DSA_TAG_EDSA 86 tristate "Tag driver for Marvell switches using EtherType DSA headers" 87 select NET_DSA_TAG_DSA_COMMON 88 help 89 Say Y or M if you want to enable support for tagging frames for the 90 Marvell switches which use EtherType DSA headers. 91 92config NET_DSA_TAG_MTK 93 tristate "Tag driver for Mediatek switches" 94 help 95 Say Y or M if you want to enable support for tagging frames for 96 Mediatek switches. 97 98config NET_DSA_TAG_KSZ 99 tristate "Tag driver for Microchip 8795/9477/9893 families of switches" 100 help 101 Say Y if you want to enable support for tagging frames for the 102 Microchip 8795/9477/9893 families of switches. 103 104config NET_DSA_TAG_RTL4_A 105 tristate "Tag driver for Realtek 4 byte protocol A tags" 106 help 107 Say Y or M if you want to enable support for tagging frames for the 108 Realtek switches with 4 byte protocol A tags, sich as found in 109 the Realtek RTL8366RB. 110 111config NET_DSA_TAG_OCELOT 112 tristate "Tag driver for Ocelot family of switches, using NPI port" 113 select PACKING 114 help 115 Say Y or M if you want to enable NPI tagging for the Ocelot switches 116 (VSC7511, VSC7512, VSC7513, VSC7514, VSC9953, VSC9959). In this mode, 117 the frames over the Ethernet CPU port are prepended with a 118 hardware-defined injection/extraction frame header. Flow control 119 (PAUSE frames) over the CPU port is not supported when operating in 120 this mode. 121 122config NET_DSA_TAG_OCELOT_8021Q 123 tristate "Tag driver for Ocelot family of switches, using VLAN" 124 depends on MSCC_OCELOT_SWITCH_LIB || \ 125 (MSCC_OCELOT_SWITCH_LIB=n && COMPILE_TEST) 126 select NET_DSA_TAG_8021Q 127 help 128 Say Y or M if you want to enable support for tagging frames with a 129 custom VLAN-based header. Frames that require timestamping, such as 130 PTP, are not delivered over Ethernet but over register-based MMIO. 131 Flow control over the CPU port is functional in this mode. When using 132 this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for 133 use with tc-flower. 134 135config NET_DSA_TAG_QCA 136 tristate "Tag driver for Qualcomm Atheros QCA8K switches" 137 help 138 Say Y or M if you want to enable support for tagging frames for 139 the Qualcomm Atheros QCA8K switches. 140 141config NET_DSA_TAG_LAN9303 142 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" 143 help 144 Say Y or M if you want to enable support for tagging frames for the 145 SMSC/Microchip LAN9303 family of switches. 146 147config NET_DSA_TAG_SJA1105 148 tristate "Tag driver for NXP SJA1105 switches" 149 select NET_DSA_TAG_8021Q 150 select PACKING 151 help 152 Say Y or M if you want to enable support for tagging frames with the 153 NXP SJA1105 switch family. Both the native tagging protocol (which 154 is only for link-local traffic) as well as non-native tagging (based 155 on a custom 802.1Q VLAN header) are available. 156 157config NET_DSA_TAG_TRAILER 158 tristate "Tag driver for switches using a trailer tag" 159 help 160 Say Y or M if you want to enable support for tagging frames at 161 with a trailed. e.g. Marvell 88E6060. 162 163config NET_DSA_TAG_XRS700X 164 tristate "Tag driver for XRS700x switches" 165 help 166 Say Y or M if you want to enable support for tagging frames for 167 Arrow SpeedChips XRS700x switches that use a single byte tag trailer. 168 169endif 170