d2be320495
There is no reason that I can see why the no-op tagging protocol should be registered manually, so make it a module and make all drivers which have any sort of reference to DSA_TAG_PROTO_NONE select it. Note that I don't know if ksz_get_tag_protocol() really needs this, or if it's just the logic which is poorly written. All switches seem to have their own tagging protocol, and DSA_TAG_PROTO_NONE is just a fallback that never gets used. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
176 lines
5.9 KiB
Plaintext
176 lines
5.9 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
menuconfig NET_DSA
|
|
tristate "Distributed Switch Architecture"
|
|
depends on BRIDGE || BRIDGE=n
|
|
depends on HSR || HSR=n
|
|
depends on INET && NETDEVICES
|
|
select GRO_CELLS
|
|
select NET_SWITCHDEV
|
|
select PHYLINK
|
|
select NET_DEVLINK
|
|
imply NET_SELFTESTS
|
|
help
|
|
Say Y if you want to enable support for the hardware switches supported
|
|
by the Distributed Switch Architecture.
|
|
|
|
if NET_DSA
|
|
|
|
# Drivers must select the appropriate tagging format(s)
|
|
|
|
config NET_DSA_TAG_NONE
|
|
tristate "No-op tag driver"
|
|
help
|
|
Say Y or M if you want to enable support for switches which don't tag
|
|
frames over the CPU port.
|
|
|
|
config NET_DSA_TAG_AR9331
|
|
tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for
|
|
the Atheros AR9331 SoC with built-in switch.
|
|
|
|
config NET_DSA_TAG_BRCM_COMMON
|
|
tristate
|
|
default n
|
|
|
|
config NET_DSA_TAG_BRCM
|
|
tristate "Tag driver for Broadcom switches using in-frame headers"
|
|
select NET_DSA_TAG_BRCM_COMMON
|
|
help
|
|
Say Y if you want to enable support for tagging frames for the
|
|
Broadcom switches which place the tag after the MAC source address.
|
|
|
|
config NET_DSA_TAG_BRCM_LEGACY
|
|
tristate "Tag driver for Broadcom legacy switches using in-frame headers"
|
|
select NET_DSA_TAG_BRCM_COMMON
|
|
help
|
|
Say Y if you want to enable support for tagging frames for the
|
|
Broadcom legacy switches which place the tag after the MAC source
|
|
address.
|
|
|
|
config NET_DSA_TAG_BRCM_PREPEND
|
|
tristate "Tag driver for Broadcom switches using prepended headers"
|
|
select NET_DSA_TAG_BRCM_COMMON
|
|
help
|
|
Say Y if you want to enable support for tagging frames for the
|
|
Broadcom switches which places the tag before the Ethernet header
|
|
(prepended).
|
|
|
|
config NET_DSA_TAG_HELLCREEK
|
|
tristate "Tag driver for Hirschmann Hellcreek TSN switches"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames
|
|
for the Hirschmann Hellcreek TSN switches.
|
|
|
|
config NET_DSA_TAG_GSWIP
|
|
tristate "Tag driver for Lantiq / Intel GSWIP switches"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for the
|
|
Lantiq / Intel GSWIP switches.
|
|
|
|
config NET_DSA_TAG_DSA_COMMON
|
|
tristate
|
|
|
|
config NET_DSA_TAG_DSA
|
|
tristate "Tag driver for Marvell switches using DSA headers"
|
|
select NET_DSA_TAG_DSA_COMMON
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for the
|
|
Marvell switches which use DSA headers.
|
|
|
|
config NET_DSA_TAG_EDSA
|
|
tristate "Tag driver for Marvell switches using EtherType DSA headers"
|
|
select NET_DSA_TAG_DSA_COMMON
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for the
|
|
Marvell switches which use EtherType DSA headers.
|
|
|
|
config NET_DSA_TAG_MTK
|
|
tristate "Tag driver for Mediatek switches"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for
|
|
Mediatek switches.
|
|
|
|
config NET_DSA_TAG_KSZ
|
|
tristate "Tag driver for Microchip 8795/937x/9477/9893 families of switches"
|
|
help
|
|
Say Y if you want to enable support for tagging frames for the
|
|
Microchip 8795/937x/9477/9893 families of switches.
|
|
|
|
config NET_DSA_TAG_OCELOT
|
|
tristate "Tag driver for Ocelot family of switches, using NPI port"
|
|
select PACKING
|
|
help
|
|
Say Y or M if you want to enable NPI tagging for the Ocelot switches
|
|
(VSC7511, VSC7512, VSC7513, VSC7514, VSC9953, VSC9959). In this mode,
|
|
the frames over the Ethernet CPU port are prepended with a
|
|
hardware-defined injection/extraction frame header. Flow control
|
|
(PAUSE frames) over the CPU port is not supported when operating in
|
|
this mode.
|
|
|
|
config NET_DSA_TAG_OCELOT_8021Q
|
|
tristate "Tag driver for Ocelot family of switches, using VLAN"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames with a
|
|
custom VLAN-based header. Frames that require timestamping, such as
|
|
PTP, are not delivered over Ethernet but over register-based MMIO.
|
|
Flow control over the CPU port is functional in this mode. When using
|
|
this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for
|
|
use with tc-flower.
|
|
|
|
config NET_DSA_TAG_QCA
|
|
tristate "Tag driver for Qualcomm Atheros QCA8K switches"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for
|
|
the Qualcomm Atheros QCA8K switches.
|
|
|
|
config NET_DSA_TAG_RTL4_A
|
|
tristate "Tag driver for Realtek 4 byte protocol A tags"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for the
|
|
Realtek switches with 4 byte protocol A tags, sich as found in
|
|
the Realtek RTL8366RB.
|
|
|
|
config NET_DSA_TAG_RTL8_4
|
|
tristate "Tag driver for Realtek 8 byte protocol 4 tags"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for Realtek
|
|
switches with 8 byte protocol 4 tags, such as the Realtek RTL8365MB-VC.
|
|
|
|
config NET_DSA_TAG_RZN1_A5PSW
|
|
tristate "Tag driver for Renesas RZ/N1 A5PSW switch"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for
|
|
Renesas RZ/N1 embedded switch that uses an 8 byte tag located after
|
|
destination MAC address.
|
|
|
|
config NET_DSA_TAG_LAN9303
|
|
tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for the
|
|
SMSC/Microchip LAN9303 family of switches.
|
|
|
|
config NET_DSA_TAG_SJA1105
|
|
tristate "Tag driver for NXP SJA1105 switches"
|
|
select PACKING
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames with the
|
|
NXP SJA1105 switch family. Both the native tagging protocol (which
|
|
is only for link-local traffic) as well as non-native tagging (based
|
|
on a custom 802.1Q VLAN header) are available.
|
|
|
|
config NET_DSA_TAG_TRAILER
|
|
tristate "Tag driver for switches using a trailer tag"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames at
|
|
with a trailed. e.g. Marvell 88E6060.
|
|
|
|
config NET_DSA_TAG_XRS700X
|
|
tristate "Tag driver for XRS700x switches"
|
|
help
|
|
Say Y or M if you want to enable support for tagging frames for
|
|
Arrow SpeedChips XRS700x switches that use a single byte tag trailer.
|
|
|
|
endif
|