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,261 @@
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_CLEAR_POST_STAT,
6
+ P4G_TCP_RTT_VALUE,
7
+ P4G_TCP_STATE_CURRENT,
8
+ P4G_TCP_STATE_TOTAL,
9
+ P4G_TCP_STATE_RATE,
10
+ P4G_TCP_RX_PAYLOAD_COUNTERS,
11
+ P4G_TCP_TX_PAYLOAD_COUNTERS,
12
+ P4G_TCP_RETRANSMIT_COUNTERS,
13
+ P4G_TCP_ERROR_COUNTERS,
14
+ P4G_TCP_MSS_TYPE,
15
+ P4G_TCP_MSS_MINMAX,
16
+ P4G_TCP_MSS_VALUE,
17
+ P4G_TCP_WINDOW_SIZE,
18
+ P4G_TCP_DUP_THRES,
19
+ P4G_TCP_SYN_RTO,
20
+ P4G_TCP_RTO,
21
+ P4G_TCP_CONGESTION_MODE,
22
+ P4G_TCP_WINDOW_SCALING,
23
+ P4G_TCP_RTO_MINMAX,
24
+ P4G_TCP_RTO_PROLONGED_MODE,
25
+ P4G_TCP_ICWND_CALC_METHOD,
26
+ P4G_TCP_ISSTHRESH,
27
+ P4G_TCP_ACK_FREQUENCY,
28
+ P4G_TCP_ACK_TIMEOUT,
29
+ P4G_TCP_ESTABLISH_HIST,
30
+ P4G_TCP_CLOSE_HIST,
31
+ P4G_TCP_RX_TOTAL_BYTES_HIST,
32
+ P4G_TCP_RX_GOOD_BYTES_HIST,
33
+ P4G_TCP_TX_TOTAL_BYTES_HIST,
34
+ P4G_TCP_TX_GOOD_BYTES_HIST,
35
+ P4G_TCP_RX_PACKET_COUNTERS,
36
+ P4G_TCP_TX_PACKET_COUNTERS,
37
+ )
38
+
39
+
40
+ class GAckTcp:
41
+ """TCP ACK configuration"""
42
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
43
+ self.duplicate_tresholds = P4G_TCP_DUP_THRES(conn, module_id, port_id, group_idx)
44
+ """
45
+ Representation of P4G_TCP_DUP_THRES
46
+ """
47
+ self.frequency = P4G_TCP_ACK_FREQUENCY(conn, module_id, port_id, group_idx)
48
+ """
49
+ Representation of P4G_TCP_ACK_FREQUENCY
50
+ """
51
+ self.timeout = P4G_TCP_ACK_TIMEOUT(conn, module_id, port_id, group_idx)
52
+ """
53
+ Representation of P4G_TCP_ACK_TIMEOUT
54
+ """
55
+
56
+
57
+ class GRetransmitionTimeoutTcp:
58
+ """TCP Retransmition Timeout configuration"""
59
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
60
+ self.syn_value = P4G_TCP_SYN_RTO(conn, module_id, port_id, group_idx)
61
+ """
62
+ Representation of P4G_TCP_SYN_RTO
63
+ """
64
+ self.value = P4G_TCP_RTO(conn, module_id, port_id, group_idx)
65
+ """
66
+ Representation of P4G_TCP_RTO
67
+ """
68
+ self.range_limits = P4G_TCP_RTO_MINMAX(conn, module_id, port_id, group_idx)
69
+ """
70
+ Representation of P4G_TCP_RTO_MINMAX
71
+ """
72
+ self.prolonged_mode = P4G_TCP_RTO_PROLONGED_MODE(conn, module_id, port_id, group_idx)
73
+ """
74
+ Representation of P4G_TCP_RTO_PROLONGED_MODE
75
+ """
76
+
77
+
78
+ class GStateCountersTcp:
79
+ """TCP State counters"""
80
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
81
+ self.current = P4G_TCP_STATE_CURRENT(conn, module_id, port_id, group_idx)
82
+ """
83
+ Representation of P4G_TCP_STATE_CURRENT
84
+ """
85
+ self.total = P4G_TCP_STATE_TOTAL(conn, module_id, port_id, group_idx)
86
+ """
87
+ Representation of P4G_TCP_STATE_TOTAL
88
+ """
89
+ self.rate = P4G_TCP_STATE_RATE(conn, module_id, port_id, group_idx)
90
+ """
91
+ Representation of P4G_TCP_STATE_RATE
92
+ """
93
+
94
+
95
+ class GMaxSegmentSize:
96
+ """TCP Max Segment Size Configuration"""
97
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
98
+ self.type = P4G_TCP_MSS_TYPE(conn, module_id, port_id, group_idx)
99
+ """
100
+ Representation of P4G_TCP_MSS_TYPE
101
+ """
102
+ self.range_limits = P4G_TCP_MSS_MINMAX(conn, module_id, port_id, group_idx)
103
+ """
104
+ Representation of P4G_TCP_MSS_MINMAX
105
+ """
106
+ self.fixed_value = P4G_TCP_MSS_VALUE(conn, module_id, port_id, group_idx)
107
+ """
108
+ Representation of P4G_TCP_MSS_VALUE
109
+ """
110
+
111
+
112
+ class GPacketCountersTcp:
113
+ """TCP Packet Counters"""
114
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
115
+ self.rx = P4G_TCP_RX_PACKET_COUNTERS(conn, module_id, port_id, group_idx)
116
+ """
117
+ Representation of P4G_TCP_RX_PACKET_COUNTERS
118
+ """
119
+ self.tx = P4G_TCP_TX_PACKET_COUNTERS(conn, module_id, port_id, group_idx)
120
+ """
121
+ Representation of P4G_TCP_TX_PACKET_COUNTERS
122
+ """
123
+
124
+
125
+ class GPayloadCountersTcp:
126
+ """TCP Payload Counters"""
127
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
128
+ self.rx = P4G_TCP_RX_PAYLOAD_COUNTERS(conn, module_id, port_id, group_idx)
129
+ """
130
+ Representation of P4G_TCP_RX_PAYLOAD_COUNTERS
131
+ """
132
+ self.tx = P4G_TCP_TX_PAYLOAD_COUNTERS(conn, module_id, port_id, group_idx)
133
+ """
134
+ Representation of P4G_TCP_TX_PAYLOAD_COUNTERS
135
+ """
136
+
137
+
138
+ class GCountersTcp:
139
+ """TCP counters"""
140
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
141
+ self.retransmission = P4G_TCP_RETRANSMIT_COUNTERS(conn, module_id, port_id, group_idx)
142
+ """
143
+ Representation of P4G_TCP_RETRANSMIT_COUNTERS
144
+ """
145
+ self.error = P4G_TCP_ERROR_COUNTERS(conn, module_id, port_id, group_idx)
146
+ """
147
+ Representation of P4G_TCP_ERROR_COUNTERS
148
+ """
149
+ self.packet = GPacketCountersTcp(conn, module_id, port_id, group_idx)
150
+ """Packet counters"""
151
+ self.payload = GPayloadCountersTcp(conn, module_id, port_id, group_idx)
152
+ """Payload counters"""
153
+ self.state = GStateCountersTcp(conn, module_id, port_id, group_idx)
154
+ """State counters"""
155
+
156
+
157
+ class GRxHistogramTcp:
158
+ """TCP RX Histogram"""
159
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
160
+ self.total_bytes = P4G_TCP_RX_TOTAL_BYTES_HIST(conn, module_id, port_id, group_idx)
161
+ """
162
+ Representation of P4G_TCP_RX_TOTAL_BYTES_HIST
163
+ """
164
+ self.good_bytes = P4G_TCP_RX_GOOD_BYTES_HIST(conn, module_id, port_id, group_idx)
165
+ """
166
+ Representation of P4G_TCP_RX_GOOD_BYTES_HIST
167
+ """
168
+
169
+
170
+ class GTxHistogramTcp:
171
+ """TCP TX Histogram"""
172
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
173
+ self.total_bytes = P4G_TCP_TX_TOTAL_BYTES_HIST(conn, module_id, port_id, group_idx)
174
+ """
175
+ Representation of P4G_TCP_TX_TOTAL_BYTES_HIST
176
+ """
177
+ self.good_bytes = P4G_TCP_TX_GOOD_BYTES_HIST(conn, module_id, port_id, group_idx)
178
+ """
179
+ Representation of P4G_TCP_TX_GOOD_BYTES_HIST
180
+ """
181
+
182
+
183
+ class GConnHistogramTcp:
184
+ """TCP Connection Histogram"""
185
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
186
+ self.establish_times = P4G_TCP_ESTABLISH_HIST(conn, module_id, port_id, group_idx)
187
+ """
188
+ Representation of P4G_TCP_ESTABLISH_HIST
189
+ """
190
+ self.close_times = P4G_TCP_CLOSE_HIST(conn, module_id, port_id, group_idx)
191
+ """
192
+ Representation of P4G_TCP_CLOSE_HIST
193
+ """
194
+
195
+
196
+ class GHistogramTcp:
197
+ """TCP histogram"""
198
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
199
+ self.connection = GConnHistogramTcp(conn, module_id, port_id, group_idx)
200
+ """TCP Connection Histogram"""
201
+ self.rx = GRxHistogramTcp(conn, module_id, port_id, group_idx)
202
+ """TCP RX Histogram"""
203
+ self.tx = GTxHistogramTcp(conn, module_id, port_id, group_idx)
204
+ """TCP TX Histogram"""
205
+
206
+
207
+ class GReceiverWindowTcp:
208
+ """TCP RWND Configuration"""
209
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
210
+ self.size = P4G_TCP_WINDOW_SIZE(conn, module_id, port_id, group_idx)
211
+ """
212
+ Representation of P4G_TCP_WINDOW_SIZE
213
+ """
214
+ self.scaling = P4G_TCP_WINDOW_SCALING(conn, module_id, port_id, group_idx)
215
+ """
216
+ Representation of P4G_TCP_WINDOW_SCALING
217
+ """
218
+
219
+
220
+ class GCongestionWindowTcp:
221
+ """TCP CWND Configuration"""
222
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
223
+ self.congestion_mode = P4G_TCP_CONGESTION_MODE(conn, module_id, port_id, group_idx)
224
+ """
225
+ Representation of P4G_TCP_CONGESTION_MODE
226
+ """
227
+ self.icwnd_calc_method = P4G_TCP_ICWND_CALC_METHOD(conn, module_id, port_id, group_idx)
228
+ """
229
+ Representation of P4G_TCP_ICWND_CALC_METHOD
230
+ """
231
+
232
+
233
+ class GTcp:
234
+ """TCP Stack Configuration"""
235
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
236
+ self.clear_post_test_statistics = P4G_CLEAR_POST_STAT(conn, module_id, port_id, group_idx)
237
+ """
238
+ Representation of P4G_CLEAR_POST_STAT
239
+ """
240
+ self.rtt_value = P4G_TCP_RTT_VALUE(conn, module_id, port_id, group_idx)
241
+ """
242
+ Representation of P4G_TCP_RTT_VALUE
243
+ """
244
+ self.iss_treshold = P4G_TCP_ISSTHRESH(conn, module_id, port_id, group_idx)
245
+ """
246
+ Representation of P4G_TCP_ISSTHRESH
247
+ """
248
+ self.mss = GMaxSegmentSize(conn, module_id, port_id, group_idx)
249
+ """Max segment size config"""
250
+ self.rto = GRetransmitionTimeoutTcp(conn, module_id, port_id, group_idx)
251
+ """Retransmission timeout config"""
252
+ self.ack = GAckTcp(conn, module_id, port_id, group_idx)
253
+ """ACK config"""
254
+ self.rwnd = GReceiverWindowTcp(conn, module_id, port_id, group_idx)
255
+ """RWND config"""
256
+ self.cwnd = GCongestionWindowTcp(conn, module_id, port_id, group_idx)
257
+ """CWND config"""
258
+ self.counters = GCountersTcp(conn, module_id, port_id, group_idx)
259
+ """Counters"""
260
+ self.histogram = GHistogramTcp(conn, module_id, port_id, group_idx)
261
+ """Histogram"""
@@ -0,0 +1,166 @@
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_TLS_ENABLE,
6
+ P4G_TLS_CIPHER_SUITES,
7
+ P4G_TLS_MAX_RECORD_SIZE,
8
+ P4G_TLS_CERTIFICATE_FILENAME,
9
+ P4G_TLS_PRIVATE_KEY_FILENAME,
10
+ P4G_TLS_DHPARAMS_FILENAME,
11
+ P4G_TLS_CLOSE_NOTIFY,
12
+ P4G_TLS_ALERT_WARNING_COUNTERS,
13
+ P4G_TLS_ALERT_FATAL_COUNTERS,
14
+ P4G_TLS_STATE_CURRENT,
15
+ P4G_TLS_STATE_TOTAL,
16
+ P4G_TLS_STATE_RATE,
17
+ P4G_TLS_RX_PAYLOAD_COUNTERS,
18
+ P4G_TLS_TX_PAYLOAD_COUNTERS,
19
+ P4G_TLS_RX_PAYLOAD_BYTES_HIST,
20
+ P4G_TLS_TX_PAYLOAD_BYTES_HIST,
21
+ P4G_TLS_HANDSHAKE_HIST,
22
+ P4G_TLS_SERVER_NAME,
23
+ P4G_TLS_PROTOCOL_VER,
24
+ P4G_TLS_MIN_REQ_PROTOCOL_VER,
25
+ )
26
+
27
+
28
+ class GCountersTlsState:
29
+ """TLS state counters"""
30
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
31
+ self.current = P4G_TLS_STATE_CURRENT(conn, module_id, port_id, group_idx)
32
+ """
33
+ Representation of P4G_TLS_STATE_CURRENT
34
+ """
35
+ self.total = P4G_TLS_STATE_TOTAL(conn, module_id, port_id, group_idx)
36
+ """
37
+ Representation of P4G_TLS_STATE_TOTAL
38
+ """
39
+ self.rate = P4G_TLS_STATE_RATE(conn, module_id, port_id, group_idx)
40
+ """
41
+ Representation of P4G_TLS_STATE_RATE
42
+ """
43
+
44
+
45
+ class GCountersTlsAlert:
46
+ """TLS alert counters"""
47
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
48
+ self.warning = P4G_TLS_ALERT_WARNING_COUNTERS(conn, module_id, port_id, group_idx)
49
+ """
50
+ Representation of P4G_TLS_ALERT_WARNING_COUNTERS
51
+ """
52
+ self.fatal = P4G_TLS_ALERT_FATAL_COUNTERS(conn, module_id, port_id, group_idx)
53
+ """
54
+ Representation of P4G_TLS_ALERT_FATAL_COUNTERS
55
+ """
56
+
57
+
58
+ class GCountersTlsPayload:
59
+ """TLS payload counters"""
60
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
61
+ self.rx = P4G_TLS_RX_PAYLOAD_COUNTERS(conn, module_id, port_id, group_idx)
62
+ """
63
+ Representation of P4G_TLS_RX_PAYLOAD_COUNTERS
64
+ """
65
+ self.tx = P4G_TLS_TX_PAYLOAD_COUNTERS(conn, module_id, port_id, group_idx)
66
+ """
67
+ Representation of P4G_TLS_TX_PAYLOAD_COUNTERS
68
+ """
69
+
70
+
71
+ class GCountersTls:
72
+ """TLS counters"""
73
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
74
+ self.alert = GCountersTlsAlert(conn, module_id, port_id, group_idx)
75
+ """TLS alert counters"""
76
+ self.payload = GCountersTlsPayload(conn, module_id, port_id, group_idx)
77
+ """TLS payload counters"""
78
+ self.state = GCountersTlsState(conn, module_id, port_id, group_idx)
79
+ """TLS state counters"""
80
+
81
+
82
+ class GHistogramTlsPayload:
83
+ """TLS payload histogram"""
84
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
85
+ self.rx_bytes = P4G_TLS_RX_PAYLOAD_BYTES_HIST(conn, module_id, port_id, group_idx)
86
+ """
87
+ Representation of P4G_TLS_RX_PAYLOAD_BYTES_HIST
88
+ """
89
+ self.tx_bytes = P4G_TLS_TX_PAYLOAD_BYTES_HIST(conn, module_id, port_id, group_idx)
90
+ """
91
+ Representation of P4G_TLS_TX_PAYLOAD_BYTES_HIST
92
+ """
93
+
94
+
95
+ class GHistogramTls:
96
+ """TLS histogram"""
97
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
98
+ self.handshake = P4G_TLS_HANDSHAKE_HIST(conn, module_id, port_id, group_idx)
99
+ """
100
+ Representation of P4G_TLS_HANDSHAKE_HIST
101
+ """
102
+ self.payload = GHistogramTlsPayload(conn, module_id, port_id, group_idx)
103
+ """TLS payload histogram"""
104
+
105
+
106
+ class GProtocolTls:
107
+ """TLS protocol version"""
108
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
109
+ self.version = P4G_TLS_PROTOCOL_VER(conn, module_id, port_id, group_idx)
110
+ """
111
+ Representation of P4G_TLS_PROTOCOL_VER
112
+ """
113
+ self.min_required_version = P4G_TLS_MIN_REQ_PROTOCOL_VER(conn, module_id, port_id, group_idx)
114
+ """
115
+ Representation of P4G_TLS_MIN_REQ_PROTOCOL_VER
116
+ """
117
+
118
+
119
+ class GFileTls:
120
+ """TLS certificate and key files"""
121
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
122
+ self.certificate_path = P4G_TLS_CERTIFICATE_FILENAME(conn, module_id, port_id, group_idx)
123
+ """
124
+ Representation of P4G_TLS_CERTIFICATE_FILENAME
125
+ """
126
+ self.private_key_path = P4G_TLS_PRIVATE_KEY_FILENAME(conn, module_id, port_id, group_idx)
127
+ """
128
+ Representation of P4G_TLS_PRIVATE_KEY_FILENAME
129
+ """
130
+ self.dhparams_path = P4G_TLS_DHPARAMS_FILENAME(conn, module_id, port_id, group_idx)
131
+ """
132
+ Representation of P4G_TLS_DHPARAMS_FILENAME
133
+ """
134
+
135
+
136
+ class GTls:
137
+ """TLS configuration"""
138
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
139
+ self.enable = P4G_TLS_ENABLE(conn, module_id, port_id, group_idx)
140
+ """
141
+ Representation of P4G_TLS_ENABLE
142
+ """
143
+ self.server_name = P4G_TLS_SERVER_NAME(conn, module_id, port_id, group_idx)
144
+ """
145
+ Representation of P4G_TLS_SERVER_NAME
146
+ """
147
+ self.close_notify = P4G_TLS_CLOSE_NOTIFY(conn, module_id, port_id, group_idx)
148
+ """
149
+ Representation of P4G_TLS_CLOSE_NOTIFY
150
+ """
151
+ self.cipher_suites = P4G_TLS_CIPHER_SUITES(conn, module_id, port_id, group_idx)
152
+ """
153
+ Representation of P4G_TLS_CIPHER_SUITES
154
+ """
155
+ self.max_record_size = P4G_TLS_MAX_RECORD_SIZE(conn, module_id, port_id, group_idx)
156
+ """
157
+ Representation of P4G_TLS_MAX_RECORD_SIZE
158
+ """
159
+ self.file = GFileTls(conn, module_id, port_id, group_idx)
160
+ """Cert and key file"""
161
+ self.protocol = GProtocolTls(conn, module_id, port_id, group_idx)
162
+ """Protocol version"""
163
+ self.counters = GCountersTls(conn, module_id, port_id, group_idx)
164
+ """Counters"""
165
+ self.histogram = GHistogramTls(conn, module_id, port_id, group_idx)
166
+ """Histogram"""
@@ -0,0 +1,112 @@
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_UDP_PACKET_SIZE_TYPE,
6
+ P4G_UDP_PACKET_SIZE_MINMAX,
7
+ P4G_UDP_PACKET_SIZE_VALUE,
8
+ P4G_UDP_STATE_CURRENT,
9
+ P4G_UDP_STATE_TOTAL,
10
+ P4G_UDP_STATE_RATE,
11
+ P4G_UDP_RX_PAYLOAD_COUNTERS,
12
+ P4G_UDP_TX_PAYLOAD_COUNTERS,
13
+ P4G_UDP_RX_BYTES_HIST,
14
+ P4G_UDP_TX_BYTES_HIST,
15
+ P4G_UDP_RX_PACKET_COUNTERS,
16
+ P4G_UDP_TX_PACKET_COUNTERS,
17
+ )
18
+
19
+
20
+ class GHistogramUdp:
21
+ """UDP histogram"""
22
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
23
+ self.rx_bytes = P4G_UDP_RX_BYTES_HIST(conn, module_id, port_id, group_idx)
24
+ """
25
+ Representation of P4G_UDP_RX_BYTES_HIST
26
+ """
27
+ self.tx_bytes = P4G_UDP_TX_BYTES_HIST(conn, module_id, port_id, group_idx)
28
+ """
29
+ Representation of P4G_UDP_TX_BYTES_HIST
30
+ """
31
+
32
+
33
+ class GPayloadCountersUdp:
34
+ """UDP payload counters"""
35
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
36
+ self.rx = P4G_UDP_RX_PAYLOAD_COUNTERS(conn, module_id, port_id, group_idx)
37
+ """
38
+ Representation of P4G_UDP_RX_PAYLOAD_COUNTERS
39
+ """
40
+ self.tx = P4G_UDP_TX_PAYLOAD_COUNTERS(conn, module_id, port_id, group_idx)
41
+ """
42
+ Representation of P4G_UDP_TX_PAYLOAD_COUNTERS
43
+ """
44
+
45
+
46
+ class GPacketCountersUdp:
47
+ """UDP packet counters"""
48
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
49
+ self.rx = P4G_UDP_RX_PACKET_COUNTERS(conn, module_id, port_id, group_idx)
50
+ """
51
+ Representation of P4G_UDP_RX_PACKET_COUNTERS
52
+ """
53
+ self.tx = P4G_UDP_TX_PACKET_COUNTERS(conn, module_id, port_id, group_idx)
54
+ """
55
+ Representation of P4G_UDP_TX_PACKET_COUNTERS
56
+ """
57
+
58
+
59
+ class GCountersUdp:
60
+ """UDP counters"""
61
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
62
+ self.payload = GPayloadCountersUdp(conn, module_id, port_id, group_idx)
63
+ """UDP payload counters"""
64
+ self.packet = GPacketCountersUdp(conn, module_id, port_id, group_idx)
65
+ """UDP packet counters"""
66
+ self.state = GStateCountersUdp(conn, module_id, port_id, group_idx)
67
+ """UDP state counters"""
68
+
69
+
70
+ class GPacketSizeUdp:
71
+ """UDP packet size"""
72
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
73
+ self.type = P4G_UDP_PACKET_SIZE_TYPE(conn, module_id, port_id, group_idx)
74
+ """
75
+ Representation of P4G_UDP_PACKET_SIZE_TYPE
76
+ """
77
+ self.range_limits = P4G_UDP_PACKET_SIZE_MINMAX(conn, module_id, port_id, group_idx)
78
+ """
79
+ Representation of P4G_UDP_PACKET_SIZE_MINMAX
80
+ """
81
+ self.value = P4G_UDP_PACKET_SIZE_VALUE(conn, module_id, port_id, group_idx)
82
+ """
83
+ Representation of P4G_UDP_PACKET_SIZE_VALUE
84
+ """
85
+
86
+
87
+ class GStateCountersUdp:
88
+ """UDP state counters"""
89
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
90
+ self.current = P4G_UDP_STATE_CURRENT(conn, module_id, port_id, group_idx)
91
+ """
92
+ Representation of P4G_UDP_STATE_CURRENT
93
+ """
94
+ self.total = P4G_UDP_STATE_TOTAL(conn, module_id, port_id, group_idx)
95
+ """
96
+ Representation of P4G_UDP_STATE_TOTAL
97
+ """
98
+ self.rate = P4G_UDP_STATE_RATE(conn, module_id, port_id, group_idx)
99
+ """
100
+ Representation of P4G_UDP_STATE_RATE
101
+ """
102
+
103
+
104
+ class GUdp:
105
+ """UDP configuration"""
106
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
107
+ self.packet_size = GPacketSizeUdp(conn, module_id, port_id, group_idx)
108
+ """UDP packet size"""
109
+ self.counters = GCountersUdp(conn, module_id, port_id, group_idx)
110
+ """UDP counters"""
111
+ self.histogram = GHistogramUdp(conn, module_id, port_id, group_idx)
112
+ """UDP histogram"""
@@ -0,0 +1,25 @@
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_USER_STATE_CURRENT,
6
+ P4G_USER_STATE_TOTAL,
7
+ P4G_USER_STATE_RATE,
8
+ )
9
+
10
+
11
+ class GUserState:
12
+ """User state counters"""
13
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
14
+ self.current = P4G_USER_STATE_CURRENT(conn, module_id, port_id, group_idx)
15
+ """
16
+ Representation of P4G_USER_STATE_CURRENT
17
+ """
18
+ self.total = P4G_USER_STATE_TOTAL(conn, module_id, port_id, group_idx)
19
+ """
20
+ Representation of P4G_USER_STATE_TOTAL
21
+ """
22
+ self.rate = P4G_USER_STATE_RATE(conn, module_id, port_id, group_idx)
23
+ """
24
+ Representation of P4G_USER_STATE_RATE
25
+ """
File without changes
@@ -0,0 +1,50 @@
1
+ from typing import (
2
+ TYPE_CHECKING,
3
+ List,
4
+ Type,
5
+ TypeVar,
6
+ )
7
+ from xoa_driver.internals.commands import (
8
+ PF_INDICES,
9
+ PF_CREATE,
10
+ PF_DELETE,
11
+ PF_ENABLE,
12
+ PF_COMMENT,
13
+ PF_CONDITION,
14
+ )
15
+ if TYPE_CHECKING:
16
+ from xoa_driver.internals.core import interfaces as itf
17
+ from xoa_driver.internals.utils import kind
18
+ from xoa_driver.internals.utils.indices import observer as idx_obs
19
+ from ..base_index import BaseIndex
20
+
21
+
22
+ FT = TypeVar("FT")
23
+
24
+
25
+ class BaseFilterIdx(BaseIndex):
26
+ """Base L23 Filter Index Manager"""
27
+ def __init__(self, conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> None:
28
+ super().__init__(conn, kind, observer)
29
+
30
+ self.comment = PF_COMMENT(conn, *kind)
31
+ """Representation of PF_COMMENT"""
32
+ self.enable = PF_ENABLE(conn, *kind)
33
+ """Representation of PF_ENABLE"""
34
+ self.condition = PF_CONDITION(conn, *kind)
35
+ """Representation of PF_CONDITION"""
36
+
37
+ async def delete(self):
38
+ """Representation of PF_DELETE"""
39
+ await PF_DELETE(self._conn, *self.kind).set()
40
+ self._observer.notify(idx_obs.IndexEvents.DEL, self)
41
+
42
+ @classmethod
43
+ async def _fetch(cls, conn: "itf.IConnection", module_id: int, port_id: int) -> List[int]:
44
+ resp = await PF_INDICES(conn, module_id, port_id).get()
45
+ return list(resp.filter_xindices)
46
+
47
+ @classmethod
48
+ async def _new(cls: Type[FT], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> FT:
49
+ await PF_CREATE(conn, *kind).set()
50
+ return cls(conn, kind, observer)
@@ -0,0 +1,17 @@
1
+ from typing import TYPE_CHECKING
2
+ from xoa_driver.internals.commands import PF_STRING
3
+
4
+ if TYPE_CHECKING:
5
+ from xoa_driver.internals.core import interfaces as itf
6
+ from xoa_driver.internals.utils import kind
7
+ from xoa_driver.internals.utils.indices import observer as idx_obs
8
+
9
+ from .base_filter import BaseFilterIdx
10
+
11
+
12
+ class GenuineFilterIdx(BaseFilterIdx):
13
+ """Genuine L23 Filter Index Manager"""
14
+ def __init__(self, conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> None:
15
+ super().__init__(conn, kind, observer)
16
+ self.string = PF_STRING(conn, *kind)
17
+ """Representation of PF_STRING"""
@@ -0,0 +1,44 @@
1
+ from typing import (
2
+ TYPE_CHECKING,
3
+ List,
4
+ TypeVar,
5
+ Type,
6
+ )
7
+ from xoa_driver.internals.commands import (
8
+ PL_INDICES,
9
+ PL_CREATE,
10
+ PL_DELETE,
11
+ PL_LENGTH,
12
+ )
13
+
14
+ if TYPE_CHECKING:
15
+ from xoa_driver.internals.core import interfaces as itf
16
+ from xoa_driver.internals.utils import kind
17
+ from xoa_driver.internals.utils.indices import observer as idx_obs
18
+ from .base_index import BaseIndex
19
+
20
+
21
+ LT = TypeVar("LT")
22
+
23
+
24
+ class LengthTermIdx(BaseIndex):
25
+ """L23 Length Term Index Manager"""
26
+ def __init__(self, conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> None:
27
+ super().__init__(conn, kind, observer)
28
+ self.length = PL_LENGTH(conn, *kind)
29
+ """Representation of pl_commands.PL_LENGTH"""
30
+
31
+ async def delete(self):
32
+ await PL_DELETE(self._conn, *self.kind).set()
33
+ """Representation of pl_commands.PL_DELETE"""
34
+ self._observer.notify(idx_obs.IndexEvents.DEL, self)
35
+
36
+ @classmethod
37
+ async def _fetch(cls, conn: "itf.IConnection", module_id: int, port_id: int) -> List[int]:
38
+ resp = await PL_INDICES(conn, module_id, port_id).get()
39
+ return list(resp.length_term_xindices)
40
+
41
+ @classmethod
42
+ async def _new(cls: Type[LT], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> LT:
43
+ await PL_CREATE(conn, *kind).set()
44
+ return cls(conn, kind, observer)