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
@@ -832,7 +832,16 @@ class PL1_PRESET_CONFIG_COEFF:
832
832
  @dataclass
833
833
  class PL1_PHYTXEQ_LEVEL:
834
834
  """
835
- Control and monitor the equalizer settings of the on-board PHY in the transmission direction (towards the transceiver cage).
835
+ Control and monitor the equalizer settings (mV/dB values) of the on-board PHY in the transmission direction (towards the transceiver cage).
836
+
837
+ This command returns a variable number of tap values with module-dependent ordering:
838
+
839
+ - **Regular Freya**: Original fixed format [pre3, pre2, pre, main, post]
840
+ - **Loki-4P and H-Freya/Edun**: Variable number in N*pre, main, M*post layout
841
+ [pre_n, pre_n-1, ..., pre_1, main, post_1, post_2, ..., post_m]
842
+
843
+ Use P_CAPABILITIES to query ``numtxeqtaps`` and ``numtxeqpretaps`` to determine
844
+ the number of taps and layout.
836
845
 
837
846
  .. note::
838
847
 
@@ -849,44 +858,63 @@ class PL1_PHYTXEQ_LEVEL:
849
858
  _serdes_xindex: int
850
859
 
851
860
  class GetDataAttr(ResponseBodyStruct):
852
- pre3: int = field(XmpInt())
853
- """integer, pre3 tap value in dB/10, ranges from 0 to 71. Default = 0 (neutral)"""
854
- pre2: int = field(XmpInt())
855
- """integer, pre2 tap value in dB/10, ranges from 0 to 71. Default = 0 (neutral)"""
856
- pre: int = field(XmpInt())
857
- """integer, pre tap value in dB/10, ranges from 0 to 187. Default = 0 (neutral)"""
858
- main: int = field(XmpInt())
859
- """integer, main tap value in mV, ranges from 507 to 998."""
860
- post: int = field(XmpInt())
861
- """integer, post tap value in dB/10, ranges from 0 to 187 Default = 0 (neutral)"""
862
-
861
+ tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
862
+ """list of integers, TX EQ tap values in mV/dB. The number and layout depend on the platform:
863
+
864
+ - Regular Freya: [pre3, pre2, pre, main, post] where pre3/pre2 in dB/10 (0-71), pre/post in dB/10 (0-187), main in mV (507-998)
865
+ - Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, post_2, ..., post_m]
866
+ where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
867
+ """
868
+
863
869
  class SetDataAttr(RequestBodyStruct):
864
- pre3: int = field(XmpInt())
865
- """integer, pre3 tap value in dB/10, ranges from 0 to 71. Default = 0 (neutral)"""
866
- pre2: int = field(XmpInt())
867
- """integer, pre2 tap value in dB/10, ranges from 0 to 71. Default = 0 (neutral)"""
868
- pre: int = field(XmpInt())
869
- """integer, pre tap value in dB/10, ranges from 0 to 187. Default = 0 (neutral)"""
870
- main: int = field(XmpInt())
871
- """integer, main tap value in mV, ranges from 507 to 998."""
872
- post: int = field(XmpInt())
873
- """integer, post tap value in dB/10, ranges from 0 to 187 Default = 0 (neutral)"""
870
+ tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
871
+ """list of integers, TX EQ tap values in mV/dB. The number and layout depend on the platform:
872
+
873
+ - Regular Freya: [pre3, pre2, pre, main, post] where pre3/pre2 in dB/10 (0-71), pre/post in dB/10 (0-187), main in mV (507-998)
874
+ - Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, post_2, ..., post_m]
875
+ where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
876
+ """
874
877
 
875
878
  def get(self) -> Token[GetDataAttr]:
879
+ """Get the TX equalizer settings (mV/dB values) of the on-board PHY.
880
+
881
+ The returned tap values layout depends on the platform. Query P_CAPABILITIES
882
+ for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the format.
883
+
884
+ :return: list of TX EQ tap values in mV/dB
885
+ :rtype: PL1_PHYTXEQ_LEVEL.GetDataAttr
886
+ """
876
887
 
877
888
  return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
878
889
 
879
- def set(self, pre3:int, pre2: int, pre: int, main: int, post: int) -> Token[None]:
890
+ def set(self, tap_values: typing.List[int]) -> Token[None]:
891
+ """Set the TX equalizer settings (mV/dB values) of the on-board PHY.
892
+
893
+ The tap values layout depends on the platform. Query P_CAPABILITIES
894
+ for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the required format.
895
+
896
+ :param tap_values: list of TX EQ tap values in mV/dB in platform-specific order
897
+ :type tap_values: typing.List[int]
898
+ """
880
899
 
881
900
  return Token(
882
901
  self._connection,
883
- build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], pre3=pre3, pre2=pre2, pre=pre, main=main, post=post))
884
-
902
+ build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], tap_values=tap_values))
903
+
885
904
  @register_command
886
905
  @dataclass
887
906
  class PL1_PHYTXEQ_COEFF:
888
907
  """
