tdl-xoa-driver 1.2.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 (240) hide show
  1. {tdl_xoa_driver-1.2.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. {tdl_xoa_driver-1.2.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/WHEEL +1 -1
  4. xoa_driver/__init__.py +2 -2
  5. xoa_driver/enums.py +2 -0
  6. xoa_driver/functions/anlt.py +2 -2
  7. xoa_driver/functions/exceptions.py +7 -0
  8. xoa_driver/functions/mgmt.py +62 -25
  9. xoa_driver/hlfuncs.py +1 -1
  10. xoa_driver/internals/commands/enums.py +10 -1
  11. xoa_driver/internals/commands/m_commands.py +35 -3
  12. xoa_driver/internals/commands/p_commands.py +12 -10
  13. xoa_driver/internals/commands/pt_commands.py +21 -1
  14. xoa_driver/internals/commands/px_commands.py +1686 -6
  15. xoa_driver/internals/core/transporter/_request_id_counter.py +1 -1
  16. xoa_driver/internals/core/transporter/protocol/payload/__init__.py +3 -1
  17. xoa_driver/internals/core/transporter/protocol/payload/field.py +41 -0
  18. xoa_driver/internals/core/transporter/protocol/payload/types.py +19 -0
  19. xoa_driver/internals/{hli_v1 → hli}/indices/filter/base_filter.py +1 -1
  20. xoa_driver/internals/{hli_v1 → hli}/indices/length_term.py +1 -1
  21. xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/base_macsecsc.py +2 -2
  22. xoa_driver/internals/{hli_v1 → hli}/indices/match_term.py +1 -1
  23. xoa_driver/internals/{hli_v1 → hli}/indices/port_dataset.py +1 -1
  24. xoa_driver/internals/{hli_v1 → hli}/indices/streams/base_stream.py +1 -1
  25. xoa_driver/internals/{hli_v1 → hli}/modules/module_chimera.py +20 -15
  26. xoa_driver/internals/{hli_v1 → hli}/modules/module_l47.py +1 -1
  27. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_combi.py +1 -1
  28. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_d.py +1 -1
  29. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_e.py +1 -1
  30. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_f.py +1 -1
  31. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_g.py +17 -2
  32. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_h.py +1 -1
  33. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_i.py +1 -1
  34. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_j.py +1 -1
  35. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_k.py +1 -1
  36. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_l.py +1 -1
  37. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_l1.py +1 -1
  38. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_m.py +1 -1
  39. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_n.py +1 -1
  40. xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/module_l23_base.py +18 -12
  41. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_l23.py +3 -3
  42. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_l23_genuine.py +4 -4
  43. xoa_driver/internals/hli/ports/port_l23/bases/port_transceiver.py +247 -0
  44. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_transmission_statistics.py +1 -1
  45. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/port_chimera.py +1 -1
  46. xoa_driver/internals/{hli_v2 → hli}/ports/port_l23/family_g.py +5 -0
  47. xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/port_l23ve.py +2 -2
  48. xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/main.py +2 -2
  49. xoa_driver/internals/{hli_v1 → hli}/testers/l23_tester.py +1 -1
  50. xoa_driver/internals/{hli_v1 → hli}/testers/l47_tester.py +2 -2
  51. xoa_driver/internals/state_storage/modules_state.py +1 -1
  52. xoa_driver/misc.py +12 -17
  53. xoa_driver/modules.py +18 -22
  54. xoa_driver/ports.py +20 -20
  55. xoa_driver/testers.py +4 -8
  56. tdl_xoa_driver-1.2.0.dist-info/RECORD +0 -325
  57. xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +0 -117
  58. xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +0 -77
  59. xoa_driver/internals/hli_v2/__init__.py +0 -0
  60. xoa_driver/internals/hli_v2/indices/__init__.py +0 -0
  61. xoa_driver/internals/hli_v2/indices/base_index.py +0 -39
  62. xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
  63. xoa_driver/internals/hli_v2/indices/connection_group/cg.py +0 -115
  64. xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +0 -59
  65. xoa_driver/internals/hli_v2/indices/connection_group/l2.py +0 -71
  66. xoa_driver/internals/hli_v2/indices/connection_group/l3.py +0 -96
  67. xoa_driver/internals/hli_v2/indices/connection_group/raw.py +0 -148
  68. xoa_driver/internals/hli_v2/indices/connection_group/replay.py +0 -89
  69. xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +0 -261
  70. xoa_driver/internals/hli_v2/indices/connection_group/tls.py +0 -166
  71. xoa_driver/internals/hli_v2/indices/connection_group/udp.py +0 -112
  72. xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +0 -25
  73. xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
  74. xoa_driver/internals/hli_v2/indices/filter/base_filter.py +0 -50
  75. xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +0 -17
  76. xoa_driver/internals/hli_v2/indices/length_term.py +0 -44
  77. xoa_driver/internals/hli_v2/indices/match_term.py +0 -49
  78. xoa_driver/internals/hli_v2/indices/port_dataset.py +0 -53
  79. xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
  80. xoa_driver/internals/hli_v2/indices/streams/base_stream.py +0 -234
  81. xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +0 -32
  82. xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
  83. xoa_driver/internals/hli_v2/modules/__interfaces.py +0 -21
  84. xoa_driver/internals/hli_v2/modules/base_module.py +0 -125
  85. xoa_driver/internals/hli_v2/modules/module_chimera.py +0 -358
  86. xoa_driver/internals/hli_v2/modules/module_l23ve.py +0 -58
  87. xoa_driver/internals/hli_v2/modules/module_l47.py +0 -230
  88. xoa_driver/internals/hli_v2/modules/module_l47ve.py +0 -8
  89. xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
  90. xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +0 -73
  91. xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +0 -75
  92. xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +0 -85
  93. xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +0 -144
  94. xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +0 -84
  95. xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +0 -40
  96. xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +0 -25
  97. xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +0 -25
  98. xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +0 -39
  99. xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +0 -55
  100. xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +0 -797
  101. xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +0 -25
  102. xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +0 -40
  103. xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +0 -339
  104. xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
  105. xoa_driver/internals/hli_v2/ports/base_port.py +0 -105
  106. xoa_driver/internals/hli_v2/ports/port_l23/__init__.py +0 -0
  107. xoa_driver/internals/hli_v2/ports/port_l23/bases/__init__.py +0 -0
  108. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_capture.py +0 -64
  109. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +0 -441
  110. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +0 -172
  111. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +0 -156
  112. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +0 -117
  113. xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +0 -59
  114. xoa_driver/internals/hli_v2/ports/port_l23/chimera/__init__.py +0 -0
  115. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  116. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/_utils.py +0 -15
  117. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +0 -340
  118. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +0 -99
  119. xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +0 -36
  120. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +0 -116
  121. xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +0 -102
  122. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +0 -113
  123. xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +0 -420
  124. xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +0 -22
  125. xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +0 -22
  126. xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +0 -36
  127. xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +0 -49
  128. xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +0 -96
  129. xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +0 -144
  130. xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +0 -60
  131. xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +0 -66
  132. xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +0 -53
  133. xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +0 -58
  134. xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +0 -67
  135. xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +0 -149
  136. xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +0 -28
  137. xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +0 -22
  138. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +0 -342
  139. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +0 -50
  140. xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +0 -65
  141. xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +0 -81
  142. xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
  143. xoa_driver/internals/hli_v2/ports/port_l47/counters.py +0 -146
  144. xoa_driver/internals/hli_v2/ports/port_l47/main.py +0 -137
  145. xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +0 -20
  146. xoa_driver/internals/hli_v2/revisions.py +0 -11
  147. xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
  148. xoa_driver/internals/hli_v2/testers/_base_tester.py +0 -207
  149. xoa_driver/internals/hli_v2/testers/genuine/__init__.py +0 -0
  150. xoa_driver/internals/hli_v2/testers/genuine/l_23/__init__.py +0 -0
  151. xoa_driver/internals/hli_v2/testers/genuine/l_23/health.py +0 -16
  152. xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +0 -34
  153. xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +0 -50
  154. xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +0 -26
  155. xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +0 -38
  156. xoa_driver/internals/hli_v2/testers/l23_tester.py +0 -159
  157. xoa_driver/internals/hli_v2/testers/l23ve_tester.py +0 -98
  158. xoa_driver/internals/hli_v2/testers/l47_tester.py +0 -95
  159. xoa_driver/internals/hli_v2/testers/l47ve_tester.py +0 -50
  160. xoa_driver/v2/__init__.py +0 -11
  161. xoa_driver/v2/misc.py +0 -77
  162. xoa_driver/v2/modules.py +0 -308
  163. xoa_driver/v2/ports.py +0 -232
  164. xoa_driver/v2/testers.py +0 -24
  165. {tdl_xoa_driver-1.2.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/licenses/LICENSE +0 -0
  166. {tdl_xoa_driver-1.2.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/top_level.txt +0 -0
  167. /xoa_driver/internals/{hli_v1 → hli}/__init__.py +0 -0
  168. /xoa_driver/internals/{hli_v1 → hli}/indices/__init__.py +0 -0
  169. /xoa_driver/internals/{hli_v1 → hli}/indices/base_index.py +0 -0
  170. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/__init__.py +0 -0
  171. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/cg.py +0 -0
  172. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/histogram.py +0 -0
  173. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/l2.py +0 -0
  174. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/l3.py +0 -0
  175. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/raw.py +0 -0
  176. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/replay.py +0 -0
  177. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/tcp.py +0 -0
  178. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/tls.py +0 -0
  179. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/udp.py +0 -0
  180. /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/user_state.py +0 -0
  181. /xoa_driver/internals/{hli_v1 → hli}/indices/filter/__init__.py +0 -0
  182. /xoa_driver/internals/{hli_v1 → hli}/indices/filter/genuine_filter.py +0 -0
  183. /xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/__init__.py +0 -0
  184. /xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/genuine_macsecsc.py +0 -0
  185. /xoa_driver/internals/{hli_v1 → hli}/indices/streams/__init__.py +0 -0
  186. /xoa_driver/internals/{hli_v1 → hli}/indices/streams/genuine_stream.py +0 -0
  187. /xoa_driver/internals/{hli_v1 → hli}/modules/__init__.py +0 -0
  188. /xoa_driver/internals/{hli_v1 → hli}/modules/__interfaces.py +0 -0
  189. /xoa_driver/internals/{hli_v1 → hli}/modules/base_module.py +0 -0
  190. /xoa_driver/internals/{hli_v1 → hli}/modules/module_l23ve.py +0 -0
  191. /xoa_driver/internals/{hli_v1 → hli}/modules/module_l47ve.py +0 -0
  192. /xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/__init__.py +0 -0
  193. /xoa_driver/internals/{hli_v1 → hli}/ports/__init__.py +0 -0
  194. /xoa_driver/internals/{hli_v1 → hli}/ports/base_port.py +0 -0
  195. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/__init__.py +0 -0
  196. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/__init__.py +0 -0
  197. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_capture.py +0 -0
  198. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_reception_statistics.py +0 -0
  199. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/__init__.py +0 -0
  200. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
  201. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/_utils.py +0 -0
  202. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/general.py +0 -0
  203. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/shadow.py +0 -0
  204. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/working.py +0 -0
  205. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/pe_custom_distribution.py +0 -0
  206. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/pe_distribution.py +0 -0
  207. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/port_emulation.py +0 -0
  208. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/reception_statistics.py +0 -0
  209. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/transmission_statistics.py +0 -0
  210. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_combi.py +0 -0
  211. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_d.py +0 -0
  212. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_e.py +0 -0
  213. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_f.py +0 -0
  214. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_h.py +0 -0
  215. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_i.py +0 -0
  216. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_j.py +0 -0
  217. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_k.py +0 -0
  218. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_l.py +0 -0
  219. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_l1.py +0 -0
  220. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_m.py +0 -0
  221. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/fault_jkl.py +0 -0
  222. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/freya_l1.py +0 -0
  223. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_ghijkl.py +0 -0
  224. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_ijkl_chimera.py +0 -0
  225. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_l.py +0 -0
  226. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/__init__.py +0 -0
  227. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/counters.py +0 -0
  228. /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/packet_engine.py +0 -0
  229. /xoa_driver/internals/{hli_v1 → hli}/revisions.py +0 -0
  230. /xoa_driver/internals/{hli_v1 → hli}/testers/__init__.py +0 -0
  231. /xoa_driver/internals/{hli_v1 → hli}/testers/_base_tester.py +0 -0
  232. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/__init__.py +0 -0
  233. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/__init__.py +0 -0
  234. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/health.py +0 -0
  235. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/rest_api.py +0 -0
  236. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/time_keeper.py +0 -0
  237. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/upload_file.py +0 -0
  238. /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/management_interface.py +0 -0
  239. /xoa_driver/internals/{hli_v1 → hli}/testers/l23ve_tester.py +0 -0
  240. /xoa_driver/internals/{hli_v1 → hli}/testers/l47ve_tester.py +0 -0
@@ -1,115 +0,0 @@
1
- from typing import (
2
- final,
3
- List,
4
- Type,
5
- TypeVar,
6
- TYPE_CHECKING,
7
- )
8
-
9
- from xoa_driver.internals.commands import (
10
- P4G_INDICES,
11
- P4G_CREATE,
12
- P4G_DELETE,
13
- P4G_ENABLE,
14
- P4G_COMMENT,
15
- P4G_CLEAR_COUNTERS,
16
- P4G_ROLE,
17
- P4G_LP_TIME_SCALE,
18
- P4G_LP_SHAPE,
19
- P4G_TEST_APPLICATION,
20
- P4G_L4_PROTOCOL,
21
- )
22
- if TYPE_CHECKING:
23
- from xoa_driver.internals.core import interfaces as itf
24
- from xoa_driver.internals.utils import kind
25
- from xoa_driver.internals.utils.indices import observer as idx_obs
26
- from .tls import GTls
27
- from .l2 import GL2
28
- from .raw import GRaw
29
- from .tcp import GTcp
30
- from .udp import GUdp
31
- from .replay import GReplay
32
- from .l3 import GL3
33
- from .user_state import GUserState
34
- from .histogram import GHistogram
35
-
36
- from ..base_index import BaseIndex
37
-
38
-
39
- class GCounters:
40
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
41
- self.clear = P4G_CLEAR_COUNTERS(conn, module_id, port_id, group_idx)
42
-
43
-
44
- class GLoadProfile:
45
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
46
- self.time_scale = P4G_LP_TIME_SCALE(conn, module_id, port_id, group_idx)
47
- self.shape = P4G_LP_SHAPE(conn, module_id, port_id, group_idx)
48
-
49
-
50
- CG = TypeVar("CG")
51
-
52
-
53
- @final
54
- class ConnectionGroupIdx(BaseIndex):
55
- """L47 Connection Group Index Manager"""
56
- def __init__(self, conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> None:
57
- super().__init__(conn, kind, observer)
58
-
59
- self.comment = P4G_COMMENT(self._conn, *kind)
60
- """
61
- Representation of p4g_commands.P4G_COMMENT
62
- """
63
- self.status = P4G_ENABLE(self._conn, *kind)
64
- """
65
- Representation of p4g_commands.P4G_ENABLE
66
- """
67
- self.role = P4G_ROLE(self._conn, *kind)
68
- """
69
- Representation of p4g_commands.P4G_ROLE
70
- """
71
- self.layer4_protocol = P4G_L4_PROTOCOL(self._conn, *kind)
72
- """
73
- Representation of p4g_commands.P4G_L4_PROTOCOL
74
- """
75
- self.test_application = P4G_TEST_APPLICATION(self._conn, *kind)
76
- """
77
- Representation of p4g_commands.P4G_TEST_APPLICATION
78
- """
79
-
80
- self.tls = GTls(self._conn, *kind)
81
- """TLS configurations."""
82
- self.l2 = GL2(self._conn, *kind)
83
- """L2 configurations."""
84
- self.raw = GRaw(self._conn, *kind)
85
- """Raw configurations."""
86
- self.tcp = GTcp(self._conn, *kind)
87
- """TCP configurations."""
88
- self.udp = GUdp(self._conn, *kind)
89
- """UDP configurations."""
90
- self.replay = GReplay(self._conn, *kind)
91
- """Replay configurations."""
92
- self.l3 = GL3(self._conn, *kind)
93
- """L3 configurations."""
94
- self.user_state = GUserState(self._conn, *kind)
95
- """User state configurations."""
96
- self.histogram = GHistogram(self._conn, *kind)
97
- """Histogram configurations."""
98
- self.counters = GCounters(self._conn, *kind)
99
- """Counters."""
100
- self.load_profile = GLoadProfile(self._conn, *kind)
101
- """Load Profile configurations."""
102
-
103
- async def delete(self):
104
- await P4G_DELETE(self._conn, *self.kind).set()
105
- self._observer.notify(idx_obs.IndexEvents.DEL, self)
106
-
107
- @classmethod
108
- async def _fetch(cls, conn: "itf.IConnection", module_id: int, port_id: int) -> List[int]:
109
- resp = await P4G_INDICES(conn, module_id, port_id).get()
110
- return list(resp.group_identifiers)
111
-
112
- @classmethod
113
- async def _new(cls: Type[CG], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> CG:
114
- await P4G_CREATE(conn, *kind).set()
115
- return cls(conn, kind, observer)
@@ -1,59 +0,0 @@
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_TIME_HIST_CONF,
6
- P4G_PAYLOAD_HIST_CONF,
7
- P4G_TRANSACTION_HIST_CONF,
8
- P4G_APP_TRANSACTION_HIST,
9
- P4G_RECALC_TIME_HIST,
10
- P4G_RECALC_PAYLOAD_HIST,
11
- P4G_RECALC_TRANSACTION_HIST,
12
- )
13
-
14
-
15
- class GConfigHistogram:
16
- """L47 Histogram Config"""
17
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
18
- self.time = P4G_TIME_HIST_CONF(conn, module_id, port_id, group_idx)
19
- """
20
- Representation of P4G_TIME_HIST_CONF
21
- """
22
- self.payload = P4G_PAYLOAD_HIST_CONF(conn, module_id, port_id, group_idx)
23
- """
24
- Representation of P4G_PAYLOAD_HIST_CONF
25
- """
26
- self.transaction = P4G_TRANSACTION_HIST_CONF(conn, module_id, port_id, group_idx)
27
- """
28
- Representation of P4G_TRANSACTION_HIST_CONF
29
- """
30
-
31
-
32
- class GRecalculatesHistogram:
33
- """L47 Histogram Recalculation."""
34
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
35
- self.time = P4G_RECALC_TIME_HIST(conn, module_id, port_id, group_idx)
36
- """
37
- Representation of P4G_RECALC_TIME_HIST
38
- """
39
- self.payload = P4G_RECALC_PAYLOAD_HIST(conn, module_id, port_id, group_idx)
40
- """
41
- Representation of P4G_RECALC_PAYLOAD_HIST
42
- """
43
- self.transaction = P4G_RECALC_TRANSACTION_HIST(conn, module_id, port_id, group_idx)
44
- """
45
- Representation of P4G_RECALC_TRANSACTION_HIST
46
- """
47
-
48
-
49
- class GHistogram:
50
- """L47 Histogram."""
51
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
52
- self.transaction = P4G_APP_TRANSACTION_HIST(conn, module_id, port_id, group_idx)
53
- """
54
- Representation of P4G_APP_TRANSACTION_HIST
55
- """
56
- self.recalculates = GRecalculatesHistogram(conn, module_id, port_id, group_idx)
57
- """L47 Histogram Recalculation."""
58
- self.config = GConfigHistogram(conn, module_id, port_id, group_idx)
59
- """L47 Histogram Config"""
@@ -1,71 +0,0 @@
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
- """
21
- Representation of P4G_L2_CLIENT_MAC
22
- """
23
- self.server = P4G_L2_SERVER_MAC(conn, module_id, port_id, group_idx)
24
- """
25
- Representation of P4G_L2_SERVER_MAC
26
- """
27
-
28
-
29
- class GGatewayL2:
30
- """L2 Gateway"""
31
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
32
- self.use = P4G_L2_USE_GW(conn, module_id, port_id, group_idx)
33
- """
34
- Representation of P4G_L2_USE_GW
35
- """
36
- self.ipv4 = P4G_L2_GW(conn, module_id, port_id, group_idx)
37
- """
38
- Representation of P4G_L2_GW
39
- """
40
- self.ipv6 = P4G_L2_IPV6_GW(conn, module_id, port_id, group_idx)
41
- """
42
- Representation of P4G_L2_IPV6_GW
43
- """
44
-
45
-
46
- class GVlanL2:
47
- """L2 VLAN"""
48
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
49
- self.enable = P4G_VLAN_ENABLE(conn, module_id, port_id, group_idx)
50
- """
51
- Representation of P4G_VLAN_ENABLE
52
- """
53
- self.tci = P4G_VLAN_TCI(conn, module_id, port_id, group_idx)
54
- """
55
- Representation of P4G_VLAN_TCI
56
- """
57
-
58
-
59
- class GL2:
60
- """L2 Configurations"""
61
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
62
- self.address_resolve = P4G_L2_USE_ADDRESS_RES(conn, module_id, port_id, group_idx)
63
- """
64
- Representation of P4G_L2_USE_ADDRESS_RES
65
- """
66
- self.mac = GMacL2(conn, module_id, port_id, group_idx)
67
- """L2 MAC"""
68
- self.gateway = GGatewayL2(conn, module_id, port_id, group_idx)
69
- """L2 Gateway"""
70
- self.vlan = GVlanL2(conn, module_id, port_id, group_idx)
71
- """L2 VLAN"""
@@ -1,96 +0,0 @@
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
- """
26
- Representation P4G_CLIENT_RANGE
27
- """
28
- self.server_range = P4G_SERVER_RANGE(conn, module_id, port_id, group_idx)
29
- """
30
- Representation P4G_SERVER_RANGE
31
- """
32
-
33
-
34
- class GIPv6L3:
35
- """L3 IPv6"""
36
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
37
- self.client_range = P4G_IPV6_CLIENT_RANGE(conn, module_id, port_id, group_idx)
38
- """
39
- Representation P4G_IPV6_CLIENT_RANGE
40
- """
41
- self.server_range = P4G_IPV6_SERVER_RANGE(conn, module_id, port_id, group_idx)
42
- """
43
- Representation P4G_IPV6_SERVER_RANGE
44
- """
45
- self.traffic_class = P4G_IPV6_TRAFFIC_CLASS(conn, module_id, port_id, group_idx)
46
- """
47
- Representation P4G_IPV6_TRAFFIC_CLASS
48
- """
49
- self.flow_label = P4G_IPV6_FLOW_LABEL(conn, module_id, port_id, group_idx)
50
- """
51
- Representation P4G_IPV6_FLOW_LABEL
52
- """
53
-
54
-
55
- class GDifferentialServiceL3:
56
- """L3 Differential Service"""
57
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
58
- self.type = P4G_IP_DS_TYPE(conn, module_id, port_id, group_idx)
59
- """
60
- Representation P4G_IP_DS_TYPE
61
- """
62
- self.value = P4G_IP_DS_VALUE(conn, module_id, port_id, group_idx)
63
- """
64
- Representation P4G_IP_DS_VALUE
65
- """
66
- self.mask = P4G_IP_DS_MASK(conn, module_id, port_id, group_idx)
67
- """
68
- Representation P4G_IP_DS_MASK
69
- """
70
- self.range_limits = P4G_IP_DS_MINMAX(conn, module_id, port_id, group_idx)
71
- """
72
- Representation P4G_IP_DS_MINMAX
73
- """
74
- self.step = P4G_IP_DS_STEP(conn, module_id, port_id, group_idx)
75
- """
76
- Representation P4G_IP_DS_STEP
77
- """
78
-
79
-
80
- class GL3:
81
- """L3 Configurations"""
82
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
83
- self.ip_version = P4G_IP_VERSION(conn, module_id, port_id, group_idx)
84
- """
85
- Representation P4G_IP_VERSION
86
- """
87
- self.ipv4 = GIPv4L3(conn, module_id, port_id, group_idx)
88
- """L3 IPv4 Configurations"""
89
- self.ipv6 = GIPv6L3(conn, module_id, port_id, group_idx)
90
- """L3 IPv6 Configurations"""
91
- self.diffserv = GDifferentialServiceL3(conn, module_id, port_id, group_idx)
92
- """L3 IPv6 DS Configurations"""
93
- self.nat = P4G_NAT(conn, module_id, port_id, group_idx) # TODO: maybe to add extra logic for this command based on the description
94
- """
95
- Representation P4G_NAT
96
- """
@@ -1,148 +0,0 @@
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
- Representation of P4G_RAW_PAYLOAD_TYPE
33
- """
34
- self.total_length = P4G_RAW_PAYLOAD_TOTAL_LEN(conn, module_id, port_id, group_idx)
35
- """
36
- Representation of P4G_RAW_PAYLOAD_TOTAL_LEN
37
- """
38
- self.rx_length = P4G_RAW_RX_PAYLOAD_LEN(conn, module_id, port_id, group_idx)
39
- """
40
- Representation of P4G_RAW_RX_PAYLOAD_LEN
41
- """
42
- self.content = P4G_RAW_PAYLOAD(conn, module_id, port_id, group_idx)
43
- """
44
- Representation of P4G_RAW_PAYLOAD
45
- """
46
- self.repeat_length = P4G_RAW_PAYLOAD_REPEAT_LEN(conn, module_id, port_id, group_idx)
47
- """
48
- Representation of P4G_RAW_PAYLOAD_REPEAT_LEN
49
- """
50
-
51
-
52
- class GConnectionRaw:
53
- """Connection settings of Raw type of test application"""
54
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
55
- self.incarnation = P4G_RAW_CONN_INCARNATION(conn, module_id, port_id, group_idx)
56
- """
57
- Representation of P4G_RAW_CONN_INCARNATION
58
- """
59
- self.repetitions = P4G_RAW_CONN_REPETITIONS(conn, module_id, port_id, group_idx)
60
- """
61
- Representation of P4G_RAW_CONN_REPETITIONS
62
- """
63
- self.lifetime = P4G_RAW_CONN_LIFETIME(conn, module_id, port_id, group_idx)
64
- """
65
- Representation of P4G_RAW_CONN_LIFETIME
66
- """
67
- self.close_condition = P4G_RAW_CLOSE_CONN(conn, module_id, port_id, group_idx)
68
- """
69
- Representation of P4G_RAW_CLOSE_CONN
70
- """
71
-
72
-
73
- class GBurstyRaw:
74
- """Burst settings of Raw type of test application"""
75
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
76
- self.transmission = P4G_RAW_BURSTY_TX(conn, module_id, port_id, group_idx)
77
- """
78
- Representation of P4G_RAW_BURSTY_TX
79
- """
80
- self.config = P4G_RAW_BURSTY_CONF(conn, module_id, port_id, group_idx)
81
- """
82
- Representation of P4G_RAW_BURSTY_CONF
83
- """
84
-
85
-
86
- class GTransmitRaw:
87
- """Tranmission settings of Raw type of test application"""
88
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
89
- self.during_ramp = P4G_RAW_TX_DURING_RAMP(conn, module_id, port_id, group_idx)
90
- """
91
- Representation of P4G_RAW_TX_DURING_RAMP
92
- """
93
- self.time_offset = P4G_RAW_TX_TIME_OFFSET(conn, module_id, port_id, group_idx)
94
- """
95
- Representation of P4G_RAW_TX_TIME_OFFSET
96
- """
97
-
98
-
99
- class GDownloadRequestRaw:
100
- """Download request settings."""
101
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
102
- self.server_must_wait = P4G_RAW_HAS_DOWNLOAD_REQ(conn, module_id, port_id, group_idx)
103
- """
104
- Representation of P4G_RAW_HAS_DOWNLOAD_REQ
105
- """
106
- self.transactions_number = P4G_RAW_REQUEST_REPEAT(conn, module_id, port_id, group_idx)
107
- """
108
- Representation of P4G_RAW_REQUEST_REPEAT
109
- """
110
- self.content = P4G_RAW_DOWNLOAD_REQUEST(conn, module_id, port_id, group_idx)
111
- """
112
- Representation of P4G_RAW_DOWNLOAD_REQUEST
113
- """
114
-
115
-
116
- class GCountersTransaction:
117
- """Transaction counters."""
118
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
119
- self.transaction = P4G_APP_TRANSACTION_COUNTERS(conn, module_id, port_id, group_idx)
120
- """
121
- Representation of P4G_APP_TRANSACTION_COUNTERS
122
- """
123
-
124
-
125
- class GRaw:
126
- """Raw test application configuration."""
127
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
128
- self.test_scenario = P4G_RAW_TEST_SCENARIO(conn, module_id, port_id, group_idx)
129
- """
130
- Representation of P4G_RAW_TEST_SCENARIO
131
- """
132
- self.utilization = P4G_RAW_UTILIZATION(conn, module_id, port_id, group_idx)
133
- """
134
- Representation of P4G_RAW_UTILIZATION
135
- """
136
- self.download_request = GDownloadRequestRaw(conn, module_id, port_id, group_idx)
137
- """Download request."""
138
- self.payload = GPayloadRaw(conn, module_id, port_id, group_idx)
139
- """Payload configuration."""
140
- self.connection = GConnectionRaw(conn, module_id, port_id, group_idx)
141
- """Connection configuration."""
142
- self.bursty = GBurstyRaw(conn, module_id, port_id, group_idx)
143
- """Burst configuration."""
144
- self.tx = GTransmitRaw(conn, module_id, port_id, group_idx)
145
- """Transmit configuration."""
146
-
147
- self.transaction_counter = GCountersTransaction(conn, module_id, port_id, group_idx)
148
- """Transaction counters"""
@@ -1,89 +0,0 @@
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
- Representation of P4G_REPLAY_FILE_INDICES
27
- """
28
-
29
- def name(self, replay_file_idx: int) -> "P4G_REPLAY_FILE_NAME":
30
- """
31
- Representation of P4G_REPLAY_FILE_NAME
32
- """
33
- return P4G_REPLAY_FILE_NAME(
34
- self.__conn,
35
- self.__module_id,
36
- self.__port_id,
37
- self.__group_idx,
38
- replay_file_idx
39
- )
40
-
41
- async def clear_index(self, replay_file_idx: int) -> None:
42
- """
43
- Representation of P4G_REPLAY_FILE_CLEAR
44
- """
45
- await P4G_REPLAY_FILE_CLEAR(
46
- self.__conn,
47
- self.__module_id,
48
- self.__port_id,
49
- replay_file_idx
50
- ).set()
51
-
52
-
53
- class GUserReplay:
54
- """PCAP replay user configuration"""
55
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
56
- self.incarnation = P4G_REPLAY_USER_INCARNATION(conn, module_id, port_id, group_idx)
57
- """
58
- Representation of P4G_REPLAY_USER_INCARNATION
59
- """
60
- self.repetitions = P4G_REPLAY_USER_REPETITIONS(conn, module_id, port_id, group_idx)
61
- """
62
- Representation of P4G_REPLAY_USER_REPETITIONS
63
- """
64
-
65
-
66
- class GCounters:
67
- """PCAP replay counters"""
68
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
69
- self.replay = P4G_APP_REPLAY_COUNTERS(conn, module_id, port_id, group_idx)
70
- """
71
- Representation of P4G_APP_REPLAY_COUNTERS
72
- """
73
-
74
-
75
- class GReplay:
76
- """PCAP replay configuration"""
77
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
78
- self.utilization = P4G_REPLAY_UTILIZATION(conn, module_id, port_id, group_idx)
79
- """
80
- Representation of P4G_REPLAY_UTILIZATION
81
- """
82
- # self.scheduling = P4G_REPLAY_SCHEDULING(conn, module_id, port_id, group_idx)
83
- # self.synchronization = P4G_REPLAY_SYNCHRONIZATION(conn, module_id, port_id, group_idx)
84
- self.files = GFilesReplay(conn, module_id, port_id, group_idx)
85
- """PCAP replay file configuration"""
86
- self.user = GUserReplay(conn, module_id, port_id, group_idx)
87
- """PCAP replay user configuration"""
88
- self.counters = GCounters(conn, module_id, port_id, group_idx)
89
- """PCAP replay counters"""