tdl-xoa-driver 1.0.0b1__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 (325) hide show
  1. tdl_xoa_driver-1.0.0b1.dist-info/LICENSE +202 -0
  2. tdl_xoa_driver-1.0.0b1.dist-info/METADATA +177 -0
  3. tdl_xoa_driver-1.0.0b1.dist-info/RECORD +325 -0
  4. tdl_xoa_driver-1.0.0b1.dist-info/WHEEL +5 -0
  5. tdl_xoa_driver-1.0.0b1.dist-info/top_level.txt +1 -0
  6. xoa_driver/__init__.py +2 -0
  7. xoa_driver/enums.py +399 -0
  8. xoa_driver/exceptions.py +77 -0
  9. xoa_driver/functions/__init__.py +0 -0
  10. xoa_driver/functions/anlt.py +744 -0
  11. xoa_driver/functions/anlt_ll_debug.py +429 -0
  12. xoa_driver/functions/cli.py +581 -0
  13. xoa_driver/functions/exceptions.py +72 -0
  14. xoa_driver/functions/headers.py +608 -0
  15. xoa_driver/functions/mgmt.py +515 -0
  16. xoa_driver/functions/tools.py +256 -0
  17. xoa_driver/hlfuncs.py +18 -0
  18. xoa_driver/internals/__init__.py +0 -0
  19. xoa_driver/internals/commands/__init__.py +31 -0
  20. xoa_driver/internals/commands/c_commands.py +2041 -0
  21. xoa_driver/internals/commands/enums.py +3289 -0
  22. xoa_driver/internals/commands/m4_commands.py +700 -0
  23. xoa_driver/internals/commands/m4e_commands.py +107 -0
  24. xoa_driver/internals/commands/m_commands.py +1875 -0
  25. xoa_driver/internals/commands/p4_commands.py +2221 -0
  26. xoa_driver/internals/commands/p4e_commands.py +160 -0
  27. xoa_driver/internals/commands/p4g_commands.py +7253 -0
  28. xoa_driver/internals/commands/p_commands.py +6000 -0
  29. xoa_driver/internals/commands/pc_commands.py +335 -0
  30. xoa_driver/internals/commands/pd_commands.py +355 -0
  31. xoa_driver/internals/commands/pe_commands.py +1018 -0
  32. xoa_driver/internals/commands/pec_commands.py +265 -0
  33. xoa_driver/internals/commands/ped_commands.py +1034 -0
  34. xoa_driver/internals/commands/pef_commands.py +2216 -0
  35. xoa_driver/internals/commands/pf_commands.py +379 -0
  36. xoa_driver/internals/commands/pl1_commands.py +1588 -0
  37. xoa_driver/internals/commands/pl_commands.py +178 -0
  38. xoa_driver/internals/commands/pm_commands.py +256 -0
  39. xoa_driver/internals/commands/pp_commands.py +2341 -0
  40. xoa_driver/internals/commands/pr_commands.py +812 -0
  41. xoa_driver/internals/commands/ps_commands.py +2311 -0
  42. xoa_driver/internals/commands/pt_commands.py +370 -0
  43. xoa_driver/internals/commands/px_commands.py +303 -0
  44. xoa_driver/internals/commands/subtypes.py +86 -0
  45. xoa_driver/internals/core/__init__.py +0 -0
  46. xoa_driver/internals/core/builders.py +39 -0
  47. xoa_driver/internals/core/exceptions.py +69 -0
  48. xoa_driver/internals/core/funcs.py +81 -0
  49. xoa_driver/internals/core/funcs.pyi +1072 -0
  50. xoa_driver/internals/core/interfaces.py +47 -0
  51. xoa_driver/internals/core/token.py +44 -0
  52. xoa_driver/internals/core/transporter/__init__.py +0 -0
  53. xoa_driver/internals/core/transporter/_processor.py +83 -0
  54. xoa_driver/internals/core/transporter/_publisher.py +101 -0
  55. xoa_driver/internals/core/transporter/_request_id_counter.py +28 -0
  56. xoa_driver/internals/core/transporter/_stream.py +99 -0
  57. xoa_driver/internals/core/transporter/_typings.py +43 -0
  58. xoa_driver/internals/core/transporter/exceptions.py +44 -0
  59. xoa_driver/internals/core/transporter/handler.py +127 -0
  60. xoa_driver/internals/core/transporter/logger/__init__.py +10 -0
  61. xoa_driver/internals/core/transporter/logger/__logger.py +94 -0
  62. xoa_driver/internals/core/transporter/logger/__state_off.py +32 -0
  63. xoa_driver/internals/core/transporter/logger/__state_on_default.py +70 -0
  64. xoa_driver/internals/core/transporter/logger/__state_on_loguru.py +51 -0
  65. xoa_driver/internals/core/transporter/logger/__state_on_user.py +48 -0
  66. xoa_driver/internals/core/transporter/protocol/__init__.py +0 -0
  67. xoa_driver/internals/core/transporter/protocol/_constants.py +77 -0
  68. xoa_driver/internals/core/transporter/protocol/_utils.py +59 -0
  69. xoa_driver/internals/core/transporter/protocol/exceptions.py +271 -0
  70. xoa_driver/internals/core/transporter/protocol/payload/__init__.py +70 -0
  71. xoa_driver/internals/core/transporter/protocol/payload/base_struct.py +283 -0
  72. xoa_driver/internals/core/transporter/protocol/payload/descriptor.py +119 -0
  73. xoa_driver/internals/core/transporter/protocol/payload/exceptions.py +20 -0
  74. xoa_driver/internals/core/transporter/protocol/payload/field.py +296 -0
  75. xoa_driver/internals/core/transporter/protocol/payload/types.py +173 -0
  76. xoa_driver/internals/core/transporter/protocol/payload/utils.py +53 -0
  77. xoa_driver/internals/core/transporter/protocol/struct_header.py +123 -0
  78. xoa_driver/internals/core/transporter/protocol/struct_request.py +65 -0
  79. xoa_driver/internals/core/transporter/protocol/struct_response.py +89 -0
  80. xoa_driver/internals/core/transporter/registry.py +43 -0
  81. xoa_driver/internals/exceptions/__init__.py +9 -0
  82. xoa_driver/internals/exceptions/modules.py +13 -0
  83. xoa_driver/internals/exceptions/testers.py +21 -0
  84. xoa_driver/internals/hli_v1/__init__.py +0 -0
  85. xoa_driver/internals/hli_v1/indices/__init__.py +0 -0
  86. xoa_driver/internals/hli_v1/indices/base_index.py +39 -0
  87. xoa_driver/internals/hli_v1/indices/connection_group/__init__.py +0 -0
  88. xoa_driver/internals/hli_v1/indices/connection_group/cg.py +186 -0
  89. xoa_driver/internals/hli_v1/indices/connection_group/histogram.py +78 -0
  90. xoa_driver/internals/hli_v1/indices/connection_group/l2.py +94 -0
  91. xoa_driver/internals/hli_v1/indices/connection_group/l3.py +130 -0
  92. xoa_driver/internals/hli_v1/indices/connection_group/raw.py +200 -0
  93. xoa_driver/internals/hli_v1/indices/connection_group/replay.py +109 -0
  94. xoa_driver/internals/hli_v1/indices/connection_group/tcp.py +314 -0
  95. xoa_driver/internals/hli_v1/indices/connection_group/tls.py +198 -0
  96. xoa_driver/internals/hli_v1/indices/connection_group/udp.py +133 -0
  97. xoa_driver/internals/hli_v1/indices/connection_group/user_state.py +28 -0
  98. xoa_driver/internals/hli_v1/indices/filter/__init__.py +0 -0
  99. xoa_driver/internals/hli_v1/indices/filter/base_filter.py +65 -0
  100. xoa_driver/internals/hli_v1/indices/filter/genuine_filter.py +20 -0
  101. xoa_driver/internals/hli_v1/indices/length_term.py +49 -0
  102. xoa_driver/internals/hli_v1/indices/macsecscs/__init__.py +0 -0
  103. xoa_driver/internals/hli_v1/indices/macsecscs/base_macsecsc.py +224 -0
  104. xoa_driver/internals/hli_v1/indices/macsecscs/genuine_macsecsc.py +72 -0
  105. xoa_driver/internals/hli_v1/indices/match_term.py +64 -0
  106. xoa_driver/internals/hli_v1/indices/port_dataset.py +72 -0
  107. xoa_driver/internals/hli_v1/indices/streams/__init__.py +0 -0
  108. xoa_driver/internals/hli_v1/indices/streams/base_stream.py +405 -0
  109. xoa_driver/internals/hli_v1/indices/streams/genuine_stream.py +64 -0
  110. xoa_driver/internals/hli_v1/modules/__init__.py +0 -0
  111. xoa_driver/internals/hli_v1/modules/__interfaces.py +21 -0
  112. xoa_driver/internals/hli_v1/modules/base_module.py +138 -0
  113. xoa_driver/internals/hli_v1/modules/module_chimera.py +366 -0
  114. xoa_driver/internals/hli_v1/modules/module_l23ve.py +73 -0
  115. xoa_driver/internals/hli_v1/modules/module_l47.py +397 -0
  116. xoa_driver/internals/hli_v1/modules/module_l47ve.py +9 -0
  117. xoa_driver/internals/hli_v1/modules/modules_l23/__init__.py +0 -0
  118. xoa_driver/internals/hli_v1/modules/modules_l23/family_combi.py +83 -0
  119. xoa_driver/internals/hli_v1/modules/modules_l23/family_d.py +75 -0
  120. xoa_driver/internals/hli_v1/modules/modules_l23/family_e.py +85 -0
  121. xoa_driver/internals/hli_v1/modules/modules_l23/family_f.py +145 -0
  122. xoa_driver/internals/hli_v1/modules/modules_l23/family_g.py +84 -0
  123. xoa_driver/internals/hli_v1/modules/modules_l23/family_h.py +40 -0
  124. xoa_driver/internals/hli_v1/modules/modules_l23/family_i.py +25 -0
  125. xoa_driver/internals/hli_v1/modules/modules_l23/family_j.py +25 -0
  126. xoa_driver/internals/hli_v1/modules/modules_l23/family_k.py +39 -0
  127. xoa_driver/internals/hli_v1/modules/modules_l23/family_l.py +55 -0
  128. xoa_driver/internals/hli_v1/modules/modules_l23/family_l1.py +800 -0
  129. xoa_driver/internals/hli_v1/modules/modules_l23/family_m.py +25 -0
  130. xoa_driver/internals/hli_v1/modules/modules_l23/family_n.py +40 -0
  131. xoa_driver/internals/hli_v1/modules/modules_l23/module_l23_base.py +383 -0
  132. xoa_driver/internals/hli_v1/ports/__init__.py +0 -0
  133. xoa_driver/internals/hli_v1/ports/base_port.py +125 -0
  134. xoa_driver/internals/hli_v1/ports/port_l23/__init__.py +0 -0
  135. xoa_driver/internals/hli_v1/ports/port_l23/bases/__init__.py +0 -0
  136. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_capture.py +70 -0
  137. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23.py +527 -0
  138. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23_genuine.py +229 -0
  139. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_reception_statistics.py +231 -0
  140. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +117 -0
  141. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transmission_statistics.py +131 -0
  142. xoa_driver/internals/hli_v1/ports/port_l23/chimera/__init__.py +0 -0
  143. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  144. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
  145. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/general.py +396 -0
  146. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/shadow.py +104 -0
  147. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/working.py +36 -0
  148. xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_custom_distribution.py +125 -0
  149. xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_distribution.py +174 -0
  150. xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_chimera.py +119 -0
  151. xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_emulation.py +244 -0
  152. xoa_driver/internals/hli_v1/ports/port_l23/chimera/reception_statistics.py +24 -0
  153. xoa_driver/internals/hli_v1/ports/port_l23/chimera/transmission_statistics.py +24 -0
  154. xoa_driver/internals/hli_v1/ports/port_l23/family_combi.py +37 -0
  155. xoa_driver/internals/hli_v1/ports/port_l23/family_d.py +51 -0
  156. xoa_driver/internals/hli_v1/ports/port_l23/family_e.py +107 -0
  157. xoa_driver/internals/hli_v1/ports/port_l23/family_f.py +151 -0
  158. xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +77 -0
  159. xoa_driver/internals/hli_v1/ports/port_l23/family_h.py +67 -0
  160. xoa_driver/internals/hli_v1/ports/port_l23/family_i.py +84 -0
  161. xoa_driver/internals/hli_v1/ports/port_l23/family_j.py +68 -0
  162. xoa_driver/internals/hli_v1/ports/port_l23/family_k.py +73 -0
  163. xoa_driver/internals/hli_v1/ports/port_l23/family_l.py +82 -0
  164. xoa_driver/internals/hli_v1/ports/port_l23/family_l1.py +166 -0
  165. xoa_driver/internals/hli_v1/ports/port_l23/family_m.py +29 -0
  166. xoa_driver/internals/hli_v1/ports/port_l23/fault_jkl.py +24 -0
  167. xoa_driver/internals/hli_v1/ports/port_l23/freya_l1.py +722 -0
  168. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ghijkl.py +369 -0
  169. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ijkl_chimera.py +60 -0
  170. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_l.py +78 -0
  171. xoa_driver/internals/hli_v1/ports/port_l23/port_l23ve.py +101 -0
  172. xoa_driver/internals/hli_v1/ports/port_l47/__init__.py +0 -0
  173. xoa_driver/internals/hli_v1/ports/port_l47/counters.py +174 -0
  174. xoa_driver/internals/hli_v1/ports/port_l47/main.py +228 -0
  175. xoa_driver/internals/hli_v1/ports/port_l47/packet_engine.py +31 -0
  176. xoa_driver/internals/hli_v1/revisions.py +11 -0
  177. xoa_driver/internals/hli_v1/testers/__init__.py +0 -0
  178. xoa_driver/internals/hli_v1/testers/_base_tester.py +259 -0
  179. xoa_driver/internals/hli_v1/testers/genuine/__init__.py +0 -0
  180. xoa_driver/internals/hli_v1/testers/genuine/l_23/__init__.py +0 -0
  181. xoa_driver/internals/hli_v1/testers/genuine/l_23/health.py +16 -0
  182. xoa_driver/internals/hli_v1/testers/genuine/l_23/rest_api.py +38 -0
  183. xoa_driver/internals/hli_v1/testers/genuine/l_23/time_keeper.py +57 -0
  184. xoa_driver/internals/hli_v1/testers/genuine/l_23/upload_file.py +29 -0
  185. xoa_driver/internals/hli_v1/testers/genuine/management_interface.py +42 -0
  186. xoa_driver/internals/hli_v1/testers/l23_tester.py +196 -0
  187. xoa_driver/internals/hli_v1/testers/l23ve_tester.py +114 -0
  188. xoa_driver/internals/hli_v1/testers/l47_tester.py +106 -0
  189. xoa_driver/internals/hli_v1/testers/l47ve_tester.py +54 -0
  190. xoa_driver/internals/hli_v2/__init__.py +0 -0
  191. xoa_driver/internals/hli_v2/indices/__init__.py +0 -0
  192. xoa_driver/internals/hli_v2/indices/base_index.py +39 -0
  193. xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
  194. xoa_driver/internals/hli_v2/indices/connection_group/cg.py +115 -0
  195. xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +59 -0
  196. xoa_driver/internals/hli_v2/indices/connection_group/l2.py +71 -0
  197. xoa_driver/internals/hli_v2/indices/connection_group/l3.py +96 -0
  198. xoa_driver/internals/hli_v2/indices/connection_group/raw.py +148 -0
  199. xoa_driver/internals/hli_v2/indices/connection_group/replay.py +89 -0
  200. xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +261 -0
  201. xoa_driver/internals/hli_v2/indices/connection_group/tls.py +166 -0
  202. xoa_driver/internals/hli_v2/indices/connection_group/udp.py +112 -0
  203. xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +25 -0
  204. xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
  205. xoa_driver/internals/hli_v2/indices/filter/base_filter.py +50 -0
  206. xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +17 -0
  207. xoa_driver/internals/hli_v2/indices/length_term.py +44 -0
  208. xoa_driver/internals/hli_v2/indices/match_term.py +49 -0
  209. xoa_driver/internals/hli_v2/indices/port_dataset.py +53 -0
  210. xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
  211. xoa_driver/internals/hli_v2/indices/streams/base_stream.py +234 -0
  212. xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +32 -0
  213. xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
  214. xoa_driver/internals/hli_v2/modules/__interfaces.py +21 -0
  215. xoa_driver/internals/hli_v2/modules/base_module.py +125 -0
  216. xoa_driver/internals/hli_v2/modules/module_chimera.py +358 -0
  217. xoa_driver/internals/hli_v2/modules/module_l23ve.py +58 -0
  218. xoa_driver/internals/hli_v2/modules/module_l47.py +230 -0
  219. xoa_driver/internals/hli_v2/modules/module_l47ve.py +8 -0
  220. xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
  221. xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +73 -0
  222. xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +75 -0
  223. xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +85 -0
  224. xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +144 -0
  225. xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +84 -0
  226. xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +40 -0
  227. xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +25 -0
  228. xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +25 -0
  229. xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +39 -0
  230. xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +55 -0
  231. xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +797 -0
  232. xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +25 -0
  233. xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +40 -0
  234. xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +339 -0
  235. xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
  236. xoa_driver/internals/hli_v2/ports/base_port.py +105 -0
  237. xoa_driver/internals/hli_v2/ports/port_l23/__init__.py +0 -0
  238. xoa_driver/internals/hli_v2/ports/port_l23/bases/__init__.py +0 -0
  239. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_capture.py +64 -0
  240. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +441 -0
  241. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +172 -0
  242. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +156 -0
  243. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +117 -0
  244. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +59 -0
  245. xoa_driver/internals/hli_v2/ports/port_l23/chimera/__init__.py +0 -0
  246. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  247. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
  248. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +340 -0
  249. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +99 -0
  250. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +36 -0
  251. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +116 -0
  252. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +102 -0
  253. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +113 -0
  254. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +420 -0
  255. xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +22 -0
  256. xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +22 -0
  257. xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +36 -0
  258. xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +49 -0
  259. xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +96 -0
  260. xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +144 -0
  261. xoa_driver/internals/hli_v2/ports/port_l23/family_g.py +77 -0
  262. xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +60 -0
  263. xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +66 -0
  264. xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +53 -0
  265. xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +58 -0
  266. xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +67 -0
  267. xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +149 -0
  268. xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +28 -0
  269. xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +22 -0
  270. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +342 -0
  271. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +50 -0
  272. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +65 -0
  273. xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +81 -0
  274. xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
  275. xoa_driver/internals/hli_v2/ports/port_l47/counters.py +146 -0
  276. xoa_driver/internals/hli_v2/ports/port_l47/main.py +137 -0
  277. xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +20 -0
  278. xoa_driver/internals/hli_v2/revisions.py +11 -0
  279. xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
  280. xoa_driver/internals/hli_v2/testers/_base_tester.py +207 -0
  281. xoa_driver/internals/hli_v2/testers/genuine/__init__.py +0 -0
  282. xoa_driver/internals/hli_v2/testers/genuine/l_23/__init__.py +0 -0
  283. xoa_driver/internals/hli_v2/testers/genuine/l_23/health.py +16 -0
  284. xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +34 -0
  285. xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +50 -0
  286. xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +26 -0
  287. xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +38 -0
  288. xoa_driver/internals/hli_v2/testers/l23_tester.py +159 -0
  289. xoa_driver/internals/hli_v2/testers/l23ve_tester.py +98 -0
  290. xoa_driver/internals/hli_v2/testers/l47_tester.py +95 -0
  291. xoa_driver/internals/hli_v2/testers/l47ve_tester.py +50 -0
  292. xoa_driver/internals/state_storage/__init__.py +0 -0
  293. xoa_driver/internals/state_storage/_speed_detector.py +121 -0
  294. xoa_driver/internals/state_storage/modules_state.py +128 -0
  295. xoa_driver/internals/state_storage/ports_state.py +154 -0
  296. xoa_driver/internals/state_storage/testers_state.py +104 -0
  297. xoa_driver/internals/utils/__init__.py +0 -0
  298. xoa_driver/internals/utils/attributes.py +33 -0
  299. xoa_driver/internals/utils/cap_id.py +63 -0
  300. xoa_driver/internals/utils/con_traffic_light.py +88 -0
  301. xoa_driver/internals/utils/indices/__init__.py +0 -0
  302. xoa_driver/internals/utils/indices/_interfaces.py +26 -0
  303. xoa_driver/internals/utils/indices/header_modifier_manager.py +56 -0
  304. xoa_driver/internals/utils/indices/index_manager.py +95 -0
  305. xoa_driver/internals/utils/indices/observer.py +17 -0
  306. xoa_driver/internals/utils/kind.py +19 -0
  307. xoa_driver/internals/utils/managers/__init__.py +0 -0
  308. xoa_driver/internals/utils/managers/abc.py +44 -0
  309. xoa_driver/internals/utils/managers/exceptions.py +22 -0
  310. xoa_driver/internals/utils/managers/modules_manager.py +118 -0
  311. xoa_driver/internals/utils/managers/ports_manager.py +116 -0
  312. xoa_driver/internals/utils/rev_tool.py +21 -0
  313. xoa_driver/internals/utils/session.py +117 -0
  314. xoa_driver/internals/warn.py +32 -0
  315. xoa_driver/lli.py +15 -0
  316. xoa_driver/misc.py +57 -0
  317. xoa_driver/modules.py +448 -0
  318. xoa_driver/ports.py +332 -0
  319. xoa_driver/testers.py +37 -0
  320. xoa_driver/utils.py +12 -0
  321. xoa_driver/v2/__init__.py +11 -0
  322. xoa_driver/v2/misc.py +77 -0
  323. xoa_driver/v2/modules.py +308 -0
  324. xoa_driver/v2/ports.py +232 -0
  325. xoa_driver/v2/testers.py +24 -0
