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.
- tdl_xoa_driver-1.0.0b1.dist-info/LICENSE +202 -0
- tdl_xoa_driver-1.0.0b1.dist-info/METADATA +177 -0
- tdl_xoa_driver-1.0.0b1.dist-info/RECORD +325 -0
- tdl_xoa_driver-1.0.0b1.dist-info/WHEEL +5 -0
- tdl_xoa_driver-1.0.0b1.dist-info/top_level.txt +1 -0
- xoa_driver/__init__.py +2 -0
- xoa_driver/enums.py +399 -0
- xoa_driver/exceptions.py +77 -0
- xoa_driver/functions/__init__.py +0 -0
- xoa_driver/functions/anlt.py +744 -0
- xoa_driver/functions/anlt_ll_debug.py +429 -0
- xoa_driver/functions/cli.py +581 -0
- xoa_driver/functions/exceptions.py +72 -0
- xoa_driver/functions/headers.py +608 -0
- xoa_driver/functions/mgmt.py +515 -0
- xoa_driver/functions/tools.py +256 -0
- xoa_driver/hlfuncs.py +18 -0
- xoa_driver/internals/__init__.py +0 -0
- xoa_driver/internals/commands/__init__.py +31 -0
- xoa_driver/internals/commands/c_commands.py +2041 -0
- xoa_driver/internals/commands/enums.py +3289 -0
- xoa_driver/internals/commands/m4_commands.py +700 -0
- xoa_driver/internals/commands/m4e_commands.py +107 -0
- xoa_driver/internals/commands/m_commands.py +1875 -0
- xoa_driver/internals/commands/p4_commands.py +2221 -0
- xoa_driver/internals/commands/p4e_commands.py +160 -0
- xoa_driver/internals/commands/p4g_commands.py +7253 -0
- xoa_driver/internals/commands/p_commands.py +6000 -0
- xoa_driver/internals/commands/pc_commands.py +335 -0
- xoa_driver/internals/commands/pd_commands.py +355 -0
- xoa_driver/internals/commands/pe_commands.py +1018 -0
- xoa_driver/internals/commands/pec_commands.py +265 -0
- xoa_driver/internals/commands/ped_commands.py +1034 -0
- xoa_driver/internals/commands/pef_commands.py +2216 -0
- xoa_driver/internals/commands/pf_commands.py +379 -0
- xoa_driver/internals/commands/pl1_commands.py +1588 -0
- xoa_driver/internals/commands/pl_commands.py +178 -0
- xoa_driver/internals/commands/pm_commands.py +256 -0
- xoa_driver/internals/commands/pp_commands.py +2341 -0
- xoa_driver/internals/commands/pr_commands.py +812 -0
- xoa_driver/internals/commands/ps_commands.py +2311 -0
- xoa_driver/internals/commands/pt_commands.py +370 -0
- xoa_driver/internals/commands/px_commands.py +303 -0
- xoa_driver/internals/commands/subtypes.py +86 -0
- xoa_driver/internals/core/__init__.py +0 -0
- xoa_driver/internals/core/builders.py +39 -0
- xoa_driver/internals/core/exceptions.py +69 -0
- xoa_driver/internals/core/funcs.py +81 -0
- xoa_driver/internals/core/funcs.pyi +1072 -0
- xoa_driver/internals/core/interfaces.py +47 -0
- xoa_driver/internals/core/token.py +44 -0
- xoa_driver/internals/core/transporter/__init__.py +0 -0
- xoa_driver/internals/core/transporter/_processor.py +83 -0
- xoa_driver/internals/core/transporter/_publisher.py +101 -0
- xoa_driver/internals/core/transporter/_request_id_counter.py +28 -0
- xoa_driver/internals/core/transporter/_stream.py +99 -0
- xoa_driver/internals/core/transporter/_typings.py +43 -0
- xoa_driver/internals/core/transporter/exceptions.py +44 -0
- xoa_driver/internals/core/transporter/handler.py +127 -0
- xoa_driver/internals/core/transporter/logger/__init__.py +10 -0
- xoa_driver/internals/core/transporter/logger/__logger.py +94 -0
- xoa_driver/internals/core/transporter/logger/__state_off.py +32 -0
- xoa_driver/internals/core/transporter/logger/__state_on_default.py +70 -0
- xoa_driver/internals/core/transporter/logger/__state_on_loguru.py +51 -0
- xoa_driver/internals/core/transporter/logger/__state_on_user.py +48 -0
- xoa_driver/internals/core/transporter/protocol/__init__.py +0 -0
- xoa_driver/internals/core/transporter/protocol/_constants.py +77 -0
- xoa_driver/internals/core/transporter/protocol/_utils.py +59 -0
- xoa_driver/internals/core/transporter/protocol/exceptions.py +271 -0
- xoa_driver/internals/core/transporter/protocol/payload/__init__.py +70 -0
- xoa_driver/internals/core/transporter/protocol/payload/base_struct.py +283 -0
- xoa_driver/internals/core/transporter/protocol/payload/descriptor.py +119 -0
- xoa_driver/internals/core/transporter/protocol/payload/exceptions.py +20 -0
- xoa_driver/internals/core/transporter/protocol/payload/field.py +296 -0
- xoa_driver/internals/core/transporter/protocol/payload/types.py +173 -0
- xoa_driver/internals/core/transporter/protocol/payload/utils.py +53 -0
- xoa_driver/internals/core/transporter/protocol/struct_header.py +123 -0
- xoa_driver/internals/core/transporter/protocol/struct_request.py +65 -0
- xoa_driver/internals/core/transporter/protocol/struct_response.py +89 -0
- xoa_driver/internals/core/transporter/registry.py +43 -0
- xoa_driver/internals/exceptions/__init__.py +9 -0
- xoa_driver/internals/exceptions/modules.py +13 -0
- xoa_driver/internals/exceptions/testers.py +21 -0
- xoa_driver/internals/hli_v1/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/base_index.py +39 -0
- xoa_driver/internals/hli_v1/indices/connection_group/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/connection_group/cg.py +186 -0
- xoa_driver/internals/hli_v1/indices/connection_group/histogram.py +78 -0
- xoa_driver/internals/hli_v1/indices/connection_group/l2.py +94 -0
- xoa_driver/internals/hli_v1/indices/connection_group/l3.py +130 -0
- xoa_driver/internals/hli_v1/indices/connection_group/raw.py +200 -0
- xoa_driver/internals/hli_v1/indices/connection_group/replay.py +109 -0
- xoa_driver/internals/hli_v1/indices/connection_group/tcp.py +314 -0
- xoa_driver/internals/hli_v1/indices/connection_group/tls.py +198 -0
- xoa_driver/internals/hli_v1/indices/connection_group/udp.py +133 -0
- xoa_driver/internals/hli_v1/indices/connection_group/user_state.py +28 -0
- xoa_driver/internals/hli_v1/indices/filter/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/filter/base_filter.py +65 -0
- xoa_driver/internals/hli_v1/indices/filter/genuine_filter.py +20 -0
- xoa_driver/internals/hli_v1/indices/length_term.py +49 -0
- xoa_driver/internals/hli_v1/indices/macsecscs/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/macsecscs/base_macsecsc.py +224 -0
- xoa_driver/internals/hli_v1/indices/macsecscs/genuine_macsecsc.py +72 -0
- xoa_driver/internals/hli_v1/indices/match_term.py +64 -0
- xoa_driver/internals/hli_v1/indices/port_dataset.py +72 -0
- xoa_driver/internals/hli_v1/indices/streams/__init__.py +0 -0
- xoa_driver/internals/hli_v1/indices/streams/base_stream.py +405 -0
- xoa_driver/internals/hli_v1/indices/streams/genuine_stream.py +64 -0
- xoa_driver/internals/hli_v1/modules/__init__.py +0 -0
- xoa_driver/internals/hli_v1/modules/__interfaces.py +21 -0
- xoa_driver/internals/hli_v1/modules/base_module.py +138 -0
- xoa_driver/internals/hli_v1/modules/module_chimera.py +366 -0
- xoa_driver/internals/hli_v1/modules/module_l23ve.py +73 -0
- xoa_driver/internals/hli_v1/modules/module_l47.py +397 -0
- xoa_driver/internals/hli_v1/modules/module_l47ve.py +9 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/__init__.py +0 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_combi.py +83 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_d.py +75 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_e.py +85 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_f.py +145 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_g.py +84 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_h.py +40 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_i.py +25 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_j.py +25 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_k.py +39 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_l.py +55 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_l1.py +800 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_m.py +25 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/family_n.py +40 -0
- xoa_driver/internals/hli_v1/modules/modules_l23/module_l23_base.py +383 -0
- xoa_driver/internals/hli_v1/ports/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/base_port.py +125 -0
- xoa_driver/internals/hli_v1/ports/port_l23/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_capture.py +70 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23.py +527 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23_genuine.py +229 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_reception_statistics.py +231 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +117 -0
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transmission_statistics.py +131 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/general.py +396 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/shadow.py +104 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/filter_definition/working.py +36 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_custom_distribution.py +125 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/pe_distribution.py +174 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_chimera.py +119 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/port_emulation.py +244 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/reception_statistics.py +24 -0
- xoa_driver/internals/hli_v1/ports/port_l23/chimera/transmission_statistics.py +24 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_combi.py +37 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_d.py +51 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_e.py +107 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_f.py +151 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +77 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_h.py +67 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_i.py +84 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_j.py +68 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_k.py +73 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_l.py +82 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_l1.py +166 -0
- xoa_driver/internals/hli_v1/ports/port_l23/family_m.py +29 -0
- xoa_driver/internals/hli_v1/ports/port_l23/fault_jkl.py +24 -0
- xoa_driver/internals/hli_v1/ports/port_l23/freya_l1.py +722 -0
- xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ghijkl.py +369 -0
- xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_ijkl_chimera.py +60 -0
- xoa_driver/internals/hli_v1/ports/port_l23/pcs_pma_l.py +78 -0
- xoa_driver/internals/hli_v1/ports/port_l23/port_l23ve.py +101 -0
- xoa_driver/internals/hli_v1/ports/port_l47/__init__.py +0 -0
- xoa_driver/internals/hli_v1/ports/port_l47/counters.py +174 -0
- xoa_driver/internals/hli_v1/ports/port_l47/main.py +228 -0
- xoa_driver/internals/hli_v1/ports/port_l47/packet_engine.py +31 -0
- xoa_driver/internals/hli_v1/revisions.py +11 -0
- xoa_driver/internals/hli_v1/testers/__init__.py +0 -0
- xoa_driver/internals/hli_v1/testers/_base_tester.py +259 -0
- xoa_driver/internals/hli_v1/testers/genuine/__init__.py +0 -0
- xoa_driver/internals/hli_v1/testers/genuine/l_23/__init__.py +0 -0
- xoa_driver/internals/hli_v1/testers/genuine/l_23/health.py +16 -0
- xoa_driver/internals/hli_v1/testers/genuine/l_23/rest_api.py +38 -0
- xoa_driver/internals/hli_v1/testers/genuine/l_23/time_keeper.py +57 -0
- xoa_driver/internals/hli_v1/testers/genuine/l_23/upload_file.py +29 -0
- xoa_driver/internals/hli_v1/testers/genuine/management_interface.py +42 -0
- xoa_driver/internals/hli_v1/testers/l23_tester.py +196 -0
- xoa_driver/internals/hli_v1/testers/l23ve_tester.py +114 -0
- xoa_driver/internals/hli_v1/testers/l47_tester.py +106 -0
- xoa_driver/internals/hli_v1/testers/l47ve_tester.py +54 -0
- xoa_driver/internals/hli_v2/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/base_index.py +39 -0
- xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/connection_group/cg.py +115 -0
- xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +59 -0
- xoa_driver/internals/hli_v2/indices/connection_group/l2.py +71 -0
- xoa_driver/internals/hli_v2/indices/connection_group/l3.py +96 -0
- xoa_driver/internals/hli_v2/indices/connection_group/raw.py +148 -0
- xoa_driver/internals/hli_v2/indices/connection_group/replay.py +89 -0
- xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +261 -0
- xoa_driver/internals/hli_v2/indices/connection_group/tls.py +166 -0
- xoa_driver/internals/hli_v2/indices/connection_group/udp.py +112 -0
- xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +25 -0
- xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/filter/base_filter.py +50 -0
- xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +17 -0
- xoa_driver/internals/hli_v2/indices/length_term.py +44 -0
- xoa_driver/internals/hli_v2/indices/match_term.py +49 -0
- xoa_driver/internals/hli_v2/indices/port_dataset.py +53 -0
- xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/streams/base_stream.py +234 -0
- xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +32 -0
- xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
- xoa_driver/internals/hli_v2/modules/__interfaces.py +21 -0
- xoa_driver/internals/hli_v2/modules/base_module.py +125 -0
- xoa_driver/internals/hli_v2/modules/module_chimera.py +358 -0
- xoa_driver/internals/hli_v2/modules/module_l23ve.py +58 -0
- xoa_driver/internals/hli_v2/modules/module_l47.py +230 -0
- xoa_driver/internals/hli_v2/modules/module_l47ve.py +8 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +73 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +75 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +85 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +144 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +84 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +40 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +25 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +25 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +39 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +55 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +797 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +25 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +40 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +339 -0
- xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/base_port.py +105 -0
- xoa_driver/internals/hli_v2/ports/port_l23/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_capture.py +64 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +441 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +172 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +156 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +117 -0
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +59 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/_utils.py +15 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +340 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +99 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +36 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +116 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +102 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +113 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +420 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +22 -0
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +22 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +36 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +49 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +96 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +144 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_g.py +77 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +60 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +66 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +53 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +58 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +67 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +149 -0
- xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +28 -0
- xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +22 -0
- xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +342 -0
- xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +50 -0
- xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +65 -0
- xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +81 -0
- xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l47/counters.py +146 -0
- xoa_driver/internals/hli_v2/ports/port_l47/main.py +137 -0
- xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +20 -0
- xoa_driver/internals/hli_v2/revisions.py +11 -0
- xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
- xoa_driver/internals/hli_v2/testers/_base_tester.py +207 -0
- xoa_driver/internals/hli_v2/testers/genuine/__init__.py +0 -0
- xoa_driver/internals/hli_v2/testers/genuine/l_23/__init__.py +0 -0
- xoa_driver/internals/hli_v2/testers/genuine/l_23/health.py +16 -0
- xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +34 -0
- xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +50 -0
- xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +26 -0
- xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +38 -0
- xoa_driver/internals/hli_v2/testers/l23_tester.py +159 -0
- xoa_driver/internals/hli_v2/testers/l23ve_tester.py +98 -0
- xoa_driver/internals/hli_v2/testers/l47_tester.py +95 -0
- xoa_driver/internals/hli_v2/testers/l47ve_tester.py +50 -0
- xoa_driver/internals/state_storage/__init__.py +0 -0
- xoa_driver/internals/state_storage/_speed_detector.py +121 -0
- xoa_driver/internals/state_storage/modules_state.py +128 -0
- xoa_driver/internals/state_storage/ports_state.py +154 -0
- xoa_driver/internals/state_storage/testers_state.py +104 -0
- xoa_driver/internals/utils/__init__.py +0 -0
- xoa_driver/internals/utils/attributes.py +33 -0
- xoa_driver/internals/utils/cap_id.py +63 -0
- xoa_driver/internals/utils/con_traffic_light.py +88 -0
- xoa_driver/internals/utils/indices/__init__.py +0 -0
- xoa_driver/internals/utils/indices/_interfaces.py +26 -0
- xoa_driver/internals/utils/indices/header_modifier_manager.py +56 -0
- xoa_driver/internals/utils/indices/index_manager.py +95 -0
- xoa_driver/internals/utils/indices/observer.py +17 -0
- xoa_driver/internals/utils/kind.py +19 -0
- xoa_driver/internals/utils/managers/__init__.py +0 -0
- xoa_driver/internals/utils/managers/abc.py +44 -0
- xoa_driver/internals/utils/managers/exceptions.py +22 -0
- xoa_driver/internals/utils/managers/modules_manager.py +118 -0
- xoa_driver/internals/utils/managers/ports_manager.py +116 -0
- xoa_driver/internals/utils/rev_tool.py +21 -0
- xoa_driver/internals/utils/session.py +117 -0
- xoa_driver/internals/warn.py +32 -0
- xoa_driver/lli.py +15 -0
- xoa_driver/misc.py +57 -0
- xoa_driver/modules.py +448 -0
- xoa_driver/ports.py +332 -0
- xoa_driver/testers.py +37 -0
- xoa_driver/utils.py +12 -0
- xoa_driver/v2/__init__.py +11 -0
- xoa_driver/v2/misc.py +77 -0
- xoa_driver/v2/modules.py +308 -0
- xoa_driver/v2/ports.py +232 -0
- xoa_driver/v2/testers.py +24 -0
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
import functools
|
|
3
|
+
import typing
|
|
4
|
+
from typing_extensions import Self
|
|
5
|
+
from xoa_driver.internals.commands import (
|
|
6
|
+
M_LICENSE_DEMO_INFO,
|
|
7
|
+
M_LICENSE_MAINTENANCE_INFO,
|
|
8
|
+
M_LICENSE_CWB_DETECTED,
|
|
9
|
+
M_LICENSE_UPDATE,
|
|
10
|
+
M_LICENSE_UPDATE_STATUS,
|
|
11
|
+
M_LICENSE_LIST_BSON,
|
|
12
|
+
M_LICENSE_ONLINE,
|
|
13
|
+
# M4_INT, #TODO: need to implement
|
|
14
|
+
# M4_STRING, #TODO: need to implement
|
|
15
|
+
# M4_HEX, #TODO: need to implement
|
|
16
|
+
M4_SYSTEMID,
|
|
17
|
+
M4_VERSIONNO,
|
|
18
|
+
M4_SYSTEM_STATUS,
|
|
19
|
+
M4_COMPATIBLE_CLIENT_VERSION,
|
|
20
|
+
M4_TIME,
|
|
21
|
+
M4_SYSTEM_TIME,
|
|
22
|
+
M4_MEM_INFO,
|
|
23
|
+
M4_CAPTURE_SIZE,
|
|
24
|
+
M4_LICENSE_INFO,
|
|
25
|
+
M4_REPLAY_PARSE_START,
|
|
26
|
+
M4_REPLAY_PARSE_STOP,
|
|
27
|
+
M4_REPLAY_PARSE_STATE,
|
|
28
|
+
M4_REPLAY_PARSER_PARAMS,
|
|
29
|
+
M4_REPLAY_FILE_LIST_BSON,
|
|
30
|
+
M4_REPLAY_FILE_LIST,
|
|
31
|
+
M4_CAPTURE_FILE_LIST_BSON,
|
|
32
|
+
M4_CAPTURE_FILE_LIST,
|
|
33
|
+
# M4_REPLAY_FILE_INFO_BSON, #TODO: need to implement
|
|
34
|
+
M4_REPLAY_FILE_DELETE,
|
|
35
|
+
M4_CAPTURE_FILE_DELETE,
|
|
36
|
+
M4E_MODE,
|
|
37
|
+
M4E_RESERVE,
|
|
38
|
+
M4_TLS_CIPHER_SUITES,
|
|
39
|
+
)
|
|
40
|
+
from xoa_driver.internals.hli_v1 import revisions
|
|
41
|
+
from xoa_driver.internals.utils import attributes as utils
|
|
42
|
+
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
43
|
+
from xoa_driver.internals.state_storage import modules_state
|
|
44
|
+
from xoa_driver import ports
|
|
45
|
+
from . import base_module as bm
|
|
46
|
+
if typing.TYPE_CHECKING:
|
|
47
|
+
from xoa_driver.internals.core import interfaces as itf
|
|
48
|
+
from . import __interfaces as m_itf
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class License:
|
|
52
|
+
"""
|
|
53
|
+
License management of a Vulcan tester.
|
|
54
|
+
"""
|
|
55
|
+
|
|
56
|
+
def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
|
|
57
|
+
self.demo_info = M_LICENSE_DEMO_INFO(conn, module_id)
|
|
58
|
+
"""
|
|
59
|
+
Returns info about the demo status of the module.
|
|
60
|
+
|
|
61
|
+
:type: M_LICENSE_DEMO_INFO
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
self.management_info = M_LICENSE_MAINTENANCE_INFO(conn, module_id)
|
|
65
|
+
"""
|
|
66
|
+
Returns info about the maintenance license status for the module.
|
|
67
|
+
|
|
68
|
+
:type: M_LICENSE_MAINTENANCE_INFO
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
self.clock_windback = M_LICENSE_CWB_DETECTED(conn, module_id)
|
|
72
|
+
"""
|
|
73
|
+
Returns if clock-windback is detected. If clock-windback has been detected the chassis is locked and no reservations of ports can be performed.
|
|
74
|
+
|
|
75
|
+
:type: M_LICENSE_CWB_DETECTED
|
|
76
|
+
"""
|
|
77
|
+
|
|
78
|
+
self.update = M_LICENSE_UPDATE(conn, module_id)
|
|
79
|
+
"""
|
|
80
|
+
Instructs the chassis to update its local license information.
|
|
81
|
+
|
|
82
|
+
:type: M_LICENSE_UPDATE
|
|
83
|
+
"""
|
|
84
|
+
|
|
85
|
+
self.update_status = M_LICENSE_UPDATE_STATUS(conn, module_id)
|
|
86
|
+
"""
|
|
87
|
+
Returns the status of the latest license update operations.
|
|
88
|
+
|
|
89
|
+
:type: M_LICENSE_UPDATE_STATUS
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
self.list_bson = M_LICENSE_LIST_BSON(conn, module_id)
|
|
93
|
+
"""
|
|
94
|
+
Returns a list of locally stored licenses - formatted as a BSON document.
|
|
95
|
+
|
|
96
|
+
:type: M_LICENSE_LIST_BSON
|
|
97
|
+
"""
|
|
98
|
+
|
|
99
|
+
self.online_mode = M_LICENSE_ONLINE(conn, module_id)
|
|
100
|
+
"""
|
|
101
|
+
Configures the chassis in online or offline mode.
|
|
102
|
+
|
|
103
|
+
:type: M_LICENSE_ONLINE
|
|
104
|
+
"""
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
class CaptureParse:
|
|
108
|
+
"""
|
|
109
|
+
Parse a captured pcap file.
|
|
110
|
+
"""
|
|
111
|
+
|
|
112
|
+
def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
|
|
113
|
+
self.start = M4_REPLAY_PARSE_START(conn, module_id)
|
|
114
|
+
"""
|
|
115
|
+
To start parsing an uploaded Capture File (in PCAP format) intended for use in a replay test scenario.
|
|
116
|
+
|
|
117
|
+
:type: M4_REPLAY_PARSE_START
|
|
118
|
+
"""
|
|
119
|
+
|
|
120
|
+
self.stop = M4_REPLAY_PARSE_STOP(conn, module_id)
|
|
121
|
+
"""
|
|
122
|
+
To stop parsing an uploaded Capture File (in PCAP format) intended for use in a replay test scenario.
|
|
123
|
+
|
|
124
|
+
:type: M4_REPLAY_PARSE_STOP
|
|
125
|
+
"""
|
|
126
|
+
|
|
127
|
+
self.state = M4_REPLAY_PARSE_STATE(conn, module_id)
|
|
128
|
+
"""
|
|
129
|
+
Returns the state of the parser.
|
|
130
|
+
|
|
131
|
+
:type: M4_REPLAY_PARSE_STATE
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
self.parser_params = M4_REPLAY_PARSER_PARAMS(conn, module_id)
|
|
135
|
+
"""
|
|
136
|
+
Configuration of parameters for the parsing of pcap files.
|
|
137
|
+
|
|
138
|
+
:type: M4_REPLAY_PARSER_PARAMS
|
|
139
|
+
"""
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
class ReplayFile:
|
|
143
|
+
"""
|
|
144
|
+
The pcap files to replay.
|
|
145
|
+
"""
|
|
146
|
+
|
|
147
|
+
def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
|
|
148
|
+
self.list_bson = M4_REPLAY_FILE_LIST_BSON(conn, module_id)
|
|
149
|
+
"""
|
|
150
|
+
Returns a list of replay files formatted in BSON.
|
|
151
|
+
|
|
152
|
+
:type: M4_REPLAY_FILE_LIST_BSON
|
|
153
|
+
"""
|
|
154
|
+
self.list = M4_REPLAY_FILE_LIST(conn, module_id)
|
|
155
|
+
"""
|
|
156
|
+
Returns a list of replay files.
|
|
157
|
+
|
|
158
|
+
:type: M4_REPLAY_FILE_LIST
|
|
159
|
+
"""
|
|
160
|
+
# self.info_bson = M4_REPLAY_FILE_INFO_BSON(conn, module_id) # TODO: need to implement
|
|
161
|
+
|
|
162
|
+
self.delete = M4_REPLAY_FILE_DELETE(conn, module_id)
|
|
163
|
+
"""
|
|
164
|
+
Delete a replay file.
|
|
165
|
+
|
|
166
|
+
:type: M4_REPLAY_FILE_DELETE
|
|
167
|
+
"""
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
class Replay:
|
|
171
|
+
"""
|
|
172
|
+
PCAP replay settings and control.
|
|
173
|
+
"""
|
|
174
|
+
|
|
175
|
+
def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
|
|
176
|
+
self.file = ReplayFile(conn, module_id)
|
|
177
|
+
"""
|
|
178
|
+
Replay file settings and control.
|
|
179
|
+
|
|
180
|
+
:type: ReplayFile
|
|
181
|
+
"""
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
class Capture:
|
|
185
|
+
"""
|
|
186
|
+
Captured pcap file settings and control.
|
|
187
|
+
"""
|
|
188
|
+
|
|
189
|
+
def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
|
|
190
|
+
self.size = M4_CAPTURE_SIZE(conn, module_id)
|
|
191
|
+
"""
|
|
192
|
+
Specify whether to capture whole packets(large) or truncated packets.
|
|
193
|
+
|
|
194
|
+
:type: M4_CAPTURE_SIZE
|
|
195
|
+
"""
|
|
196
|
+
|
|
197
|
+
self.file_list_bson = M4_CAPTURE_FILE_LIST_BSON(conn, module_id)
|
|
198
|
+
"""
|
|
199
|
+
Returns a list of captured files formatted as a BSON.
|
|
200
|
+
|
|
201
|
+
:type: M4_CAPTURE_FILE_LIST_BSON
|
|
202
|
+
"""
|
|
203
|
+
|
|
204
|
+
self.file_list = M4_CAPTURE_FILE_LIST(conn, module_id)
|
|
205
|
+
"""
|
|
206
|
+
Returns a list of captured files.
|
|
207
|
+
|
|
208
|
+
:type: M4_CAPTURE_FILE_LIST
|
|
209
|
+
"""
|
|
210
|
+
|
|
211
|
+
self.file_delete = M4_CAPTURE_FILE_DELETE(conn, module_id)
|
|
212
|
+
"""
|
|
213
|
+
Delete a captured file.
|
|
214
|
+
|
|
215
|
+
:type: M4_CAPTURE_FILE_DELETE
|
|
216
|
+
"""
|
|
217
|
+
|
|
218
|
+
self.parse = CaptureParse(conn, module_id)
|
|
219
|
+
"""
|
|
220
|
+
Capture file parser settings.
|
|
221
|
+
|
|
222
|
+
:type: CaptureParse
|
|
223
|
+
"""
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
class PacketEngine:
|
|
227
|
+
"""
|
|
228
|
+
Packet engine.
|
|
229
|
+
"""
|
|
230
|
+
|
|
231
|
+
def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
|
|
232
|
+
self.license_info = M4_LICENSE_INFO(conn, module_id)
|
|
233
|
+
"""
|
|
234
|
+
Returns the number of available and free PE licenses.
|
|
235
|
+
|
|
236
|
+
:type: M4_LICENSE_INFO
|
|
237
|
+
"""
|
|
238
|
+
|
|
239
|
+
self.reserve = M4E_RESERVE(conn, module_id)
|
|
240
|
+
"""
|
|
241
|
+
Reserve a number of PEs so they later can be assigned to specific ports.
|
|
242
|
+
|
|
243
|
+
:type: M4E_RESERVE
|
|
244
|
+
"""
|
|
245
|
+
|
|
246
|
+
self.mode = M4E_MODE(conn, module_id)
|
|
247
|
+
"""
|
|
248
|
+
Select resource allocation mode.
|
|
249
|
+
|
|
250
|
+
:type: M4E_MODE
|
|
251
|
+
"""
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
class ModuleSystem:
|
|
255
|
+
"""
|
|
256
|
+
L47 module info.
|
|
257
|
+
"""
|
|
258
|
+
|
|
259
|
+
def __init__(self, conn: "itf.IConnection", module_id: int) -> None:
|
|
260
|
+
self.id = M4_SYSTEMID(conn, module_id)
|
|
261
|
+
"""
|
|
262
|
+
The system identifier of the module.
|
|
263
|
+
|
|
264
|
+
:type: M4_SYSTEMID
|
|
265
|
+
"""
|
|
266
|
+
|
|
267
|
+
self.status = M4_SYSTEM_STATUS(conn, module_id)
|
|
268
|
+
"""
|
|
269
|
+
The module system status in a text string.
|
|
270
|
+
|
|
271
|
+
:type: M4_SYSTEM_STATUS
|
|
272
|
+
"""
|
|
273
|
+
|
|
274
|
+
self.time = M4_SYSTEM_TIME(conn, module_id)
|
|
275
|
+
"""
|
|
276
|
+
The module system time in UTC.
|
|
277
|
+
:type: M4_SYSTEM_TIME
|
|
278
|
+
"""
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
@revisions.register_vulcan_module(rev="Xena L47 Module")
|
|
282
|
+
class ModuleL47(bm.BaseModule["modules_state.ModuleLocalState"]):
|
|
283
|
+
"""
|
|
284
|
+
This is a conceptual class of L47 test module on a Vulcan tester.
|
|
285
|
+
"""
|
|
286
|
+
|
|
287
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
288
|
+
super().__init__(conn, init_data)
|
|
289
|
+
|
|
290
|
+
self._local_states = modules_state.ModuleLocalState()
|
|
291
|
+
|
|
292
|
+
self.version_number = M4_VERSIONNO(conn, self.module_id)
|
|
293
|
+
"""
|
|
294
|
+
Version string containing a combination of information regarding the software version and the build environment. The first part of the string is the software build version.
|
|
295
|
+
|
|
296
|
+
:type: M4_VERSIONNO
|
|
297
|
+
"""
|
|
298
|
+
|
|
299
|
+
self.compatible_client_version = M4_COMPATIBLE_CLIENT_VERSION(conn, self.module_id)
|
|
300
|
+
"""
|
|
301
|
+
The recommended and required VulcanMananger client version.
|
|
302
|
+
|
|
303
|
+
:type: M4_COMPATIBLE_CLIENT_VERSION
|
|
304
|
+
"""
|
|
305
|
+
|
|
306
|
+
self.time = M4_TIME(conn, self.module_id)
|
|
307
|
+
"""
|
|
308
|
+
The module time in millisecond.
|
|
309
|
+
|
|
310
|
+
:type: M4_TIME
|
|
311
|
+
"""
|
|
312
|
+
|
|
313
|
+
self.tls_cipher = M4_TLS_CIPHER_SUITES(conn, self.module_id)
|
|
314
|
+
"""
|
|
315
|
+
The list of supported TLS Cipher Suites.
|
|
316
|
+
|
|
317
|
+
:type: M4_TLS_CIPHER_SUITES
|
|
318
|
+
"""
|
|
319
|
+
|
|
320
|
+
self.memory_info = M4_MEM_INFO(conn, self.module_id) # Not sure if suppose to be here, maybe under ModuleSystem
|
|
321
|
+
"""
|
|
322
|
+
The system memory information.
|
|
323
|
+
|
|
324
|
+
:type: M4_MEM_INFO
|
|
325
|
+
"""
|
|
326
|
+
|
|
327
|
+
self.module_system = ModuleSystem(conn, self.module_id)
|
|
328
|
+
"""L47 module info.
|
|
329
|
+
|
|
330
|
+
:type: ModuleSystem
|
|
331
|
+
"""
|
|
332
|
+
|
|
333
|
+
self.license = License(conn, self.module_id)
|
|
334
|
+
"""L47 license management.
|
|
335
|
+
|
|
336
|
+
:type: License
|
|
337
|
+
"""
|
|
338
|
+
|
|
339
|
+
self.replay = Replay(conn, self.module_id)
|
|
340
|
+
"""L47 pcap replay.
|
|
341
|
+
|
|
342
|
+
:type: Replay
|
|
343
|
+
"""
|
|
344
|
+
|
|
345
|
+
self.capture = Capture(conn, self.module_id)
|
|
346
|
+
"""L47 capture to pcap files.
|
|
347
|
+
|
|
348
|
+
:type: Capture
|
|
349
|
+
"""
|
|
350
|
+
|
|
351
|
+
self.packet_engine = PacketEngine(conn, self.module_id)
|
|
352
|
+
"""L47 packet engine.
|
|
353
|
+
|
|
354
|
+
:type: ~xoa_driver.internals.hli_v1.modules.module_l47.PacketEngine
|
|
355
|
+
"""
|
|
356
|
+
|
|
357
|
+
self.ports: pm.PortsManager[ports.PortL47] = pm.PortsManager(
|
|
358
|
+
conn=conn,
|
|
359
|
+
ports_type=ports.PortL47,
|
|
360
|
+
module_id=self.module_id,
|
|
361
|
+
ports_count=self.ports_count
|
|
362
|
+
)
|
|
363
|
+
"""
|
|
364
|
+
L47 Port index manager of this test module.
|
|
365
|
+
|
|
366
|
+
:type: PortsManager
|
|
367
|
+
"""
|
|
368
|
+
|
|
369
|
+
@property
|
|
370
|
+
def info(self) -> modules_state.ModuleLocalState:
|
|
371
|
+
"""Return the module's local state
|
|
372
|
+
|
|
373
|
+
:return: the module's local state
|
|
374
|
+
:rtype: ModuleLocalState
|
|
375
|
+
"""
|
|
376
|
+
|
|
377
|
+
return self._local_states
|
|
378
|
+
|
|
379
|
+
async def _setup(self) -> Self:
|
|
380
|
+
await asyncio.gather(
|
|
381
|
+
self._local_states.initiate(self),
|
|
382
|
+
self.ports.fill()
|
|
383
|
+
)
|
|
384
|
+
self._local_states.register_subscriptions(self)
|
|
385
|
+
return self
|
|
386
|
+
|
|
387
|
+
on_license_demo_info_change = functools.partialmethod(utils.on_event, M_LICENSE_DEMO_INFO)
|
|
388
|
+
"""Register a callback to the event that the module's demo license info changes."""
|
|
389
|
+
|
|
390
|
+
on_license_maintenance_info_change = functools.partialmethod(utils.on_event, M_LICENSE_MAINTENANCE_INFO)
|
|
391
|
+
"""Register a callback to the event that the module's maintenance license info changes."""
|
|
392
|
+
|
|
393
|
+
on_replay_parse_state_change = functools.partialmethod(utils.on_event, M4_REPLAY_PARSE_STATE)
|
|
394
|
+
"""Register a callback to the event that the module's parsing state of a captured pcap file changes."""
|
|
395
|
+
|
|
396
|
+
on_license_info_change = functools.partialmethod(utils.on_event, M4_LICENSE_INFO)
|
|
397
|
+
"""Register a callback to the event that the module's L47 license info changes."""
|
|
File without changes
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
import functools
|
|
3
|
+
from xoa_driver import ports
|
|
4
|
+
from xoa_driver.internals.hli_v1 import revisions
|
|
5
|
+
from xoa_driver.internals.commands import P_CAPABILITIES
|
|
6
|
+
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
7
|
+
from xoa_driver.internals.utils.cap_id import CapID
|
|
8
|
+
|
|
9
|
+
if typing.TYPE_CHECKING:
|
|
10
|
+
from xoa_driver.internals.core import interfaces as itf
|
|
11
|
+
from .. import __interfaces as m_itf
|
|
12
|
+
|
|
13
|
+
from .module_l23_base import ModuleL23
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
D_FAMELY_ID = CapID(1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
|
17
|
+
F_FAMELY_ID = CapID(0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
CombiTypes = typing.Union[
|
|
21
|
+
ports.POdin1G4S4PCombi,
|
|
22
|
+
ports.POdin10G4S2PCombi,
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
CombiTypesB = typing.Union[
|
|
26
|
+
ports.POdin1G4S4PCombi_b,
|
|
27
|
+
ports.POdin10G4S2PCombi_b,
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
async def _port_resolver(conn: "itf.IConnection", module_id: int, port_id: int, port_map: typing.Dict[int, typing.Type]) -> typing.Coroutine[typing.Any, typing.Any, CombiTypes]:
|
|
32
|
+
cap = await P_CAPABILITIES(conn, module_id, port_id).get()
|
|
33
|
+
current_port_id = CapID.create_from_capabilities(cap)
|
|
34
|
+
port_type = port_map[current_port_id.to_int()]
|
|
35
|
+
return await port_type(conn, module_id, port_id)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@typing.final
|
|
39
|
+
@revisions.register_valkyrie_module(rev="Odin-10G-4S-2P-Combi")
|
|
40
|
+
class MOdin10G4S2PCombi(ModuleL23):
|
|
41
|
+
"""Test module Odin-10G-4S-2P-Combi
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
45
|
+
super().__init__(conn, init_data)
|
|
46
|
+
PORTS_MAP = {
|
|
47
|
+
D_FAMELY_ID.to_int(): ports.POdin1G4S4PCombi,
|
|
48
|
+
F_FAMELY_ID.to_int(): ports.POdin10G4S2PCombi,
|
|
49
|
+
}
|
|
50
|
+
self.ports: pm.PortsCombiManager[CombiTypes] = pm.PortsCombiManager(
|
|
51
|
+
conn=conn,
|
|
52
|
+
resolver=functools.partial(_port_resolver, port_map=PORTS_MAP),
|
|
53
|
+
module_id=self.module_id,
|
|
54
|
+
ports_count=self.ports_count
|
|
55
|
+
)
|
|
56
|
+
"""Port Index Manager of Odin-10G-4S-2P-Combi
|
|
57
|
+
|
|
58
|
+
:type: PortsCombiManager
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
@typing.final
|
|
63
|
+
@revisions.register_valkyrie_module(rev="Odin-10G-4S-2P-Combi[b]")
|
|
64
|
+
class MOdin10G4S2PCombi_b(ModuleL23):
|
|
65
|
+
"""Test module Odin-10G-4S-2P-Combi[b]
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
69
|
+
super().__init__(conn, init_data)
|
|
70
|
+
PORTS_MAP = {
|
|
71
|
+
D_FAMELY_ID.to_int(): ports.POdin1G4S4PCombi_b,
|
|
72
|
+
F_FAMELY_ID.to_int(): ports.POdin10G4S2PCombi_b,
|
|
73
|
+
}
|
|
74
|
+
self.ports: pm.PortsCombiManager[CombiTypesB] = pm.PortsCombiManager(
|
|
75
|
+
conn=conn,
|
|
76
|
+
resolver=functools.partial(_port_resolver, port_map=PORTS_MAP),
|
|
77
|
+
module_id=self.module_id,
|
|
78
|
+
ports_count=self.ports_count
|
|
79
|
+
)
|
|
80
|
+
"""Port Index Manager of Odin-10G-4S-2P-Combi[b]
|
|
81
|
+
|
|
82
|
+
:type: PortsCombiManager
|
|
83
|
+
"""
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from xoa_driver import ports
|
|
3
|
+
from xoa_driver.internals.hli_v1 import revisions
|
|
4
|
+
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
if typing.TYPE_CHECKING:
|
|
8
|
+
from xoa_driver.internals.core import interfaces as itf
|
|
9
|
+
from .. import __interfaces as m_itf
|
|
10
|
+
|
|
11
|
+
from .module_l23_base import ModuleL23
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@typing.final
|
|
15
|
+
@revisions.register_valkyrie_module(rev="Odin-1G-3S-6P")
|
|
16
|
+
class MOdin1G3S6P(ModuleL23):
|
|
17
|
+
"""Test module Odin-1G-3S-6P"""
|
|
18
|
+
|
|
19
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
20
|
+
super().__init__(conn, init_data)
|
|
21
|
+
self.ports: pm.PortsManager[ports.POdin1G3S6P] = pm.PortsManager(
|
|
22
|
+
conn=conn,
|
|
23
|
+
ports_type=ports.POdin1G3S6P,
|
|
24
|
+
module_id=self.module_id,
|
|
25
|
+
ports_count=self.ports_count
|
|
26
|
+
)
|
|
27
|
+
"""Port Index Manager of Odin-1G-3S-6P"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@typing.final
|
|
31
|
+
@revisions.register_valkyrie_module(rev="Odin-1G-3S-6P[b]")
|
|
32
|
+
class MOdin1G3S6P_b(ModuleL23):
|
|
33
|
+
"""Test module Odin-1G-3S-6P[b]"""
|
|
34
|
+
|
|
35
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
36
|
+
super().__init__(conn, init_data)
|
|
37
|
+
self.ports: pm.PortsManager[ports.POdin1G3S6P_b] = pm.PortsManager(
|
|
38
|
+
conn=conn,
|
|
39
|
+
ports_type=ports.POdin1G3S6P_b,
|
|
40
|
+
module_id=self.module_id,
|
|
41
|
+
ports_count=self.ports_count
|
|
42
|
+
)
|
|
43
|
+
"""Port Index Manager of Odin-1G-3S-6P[b]"""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
@typing.final
|
|
47
|
+
@revisions.register_valkyrie_module(rev="Odin-1G-3S-6P-E")
|
|
48
|
+
class MOdin1G3S6PE(ModuleL23):
|
|
49
|
+
"""Test module Odin-1G-3S-6P-E"""
|
|
50
|
+
|
|
51
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
52
|
+
super().__init__(conn, init_data)
|
|
53
|
+
self.ports: pm.PortsManager[ports.POdin1G3S6PE] = pm.PortsManager(
|
|
54
|
+
conn=conn,
|
|
55
|
+
ports_type=ports.POdin1G3S6PE,
|
|
56
|
+
module_id=self.module_id,
|
|
57
|
+
ports_count=self.ports_count
|
|
58
|
+
)
|
|
59
|
+
"""Port Index Manager of Odin-1G-3S-6P-E"""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
@typing.final
|
|
63
|
+
@revisions.register_valkyrie_module(rev="Odin-1G-3S-2P-T")
|
|
64
|
+
class MOdin1G3S2PT(ModuleL23):
|
|
65
|
+
"""Test module Odin-1G-3S-2P-T"""
|
|
66
|
+
|
|
67
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
68
|
+
super().__init__(conn, init_data)
|
|
69
|
+
self.ports: pm.PortsManager[ports.POdin1G3S2PT] = pm.PortsManager(
|
|
70
|
+
conn=conn,
|
|
71
|
+
ports_type=ports.POdin1G3S2PT,
|
|
72
|
+
module_id=self.module_id,
|
|
73
|
+
ports_count=self.ports_count
|
|
74
|
+
)
|
|
75
|
+
"""Port Index Manager of Odin-1G-3S-2P-T"""
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from xoa_driver import ports
|
|
3
|
+
from xoa_driver.internals.hli_v1 import revisions
|
|
4
|
+
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
5
|
+
|
|
6
|
+
if typing.TYPE_CHECKING:
|
|
7
|
+
from xoa_driver.internals.core import interfaces as itf
|
|
8
|
+
from .. import __interfaces as m_itf
|
|
9
|
+
|
|
10
|
+
from .module_l23_base import ModuleL23
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@typing.final
|
|
14
|
+
@revisions.register_valkyrie_module(rev="Odin-5G-4S-6P-CU")
|
|
15
|
+
class MOdin5G4S6PCU(ModuleL23):
|
|
16
|
+
"""Test module Odin-5G-4S-6P-CU"""
|
|
17
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
18
|
+
super().__init__(conn, init_data)
|
|
19
|
+
self.ports: pm.PortsManager[ports.POdin5G4S6PCU] = pm.PortsManager(
|
|
20
|
+
conn=conn,
|
|
21
|
+
ports_type=ports.POdin5G4S6PCU,
|
|
22
|
+
module_id=self.module_id,
|
|
23
|
+
ports_count=self.ports_count
|
|
24
|
+
)
|
|
25
|
+
"""Port Index Manager of Odin-5G-4S-6P-CU"""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@typing.final
|
|
29
|
+
@revisions.register_valkyrie_module(rev="Odin-10G-5S-6P-CU")
|
|
30
|
+
class MOdin10G5S6PCU(ModuleL23):
|
|
31
|
+
"""Test module Odin-10G-5S-6P-CU"""
|
|
32
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
33
|
+
super().__init__(conn, init_data)
|
|
34
|
+
self.ports: pm.PortsManager[ports.POdin10G5S6PCU] = pm.PortsManager(
|
|
35
|
+
conn=conn,
|
|
36
|
+
ports_type=ports.POdin10G5S6PCU,
|
|
37
|
+
module_id=self.module_id,
|
|
38
|
+
ports_count=self.ports_count
|
|
39
|
+
)
|
|
40
|
+
"""Port Index Manager of Odin-10G-5S-6P-CU"""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@typing.final
|
|
44
|
+
@revisions.register_valkyrie_module(rev="Odin-10G-5S-6P-CU[b]")
|
|
45
|
+
class MOdin10G5S6PCU_b(ModuleL23):
|
|
46
|
+
"""Test module Odin-10G-5S-6P-CU[b]"""
|
|
47
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
48
|
+
super().__init__(conn, init_data)
|
|
49
|
+
self.ports: pm.PortsManager[ports.POdin10G5S6PCU_b] = pm.PortsManager(
|
|
50
|
+
conn=conn,
|
|
51
|
+
ports_type=ports.POdin10G5S6PCU_b,
|
|
52
|
+
module_id=self.module_id,
|
|
53
|
+
ports_count=self.ports_count
|
|
54
|
+
)
|
|
55
|
+
"""Port Index Manager of Odin-10G-5S-6P-CU[b]"""
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
@typing.final
|
|
59
|
+
@revisions.register_valkyrie_module(rev="Odin-10G-3S-6P-CU")
|
|
60
|
+
class MOdin10G3S6PCU(ModuleL23):
|
|
61
|
+
"""Test module Odin-10G-3S-6P-CU"""
|
|
62
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
63
|
+
super().__init__(conn, init_data)
|
|
64
|
+
self.ports: pm.PortsManager[ports.POdin10G3S6PCU] = pm.PortsManager(
|
|
65
|
+
conn=conn,
|
|
66
|
+
ports_type=ports.POdin10G3S6PCU,
|
|
67
|
+
module_id=self.module_id,
|
|
68
|
+
ports_count=self.ports_count
|
|
69
|
+
)
|
|
70
|
+
"""Port Index Manager of Odin-10G-3S-6P-CU"""
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
@typing.final
|
|
74
|
+
@revisions.register_valkyrie_module(rev="Odin-10G-3S-2P-CU")
|
|
75
|
+
class MOdin10G3S2PCU(ModuleL23):
|
|
76
|
+
"""Test module Odin-10G-3S-2P-CU"""
|
|
77
|
+
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
78
|
+
super().__init__(conn, init_data)
|
|
79
|
+
self.ports: pm.PortsManager[ports.POdin10G3S2PCU] = pm.PortsManager(
|
|
80
|
+
conn=conn,
|
|
81
|
+
ports_type=ports.POdin10G3S2PCU,
|
|
82
|
+
module_id=self.module_id,
|
|
83
|
+
ports_count=self.ports_count
|
|
84
|
+
)
|
|
85
|
+
"""Port Index Manager of Odin-10G-3S-2P-CU"""
|