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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/METADATA +5 -5
  2. tdl_xoa_driver-1.4.0.dist-info/RECORD +218 -0
  3. xoa_driver/__init__.py +2 -2
  4. xoa_driver/functions/anlt.py +2 -2
  5. xoa_driver/functions/mgmt.py +11 -20
  6. xoa_driver/hlfuncs.py +1 -1
  7. xoa_driver/internals/commands/p_commands.py +12 -10
  8. xoa_driver/internals/commands/pt_commands.py +21 -1
  9. xoa_driver/internals/commands/px_commands.py +1686 -6
  10. xoa_driver/internals/core/transporter/_request_id_counter.py +1 -1
  11. xoa_driver/internals/core/transporter/protocol/payload/__init__.py +3 -1
  12. xoa_driver/internals/core/transporter/protocol/payload/field.py +41 -0
  13. xoa_driver/internals/core/transporter/protocol/payload/types.py +19 -0
  14. xoa_driver/internals/{hli_v1 → hli}/indices/filter/base_filter.py +1 -1
  15. xoa_driver/internals/{hli_v1 → hli}/indices/length_term.py +1 -1
  16. xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/base_macsecsc.py +2 -2
  17. xoa_driver/internals/{hli_v1 → hli}/indices/match_term.py +1 -1
  18. xoa_driver/internals/{hli_v1 → hli}/indices/port_dataset.py +1 -1
  19. xoa_driver/internals/{hli_v1 → hli}/indices/streams/base_stream.py +1 -1
  20. xoa_driver/internals/{hli_v1 → hli}/modules/module_chimera.py +3 -3
  21. xoa_driver/internals/{hli_v1 → hli}/modules/module_l47.py +1 -1
  22. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_combi.py +1 -1
  23. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_d.py +1 -1
  24. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_e.py +1 -1
  25. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_f.py +1 -1
  26. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_g.py +17 -2
  27. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_h.py +1 -1
  28. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_i.py +1 -1
  29. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_j.py +1 -1
  30. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_k.py +1 -1
  31. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_l.py +1 -1
  32. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_l1.py +1 -1
  33. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_m.py +1 -1
  34. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_n.py +1 -1
  35. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/module_l23_base.py +1 -1
  36. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_l23.py +3 -3
  37. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_l23_genuine.py +4 -4
  38. xoa_driver/internals/hli/ports/port_l23/bases/port_transceiver.py +247 -0
  39. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_transmission_statistics.py +1 -1
  40. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/port_chimera.py +1 -1
  41. xoa_driver/internals/{hli_v2 → hli}/ports/port_l23/family_g.py +5 -0
  42. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/port_l23ve.py +2 -2
  43. xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/main.py +2 -2
  44. xoa_driver/internals/{hli_v1 → hli}/testers/l23_tester.py +1 -1
  45. xoa_driver/internals/{hli_v1 → hli}/testers/l47_tester.py +2 -2
  46. xoa_driver/misc.py +12 -17
  47. xoa_driver/modules.py +18 -22
  48. xoa_driver/ports.py +20 -20
  49. xoa_driver/testers.py +4 -8
  50. tdl_xoa_driver-1.3.0.dist-info/RECORD +0 -325
  51. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +0 -117
  52. xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +0 -77
  53. xoa_driver/internals/hli_v2/__init__.py +0 -0
  54. xoa_driver/internals/hli_v2/indices/__init__.py +0 -0
  55. xoa_driver/internals/hli_v2/indices/base_index.py +0 -39
  56. xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
  57. xoa_driver/internals/hli_v2/indices/connection_group/cg.py +0 -115
  58. xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +0 -59
  59. xoa_driver/internals/hli_v2/indices/connection_group/l2.py +0 -71
  60. xoa_driver/internals/hli_v2/indices/connection_group/l3.py +0 -96
  61. xoa_driver/internals/hli_v2/indices/connection_group/raw.py +0 -148
  62. xoa_driver/internals/hli_v2/indices/connection_group/replay.py +0 -89
  63. xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +0 -261
  64. xoa_driver/internals/hli_v2/indices/connection_group/tls.py +0 -166
  65. xoa_driver/internals/hli_v2/indices/connection_group/udp.py +0 -112
  66. xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +0 -25
  67. xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
  68. xoa_driver/internals/hli_v2/indices/filter/base_filter.py +0 -50
  69. xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +0 -17
  70. xoa_driver/internals/hli_v2/indices/length_term.py +0 -44
  71. xoa_driver/internals/hli_v2/indices/match_term.py +0 -49
  72. xoa_driver/internals/hli_v2/indices/port_dataset.py +0 -53
  73. xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
  74. xoa_driver/internals/hli_v2/indices/streams/base_stream.py +0 -234
  75. xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +0 -32
  76. xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
  77. xoa_driver/internals/hli_v2/modules/__interfaces.py +0 -21
  78. xoa_driver/internals/hli_v2/modules/base_module.py +0 -125
  79. xoa_driver/internals/hli_v2/modules/module_chimera.py +0 -358
  80. xoa_driver/internals/hli_v2/modules/module_l23ve.py +0 -58
  81. xoa_driver/internals/hli_v2/modules/module_l47.py +0 -230
  82. xoa_driver/internals/hli_v2/modules/module_l47ve.py +0 -8
  83. xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
  84. xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +0 -73
  85. xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +0 -75
  86. xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +0 -85
  87. xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +0 -144
  88. xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +0 -84
  89. xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +0 -40
  90. xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +0 -25
  91. xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +0 -25
  92. xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +0 -39
  93. xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +0 -55
  94. xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +0 -797
  95. xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +0 -25
  96. xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +0 -40
  97. xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +0 -339
  98. xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
  99. xoa_driver/internals/hli_v2/ports/base_port.py +0 -105
  100. xoa_driver/internals/hli_v2/ports/port_l23/__init__.py +0 -0
  101. xoa_driver/internals/hli_v2/ports/port_l23/bases/__init__.py +0 -0
  102. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_capture.py +0 -64
  103. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +0 -441
  104. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +0 -172
  105. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +0 -156
  106. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +0 -117
  107. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +0 -59
  108. xoa_driver/internals/hli_v2/ports/port_l23/chimera/__init__.py +0 -0
  109. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  110. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/_utils.py +0 -15
  111. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +0 -340
  112. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +0 -99
  113. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +0 -36
  114. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +0 -116
  115. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +0 -102
  116. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +0 -113
  117. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +0 -420
  118. xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +0 -22
  119. xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +0 -22
  120. xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +0 -36
  121. xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +0 -49
  122. xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +0 -96
  123. xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +0 -144
  124. xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +0 -60
  125. xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +0 -66
  126. xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +0 -53
  127. xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +0 -58
  128. xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +0 -67
  129. xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +0 -149
  130. xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +0 -28
  131. xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +0 -22
  132. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +0 -342
  133. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +0 -50
  134. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +0 -65
  135. xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +0 -81
  136. xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
  137. xoa_driver/internals/hli_v2/ports/port_l47/counters.py +0 -146
  138. xoa_driver/internals/hli_v2/ports/port_l47/main.py +0 -137
  139. xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +0 -20
  140. xoa_driver/internals/hli_v2/revisions.py +0 -11
  141. xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
  142. xoa_driver/internals/hli_v2/testers/_base_tester.py +0 -207
  143. xoa_driver/internals/hli_v2/testers/genuine/__init__.py +0 -0
  144. xoa_driver/internals/hli_v2/testers/genuine/l_23/__init__.py +0 -0
  145. xoa_driver/internals/hli_v2/testers/genuine/l_23/health.py +0 -16
  146. xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +0 -34
  147. xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +0 -50
  148. xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +0 -26
  149. xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +0 -38
  150. xoa_driver/internals/hli_v2/testers/l23_tester.py +0 -159
  151. xoa_driver/internals/hli_v2/testers/l23ve_tester.py +0 -98
  152. xoa_driver/internals/hli_v2/testers/l47_tester.py +0 -95
  153. xoa_driver/internals/hli_v2/testers/l47ve_tester.py +0 -50
  154. xoa_driver/v2/__init__.py +0 -11
  155. xoa_driver/v2/misc.py +0 -77
  156. xoa_driver/v2/modules.py +0 -308
  157. xoa_driver/v2/ports.py +0 -232
  158. xoa_driver/v2/testers.py +0 -24
  159. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/WHEEL +0 -0
  160. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/licenses/LICENSE +0 -0
  161. {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/top_level.txt +0 -0
  162. /xoa_driver/internals/{hli_v1 → hli}/__init__.py +0 -0
  163. /xoa_driver/internals/{hli_v1 → hli}/indices/__init__.py +0 -0
  164. /xoa_driver/internals/{hli_v1 → hli}/indices/base_index.py +0 -0
  165. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/__init__.py +0 -0
  166. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/cg.py +0 -0
  167. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/histogram.py +0 -0
  168. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/l2.py +0 -0
  169. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/l3.py +0 -0
  170. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/raw.py +0 -0
  171. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/replay.py +0 -0
  172. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/tcp.py +0 -0
  173. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/tls.py +0 -0
  174. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/udp.py +0 -0
  175. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/user_state.py +0 -0
  176. /xoa_driver/internals/{hli_v1 → hli}/indices/filter/__init__.py +0 -0
  177. /xoa_driver/internals/{hli_v1 → hli}/indices/filter/genuine_filter.py +0 -0
  178. /xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/__init__.py +0 -0
  179. /xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/genuine_macsecsc.py +0 -0
  180. /xoa_driver/internals/{hli_v1 → hli}/indices/streams/__init__.py +0 -0
  181. /xoa_driver/internals/{hli_v1 → hli}/indices/streams/genuine_stream.py +0 -0
  182. /xoa_driver/internals/{hli_v1 → hli}/modules/__init__.py +0 -0
  183. /xoa_driver/internals/{hli_v1 → hli}/modules/__interfaces.py +0 -0
  184. /xoa_driver/internals/{hli_v1 → hli}/modules/base_module.py +0 -0
  185. /xoa_driver/internals/{hli_v1 → hli}/modules/module_l23ve.py +0 -0
  186. /xoa_driver/internals/{hli_v1 → hli}/modules/module_l47ve.py +0 -0
  187. /xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/__init__.py +0 -0
  188. /xoa_driver/internals/{hli_v1 → hli}/ports/__init__.py +0 -0
  189. /xoa_driver/internals/{hli_v1 → hli}/ports/base_port.py +0 -0
  190. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/__init__.py +0 -0
  191. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/__init__.py +0 -0
  192. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_capture.py +0 -0
  193. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_reception_statistics.py +0 -0
  194. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/__init__.py +0 -0
  195. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  196. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/_utils.py +0 -0
  197. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/general.py +0 -0
  198. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/shadow.py +0 -0
  199. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/working.py +0 -0
  200. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/pe_custom_distribution.py +0 -0
  201. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/pe_distribution.py +0 -0
  202. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/port_emulation.py +0 -0
  203. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/reception_statistics.py +0 -0
  204. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/transmission_statistics.py +0 -0
  205. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_combi.py +0 -0
  206. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_d.py +0 -0
  207. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_e.py +0 -0
  208. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_f.py +0 -0
  209. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_h.py +0 -0
  210. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_i.py +0 -0
  211. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_j.py +0 -0
  212. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_k.py +0 -0
  213. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_l.py +0 -0
  214. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_l1.py +0 -0
  215. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_m.py +0 -0
  216. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/fault_jkl.py +0 -0
  217. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/freya_l1.py +0 -0
  218. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_ghijkl.py +0 -0
  219. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_ijkl_chimera.py +0 -0
  220. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_l.py +0 -0
  221. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/__init__.py +0 -0
  222. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/counters.py +0 -0
  223. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/packet_engine.py +0 -0
  224. /xoa_driver/internals/{hli_v1 → hli}/revisions.py +0 -0
  225. /xoa_driver/internals/{hli_v1 → hli}/testers/__init__.py +0 -0
  226. /xoa_driver/internals/{hli_v1 → hli}/testers/_base_tester.py +0 -0
  227. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/__init__.py +0 -0
  228. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/__init__.py +0 -0
  229. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/health.py +0 -0
  230. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/rest_api.py +0 -0
  231. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/time_keeper.py +0 -0
  232. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/upload_file.py +0 -0
  233. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/management_interface.py +0 -0
  234. /xoa_driver/internals/{hli_v1 → hli}/testers/l23ve_tester.py +0 -0
  235. /xoa_driver/internals/{hli_v1 → hli}/testers/l47ve_tester.py +0 -0
@@ -12,7 +12,7 @@ class ReservedRequestID(IntEnum):
12
12
 
13
13
 
14
14
  class RequestIdCounter:
15
- """Aggrigator of request ID."""
15
+ """Aggregator of request ID."""
16
16
  __slots__ = ("__req_id", "__lock",)
17
17
 
18
18
  def __init__(self) -> None:
@@ -14,7 +14,8 @@ from .types import (
14
14
  XmpSequence,
15
15
  XmpShort,
16
16
  XmpStr,
17
- Hex
17
+ Hex,
18
+ XmpJson,
18
19
  )
19
20
 
20
21
  __all__ = (
@@ -32,6 +33,7 @@ __all__ = (
32
33
  "XmpShort",
33
34
  "XmpStr",
34
35
  "Hex",
36
+ "XmpJson"
35
37
  )
36
38
 
37
39
 
@@ -38,6 +38,7 @@ from .types import (
38
38
  # Preconverted Dynamic
39
39
  XmpStr,
40
40
  XmpSequence,
41
+ XmpJson,
41
42
  )
42
43
 
43
44
 
@@ -53,6 +54,7 @@ TYPES_FIXED = (
53
54
  TYPES_COMBI = (XmpHex,)
54
55
  TYPES_DYNAMIC = (XmpStr,)
55
56
  TYPES_COMPOSED = (XmpSequence,)
57
+ TYPES_JSON = (XmpJson,)
56
58
 
57
59
  # Important: The instances of the FieldSpecs will live as a class variables
58
60
  # which mean wea are not able to update its attributes during runtime.
@@ -194,6 +196,43 @@ class HexSpec(FieldSpecs):
194
196
  return next(iter(struct.unpack_from(format, buffer, offset)), b"")
195
197
 
196
198
 
199
+ class JsonSpec(FieldSpecs):
200
+ xmp_type: XmpJson
201
+
202
+ def __init__(
203
+ self,
204
+ xmp_type: XmpJson,
205
+ min_version: int | None = None,
206
+ max_version: int | None = None,
207
+ deprecated: bool = False,
208
+ deprecation_reason: str | None = None,
209
+ ) -> None:
210
+ super().__init__(xmp_type, min_version, max_version, deprecated, deprecation_reason)
211
+
212
+ @property
213
+ def is_dynamic(self) -> bool:
214
+ return True
215
+
216
+ def format(self, bsize: int | None = None) -> str:
217
+ return _build_format(self.xmp_type.data_format, bsize)
218
+
219
+ def calc_bsize(self, buff: memoryview | None = None, left_offset: int = 0) -> int | None:
220
+ if buff is None:
221
+ return None
222
+ return len(buff[left_offset:])
223
+
224
+ def get_context_formatter(self, client_type: Type[Any], is_response: bool) -> Callable[[Any], Any]:
225
+ if is_response:
226
+ return self.xmp_type.client_format
227
+ return self.xmp_type.server_format
228
+
229
+ def pack(self, format: str, val: bytes) -> bytes:
230
+ return val
231
+
232
+ def unpack(self, format: str, buffer: memoryview, offset: int) -> Any:
233
+ return next(iter(struct.unpack_from(format, buffer, offset)), b"")
234
+
235
+
197
236
  def _prepare_client_chunks(client_type: Type[Any], xmp_types_chunks: tuple) -> Callable[[Any], List[Tuple[Any, ...]]]:
198
237
  """Selecting the function for parsing data chunks from XMP types to Python types"""
199
238
  def converted_dcls(val_):
@@ -284,6 +323,8 @@ def field(
284
323
  specs_type = FieldSpecs
285
324
  elif isinstance(xmp_type, TYPES_COMBI):
286
325
  specs_type = HexSpec
326
+ elif isinstance(xmp_type, TYPES_JSON):
327
+ specs_type = JsonSpec
287
328
  else:
288
329
  return None
289
330
 
@@ -10,6 +10,7 @@ from typing import (
10
10
  TypeVar,
11
11
  cast,
12
12
  )
13
+ import json
13
14
 
14
15
  FMT_ORDER_NETWORK = '!'
15
16
  FMT_BYTES_STRING = 's'
@@ -21,6 +22,7 @@ FMT_INT = 'i'
21
22
  FMT_U_INT = 'I'
22
23
  FMT_SHORT = 'h'
23
24
  FMT_U_SHORT = 'H'
25
+ FMT_BYTES_JSON = 's'
24
26
 
25
27
  # region Base Type
26
28
 
@@ -170,4 +172,21 @@ class XmpSequence(XmpType[tuple]):
170
172
  self.repetitions = None
171
173
  self.data_format = "".join(f"{t.repetitions or ''}{t.data_format}" for t in self.types_chunk)
172
174
 
175
+
176
+ class XmpJson(XmpType[bytes]):
177
+ """Description class of XMP JSON type representation"""
178
+
179
+ __slots__ = ("min_len",)
180
+
181
+ def __init__(self, min_len: int | None = None) -> None:
182
+ self.data_format = FMT_BYTES_JSON
183
+ self.repetitions = None
184
+ self.min_len = min_len
185
+
186
+ def client_format(self, val: bytes) -> dict[str, Any]:
187
+ return json.loads(val.decode())
188
+
189
+ def server_format(self, val: dict) -> bytes:
190
+ return json.dumps(val).encode()
191
+
173
192
  # endregion
@@ -62,4 +62,4 @@ class BaseFilterIdx(BaseIndex):
62
62
  @classmethod
63
63
  async def _new(cls: Type[FT], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> FT:
64
64
  await PF_CREATE(conn, *kind).set()
65
- return cls(conn, kind, observer)
65
+ return cls(conn, kind, observer) # type: ignore
@@ -46,4 +46,4 @@ class LengthTermIdx(BaseIndex):
46
46
  @classmethod
47
47
  async def _new(cls: Type[LT], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> LT:
48
48
  await PL_CREATE(conn, *kind).set()
49
- return cls(conn, kind, observer)
49
+ return cls(conn, kind, observer) # type: ignore
@@ -190,7 +190,7 @@ class BaseMacSecTxScIdx(BaseIndex):
190
190
  @classmethod
191
191
  async def _new(cls: Type[BS], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> BS:
192
192
  await P_MACSEC_TXSC_CREATE(conn, *kind).set()
193
- return cls(conn, kind, observer)
193
+ return cls(conn, kind, observer) # type: ignore
194
194
 
195
195
 
196
196
  class BaseMacSecRxScIdx(BaseIndex):
@@ -221,4 +221,4 @@ class BaseMacSecRxScIdx(BaseIndex):
221
221
  @classmethod
222
222
  async def _new(cls: Type[BS], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> BS:
223
223
  await P_MACSEC_RXSC_CREATE(conn, *kind).set()
224
- return cls(conn, kind, observer)
224
+ return cls(conn, kind, observer) # type: ignore
@@ -61,4 +61,4 @@ class MatchTermIdx(BaseIndex):
61
61
  @classmethod
62
62
  async def _new(cls: Type[MT], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> MT:
63
63
  await PM_CREATE(conn, *kind).set()
64
- return cls(conn, kind, observer)
64
+ return cls(conn, kind, observer) # type: ignore
@@ -69,4 +69,4 @@ class PortDatasetIdx(BaseIndex):
69
69
  @classmethod
70
70
  async def _new(cls: Type[PD], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> PD:
71
71
  await PD_CREATE(conn, *kind).set()
72
- return cls(conn, kind, observer)
72
+ return cls(conn, kind, observer) # type: ignore
@@ -401,5 +401,5 @@ class BaseStreamIdx(BaseIndex):
401
401
  @classmethod
402
402
  async def _new(cls: Type[BS], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> BS:
403
403
  await PS_CREATE(conn, *kind).set()
404
- return cls(conn, kind, observer)
404
+ return cls(conn, kind, observer) # type: ignore
405
405
 
@@ -26,17 +26,17 @@ from xoa_driver.internals.commands import (
26
26
  M_RECONFIG_STATUS,
27
27
  )
28
28
 
29
- from xoa_driver.internals.hli_v1 import revisions
29
+ from xoa_driver.internals.hli import revisions
30
30
  from xoa_driver.internals.utils.managers import ports_manager as pm
31
31
  from xoa_driver.internals.utils import attributes as utils
32
32
  from xoa_driver.internals.state_storage import modules_state
33
33
  from xoa_driver import ports
34
- from xoa_driver.internals.hli_v1.modules.modules_l23.module_l23_base import MediaModule, CfpModule
34
+ from xoa_driver.internals.hli.modules.modules_l23.module_l23_base import MediaModule, CfpModule
35
35
  from . import base_module as bm
36
36
 
37
37
  if typing.TYPE_CHECKING:
38
38
  from xoa_driver.internals.core import interfaces as itf
39
- from xoa_driver.internals.hli_v1.modules.modules_l23.module_l23_base import ModuleL23
39
+ from xoa_driver.internals.hli.modules.modules_l23.module_l23_base import ModuleL23
40
40
  from . import __interfaces as m_itf
41
41
 
42
42
 
@@ -37,7 +37,7 @@ from xoa_driver.internals.commands import (
37
37
  M4E_RESERVE,
38
38
  M4_TLS_CIPHER_SUITES,
39
39
  )
40
- from xoa_driver.internals.hli_v1 import revisions
40
+ from xoa_driver.internals.hli import revisions
41
41
  from xoa_driver.internals.utils import attributes as utils
42
42
  from xoa_driver.internals.utils.managers import ports_manager as pm
43
43
  from xoa_driver.internals.state_storage import modules_state
@@ -1,7 +1,7 @@
1
1
  import typing
2
2
  import functools
3
3
  from xoa_driver import ports
4
- from xoa_driver.internals.hli_v1 import revisions
4
+ from xoa_driver.internals.hli import revisions
5
5
  from xoa_driver.internals.commands import P_CAPABILITIES
6
6
  from xoa_driver.internals.utils.managers import ports_manager as pm
7
7
  from xoa_driver.internals.utils.cap_id import CapID
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
 
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -81,4 +81,19 @@ class MLoki100G3S1PB_b(ModuleL23):
81
81
  module_id=self.module_id,
82
82
  ports_count=self.ports_count
83
83
  )
84
- """Port index manager of Loki-100G-3S-1P-B[b]"""
84
+ """Port index manager of Loki-100G-3S-1P-B[b]"""
85
+
86
+
87
+ @typing.final
88
+ @revisions.register_valkyrie_module(rev="Loki-100G-5S-4P[a]")
89
+ class MLoki100G35S4P_a(ModuleL23):
90
+ """Test module Loki-100G-5S-4P[a]"""
91
+ def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
92
+ super().__init__(conn, init_data)
93
+ self.ports: pm.PortsManager[ports.PLoki100G5S4P_a] = pm.PortsManager(
94
+ conn=conn,
95
+ ports_type=ports.PLoki100G5S4P_a,
96
+ module_id=self.module_id,
97
+ ports_count=self.ports_count
98
+ )
99
+ """Port index manager of Loki-100G-5S-4P[a]"""
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -1,6 +1,6 @@
1
1
  import typing
2
2
  from xoa_driver import ports
3
- from xoa_driver.internals.hli_v1 import revisions
3
+ from xoa_driver.internals.hli import revisions
4
4
  from xoa_driver.internals.utils.managers import ports_manager as pm
5
5
 
6
6
  if typing.TYPE_CHECKING:
@@ -42,7 +42,7 @@ from .. import __interfaces as m_itf
42
42
 
43
43
  if typing.TYPE_CHECKING:
44
44
  from xoa_driver.internals.core import interfaces as itf
45
- from xoa_driver.internals.hli_v1.modules.module_chimera import ModuleChimera
45
+ from xoa_driver.internals.hli.modules.module_chimera import ModuleChimera
46
46
 
47
47
 
48
48
  class TXClock:
@@ -55,12 +55,12 @@ from xoa_driver.internals.commands import (
55
55
  )
56
56
  if typing.TYPE_CHECKING:
57
57
  from xoa_driver.internals.core import interfaces as itf
58
- from xoa_driver.internals.hli_v1.ports import base_port
58
+ from xoa_driver.internals.hli.ports import base_port
59
59
  from xoa_driver.internals.utils import attributes as utils
60
60
  from xoa_driver.internals.utils.indices import index_manager as idx_mgr
61
61
  from xoa_driver.internals.state_storage import ports_state
62
- from xoa_driver.internals.hli_v1.indices.length_term import LengthTermIdx
63
- from xoa_driver.internals.hli_v1.indices.match_term import MatchTermIdx
62
+ from xoa_driver.internals.hli.indices.length_term import LengthTermIdx
63
+ from xoa_driver.internals.hli.indices.match_term import MatchTermIdx
64
64
 
65
65
  from .port_capture import PortCapture
66
66
 
@@ -16,11 +16,11 @@ from xoa_driver.internals.commands import (
16
16
  )
17
17
  from xoa_driver.internals.utils import attributes as utils
18
18
  from xoa_driver.internals.utils.indices import index_manager as idx_mgr
19
- from xoa_driver.internals.hli_v1.indices.streams.genuine_stream import GenuineStreamIdx
20
- from xoa_driver.internals.hli_v1.indices.filter.genuine_filter import GenuineFilterIdx
21
- from xoa_driver.internals.hli_v1.indices.port_dataset import PortDatasetIdx
19
+ from xoa_driver.internals.hli.indices.streams.genuine_stream import GenuineStreamIdx
20
+ from xoa_driver.internals.hli.indices.filter.genuine_filter import GenuineFilterIdx
21
+ from xoa_driver.internals.hli.indices.port_dataset import PortDatasetIdx
22
22
  from xoa_driver.internals.state_storage import ports_state
23
- from xoa_driver.internals.hli_v1.indices.macsecscs.genuine_macsecsc import GenuineMacSecTxScIdx, GenuineMacSecRxScIdx
23
+ from xoa_driver.internals.hli.indices.macsecscs.genuine_macsecsc import GenuineMacSecTxScIdx, GenuineMacSecRxScIdx
24
24
 
25
25
  from .port_l23 import (
26
26
  BasePortL23,
@@ -0,0 +1,247 @@
1
+ from typing import TYPE_CHECKING
2
+ if TYPE_CHECKING:
3
+ from xoa_driver.internals.core import interfaces as itf
4
+ from xoa_driver.internals.commands import (
5
+ PX_RW,
6
+ PX_MII,
7
+ PX_TEMPERATURE,
8
+ PX_RW_SEQ,
9
+ PX_I2C_CONFIG,
10
+ PX_RW_SEQ_BANK,
11
+ PX_CDB_SUPPORT,
12
+ PX_CDB_ABORT_PROCESSING,
13
+ PX_CDB_CHANGE_PASSWORD,
14
+ PX_CDB_ENTER_PASSWORD,
15
+ PX_CDB_QUERY_STATUS,
16
+ PX_CDB_EXTERNAL_FEATURES,
17
+ PX_CDB_FW_MGMT_FEATURES,
18
+ PX_CDB_GET_APP_ATTRIBUTES,
19
+ PX_CDB_GET_IF_CODE_DESCR,
20
+ PX_CDB_MODULE_FEATURES,
21
+ PX_CDB_SEC_FEAT_CAPABILITIES,
22
+ PX_CDB_ABORT_FW_DOWNLOAD,
23
+ PX_CDB_COMMIT_FW_IMAGE,
24
+ PX_CDB_COMPLETE_FW_DOWNLOAD,
25
+ PX_CDB_COPY_FW_IMAGE,
26
+ PX_CDB_GET_FW_INFO,
27
+ PX_CDB_READ_FW_BLOCK_EPL,
28
+ PX_CDB_READ_FW_BLOCK_LPL,
29
+ PX_CDB_RUN_FW_IMAGE,
30
+ PX_CDB_START_FW_DOWNLOAD,
31
+ PX_CDB_WRITE_FW_BLOCK_EPL,
32
+ PX_CDB_WRITE_FW_BLOCK_LPL,
33
+ PX_CUST_CMD,
34
+ )
35
+
36
+
37
+ class PortTransceiver:
38
+ """Transceiver access class."""
39
+
40
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
41
+ self.__conn = conn
42
+ self.__module_id = module_id
43
+ self.__port_id = port_id
44
+
45
+ self.i2c_config = PX_I2C_CONFIG(conn, module_id, port_id)
46
+ """
47
+ Access speed on a transceiver I2C access in the unit of KHz. Default to 100.
48
+
49
+ When the transceiver is plugged out and in again, the speed will be reset to the default value 100. The speed has a minimum and a maximum, which can be obtained from port.capabilities().
50
+
51
+ The I2C speed configuration will not be included in the port configuration file (.xpc). When you load a port configuration to a port, the transceiver I2C access speed will be reset to default.
52
+ """
53
+
54
+ self.temperature = PX_TEMPERATURE(conn, module_id, port_id)
55
+ """Transceiver temperature in Celsius.
56
+
57
+ Temperature value before the decimal digit, and 1/256th of a degree Celsius after the decimal digit.
58
+ """
59
+
60
+ self.cmis = CMIS(conn, module_id, port_id)
61
+ """
62
+ Access CMIS interface.
63
+ """
64
+
65
+ def access_rw(self, page_address: int, register_address: int) -> "PX_RW":
66
+ """Access to register interface by the transceiver.
67
+
68
+ :param page_address: page address
69
+ :type page_address: int
70
+ :param register_address: register address
71
+ :type register_address: int
72
+ :return: transceiver register values
73
+ :rtype: PX_RW
74
+ """
75
+
76
+ return PX_RW(
77
+ self.__conn,
78
+ self.__module_id,
79
+ self.__port_id,
80
+ page_address,
81
+ register_address
82
+ )
83
+
84
+ def access_mii(self, register_address: int) -> "PX_MII":
85
+ """Access to the register interface supported by the media-independent interface (MII) transceiver.
86
+
87
+ :param register_address: register address
88
+ :type register_address: int
89
+ :return: register values
90
+ :rtype: PX_MII
91
+ """
92
+ return PX_MII(
93
+ self.__conn,
94
+ self.__module_id,
95
+ self.__port_id,
96
+ register_address
97
+ )
98
+
99
+ def access_rw_seq(self, page_address: int, register_address: int, byte_count: int) -> "PX_RW_SEQ":
100
+ """Sequential read/write a number of bytes to the register interface supported by the media-independent interface (MII) transceiver.
101
+
102
+ :param page_address: page address (0-255)
103
+ :type page_address: int
104
+ :param register_address: register address (0-255)
105
+ :type register_address: int
106
+ :param byte_count: the number of bytes to read/write
107
+ :type byte_count: int
108
+ :return: transceiver register values
109
+ :rtype: PX_RW_SEQ
110
+ """
111
+ return PX_RW_SEQ(
112
+ self.__conn,
113
+ self.__module_id,
114
+ self.__port_id,
115
+ page_address,
116
+ register_address,
117
+ byte_count
118
+ )
119
+
120
+ def access_rw_seq_bank(self, bank_address: int, page_address: int, register_address: int, byte_count: int) -> "PX_RW_SEQ_BANK":
121
+ """Sequential read/write a number of bytes to the register interface supported by the media-independent interface (MII) transceiver.
122
+
123
+ :param bank_address: bank address (0-255)
124
+ :type bank_address: int
125
+ :param page_address: page address (0-255)
126
+ :type page_address: int
127
+ :param register_address: register address (0-255)
128
+ :type register_address: int
129
+ :param byte_count: the number of bytes to read/write
130
+ :type byte_count: int
131
+ :return: transceiver register values
132
+ :rtype: PX_RW_SEQ_BANK
133
+ """
134
+ return PX_RW_SEQ_BANK(
135
+ self.__conn,
136
+ self.__module_id,
137
+ self.__port_id,
138
+ bank_address,
139
+ page_address,
140
+ register_address,
141
+ byte_count
142
+ )
143
+
144
+ class CMIS():
145
+ """CMIS access class.
146
+ """
147
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
148
+ self.__conn = conn
149
+ self.__module_id = module_id
150
+ self.__port_id = port_id
151
+
152
+ self.cdb_instances_supported = PX_CDB_SUPPORT(conn, module_id, port_id)
153
+ """Return the number of supported CDB instances.
154
+ """
155
+
156
+ def cdb(self, cdb_instance_id: int) -> "CDB":
157
+ """Access CMIS CDB command interface.
158
+
159
+ :param cdb_instance_id: 0 for CDB Instance 1, 1 for CDB Instance 2
160
+ :type cdb_instance_id: int
161
+ """
162
+ return CDB(self.__conn, self.__module_id, self.__port_id, cdb_instance_id)
163
+
164
+
165
+ class CDB():
166
+ """CMIS CDB command access class.
167
+ """
168
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, cdb_instance_id: int) -> None:
169
+
170
+ self.__conn = conn
171
+ self.__module_id = module_id
172
+ self.__port_id = port_id
173
+ self.__cdb_instance_id = cdb_instance_id
174
+
175
+ # CDB Module Commands
176
+ self.cmd_0000h_query_status = PX_CDB_QUERY_STATUS(conn, module_id, port_id, cdb_instance_id)
177
+ """CMD 0000h: Query Status
178
+ """
179
+ self.cmd_0001h_enter_password = PX_CDB_ENTER_PASSWORD(conn, module_id, port_id, cdb_instance_id)
180
+ """CMD 0001h: Enter Password
181
+ """
182
+ self.cmd_0002h_change_password = PX_CDB_CHANGE_PASSWORD(conn, module_id, port_id, cdb_instance_id)
183
+ """CMD 0002h: Change Password
184
+ """
185
+ self.cmd_0004h_abort_processing = PX_CDB_ABORT_PROCESSING(conn, module_id, port_id, cdb_instance_id)
186
+ """CMD 0004h: Abort Processing
187
+ """
188
+
189
+ # CDB Features and Capabilities Inquiry Commands
190
+ self.cmd_0040h_module_features = PX_CDB_MODULE_FEATURES(conn, module_id, port_id, cdb_instance_id)
191
+ """CMD 0040h: Module Features
192
+ """
193
+ self.cmd_0041h_fw_mgmt_features = PX_CDB_FW_MGMT_FEATURES(conn, module_id, port_id, cdb_instance_id)
194
+ """CMD 0041h: Firmware Management Features
195
+ """
196
+ self.cmd_0044h_sec_feat_capabilities = PX_CDB_SEC_FEAT_CAPABILITIES(conn, module_id, port_id, cdb_instance_id)
197
+ """CMD 0044h: Security Features and Capabilities
198
+ """
199
+ self.cmd_0045h_external_features = PX_CDB_EXTERNAL_FEATURES(conn, module_id, port_id, cdb_instance_id)
200
+ """CMD 0045h: Externally Defined Features
201
+ """
202
+ self.cmd_0050h_get_app_attributes = PX_CDB_GET_APP_ATTRIBUTES(conn, module_id, port_id, cdb_instance_id)
203
+ """CMD 0050h: Get Application Attributes
204
+ """
205
+ self.cmd_0051h_get_if_code_descr = PX_CDB_GET_IF_CODE_DESCR(conn, module_id, port_id, cdb_instance_id)
206
+ """CMD 0051h: Get Interface Code Description
207
+ """
208
+
209
+ # CDB Firmware Management Commands
210
+ self.cmd_0100h_get_firmware_info = PX_CDB_GET_FW_INFO(conn, module_id, port_id, cdb_instance_id)
211
+ """CMD 0100h: Get Firmware Info
212
+ """
213
+ self.cmd_0101h_start_firmware_download = PX_CDB_START_FW_DOWNLOAD(conn, module_id, port_id, cdb_instance_id)
214
+ """CMD 0101h: Start Firmware Download
215
+ """
216
+ self.cmd_0102h_abort_firmware_download = PX_CDB_ABORT_FW_DOWNLOAD(conn, module_id, port_id, cdb_instance_id)
217
+ """CMD 0102h: Abort Firmware Download
218
+ """
219
+ self.cmd_0103h_write_firmware_block_lpl = PX_CDB_WRITE_FW_BLOCK_LPL(conn, module_id, port_id, cdb_instance_id)
220
+ """CMD 0103h: Write Firmware Block LPL
221
+ """
222
+ self.cmd_0104h_write_firmware_block_epl = PX_CDB_WRITE_FW_BLOCK_EPL(conn, module_id, port_id, cdb_instance_id)
223
+ """CMD 0104h: Write Firmware Block EPL
224
+ """
225
+ self.cmd_0105h_read_firmware_block_lpl = PX_CDB_READ_FW_BLOCK_LPL(conn, module_id, port_id, cdb_instance_id)
226
+ """CMD 0105h: Read Firmware Block LPL
227
+ """
228
+ self.cmd_0106h_read_firmware_block_epl = PX_CDB_READ_FW_BLOCK_EPL(conn, module_id, port_id, cdb_instance_id)
229
+ """CMD 0106h: Read Firmware Block EPL
230
+ """
231
+ self.cmd_0107h_complete_firmware_download = PX_CDB_COMPLETE_FW_DOWNLOAD(conn, module_id, port_id, cdb_instance_id)
232
+ """CMD 0107h: Complete Firmware Download
233
+ """
234
+ self.cmd_0108h_copy_firmware_image = PX_CDB_COPY_FW_IMAGE(conn, module_id, port_id, cdb_instance_id)
235
+ """CMD 0108h: Copy Firmware Image
236
+ """
237
+ self.cmd_0109h_run_firmware_image = PX_CDB_RUN_FW_IMAGE(conn, module_id, port_id, cdb_instance_id)
238
+ """CMD 0109h: Run Firmware Image
239
+ """
240
+ self.cmd_010ah_commit_firmware_image = PX_CDB_COMMIT_FW_IMAGE(conn, module_id, port_id, cdb_instance_id)
241
+ """CMD 010Ah: Commit Firmware Image
242
+ """
243
+
244
+ # Custom Commands
245
+ self.custom_cmd = PX_CUST_CMD(conn, module_id, port_id, cdb_instance_id)
246
+ """Defnes the custom CDB commdand (CMD and Reply) to be sent to the CDB instance.
247
+ """
@@ -4,7 +4,7 @@ from typing import (
4
4
  )
5
5
  if TYPE_CHECKING:
6
6
  from xoa_driver.internals.core import interfaces as itf
7
- from xoa_driver.internals.hli_v1.indices.streams.genuine_stream import GenuineStreamIdx
7
+ from xoa_driver.internals.hli.indices.streams.genuine_stream import GenuineStreamIdx
8
8
  from xoa_driver.internals.commands import (
9
9
  PT_TOTAL,
10
10
  PT_NOTPLD,