tdl-xoa-driver 1.3.0__py3-none-any.whl → 1.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/METADATA +5 -5
  2. tdl_xoa_driver-1.4.0.dist-info/RECORD +218 -0
  3. xoa_driver/__init__.py +2 -2
  4. xoa_driver/functions/anlt.py +2 -2
  5. xoa_driver/functions/mgmt.py +11 -20
  6. xoa_driver/hlfuncs.py +1 -1
  7. xoa_driver/internals/commands/p_commands.py +12 -10
  8. xoa_driver/internals/commands/pt_commands.py +21 -1
  9. xoa_driver/internals/commands/px_commands.py +1686 -6
  10. xoa_driver/internals/core/transporter/_request_id_counter.py +1 -1
  11. xoa_driver/internals/core/transporter/protocol/payload/__init__.py +3 -1
  12. xoa_driver/internals/core/transporter/protocol/payload/field.py +41 -0
  13. xoa_driver/internals/core/transporter/protocol/payload/types.py +19 -0
  14. xoa_driver/internals/{hli_v1 → hli}/indices/filter/base_filter.py +1 -1
  15. xoa_driver/internals/{hli_v1 → hli}/indices/length_term.py +1 -1
  16. xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/base_macsecsc.py +2 -2
  17. xoa_driver/internals/{hli_v1 → hli}/indices/match_term.py +1 -1
  18. xoa_driver/internals/{hli_v1 → hli}/indices/port_dataset.py +1 -1
  19. xoa_driver/internals/{hli_v1 → hli}/indices/streams/base_stream.py +1 -1
  20. xoa_driver/internals/{hli_v1 → hli}/modules/module_chimera.py +3 -3
  21. xoa_driver/internals/{hli_v1 → hli}/modules/module_l47.py +1 -1
  22. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_combi.py +1 -1
  23. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_d.py +1 -1
  24. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_e.py +1 -1
  25. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_f.py +1 -1
  26. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_g.py +17 -2
  27. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_h.py +1 -1
  28. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_i.py +1 -1
  29. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_j.py +1 -1
  30. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_k.py +1 -1
  31. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_l.py +1 -1
  32. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_l1.py +1 -1
  33. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_m.py +1 -1
  34. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_n.py +1 -1
  35. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/module_l23_base.py +1 -1
  36. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_l23.py +3 -3
  37. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_l23_genuine.py +4 -4
  38. xoa_driver/internals/hli/ports/port_l23/bases/port_transceiver.py +247 -0
  39. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_transmission_statistics.py +1 -1
  40. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/port_chimera.py +1 -1
  41. xoa_driver/internals/{hli_v2 → hli}/ports/port_l23/family_g.py +5 -0
  42. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/port_l23ve.py +2 -2
  43. xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/main.py +2 -2
  44. xoa_driver/internals/{hli_v1 → hli}/testers/l23_tester.py +1 -1
  45. xoa_driver/internals/{hli_v1 → hli}/testers/l47_tester.py +2 -2
  46. xoa_driver/misc.py +12 -17
  47. xoa_driver/modules.py +18 -22
  48. xoa_driver/ports.py +20 -20
  49. xoa_driver/testers.py +4 -8
  50. tdl_xoa_driver-1.3.0.dist-info/RECORD +0 -325
  51. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +0 -117
  52. xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +0 -77
  53. xoa_driver/internals/hli_v2/__init__.py +0 -0
  54. xoa_driver/internals/hli_v2/indices/__init__.py +0 -0
  55. xoa_driver/internals/hli_v2/indices/base_index.py +0 -39
  56. xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
  57. xoa_driver/internals/hli_v2/indices/connection_group/cg.py +0 -115
  58. xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +0 -59
  59. xoa_driver/internals/hli_v2/indices/connection_group/l2.py +0 -71
  60. xoa_driver/internals/hli_v2/indices/connection_group/l3.py +0 -96
  61. xoa_driver/internals/hli_v2/indices/connection_group/raw.py +0 -148
  62. xoa_driver/internals/hli_v2/indices/connection_group/replay.py +0 -89
  63. xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +0 -261
  64. xoa_driver/internals/hli_v2/indices/connection_group/tls.py +0 -166
  65. xoa_driver/internals/hli_v2/indices/connection_group/udp.py +0 -112
  66. xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +0 -25
  67. xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
  68. xoa_driver/internals/hli_v2/indices/filter/base_filter.py +0 -50
  69. xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +0 -17
  70. xoa_driver/internals/hli_v2/indices/length_term.py +0 -44
  71. xoa_driver/internals/hli_v2/indices/match_term.py +0 -49
  72. xoa_driver/internals/hli_v2/indices/port_dataset.py +0 -53
  73. xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
  74. xoa_driver/internals/hli_v2/indices/streams/base_stream.py +0 -234
  75. xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +0 -32
  76. xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
  77. xoa_driver/internals/hli_v2/modules/__interfaces.py +0 -21
  78. xoa_driver/internals/hli_v2/modules/base_module.py +0 -125
  79. xoa_driver/internals/hli_v2/modules/module_chimera.py +0 -358
  80. xoa_driver/internals/hli_v2/modules/module_l23ve.py +0 -58
  81. xoa_driver/internals/hli_v2/modules/module_l47.py +0 -230
  82. xoa_driver/internals/hli_v2/modules/module_l47ve.py +0 -8
  83. xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
  84. xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +0 -73
  85. xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +0 -75
  86. xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +0 -85
  87. xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +0 -144
  88. xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +0 -84
  89. xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +0 -40
  90. xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +0 -25
  91. xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +0 -25
  92. xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +0 -39
  93. xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +0 -55
  94. xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +0 -797
  95. xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +0 -25
  96. xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +0 -40
  97. xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +0 -339
  98. xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
  99. xoa_driver/internals/hli_v2/ports/base_port.py +0 -105
  100. xoa_driver/internals/hli_v2/ports/port_l23/__init__.py +0 -0
  101. xoa_driver/internals/hli_v2/ports/port_l23/bases/__init__.py +0 -0
  102. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_capture.py +0 -64
  103. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +0 -441
  104. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +0 -172
  105. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +0 -156
  106. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +0 -117
  107. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +0 -59
  108. xoa_driver/internals/hli_v2/ports/port_l23/chimera/__init__.py +0 -0
  109. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  110. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/_utils.py +0 -15
  111. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +0 -340
  112. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +0 -99
  113. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +0 -36
  114. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +0 -116
  115. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +0 -102
  116. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +0 -113
  117. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +0 -420
  118. xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +0 -22
  119. xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +0 -22
  120. xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +0 -36
  121. xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +0 -49
  122. xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +0 -96
  123. xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +0 -144
  124. xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +0 -60
  125. xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +0 -66
  126. xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +0 -53
  127. xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +0 -58
  128. xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +0 -67
  129. xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +0 -149
  130. xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +0 -28
  131. xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +0 -22
  132. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +0 -342
  133. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +0 -50
  134. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +0 -65
  135. xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +0 -81
  136. xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
  137. xoa_driver/internals/hli_v2/ports/port_l47/counters.py +0 -146
  138. xoa_driver/internals/hli_v2/ports/port_l47/main.py +0 -137
  139. xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +0 -20
  140. xoa_driver/internals/hli_v2/revisions.py +0 -11
  141. xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
  142. xoa_driver/internals/hli_v2/testers/_base_tester.py +0 -207
  143. xoa_driver/internals/hli_v2/testers/genuine/__init__.py +0 -0
  144. xoa_driver/internals/hli_v2/testers/genuine/l_23/__init__.py +0 -0
  145. xoa_driver/internals/hli_v2/testers/genuine/l_23/health.py +0 -16
  146. xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +0 -34
  147. xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +0 -50
  148. xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +0 -26
  149. xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +0 -38
  150. xoa_driver/internals/hli_v2/testers/l23_tester.py +0 -159
  151. xoa_driver/internals/hli_v2/testers/l23ve_tester.py +0 -98
  152. xoa_driver/internals/hli_v2/testers/l47_tester.py +0 -95
  153. xoa_driver/internals/hli_v2/testers/l47ve_tester.py +0 -50
  154. xoa_driver/v2/__init__.py +0 -11
  155. xoa_driver/v2/misc.py +0 -77
  156. xoa_driver/v2/modules.py +0 -308
  157. xoa_driver/v2/ports.py +0 -232
  158. xoa_driver/v2/testers.py +0 -24
  159. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/WHEEL +0 -0
  160. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/licenses/LICENSE +0 -0
  161. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/top_level.txt +0 -0
  162. /xoa_driver/internals/{hli_v1 → hli}/__init__.py +0 -0
  163. /xoa_driver/internals/{hli_v1 → hli}/indices/__init__.py +0 -0
  164. /xoa_driver/internals/{hli_v1 → hli}/indices/base_index.py +0 -0
  165. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/__init__.py +0 -0
  166. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/cg.py +0 -0
  167. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/histogram.py +0 -0
  168. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/l2.py +0 -0
  169. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/l3.py +0 -0
  170. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/raw.py +0 -0
  171. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/replay.py +0 -0
  172. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/tcp.py +0 -0
  173. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/tls.py +0 -0
  174. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/udp.py +0 -0
  175. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/user_state.py +0 -0
  176. /xoa_driver/internals/{hli_v1 → hli}/indices/filter/__init__.py +0 -0
  177. /xoa_driver/internals/{hli_v1 → hli}/indices/filter/genuine_filter.py +0 -0
  178. /xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/__init__.py +0 -0
  179. /xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/genuine_macsecsc.py +0 -0
  180. /xoa_driver/internals/{hli_v1 → hli}/indices/streams/__init__.py +0 -0
  181. /xoa_driver/internals/{hli_v1 → hli}/indices/streams/genuine_stream.py +0 -0
  182. /xoa_driver/internals/{hli_v1 → hli}/modules/__init__.py +0 -0
  183. /xoa_driver/internals/{hli_v1 → hli}/modules/__interfaces.py +0 -0
  184. /xoa_driver/internals/{hli_v1 → hli}/modules/base_module.py +0 -0
  185. /xoa_driver/internals/{hli_v1 → hli}/modules/module_l23ve.py +0 -0
  186. /xoa_driver/internals/{hli_v1 → hli}/modules/module_l47ve.py +0 -0
  187. /xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/__init__.py +0 -0
  188. /xoa_driver/internals/{hli_v1 → hli}/ports/__init__.py +0 -0
  189. /xoa_driver/internals/{hli_v1 → hli}/ports/base_port.py +0 -0
  190. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/__init__.py +0 -0
  191. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/__init__.py +0 -0
  192. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_capture.py +0 -0
  193. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_reception_statistics.py +0 -0
  194. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/__init__.py +0 -0
  195. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  196. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/_utils.py +0 -0
  197. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/general.py +0 -0
  198. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/shadow.py +0 -0
  199. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/working.py +0 -0
  200. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/pe_custom_distribution.py +0 -0
  201. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/pe_distribution.py +0 -0
  202. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/port_emulation.py +0 -0
  203. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/reception_statistics.py +0 -0
  204. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/transmission_statistics.py +0 -0
  205. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_combi.py +0 -0
  206. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_d.py +0 -0
  207. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_e.py +0 -0
  208. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_f.py +0 -0
  209. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_h.py +0 -0
  210. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_i.py +0 -0
  211. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_j.py +0 -0
  212. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_k.py +0 -0
  213. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_l.py +0 -0
  214. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_l1.py +0 -0
  215. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_m.py +0 -0
  216. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/fault_jkl.py +0 -0
  217. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/freya_l1.py +0 -0
  218. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_ghijkl.py +0 -0
  219. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_ijkl_chimera.py +0 -0
  220. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_l.py +0 -0
  221. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/__init__.py +0 -0
  222. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/counters.py +0 -0
  223. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/packet_engine.py +0 -0
  224. /xoa_driver/internals/{hli_v1 → hli}/revisions.py +0 -0
  225. /xoa_driver/internals/{hli_v1 → hli}/testers/__init__.py +0 -0
  226. /xoa_driver/internals/{hli_v1 → hli}/testers/_base_tester.py +0 -0
  227. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/__init__.py +0 -0
  228. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/__init__.py +0 -0
  229. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/health.py +0 -0
  230. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/rest_api.py +0 -0
  231. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/time_keeper.py +0 -0
  232. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/upload_file.py +0 -0
  233. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/management_interface.py +0 -0
  234. /xoa_driver/internals/{hli_v1 → hli}/testers/l23ve_tester.py +0 -0
  235. /xoa_driver/internals/{hli_v1 → hli}/testers/l47ve_tester.py +0 -0
