Kconfig 5.4 KB
Newer Older
1
# SPDX-License-Identifier: GPL-2.0-only
2 3
config HAVE_NET_DSA
	def_bool y
V
Vivien Didelot 已提交
4
	depends on INET && NETDEVICES && !S390
5 6 7

# Drivers must select NET_DSA and the appropriate tagging format

8
menuconfig NET_DSA
9
	tristate "Distributed Switch Architecture"
10
	depends on HAVE_NET_DSA
A
Andrew Lunn 已提交
11
	depends on BRIDGE || BRIDGE=n
12
	depends on HSR || HSR=n
13
	select GRO_CELLS
V
Vivien Didelot 已提交
14
	select NET_SWITCHDEV
15
	select PHYLINK
16
	select NET_DEVLINK
17
	help
18 19
	  Say Y if you want to enable support for the hardware switches supported
	  by the Distributed Switch Architecture.
20

21
if NET_DSA
22

23 24
# tagging formats
config NET_DSA_TAG_8021Q
25
	tristate
26 27 28 29 30 31 32 33
	select VLAN_8021Q
	help
	  Unlike the other tagging protocols, the 802.1Q config option simply
	  provides helpers for other tagging implementations that might rely on
	  VLAN in one way or another. It is not a complete solution.

	  Drivers which use these helpers should select this as dependency.

34 35 36 37 38 39
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.

40 41 42 43
config NET_DSA_TAG_BRCM_COMMON
	tristate
	default n

44
config NET_DSA_TAG_BRCM
45 46 47 48 49 50
	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.

51

52
config NET_DSA_TAG_BRCM_PREPEND
53 54 55 56 57 58 59
	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).

60 61 62 63 64 65
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.

66 67 68 69 70
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.
71

72 73 74
config NET_DSA_TAG_DSA_COMMON
	tristate

75
config NET_DSA_TAG_DSA
76
	tristate "Tag driver for Marvell switches using DSA headers"
77
	select NET_DSA_TAG_DSA_COMMON
78 79 80
	help
	  Say Y or M if you want to enable support for tagging frames for the
	  Marvell switches which use DSA headers.
81

82
config NET_DSA_TAG_EDSA
83
	tristate "Tag driver for Marvell switches using EtherType DSA headers"
84
	select NET_DSA_TAG_DSA_COMMON
85 86 87
	help
	  Say Y or M if you want to enable support for tagging frames for the
	  Marvell switches which use EtherType DSA headers.
88

89 90 91 92 93 94
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.

95
config NET_DSA_TAG_KSZ
96
	tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
97 98
	help
	  Say Y if you want to enable support for tagging frames for the
99
	  Microchip 8795/9477/9893 families of switches.
100

101 102 103 104 105 106 107
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.

108
config NET_DSA_TAG_OCELOT
109
	tristate "Tag driver for Ocelot family of switches, using NPI port"
110 111
	select PACKING
	help
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
	  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"
	select NET_DSA_TAG_8021Q
	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.
129

130 131 132 133 134
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.
135

136 137 138 139 140
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.
141

142 143 144
config NET_DSA_TAG_SJA1105
	tristate "Tag driver for NXP SJA1105 switches"
	select NET_DSA_TAG_8021Q
145
	select PACKING
146 147 148 149 150 151
	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.

152
config NET_DSA_TAG_TRAILER
153 154 155 156
	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.
157

158 159 160 161 162 163
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.

164
endif