tdl-xoa-driver 1.0.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. tdl_xoa_driver-1.0.0b1.dist-info/LICENSE +202 -0
  2. tdl_xoa_driver-1.0.0b1.dist-info/METADATA +177 -0
  3. tdl_xoa_driver-1.0.0b1.dist-info/RECORD +325 -0
  4. tdl_xoa_driver-1.0.0b1.dist-info/WHEEL +5 -0
  5. tdl_xoa_driver-1.0.0b1.dist-info/top_level.txt +1 -0
  6. xoa_driver/__init__.py +2 -0
  7. xoa_driver/enums.py +399 -0
  8. xoa_driver/exceptions.py +77 -0
  9. xoa_driver/functions/__init__.py +0 -0
  10. xoa_driver/functions/anlt.py +744 -0
  11. xoa_driver/functions/anlt_ll_debug.py +429 -0
  12. xoa_driver/functions/cli.py +581 -0
  13. xoa_driver/functions/exceptions.py +72 -0
  14. xoa_driver/functions/headers.py +608 -0
  15. xoa_driver/functions/mgmt.py +515 -0
  16. xoa_driver/functions/tools.py +256 -0
  17. xoa_driver/hlfuncs.py +18 -0
  18. xoa_driver/internals/__init__.py +0 -0
  19. xoa_driver/internals/commands/__init__.py +31 -0
  20. xoa_driver/internals/commands/c_commands.py +2041 -0
  21. xoa_driver/internals/commands/enums.py +3289 -0
  22. xoa_driver/internals/commands/m4_commands.py +700 -0
  23. xoa_driver/internals/commands/m4e_commands.py +107 -0
  24. xoa_driver/internals/commands/m_commands.py +1875 -0
  25. xoa_driver/internals/commands/p4_commands.py +2221 -0
  26. xoa_driver/internals/commands/p4e_commands.py +160 -0
  27. xoa_driver/internals/commands/p4g_commands.py +7253 -0
  28. xoa_driver/internals/commands/p_commands.py +6000 -0
  29. xoa_driver/internals/commands/pc_commands.py +335 -0
  30. xoa_driver/internals/commands/pd_commands.py +355 -0
  31. xoa_driver/internals/commands/pe_commands.py +1018 -0
  32. xoa_driver/internals/commands/pec_commands.py +265 -0
  33. xoa_driver/internals/commands/ped_commands.py +1034 -0
  34. xoa_driver/internals/commands/pef_commands.py +2216 -0
  35. xoa_driver/internals/commands/pf_commands.py +379 -0
  36. xoa_driver/internals/commands/pl1_commands.py +1588 -0
  37. xoa_driver/internals/commands/pl_commands.py +178 -0
  38. xoa_driver/internals/commands/pm_commands.py +256 -0
  39. xoa_driver/internals/commands/pp_commands.py +2341 -0
  40. xoa_driver/internals/commands/pr_commands.py +812 -0
  41. xoa_driver/internals/commands/ps_commands.py +2311 -0
  42. xoa_driver/internals/commands/pt_commands.py +370 -0
  43. xoa_driver/internals/commands/px_commands.py +303 -0
  44. xoa_driver/internals/commands/subtypes.py +86 -0
  45. xoa_driver/internals/core/__init__.py +0 -0
  46. xoa_driver/internals/core/builders.py +39 -0
  47. xoa_driver/internals/core/exceptions.py +69 -0
  48. xoa_driver/internals/core/funcs.py +81 -0
  49. xoa_driver/internals/core/funcs.pyi +1072 -0
  50. xoa_driver/internals/core/interfaces.py +47 -0
  51. xoa_driver/internals/core/token.py +44 -0
  52. xoa_driver/internals/core/transporter/__init__.py +0 -0
  53. xoa_driver/internals/core/transporter/_processor.py +83 -0
  54. xoa_driver/internals/core/transporter/_publisher.py +101 -0
  55. xoa_driver/internals/core/transporter/_request_id_counter.py +28 -0
  56. xoa_driver/internals/core/transporter/_stream.py +99 -0
  57. xoa_driver/internals/core/transporter/_typings.py +43 -0
  58. xoa_driver/internals/core/transporter/exceptions.py +44 -0
  59. xoa_driver/internals/core/transporter/handler.py +127 -0
  60. xoa_driver/internals/core/transporter/logger/__init__.py +10 -0
  61. xoa_driver/internals/core/transporter/logger/__logger.py +94 -0
  62. xoa_driver/internals/core/transporter/logger/__state_off.py +32 -0
  63. xoa_driver/internals/core/transporter/logger/__state_on_default.py +70 -0
  64. xoa_driver/internals/core/transporter/logger/__state_on_loguru.py +51 -0
  65. xoa_driver/internals/core/transporter/logger/__state_on_user.py +48 -0
  66. xoa_driver/internals/core/transporter/protocol/__init__.py +0 -0
  67. xoa_driver/internals/core/transporter/protocol/_constants.py +77 -0
  68. xoa_driver/internals/core/transporter/protocol/_utils.py +59 -0
  69. xoa_driver/internals/core/transporter/protocol/exceptions.py +271 -0
  70. xoa_driver/internals/core/transporter/protocol/payload/__init__.py +70 -0
  71. xoa_driver/internals/core/transporter/protocol/payload/base_struct.py +283 -0
  72. xoa_driver/internals/core/transporter/protocol/payload/descriptor.py +119 -0
  73. xoa_driver/internals/core/transporter/protocol/payload/exceptions.py +20 -0
  74. xoa_driver/internals/core/transporter/protocol/payload/field.py +296 -0
  75. xoa_driver/internals/core/transporter/protocol/payload/types.py +173 -0
  76. xoa_driver/internals/core/transporter/protocol/payload/utils.py +53 -0
  77. xoa_driver/internals/core/transporter/protocol/struct_header.py +123 -0
  78. xoa_driver/internals/core/transporter/protocol/struct_request.py +65 -0
  79. xoa_driver/internals/core/transporter/protocol/struct_response.py +89 -0
  80. xoa_driver/internals/core/transporter/registry.py +43 -0
  81. xoa_driver/internals/exceptions/__init__.py +9 -0
  82. xoa_driver/internals/exceptions/modules.py +13 -0
  83. xoa_driver/internals/exceptions/testers.py +21 -0
  84. xoa_driver/internals/hli_v1/__init__.py +0 -0
  85. xoa_driver/internals/hli_v1/indices/__init__.py +0 -0
  86. xoa_driver/internals/hli_v1/indices/base_index.py +39 -0
  87. xoa_driver/internals/hli_v1/indices/connection_group/__init__.py +0 -0
  88. xoa_driver/internals/hli_v1/indices/connection_group/cg.py +186 -0
  89. xoa_driver/internals/hli_v1/indices/connection_group/histogram.py +78 -0
  90. xoa_driver/internals/hli_v1/indices/connection_group/l2.py +94 -0
  91. xoa_driver/internals/hli_v1/indices/connection_group/l3.py +130 -0
  92. xoa_driver/internals/hli_v1/indices/connection_group/raw.py +200 -0
  93. xoa_driver/internals/hli_v1/indices/connection_group/replay.py +109 -0
  94. xoa_driver/internals/hli_v1/indices/connection_group/tcp.py +314 -0
  95. xoa_driver/internals/hli_v1/indices/connection_group/tls.py +198 -0
  96. xoa_driver/internals/hli_v1/indices/connection_group/udp.py +133 -0
  97. xoa_driver/internals/hli_v1/indices/connection_group/user_state.py +28 -0
  98. xoa_driver/internals/hli_v1/indices/filter/__init__.py +0 -0
  99. xoa_driver/internals/hli_v1/indices/filter/base_filter.py +65 -0
  100. xoa_driver/internals/hli_v1/indices/filter/genuine_filter.py +20 -0
  101. xoa_driver/internals/hli_v1/indices/length_term.py +49 -0
  102. xoa_driver/internals/hli_v1/indices/macsecscs/__init__.py +0 -0
  103. xoa_driver/internals/hli_v1/indices/macsecscs/base_macsecsc.py +224 -0
  104. xoa_driver/internals/hli_v1/indices/macsecscs/genuine_macsecsc.py +72 -0
  105. xoa_driver/internals/hli_v1/indices/match_term.py +64 -0
  106. xoa_driver/internals/hli_v1/indices/port_dataset.py +72 -0
  107. xoa_driver/internals/hli_v1/indices/streams/__init__.py +0 -0
  108. xoa_driver/internals/hli_v1/indices/streams/base_stream.py +405 -0
  109. xoa_driver/internals/hli_v1/indices/streams/genuine_stream.py +64 -0
  110. xoa_driver/internals/hli_v1/modules/__init__.py +0 -0
  111. xoa_driver/internals/hli_v1/modules/__interfaces.py +21 -0
  112. xoa_driver/internals/hli_v1/modules/base_module.py +138 -0
  113. xoa_driver/internals/hli_v1/modules/module_chimera.py +366 -0
  114. xoa_driver/internals/hli_v1/modules/module_l23ve.py +73 -0
  115. xoa_driver/internals/hli_v1/modules/module_l47.py +397 -0
  116. xoa_driver/internals/hli_v1/modules/module_l47ve.py +9 -0
  117. xoa_driver/internals/hli_v1/modules/modules_l23/__init__.py +0 -0
  118. xoa_driver/internals/hli_v1/modules/modules_l23/family_combi.py +83 -0
  119. xoa_driver/internals/hli_v1/modules/modules_l23/family_d.py +75 -0
  120. xoa_driver/internals/hli_v1/modules/modules_l23/family_e.py +85 -0
  121. xoa_driver/internals/hli_v1/modules/modules_l23/family_f.py +145 -0
  122. xoa_driver/internals/hli_v1/modules/modules_l23/family_g.py +84 -0
  123. xoa_driver/internals/hli_v1/modules/modules_l23/family_h.py +40 -0
  124. xoa_driver/internals/hli_v1/modules/modules_l23/family_i.py +25 -0
  125. xoa_driver/internals/hli_v1/modules/modules_l23/family_j.py +25 -0
  126. xoa_driver/internals/hli_v1/modules/modules_l23/family_k.py +39 -0
  127. xoa_driver/internals/hli_v1/modules/modules_l23/family_l.py +55 -0
  128. xoa_driver/internals/hli_v1/modules/modules_l23/family_l1.py +800 -0
  129. xoa_driver/internals/hli_v1/modules/modules_l23/family_m.py +25 -0
  130. xoa_driver/internals/hli_v1/modules/modules_l23/family_n.py +40 -0
  131. xoa_driver/internals/hli_v1/modules/modules_l23/module_l23_base.py +383 -0
  132. xoa_driver/internals/hli_v1/ports/__init__.py +0 -0
  133. xoa_driver/internals/hli_v1/ports/base_port.py +125 -0
  134. xoa_driver/internals/hli_v1/ports/port_l23/__init__.py +0 -0
  135. xoa_driver/internals/hli_v1/ports/port_l23/bases/__init__.py +0 -0
  136. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_capture.py +70 -0
  137. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23.py +527 -0
  138. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23_genuine.py +229 -0
  139. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_reception_statistics.py +231 -0
  140. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +117 -0
  141. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transmission_statistics.py +131 -0
  142. xoa_driver/internals/hli_v1/ports/port_l23/chimera/__init__.py +0 -0
  143. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  144. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
  145. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/general.py +396 -0
  146. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/shadow.py +104 -0
  147. xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/working.py +36 -0
  148. xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_custom_distribution.py +125 -0
  149. xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_distribution.py +174 -0
  150. xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_chimera.py +119 -0
  151. xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_emulation.py +244 -0
  152. xoa_driver/internals/hli_v1/ports/port_l23/chimera/reception_statistics.py +24 -0
  153. xoa_driver/internals/hli_v1/ports/port_l23/chimera/transmission_statistics.py +24 -0
  154. xoa_driver/internals/hli_v1/ports/port_l23/family_combi.py +37 -0
  155. xoa_driver/internals/hli_v1/ports/port_l23/family_d.py +51 -0
  156. xoa_driver/internals/hli_v1/ports/port_l23/family_e.py +107 -0
  157. xoa_driver/internals/hli_v1/ports/port_l23/family_f.py +151 -0
  158. xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +77 -0
  159. xoa_driver/internals/hli_v1/ports/port_l23/family_h.py +67 -0
  160. xoa_driver/internals/hli_v1/ports/port_l23/family_i.py +84 -0
  161. xoa_driver/internals/hli_v1/ports/port_l23/family_j.py +68 -0
  162. xoa_driver/internals/hli_v1/ports/port_l23/family_k.py +73 -0
  163. xoa_driver/internals/hli_v1/ports/port_l23/family_l.py +82 -0
  164. xoa_driver/internals/hli_v1/ports/port_l23/family_l1.py +166 -0
  165. xoa_driver/internals/hli_v1/ports/port_l23/family_m.py +29 -0
  166. xoa_driver/internals/hli_v1/ports/port_l23/fault_jkl.py +24 -0
  167. xoa_driver/internals/hli_v1/ports/port_l23/freya_l1.py +722 -0
  168. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ghijkl.py +369 -0
  169. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ijkl_chimera.py +60 -0
  170. xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_l.py +78 -0
  171. xoa_driver/internals/hli_v1/ports/port_l23/port_l23ve.py +101 -0
  172. xoa_driver/internals/hli_v1/ports/port_l47/__init__.py +0 -0
  173. xoa_driver/internals/hli_v1/ports/port_l47/counters.py +174 -0
  174. xoa_driver/internals/hli_v1/ports/port_l47/main.py +228 -0
  175. xoa_driver/internals/hli_v1/ports/port_l47/packet_engine.py +31 -0
  176. xoa_driver/internals/hli_v1/revisions.py +11 -0
  177. xoa_driver/internals/hli_v1/testers/__init__.py +0 -0
  178. xoa_driver/internals/hli_v1/testers/_base_tester.py +259 -0
  179. xoa_driver/internals/hli_v1/testers/genuine/__init__.py +0 -0
  180. xoa_driver/internals/hli_v1/testers/genuine/l_23/__init__.py +0 -0
  181. xoa_driver/internals/hli_v1/testers/genuine/l_23/health.py +16 -0
  182. xoa_driver/internals/hli_v1/testers/genuine/l_23/rest_api.py +38 -0
  183. xoa_driver/internals/hli_v1/testers/genuine/l_23/time_keeper.py +57 -0
  184. xoa_driver/internals/hli_v1/testers/genuine/l_23/upload_file.py +29 -0
  185. xoa_driver/internals/hli_v1/testers/genuine/management_interface.py +42 -0
  186. xoa_driver/internals/hli_v1/testers/l23_tester.py +196 -0
  187. xoa_driver/internals/hli_v1/testers/l23ve_tester.py +114 -0
  188. xoa_driver/internals/hli_v1/testers/l47_tester.py +106 -0
  189. xoa_driver/internals/hli_v1/testers/l47ve_tester.py +54 -0
  190. xoa_driver/internals/hli_v2/__init__.py +0 -0
  191. xoa_driver/internals/hli_v2/indices/__init__.py +0 -0
  192. xoa_driver/internals/hli_v2/indices/base_index.py +39 -0
  193. xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
  194. xoa_driver/internals/hli_v2/indices/connection_group/cg.py +115 -0
  195. xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +59 -0
  196. xoa_driver/internals/hli_v2/indices/connection_group/l2.py +71 -0
  197. xoa_driver/internals/hli_v2/indices/connection_group/l3.py +96 -0
  198. xoa_driver/internals/hli_v2/indices/connection_group/raw.py +148 -0
  199. xoa_driver/internals/hli_v2/indices/connection_group/replay.py +89 -0
  200. xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +261 -0
  201. xoa_driver/internals/hli_v2/indices/connection_group/tls.py +166 -0
  202. xoa_driver/internals/hli_v2/indices/connection_group/udp.py +112 -0
  203. xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +25 -0
  204. xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
  205. xoa_driver/internals/hli_v2/indices/filter/base_filter.py +50 -0
  206. xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +17 -0
  207. xoa_driver/internals/hli_v2/indices/length_term.py +44 -0
  208. xoa_driver/internals/hli_v2/indices/match_term.py +49 -0
  209. xoa_driver/internals/hli_v2/indices/port_dataset.py +53 -0
  210. xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
  211. xoa_driver/internals/hli_v2/indices/streams/base_stream.py +234 -0
  212. xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +32 -0
  213. xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
  214. xoa_driver/internals/hli_v2/modules/__interfaces.py +21 -0
  215. xoa_driver/internals/hli_v2/modules/base_module.py +125 -0
  216. xoa_driver/internals/hli_v2/modules/module_chimera.py +358 -0
  217. xoa_driver/internals/hli_v2/modules/module_l23ve.py +58 -0
  218. xoa_driver/internals/hli_v2/modules/module_l47.py +230 -0
  219. xoa_driver/internals/hli_v2/modules/module_l47ve.py +8 -0
  220. xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
  221. xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +73 -0
  222. xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +75 -0
  223. xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +85 -0
  224. xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +144 -0
  225. xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +84 -0
  226. xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +40 -0
  227. xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +25 -0
  228. xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +25 -0
  229. xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +39 -0
  230. xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +55 -0
  231. xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +797 -0
  232. xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +25 -0
  233. xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +40 -0
  234. xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +339 -0
  235. xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
  236. xoa_driver/internals/hli_v2/ports/base_port.py +105 -0
  237. xoa_driver/internals/hli_v2/ports/port_l23/__init__.py +0 -0
  238. xoa_driver/internals/hli_v2/ports/port_l23/bases/__init__.py +0 -0
  239. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_capture.py +64 -0
  240. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +441 -0
  241. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +172 -0
  242. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +156 -0
  243. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +117 -0
  244. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +59 -0
  245. xoa_driver/internals/hli_v2/ports/port_l23/chimera/__init__.py +0 -0
  246. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  247. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
  248. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +340 -0
  249. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +99 -0
  250. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +36 -0
  251. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +116 -0
  252. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +102 -0
  253. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +113 -0
  254. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +420 -0
  255. xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +22 -0
  256. xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +22 -0
  257. xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +36 -0
  258. xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +49 -0
  259. xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +96 -0
  260. xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +144 -0
  261. xoa_driver/internals/hli_v2/ports/port_l23/family_g.py +77 -0
  262. xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +60 -0
  263. xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +66 -0
  264. xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +53 -0
  265. xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +58 -0
  266. xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +67 -0
  267. xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +149 -0
  268. xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +28 -0
  269. xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +22 -0
  270. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +342 -0
  271. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +50 -0
  272. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +65 -0
  273. xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +81 -0
  274. xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
  275. xoa_driver/internals/hli_v2/ports/port_l47/counters.py +146 -0
  276. xoa_driver/internals/hli_v2/ports/port_l47/main.py +137 -0
  277. xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +20 -0
  278. xoa_driver/internals/hli_v2/revisions.py +11 -0
  279. xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
  280. xoa_driver/internals/hli_v2/testers/_base_tester.py +207 -0
  281. xoa_driver/internals/hli_v2/testers/genuine/__init__.py +0 -0
  282. xoa_driver/internals/hli_v2/testers/genuine/l_23/__init__.py +0 -0
  283. xoa_driver/internals/hli_v2/testers/genuine/l_23/health.py +16 -0
  284. xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +34 -0
  285. xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +50 -0
  286. xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +26 -0
  287. xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +38 -0
  288. xoa_driver/internals/hli_v2/testers/l23_tester.py +159 -0
  289. xoa_driver/internals/hli_v2/testers/l23ve_tester.py +98 -0
  290. xoa_driver/internals/hli_v2/testers/l47_tester.py +95 -0
  291. xoa_driver/internals/hli_v2/testers/l47ve_tester.py +50 -0
  292. xoa_driver/internals/state_storage/__init__.py +0 -0
  293. xoa_driver/internals/state_storage/_speed_detector.py +121 -0
  294. xoa_driver/internals/state_storage/modules_state.py +128 -0
  295. xoa_driver/internals/state_storage/ports_state.py +154 -0
  296. xoa_driver/internals/state_storage/testers_state.py +104 -0
  297. xoa_driver/internals/utils/__init__.py +0 -0
  298. xoa_driver/internals/utils/attributes.py +33 -0
  299. xoa_driver/internals/utils/cap_id.py +63 -0
  300. xoa_driver/internals/utils/con_traffic_light.py +88 -0
  301. xoa_driver/internals/utils/indices/__init__.py +0 -0
  302. xoa_driver/internals/utils/indices/_interfaces.py +26 -0
  303. xoa_driver/internals/utils/indices/header_modifier_manager.py +56 -0
  304. xoa_driver/internals/utils/indices/index_manager.py +95 -0
  305. xoa_driver/internals/utils/indices/observer.py +17 -0
  306. xoa_driver/internals/utils/kind.py +19 -0
  307. xoa_driver/internals/utils/managers/__init__.py +0 -0
  308. xoa_driver/internals/utils/managers/abc.py +44 -0
  309. xoa_driver/internals/utils/managers/exceptions.py +22 -0
  310. xoa_driver/internals/utils/managers/modules_manager.py +118 -0
  311. xoa_driver/internals/utils/managers/ports_manager.py +116 -0
  312. xoa_driver/internals/utils/rev_tool.py +21 -0
  313. xoa_driver/internals/utils/session.py +117 -0
  314. xoa_driver/internals/warn.py +32 -0
  315. xoa_driver/lli.py +15 -0
  316. xoa_driver/misc.py +57 -0
  317. xoa_driver/modules.py +448 -0
  318. xoa_driver/ports.py +332 -0
  319. xoa_driver/testers.py +37 -0
  320. xoa_driver/utils.py +12 -0
  321. xoa_driver/v2/__init__.py +11 -0
  322. xoa_driver/v2/misc.py +77 -0
  323. xoa_driver/v2/modules.py +308 -0
  324. xoa_driver/v2/ports.py +232 -0
  325. xoa_driver/v2/testers.py +24 -0
