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,441 +0,0 @@
1
- import functools
2
- import typing
3
- from xoa_driver.internals.commands import (
4
- P_CAPABILITIES,
5
- P_SPEED,
6
- P_SPEEDREDUCTION,
7
- P_INTERFRAMEGAP,
8
- P_MACADDRESS,
9
- P_IPADDRESS,
10
- P_ARPREPLY,
11
- P_PINGREPLY,
12
- P_PAUSE,
13
- P_RANDOMSEED,
14
- P_LOOPBACK,
15
- P_TRAFFIC,
16
- # P_CAPTURE,
17
- P_XMITONE,
18
- P_LATENCYOFFSET,
19
- P_LATENCYMODE,
20
- P_AUTOTRAIN,
21
- P_MIXWEIGHTS,
22
- P_TRAFFICERR,
23
- P_GAPMONITOR,
24
- P_CHECKSUM,
25
- P_MIXLENGTH,
26
- P_ARPRXTABLE,
27
- P_NDPRXTABLE,
28
- P_MULTICAST,
29
- P_MULTICASTEXT,
30
- P_MCSRCLIST,
31
- P_MULTICASTHDR,
32
- P_TXMODE,
33
- P_RATEFRACTION,
34
- P_RATEPPS,
35
- P_RATEL2BPS,
36
- P_PAYLOADMODE,
37
- P_TXENABLE,
38
- P_MAXHEADERLENGTH,
39
- P_TXTIMELIMIT,
40
- P_TXTIME,
41
- P_XMITONETIME,
42
- P_IPV6ADDRESS,
43
- P_ARPV6REPLY,
44
- P_PINGV6REPLY,
45
- P_ERRORS,
46
- P_TXPREPARE,
47
- P_TXDELAY,
48
- P_TPLDMODE,
49
- P_TXPACKETLIMIT,
50
- P_PFCENABLE,
51
- P_TXBURSTPERIOD,
52
- P_CAPABILITIES_EXT,
53
- P_IGMPV3_GROUP_RECORD_BUNDLE,
54
- )
55
- if typing.TYPE_CHECKING:
56
- from xoa_driver.internals.core import interfaces as itf
57
- from xoa_driver.internals.hli_v2.ports import base_port
58
- from xoa_driver.internals.utils import attributes as utils
59
- from xoa_driver.internals.utils.indices import index_manager as idx_mgr
60
- from xoa_driver.internals.state_storage import ports_state
61
- from xoa_driver.internals.hli_v2.indices.length_term import LengthTermIdx
62
- from xoa_driver.internals.hli_v2.indices.match_term import MatchTermIdx
63
-
64
- from .port_capture import PortCapture
65
-
66
- LengthTermIndices = idx_mgr.IndexManager[LengthTermIdx]
67
- MatchTermIndices = idx_mgr.IndexManager[MatchTermIdx]
68
-
69
-
70
- class TxSinglePacket:
71
- """L23 port single-packet transmission"""
72
-
73
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
74
- self.send = P_XMITONE(conn, module_id, port_id)
75
- """Send one packet from the L23 port without a stream config.
76
- Representation of P_XMITONE
77
- """
78
-
79
- self.time = P_XMITONETIME(conn, module_id, port_id)
80
- """The time at which the latest packet was transmitted using the P_XMITONE` command.
81
- Representation of P_XMITONETIME
82
- """
83
-
84
-
85
- class TxConfiguration:
86
- """L23 port TX configuration"""
87
-
88
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
89
- self.mode = P_TXMODE(conn, module_id, port_id)
90
- """L23 port TX mode.
91
- Representation of P_TXMODE
92
- """
93
-
94
- self.enable = P_TXENABLE(conn, module_id, port_id)
95
- """Enabling L23 port TX.
96
- Representation of P_TXENABLE
97
- """
98
-
99
- self.time_limit = P_TXTIMELIMIT(conn, module_id, port_id)
100
- """L23 port TX time limit.
101
- Representation of P_TXTIMELIMIT
102
- """
103
-
104
- self.time = P_TXTIME(conn, module_id, port_id)
105
- """L23 port TX time.
106
- Representation of P_TXTIME
107
- """
108
-
109
- self.prepare = P_TXPREPARE(conn, module_id, port_id)
110
- """Prepare L23 port for transmission.
111
- Representation of P_TXPREPARE
112
- """
113
-
114
- self.delay = P_TXDELAY(conn, module_id, port_id)
115
- """L23 port TX delay.
116
- Representation of P_TXDELAY
117
- """
118
-
119
- self.packet_limit = P_TXPACKETLIMIT(conn, module_id, port_id)
120
- """L23 port TX packet limit
121
- Representation of P_TXPACKETLIMIT
122
- """
123
-
124
- self.burst_period = P_TXBURSTPERIOD(conn, module_id, port_id)
125
- """L23 port TX burst period.
126
- Representation of P_TXBURSTPERIOD
127
- """
128
-
129
-
130
- class Rate:
131
- """L23 port TX rate"""
132
-
133
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
134
- self.fraction = P_RATEFRACTION(conn, module_id, port_id)
135
- """L23 port rate in ppm.
136
- Representation of P_RATEFRACTION
137
- """
138
-
139
- self.pps = P_RATEPPS(conn, module_id, port_id)
140
- """L23 port rate in packets per second.
141
- Representation of P_RATEPPS
142
- """
143
-
144
- self.l2_bps = P_RATEL2BPS(conn, module_id, port_id)
145
- """L23 port rate in L2 bits per second.
146
- Representation of P_RATEL2BPS
147
- """
148
-
149
-
150
- class Multicast:
151
- """L23 port multicast configuration"""
152
-
153
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
154
- self.mode = P_MULTICAST(conn, module_id, port_id)
155
- """L23 port multicast mode.
156
- Representation of P_MULTICAST
157
- """
158
-
159
- self.mode_extended = P_MULTICASTEXT(conn, module_id, port_id)
160
- """L23 port multicast extended mode.
161
- Representation of P_MULTICASTEXT
162
- """
163
-
164
- self.source_list = P_MCSRCLIST(conn, module_id, port_id)
165
- """L23 port multicast source list.
166
- Representation of P_MCSRCLIST
167
- """
168
-
169
- self.header = P_MULTICASTHDR(conn, module_id, port_id)
170
- """L23 port multicast IGMP header.
171
- Representation of P_MULTICASTHDR
172
- """
173
-
174
- self.igmpv3_group_record_bundle = P_IGMPV3_GROUP_RECORD_BUNDLE(conn, module_id, port_id)
175
- """Configure if a single membership report bundles multiple multicast group records to decrease the number of packets sent when using IGMPv3. This command returns <NOTVALID> when the IGMP version is not IGMPv3.
176
-
177
- :type: P_IGMPV3_GROUP_RECORD_BUNDLE
178
- """
179
-
180
-
181
- class IPv4:
182
- """L23 port IPv4 configuration"""
183
-
184
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
185
- self.address = P_IPADDRESS(conn, module_id, port_id)
186
- """L23 port IPv4 address.
187
- Representation of P_IPADDRESS
188
- """
189
-
190
- self.arp_reply = P_ARPREPLY(conn, module_id, port_id)
191
- """L23 port reply to ARP request.
192
- Representation of P_ARPREPLY
193
- """
194
-
195
- self.ping_reply = P_PINGREPLY(conn, module_id, port_id)
196
- """L23 port reply to PING request.
197
- Representation of P_PINGREPLY
198
- """
199
-
200
-
201
- class IPv6:
202
- """L23 port IPv6 configuration"""
203
-
204
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
205
- self.address = P_IPV6ADDRESS(conn, module_id, port_id)
206
- """L23 port IPv6 address.
207
- Representation of P_IPV6ADDRESS
208
- """
209
-
210
- self.arp_reply = P_ARPV6REPLY(conn, module_id, port_id)
211
- """L23 port reply to NDP Neighbor Solicitation.
212
- Representation of P_ARPV6REPLY
213
- """
214
-
215
- self.ping_reply = P_PINGV6REPLY(conn, module_id, port_id)
216
- """L23 port reply to PINGv6 request.
217
- Representation of P_PINGV6REPLY
218
- """
219
-
220
-
221
- class NetworkConfiguration: # will be extended in genuine ports
222
- """L23 port networking configuration"""
223
-
224
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
225
- self.mac_address = P_MACADDRESS(conn, module_id, port_id)
226
- """L23 port MAC address.
227
- Representation of P_MACADDRESS
228
- """
229
-
230
- self.ipv4 = IPv4(conn, module_id, port_id)
231
- """L23 port IPv4 address configuration.
232
- """
233
-
234
- self.ipv6 = IPv6(conn, module_id, port_id)
235
- """L23 port IPv6 address configuration.
236
- """
237
-
238
-
239
- class LatencyConfiguration:
240
- """L23 port latency configuration"""
241
-
242
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
243
- self.offset = P_LATENCYOFFSET(conn, module_id, port_id)
244
- """L23 port latency offset.
245
- Representation of P_LATENCYOFFSET
246
- """
247
-
248
- self.mode = P_LATENCYMODE(conn, module_id, port_id)
249
- """L23 port latency measurement mode.
250
- Representation of P_LATENCYMODE
251
- """
252
-
253
-
254
- class Mix:
255
- """L23 port IMIX configuration"""
256
-
257
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
258
- self.weights = P_MIXWEIGHTS(conn, module_id, port_id)
259
- """L23 port IMIX weights
260
- Representation of P_MIXWEIGHTS
261
- """
262
-
263
- self.lengths = tuple(
264
- P_MIXLENGTH(conn, module_id, port_id, idx)
265
- for idx in range(16)
266
- ) # TODO: need to add manager for handle specific indices only
267
- """L23 port IMIX lengths.
268
- Representation of P_MIXLENGTH
269
- """
270
-
271
-
272
- class Speed:
273
- """L23 port speed configuration"""
274
-
275
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
276
- self.current = P_SPEED(conn, module_id, port_id)
277
- """L23 port current speed in units of Mbps.
278
- Representation of P_SPEED
279
- """
280
-
281
- self.reduction = P_SPEEDREDUCTION(conn, module_id, port_id)
282
- """L23 port speed reduction in ppm.
283
- Representation of P_SPEEDREDUCTION
284
- """
285
-
286
-
287
- class Traffic:
288
- """L23 port traffic generation"""
289
-
290
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
291
- self.state = P_TRAFFIC(conn, module_id, port_id)
292
- """L23 port traffic status and action.
293
- Representation of P_TRAFFIC
294
- """
295
-
296
- self.error = P_TRAFFICERR(conn, module_id, port_id)
297
- """L23 port traffic error.
298
- Representation of P_TRAFFICERR
299
- """
300
-
301
-
302
- class BasePortL23(base_port.BasePort[ports_state.PortL23LocalState]):
303
- """L23 port layout which is relevant to all L23 ports."""
304
-
305
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
306
- super().__init__(conn, module_id, port_id)
307
- self.capabilities = P_CAPABILITIES(conn, module_id, port_id)
308
- """L23 port capabilities.
309
- Representation of P_CAPABILITIES
310
- """
311
-
312
- self.capabilities_ext = P_CAPABILITIES_EXT(conn, module_id, port_id)
313
- """L23 port capabilities ext.
314
-
315
- Representation of P_CAPABILITIES_EXT
316
- """
317
-
318
- self.pause = P_PAUSE(conn, module_id, port_id)
319
- """L23 port response to Ethernet PAUSE frames.
320
- Representation of P_PAUSE
321
- """
322
-
323
- self.loop_back = P_LOOPBACK(conn, module_id, port_id)
324
- """L23 port loopback mode.
325
- Representation of P_LOOPBACK
326
- """
327
-
328
- self.errors_count = P_ERRORS(conn, module_id, port_id)
329
- """L23 port errors.
330
- Representation of P_ERRORS
331
- """
332
-
333
- self.interframe_gap = P_INTERFRAMEGAP(conn, module_id, port_id)
334
- """L23 port interframe gap.
335
- Representation of P_INTERFRAMEGAP
336
- """
337
-
338
- self.max_header_length = P_MAXHEADERLENGTH(conn, module_id, port_id)
339
- """L23 port maximum header length.
340
- Representation of P_MAXHEADERLENGTH
341
- """
342
-
343
- self.tpld_mode = P_TPLDMODE(conn, module_id, port_id)
344
- """L23 port test payload mode.
345
- Representation of P_TPLDMODE
346
- """
347
-
348
- self.pfc_enable = P_PFCENABLE(conn, module_id, port_id)
349
- """L23 port Ethernet Priority Flow Control (PFC).
350
- Representation of P_PFCENABLE
351
- """
352
-
353
- self.random_seed = P_RANDOMSEED(conn, module_id, port_id)
354
- """L23 port seed value.
355
- Representation of P_RANDOMSEED
356
- """
357
-
358
- self.payload_mode = P_PAYLOADMODE(conn, module_id, port_id)
359
- """L23 port payload mode.
360
- Representation of P_PAYLOADMODE
361
- """
362
-
363
- self.autotrain = P_AUTOTRAIN(conn, module_id, port_id)
364
- """L23 port interval between auto training packets.
365
- Representation of P_AUTOTRAIN
366
- """
367
-
368
- self.gap_monitor = P_GAPMONITOR(conn, module_id, port_id)
369
- """L23 port gap monitor.
370
- Representation of P_GAPMONITOR
371
- """
372
-
373
- self.checksum = P_CHECKSUM(conn, module_id, port_id)
374
- """L23 port extra payload integrity checksum.
375
- Representation of P_CHECKSUM
376
- """
377
-
378
- self.arp_rx_table = P_ARPRXTABLE(conn, module_id, port_id)
379
- """L23 port ARP table.
380
- Representation of P_ARPRXTABLE
381
- """
382
-
383
- self.ndp_rx_table = P_NDPRXTABLE(conn, module_id, port_id)
384
- """L23 port NDP table.
385
- Representation of P_NDPRXTABLE
386
- """
387
-
388
- self.capturer = PortCapture(conn, module_id, port_id)
389
- """L23 port capturer configuration."""
390
-
391
- self.speed = Speed(conn, module_id, port_id)
392
- """L23 port speed configuration."""
393
-
394
- self.traffic = Traffic(conn, module_id, port_id)
395
- """L23 port traffic configuration."""
396
-
397
- self.mix = Mix(conn, module_id, port_id)
398
- """L23 port IMIX configuration."""
399
-
400
- self.latency_config = LatencyConfiguration(conn, module_id, port_id)
401
- """L23 port latency configuration."""
402
-
403
- self.rate = Rate(conn, module_id, port_id)
404
- """L23 port rate."""
405
-
406
- self.tx_config = TxConfiguration(conn, module_id, port_id)
407
- """L23 port TX configuration."""
408
-
409
- self.tx_single_pkt = TxSinglePacket(conn, module_id, port_id)
410
- """L23 port single-packet TX configuration."""
411
-
412
- self.multicast = Multicast(conn, module_id, port_id)
413
- """L23 port multicast configuration."""
414
-
415
- self.net_config = NetworkConfiguration(conn, module_id, port_id)
416
- """L23 port network configuration."""
417
-
418
- self.local_states = ports_state.PortL23LocalState()
419
- """L23 port local states."""
420
-
421
- self.length_terms: LengthTermIndices = idx_mgr.IndexManager(
422
- conn,
423
- LengthTermIdx,
424
- module_id,
425
- port_id
426
- )
427
- """L23 port's length term index manager."""
428
-
429
- self.match_terms: MatchTermIndices = idx_mgr.IndexManager(
430
- conn,
431
- MatchTermIdx,
432
- module_id,
433
- port_id
434
- )
435
- """L23 port's match term index manager."""
436
-
437
- on_speed_change = functools.partialmethod(utils.on_event, P_SPEED)
438
- """Register a callback to the event that the port's speed changes."""
439
-
440
- on_traffic_change = functools.partialmethod(utils.on_event, P_TRAFFIC)
441
- """Register a callback to the event that the port's traffic status changes."""
@@ -1,172 +0,0 @@
1
- import functools
2
- from typing import TYPE_CHECKING
3
- if TYPE_CHECKING:
4
- from xoa_driver.internals.core import interfaces as itf
5
- from xoa_driver.internals.commands import (
6
- P_FLASH,
7
- P_SPEEDSELECTION,
8
- P_SPEEDS_SUPPORTED,
9
- P_UAT_MODE,
10
- P_UAT_FLR,
11
- P_STATUS,
12
- P_TCVRSTATUS,
13
- P_LOADMODE,
14
- PP_FECMODE,
15
- )
16
- from xoa_driver.internals.utils import attributes as utils
17
- from xoa_driver.internals.utils.indices import index_manager as idx_mgr
18
- from xoa_driver.internals.hli_v2.indices.streams.genuine_stream import GenuineStreamIdx
19
- from xoa_driver.internals.hli_v2.indices.filter.genuine_filter import GenuineFilterIdx
20
- from xoa_driver.internals.hli_v2.indices.port_dataset import PortDatasetIdx
21
- from xoa_driver.internals.state_storage import ports_state
22
-
23
- from .port_l23 import (
24
- BasePortL23,
25
- Speed,
26
- # TxConfiguration,
27
- )
28
-
29
- from .port_transceiver import PortTransceiver
30
- from .port_reception_statistics import GenuinePortReceptionStatistics
31
- from .port_transmission_statistics import PortTransmissionStatistics
32
-
33
- StreamIndices = idx_mgr.IndexManager[GenuineStreamIdx]
34
- FilterIndices = idx_mgr.IndexManager[GenuineFilterIdx]
35
- PortDatasetIndices = idx_mgr.IndexManager[PortDatasetIdx]
36
-
37
-
38
- class SpeedMode:
39
- """L23 port's speed mode"""
40
-
41
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
42
- self.selection = P_SPEEDSELECTION(conn, module_id, port_id)
43
- """L23 port speed mode selection.
44
- Representation of P_SPEEDSELECTION
45
- """
46
-
47
- self.supported = P_SPEEDS_SUPPORTED(conn, module_id, port_id)
48
- """L23 port's supported speed modes.
49
- Representation of P_SPEEDS_SUPPORTED
50
- """
51
-
52
-
53
- class GenuineSpeed(Speed):
54
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
55
- super().__init__(conn, module_id, port_id)
56
- self.mode = SpeedMode(conn, module_id, port_id)
57
- """L23 port's speed mode."""
58
-
59
-
60
- class UnAvailableTime:
61
- """UnAvailable Time"""
62
-
63
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
64
- self.mode = P_UAT_MODE(conn, module_id, port_id)
65
- """L23 port's Unavailable Time mode.
66
- Representation of P_UAT_MODE
67
- """
68
-
69
- self.frame_loss_ratio = P_UAT_FLR(conn, module_id, port_id)
70
- """L23 port's Frame Loss Ratio for UAT.
71
- Representation of P_UAT_FLR
72
- """
73
-
74
-
75
- class PortStatistics:
76
- """L23 port statistics"""
77
-
78
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
79
- self.rx = GenuinePortReceptionStatistics(conn, module_id, port_id)
80
- """L23 port's RX statistics."""
81
-
82
- self.tx = PortTransmissionStatistics(conn, module_id, port_id)
83
- """L23 port's TX statistics."""
84
-
85
-
86
- class BasePortL23Genuine(BasePortL23):
87
- """L23 port basic configuration."""
88
-
89
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
90
- super().__init__(conn, module_id, port_id)
91
-
92
- self._local_states = ports_state.PortL23GenuineLocalState()
93
-
94
- self.flash = P_FLASH(conn, module_id, port_id)
95
- """L23 port flashes.
96
- Representation of P_FLASH
97
- """
98
-
99
- self.status = P_STATUS(conn, module_id, port_id)
100
- """L23 port's received optical signal level'.
101
- Representation of P_STATUS
102
- """
103
-
104
- self.config_load_mode = P_LOADMODE(conn, module_id, port_id)
105
- """Chimera Port loading mode.
106
- Representation of P_LOADMODE
107
- """
108
-
109
- self.tcvr_status = P_TCVRSTATUS(conn, module_id, port_id)
110
- """L23 port transceiver status information.
111
- Representation of P_TCVRSTATUS
112
- """
113
-
114
- self.fec_mode = PP_FECMODE(conn, module_id, port_id)
115
- """L23 port FEC mode.
116
- Representation of PP_FECMODE
117
- """
118
-
119
- self.speed = GenuineSpeed(conn, module_id, port_id)
120
- """L23 port speed configuration.
121
- """
122
-
123
- self.uat = UnAvailableTime(conn, module_id, port_id)
124
- """L23 port UnAvailable Time configuration.
125
- """
126
-
127
- self.transceiver = PortTransceiver(conn, module_id, port_id)
128
- """L23 port transceiver configuration.
129
- """
130
-
131
- self.statistics = PortStatistics(conn, module_id, port_id)
132
- """L23 port statistics.
133
- """
134
-
135
- self.streams: StreamIndices = idx_mgr.IndexManager(
136
- conn,
137
- GenuineStreamIdx,
138
- module_id,
139
- port_id
140
- )
141
- """L23 port stream index manager.
142
- """
143
-
144
- self.filters: FilterIndices = idx_mgr.IndexManager(
145
- conn,
146
- GenuineFilterIdx,
147
- module_id,
148
- port_id
149
- )
150
- """L23 port filter index manager.
151
- """
152
-
153
- self.datasets: PortDatasetIndices = idx_mgr.IndexManager(
154
- conn,
155
- PortDatasetIdx,
156
- module_id,
157
- port_id
158
- )
159
- """L23 port histogram index manager.
160
- """
161
-
162
- @property
163
- def info(self) -> ports_state.PortL23GenuineLocalState:
164
- return self._local_states
165
-
166
- async def _setup(self):
167
- await self._local_states.initiate(self)
168
- self._local_states.register_subscriptions(self)
169
- return self
170
-
171
- on_speed_selection_change = functools.partialmethod(utils.on_event, P_SPEEDSELECTION)
172
- """Register a callback to the event that the port's speed mode changes."""