Kconfig 7.3 KB

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