@@ -0,0 +1,366 @@
1
+ import typing
2
+ import asyncio
3
+ import functools
4
+ from typing_extensions import Self
5
+ from xoa_driver.internals.commands import (
6
+ M_STATUS,
7
+ M_UPGRADE,
8
+ M_UPGRADEPROGRESS,
9
+ M_CFPTYPE,
10
+ M_COMMENT,
11
+ M_CAPABILITIES,
12
+ M_CLOCKPPB,
13
+ M_TXCLOCKSOURCE_NEW,
14
+ M_TXCLOCKSTATUS_NEW,
15
+ M_EMULBYPASS,
16
+ M_LATENCYMODE,
17
+ M_REVISION,
18
+ M_MEDIA,
19
+ M_MEDIASUPPORT,
20
+ M_TIMESYNC,
21
+ M_CLOCKSYNCSTATUS,
22
+ M_NAME,
23
+ M_CFPCONFIGEXT,
24
+ M_UPGRADEPAR,
25
+ M_VERSIONSTR,
26
+ )
27
+
28
+ from xoa_driver.internals.hli_v1 import revisions
29
+ from xoa_driver.internals.utils.managers import ports_manager as pm
30
+ from xoa_driver.internals.utils import attributes as utils
31
+ from xoa_driver.internals.state_storage import modules_state
32
+ from xoa_driver import ports
33
+ from xoa_driver.internals.hli_v1.modules.modules_l23.module_l23_base import MediaModule, CfpModule
34
+ from . import base_module as bm
35
+
36
+ if typing.TYPE_CHECKING:
37
+ from xoa_driver.internals.core import interfaces as itf
38
+ from xoa_driver.internals.hli_v1.modules.modules_l23.module_l23_base import ModuleL23
39
+ from . import __interfaces as m_itf
40
+
41
+
42
+ class ChTXClock:
43
+ """
44
+ Advanced timing feature (Chimera).
45
+ """
46
+
47
+ def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
48
+ self.source = M_TXCLOCKSOURCE_NEW(conn, module_id)
49
+ """
50
+ The source that drives the TX clock rate of the ports on the test module.
51
+
52
+ :type: M_TXCLOCKSOURCE_NEW
53
+ """
54
+ self.status = M_TXCLOCKSTATUS_NEW(conn, module_id)
55
+ """
56
+ TX clock status of the test module.
57
+
58
+ :type: M_TXCLOCKSTATUS_NEW
59
+ """
60
+
61
+
62
+ class ChCFP:
63
+ """
64
+ CFP test module (Chimera).
65
+ """
66
+
67
+ def __init__(self, conn: "itf.IConnection", module: typing.Union["ModuleL23", "ModuleChimera"]) -> None:
68
+ self.type = M_CFPTYPE(conn, module.module_id)
69
+ """
70
+ The transceiver's CFP type currently inserted.
71
+
72
+ :type: M_CFPTYPE
73
+ """
74
+ self.config = CfpModule(conn, module)
75
+ """
76
+ The CFP configuration of the test module.
77
+
78
+ :type: CfpModule
79
+ """
80
+
81
+
82
+ class ChUpgrade:
83
+ """
84
+ Upgrade test module (Chimera).
85
+ """
86
+
87
+ def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
88
+ self.start = M_UPGRADE(conn, module_id)
89
+ """
90
+ Start the upgrade progress of the test module.
91
+
92
+ :type: M_UPGRADE
93
+ """
94
+ self.progress = M_UPGRADEPROGRESS(conn, module_id)
95
+ """
96
+ Upgrade progress status of the test module.
97
+
98
+ :type: M_UPGRADEPROGRESS
99
+ """
100
+ self.start_parallel = M_UPGRADEPAR(conn, module_id)
101
+ """
102
+ Start the parallel upgrade progress of the test module.
103
+
104
+ :type: M_UPGRADEPAR
105
+ """
106
+
107
+
108
+ class ChTiming:
109
+ """Test module timing and clock configuration"""
110
+
111
+ def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
112
+ self.source = M_TIMESYNC(conn, module_id)
113
+ """Timing source of the test module.
114
+
115
+ :type: M_TIMESYNC
116
+ """
117
+
118
+ self.clock_local_adjust = M_CLOCKPPB(conn, module_id)
119
+ """Time adjustment controlling of the local clock of the test module, which drives the TX rate of the test ports.
120
+
121
+ :type: M_CLOCKPPB
122
+ """
123
+
124
+ self.clock_sync_status = M_CLOCKSYNCSTATUS(conn, module_id)
125
+ """Test module's clock sync status.
126
+
127
+ :type: M_CLOCKSYNCSTATUS
128
+ """
129
+
130
+
131
+ class ModuleChimera(bm.BaseModule["modules_state.ModuleLocalState"]):
132
+ """
133
+ This is a conceptual class of Chimera module.
134
+ """
135
+
136
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
137
+ super().__init__(conn, init_data)
138
+
139
+ self._local_states = modules_state.ModuleLocalState()
140
+
141
+ self.tx_clock = ChTXClock(conn, self.module_id)
142
+ """
143
+ TX clock config (Chimera).
144
+
145
+ :type: ChTXClock
146
+ """
147
+
148
+ self.timing = ChTiming(conn, self.module_id)
149
+ """
150
+ Timing config (Chimera).
151
+
152
+ :type: ChTiming
153
+ """
154
+
155
+ self.cfp = ChCFP(conn, self)
156
+ """
157
+ CFP test module (Chimera).
158
+
159
+ :type: ChCFP
160
+ """
161
+
162
+ self.upgrade = ChUpgrade(conn, self.module_id)
163
+ """
164
+ Upgrade test module (Chimera).
165
+
166
+ :type: ChUpgrade
167
+ """
168
+
169
+ self.capabilities = M_CAPABILITIES(conn, self.module_id)
170
+ """
171
+ Test module's capabilities.
172
+
173
+ :type: M_CAPABILITIES
174
+ """
175
+
176
+ self.comment = M_COMMENT(conn, self.module_id)
177
+ """
178
+ Test module's description.
179
+
180
+ :type: M_COMMENT
181
+ """
182
+
183
+ self.status = M_STATUS(conn, self.module_id)
184
+ """
185
+ Test module's status.
186
+
187
+ :type: M_STATUS
188
+ """
189
+
190
+ self.clock_ppb = M_CLOCKPPB(conn, self.module_id)
191
+ """
192
+ Test module's local clock adjustment.
193
+
194
+ :type: M_CLOCKPPB
195
+ """
196
+
197
+ self.emulator_bypass_mode = M_EMULBYPASS(conn, self.module_id)
198
+ """
199
+ Bypass mode of the Chimera module.
200
+
201
+ :type: M_EMULBYPASS
202
+ """
203
+
204
+ self.latency_mode = M_LATENCYMODE(conn, self.module_id)
205
+ """
206
+ Latency mode of the Chimera module.
207
+
208
+ :type: M_LATENCYMODE
209
+ """
210
+
211
+ self.revision = M_REVISION(conn, self.module_id)
212
+ """Test module's model P/N name.
213
+
214
+ :type: M_REVISION
215
+ """
216
+
217
+ self.version_str = M_VERSIONSTR(conn, self.module_id)
218
+ """Module version number in the new format
219
+
220
+ :type: M_VERSIONSTR
221
+ """
222
+
223
+ self.media = MediaModule(conn, self)
224
+ """Test module's media type.
225
+
226
+ :type: MediaModule
227
+ """
228
+
229
+ self.available_speeds = M_MEDIASUPPORT(conn, self.module_id)
230
+ """Test module's available speeds.
231
+
232
+ :type: M_MEDIASUPPORT
233
+ """
234
+
235
+ self.name = M_NAME(conn, self.module_id)
236
+ """Test module's name.
237
+
238
+ :type: M_NAME
239
+ """
240
+
241
+ self.ports: pm.PortsManager["ports.PortChimera"] = pm.PortsManager(
242
+ conn=conn,
243
+ ports_type=ports.PortChimera,
244
+ module_id=self.module_id,
245
+ ports_count=self.ports_count
246
+ )
247
+ """
248
+ Port index manager of the Chimera module.
249
+
250
+ :type: PortsManager
251
+ """
252
+
253
+ @property
254
+ def info(self) -> modules_state.ModuleLocalState:
255
+ return self._local_states
256
+
257
+ async def _setup(self) -> Self:
258
+ await asyncio.gather(
259
+ self._local_states.initiate(self),
260
+ self.ports.fill()
261
+ )
262
+ self._local_states.register_subscriptions(self)
263
+ return self
264
+
265
+ on_cfp_type_change = functools.partialmethod(utils.on_event, M_CFPTYPE)
266
+ """
267
+ Register a callback function to the event that the module's CFP type changes.
268
+ """
269
+
270
+ on_cfp_config_change = functools.partialmethod(utils.on_event, M_CFPCONFIGEXT)
271
+ """
272
+ Register a callback function to the event that the module's CFP configuration changes.
273
+ """
274
+
275
+ on_status_change = functools.partialmethod(utils.on_event, M_STATUS)
276
+ """
277
+ Register a callback function to the event that the module's model changes.
278
+ """
279
+
280
+ on_latency_mode_change = functools.partialmethod(utils.on_event, M_LATENCYMODE)
281
+ """
282
+ Register a callback function to the event that the module's latency mode changes.
283
+ """
284
+
285
+ on_media_change = functools.partialmethod(utils.on_event, M_MEDIA)
286
+ """
287
+ Register a callback to the event that the module's media and available speeds change.
288
+ """
289
+
290
+ on_media_support_change = functools.partialmethod(utils.on_event, M_MEDIASUPPORT)
291
+ """
292
+ Register a callback to the event that the module's supported media changes.
293
+ """
294
+
295
+ on_timing_source_change = functools.partialmethod(utils.on_event, M_TIMESYNC)
296
+ """
297
+ Register a callback to the event that the module's timesync mode changes.
298
+ """
299
+
300
+ on_timing_clock_local_adjust_change = functools.partialmethod(utils.on_event, M_CLOCKPPB)
301
+ """
302
+ Register a callback to the event that the module's clock adjustment ppb changes.
303
+ """
304
+
305
+ on_adv_timing_clock_tx_status_change = functools.partialmethod(utils.on_event, M_TXCLOCKSTATUS_NEW)
306
+ """Register a callback to the event that the module's TX clock status changes."""
307
+
308
+ on_adv_timing_clock_tx_source_change = functools.partialmethod(utils.on_event, M_TXCLOCKSOURCE_NEW)
309
+ """Register a callback to the event that the module's clock that drives the port TX rates changes."""
310
+
311
+
312
+ @typing.final
313
+ @revisions.register_chimera_module(rev="Chimera-100G-5S-2P")
314
+ class MChi100G5S2P(ModuleChimera):
315
+ """Chimera module Chi-100G-5S-2P"""
316
+
317
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
318
+ super().__init__(conn, init_data)
319
+ self.ports: pm.PortsManager[ports.PChi100G5S2P] = pm.PortsManager(
320
+ conn=conn,
321
+ ports_type=ports.PChi100G5S2P,
322
+ module_id=self.module_id,
323
+ ports_count=self.ports_count
324
+ )
325
+ """Port index manager of Chi-100G-5S-2P
326
+
327
+ :type: PortsManager
328
+ """
329
+
330
+
331
+ @typing.final
332
+ @revisions.register_chimera_module(rev="Chimera-100G-5S-2P[b]")
333
+ class MChi100G5S2P_b(ModuleChimera):
334
+ """Chimera module Chi-100G-5S-2P[b]"""
335
+
336
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
337
+ super().__init__(conn, init_data)
338
+ self.ports: pm.PortsManager[ports.PChi100G5S2P_b] = pm.PortsManager(
339
+ conn=conn,
340
+ ports_type=ports.PChi100G5S2P_b,
341
+ module_id=self.module_id,
342
+ ports_count=self.ports_count
343
+ )
344
+ """Port index manager of Chi-100G-5S-2P[b]
345
+
346
+ :type: PortsManager
347
+ """
348
+
349
+
350
+ @typing.final
351
+ @revisions.register_chimera_module(rev="Chimera-40G-5S-2P")
352
+ class MChi40G2S2P(ModuleChimera):
353
+ """Chimera module Chi-40G-2S-2P"""
354
+
355
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
356
+ super().__init__(conn, init_data)
357
+ self.ports: pm.PortsManager[ports.PChi40G2S2P] = pm.PortsManager(
358
+ conn=conn,
359
+ ports_type=ports.PChi40G2S2P,
360
+ module_id=self.module_id,
361
+ ports_count=self.ports_count
362
+ )
363
+ """Port index manager of Chi-40G-2S-2P
364
+
365
+ :type: PortsManager
366
+ """
@@ -0,0 +1,73 @@
1
+ import asyncio
2
+ import typing
3
+ from typing_extensions import Self
4
+ from xoa_driver.internals.commands import (
5
+ M_COMMENT,
6
+ M_CAPABILITIES,
7
+ M_MULTIUSER
8
+ )
9
+ from xoa_driver import ports
10
+ from xoa_driver.internals.utils.managers import ports_manager as pm
11
+ from xoa_driver.internals.state_storage import modules_state
12
+ from . import base_module as bm
13
+ if typing.TYPE_CHECKING:
14
+ from xoa_driver.internals.core import interfaces as itf
15
+ from . import __interfaces as m_itf
16
+
17
+
18
+ class ModuleL23VE(bm.BaseModule["modules_state.ModuleLocalState"]):
19
+ """
20
+ This is a conceptual class of L23 test module on ValkyrieVE tester.
21
+ """
22
+
23
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
24
+ super().__init__(conn, init_data)
25
+
26
+ self._local_states = modules_state.ModuleLocalState()
27
+
28
+ self.comment = M_COMMENT(conn, self.module_id)
29
+ """Test module's description.
30
+
31
+ :type: M_COMMENT
32
+ """
33
+
34
+ self.capabilities = M_CAPABILITIES(conn, self.module_id)
35
+ """Test module's capabilities.
36
+
37
+ :type: M_CAPABILITIES
38
+ """
39
+
40
+ self.multiuser = M_MULTIUSER(conn, self.module_id)
41
+ """If multiple users are allowed to control the same test module.
42
+
43
+ :type: M_MULTIUSER
44
+ """
45
+
46
+ self.ports: pm.PortsManager[ports.PortL23VE] = pm.PortsManager(
47
+ conn=conn,
48
+ ports_type=ports.PortL23VE,
49
+ module_id=self.module_id,
50
+ ports_count=self.ports_count
51
+ )
52
+ """L23 VE Port index manager of this test module.
53
+
54
+ :type: PortsManager
55
+ """
56
+
57
+ @property
58
+ def info(self) -> modules_state.ModuleLocalState:
59
+ """Return the module's local state
60
+
61
+ :return: the module's local state
62
+ :rtype: ModuleLocalState
63
+ """
64
+
65
+ return self._local_states
66
+
67
+ async def _setup(self) -> Self:
68
+ await asyncio.gather(
69
+ self._local_states.initiate(self),
70
+ self.ports.fill()
71
+ )
72
+ self._local_states.register_subscriptions(self)
73
+ return self