889
- Control and monitor the equalizer settings of the on-board PHY in the transmission direction (towards the transceiver cage).
908
+ Control and monitor the equalizer settings (IEEE coefficient values) of the on-board PHY in the transmission direction (towards the transceiver cage).
909
+
910
+ This command returns a variable number of tap values with module-dependent ordering:
911
+
912
+ - **Regular Freya**: Original fixed format [pre3, pre2, pre, main, post]
913
+ - **Loki-4P and H-Freya/Edun**: Variable number in N*pre, main, M*post layout
914
+ [pre_n, pre_n-1, ..., pre_1, main, post_1, post_2, ..., post_m]
915
+
916
+ Use P_CAPABILITIES to query ``numtxeqtaps`` and ``numtxeqpretaps`` to determine
917
+ the number of taps and layout.
890
918
 
891
919
  .. note::
892
920
 
@@ -913,38 +941,48 @@ class PL1_PHYTXEQ_COEFF:
913
941
  _serdes_xindex: int
914
942
 
915
943
  class GetDataAttr(ResponseBodyStruct):
916
- pre3: int = field(XmpInt())
917
- """integer, pre3 tap value, negative, scaled by 1E3. Default = 0 (neutral)"""
918
- pre2: int = field(XmpInt())
919
- """integer, pre2 tap value, positive, scaled by 1E3. Default = 0 (neutral)"""
920
- pre: int = field(XmpInt())
921
- """integer, pre tap value, negative, scaled by 1E3. Default = 0 (neutral)"""
922
- main: int = field(XmpInt())
923
- """integer, main tap value, positive, scaled by 1E3. Default = 1000"""
924
- post: int = field(XmpInt())
925
- """integer, post tap value, negative, scaled by 1E3. Default = 0 (neutral)"""
926
-
944
+ tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
945
+ """list of integers, TX EQ tap values as IEEE coefficients scaled by 1E3. The number and layout depend on the platform:
946
+
947
+ - Regular Freya: [pre3, pre2, pre, main, post] where pre3/pre/post are negative, pre2/main are positive
948
+ - Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
949
+ where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
950
+ """
951
+
927
952
  class SetDataAttr(RequestBodyStruct):
928
- pre3: int = field(XmpInt())
929
- """integer, pre3 tap value, negative, scaled by 1E3. Default = 0 (neutral)"""
930
- pre2: int = field(XmpInt())
931
- """integer, pre2 tap value, positive, scaled by 1E3. Default = 0 (neutral)"""
932
- pre: int = field(XmpInt())
933
- """integer, pre tap value, negative, scaled by 1E3. Default = 0 (neutral)"""
934
- main: int = field(XmpInt())
935
- """integer, main tap value, positive, scaled by 1E3. Default = 1000"""
936
- post: int = field(XmpInt())
937
- """integer, post tap value, negative, scaled by 1E3. Default = 0 (neutral)"""
953
+ tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
954
+ """list of integers, TX EQ tap values as IEEE coefficients scaled by 1E3. The number and layout depend on the platform:
955
+
956
+ - Regular Freya: [pre3, pre2, pre, main, post] where pre3/pre/post are negative, pre2/main are positive
957
+ - Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
958
+ where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
959
+ """
938
960
 
939
961
  def get(self) -> Token[GetDataAttr]:
962
+ """Get the TX equalizer settings (IEEE coefficient values) of the on-board PHY.
963
+
964
+ The returned tap values layout depends on the platform. Query P_CAPABILITIES
965
+ for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the format.
966
+
967
+ :return: list of TX EQ tap values as IEEE coefficients scaled by 1E3
968
+ :rtype: PL1_PHYTXEQ_COEFF.GetDataAttr
969
+ """
940
970
 
941
971
  return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
942
972
 
