tdl-xoa-driver 1.0.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.
- tdl_xoa_driver-1.0.0.dist-info/LICENSE +202 -0
- tdl_xoa_driver-1.0.0.dist-info/METADATA +177 -0
- tdl_xoa_driver-1.0.0.dist-info/RECORD +325 -0
- tdl_xoa_driver-1.0.0.dist-info/WHEEL +5 -0
- tdl_xoa_driver-1.0.0.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,256 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import Any
|
|
3
|
+
|
|
4
|
+
from xoa_driver.ports import GenericAnyPort
|
|
5
|
+
from xoa_driver.internals.core import interfaces as itf
|
|
6
|
+
from xoa_driver.lli import commands
|
|
7
|
+
from xoa_driver import enums
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def get_ctx(port: GenericAnyPort) -> tuple["itf.IConnection", int, int]:
|
|
11
|
+
return (port._conn, *port.kind)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def dictionize_autoneg_status(
|
|
15
|
+
loopback: commands.PL1_CFG_TMP.GetDataAttr,
|
|
16
|
+
auto_neg_info: commands.PL1_AUTONEGINFO.GetDataAttr,
|
|
17
|
+
status: commands.PL1_AUTONEG_STATUS.GetDataAttr,
|
|
18
|
+
) -> dict[str, Any]:
|
|
19
|
+
_is_enabled = True if status.mode == enums.AutoNegMode.ANEG_ON else False
|
|
20
|
+
_ta_hcd_status = status.tech_ability_hcd_status
|
|
21
|
+
if _ta_hcd_status == enums.FreyaTechAbilityHCDStatus.FAILED:
|
|
22
|
+
_ta_hcd_value = "N/A"
|
|
23
|
+
_fec_result_value = "N/A"
|
|
24
|
+
else:
|
|
25
|
+
_ta_hcd_value = status.tech_ability_hcd_value.name
|
|
26
|
+
_fec_result_value = status.fec_mode_result.name
|
|
27
|
+
return {
|
|
28
|
+
"is_enabled": _is_enabled,
|
|
29
|
+
"loopback": "allowed" if loopback.values[0] else "not allowed",
|
|
30
|
+
"state": status.autoneg_state.name,
|
|
31
|
+
"hcd": _ta_hcd_value,
|
|
32
|
+
"fec_result": _fec_result_value,
|
|
33
|
+
"duration": auto_neg_info.duration_us,
|
|
34
|
+
"successes": auto_neg_info.negotiation_success_count,
|
|
35
|
+
"timeouts": auto_neg_info.negotiation_timeout_count,
|
|
36
|
+
"loss_of_sync": auto_neg_info.negotiation_loss_of_sync_count,
|
|
37
|
+
"fec_negotiation_fails": auto_neg_info.negotiation_fec_fail_count,
|
|
38
|
+
"hcd_negotiation_fails": auto_neg_info.negotiation_hcd_fail_count,
|
|
39
|
+
"link_codewords": {
|
|
40
|
+
"tx": auto_neg_info.tx_link_codeword_count,
|
|
41
|
+
"rx": auto_neg_info.rx_link_codeword_count,
|
|
42
|
+
},
|
|
43
|
+
"next_page_messages": {
|
|
44
|
+
"tx": auto_neg_info.tx_next_page_message_count,
|
|
45
|
+
"rx": auto_neg_info.rx_next_page_message_count,
|
|
46
|
+
},
|
|
47
|
+
"unformatted_pages": {
|
|
48
|
+
"tx": auto_neg_info.tx_next_page_unformatted_count,
|
|
49
|
+
"rx": auto_neg_info.rx_next_page_unformatted_count,
|
|
50
|
+
},
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def _decode_ic(key: int) -> str:
|
|
55
|
+
dic = {
|
|
56
|
+
0: "INDV",
|
|
57
|
+
1: "Preset 4",
|
|
58
|
+
2: "Preset 1",
|
|
59
|
+
3: "Preset 5",
|
|
60
|
+
4: "Preset 2",
|
|
61
|
+
6: "Preset 3",
|
|
62
|
+
}
|
|
63
|
+
return dic.get(key, "Reserved")
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def _link_info_part(info: commands.PL1_LINKTRAININFO.GetDataAttr, index: str, part: str) -> dict[str, str]:
|
|
67
|
+
tx_attr = f"{index}_tx_{part}"
|
|
68
|
+
rx_attr = f"{index}_rx_{part}"
|
|
69
|
+
return {
|
|
70
|
+
"rx": getattr(info, rx_attr),
|
|
71
|
+
"tx": getattr(info, tx_attr),
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def _link_info_all(info: commands.PL1_LINKTRAININFO.GetDataAttr, index: str) -> dict[str, Any]:
|
|
76
|
+
return {
|
|
77
|
+
"current_level": getattr(info, f"{index}_current_level"),
|
|
78
|
+
"+req": _link_info_part(info, index, "increment_req_count"),
|
|
79
|
+
"-req": _link_info_part(info, index, "decrement_req_count"),
|
|
80
|
+
"coeff_and_eq_limit_reached": _link_info_part(
|
|
81
|
+
info, index, "coeff_eq_limit_reached_count"
|
|
82
|
+
),
|
|
83
|
+
"eq_limit_reached": _link_info_part(info, index, "eq_limit_reached_count"),
|
|
84
|
+
"coeff_not_supported": _link_info_part(
|
|
85
|
+
info, index, "coeff_not_supported_count"
|
|
86
|
+
),
|
|
87
|
+
"coeff_at_limit": _link_info_part(info, index, "coeff_at_limit_count"),
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def dictionize_lt_status(
|
|
92
|
+
status: commands.PL1_LINKTRAIN_STATUS.GetDataAttr,
|
|
93
|
+
info: commands.PL1_LINKTRAININFO.GetDataAttr,
|
|
94
|
+
ltconf: commands.PL1_LINKTRAIN_CONFIG.GetDataAttr,
|
|
95
|
+
cfg: commands.PL1_CFG_TMP.GetDataAttr,
|
|
96
|
+
ber: float,
|
|
97
|
+
total_bit_count: float,
|
|
98
|
+
total_error_bit_count: float,
|
|
99
|
+
) -> dict[str, Any]:
|
|
100
|
+
_is_enabled = True if status.mode == enums.LinkTrainingStatusMode.ENABLED else False
|
|
101
|
+
_is_traind = True if status.status == enums.LinkTrainingStatus.TRAINED else False
|
|
102
|
+
_oos_preset = "Existing" if ltconf.oos_preset == enums.FreyaOutOfSyncPreset.CURRENT else "IEEE"
|
|
103
|
+
ber_str = '{:.2e}'.format(ber)
|
|
104
|
+
return {
|
|
105
|
+
"is_enabled": _is_enabled,
|
|
106
|
+
"is_trained": _is_traind,
|
|
107
|
+
# "failure": enums.LinkTrainingFailureType(status.failure).name.lower(),
|
|
108
|
+
"failure": status.failure.name.lower(),
|
|
109
|
+
"oos_preset": _oos_preset,
|
|
110
|
+
"init_modulation": enums.LinkTrainEncoding(cfg.values[0]).name.lower(),
|
|
111
|
+
"total_bits": total_bit_count,
|
|
112
|
+
"total_errored_bits": total_error_bit_count,
|
|
113
|
+
"ber": ber_str,
|
|
114
|
+
"duration": info.duration_us,
|
|
115
|
+
"lock_lost": info.lock_lost_count,
|
|
116
|
+
# "frame_lock": enums.LinkTrainFrameLock(info.frame_lock).name.lower(),
|
|
117
|
+
"frame_lock": info.frame_lock.name.lower(),
|
|
118
|
+
# "remote_frame_lock": enums.LinkTrainFrameLock(
|
|
119
|
+
# info.remote_frame_lock
|
|
120
|
+
# ).name.lower(),
|
|
121
|
+
"remote_frame_lock": info.remote_frame_lock.name.lower(),
|
|
122
|
+
"frame_errors": info.num_frame_errors,
|
|
123
|
+
"overrun_errors": info.num_overruns,
|
|
124
|
+
"last_ic_received": _decode_ic(info.last_ic_received),
|
|
125
|
+
"last_ic_sent": _decode_ic(info.last_ic_sent),
|
|
126
|
+
"c(-3)": _link_info_all(info, "pre3"),
|
|
127
|
+
"c(-2)": _link_info_all(info, "pre2"),
|
|
128
|
+
"c(-1)": _link_info_all(info, "pre1"),
|
|
129
|
+
"c(0)": _link_info_all(info, "main"),
|
|
130
|
+
"c(1)": _link_info_all(info, "post1"),
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
def dictionize_txtap_get(r: commands.PP_PHYTXEQ.GetDataAttr) -> dict[str, int]:
|
|
135
|
+
return {
|
|
136
|
+
"c(-3)": r.pre3_post2,
|
|
137
|
+
"c(-2)": r.pre2,
|
|
138
|
+
"c(-1)": r.pre,
|
|
139
|
+
"c(0)": r.main,
|
|
140
|
+
"c(1)": r.post,
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
def dictionize_anlt_status(
|
|
145
|
+
link_recovery: commands.PL1_CFG_TMP.GetDataAttr,
|
|
146
|
+
anlt_op: commands.PL1_ANLT.GetDataAttr,
|
|
147
|
+
linktrain_cfg: commands.PL1_LINKTRAIN_CONFIG.GetDataAttr,
|
|
148
|
+
capabilities: commands.P_CAPABILITIES.GetDataAttr,
|
|
149
|
+
allow_loopback: commands.PL1_CFG_TMP.GetDataAttr,
|
|
150
|
+
) -> dict[str, Any]:
|
|
151
|
+
return {
|
|
152
|
+
"autoneg_mode": anlt_op.an_mode.name.lower(),
|
|
153
|
+
"link_training_mode": anlt_op.lt_mode.name.lower(),
|
|
154
|
+
"link_training_timeout": "enable" if linktrain_cfg.timeout_mode == enums.TimeoutMode.DEFAULT else "disable",
|
|
155
|
+
"restart_link_down": "on" if link_recovery.values[0] == 1 or link_recovery.values[0] == 3 else "off",
|
|
156
|
+
"restart_lt_fail": "on" if link_recovery.values[0] == 2 or link_recovery.values[0] == 3 else "off",
|
|
157
|
+
"serdes_count": capabilities.serdes_count,
|
|
158
|
+
"autoneg_allow_loopback": allow_loopback.values,
|
|
159
|
+
"link_training_preset0": enums.FreyaOutOfSyncPreset(linktrain_cfg.oos_preset).name.lower(),
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
def dictionize_lt_im_status(
|
|
164
|
+
capabilities: commands.P_CAPABILITIES.GetDataAttr,
|
|
165
|
+
initial_mods: dict[str, str]
|
|
166
|
+
) -> dict[str, Any]:
|
|
167
|
+
return {
|
|
168
|
+
"serdes_count": capabilities.serdes_count,
|
|
169
|
+
"initial_mods": initial_mods,
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
def dictionize_lt_algorithm_status(
|
|
174
|
+
capabilities: commands.P_CAPABILITIES.GetDataAttr,
|
|
175
|
+
algorithms: dict[str, str]
|
|
176
|
+
) -> dict[str, Any]:
|
|
177
|
+
return {
|
|
178
|
+
"serdes_count": capabilities.serdes_count,
|
|
179
|
+
"algorithms": algorithms
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
MODULE_EOL_INFO: dict[str, str] = {
|
|
184
|
+
"01": "2014-04-01",
|
|
185
|
+
"02": "2024-09-01",
|
|
186
|
+
"03": "2016-03-01",
|
|
187
|
+
"09": "2022-01-01",
|
|
188
|
+
"17": "2023-01-01",
|
|
189
|
+
"18": "2023-01-01",
|
|
190
|
+
"20": "2024-11-01",
|
|
191
|
+
"22": "2018-11-01",
|
|
192
|
+
"24": "2024-11-01",
|
|
193
|
+
"26": "2023-06-01",
|
|
194
|
+
"27": "2025-10-01",
|
|
195
|
+
"30": "2024-01-01",
|
|
196
|
+
"31": "2021-09-01",
|
|
197
|
+
"32": "2024-04-01",
|
|
198
|
+
"34": "2024-08-01",
|
|
199
|
+
"36": "2024-05-01",
|
|
200
|
+
"37": "2025-04-01",
|
|
201
|
+
"39": "2025-04-01",
|
|
202
|
+
"40": "2023-03-01",
|
|
203
|
+
"50": "2022-02-01",
|
|
204
|
+
"51": "2023-08-01",
|
|
205
|
+
"54": "2023-02-01",
|
|
206
|
+
"55": "2024-01-01",
|
|
207
|
+
"60": "2025-10-01",
|
|
208
|
+
"65": "2027-06-01",
|
|
209
|
+
"66": "2026-02-01",
|
|
210
|
+
"69": "2027-11-01",
|
|
211
|
+
"73": "2027-01-01",
|
|
212
|
+
"74": "2027-01-01",
|
|
213
|
+
"85": "2026-10-01",
|
|
214
|
+
"90": "2025-10-01",
|
|
215
|
+
"91": "2025-10-01",
|
|
216
|
+
"92": "2026-10-01",
|
|
217
|
+
"93": "2025-10-01",
|
|
218
|
+
"94": "2025-10-01",
|
|
219
|
+
"95": "2026-10-01",
|
|
220
|
+
"96": "2026-10-01",
|
|
221
|
+
"97": "2025-10-01",
|
|
222
|
+
"98": "2026-10-01",
|
|
223
|
+
"99": "2026-10-01",
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
def dictionize_anlt_log_ctrl_status(
|
|
227
|
+
logctrl_status: list[int]
|
|
228
|
+
) -> dict[str, bool]:
|
|
229
|
+
_value = logctrl_status[0]
|
|
230
|
+
_debug = bool(_value & enums.AnLtLogControl.LOG_TYPE_DEBUG)
|
|
231
|
+
_an_trace = bool(_value & enums.AnLtLogControl.LOG_TYPE_AN_TRACE)
|
|
232
|
+
_lt_trace = bool(_value & enums.AnLtLogControl.LOG_TYPE_LT_TRACE)
|
|
233
|
+
_alg_trace = bool(_value & enums.AnLtLogControl.LOG_TYPE_ALG_TRACE)
|
|
234
|
+
_fsm_port = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_PORT)
|
|
235
|
+
_fsm_an = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_ANEG)
|
|
236
|
+
_fsm_an_stimuli = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_ANEG_STIMULI)
|
|
237
|
+
_fsm_lt = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_LT)
|
|
238
|
+
_fsm_lt_coeff = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_LT_COEFF)
|
|
239
|
+
_fsm_lt_stimuli = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_LT_STIMULI)
|
|
240
|
+
_fsm_lt_alg0 = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_LT_ALG0)
|
|
241
|
+
_fsm_lt_algn1 = bool(_value & enums.AnLtLogControl.LOG_TYPE_FSM_LT_ALG1)
|
|
242
|
+
return {
|
|
243
|
+
"debug": _debug,
|
|
244
|
+
"an_trace": _an_trace,
|
|
245
|
+
"lt_trace": _lt_trace,
|
|
246
|
+
"alg_trace": _alg_trace,
|
|
247
|
+
"fsm_port": _fsm_port,
|
|
248
|
+
"fsm_an": _fsm_an,
|
|
249
|
+
"fsm_an_stimuli": _fsm_an_stimuli,
|
|
250
|
+
"fsm_an_stimuli": _fsm_an_stimuli,
|
|
251
|
+
"fsm_lt": _fsm_lt,
|
|
252
|
+
"fsm_lt_coeff": _fsm_lt_coeff,
|
|
253
|
+
"fsm_lt_stimuli": _fsm_lt_stimuli,
|
|
254
|
+
"fsm_lt_alg0": _fsm_lt_alg0,
|
|
255
|
+
"fsm_lt_algn1": _fsm_lt_algn1,
|
|
256
|
+
}
|
xoa_driver/hlfuncs.py
ADDED
|
File without changes
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Definition of BXMP commands.
|
|
3
|
+
|
|
4
|
+
All commands in this module are only a stateless declaration of there structures which
|
|
5
|
+
define how they will be converted to binary protocol.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
# importing commands subsets
|
|
9
|
+
from .c_commands import * # noqa: F403,F401
|
|
10
|
+
from .m_commands import * # noqa: F403,F401
|
|
11
|
+
from .m4_commands import * # noqa: F403,F401
|
|
12
|
+
from .m4e_commands import * # noqa: F403,F401
|
|
13
|
+
from .p_commands import * # noqa: F403,F401
|
|
14
|
+
from .p4_commands import * # noqa: F403,F401
|
|
15
|
+
from .p4e_commands import * # noqa: F403,F401
|
|
16
|
+
from .p4g_commands import * # noqa: F403,F401
|
|
17
|
+
from .pc_commands import * # noqa: F403,F401
|
|
18
|
+
from .pd_commands import * # noqa: F403,F401
|
|
19
|
+
from .pe_commands import * # noqa: F403,F401
|
|
20
|
+
from .pec_commands import * # noqa: F403,F401
|
|
21
|
+
from .ped_commands import * # noqa: F403,F401
|
|
22
|
+
from .pef_commands import * # noqa: F403,F401
|
|
23
|
+
from .pf_commands import * # noqa: F403,F401
|
|
24
|
+
from .pl_commands import * # noqa: F403,F401
|
|
25
|
+
from .pm_commands import * # noqa: F403,F401
|
|
26
|
+
from .pp_commands import * # noqa: F403,F401
|
|
27
|
+
from .pr_commands import * # noqa: F403,F401
|
|
28
|
+
from .ps_commands import * # noqa: F403,F401
|
|
29
|
+
from .pt_commands import * # noqa: F403,F401
|
|
30
|
+
from .px_commands import * # noqa: F403,F401
|
|
31
|
+
from .pl1_commands import * # noqa: F403,F401
|