@@ -0,0 +1,94 @@
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
+ P4G_L2_CLIENT_MAC,
6
+ P4G_L2_SERVER_MAC,
7
+ P4G_L2_USE_ADDRESS_RES,
8
+ P4G_L2_USE_GW,
9
+ P4G_L2_GW,
10
+ P4G_L2_IPV6_GW,
11
+ P4G_VLAN_ENABLE,
12
+ P4G_VLAN_TCI,
13
+ )
14
+
15
+
16
+ class GMacL2:
17
+ """L2 MAC"""
18
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
19
+ self.client = P4G_L2_CLIENT_MAC(conn, module_id, port_id, group_idx)
20
+ """Configure the client MAC address.
21
+
22
+ :type: P4G_L2_CLIENT_MAC
23
+ """
24
+
25
+ self.server = P4G_L2_SERVER_MAC(conn, module_id, port_id, group_idx)
26
+ """Configure the server MAC address.
27
+
28
+ :type: P4G_L2_SERVER_MAC
29
+ """
30
+
31
+
32
+ class GGatewayL2:
33
+ """L2 Gateway"""
34
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
35
+ self.use = P4G_L2_USE_GW(conn, module_id, port_id, group_idx)
36
+ """Specify whether to use the resolved default gateway's MAC address as the destination MAC address in the packets.
37
+
38
+ :type: P4G_L2_USE_GW
39
+ """
40
+
41
+ self.ipv4 = P4G_L2_GW(conn, module_id, port_id, group_idx)
42
+ """Specify a default gateway for IPv4.
43
+
44
+ :type: P4G_L2_GW
45
+ """
46
+
47
+ self.ipv6 = P4G_L2_IPV6_GW(conn, module_id, port_id, group_idx)
48
+ """Specify a default gateway for IPv6.
49
+
50
+ :type: P4G_L2_IPV6_GW
51
+ """
52
+
53
+
54
+ class GVlanL2:
55
+ """L2 VLAN"""
56
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
57
+ self.enable = P4G_VLAN_ENABLE(conn, module_id, port_id, group_idx)
58
+ """Specify whether to insert a VLAN tag header upon transmit.
59
+
60
+ :type: P4G_VLAN_ENABLE
61
+ """
62
+
63
+ self.tci = P4G_VLAN_TCI(conn, module_id, port_id, group_idx)
64
+ """Specify the VLAN TCI.
65
+
66
+ :type: P4G_VLAN_TCI
67
+ """
68
+
69
+
70
+ class GL2:
71
+ """L2 Configurations"""
72
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
73
+ self.address_resolve = P4G_L2_USE_ADDRESS_RES(conn, module_id, port_id, group_idx)
74
+ """
75
+
76
+ :type: P4G_L2_USE_ADDRESS_RES
77
+ """
78
+ self.mac = GMacL2(conn, module_id, port_id, group_idx)
79
+ """L2 MAC
80
+
81
+ :type: GMacL2
82
+ """
83
+
84
+ self.gateway = GGatewayL2(conn, module_id, port_id, group_idx)
85
+ """L2 Gateway
86
+
87
+ :type: GGatewayL2
88
+ """
89
+
90
+ self.vlan = GVlanL2(conn, module_id, port_id, group_idx)
91
+ """L2 VLAN
92
+
93
+ :type: GVlanL2
94
+ """
@@ -0,0 +1,130 @@
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
+ P4G_CLIENT_RANGE,
6
+ P4G_SERVER_RANGE,
7
+ P4G_IP_DS_TYPE,
8
+ P4G_IP_DS_VALUE,
9
+ P4G_IP_DS_MASK,
10
+ P4G_IP_DS_MINMAX,
11
+ P4G_IP_DS_STEP,
12
+ P4G_IP_VERSION,
13
+ P4G_IPV6_CLIENT_RANGE,
14
+ P4G_IPV6_SERVER_RANGE,
15
+ P4G_IPV6_TRAFFIC_CLASS,
16
+ P4G_IPV6_FLOW_LABEL,
17
+ P4G_NAT,
18
+ )
19
+
20
+
21
+ class GIPv4L3:
22
+ """L3 IPv4"""
23
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
24
+ self.client_range = P4G_CLIENT_RANGE(conn, module_id, port_id, group_idx)
25
+ """Specifies a number of client sockets
26
+
27
+ :type: P4G_CLIENT_RANGE
28
+ """
29
+
30
+ self.server_range = P4G_SERVER_RANGE(conn, module_id, port_id, group_idx)
31
+ """Specifies a number of server sockets
32
+
33
+ :type: P4G_SERVER_RANGE
34
+ """
35
+
36
+
37
+ class GIPv6L3:
38
+ """L3 IPv6"""
39
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
40
+ self.client_range = P4G_IPV6_CLIENT_RANGE(conn, module_id, port_id, group_idx)
41
+ """Specifies the number of client sockets
42
+
43
+ :type: P4G_IPV6_CLIENT_RANGE
44
+ """
45
+
46
+ self.server_range = P4G_IPV6_SERVER_RANGE(conn, module_id, port_id, group_idx)
47
+ """Specifies the number of server sockets
48
+
49
+ :type: P4G_IPV6_SERVER_RANGE
50
+ """
51
+
52
+ self.traffic_class = P4G_IPV6_TRAFFIC_CLASS(conn, module_id, port_id, group_idx)
53
+ """Configure the value of the traffic class field of the IPv6 header.
54
+
55
+ :type: P4G_IPV6_TRAFFIC_CLASS
56
+ """
57
+
58
+ self.flow_label = P4G_IPV6_FLOW_LABEL(conn, module_id, port_id, group_idx)
59
+ """Configure the value of the flow label field of the IPv6 header.
60
+
61
+ :type: P4G_IPV6_FLOW_LABEL
62
+ """
63
+
64
+
65
+ class GDifferentialServiceL3:
66
+ """L3 Differential Service"""
67
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
68
+ self.type = P4G_IP_DS_TYPE(conn, module_id, port_id, group_idx)
69
+ """Configure the mode of the DS field of the IP header of this Connection Group.
70
+
71
+ :type: P4G_IP_DS_TYPE
72
+ """
73
+
74
+ self.value = P4G_IP_DS_VALUE(conn, module_id, port_id, group_idx)
75
+ """Specify the (FIXED) value used for DS.
76
+
77
+ :type: P4G_IP_DS_VALUE
78
+ """
79
+
80
+ self.mask = P4G_IP_DS_MASK(conn, module_id, port_id, group_idx)
81
+ """Specify a bit mask to be applied to the DS field.
82
+
83
+ :type: P4G_IP_DS_MASK
84
+ """
85
+
86
+ self.range_limits = P4G_IP_DS_MINMAX(conn, module_id, port_id, group_idx)
87
+ """Configure the min and max values of the range for the calculated part of the DS value.
88
+
89
+ :type: P4G_IP_DS_MINMAX
90
+ """
91
+
92
+ self.step = P4G_IP_DS_STEP(conn, module_id, port_id, group_idx)
93
+ """Specifies the incrementing step size for the calculated part of the DS value.
94
+
95
+ :type: P4G_IP_DS_STEP
96
+ """
97
+
98
+
99
+ class GL3:
100
+ """L3 Configurations"""
101
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
102
+ self.ip_version = P4G_IP_VERSION(conn, module_id, port_id, group_idx)
103
+ """Specifies either IPv4 or IPv6.
104
+
105
+ :type: P4G_IP_VERSION
106
+ """
107
+
108
+ self.ipv4 = GIPv4L3(conn, module_id, port_id, group_idx)
109
+ """L3 IPv4 Configurations
110
+
111
+ :type: GIPv4L3
112
+ """
113
+
114
+ self.ipv6 = GIPv6L3(conn, module_id, port_id, group_idx)
115
+ """L3 IPv6 Configurations
116
+
117
+ :type: GIPv6L3
118
+ """
119
+
120
+ self.diffserv = GDifferentialServiceL3(conn, module_id, port_id, group_idx)
121
+ """L3 IPv6 DS Configurations
122
+
123
+ :type: GDifferentialServiceL3
124
+ """
125
+
126
+ self.nat = P4G_NAT(conn, module_id, port_id, group_idx) # TODO: maybe to add extra logic for this command based on the description
127
+ """Specify whether to support DUT Source NAT functionality.
128
+
129
+ :type: P4G_NAT
130
+ """
@@ -0,0 +1,200 @@
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
+ P4G_RAW_TEST_SCENARIO,
6
+ P4G_RAW_PAYLOAD_TYPE,
7
+ P4G_RAW_PAYLOAD_TOTAL_LEN,
8
+ P4G_RAW_PAYLOAD,
9
+ P4G_RAW_PAYLOAD_REPEAT_LEN,
10
+ P4G_RAW_HAS_DOWNLOAD_REQ,
11
+ P4G_RAW_CLOSE_CONN,
12
+ P4G_RAW_UTILIZATION,
13
+ P4G_RAW_DOWNLOAD_REQUEST,
14
+ P4G_RAW_TX_DURING_RAMP,
15
+ P4G_RAW_TX_TIME_OFFSET,
16
+ P4G_RAW_BURSTY_TX,
17
+ P4G_RAW_BURSTY_CONF,
18
+ P4G_RAW_RX_PAYLOAD_LEN,
19
+ P4G_RAW_REQUEST_REPEAT,
20
+ P4G_RAW_CONN_INCARNATION,
21
+ P4G_RAW_CONN_REPETITIONS,
22
+ P4G_RAW_CONN_LIFETIME,
23
+ P4G_APP_TRANSACTION_COUNTERS,
24
+ )
25
+
26
+
27
+ class GPayloadRaw:
28
+ """Payload settings of Raw type of test application"""
29
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
30
+ self.type = P4G_RAW_PAYLOAD_TYPE(conn, module_id, port_id, group_idx)
31
+ """
32
+
33
+ :type: P4G_RAW_PAYLOAD_TYPE
34
+ """
35
+
36
+ self.total_length = P4G_RAW_PAYLOAD_TOTAL_LEN(conn, module_id, port_id, group_idx)
37
+ """
38
+
39
+ :type: P4G_RAW_PAYLOAD_TOTAL_LEN
40
+ """
41
+
42
+ self.rx_length = P4G_RAW_RX_PAYLOAD_LEN(conn, module_id, port_id, group_idx)
43
+ """
44
+
45
+ :type: P4G_RAW_RX_PAYLOAD_LEN
46
+ """
47
+
48
+ self.content = P4G_RAW_PAYLOAD(conn, module_id, port_id, group_idx)
49
+ """
50
+
51
+ :type: P4G_RAW_PAYLOAD
52
+ """
53
+
54
+ self.repeat_length = P4G_RAW_PAYLOAD_REPEAT_LEN(conn, module_id, port_id, group_idx)
55
+ """
56
+
57
+ :type: P4G_RAW_PAYLOAD_REPEAT_LEN
58
+ """
59
+
60
+
61
+ class GConnectionRaw:
62
+ """Connection settings of Raw type of test application"""
63
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
64
+ self.incarnation = P4G_RAW_CONN_INCARNATION(conn, module_id, port_id, group_idx)
65
+ """
66
+
67
+ :type: P4G_RAW_CONN_INCARNATION
68
+ """
69
+
70
+ self.repetitions = P4G_RAW_CONN_REPETITIONS(conn, module_id, port_id, group_idx)
71
+ """
72
+
73
+ :type: P4G_RAW_CONN_REPETITIONS
74
+ """
75
+
76
+ self.lifetime = P4G_RAW_CONN_LIFETIME(conn, module_id, port_id, group_idx)
77
+ """
78
+
79
+ :type: P4G_RAW_CONN_LIFETIME
80
+ """
81
+
82
+ self.close_condition = P4G_RAW_CLOSE_CONN(conn, module_id, port_id, group_idx)
83
+ """
84
+
85
+ :type: P4G_RAW_CLOSE_CONN
86
+ """
87
+
88
+
89
+ class GBurstyRaw:
90
+ """Burst settings of Raw type of test application"""
91
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
92
+ self.transmission = P4G_RAW_BURSTY_TX(conn, module_id, port_id, group_idx)
93
+ """
94
+
95
+ :type: P4G_RAW_BURSTY_TX
96
+ """
97
+
98
+ self.config = P4G_RAW_BURSTY_CONF(conn, module_id, port_id, group_idx)
99
+ """
100
+
101
+ :type: P4G_RAW_BURSTY_CONF
102
+ """
103
+
104
+
105
+ class GTransmitRaw:
106
+ """Transmission settings of Raw type of test application"""
107
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
108
+ self.during_ramp = P4G_RAW_TX_DURING_RAMP(conn, module_id, port_id, group_idx)
109
+ """
110
+
111
+ :type: P4G_RAW_TX_DURING_RAMP
112
+ """
113
+
114
+ self.time_offset = P4G_RAW_TX_TIME_OFFSET(conn, module_id, port_id, group_idx)
115
+ """
116
+
117
+ :type: P4G_RAW_TX_TIME_OFFSET
118
+ """
119
+
120
+
121
+ class GDownloadRequestRaw:
122
+ """Download request settings."""
123
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
124
+ self.server_must_wait = P4G_RAW_HAS_DOWNLOAD_REQ(conn, module_id, port_id, group_idx)
125
+ """
126
+
127
+ :type: P4G_RAW_HAS_DOWNLOAD_REQ
128
+ """
129
+ self.transactions_number = P4G_RAW_REQUEST_REPEAT(conn, module_id, port_id, group_idx)
130
+ """
131
+
132
+ :type: P4G_RAW_REQUEST_REPEAT
133
+ """
134
+ self.content = P4G_RAW_DOWNLOAD_REQUEST(conn, module_id, port_id, group_idx)
135
+ """
136
+
137
+ :type: P4G_RAW_DOWNLOAD_REQUEST
138
+ """
139
+
140
+
141
+ class GCountersTransaction:
142
+ """Transaction counters."""
143
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
144
+ self.transaction = P4G_APP_TRANSACTION_COUNTERS(conn, module_id, port_id, group_idx)
145
+ """
146
+
147
+ :type: P4G_APP_TRANSACTION_COUNTERS
148
+ """
149
+
150
+
151
+ class GRaw:
152
+ """Raw test application configuration."""
153
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
154
+ self.test_scenario = P4G_RAW_TEST_SCENARIO(conn, module_id, port_id, group_idx)
155
+ """
156
+
157
+ :type: P4G_RAW_TEST_SCENARIO
158
+ """
159
+
160
+ self.utilization = P4G_RAW_UTILIZATION(conn, module_id, port_id, group_idx)
161
+ """
162
+
163
+ :type: P4G_RAW_UTILIZATION
164
+ """
165
+
166
+ self.download_request = GDownloadRequestRaw(conn, module_id, port_id, group_idx)
167
+ """Download request.
168
+
169
+ :type: GDownloadRequestRaw
170
+ """
171
+
172
+ self.payload = GPayloadRaw(conn, module_id, port_id, group_idx)
173
+ """Payload configuration.
174
+
175
+ :type: GPayloadRaw
176
+ """
177
+
178
+ self.connection = GConnectionRaw(conn, module_id, port_id, group_idx)
179
+ """Connection configuration.
180
+
181
+ :type: GConnectionRaw
182
+ """
183
+
184
+ self.bursty = GBurstyRaw(conn, module_id, port_id, group_idx)
185
+ """Burst configuration.
186
+
187
+ :type: GBurstyRaw
188
+ """
189
+
190
+ self.tx = GTransmitRaw(conn, module_id, port_id, group_idx)
191
+ """Transmit configuration.
192
+
193
+ :type: GTransmitRaw
194
+ """
195
+
196
+ self.transaction_counter = GCountersTransaction(conn, module_id, port_id, group_idx)
197
+ """Transaction counters.
198
+
199
+ :type: GCountersTransaction
200
+ """
@@ -0,0 +1,109 @@
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
+ P4G_REPLAY_FILE_INDICES,
6
+ P4G_REPLAY_FILE_NAME,
7
+ P4G_REPLAY_FILE_CLEAR,
8
+ P4G_REPLAY_UTILIZATION,
9
+ P4G_REPLAY_USER_INCARNATION,
10
+ P4G_REPLAY_USER_REPETITIONS,
11
+ P4G_APP_REPLAY_COUNTERS,
12
+ # P4G_REPLAY_SCHEDULING, # TODO: need to implement
13
+ # P4G_REPLAY_SYNCHRONIZATION, # TODO: need to implement
14
+ )
15
+
16
+
17
+ class GFilesReplay:
18
+ """PCAP replay file configuration"""
19
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
20
+ self.__conn = conn
21
+ self.__module_id = module_id
22
+ self.__port_id = port_id
23
+ self.__group_idx = group_idx
24
+ self.indices = P4G_REPLAY_FILE_INDICES(conn, module_id, port_id, group_idx)
25
+ """
26
+
27
+ :type: P4G_REPLAY_FILE_INDICES
28
+ """
29
+
30
+ def name(self, replay_file_idx: int) -> "P4G_REPLAY_FILE_NAME":
31
+ """
32
+
33
+ :type: P4G_REPLAY_FILE_NAME
34
+ """
35
+ return P4G_REPLAY_FILE_NAME(
36
+ self.__conn,
37
+ self.__module_id,
38
+ self.__port_id,
39
+ self.__group_idx,
40
+ replay_file_idx
41
+ )
42
+
43
+ async def clear_index(self, replay_file_idx: int) -> None:
44
+ """
45
+
46
+ :type: P4G_REPLAY_FILE_CLEAR
47
+ """
48
+ await P4G_REPLAY_FILE_CLEAR(
49
+ self.__conn,
50
+ self.__module_id,
51
+ self.__port_id,
52
+ replay_file_idx
53
+ ).set()
54
+
55
+
56
+ class GUserReplay:
57
+ """PCAP replay user configuration"""
58
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
59
+ self.incarnation = P4G_REPLAY_USER_INCARNATION(conn, module_id, port_id, group_idx)
60
+ """
61
+
62
+ :type: P4G_REPLAY_USER_INCARNATION
63
+ """
64
+
65
+ self.repetitions = P4G_REPLAY_USER_REPETITIONS(conn, module_id, port_id, group_idx)
66
+ """
67
+
68
+ :type: P4G_REPLAY_USER_REPETITIONS
69
+ """
70
+
71
+
72
+ class GCounters:
73
+ """PCAP replay counters"""
74
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
75
+ self.replay = P4G_APP_REPLAY_COUNTERS(conn, module_id, port_id, group_idx)
76
+ """
77
+
78
+ :type: P4G_APP_REPLAY_COUNTERS
79
+ """
80
+
81
+
82
+ class GReplay:
83
+ """PCAP replay configuration"""
84
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
85
+ self.utilization = P4G_REPLAY_UTILIZATION(conn, module_id, port_id, group_idx)
86
+ """
87
+
88
+ :type: P4G_REPLAY_UTILIZATION
89
+ """
90
+
91
+ # self.scheduling = P4G_REPLAY_SCHEDULING(conn, module_id, port_id, group_idx)
92
+ # self.synchronization = P4G_REPLAY_SYNCHRONIZATION(conn, module_id, port_id, group_idx)
93
+ self.files = GFilesReplay(conn, module_id, port_id, group_idx)
94
+ """PCAP replay file configuration.
95
+
96
+ :type: GFilesReplay
97
+ """
98
+
99
+ self.user = GUserReplay(conn, module_id, port_id, group_idx)
100
+ """PCAP replay user configuration.
101
+
102
+ :type: GUserReplay
103
+ """
104
+
105
+ self.counters = GCounters(conn, module_id, port_id, group_idx)
106
+ """PCAP replay counters.
107
+
108
+ :type: GCounters
109
+ """