tdl-xoa-driver 1.0.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 (325) hide show
  1. tdl_xoa_driver-1.0.0.dist-info/LICENSE +202 -0
  2. tdl_xoa_driver-1.0.0.dist-info/METADATA +177 -0
  3. tdl_xoa_driver-1.0.0.dist-info/RECORD +325 -0
  4. tdl_xoa_driver-1.0.0.dist-info/WHEEL +5 -0
  5. tdl_xoa_driver-1.0.0.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,256 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+
4
+ from xoa_driver.ports import GenericAnyPort
5
+ from xoa_driver.internals.core import interfaces as itf
6
+ from xoa_driver.lli import commands
7
+ from xoa_driver import enums
8
+
9
+
10
+ def get_ctx(port: GenericAnyPort) -> tuple["itf.IConnection", int, int]:
11
+ return (port._conn, *port.kind)
12
+
13
+
14
+ def dictionize_autoneg_status(
15
+ loopback: commands.PL1_CFG_TMP.GetDataAttr,
16
+ auto_neg_info: commands.PL1_AUTONEGINFO.GetDataAttr,
17
+ status: commands.PL1_AUTONEG_STATUS.GetDataAttr,
18
+ ) -> dict[str, Any]:
19
+ _is_enabled = True if status.mode == enums.AutoNegMode.ANEG_ON else False
20
+ _ta_hcd_status = status.tech_ability_hcd_status
21
+ if _ta_hcd_status == enums.FreyaTechAbilityHCDStatus.FAILED:
22
+ _ta_hcd_value = "N/A"
23
+ _fec_result_value = "N/A"
24
+ else:
25
+ _ta_hcd_value = status.tech_ability_hcd_value.name
26
+ _fec_result_value = status.fec_mode_result.name
27
+ return {
28
+ "is_enabled": _is_enabled,
29
+ "loopback": "allowed" if loopback.values[0] else "not allowed",
30
+ "state": status.autoneg_state.name,
31
+ "hcd": _ta_hcd_value,
32
+ "fec_result": _fec_result_value,
33
+ "duration": auto_neg_info.duration_us,
34
+ "successes": auto_neg_info.negotiation_success_count,
35
+ "timeouts": auto_neg_info.negotiation_timeout_count,
36
+ "loss_of_sync": auto_neg_info.negotiation_loss_of_sync_count,
37
+ "fec_negotiation_fails": auto_neg_info.negotiation_fec_fail_count,
38
+ "hcd_negotiation_fails": auto_neg_info.negotiation_hcd_fail_count,
39
+ "link_codewords": {
40
+ "tx": auto_neg_info.tx_link_codeword_count,
41
+ "rx": auto_neg_info.rx_link_codeword_count,
42
+ },
43
+ "next_page_messages": {
44
+ "tx": auto_neg_info.tx_next_page_message_count,
45
+ "rx": auto_neg_info.rx_next_page_message_count,
46
+ },
47
+ "unformatted_pages": {
48
+ "tx": auto_neg_info.tx_next_page_unformatted_count,
49
+ "rx": auto_neg_info.rx_next_page_unformatted_count,
50
+ },
51
+ }
52
+
53
+
54
+ def _decode_ic(key: int) -> str:
55
+ dic = {
56
+ 0: "INDV",
57
+ 1: "Preset 4",
58
+ 2: "Preset 1",
59
+ 3: "Preset 5",
60
+ 4: "Preset 2",
61
+ 6: "Preset 3",
62
+ }
63
+ return dic.get(key, "Reserved")
64
+
65
+
66
+ def _link_info_part(info: commands.PL1_LINKTRAININFO.GetDataAttr, index: str, part: str) -> dict[str, str]:
67
+ tx_attr = f"{index}_tx_{part}"
68
+ rx_attr = f"{index}_rx_{part}"
69
+ return {
70
+ "rx": getattr(info, rx_attr),
71
+ "tx": getattr(info, tx_attr),
72
+ }
73
+
74
+
75
+ def _link_info_all(info: commands.PL1_LINKTRAININFO.GetDataAttr, index: str) -> dict[str, Any]:
76
+ return {
77
+ "current_level": getattr(info, f"{index}_current_level"),
78
+ "+req": _link_info_part(info, index, "increment_req_count"),
79
+ "-req": _link_info_part(info, index, "decrement_req_count"),
80
+ "coeff_and_eq_limit_reached": _link_info_part(
81
+ info, index, "coeff_eq_limit_reached_count"
82
+ ),
83
+ "eq_limit_reached": _link_info_part(info, index, "eq_limit_reached_count"),
84
+ "coeff_not_supported": _link_info_part(
85
+ info, index, "coeff_not_supported_count"
86
+ ),
87
+ "coeff_at_limit": _link_info_part(info, index, "coeff_at_limit_count"),
88
+ }
89
+
90
+
91
+ def dictionize_lt_status(
92
+ status: commands.PL1_LINKTRAIN_STATUS.GetDataAttr,
93
+ info: commands.PL1_LINKTRAININFO.GetDataAttr,
94
+ ltconf: commands.PL1_LINKTRAIN_CONFIG.GetDataAttr,
95
+ cfg: commands.PL1_CFG_TMP.GetDataAttr,
96
+ ber: float,
97
+ total_bit_count: float,
98
+ total_error_bit_count: float,
99
+ ) -> dict[str, Any]:
100
+ _is_enabled = True if status.mode == enums.LinkTrainingStatusMode.ENABLED else False
101
+ _is_traind = True if status.status == enums.LinkTrainingStatus.TRAINED else False
102
+ _oos_preset = "Existing" if ltconf.oos_preset == enums.FreyaOutOfSyncPreset.CURRENT else "IEEE"
103
+ ber_str = '{:.2e}'.format(ber)
104
+ return {
105
+ "is_enabled": _is_enabled,
106
+ "is_trained": _is_traind,
107
+ # "failure": enums.LinkTrainingFailureType(status.failure).name.lower(),
108
+ "failure": status.failure.name.lower(),
109
+ "oos_preset": _oos_preset,
110
+ "init_modulation": enums.LinkTrainEncoding(cfg.values[0]).name.lower(),
111
+ "total_bits": total_bit_count,
112
+ "total_errored_bits": total_error_bit_count,
113
+ "ber": ber_str,
114
+ "duration": info.duration_us,
115
+ "lock_lost": info.lock_lost_count,
116
+ # "frame_lock": enums.LinkTrainFrameLock(info.frame_lock).name.lower(),
117
+ "frame_lock": info.frame_lock.name.lower(),
118
+ # "remote_frame_lock": enums.LinkTrainFrameLock(
119
+ # info.remote_frame_lock
120
+ # ).name.lower(),
121
+ "remote_frame_lock": info.remote_frame_lock.name.lower(),
122
+ "frame_errors": info.num_frame_errors,
123
+ "overrun_errors": info.num_overruns,
124
+ "last_ic_received": _decode_ic(info.last_ic_received),
125
+ "last_ic_sent": _decode_ic(info.last_ic_sent),
126
+ "c(-3)": _link_info_all(info, "pre3"),
127
+ "c(-2)": _link_info_all(info, "pre2"),
128
+ "c(-1)": _link_info_all(info, "pre1"),
129
+ "c(0)": _link_info_all(info, "main"),
130
+ "c(1)": _link_info_all(info, "post1"),
131
+ }
132
+
133
+
134
+ def dictionize_txtap_get(r: commands.PP_PHYTXEQ.GetDataAttr) -> dict[str, int]:
135
+ return {
136
+ "c(-3)": r.pre3_post2,
137
+ "c(-2)": r.pre2,
138
+ "c(-1)": r.pre,
139
+ "c(0)": r.main,
140
+ "c(1)": r.post,
141
+ }
142
+
143
+
144
+ def dictionize_anlt_status(
145
+ link_recovery: commands.PL1_CFG_TMP.GetDataAttr,
146
+ anlt_op: commands.PL1_ANLT.GetDataAttr,
147
+ linktrain_cfg: commands.PL1_LINKTRAIN_CONFIG.GetDataAttr,
148
+ capabilities: commands.P_CAPABILITIES.GetDataAttr,
149
+ allow_loopback: commands.PL1_CFG_TMP.GetDataAttr,
150
+ ) -> dict[str, Any]:
151
+ return {
152
+ "autoneg_mode": anlt_op.an_mode.name.lower(),
153
+ "link_training_mode": anlt_op.lt_mode.name.lower(),
154
+ "link_training_timeout": "enable" if linktrain_cfg.timeout_mode == enums.TimeoutMode.DEFAULT else "disable",
155
+ "restart_link_down": "on" if link_recovery.values[0] == 1 or link_recovery.values[0] == 3 else "off",
156
+ "restart_lt_fail": "on" if link_recovery.values[0] == 2 or link_recovery.values[0] == 3 else "off",
157
+ "serdes_count": capabilities.serdes_count,
158
+ "autoneg_allow_loopback": allow_loopback.values,
159
+ "link_training_preset0": enums.FreyaOutOfSyncPreset(linktrain_cfg.oos_preset).name.lower(),
160
+ }
161
+
162
+
163
+ def dictionize_lt_im_status(
164
+ capabilities: commands.P_CAPABILITIES.GetDataAttr,
165
+ initial_mods: dict[str, str]
166
+ ) -> dict[str, Any]:
167
+ return {
168
+ "serdes_count": capabilities.serdes_count,
169
+ "initial_mods": initial_mods,
170
+ }
171
+
172
+
173
+ def dictionize_lt_algorithm_status(
174
+ capabilities: commands.P_CAPABILITIES.GetDataAttr,
175
+ algorithms: dict[str, str]
176
+ ) -> dict[str, Any]:
177
+ return {
178
+ "serdes_count": capabilities.serdes_count,
179
+ "algorithms": algorithms
180
+ }
181
+
182
+
183
+ MODULE_EOL_INFO: dict[str, str] = {
184
+ "01": "2014-04-01",
185
+ "02": "2024-09-01",
186
+ "03": "2016-03-01",
187
+ "09": "2022-01-01",
188
+ "17": "2023-01-01",
189
+ "18": "2023-01-01",
190
+ "20": "2024-11-01",
191
+ "22": "2018-11-01",
192
+ "24": "2024-11-01",
193
+ "26": "2023-06-01",
194
+ "27": "2025-10-01",
195
+ "30": "2024-01-01",
196
+ "31": "2021-09-01",
197
+ "32": "2024-04-01",
198
+ "34": "2024-08-01",
199
+ "36": "2024-05-01",
200
+ "37": "2025-04-01",
201
+ "39": "2025-04-01",
202
+ "40": "2023-03-01",
203
+ "50": "2022-02-01",
204
+ "51": "2023-08-01",
205
+ "54": "2023-02-01",
206
+ "55": "2024-01-01",
207
+ "60": "2025-10-01",
208
+ "65": "2027-06-01",
209
+ "66": "2026-02-01",
210
+ "69": "2027-11-01",
211
+ "73": "2027-01-01",
212
+ "74": "2027-01-01",
213
+ "85": "2026-10-01",
214
+ "90": "2025-10-01",
215
+ "91": "2025-10-01",
216
+ "92": "2026-10-01",
217
+ "93": "2025-10-01",
218
+ "94": "2025-10-01",
219
+ "95": "2026-10-01",
220
+ "96": "2026-10-01",
221
+ "97": "2025-10-01",
222
+ "98": "2026-10-01",
223
+ "99": "2026-10-01",
224
+ }
225
+
226
+ def dictionize_anlt_log_ctrl_status(
227
+ logctrl_status: list[int]
228
+ ) -> dict[str, bool]:
229
+ _value = logctrl_status[0]
230
+ _debug = bool(_value & enums.AnLtLogControl.LOG_TYPE_DEBUG)
231
+ _an_trace = bool(_value & enums.AnLtLogControl.LOG_TYPE_AN_TRACE)
232
+ _lt_trace = bool(_value & enums.AnLtLogControl.LOG_TYPE_LT_TRACE)
233
+ _alg_trace = bool(_value & enums.AnLtLogControl.LOG_TYPE_ALG_TRACE)
234
+ _fsm_port = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_PORT)
235
+ _fsm_an = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_ANEG)
236
+ _fsm_an_stimuli = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_ANEG_STIMULI)
237
+ _fsm_lt = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_LT)
238
+ _fsm_lt_coeff = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_LT_COEFF)
239
+ _fsm_lt_stimuli = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_LT_STIMULI)
240
+ _fsm_lt_alg0 = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_LT_ALG0)
241
+ _fsm_lt_algn1 = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_LT_ALG1)
242
+ return {
243
+ "debug": _debug,
244
+ "an_trace": _an_trace,
245
+ "lt_trace": _lt_trace,
246
+ "alg_trace": _alg_trace,
247
+ "fsm_port": _fsm_port,
248
+ "fsm_an": _fsm_an,
249
+ "fsm_an_stimuli": _fsm_an_stimuli,
250
+ "fsm_an_stimuli": _fsm_an_stimuli,
251
+ "fsm_lt": _fsm_lt,
252
+ "fsm_lt_coeff": _fsm_lt_coeff,
253
+ "fsm_lt_stimuli": _fsm_lt_stimuli,
254
+ "fsm_lt_alg0": _fsm_lt_alg0,
255
+ "fsm_lt_algn1": _fsm_lt_algn1,
256
+ }
xoa_driver/hlfuncs.py ADDED
@@ -0,0 +1,18 @@
1
+ #: High-level functions
2
+ from xoa_driver.functions import (
3
+ anlt,
4
+ cli,
5
+ mgmt,
6
+ anlt_ll_debug,
7
+ exceptions,
8
+ headers,
9
+ )
10
+
11
+ __all__ = (
12
+ "anlt",
13
+ "mgmt",
14
+ "anlt_ll_debug",
15
+ "exceptions",
16
+ "cli",
17
+ "headers"
18
+ )
File without changes
@@ -0,0 +1,31 @@
1
+ """
2
+ Definition of BXMP commands.
3
+
4
+ All commands in this module are only a stateless declaration of there structures which
5
+ define how they will be converted to binary protocol.
6
+ """
7
+
8
+ # importing commands subsets
9
+ from .c_commands import * # noqa: F403,F401
10
+ from .m_commands import * # noqa: F403,F401
11
+ from .m4_commands import * # noqa: F403,F401
12
+ from .m4e_commands import * # noqa: F403,F401
13
+ from .p_commands import * # noqa: F403,F401
14
+ from .p4_commands import * # noqa: F403,F401
15
+ from .p4e_commands import * # noqa: F403,F401
16
+ from .p4g_commands import * # noqa: F403,F401
17
+ from .pc_commands import * # noqa: F403,F401
18
+ from .pd_commands import * # noqa: F403,F401
19
+ from .pe_commands import * # noqa: F403,F401
20
+ from .pec_commands import * # noqa: F403,F401
21
+ from .ped_commands import * # noqa: F403,F401
22
+ from .pef_commands import * # noqa: F403,F401
23
+ from .pf_commands import * # noqa: F403,F401
24
+ from .pl_commands import * # noqa: F403,F401
25
+ from .pm_commands import * # noqa: F403,F401
26
+ from .pp_commands import * # noqa: F403,F401
27
+ from .pr_commands import * # noqa: F403,F401
28
+ from .ps_commands import * # noqa: F403,F401
29
+ from .pt_commands import * # noqa: F403,F401
30
+ from .px_commands import * # noqa: F403,F401
31
+ from .pl1_commands import * # noqa: F403,F401