Kconfig 5.7 KB

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