943
- def set(self, pre3:int, pre2: int, pre: int, main: int, post: int) -> Token[None]:
973
+ def set(self, tap_values: typing.List[int]) -> Token[None]:
974
+ """Set the TX equalizer settings (IEEE coefficient values) of the on-board PHY.
975
+
976
+ The tap values layout depends on the platform. Query P_CAPABILITIES
977
+ for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the required format.
978
+
979
+ :param tap_values: list of TX EQ tap values as IEEE coefficients scaled by 1E3 in platform-specific order
980
+ :type tap_values: typing.List[int]
981
+ """
944
982
 
945
983
  return Token(
946
984
  self._connection,
947
- build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], pre3=pre3, pre2=pre2, pre=pre, main=main, post=post))
985
+ build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], tap_values=tap_values))
948
986
 
949
987
  @register_command
950
988
  @dataclass
@@ -1345,7 +1383,16 @@ class PL1_ANLT:
1345
1383
  @dataclass
1346
1384
  class PL1_PHYTXEQ:
1347
1385
  """
1348
- Control and monitor the equalizer settings of the on-board PHY in the transmission direction (towards the transceiver cage).
1386
+ Control and monitor the equalizer settings (native values) of the on-board PHY in the transmission direction (towards the transceiver cage).
1387
+
1388
+ This command returns a variable number of tap values with module-dependent ordering:
1389
+
1390
+ - **Regular Freya**: Original fixed format [pre3, pre2, pre, main, post]
1391
+ - **Loki-4P and H-Freya/Edun**: Variable number in N*pre, main, M*post layout
1392
+ [pre_n, pre_n-1, ..., pre_1, main, post_1, post_2, ..., post_m]
1393
+
1394
+ Use P_CAPABILITIES to query ``numtxeqtaps`` and ``numtxeqpretaps`` to determine
1395
+ the number of taps and layout.
1349
1396
 
1350
1397
  .. note::
1351
1398
 
@@ -1362,38 +1409,48 @@ class PL1_PHYTXEQ:
1362
1409
  _serdes_xindex: int
1363
1410
 
1364
1411
  class GetDataAttr(ResponseBodyStruct):
1365
- pre3: int = field(XmpInt())
1366
- """integer, pre3 tap value. Default = 0 (neutral)"""
1367
- pre2: int = field(XmpInt())
1368
- """integer, pre2 tap value. Default = 0 (neutral)"""
1369
- pre: int = field(XmpInt())
1370
- """integer, pre tap value. Default = 0 (neutral)"""
1371
- main: int = field(XmpInt())
1372
- """integer, main tap value."""
1373
- post: int = field(XmpInt())
1374
- """integer, post tap value. Default = 0 (neutral)"""
1375
-
1412
+ tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
1413
+ """list of integers, TX EQ tap values (native values). The number and layout depend on the platform:
1414
+
1415
+ - Regular Freya: [pre3, pre2, pre, main, post]
1416
+ - Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
1417
+ where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
1418
+ """
1419
+
1376
1420
  class SetDataAttr(RequestBodyStruct):
1377
- pre3: int = field(XmpInt())
1378
- """integer, pre3 tap value. Default = 0 (neutral)"""
1379
- pre2: int = field(XmpInt())
1380
- """integer, pre2 tap value. Default = 0 (neutral)"""
1381
- pre: int = field(XmpInt())
1382
- """integer, pre tap value. Default = 0 (neutral)"""
1383
- main: int = field(XmpInt())
1384
- """integer, main tap value."""
1385
- post: int = field(XmpInt())
1386
- """integer, post tap value. Default = 0 (neutral)"""
1421
+ tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
1422
+ """list of integers, TX EQ tap values (native values). The number and layout depend on the platform:
1423
+
1424
+ - Regular Freya: [pre3, pre2, pre, main, post]
1425
+ - Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
1426
+ where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
1427
+ """
1387
1428
 
1388
1429
  def get(self) -> Token[GetDataAttr]:
1430
+ """Get the TX equalizer settings (native values) of the on-board PHY.
1431
+
1432
+ The returned tap values layout depends on the platform. Query P_CAPABILITIES
1433
+ for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the format.
1434
+
1435
+ :return: list of TX EQ tap values (native values)
1436
+ :rtype: PL1_PHYTXEQ.GetDataAttr
1437
+ """
1389
1438
 
1390
1439
  return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
1391
1440
 
1392
- def set(self, pre3:int, pre2: int, pre: int, main: int, post: int) -> Token[None]:
1441
+ def set(self, tap_values: typing.List[int]) -> Token[None]:
1442
+ """Set the TX equalizer settings (native values) of the on-board PHY.
1443
+
1444
+ The tap values layout depends on the platform. Query P_CAPABILITIES
1445
+ for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the required format.
1446
+
1447
+ :param tap_values: list of TX EQ tap values (native values) in platform-specific order
1448
+ :type tap_values: typing.List[int]
1449
+ """
1393
1450
 
1394
1451
  return Token(
1395
1452
  self._connection,
1396
- build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], pre3=pre3, pre2=pre2, pre=pre, main=main, post=post))
1453
+ build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], tap_values=tap_values))
1397
1454
 
1398
1455
  @register_command
1399
1456
  @dataclass
@@ -595,7 +595,7 @@ class PP_PMAERRPUL_PARAMS:
595
595
  def set(self, duration: int, period: int, repetition: int, coeff: int, exp: int) -> Token[None]:
596
596
  """Set PMA pulse error injection settings.
