Kconfig 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  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 Broadcom 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. Broadcom legacy switches which place the tag after the MAC source
  42. address.
  43. config NET_DSA_TAG_BRCM_PREPEND
  44. tristate "Tag driver for Broadcom switches using prepended 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 places the tag before the Ethernet header
  49. (prepended).
  50. config NET_DSA_TAG_HELLCREEK
  51. tristate "Tag driver for Hirschmann Hellcreek TSN switches"
  52. help
  53. Say Y or M if you want to enable support for tagging frames
  54. for the Hirschmann Hellcreek TSN switches.
  55. config NET_DSA_TAG_GSWIP
  56. tristate "Tag driver for Lantiq / Intel GSWIP switches"
  57. help
  58. Say Y or M if you want to enable support for tagging frames for the
  59. Lantiq / Intel GSWIP switches.
  60. config NET_DSA_TAG_DSA_COMMON
  61. tristate
  62. config NET_DSA_TAG_DSA
  63. tristate "Tag driver for Marvell switches using DSA headers"
  64. select NET_DSA_TAG_DSA_COMMON
  65. help
  66. Say Y or M if you want to enable support for tagging frames for the
  67. Marvell switches which use DSA headers.
  68. config NET_DSA_TAG_EDSA
  69. tristate "Tag driver for Marvell switches using EtherType DSA headers"
  70. select NET_DSA_TAG_DSA_COMMON
  71. help
  72. Say Y or M if you want to enable support for tagging frames for the
  73. Marvell switches which use EtherType DSA headers.
  74. config NET_DSA_TAG_MTK
  75. tristate "Tag driver for Mediatek switches"
  76. help
  77. Say Y or M if you want to enable support for tagging frames for
  78. Mediatek switches.
  79. config NET_DSA_TAG_KSZ
  80. tristate "Tag driver for Microchip 8795/937x/9477/9893 families of switches"
  81. help
  82. Say Y if you want to enable support for tagging frames for the
  83. Microchip 8795/937x/9477/9893 families of switches.
  84. config NET_DSA_TAG_OCELOT
  85. tristate "Tag driver for Ocelot family of switches, using NPI port"
  86. select PACKING
  87. help
  88. Say Y or M if you want to enable NPI tagging for the Ocelot switches
  89. (VSC7511, VSC7512, VSC7513, VSC7514, VSC9953, VSC9959). In this mode,
  90. the frames over the Ethernet CPU port are prepended with a
  91. hardware-defined injection/extraction frame header. Flow control
  92. (PAUSE frames) over the CPU port is not supported when operating in
  93. this mode.
  94. config NET_DSA_TAG_OCELOT_8021Q
  95. tristate "Tag driver for Ocelot family of switches, using VLAN"
  96. help
  97. Say Y or M if you want to enable support for tagging frames with a
  98. custom VLAN-based header. Frames that require timestamping, such as
  99. PTP, are not delivered over Ethernet but over register-based MMIO.
  100. Flow control over the CPU port is functional in this mode. When using
  101. this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for
  102. use with tc-flower.
  103. config NET_DSA_TAG_QCA
  104. tristate "Tag driver for Qualcomm Atheros QCA8K switches"
  105. help
  106. Say Y or M if you want to enable support for tagging frames for
  107. the Qualcomm Atheros QCA8K switches.
  108. config NET_DSA_TAG_RTL4_A
  109. tristate "Tag driver for Realtek 4 byte protocol A tags"
  110. help
  111. Say Y or M if you want to enable support for tagging frames for the
  112. Realtek switches with 4 byte protocol A tags, such as found in
  113. the Realtek RTL8366RB.
  114. config NET_DSA_TAG_RTL8_4
  115. tristate "Tag driver for Realtek 8 byte protocol 4 tags"
  116. help
  117. Say Y or M if you want to enable support for tagging frames for Realtek
  118. switches with 8 byte protocol 4 tags, such as the Realtek RTL8365MB-VC.
  119. config NET_DSA_TAG_RZN1_A5PSW
  120. tristate "Tag driver for Renesas RZ/N1 A5PSW switch"
  121. help
  122. Say Y or M if you want to enable support for tagging frames for
  123. Renesas RZ/N1 embedded switch that uses an 8 byte tag located after
  124. destination MAC address.
  125. config NET_DSA_TAG_LAN9303
  126. tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
  127. help
  128. Say Y or M if you want to enable support for tagging frames for the
  129. SMSC/Microchip LAN9303 family of switches.
  130. config NET_DSA_TAG_SJA1105
  131. tristate "Tag driver for NXP SJA1105 switches"
  132. select PACKING
  133. help
  134. Say Y or M if you want to enable support for tagging frames with the
  135. NXP SJA1105 switch family. Both the native tagging protocol (which
  136. is only for link-local traffic) as well as non-native tagging (based
  137. on a custom 802.1Q VLAN header) are available.
  138. config NET_DSA_TAG_TRAILER
  139. tristate "Tag driver for switches using a trailer tag"
  140. help
  141. Say Y or M if you want to enable support for tagging frames at
  142. with a trailed. e.g. Marvell 88E6060.
  143. config NET_DSA_TAG_VSC73XX_8021Q
  144. tristate "Tag driver for Microchip/Vitesse VSC73xx family of switches, using VLAN"
  145. help
  146. Say Y or M if you want to enable support for tagging frames with a
  147. custom VLAN-based header.
  148. config NET_DSA_TAG_XRS700X
  149. tristate "Tag driver for XRS700x switches"
  150. help
  151. Say Y or M if you want to enable support for tagging frames for
  152. Arrow SpeedChips XRS700x switches that use a single byte tag trailer.
  153. endif