tdl-xoa-driver 1.3.0__py3-none-any.whl → 1.5.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 (268) hide show
  1. tdl_xoa_driver-1.5.0.dist-info/METADATA +56 -0
  2. tdl_xoa_driver-1.5.0.dist-info/RECORD +231 -0
  3. xoa_driver/__init__.py +2 -2
  4. xoa_driver/enums.py +2 -0
  5. xoa_driver/exceptions.py +2 -0
  6. xoa_driver/functions/anlt.py +4 -2
  7. xoa_driver/functions/anlt_ll_debug.py +2 -0
  8. xoa_driver/functions/cli/__init__.py +21 -0
  9. xoa_driver/functions/cli/_cli_manager.py +541 -0
  10. xoa_driver/functions/cli/_config_block.py +334 -0
  11. xoa_driver/functions/cli/_socket_driver.py +111 -0
  12. xoa_driver/functions/cli/port_config.py +116 -0
  13. xoa_driver/functions/cli/testbed_config.py +179 -0
  14. xoa_driver/functions/cmis/__init__.py +8 -0
  15. xoa_driver/functions/cmis/_constants.py +25 -0
  16. xoa_driver/functions/cmis/_replies.py +600 -0
  17. xoa_driver/functions/cmis/_utils.py +49 -0
  18. xoa_driver/functions/cmis/cdb.py +1266 -0
  19. xoa_driver/functions/exceptions.py +2 -0
  20. xoa_driver/functions/headers.py +2 -0
  21. xoa_driver/functions/mgmt.py +48 -34
  22. xoa_driver/functions/tools.py +9 -3
  23. xoa_driver/hlfuncs.py +7 -3
  24. xoa_driver/internals/commands/c_commands.py +6 -10
  25. xoa_driver/internals/commands/enums.py +25 -1
  26. xoa_driver/internals/commands/p_commands.py +50 -12
  27. xoa_driver/internals/commands/pl1_commands.py +130 -73
  28. xoa_driver/internals/commands/pp_commands.py +44 -55
  29. xoa_driver/internals/commands/pr_commands.py +17 -16
  30. xoa_driver/internals/commands/pt_commands.py +21 -1
  31. xoa_driver/internals/commands/px_commands.py +1686 -6
  32. xoa_driver/internals/core/transporter/_request_id_counter.py +1 -1
  33. xoa_driver/internals/core/transporter/logger/__state_on_user.py +1 -1
  34. xoa_driver/internals/core/transporter/protocol/payload/__init__.py +3 -1
  35. xoa_driver/internals/core/transporter/protocol/payload/field.py +41 -0
  36. xoa_driver/internals/core/transporter/protocol/payload/types.py +19 -0
  37. xoa_driver/internals/exceptions/modules.py +4 -3
  38. xoa_driver/internals/{hli_v1 → hli}/indices/filter/base_filter.py +1 -1
  39. xoa_driver/internals/{hli_v1 → hli}/indices/length_term.py +1 -1
  40. xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/base_macsecsc.py +2 -2
  41. xoa_driver/internals/{hli_v1 → hli}/indices/match_term.py +1 -1
  42. xoa_driver/internals/{hli_v1 → hli}/indices/port_dataset.py +1 -1
  43. xoa_driver/internals/{hli_v1 → hli}/indices/streams/base_stream.py +1 -1
  44. xoa_driver/internals/{hli_v1 → hli}/modules/module_chimera.py +3 -3
  45. xoa_driver/internals/{hli_v1 → hli}/modules/module_l47.py +1 -1
  46. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_combi.py +1 -1
  47. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_d.py +1 -1
  48. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_e.py +1 -1
  49. xoa_driver/internals/hli/modules/modules_l23/family_edun.py +82 -0
  50. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_f.py +1 -1
  51. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_g.py +17 -2
  52. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_h.py +1 -1
  53. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_i.py +1 -1
  54. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_j.py +1 -1
  55. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_k.py +1 -1
  56. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_l.py +1 -1
  57. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_l1.py +20 -1
  58. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_m.py +1 -1
  59. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_n.py +1 -1
  60. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/module_l23_base.py +1 -1
  61. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_l23.py +3 -3
  62. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_l23_genuine.py +4 -4
  63. xoa_driver/internals/hli/ports/port_l23/bases/port_transceiver.py +247 -0
  64. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_transmission_statistics.py +1 -1
  65. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/port_chimera.py +1 -1
  66. xoa_driver/internals/hli/ports/port_l23/edun_l1.py +181 -0
  67. xoa_driver/internals/hli/ports/port_l23/family_edun.py +82 -0
  68. xoa_driver/internals/{hli_v2 → hli}/ports/port_l23/family_g.py +5 -0
  69. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_l1.py +14 -8
  70. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/port_l23ve.py +2 -2
  71. xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/main.py +2 -2
  72. xoa_driver/internals/{hli_v1 → hli}/testers/l23_tester.py +1 -1
  73. xoa_driver/internals/{hli_v1 → hli}/testers/l47_tester.py +2 -2
  74. xoa_driver/internals/state_storage/modules_state.py +20 -0
  75. xoa_driver/internals/state_storage/testers_state.py +10 -0
  76. xoa_driver/lli.py +1 -0
  77. xoa_driver/misc.py +13 -17
  78. xoa_driver/modules.py +40 -22
  79. xoa_driver/ports.py +42 -20
  80. xoa_driver/testers.py +5 -7
  81. xoa_driver/utils.py +2 -0
  82. tdl_xoa_driver-1.3.0.dist-info/METADATA +0 -56
  83. tdl_xoa_driver-1.3.0.dist-info/RECORD +0 -325
  84. xoa_driver/functions/cli.py +0 -581
  85. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +0 -117
  86. xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +0 -77
  87. xoa_driver/internals/hli_v2/__init__.py +0 -0
  88. xoa_driver/internals/hli_v2/indices/__init__.py +0 -0
  89. xoa_driver/internals/hli_v2/indices/base_index.py +0 -39
  90. xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
  91. xoa_driver/internals/hli_v2/indices/connection_group/cg.py +0 -115
  92. xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +0 -59
  93. xoa_driver/internals/hli_v2/indices/connection_group/l2.py +0 -71
  94. xoa_driver/internals/hli_v2/indices/connection_group/l3.py +0 -96
  95. xoa_driver/internals/hli_v2/indices/connection_group/raw.py +0 -148
  96. xoa_driver/internals/hli_v2/indices/connection_group/replay.py +0 -89
  97. xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +0 -261
  98. xoa_driver/internals/hli_v2/indices/connection_group/tls.py +0 -166
  99. xoa_driver/internals/hli_v2/indices/connection_group/udp.py +0 -112
  100. xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +0 -25
  101. xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
  102. xoa_driver/internals/hli_v2/indices/filter/base_filter.py +0 -50
  103. xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +0 -17
  104. xoa_driver/internals/hli_v2/indices/length_term.py +0 -44
  105. xoa_driver/internals/hli_v2/indices/match_term.py +0 -49
  106. xoa_driver/internals/hli_v2/indices/port_dataset.py +0 -53
  107. xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
  108. xoa_driver/internals/hli_v2/indices/streams/base_stream.py +0 -234
  109. xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +0 -32
  110. xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
  111. xoa_driver/internals/hli_v2/modules/__interfaces.py +0 -21
  112. xoa_driver/internals/hli_v2/modules/base_module.py +0 -125
  113. xoa_driver/internals/hli_v2/modules/module_chimera.py +0 -358
  114. xoa_driver/internals/hli_v2/modules/module_l23ve.py +0 -58
  115. xoa_driver/internals/hli_v2/modules/module_l47.py +0 -230
  116. xoa_driver/internals/hli_v2/modules/module_l47ve.py +0 -8
  117. xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
  118. xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +0 -73
  119. xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +0 -75
  120. xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +0 -85
  121. xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +0 -144
  122. xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +0 -84
  123. xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +0 -40
  124. xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +0 -25
  125. xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +0 -25
  126. xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +0 -39
  127. xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +0 -55
  128. xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +0 -797
  129. xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +0 -25
  130. xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +0 -40
  131. xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +0 -339
  132. xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
  133. xoa_driver/internals/hli_v2/ports/base_port.py +0 -105
  134. xoa_driver/internals/hli_v2/ports/port_l23/__init__.py +0 -0
  135. xoa_driver/internals/hli_v2/ports/port_l23/bases/__init__.py +0 -0
  136. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_capture.py +0 -64
  137. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +0 -441
  138. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +0 -172
  139. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +0 -156
  140. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +0 -117
  141. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +0 -59
  142. xoa_driver/internals/hli_v2/ports/port_l23/chimera/__init__.py +0 -0
  143. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  144. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/_utils.py +0 -15
  145. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +0 -340
  146. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +0 -99
  147. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +0 -36
  148. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +0 -116
  149. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +0 -102
  150. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +0 -113
  151. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +0 -420
  152. xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +0 -22
  153. xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +0 -22
  154. xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +0 -36
  155. xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +0 -49
  156. xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +0 -96
  157. xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +0 -144
  158. xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +0 -60
  159. xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +0 -66
  160. xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +0 -53
  161. xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +0 -58
  162. xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +0 -67
  163. xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +0 -149
  164. xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +0 -28
  165. xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +0 -22
  166. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +0 -342
  167. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +0 -50
  168. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +0 -65
  169. xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +0 -81
  170. xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
  171. xoa_driver/internals/hli_v2/ports/port_l47/counters.py +0 -146
  172. xoa_driver/internals/hli_v2/ports/port_l47/main.py +0 -137
  173. xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +0 -20
  174. xoa_driver/internals/hli_v2/revisions.py +0 -11
  175. xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
  176. xoa_driver/internals/hli_v2/testers/_base_tester.py +0 -207
  177. xoa_driver/internals/hli_v2/testers/genuine/__init__.py +0 -0
  178. xoa_driver/internals/hli_v2/testers/genuine/l_23/__init__.py +0 -0
  179. xoa_driver/internals/hli_v2/testers/genuine/l_23/health.py +0 -16
  180. xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +0 -34
  181. xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +0 -50
  182. xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +0 -26
  183. xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +0 -38
  184. xoa_driver/internals/hli_v2/testers/l23_tester.py +0 -159
  185. xoa_driver/internals/hli_v2/testers/l23ve_tester.py +0 -98
  186. xoa_driver/internals/hli_v2/testers/l47_tester.py +0 -95
  187. xoa_driver/internals/hli_v2/testers/l47ve_tester.py +0 -50
  188. xoa_driver/v2/__init__.py +0 -11
  189. xoa_driver/v2/misc.py +0 -77
  190. xoa_driver/v2/modules.py +0 -308
  191. xoa_driver/v2/ports.py +0 -232
  192. xoa_driver/v2/testers.py +0 -24
  193. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.5.0.dist-info}/WHEEL +0 -0
  194. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.5.0.dist-info}/licenses/LICENSE +0 -0
  195. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.5.0.dist-info}/top_level.txt +0 -0
  196. /xoa_driver/internals/{hli_v1 → hli}/__init__.py +0 -0
  197. /xoa_driver/internals/{hli_v1 → hli}/indices/__init__.py +0 -0
  198. /xoa_driver/internals/{hli_v1 → hli}/indices/base_index.py +0 -0
  199. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/__init__.py +0 -0
  200. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/cg.py +0 -0
  201. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/histogram.py +0 -0
  202. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/l2.py +0 -0
  203. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/l3.py +0 -0
  204. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/raw.py +0 -0
  205. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/replay.py +0 -0
  206. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/tcp.py +0 -0
  207. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/tls.py +0 -0
  208. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/udp.py +0 -0
  209. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/user_state.py +0 -0
  210. /xoa_driver/internals/{hli_v1 → hli}/indices/filter/__init__.py +0 -0
  211. /xoa_driver/internals/{hli_v1 → hli}/indices/filter/genuine_filter.py +0 -0
  212. /xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/__init__.py +0 -0
  213. /xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/genuine_macsecsc.py +0 -0
  214. /xoa_driver/internals/{hli_v1 → hli}/indices/streams/__init__.py +0 -0
  215. /xoa_driver/internals/{hli_v1 → hli}/indices/streams/genuine_stream.py +0 -0
  216. /xoa_driver/internals/{hli_v1 → hli}/modules/__init__.py +0 -0
  217. /xoa_driver/internals/{hli_v1 → hli}/modules/__interfaces.py +0 -0
  218. /xoa_driver/internals/{hli_v1 → hli}/modules/base_module.py +0 -0
  219. /xoa_driver/internals/{hli_v1 → hli}/modules/module_l23ve.py +0 -0
  220. /xoa_driver/internals/{hli_v1 → hli}/modules/module_l47ve.py +0 -0
  221. /xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/__init__.py +0 -0
  222. /xoa_driver/internals/{hli_v1 → hli}/ports/__init__.py +0 -0
  223. /xoa_driver/internals/{hli_v1 → hli}/ports/base_port.py +0 -0
  224. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/__init__.py +0 -0
  225. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/__init__.py +0 -0
  226. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_capture.py +0 -0
  227. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_reception_statistics.py +0 -0
  228. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/__init__.py +0 -0
  229. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  230. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/_utils.py +0 -0
  231. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/general.py +0 -0
  232. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/shadow.py +0 -0
  233. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/working.py +0 -0
  234. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/pe_custom_distribution.py +0 -0
  235. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/pe_distribution.py +0 -0
  236. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/port_emulation.py +0 -0
  237. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/reception_statistics.py +0 -0
  238. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/transmission_statistics.py +0 -0
  239. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_combi.py +0 -0
  240. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_d.py +0 -0
  241. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_e.py +0 -0
  242. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_f.py +0 -0
  243. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_h.py +0 -0
  244. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_i.py +0 -0
  245. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_j.py +0 -0
  246. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_k.py +0 -0
  247. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_l.py +0 -0
  248. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_m.py +0 -0
  249. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/fault_jkl.py +0 -0
  250. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/freya_l1.py +0 -0
  251. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_ghijkl.py +0 -0
  252. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_ijkl_chimera.py +0 -0
  253. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_l.py +0 -0
  254. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/__init__.py +0 -0
  255. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/counters.py +0 -0
  256. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/packet_engine.py +0 -0
  257. /xoa_driver/internals/{hli_v1 → hli}/revisions.py +0 -0
  258. /xoa_driver/internals/{hli_v1 → hli}/testers/__init__.py +0 -0
  259. /xoa_driver/internals/{hli_v1 → hli}/testers/_base_tester.py +0 -0
  260. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/__init__.py +0 -0
  261. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/__init__.py +0 -0
  262. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/health.py +0 -0
  263. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/rest_api.py +0 -0
  264. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/time_keeper.py +0 -0
  265. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/upload_file.py +0 -0
  266. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/management_interface.py +0 -0
  267. /xoa_driver/internals/{hli_v1 → hli}/testers/l23ve_tester.py +0 -0
  268. /xoa_driver/internals/{hli_v1 → hli}/testers/l47ve_tester.py +0 -0