597
597
 
598
- :param duration: 0 ms - 5000m s; increments of 1 ms; 0 = constant BER
598
+ :param duration: 0 ms - 5000 ms; increments of 1 ms; 0 = constant BER
599
599
  :type duration: int
600
600
  :param period: 10 ms - 50000 ms; number of ms - must be multiple of 10 ms
601
601
  :type period: int
@@ -1117,7 +1117,19 @@ class PP_EYEINFO:
1117
1117
  class PP_PHYTXEQ:
1118
1118
  """
1119
1119
  Control and monitor the equalizer settings of the on-board PHY in the
1120
- transmission direction (towards the transceiver cage) on Thor and Loki modules.
1120
+ transmission direction (towards the transceiver cage).
1121
+
1122
+ This command returns a variable number of tap values with module-dependent ordering:
1123
+
1124
+ - **Legacy Loki-2P/Thor**: Original fixed format [pre, main, post, pre2, pre3, mode]
1125
+ - **Regular Freya**: Original fixed format [pre, main, post, pre2, pre3, mode]
1126
+ - **Loki-4P and H-Freya/Edun**: Variable number in N*pre, main, M*post layout
1127
+ [pre_n, pre_n-1, ..., pre_1, main, post_1, post_2, ..., post_m]
1128
+
1129
+ Use P_CAPABILITIES to query ``numtxeqtaps`` and ``numtxeqpretaps`` to determine
1130
+ the number of taps and layout:
1131
+ - ``numtxeqpretaps``: Number of precursor taps (N)
1132
+ - ``numtxeqtaps - numtxeqpretaps - 1``: Number of postcursor taps (M)
1121
1133
 
1122
1134
  .. versionchanged:: 1.1
1123
1135
 
@@ -1132,63 +1144,46 @@ class PP_PHYTXEQ:
1132
1144
  _serdes_xindex: int
1133
1145
 
1134
1146
  class GetDataAttr(ResponseBodyStruct):
1135
- pre: int = field(XmpInt())
1136
- """integer, preemphasis, (range: Module dependent), default = 0 (neutral)."""
1137
- main: int = field(XmpInt())
1138
- """integer, amplification, (range: Module dependent), default = 0 (neutral)."""
1139
- post: int = field(XmpInt())
1140
- """integer, postemphasis, (range: Module dependent), default = 0 (neutral)."""
1141
- pre2: int = field(XmpInt())
1142
- """integer, preemphasis, (range: Module dependent), default = 0 (neutral)."""
1143
- pre3_post2: int = field(XmpInt())
1144
- """integer, postemphasis, (range: Module dependent), default = 0 (neutral)."""
1145
- post3: int = field(XmpInt())
1146
- """integer, postemphasis, (range: Module dependent), default = 0 (neutral)."""
1147
- mode: int = field(XmpInt())
1148
- """integer, value must be 4"""
1147
+ tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
1148
+ """list of integers, TX EQ tap values. The number and layout depend on the platform:
1149
+
1150
+ - Legacy Loki-2P/Thor and Regular Freya: [pre, main, post, pre2, pre3, mode]
1151
+ - Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
1152
+ where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
1153
+ """
1149
1154
 
1150
1155
  class SetDataAttr(RequestBodyStruct):
1151
- pre: int = field(XmpInt())
1152
- """integer, preemphasis, (range: Module dependent), default = 0 (neutral)."""
1153
- main: int = field(XmpInt())
1154
- """integer, amplification, (range: Module dependent), default = 0 (neutral)."""
1155
- post: int = field(XmpInt())
1156
- """integer, postemphasis, (range: Module dependent), default = 0 (neutral)."""
1157
- pre2: int = field(XmpInt())
1158
- """integer, preemphasis, (range: Module dependent), default = 0 (neutral)."""
1159
- pre3_post2: int = field(XmpInt())
1160
- """integer, postemphasis, (range: Module dependent), default = 0 (neutral)."""
1161
- post3: int = field(XmpInt())
1162
- """integer, postemphasis, (range: Module dependent), default = 0 (neutral)."""
1163
- mode: int = field(XmpInt())
1164
- """integer, value must be 4"""
1156
+ tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
1157
+ """list of integers, TX EQ tap values. The number and layout depend on the platform:
1158
+
1159
+ - Legacy Loki-2P/Thor and Regular Freya: [pre, main, post, pre2, pre3, mode]
1160
+ - Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
1161
+ where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
1162
+ """
1165
1163
 
1166
1164
  def get(self) -> Token[GetDataAttr]:
1167
- """Get the equalizer settings of the on-board PHY in the
1168
- transmission direction (towards the transceiver cage) on Thor and Loki modules.
1165
+ """Get the TX equalizer settings of the on-board PHY.
1166
+
1167
+ The returned tap values layout depends on the platform. Query P_CAPABILITIES
1168
+ for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the format.
1169
1169
 
1170
- :return: preemphasis, (range: Module dependent), default = 0 (neutral).
1170
+ :return: list of TX EQ tap values
1171
1171
  :rtype: PP_PHYTXEQ.GetDataAttr
1172
1172
  """