@@ -1,420 +0,0 @@
1
- from typing import (
2
- TYPE_CHECKING,
3
- Tuple,
4
- )
5
- from xoa_driver.internals.commands.enums import ImpairmentTypeIndex
6
- from xoa_driver.internals.commands.ped_commands import PED_ENABLE, PED_ONESHOTSTATUS, PED_SCHEDULE
7
-
8
- if TYPE_CHECKING:
9
- from xoa_driver.internals.core import interfaces as itf
10
-
11
- from xoa_driver.internals.commands import (
12
- PE_FCSDROP,
13
- PE_TPLDMODE,
14
- PE_COMMENT,
15
- PE_INDICES,
16
- PE_LATENCYRANGE,
17
- PE_CORRUPT,
18
- PE_MISORDER,
19
- PE_BANDPOLICER,
20
- PE_BANDSHAPER,
21
- PE_DROPTOTAL,
22
- PE_LATENCYTOTAL,
23
- PE_DUPTOTAL,
24
- PE_MISTOTAL,
25
- PE_CORTOTAL,
26
- PE_JITTERTOTAL,
27
- PE_CLEAR,
28
- PE_FLOWDROPTOTAL,
29
- PE_FLOWLATENCYTOTAL,
30
- PE_FLOWDUPTOTAL,
31
- PE_FLOWMISTOTAL,
32
- PE_FLOWCORTOTAL,
33
- PE_FLOWJITTERTOTAL,
34
- PE_FLOWCLEAR,
35
- )
36
-
37
- from .reception_statistics import ReceptionStatistics
38
- from .transmission_statistics import TransmissionStatistics
39
- from .pe_distribution import ImpairmentDistribution
40
- from .filter_definition import (
41
- shadow,
42
- working,
43
- )
44
-
45
-
46
- class CTotalFlow:
47
- """Total flow statistics."""
48
-
49
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
50
- self.dropped = PE_FLOWDROPTOTAL(conn, module_id, port_id, flow_index)
51
- """Statistics of all packets dropped in a flow.
52
- Representation of PE_FLOWDROPTOTAL
53
- """
54
-
55
- self.delayed = PE_FLOWLATENCYTOTAL(conn, module_id, port_id, flow_index)
56
- """Statistics of all packets delayed in a flow.
57
- Representation of PE_FLOWLATENCYTOTAL
58
- """
59
-
60
- self.duplicated = PE_FLOWDUPTOTAL(conn, module_id, port_id, flow_index)
61
- """Statistics of all packets duplicate in a flow.
62
- Representation of PE_FLOWDUPTOTAL
63
- """
64
-
65
- self.misordered = PE_FLOWMISTOTAL(conn, module_id, port_id, flow_index)
66
- """Statistics of all packets misordered in a flow.
67
- Representation of PE_FLOWMISTOTAL
68
- """
69
-
70
- self.corrupted = PE_FLOWCORTOTAL(conn, module_id, port_id, flow_index)
71
- """Statistics of all packets corrupted in a flow.
72
- Representation of PE_FLOWCORTOTAL
73
- """
74
-
75
- self.jittered = PE_FLOWJITTERTOTAL(conn, module_id, port_id, flow_index)
76
- """Statistics of all packets jittered in a flow.
77
- Representation of PE_FLOWJITTERTOTAL
78
- """
79
-
80
-
81
- class StatisticsTotals:
82
- """Total port statistics."""
83
-
84
- def __init__(self, conn, module_id, port_id) -> None:
85
- self.dropped = PE_DROPTOTAL(conn, module_id, port_id)
86
- """Statistics of all packets dropped on the port.
87
- Representation of PE_DROPTOTAL
88
- """
89
-
90
- self.delayed = PE_LATENCYTOTAL(conn, module_id, port_id)
91
- """Statistics of all packets delayed on the port.
92
- Representation of PE_LATENCYTOTAL
93
- """
94
-
95
- self.duplicated = PE_DUPTOTAL(conn, module_id, port_id)
96
- """Statistics of all packets duplicated on the port.
97
- Representation of PE_DUPTOTAL
98
- """
99
-
100
- self.misordered = PE_MISTOTAL(conn, module_id, port_id)
101
- """Statistics of all packets mirordered on the port.
102
- Representation of PE_MISTOTAL
103
- """
104
-
105
- self.corrupted = PE_CORTOTAL(conn, module_id, port_id)
106
- """Statistics of all packets corrupted on the port.
107
- Representation of PE_CORTOTAL
108
- """
109
-
110
- self.jittered = PE_JITTERTOTAL(conn, module_id, port_id)
111
- """Statistics of all packets jittered on the port.
112
- Representation of PE_JITTERTOTAL
113
- """
114
-
115
- self.fcs_errors = PE_FCSDROP(conn, module_id, port_id)
116
- """Action on FCS errors.
117
- Representation of PE_FCSDROP
118
- """
119
-
120
- self.clear = PE_CLEAR(conn, module_id, port_id)
121
- """Clear impairment statistics.
122
- Representation of PE_CLEAR
123
- """
124
-
125
-
126
- class CFlowStatistics:
127
- """Per flow statistics."""
128
-
129
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
130
- self.rx = ReceptionStatistics(conn, module_id, port_id, flow_index)
131
- """RX statistics."""
132
-
133
- self.tx = TransmissionStatistics(conn, module_id, port_id, flow_index)
134
- """TX statistics."""
135
-
136
- self.total = CTotalFlow(conn, module_id, port_id, flow_index)
137
- """Total flow statistics."""
138
-
139
- self.clear = PE_FLOWCLEAR(conn, module_id, port_id, flow_index)
140
- """Clear the impairment statistics on a flow.
141
- Representation of PE_FLOWCLEAR
142
- """
143
-
144
-
145
- class CBandwidth:
146
- """Bandwidth configuration."""
147
-
148
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
149
- self.policer = PE_BANDPOLICER(conn, module_id, port_id, flow_index)
150
- """Bandwidth policer configuration.
151
- Representation of PE_BANDPOLICER
152
- """
153
-
154
- self.shaper = PE_BANDSHAPER(conn, module_id, port_id, flow_index)
155
- """Bandwidth shaper configuration.
156
- Representation of PE_BANDSHAPER
157
- """
158
-
159
-
160
- class ChimeraPE:
161
- """Port Emulation"""
162
-
163
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
164
- self._conn = conn
165
- self.module_id = module_id
166
- self.port_id = port_id
167
- self.drop_fcs_errors = PE_FCSDROP(conn, module_id, port_id)
168
- """Action on FCS errors.
169
- Representation of PE_FCSDROP
170
- """
171
-
172
- self.clear = PE_CLEAR(conn, module_id, port_id)
173
- """Clear impairment statistics.
174
- Representation of PE_CLEAR
175
- """
176
-
177
- self.statistics = StatisticsTotals(conn, module_id, port_id)
178
- """Total port statistics."""
179
-
180
- self.tpld_mode = PE_TPLDMODE(conn, module_id, port_id)
181
- """TPLD mode.
182
- Representation of PE_TPLDMODE
183
- """
184
-
185
- self.flow: Tuple["CFlow", ...] = tuple()
186
-
187
- def __await__(self):
188
- return self._setup().__await__()
189
-
190
- async def _setup(self) -> None:
191
- indices = await PE_INDICES(self._conn, self.module_id, self.port_id).get()
192
- self.flow = tuple(
193
- CFlow(self._conn, self.module_id, self.port_id, idx)
194
- for idx in indices.to_tuple()
195
- )
196
-
197
-
198
- class CTotalFlowStats:
199
- """Total flow statistics."""
200
-
201
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
202
- self.dropped = PE_FLOWDROPTOTAL(conn, module_id, port_id, flow_index)
203
- """Statistics of all packets dropped in a flow.
204
- Representation of PE_FLOWDROPTOTAL
205
- """
206
-
207
- self.delayed = PE_FLOWLATENCYTOTAL(conn, module_id, port_id, flow_index)
208
- """Statistics of all packets delayed in a flow.
209
- Representation of PE_FLOWLATENCYTOTAL
210
- """
211
-
212
- self.duplicated = PE_FLOWDUPTOTAL(conn, module_id, port_id, flow_index)
213
- """Statistics of all packets duplicate in a flow.
214
- Representation of PE_FLOWDUPTOTAL
215
- """
216
-
217
- self.misordered = PE_FLOWMISTOTAL(conn, module_id, port_id, flow_index)
218
- """Statistics of all packets misordered in a flow.
219
- Representation of PE_FLOWMISTOTAL
220
- """
221
-
222
- self.corrupted = PE_FLOWCORTOTAL(conn, module_id, port_id, flow_index)
223
- """Statistics of all packets corrupted in a flow.
224
- Representation of PE_FLOWCORTOTAL
225
- """
226
-
227
- self.jittered = PE_FLOWJITTERTOTAL(conn, module_id, port_id, flow_index)
228
- """Statistics of all packets jittered in a flow.
229
- Representation of PE_FLOWJITTERTOTAL
230
- """
231
-
232
-
233
- class CPerFlowStats:
234
- """Per flow statistics."""
235
-
236
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
237
- self.rx = ReceptionStatistics(conn, module_id, port_id, flow_index)
238
- """RX statistics."""
239
-
240
- self.tx = TransmissionStatistics(conn, module_id, port_id, flow_index)
241
- """TX statistics."""
242
-
243
- self.total = CTotalFlowStats(conn, module_id, port_id, flow_index)
244
- """Total flow statistics."""
245
-
246
- self.clear = PE_FLOWCLEAR(conn, module_id, port_id, flow_index)
247
- """Clear the impairment statistics on a flow.
248
- Representation of PE_FLOWCLEAR
249
- """
250
-
251
-
252
- class CDropImpairment:
253
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
254
- self.distribution = ImpairmentDistribution(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.DROP)
255
-
256
- self.schedule = PED_SCHEDULE(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.DROP)
257
- """Impairment scheduling configuration.
258
- Representation of PED_SCHEDULE
259
- """
260
-
261
- self.one_shot_status = PED_ONESHOTSTATUS(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.DROP)
262
- """One-shot status.
263
- Representation of PED_ONESHOTSTATUS
264
- """
265
-
266
- self.enable = PED_ENABLE(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.DROP)
267
- """Impairment distribution control.
268
- Representation of PED_ENABLE
269
- """
270
-
271
-
272
- class CCorruptionImpairment:
273
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
274
-
275
- self.type = PE_CORRUPT(conn, module_id, port_id, flow_index)
276
- """Bandwidth policer configuration.
277
- Representation of PE_BANDPOLICER
278
- """
279
-
280
- self.distribution = ImpairmentDistribution(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.CORRUPTION)
281
-
282
- self.schedule = PED_SCHEDULE(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.CORRUPTION)
283
- """Impairment scheduling configuration.
284
- Representation of PED_SCHEDULE
285
- """
286
-
287
- self.one_shot_status = PED_ONESHOTSTATUS(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.CORRUPTION)
288
- """One-shot status.
289
- Representation of PED_ONESHOTSTATUS
290
- """
291
-
292
- self.enable = PED_ENABLE(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.CORRUPTION)
293
- """Impairment distribution control.
294
- Representation of PED_ENABLE
295
- """
296
-
297
-
298
- class CMisorderingImpairment:
299
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
300
- self.depth = PE_MISORDER(conn, module_id, port_id, flow_index)
301
- """Misordering depth
302
- Representation of PE_MISORDER
303
- """
304
-
305
- self.distribution = ImpairmentDistribution(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.MISORDER)
306
-
307
- self.schedule = PED_SCHEDULE(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.MISORDER)
308
- """Impairment scheduling configuration.
309
- Representation of PED_SCHEDULE
310
- """
311
-
312
- self.one_shot_status = PED_ONESHOTSTATUS(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.MISORDER)
313
- """One-shot status.
314
- Representation of PED_ONESHOTSTATUS
315
- """
316
-
317
- self.enable = PED_ENABLE(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.MISORDER)
318
- """Impairment distribution control.
319
- Representation of PED_ENABLE
320
- """
321
-
322
-
323
- class CLatencyJitterImpairment:
324
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
325
-
326
- self.range = PE_LATENCYRANGE(conn, module_id, port_id, flow_index)
327
- """Flow latency range.
328
- Representation of PE_LATENCYRANGE
329
- """
330
-
331
- self.distribution = ImpairmentDistribution(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.LATENCYJITTER)
332
-
333
- self.schedule = PED_SCHEDULE(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.LATENCYJITTER)
334
- """Impairment scheduling configuration.
335
- Representation of PED_SCHEDULE
336
- """
337
-
338
- self.one_shot_status = PED_ONESHOTSTATUS(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.LATENCYJITTER)
339
- """One-shot status.
340
- Representation of PED_ONESHOTSTATUS
341
- """
342
-
343
- self.enable = PED_ENABLE(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.LATENCYJITTER)
344
- """Impairment distribution control.
345
- Representation of PED_ENABLE
346
- """
347
-
348
-
349
- class CDuplicationImpairment:
350
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
351
-
352
- self.distribution = ImpairmentDistribution(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.DUPLICATION)
353
-
354
- self.schedule = PED_SCHEDULE(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.DUPLICATION)
355
- """Impairment scheduling configuration.
356
- Representation of PED_SCHEDULE
357
- """
358
-
359
- self.one_shot_status = PED_ONESHOTSTATUS(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.DUPLICATION)
360
- """One-shot status.
361
- Representation of PED_ONESHOTSTATUS
362
- """
363
-
364
- self.enable = PED_ENABLE(conn, module_id, port_id, flow_index, ImpairmentTypeIndex.DUPLICATION)
365
- """Impairment distribution control.
366
- Representation of PED_ENABLE
367
- """
368
-
369
-
370
- class CShaperImpairment:
371
- """Bandwidth shaper impairment configuration."""
372
-
373
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
374
- self.config = PE_BANDSHAPER(conn, module_id, port_id, flow_index)
375
- """Bandwidth shaper configuration.
376
- Representation of PE_BANDSHAPER
377
- """
378
-
379
-
380
- class CPolicerImpairment:
381
- """Bandwidth policer impairment configuration."""
382
-
383
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
384
- self.config = PE_BANDPOLICER(conn, module_id, port_id, flow_index)
385
- """Bandwidth policer configuration.
386
- Representation of PE_BANDPOLICER
387
- """
388
-
389
-
390
- class CFlow:
391
- """Flow settings."""
392
-
393
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
394
- self.comment = PE_COMMENT(conn, module_id, port_id, flow_index)
395
- """Flow description.
396
- Representation of PE_COMMENT
397
- """
398
-
399
- self.statistics = CPerFlowStats(conn, module_id, port_id, flow_index)
400
- """Flow statistics."""
401
-
402
- self.shadow_filter = shadow.FilterDefinitionShadow(conn, module_id, port_id, flow_index)
403
- """Shadow copy."""
404
-
405
- self.working_filter = working.FilterDefinitionWorking(conn, module_id, port_id, flow_index)
406
- """Working copy."""
407
-
408
- self.drop = CDropImpairment(conn, module_id, port_id, flow_index)
409
-
410
- self.misordering = CMisorderingImpairment(conn, module_id, port_id, flow_index)
411
-
412
- self.latency_jitter = CLatencyJitterImpairment(conn, module_id, port_id, flow_index)
413
-
414
- self.duplication = CDuplicationImpairment(conn, module_id, port_id, flow_index)
415
-
416
- self.corruption = CCorruptionImpairment(conn, module_id, port_id, flow_index)
417
-
418
- self.policer = CPolicerImpairment(conn, module_id, port_id, flow_index)
419
-
420
- self.shaper = CShaperImpairment(conn, module_id, port_id, flow_index)
@@ -1,22 +0,0 @@
1
- from typing import TYPE_CHECKING
2
- if TYPE_CHECKING:
3
- from xoa_driver.internals.core import interfaces as itf
4
- from xoa_driver.internals.commands import (
5
- PR_FLOWTOTAL,
6
- PR_FLOWCLEAR,
7
- )
8
-
9
-
10
- class ReceptionStatistics:
11
- """Chimera RX statistics."""
12
-
13
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
14
- self.total = PR_FLOWTOTAL(conn, module_id, port_id, flow_index)
15
- """RX statistics of a flow.
16
- Representation of PR_FLOWTOTAL
17
- """
18
-
19
- self.clear = PR_FLOWCLEAR(conn, module_id, port_id, flow_index)
20
- """Clear RX statistics of a flow.
21
- Representation of PR_FLOWCLEAR
22
- """
@@ -1,22 +0,0 @@
1
- from typing import TYPE_CHECKING
2
- if TYPE_CHECKING:
3
- from xoa_driver.internals.core import interfaces as itf
4
- from xoa_driver.internals.commands import (
5
- PT_FLOWTOTAL,
6
- PT_FLOWCLEAR,
7
- )
8
-
9
-
10
- class TransmissionStatistics:
11
- """Chimera TX statistics."""
12
-
13
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, flow_index: int) -> None:
14
- self.total = PT_FLOWTOTAL(conn, module_id, port_id, flow_index)
15
- """TX statistics of a flow.
16
- Representation of PT_FLOWTOTAL
17
- """
18
-
19
- self.clear = PT_FLOWCLEAR(conn, module_id, port_id, flow_index)
20
- """Clear TX statistics of a flow.
21
- Representation of PT_FLOWCLEAR
22
- """
@@ -1,36 +0,0 @@
1
- from typing import TYPE_CHECKING
2
- from xoa_driver.internals.commands import P_AUTONEGSELECTION
3
- if TYPE_CHECKING:
4
- from xoa_driver.internals.core import interfaces as itf
5
-
6
- from .bases.port_l23_genuine import BasePortL23Genuine
7
- from . import family_f
8
-
9
-
10
- class POdin1G4S4PCombi(BasePortL23Genuine):
11
- """L23 ports that supports MDI/MDIX and """
12
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
13
- super().__init__(conn, module_id, port_id)
14
-
15
- self.autoneg_selection = P_AUTONEGSELECTION(conn, module_id, port_id)
16
- """L23 port's auto-negotiation selection.
17
- Representation of P_AUTONEGSELECTION`
18
- """
19
-
20
-
21
- class POdin1G4S4PCombi_b(POdin1G4S4PCombi):
22
- """L23 port on Odin-1G-4S-2P-Combi_b module.
23
- """
24
- ...
25
-
26
-
27
- class POdin10G4S2PCombi(family_f.FamilyF):
28
- """L23 port on Odin-10G-4S-2P-Combi module.
29
- """
30
- ...
31
-
32
-
33
- class POdin10G4S2PCombi_b(family_f.FamilyF):
34
- """L23 port on Odin-10G-4S-2P-Combi_b module.
35
- """
36
- ...
@@ -1,49 +0,0 @@
1
- from typing import TYPE_CHECKING
2
- from xoa_driver.internals.commands import (
3
- P_MDIXMODE,
4
- P_AUTONEGSELECTION,
5
- )
6
- if TYPE_CHECKING:
7
- from xoa_driver.internals.core import interfaces as itf
8
-
9
- from .bases.port_l23_genuine import BasePortL23Genuine
10
-
11
-
12
- class FamilyD(BasePortL23Genuine):
13
- """L23 ports that supports MDI/MDIX and """
14
-
15
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
16
- super().__init__(conn, module_id, port_id)
17
- self.mdix_mode = P_MDIXMODE(conn, module_id, port_id)
18
- """L23 port's MDI/MDIX mode.
19
- Representation of P_MDIXMODE
20
- """
21
-
22
- self.autoneg_selection = P_AUTONEGSELECTION(conn, module_id, port_id)
23
- """L23 port's auto-negotiation selection.
24
- Representation of P_AUTONEGSELECTION
25
- """
26
-
27
-
28
- class POdin1G3S6P(FamilyD):
29
- """L23 port on Odin-1G-3S-6P module.
30
- """
31
- ...
32
-
33
-
34
- class POdin1G3S6P_b(FamilyD):
35
- """L23 port on Odin-1G-3S-6P[b] module.
36
- """
37
- ...
38
-
39
-
40
- class POdin1G3S6PE(FamilyD):
41
- """L23 port on Odin-1G-3S-6P-E module.
42
- """
43
- ...
44
-
45
-
46
- class POdin1G3S2PT(FamilyD):
47
- """L23 port on Odin-1G-3S-2P-T module.
48
- """
49
- ...
@@ -1,96 +0,0 @@
1
- from typing import TYPE_CHECKING
2
- from xoa_driver.internals.commands import (
3
- P_AUTONEGSELECTION, # questionable which ports are electrical
4
- P_LPENABLE,
5
- P_LPTXMODE,
6
- P_LPSTATUS,
7
- P_LPPARTNERAUTONEG,
8
- P_LPSNRMARGIN,
9
- P_LPRXPOWER,
10
- P_LPSUPPORT,
11
- )
12
- if TYPE_CHECKING:
13
- from xoa_driver.internals.core import interfaces as itf
14
-
15
- from .bases.port_l23_genuine import BasePortL23Genuine
16
-
17
-
18
- class LowPowerMode:
19
- """L23 port low power mode."""
20
-
21
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
22
- self.enable = P_LPENABLE(conn, module_id, port_id)
23
- """Energy Efficiency Ethernet.
24
- Representation of P_LPENABLE
25
- """
26
-
27
- self.mode = P_LPTXMODE(conn, module_id, port_id)
28
- """Low power TX mode.
29
- Representation of P_LPTXMODE
30
- """
31
- self.status = P_LPSTATUS(conn, module_id, port_id)
32
- """Low power status.
33
- Representation of P_LPSTATUS
34
- """
35
-
36
- self.partner_capabilities = P_LPPARTNERAUTONEG(conn, module_id, port_id)
37
- """EEE capabilities advertised during auto-negotiation by the far side.
38
- Representation of P_LPPARTNERAUTONEG
39
- """
40
-
41
- self.snr_margin = P_LPSNRMARGIN(conn, module_id, port_id)
42
- """SNR margin on the four link channels by the PHY.
43
- Representation of P_LPSNRMARGIN
44
- """
45
-
46
- self.rx_power = P_LPRXPOWER(conn, module_id, port_id)
47
- """RX power recorded during training for the four channels.
48
- Representation of P_LPRXPOWER
49
- """
50
-
51
- self.capabilities = P_LPSUPPORT(conn, module_id, port_id)
52
- """EEE capabilities of the port.
53
- Representation of P_LPSUPPORT
54
- """
55
-
56
-
57
- class FamilyE(BasePortL23Genuine):
58
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
59
- super().__init__(conn, module_id, port_id)
60
- self.autoneg_selection = P_AUTONEGSELECTION(conn, module_id, port_id)
61
- """L23 port's auto-negotiation selection.
62
- Representation of P_AUTONEGSELECTION
63
- """
64
-
65
- self.eee = LowPowerMode(conn, module_id, port_id)
66
- """L23 port Low Power mode settings."""
67
-
68
-
69
- class POdin5G4S6PCU(FamilyE):
70
- """L23 port on Odin-5G-4S-6P-CU module.
71
- """
72
- ...
73
-
74
-
75
- class POdin10G5S6PCU(FamilyE):
76
- """L23 port on Odin-10G-5S-6P-CU module.
77
- """
78
- ...
79
-
80
-
81
- class POdin10G5S6PCU_b(FamilyE):
82
- """L23 port on Odin-10G-5S-6P-CU[b] module.
83
- """
84
- ...
85
-
86
-
87
- class POdin10G3S6PCU(FamilyE):
88
- """L23 port on Odin-10G-3S-6P-CU module.
89
- """
90
- ...
91
-
92
-
93
- class POdin10G3S2PCU(FamilyE):
94
- """L23 port on Odin-10G-3S-2P-CU module.
95
- """
96
- ...