@@ -1,25 +0,0 @@
1
- import typing
2
- from xoa_driver.v2 import ports
3
- from xoa_driver.internals.hli_v2 import revisions
4
- from xoa_driver.internals.utils.managers import ports_manager as pm
5
-
6
- if typing.TYPE_CHECKING:
7
- from xoa_driver.internals.core import interfaces as itf
8
- from .. import __interfaces as m_itf
9
-
10
- from .module_l23_base import ModuleL23
11
-
12
-
13
- @typing.final
14
- @revisions.register_valkyrie_module(rev="Odin-1G-3S-6P-T1-RJ45")
15
- class MOdin1G3S6PT1RJ45(ModuleL23):
16
- """Test module Odin-1G-3S-6P-T1-RJ45"""
17
- def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
18
- super().__init__(conn, init_data)
19
- self.ports: pm.PortsManager[ports.POdin1G3S6PT1RJ45] = pm.PortsManager(
20
- conn=conn,
21
- ports_type=ports.POdin1G3S6PT1RJ45,
22
- module_id=self.module_id,
23
- ports_count=self.ports_count
24
- )
25
- """Port index manager of Odin-1G-3S-6P-T1-RJ45"""
@@ -1,40 +0,0 @@
1
- import typing
2
- from xoa_driver.v2 import ports
3
- from xoa_driver.internals.hli_v2 import revisions
4
- from xoa_driver.internals.utils.managers import ports_manager as pm
5
-
6
- if typing.TYPE_CHECKING:
7
- from xoa_driver.internals.core import interfaces as itf
8
- from .. import __interfaces as m_itf
9
-
10
- from .module_l23_base import ModuleL23
11
-
12
-
13
- @typing.final
14
- @revisions.register_valkyrie_module(rev="Odin-40G-2S-2P")
15
- class MOdin40G2S2P(ModuleL23):
16
- """Test module Odin-40G-2S-2P"""
17
- def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
18
- super().__init__(conn, init_data)
19
- self.ports: pm.PortsManager[ports.POdin40G2S2P] = pm.PortsManager(
20
- conn=conn,
21
- ports_type=ports.POdin40G2S2P,
22
- module_id=self.module_id,
23
- ports_count=self.ports_count
24
- )
25
- """Port index manager of Odin-40G-2S-2P"""
26
-
27
-
28
- @typing.final
29
- @revisions.register_valkyrie_module(rev="Odin-40G-2S-2P-B")
30
- class MOdin40G2S2PB(ModuleL23):
31
- """Test module Odin-40G-2S-2P-B"""
32
- def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
33
- super().__init__(conn, init_data)
34
- self.ports: pm.PortsManager[ports.POdin40G2S2PB] = pm.PortsManager(
35
- conn=conn,
36
- ports_type=ports.POdin40G2S2PB,
37
- module_id=self.module_id,
38
- ports_count=self.ports_count
39
- )
40
- """Port index manager of Odin-40G-2S-2P-B"""
@@ -1,339 +0,0 @@
1
- from __future__ import annotations
2
- import asyncio
3
- import functools
4
- import typing
5
- from typing import Self
6
- from xoa_driver.internals.commands import (
7
- M_MEDIA,
8
- M_STATUS,
9
- M_UPGRADE,
10
- M_UPGRADEPROGRESS,
11
- M_TIMESYNC,
12
- M_CFPTYPE,
13
- M_CFPCONFIGEXT,
14
- M_COMMENT,
15
- # M_TIMEADJUSTMENT,
16
- M_CAPABILITIES,
17
- M_MEDIASUPPORT,
18
- M_FPGAREIMAGE,
19
- M_MULTIUSER,
20
- M_CLOCKPPB,
21
- M_SMAINPUT,
22
- M_SMAOUTPUT,
23
- M_SMASTATUS,
24
- M_NAME,
25
- M_REVISION,
26
- M_CLOCKSYNCSTATUS,
27
- M_TXCLOCKSOURCE_NEW,
28
- M_TXCLOCKSTATUS_NEW,
29
- M_TXCLOCKFILTER_NEW,
30
- M_UPGRADEPAR,
31
- M_VERSIONSTR,
32
- )
33
-
34
- from xoa_driver.internals.utils import attributes as utils
35
- from xoa_driver.internals.utils.managers import ports_manager as pm
36
- from xoa_driver.internals.state_storage import modules_state
37
- from xoa_driver.enums import MediaConfigurationType
38
- from xoa_driver.internals.core.token import Token
39
- from .. import base_module as bm
40
- from .. import __interfaces as m_itf
41
-
42
- if typing.TYPE_CHECKING:
43
- from xoa_driver.internals.core import interfaces as itf
44
- from xoa_driver.internals.hli_v2.modules.module_chimera import ModuleChimera
45
-
46
-
47
- class TXClock:
48
- """Advanced timing clock"""
49
-
50
- def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
51
- self.source = M_TXCLOCKSOURCE_NEW(conn, module_id)
52
- """The source that drives the TX clock rate of the ports on the test module.
53
- Representation of M_TXCLOCKSOURCE_NEW
54
- """
55
-
56
- self.status = M_TXCLOCKSTATUS_NEW(conn, module_id)
57
- """TX clock status of the test module.
58
- Representation of M_TXCLOCKSTATUS_NEW
59
- """
60
-
61
- self.filter = M_TXCLOCKFILTER_NEW(conn, module_id)
62
- """Loop bandwidth on the TX clock filter of the test module.
63
- Representation of M_TXCLOCKFILTER_NEW
64
- """
65
-
66
-
67
- class SMA:
68
- """SMA connector"""
69
-
70
- def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
71
- self.input = M_SMAINPUT(conn, module_id)
72
- """SMA input of the test module.
73
- Representation of M_SMAINPUT
74
- """
75
-
76
- self.output = M_SMAOUTPUT(conn, module_id)
77
- """SMA output of the test module.
78
- Representation of M_SMAOUTPUT
79
- """
80
-
81
- self.status = M_SMASTATUS(conn, module_id)
82
- """SMA input status of the test module.
83
- Representation of M_SMASTATUS
84
- """
85
-
86
-
87
- class AdvancedTiming:
88
- """Advanced Timing config and control"""
89
-
90
- def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
91
- self.clock_tx = TXClock(conn, module_id)
92
- """Advanced timing clock config and status
93
- """
94
-
95
- self.sma = SMA(conn, module_id)
96
- """SMA connector
97
- """
98
-
99
-
100
- class ExtendedToken:
101
- def __init__(
102
- self, token: Token, module: typing.Union["ModuleL23", "ModuleChimera"]
103
- ) -> None:
104
- self.__token = token
105
- self.__module = module
106
-
107
- def __await__(self):
108
- return self.__ask_then().__await__()
109
-
110
- async def __ask_then(self):
111
- r = await self.__token
112
- p_counts = (await self.__module.port_count.get()).port_count
113
- if self.__module.ports is not None:
114
- changed = self.__module.ports.reinit(p_counts)
115
- if changed:
116
- await self.__module.ports.fill()
117
- return r
118
-
119
-
120
- class MediaModule:
121
- def __init__(self, conn: "itf.IConnection", module: typing.Union["ModuleL23", "ModuleChimera"]) -> None:
122
- self.__media = M_MEDIA(conn, module.module_id)
123
- self.__module = module
124
-
125
- def get(self) -> Token:
126
- return self.__media.get()
127
-
128
- def set(self, media_config: MediaConfigurationType) -> ExtendedToken:
129
- return ExtendedToken(self.__media.set(media_config), self.__module)
130
-
131
-
132
- class CfpModule:
133
- def __init__(self, conn: "itf.IConnection", module: typing.Union["ModuleL23", "ModuleChimera"]) -> None:
134
- self.__cfpconfigext = M_CFPCONFIGEXT(conn, module.module_id)
135
- self.__module = module
136
-
137
- def get(self) -> Token:
138
- return self.__cfpconfigext.get()
139
-
140
- def set(self, portspeed_list: typing.List[int]) -> ExtendedToken:
141
- return ExtendedToken(self.__cfpconfigext.set(portspeed_list), self.__module)
142
-
143
-
144
- class CFP:
145
- """Test module CFP"""
146
-
147
- def __init__(self, conn: "itf.IConnection", module: typing.Union["ModuleChimera", "ModuleL23"]) -> None:
148
- self.type = M_CFPTYPE(conn, module.module_id)
149
- """The transceiver's CFP type currently inserted.
150
- Representation of M_CFPTYPE
151
- """
152
-
153
- self.config = CfpModule(conn, module)
154
- """The CFP configuration of the test module.
155
- Representation of M_CFPCONFIGEXT
156
- """
157
-
158
-
159
- class MTiming:
160
- """Test module timing and clock configuration"""
161
-
162
- def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
163
- self.source = M_TIMESYNC(conn, module_id)
164
- """Timing source of the test module.
165
- Representation of M_TIMESYNC
166
- """
167
-
168
- self.clock_local_adjust = M_CLOCKPPB(conn, module_id)
169
- """Time adjustment controlling of the local clock of the test module, which drives the TX rate of the test ports.
170
- Representation of M_CLOCKPPB
171
- """
172
-
173
- self.clock_sync_status = M_CLOCKSYNCSTATUS(conn, module_id)
174
- """Test module's clock sync status.
175
- Representation of M_CLOCKSYNCSTATUS
176
- """
177
-
178
-
179
- class MUpgrade:
180
- """Test module upgrade"""
181
-
182
- def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
183
- self.start = M_UPGRADE(conn, module_id)
184
- """Start the upgrade progress of the test module.
185
- Representation of M_UPGRADE
186
- """
187
-
188
- self.progress = M_UPGRADEPROGRESS(conn, module_id)
189
- """Upgrade progress status of the test module.
190
- Representation of M_UPGRADEPROGRESS
191
- """
192
-
193
- self.reload_image = M_FPGAREIMAGE(conn, module_id)
194
- """Reload the FPGA image of the test module.
195
- Representation of M_FPGAREIMAGE
196
- """
197
- self.start_parallel = M_UPGRADEPAR(conn, module_id)
198
- """
199
- Start the parallel upgrade progress of the test module.
200
-
201
- :type: M_UPGRADEPAR
202
- """
203
-
204
-
205
- class ModuleL23(bm.BaseModule["modules_state.ModuleL23LocalState"]):
206
- """
207
- Representation of a L23 test module on a physical tester.
208
- """
209
-
210
- def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
211
- super().__init__(conn, init_data)
212
-
213
- self._local_states = modules_state.ModuleL23LocalState()
214
-
215
- self.name = M_NAME(conn, self.module_id)
216
- """Test module's name.
217
- Representation of M_NAME
218
- """
219
-
220
- self.comment = M_COMMENT(conn, self.module_id)
221
- """Test module's description.
222
- Representation of M_COMMENT
223
- """
224
-
225
- self.status = M_STATUS(conn, self.module_id)
226
- """Test module's status.
227
- Representation of M_STATUS
228
- """
229
-
230
- self.media = MediaModule(conn, self)
231
- """Test module's media configuration.
232
- Representation of MediaModule
233
- """
234
-
235
- self.available_speeds = M_MEDIASUPPORT(conn, self.module_id)
236
- """Test module's available speeds.
237
- Representation of M_MEDIASUPPORT
238
- """
239
-
240
- self.revision = M_REVISION(conn, self.module_id)
241
- """Test module's model P/N name.
242
- Representation of M_REVISION
243
- """
244
-
245
- self.version_str = M_VERSIONSTR(conn, self.module_id)
246
- """Module version number in the new format
247
-
248
- :type: M_VERSIONSTR
249
- """
250
-
251
- self.multiuser = M_MULTIUSER(conn, self.module_id)
252
- """If multiple users are allowed to control the same test module.
253
- Representation of M_MULTIUSER
254
- """
255
-
256
- self.capabilities = M_CAPABILITIES(conn, self.module_id)
257
- """Test module's capabilities.
258
- Representation of M_CAPABILITIES
259
- """
260
-
261
- self.timing = MTiming(conn, self.module_id)
262
- """Test module's timing configuration."""
263
-
264
- self.advanced_timing = AdvancedTiming(conn, self.module_id)
265
- """Test module's advanced timing ."""
266
-
267
- self.cfp = CFP(conn, self)
268
- """Test module's CFP """
269
-
270
- self.upgrade = MUpgrade(conn, self.module_id)
271
- """Test module's upgrade.
272
-
273
- :type: MUpgrade
274
- """
275
-
276
- self.ports: typing.Optional[pm.PortsManager] = None
277
- """L23 port index manager of the test module."""
278
-
279
- @property
280
- def info(self) -> modules_state.ModuleL23LocalState:
281
- return self._local_states
282
-
283
- async def _setup(self) -> Self:
284
- if self.ports is None:
285
- raise NotImplementedError("Ports manager type are not defined.") # Maybe can be better solution then this...
286
- await asyncio.gather(
287
- self._local_states.initiate(self),
288
- self.ports.fill()
289
- )
290
- self._local_states.register_subscriptions(self)
291
- return self
292
-
293
- on_cfp_type_change = functools.partialmethod(utils.on_event, M_CFPTYPE)
294
- """Register a callback to the event that the module's CFP type changes."""
295
-
296
- on_cfp_config_change = functools.partialmethod(utils.on_event, M_CFPCONFIGEXT)
297
- """Register a callback to the event that the module's CFP configuration changes."""
298
-
299
- on_status_change = functools.partialmethod(utils.on_event, M_STATUS)
300
- """Register a callback to the event that the module's status changes."""
301
-
302
- on_revision_change = functools.partialmethod(utils.on_event, M_REVISION)
303
- """Register a callback to the event that the module's model type changes."""
304
-
305
- on_name_change = functools.partialmethod(utils.on_event, M_NAME)
306
- """Register a callback to the event that the module's name changes."""
307
-
308
- on_adv_timing_clock_tx_status_change = functools.partialmethod(utils.on_event, M_TXCLOCKSTATUS_NEW)
309
- """Register a callback to the event that the module's TX clock status changes."""
310
-
311
- on_adv_timing_clock_tx_source_change = functools.partialmethod(utils.on_event, M_TXCLOCKSOURCE_NEW)
312
- """Register a callback to the event that the module's clock that drives the port TX rates changes."""
313
-
314
- on_adv_timing_clock_tx_filter_change = functools.partialmethod(utils.on_event, M_TXCLOCKFILTER_NEW)
315
- """Register a callback to the event that the module's loop bandwidth on the TX clock filter changes."""
316
-
317
- on_adv_timing_sma_status_change = functools.partialmethod(utils.on_event, M_SMASTATUS)
318
- """Register a callback to the event that the module's SMA status changes."""
319
-
320
- on_adv_timing_sma_input_change = functools.partialmethod(utils.on_event, M_SMAINPUT)
321
- """Register a callback to the event that the module's SMA input function changes."""
322
-
323
- on_adv_timing_sma_output_change = functools.partialmethod(utils.on_event, M_SMAOUTPUT)
324
- """Register a callback to the event that the module's SMA output function changes."""
325
-
326
- on_media_support_change = functools.partialmethod(utils.on_event, M_MEDIASUPPORT)
327
- """Register a callback to the event that the module's supported media changes."""
328
-
329
- on_media_change = functools.partialmethod(utils.on_event, M_MEDIA)
330
- """Register a callback to the event that the module's media and available speeds change."""
331
-
332
- on_comment_change = functools.partialmethod(utils.on_event, M_COMMENT)
333
- """Register a callback to the event that the module's description changes."""
334
-
335
- on_timing_source_change = functools.partialmethod(utils.on_event, M_TIMESYNC)
336
- """Register a callback to the event that the module's timesync mode changes."""
337
-
338
- on_timing_clock_local_adjust_change = functools.partialmethod(utils.on_event, M_CLOCKPPB)
339
- """Register a callback to the event that the module's clock adjustment ppb changes."""
File without changes
@@ -1,105 +0,0 @@
1
- import functools
2
- from typing import Self
3
- from abc import (
4
- ABC,
5
- abstractmethod,
6
- )
7
- from typing import (
8
- TYPE_CHECKING,
9
- TypeVar,
10
- Generic,
11
- )
12
- from xoa_driver.internals.commands import enums
13
- from xoa_driver.internals.commands import (
14
- P_RESERVATION,
15
- P_RESERVEDBY,
16
- P_RESET,
17
- P_COMMENT,
18
- P_INTERFACE,
19
- P_RECEIVESYNC,
20
- )
21
- from xoa_driver.internals.state_storage import ports_state
22
- from xoa_driver.internals.utils import attributes as utils
23
- from xoa_driver.internals.utils import kind
24
-
25
- if TYPE_CHECKING:
26
- from xoa_driver.internals.core import interfaces as itf
27
-
28
-
29
- PortStateStorage = TypeVar('PortStateStorage', bound="ports_state.PortLocalState")
30
-
31
-
32
- class BasePort(ABC, Generic[PortStateStorage]):
33
- """Layout which is relevant to all ports."""
34
-
35
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
36
- self._conn = conn
37
- self.kind = kind.PortKind(module_id, port_id)
38
- self.sync_status = P_RECEIVESYNC(conn, module_id, port_id)
39
- """Port sync status.
40
- Representation of P_RECEIVESYNC
41
- """
42
- self.interface = P_INTERFACE(conn, module_id, port_id)
43
- """Physical interface type of the port.
44
- Representation of P_INTERFACE
45
- """
46
- self.reservation = P_RESERVATION(self._conn, *self.kind)
47
- """Port reservation action.
48
- Representation of P_RESERVATION
49
- """
50
- self.reserved_by = P_RESERVEDBY(self._conn, *self.kind)
51
- """Port reservation status.
52
- Representation of P_RESERVEDBY
53
- """
54
- self.reset = P_RESET(self._conn, *self.kind)
55
- """Port reset action.
56
- Representation of P_RESET
57
- """
58
- self.comment = P_COMMENT(self._conn, *self.kind)
59
- """Port description.
60
- Representation of P_COMMENT
61
- """
62
-
63
- def __await__(self):
64
- return self._setup().__await__()
65
-
66
- @abstractmethod
67
- async def _setup(self) -> Self:
68
- return self
69
-
70
- def _check_identity(self, request) -> bool:
71
- validators = (
72
- self.kind.module_id == request.header.module_index,
73
- self.kind.port_id == request.header.port_index
74
- )
75
- return all(validators)
76
-
77
- def __is_reservation(self, reserved_status: enums.ReservedStatus) -> bool:
78
- return self.info.reservation == reserved_status
79
-
80
- is_released = functools.partialmethod(__is_reservation, enums.ReservedStatus.RELEASED)
81
- """Check if port is released"""
82
-
83
- is_reserved_by_me = functools.partialmethod(__is_reservation, enums.ReservedStatus.RESERVED_BY_YOU)
84
- """Check if port is released by me"""
85
-
86
- is_reserved_by_others = functools.partialmethod(__is_reservation, enums.ReservedStatus.RESERVED_BY_OTHER)
87
- """Check if port is released by others"""
88
-
89
- @property
90
- @abstractmethod
91
- def info(self) -> PortStateStorage:
92
- """Module info"""
93
- raise NotImplementedError()
94
-
95
- on_reservation_change = functools.partialmethod(utils.on_event, P_RESERVATION)
96
- """Register a callback to the event that the port's reservation status changes."""
97
-
98
- on_receive_sync_change = functools.partialmethod(utils.on_event, P_RECEIVESYNC)
99
- """Register a callback to the event that the port's SYNC status changes."""
100
-
101
- on_reserved_by_change = functools.partialmethod(utils.on_event, P_RESERVEDBY)
102
- """Register a callback to the event that the port's reservation ownership changes."""
103
-
104
- on_interface_change = functools.partialmethod(utils.on_event, P_INTERFACE)
105
- """Register a callback to the event that the port's physical interface type changes."""
File without changes
@@ -1,64 +0,0 @@
1
- from typing import (
2
- TYPE_CHECKING,
3
- List,
4
- )
5
- if TYPE_CHECKING:
6
- from xoa_driver.internals.core import interfaces as itf
7
- from xoa_driver.internals.commands import (
8
- P_CAPTURE,
9
- PC_TRIGGER,
10
- PC_KEEP,
11
- PC_STATS,
12
- PC_EXTRA,
13
- PC_PACKET,
14
- )
15
-
16
-
17
- class ObtainCaptured:
18
- """Obtain info of captured packets.
19
- """
20
-
21
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, capture_pkt_idx: int) -> None:
22
- self.extra = PC_EXTRA(conn, module_id, port_id, capture_pkt_idx)
23
- """Obtains extra information about a captured packet on a L23 port.
24
- Representation of PC_EXTRA
25
- """
26
-
27
- self.packet = PC_PACKET(conn, module_id, port_id, capture_pkt_idx)
28
- """Obtains raw bytes of a captured packet on a L23 port.
29
- Representation of PC_PACKET
30
- """
31
-
32
-
33
- class PortCapture:
34
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
35
- self.__conn = conn
36
- self.__module_id = module_id
37
- self.__port_id = port_id
38
- self.state = P_CAPTURE(conn, module_id, port_id)
39
- """L23 port traffic capture.
40
- Representation of P_CAPTURE
41
- """
42
-
43
- self.trigger = PC_TRIGGER(conn, module_id, port_id)
44
- """L23 port packet capture triggering criteria.
45
- Representation of PC_TRIGGER
46
- """
47
-
48
- self.keep = PC_KEEP(conn, module_id, port_id)
49
- """Keeping captured packets on a L23 port.
50
- Representation of PC_KEEP
51
- """
52
-
53
- self.stats = PC_STATS(conn, module_id, port_id)
54
- """L23 port's number of packets in the capture buffer.
55
- Representation of PC_STATS
56
- """
57
-
58
- async def obtain_captured(self) -> List[ObtainCaptured]:
59
- # TODO: check better title for this operation
60
- stats = await self.stats.get()
61
- return [
62
- ObtainCaptured(self.__conn, self.__module_id, self.__port_id, idx)
63
- for idx in range(stats.packets)
64
- ]