1173
1173
 
1174
1174
  return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
1175
1175
 
1176
- def set(self, pre2: int, pre: int, main: int, post: int, pre3_post2: int, post3: int) -> Token[None]:
1177
- """Set the equalizer settings of the on-board PHY in the
1178
- transmission direction (towards the transceiver cage) on Thor and Loki modules.
1176
+ def set(self, tap_values: typing.List[int]) -> Token[None]:
1177
+ """Set the TX equalizer settings of the on-board PHY.
1178
+
1179
+ The tap values layout depends on the platform. Query P_CAPABILITIES
1180
+ for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the required format:
1181
+
1182
+ - Legacy Loki-2P/Thor and Regular Freya: [pre, main, post, pre2, pre3, mode]
1183
+ - Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
1179
1184
 
1180
- :param pre2: pre2 emphasis
1181
- :type pre2: int
1182
- :param pre: pre emphasis
1183
- :type pre: int
1184
- :param main: main emphasis
1185
- :type main: int
1186
- :param post: post emphasis
1187
- :type post: int
1188
- :param pre3_post2: post2 or pre3 emphasis
1189
- :type pre3_post2: int
1190
- :param post3: post3 emphasis
1191
- :type post3: int
1185
+ :param tap_values: list of TX EQ tap values in platform-specific order
1186
+ :type tap_values: typing.List[int]
1192
1187
  """
1193
1188
 
1194
1189
  return Token(
@@ -1198,13 +1193,7 @@ class PP_PHYTXEQ:
1198
1193
  module=self._module,
1199
1194
  port=self._port,
1200
1195
  indices=[self._serdes_xindex],
1201
- pre2=pre2,
1202
- pre=pre,
1203
- main=main,
1204
- post=post,
1205
- pre3_post2=pre3_post2,
1206
- post3=post3,
1207
- mode=4))
1196
+ tap_values=tap_values))
1208
1197
 
1209
1198
 
1210
1199
  @register_command
@@ -284,21 +284,21 @@ class PR_TPLDERRORS:
284
284
  class GetDataAttr(ResponseBodyStruct):
285
285
  dummy: int = field(XmpLong())
286
286
  """long integer, not in use."""
287
- non_incre_seq_event_count: int = field(XmpLong())
288
- """long integer, number of non-incrementing-sequence-number events."""
289
- swapped_seq_misorder_event_count: int = field(XmpLong())
290
- """long integer, number of swapped-sequence-number misorder events."""
291
- non_incre_payload_packet_count: int = field(XmpLong())
292
- """long integer, number of packets with non-incrementing payload content."""
287
+ packet_loss_by_seq: int = field(XmpLong())
288
+ """long integer, Number of packet loss calculated by detecting gaps in received sequence numbers from test payload, where each missing number indicates a lost packet."""
289
+ misorder_by_seq: int = field(XmpLong())
290
+ """long integer, Number of misordered packets calculated by detecting packets that arrive with a sequence number lower than the highest seen so far, indicating out-of-order delivery."""
291
+ payload_err_packets: int = field(XmpLong())
292
+ """long integer, Number of packets with payload integrity errors."""
293
293
 
294
294
  def get(self) -> Token[GetDataAttr]:
295
295
  """Get statistics concerning errors in the packets with a particular test payload id received on a port.
296
296
 
297
297
  :return:
298
298
  dummy value not in use,
299
- number of non-incrementing-sequence-number events,
300
- number of swapped-sequence-number misorder events,
301
- number of packets with non-incrementing payload content
299
+ Number of packet loss by sequence number,
300
+ Number of misordered packets by sequence number,
301
+ Number of packets with payload integrity errors.
302
302
 
303
303
  :rtype: PR_TPLDERRORS.GetDataAttr
304
304
  """
@@ -532,12 +532,13 @@ class PR_TOTALEXT:
532
532
  packet_count_since_cleared: int = field(XmpLong())
533
533
  """long integer, number of packets received since statistics were cleared."""
534
534
  fcs_error_count: int = field(XmpLong())
535
-
535
+ """long integer, number of Rx packets with a bad FCS."""
536
536
  oversize_count: int = field(XmpLong())
537
-
537
+ """long integer, number of oversize packets (>1518 bytes) received since last clear (-1 if this counter is not supported by the tester)."""
538
538
  undersize_count: int = field(XmpLong())
539
-
539
+ """long integer, number of undersize packets (<64 bytes) received since last clear (-1 if this counter is not supported by the tester)."""
540
540
  jabber_count: int = field(XmpLong())
541
+ """long integer, number of jabber packets (oversized with a bad FCS) received since last clear (-1 if this counter is not supported by the tester)."""
541
542
 
542
543
  def get(self) -> Token[GetDataAttr]:
543
544
  """Get statistics concerning all the packets received on a port.
@@ -548,10 +549,10 @@ class PR_TOTALEXT:
548
549
  number of packets received in the last second,
549
550
  number of bytes received since statistics were cleared,
550
551
  number of packets received since statistics were cleared,
551
- number of packets received with fcs error frames,
552
- number of oversize packets received since last clear (-1 if this counter is not supported by the tester),
553
- number of undersize packets received since last clear (-1 if this counter is not supported by the tester),
554
- number of jabber packets received since last clear (-1 if this counter is not supported by the tester).
552
+ number of packets received with a bad FCS,
553
+ number of oversize packets (>1518 bytes) received since last clear (-1 if this counter is not supported by the tester),
554
+ number of undersize packets (<64 bytes) received since last clear (-1 if this counter is not supported by the tester),
555
+ number of jabber packets (oversized with a bad FCS) received since last clear (-1 if this counter is not supported by the tester).
555
556
 
556
557
  :rtype: PR_TOTALEXT.GetDataAttr
557
558
  """
@@ -166,8 +166,28 @@ class PT_EXTRA:
166
166
  _port: int
167
167
 
168
168
  class GetDataAttr(ResponseBodyStruct):
169
- tx_arp_req_count: typing.List[int] = field(XmpSequence(types_chunk=[XmpLong()]))
169
+ tx_arp_request_count: int = field(XmpLong())
170
170
  """long integer, number of ARP requests transmitted"""
171
+ tx_arp_reply_count: int = field(XmpLong())
172
+ """long integer, number of ARP responses transmitted"""
173
+ tx_ping_request_count: int = field(XmpLong())
174
+ """long integer, number of PING requests transmitted"""
175
+ tx_ping_reply_count: int = field(XmpLong())
176
+ """long integer, number of PING responses transmitted"""
177
+ tx_fcs_inj_count: int = field(XmpLong())
178
+ """long integer, number of FCS errors injected"""
179
+ tx_seq_inj_count: int = field(XmpLong())
180
+ """long integer, number of sequence mismatch errors injected"""
181
+ tx_mis_inj_count: int = field(XmpLong())
182
+ """long integer, number of packet misordering errors injected"""
183
+ tx_pld_inj_count: int = field(XmpLong())
184
+ """long integer, number of payload errors injected"""
185
+ tx_tpld_inj_count: int = field(XmpLong())
186
+ """long integer, number of payload integrity errors injected"""
187
+ tx_mac_train_count: int = field(XmpLong())
188
+ """long integer, number of MAC learning (training) packets transmitted"""
189
+ tx_igmp_join_count: int = field(XmpLong())
190
+ """long integer, number of IGMP JOIN packets transmitted"""
171
191
 
172
192
  def get(self) -> Token[GetDataAttr]:
173
193
  """Get additional statistics for packets transmitted on a port.