tdl-xoa-driver 1.3.0__py3-none-any.whl → 1.5.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.5.0.dist-info/METADATA +56 -0
- tdl_xoa_driver-1.5.0.dist-info/RECORD +231 -0
- xoa_driver/__init__.py +2 -2
- xoa_driver/enums.py +2 -0
- xoa_driver/exceptions.py +2 -0
- xoa_driver/functions/anlt.py +4 -2
- xoa_driver/functions/anlt_ll_debug.py +2 -0
- xoa_driver/functions/cli/__init__.py +21 -0
- xoa_driver/functions/cli/_cli_manager.py +541 -0
- xoa_driver/functions/cli/_config_block.py +334 -0
- xoa_driver/functions/cli/_socket_driver.py +111 -0
- xoa_driver/functions/cli/port_config.py +116 -0
- xoa_driver/functions/cli/testbed_config.py +179 -0
- xoa_driver/functions/cmis/__init__.py +8 -0
- xoa_driver/functions/cmis/_constants.py +25 -0
- xoa_driver/functions/cmis/_replies.py +600 -0
- xoa_driver/functions/cmis/_utils.py +49 -0
- xoa_driver/functions/cmis/cdb.py +1266 -0
- xoa_driver/functions/exceptions.py +2 -0
- xoa_driver/functions/headers.py +2 -0
- xoa_driver/functions/mgmt.py +48 -34
- xoa_driver/functions/tools.py +9 -3
- xoa_driver/hlfuncs.py +7 -3
- xoa_driver/internals/commands/c_commands.py +6 -10
- xoa_driver/internals/commands/enums.py +25 -1
- xoa_driver/internals/commands/p_commands.py +50 -12
- xoa_driver/internals/commands/pl1_commands.py +130 -73
- xoa_driver/internals/commands/pp_commands.py +44 -55
- xoa_driver/internals/commands/pr_commands.py +17 -16
- xoa_driver/internals/commands/pt_commands.py +21 -1
- xoa_driver/internals/commands/px_commands.py +1686 -6
- xoa_driver/internals/core/transporter/_request_id_counter.py +1 -1
- xoa_driver/internals/core/transporter/logger/__state_on_user.py +1 -1
- xoa_driver/internals/core/transporter/protocol/payload/__init__.py +3 -1
- xoa_driver/internals/core/transporter/protocol/payload/field.py +41 -0
- xoa_driver/internals/core/transporter/protocol/payload/types.py +19 -0
- xoa_driver/internals/exceptions/modules.py +4 -3
- xoa_driver/internals/{hli_v1 → hli}/indices/filter/base_filter.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/indices/length_term.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/base_macsecsc.py +2 -2
- xoa_driver/internals/{hli_v1 → hli}/indices/match_term.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/indices/port_dataset.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/indices/streams/base_stream.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/module_chimera.py +3 -3
- xoa_driver/internals/{hli_v1 → hli}/modules/module_l47.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_combi.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_d.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_e.py +1 -1
- xoa_driver/internals/hli/modules/modules_l23/family_edun.py +82 -0
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_f.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_g.py +17 -2
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_h.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_i.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_j.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_k.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_l.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_l1.py +20 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_m.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/family_n.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/module_l23_base.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_l23.py +3 -3
- xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_l23_genuine.py +4 -4
- xoa_driver/internals/hli/ports/port_l23/bases/port_transceiver.py +247 -0
- xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_transmission_statistics.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/port_chimera.py +1 -1
- xoa_driver/internals/hli/ports/port_l23/edun_l1.py +181 -0
- xoa_driver/internals/hli/ports/port_l23/family_edun.py +82 -0
- xoa_driver/internals/{hli_v2 → hli}/ports/port_l23/family_g.py +5 -0
- xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_l1.py +14 -8
- xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/port_l23ve.py +2 -2
- xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/main.py +2 -2
- xoa_driver/internals/{hli_v1 → hli}/testers/l23_tester.py +1 -1
- xoa_driver/internals/{hli_v1 → hli}/testers/l47_tester.py +2 -2
- xoa_driver/internals/state_storage/modules_state.py +20 -0
- xoa_driver/internals/state_storage/testers_state.py +10 -0
- xoa_driver/lli.py +1 -0
- xoa_driver/misc.py +13 -17
- xoa_driver/modules.py +40 -22
- xoa_driver/ports.py +42 -20
- xoa_driver/testers.py +5 -7
- xoa_driver/utils.py +2 -0
- tdl_xoa_driver-1.3.0.dist-info/METADATA +0 -56
- tdl_xoa_driver-1.3.0.dist-info/RECORD +0 -325
- xoa_driver/functions/cli.py +0 -581
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_transceiver.py +0 -117
- xoa_driver/internals/hli_v1/ports/port_l23/family_g.py +0 -77
- 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 +0 -39
- xoa_driver/internals/hli_v2/indices/connection_group/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/connection_group/cg.py +0 -115
- xoa_driver/internals/hli_v2/indices/connection_group/histogram.py +0 -59
- xoa_driver/internals/hli_v2/indices/connection_group/l2.py +0 -71
- xoa_driver/internals/hli_v2/indices/connection_group/l3.py +0 -96
- xoa_driver/internals/hli_v2/indices/connection_group/raw.py +0 -148
- xoa_driver/internals/hli_v2/indices/connection_group/replay.py +0 -89
- xoa_driver/internals/hli_v2/indices/connection_group/tcp.py +0 -261
- xoa_driver/internals/hli_v2/indices/connection_group/tls.py +0 -166
- xoa_driver/internals/hli_v2/indices/connection_group/udp.py +0 -112
- xoa_driver/internals/hli_v2/indices/connection_group/user_state.py +0 -25
- xoa_driver/internals/hli_v2/indices/filter/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/filter/base_filter.py +0 -50
- xoa_driver/internals/hli_v2/indices/filter/genuine_filter.py +0 -17
- xoa_driver/internals/hli_v2/indices/length_term.py +0 -44
- xoa_driver/internals/hli_v2/indices/match_term.py +0 -49
- xoa_driver/internals/hli_v2/indices/port_dataset.py +0 -53
- xoa_driver/internals/hli_v2/indices/streams/__init__.py +0 -0
- xoa_driver/internals/hli_v2/indices/streams/base_stream.py +0 -234
- xoa_driver/internals/hli_v2/indices/streams/genuine_stream.py +0 -32
- xoa_driver/internals/hli_v2/modules/__init__.py +0 -0
- xoa_driver/internals/hli_v2/modules/__interfaces.py +0 -21
- xoa_driver/internals/hli_v2/modules/base_module.py +0 -125
- xoa_driver/internals/hli_v2/modules/module_chimera.py +0 -358
- xoa_driver/internals/hli_v2/modules/module_l23ve.py +0 -58
- xoa_driver/internals/hli_v2/modules/module_l47.py +0 -230
- xoa_driver/internals/hli_v2/modules/module_l47ve.py +0 -8
- xoa_driver/internals/hli_v2/modules/modules_l23/__init__.py +0 -0
- xoa_driver/internals/hli_v2/modules/modules_l23/family_combi.py +0 -73
- xoa_driver/internals/hli_v2/modules/modules_l23/family_d.py +0 -75
- xoa_driver/internals/hli_v2/modules/modules_l23/family_e.py +0 -85
- xoa_driver/internals/hli_v2/modules/modules_l23/family_f.py +0 -144
- xoa_driver/internals/hli_v2/modules/modules_l23/family_g.py +0 -84
- xoa_driver/internals/hli_v2/modules/modules_l23/family_h.py +0 -40
- xoa_driver/internals/hli_v2/modules/modules_l23/family_i.py +0 -25
- xoa_driver/internals/hli_v2/modules/modules_l23/family_j.py +0 -25
- xoa_driver/internals/hli_v2/modules/modules_l23/family_k.py +0 -39
- xoa_driver/internals/hli_v2/modules/modules_l23/family_l.py +0 -55
- xoa_driver/internals/hli_v2/modules/modules_l23/family_l1.py +0 -797
- xoa_driver/internals/hli_v2/modules/modules_l23/family_m.py +0 -25
- xoa_driver/internals/hli_v2/modules/modules_l23/family_n.py +0 -40
- xoa_driver/internals/hli_v2/modules/modules_l23/module_l23_base.py +0 -339
- xoa_driver/internals/hli_v2/ports/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/base_port.py +0 -105
- 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 +0 -64
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23.py +0 -441
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_l23_genuine.py +0 -172
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_reception_statistics.py +0 -156
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transceiver.py +0 -117
- xoa_driver/internals/hli_v2/ports/port_l23/bases/port_transmission_statistics.py +0 -59
- 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 +0 -15
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/general.py +0 -340
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/shadow.py +0 -99
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/filter_definition/working.py +0 -36
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_custom_distribution.py +0 -116
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/pe_distribution.py +0 -102
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_chimera.py +0 -113
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/port_emulation.py +0 -420
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/reception_statistics.py +0 -22
- xoa_driver/internals/hli_v2/ports/port_l23/chimera/transmission_statistics.py +0 -22
- xoa_driver/internals/hli_v2/ports/port_l23/family_combi.py +0 -36
- xoa_driver/internals/hli_v2/ports/port_l23/family_d.py +0 -49
- xoa_driver/internals/hli_v2/ports/port_l23/family_e.py +0 -96
- xoa_driver/internals/hli_v2/ports/port_l23/family_f.py +0 -144
- xoa_driver/internals/hli_v2/ports/port_l23/family_h.py +0 -60
- xoa_driver/internals/hli_v2/ports/port_l23/family_i.py +0 -66
- xoa_driver/internals/hli_v2/ports/port_l23/family_j.py +0 -53
- xoa_driver/internals/hli_v2/ports/port_l23/family_k.py +0 -58
- xoa_driver/internals/hli_v2/ports/port_l23/family_l.py +0 -67
- xoa_driver/internals/hli_v2/ports/port_l23/family_l1.py +0 -149
- xoa_driver/internals/hli_v2/ports/port_l23/family_m.py +0 -28
- xoa_driver/internals/hli_v2/ports/port_l23/fault_jkl.py +0 -22
- xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ghijkl.py +0 -342
- xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_ijkl_chimera.py +0 -50
- xoa_driver/internals/hli_v2/ports/port_l23/pcs_pma_l.py +0 -65
- xoa_driver/internals/hli_v2/ports/port_l23/port_l23ve.py +0 -81
- xoa_driver/internals/hli_v2/ports/port_l47/__init__.py +0 -0
- xoa_driver/internals/hli_v2/ports/port_l47/counters.py +0 -146
- xoa_driver/internals/hli_v2/ports/port_l47/main.py +0 -137
- xoa_driver/internals/hli_v2/ports/port_l47/packet_engine.py +0 -20
- xoa_driver/internals/hli_v2/revisions.py +0 -11
- xoa_driver/internals/hli_v2/testers/__init__.py +0 -0
- xoa_driver/internals/hli_v2/testers/_base_tester.py +0 -207
- 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 +0 -16
- xoa_driver/internals/hli_v2/testers/genuine/l_23/rest_api.py +0 -34
- xoa_driver/internals/hli_v2/testers/genuine/l_23/time_keeper.py +0 -50
- xoa_driver/internals/hli_v2/testers/genuine/l_23/upload_file.py +0 -26
- xoa_driver/internals/hli_v2/testers/genuine/management_interface.py +0 -38
- xoa_driver/internals/hli_v2/testers/l23_tester.py +0 -159
- xoa_driver/internals/hli_v2/testers/l23ve_tester.py +0 -98
- xoa_driver/internals/hli_v2/testers/l47_tester.py +0 -95
- xoa_driver/internals/hli_v2/testers/l47ve_tester.py +0 -50
- xoa_driver/v2/__init__.py +0 -11
- xoa_driver/v2/misc.py +0 -77
- xoa_driver/v2/modules.py +0 -308
- xoa_driver/v2/ports.py +0 -232
- xoa_driver/v2/testers.py +0 -24
- {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.5.0.dist-info}/WHEEL +0 -0
- {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.5.0.dist-info}/licenses/LICENSE +0 -0
- {tdl_xoa_driver-1.3.0.dist-info → tdl_xoa_driver-1.5.0.dist-info}/top_level.txt +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/base_index.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/cg.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/histogram.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/l2.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/l3.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/raw.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/replay.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/tcp.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/tls.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/udp.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/connection_group/user_state.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/filter/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/filter/genuine_filter.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/macsecscs/genuine_macsecsc.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/streams/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/indices/streams/genuine_stream.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/modules/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/modules/__interfaces.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/modules/base_module.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/modules/module_l23ve.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/modules/module_l47ve.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/modules/modules_l23/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/base_port.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_capture.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/bases/port_reception_statistics.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/_utils.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/general.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/shadow.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/filter_definition/working.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/pe_custom_distribution.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/pe_distribution.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/port_emulation.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/reception_statistics.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/chimera/transmission_statistics.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_combi.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_d.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_e.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_f.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_h.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_i.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_j.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_k.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_l.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/family_m.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/fault_jkl.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/freya_l1.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_ghijkl.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_ijkl_chimera.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l23/pcs_pma_l.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/counters.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/ports/port_l47/packet_engine.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/revisions.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/_base_tester.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/__init__.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/health.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/rest_api.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/time_keeper.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/l_23/upload_file.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/genuine/management_interface.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/l23ve_tester.py +0 -0
- /xoa_driver/internals/{hli_v1 → hli}/testers/l47ve_tester.py +0 -0
|
@@ -832,7 +832,16 @@ class PL1_PRESET_CONFIG_COEFF:
|
|
|
832
832
|
@dataclass
|
|
833
833
|
class PL1_PHYTXEQ_LEVEL:
|
|
834
834
|
"""
|
|
835
|
-
Control and monitor the equalizer settings of the on-board PHY in the transmission direction (towards the transceiver cage).
|
|
835
|
+
Control and monitor the equalizer settings (mV/dB values) of the on-board PHY in the transmission direction (towards the transceiver cage).
|
|
836
|
+
|
|
837
|
+
This command returns a variable number of tap values with module-dependent ordering:
|
|
838
|
+
|
|
839
|
+
- **Regular Freya**: Original fixed format [pre3, pre2, pre, main, post]
|
|
840
|
+
- **Loki-4P and H-Freya/Edun**: Variable number in N*pre, main, M*post layout
|
|
841
|
+
[pre_n, pre_n-1, ..., pre_1, main, post_1, post_2, ..., post_m]
|
|
842
|
+
|
|
843
|
+
Use P_CAPABILITIES to query ``numtxeqtaps`` and ``numtxeqpretaps`` to determine
|
|
844
|
+
the number of taps and layout.
|
|
836
845
|
|
|
837
846
|
.. note::
|
|
838
847
|
|
|
@@ -849,44 +858,63 @@ class PL1_PHYTXEQ_LEVEL:
|
|
|
849
858
|
_serdes_xindex: int
|
|
850
859
|
|
|
851
860
|
class GetDataAttr(ResponseBodyStruct):
|
|
852
|
-
|
|
853
|
-
"""
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
post: int = field(XmpInt())
|
|
861
|
-
"""integer, post tap value in dB/10, ranges from 0 to 187 Default = 0 (neutral)"""
|
|
862
|
-
|
|
861
|
+
tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
862
|
+
"""list of integers, TX EQ tap values in mV/dB. The number and layout depend on the platform:
|
|
863
|
+
|
|
864
|
+
- Regular Freya: [pre3, pre2, pre, main, post] where pre3/pre2 in dB/10 (0-71), pre/post in dB/10 (0-187), main in mV (507-998)
|
|
865
|
+
- Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, post_2, ..., post_m]
|
|
866
|
+
where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
|
|
867
|
+
"""
|
|
868
|
+
|
|
863
869
|
class SetDataAttr(RequestBodyStruct):
|
|
864
|
-
|
|
865
|
-
"""
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
"""integer, main tap value in mV, ranges from 507 to 998."""
|
|
872
|
-
post: int = field(XmpInt())
|
|
873
|
-
"""integer, post tap value in dB/10, ranges from 0 to 187 Default = 0 (neutral)"""
|
|
870
|
+
tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
871
|
+
"""list of integers, TX EQ tap values in mV/dB. The number and layout depend on the platform:
|
|
872
|
+
|
|
873
|
+
- Regular Freya: [pre3, pre2, pre, main, post] where pre3/pre2 in dB/10 (0-71), pre/post in dB/10 (0-187), main in mV (507-998)
|
|
874
|
+
- Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, post_2, ..., post_m]
|
|
875
|
+
where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
|
|
876
|
+
"""
|
|
874
877
|
|
|
875
878
|
def get(self) -> Token[GetDataAttr]:
|
|
879
|
+
"""Get the TX equalizer settings (mV/dB values) of the on-board PHY.
|
|
880
|
+
|
|
881
|
+
The returned tap values layout depends on the platform. Query P_CAPABILITIES
|
|
882
|
+
for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the format.
|
|
883
|
+
|
|
884
|
+
:return: list of TX EQ tap values in mV/dB
|
|
885
|
+
:rtype: PL1_PHYTXEQ_LEVEL.GetDataAttr
|
|
886
|
+
"""
|
|
876
887
|
|
|
877
888
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
|
|
878
889
|
|
|
879
|
-
def set(self,
|
|
890
|
+
def set(self, tap_values: typing.List[int]) -> Token[None]:
|
|
891
|
+
"""Set the TX equalizer settings (mV/dB values) of the on-board PHY.
|
|
892
|
+
|
|
893
|
+
The tap values layout depends on the platform. Query P_CAPABILITIES
|
|
894
|
+
for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the required format.
|
|
895
|
+
|
|
896
|
+
:param tap_values: list of TX EQ tap values in mV/dB in platform-specific order
|
|
897
|
+
:type tap_values: typing.List[int]
|
|
898
|
+
"""
|
|
880
899
|
|
|
881
900
|
return Token(
|
|
882
901
|
self._connection,
|
|
883
|
-
build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex],
|
|
884
|
-
|
|
902
|
+
build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], tap_values=tap_values))
|
|
903
|
+
|
|
885
904
|
@register_command
|
|
886
905
|
@dataclass
|
|
887
906
|
class PL1_PHYTXEQ_COEFF:
|
|
888
907
|
"""
|
|
889
|
-
Control and monitor the equalizer settings of the on-board PHY in the transmission direction (towards the transceiver cage).
|
|
908
|
+
Control and monitor the equalizer settings (IEEE coefficient values) of the on-board PHY in the transmission direction (towards the transceiver cage).
|
|
909
|
+
|
|
910
|
+
This command returns a variable number of tap values with module-dependent ordering:
|
|
911
|
+
|
|
912
|
+
- **Regular Freya**: Original fixed format [pre3, pre2, pre, main, post]
|
|
913
|
+
- **Loki-4P and H-Freya/Edun**: Variable number in N*pre, main, M*post layout
|
|
914
|
+
[pre_n, pre_n-1, ..., pre_1, main, post_1, post_2, ..., post_m]
|
|
915
|
+
|
|
916
|
+
Use P_CAPABILITIES to query ``numtxeqtaps`` and ``numtxeqpretaps`` to determine
|
|
917
|
+
the number of taps and layout.
|
|
890
918
|
|
|
891
919
|
.. note::
|
|
892
920
|
|
|
@@ -913,38 +941,48 @@ class PL1_PHYTXEQ_COEFF:
|
|
|
913
941
|
_serdes_xindex: int
|
|
914
942
|
|
|
915
943
|
class GetDataAttr(ResponseBodyStruct):
|
|
916
|
-
|
|
917
|
-
"""
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
post: int = field(XmpInt())
|
|
925
|
-
"""integer, post tap value, negative, scaled by 1E3. Default = 0 (neutral)"""
|
|
926
|
-
|
|
944
|
+
tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
945
|
+
"""list of integers, TX EQ tap values as IEEE coefficients scaled by 1E3. The number and layout depend on the platform:
|
|
946
|
+
|
|
947
|
+
- Regular Freya: [pre3, pre2, pre, main, post] where pre3/pre/post are negative, pre2/main are positive
|
|
948
|
+
- Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
|
|
949
|
+
where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
|
|
950
|
+
"""
|
|
951
|
+
|
|
927
952
|
class SetDataAttr(RequestBodyStruct):
|
|
928
|
-
|
|
929
|
-
"""
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
"""integer, main tap value, positive, scaled by 1E3. Default = 1000"""
|
|
936
|
-
post: int = field(XmpInt())
|
|
937
|
-
"""integer, post tap value, negative, scaled by 1E3. Default = 0 (neutral)"""
|
|
953
|
+
tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
954
|
+
"""list of integers, TX EQ tap values as IEEE coefficients scaled by 1E3. The number and layout depend on the platform:
|
|
955
|
+
|
|
956
|
+
- Regular Freya: [pre3, pre2, pre, main, post] where pre3/pre/post are negative, pre2/main are positive
|
|
957
|
+
- Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
|
|
958
|
+
where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
|
|
959
|
+
"""
|
|
938
960
|
|
|
939
961
|
def get(self) -> Token[GetDataAttr]:
|
|
962
|
+
"""Get the TX equalizer settings (IEEE coefficient values) of the on-board PHY.
|
|
963
|
+
|
|
964
|
+
The returned tap values layout depends on the platform. Query P_CAPABILITIES
|
|
965
|
+
for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the format.
|
|
966
|
+
|
|
967
|
+
:return: list of TX EQ tap values as IEEE coefficients scaled by 1E3
|
|
968
|
+
:rtype: PL1_PHYTXEQ_COEFF.GetDataAttr
|
|
969
|
+
"""
|
|
940
970
|
|
|
941
971
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
|
|
942
972
|
|
|
943
|
-
def set(self,
|
|
973
|
+
def set(self, tap_values: typing.List[int]) -> Token[None]:
|
|
974
|
+
"""Set the TX equalizer settings (IEEE coefficient values) of the on-board PHY.
|
|
975
|
+
|
|
976
|
+
The tap values layout depends on the platform. Query P_CAPABILITIES
|
|
977
|
+
for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the required format.
|
|
978
|
+
|
|
979
|
+
:param tap_values: list of TX EQ tap values as IEEE coefficients scaled by 1E3 in platform-specific order
|
|
980
|
+
:type tap_values: typing.List[int]
|
|
981
|
+
"""
|
|
944
982
|
|
|
945
983
|
return Token(
|
|
946
984
|
self._connection,
|
|
947
|
-
build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex],
|
|
985
|
+
build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], tap_values=tap_values))
|
|
948
986
|
|
|
949
987
|
@register_command
|
|
950
988
|
@dataclass
|
|
@@ -1345,7 +1383,16 @@ class PL1_ANLT:
|
|
|
1345
1383
|
@dataclass
|
|
1346
1384
|
class PL1_PHYTXEQ:
|
|
1347
1385
|
"""
|
|
1348
|
-
Control and monitor the equalizer settings of the on-board PHY in the transmission direction (towards the transceiver cage).
|
|
1386
|
+
Control and monitor the equalizer settings (native values) of the on-board PHY in the transmission direction (towards the transceiver cage).
|
|
1387
|
+
|
|
1388
|
+
This command returns a variable number of tap values with module-dependent ordering:
|
|
1389
|
+
|
|
1390
|
+
- **Regular Freya**: Original fixed format [pre3, pre2, pre, main, post]
|
|
1391
|
+
- **Loki-4P and H-Freya/Edun**: Variable number in N*pre, main, M*post layout
|
|
1392
|
+
[pre_n, pre_n-1, ..., pre_1, main, post_1, post_2, ..., post_m]
|
|
1393
|
+
|
|
1394
|
+
Use P_CAPABILITIES to query ``numtxeqtaps`` and ``numtxeqpretaps`` to determine
|
|
1395
|
+
the number of taps and layout.
|
|
1349
1396
|
|
|
1350
1397
|
.. note::
|
|
1351
1398
|
|
|
@@ -1362,38 +1409,48 @@ class PL1_PHYTXEQ:
|
|
|
1362
1409
|
_serdes_xindex: int
|
|
1363
1410
|
|
|
1364
1411
|
class GetDataAttr(ResponseBodyStruct):
|
|
1365
|
-
|
|
1366
|
-
"""
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
post: int = field(XmpInt())
|
|
1374
|
-
"""integer, post tap value. Default = 0 (neutral)"""
|
|
1375
|
-
|
|
1412
|
+
tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
1413
|
+
"""list of integers, TX EQ tap values (native values). The number and layout depend on the platform:
|
|
1414
|
+
|
|
1415
|
+
- Regular Freya: [pre3, pre2, pre, main, post]
|
|
1416
|
+
- Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
|
|
1417
|
+
where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
|
|
1418
|
+
"""
|
|
1419
|
+
|
|
1376
1420
|
class SetDataAttr(RequestBodyStruct):
|
|
1377
|
-
|
|
1378
|
-
"""
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
"""integer, main tap value."""
|
|
1385
|
-
post: int = field(XmpInt())
|
|
1386
|
-
"""integer, post tap value. Default = 0 (neutral)"""
|
|
1421
|
+
tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
1422
|
+
"""list of integers, TX EQ tap values (native values). The number and layout depend on the platform:
|
|
1423
|
+
|
|
1424
|
+
- Regular Freya: [pre3, pre2, pre, main, post]
|
|
1425
|
+
- Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
|
|
1426
|
+
where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
|
|
1427
|
+
"""
|
|
1387
1428
|
|
|
1388
1429
|
def get(self) -> Token[GetDataAttr]:
|
|
1430
|
+
"""Get the TX equalizer settings (native values) of the on-board PHY.
|
|
1431
|
+
|
|
1432
|
+
The returned tap values layout depends on the platform. Query P_CAPABILITIES
|
|
1433
|
+
for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the format.
|
|
1434
|
+
|
|
1435
|
+
:return: list of TX EQ tap values (native values)
|
|
1436
|
+
:rtype: PL1_PHYTXEQ.GetDataAttr
|
|
1437
|
+
"""
|
|
1389
1438
|
|
|
1390
1439
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
|
|
1391
1440
|
|
|
1392
|
-
def set(self,
|
|
1441
|
+
def set(self, tap_values: typing.List[int]) -> Token[None]:
|
|
1442
|
+
"""Set the TX equalizer settings (native values) of the on-board PHY.
|
|
1443
|
+
|
|
1444
|
+
The tap values layout depends on the platform. Query P_CAPABILITIES
|
|
1445
|
+
for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the required format.
|
|
1446
|
+
|
|
1447
|
+
:param tap_values: list of TX EQ tap values (native values) in platform-specific order
|
|
1448
|
+
:type tap_values: typing.List[int]
|
|
1449
|
+
"""
|
|
1393
1450
|
|
|
1394
1451
|
return Token(
|
|
1395
1452
|
self._connection,
|
|
1396
|
-
build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex],
|
|
1453
|
+
build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], tap_values=tap_values))
|
|
1397
1454
|
|
|
1398
1455
|
@register_command
|
|
1399
1456
|
@dataclass
|
|
@@ -595,7 +595,7 @@ class PP_PMAERRPUL_PARAMS:
|
|
|
595
595
|
def set(self, duration: int, period: int, repetition: int, coeff: int, exp: int) -> Token[None]:
|
|
596
596
|
"""Set PMA pulse error injection settings.
|
|
597
597
|
|
|
598
|
-
:param duration: 0 ms -
|
|
598
|
+
:param duration: 0 ms - 5000 ms; increments of 1 ms; 0 = constant BER
|
|
599
599
|
:type duration: int
|
|
600
600
|
:param period: 10 ms - 50000 ms; number of ms - must be multiple of 10 ms
|
|
601
601
|
:type period: int
|
|
@@ -1117,7 +1117,19 @@ class PP_EYEINFO:
|
|
|
1117
1117
|
class PP_PHYTXEQ:
|
|
1118
1118
|
"""
|
|
1119
1119
|
Control and monitor the equalizer settings of the on-board PHY in the
|
|
1120
|
-
transmission direction (towards the transceiver cage)
|
|
1120
|
+
transmission direction (towards the transceiver cage).
|
|
1121
|
+
|
|
1122
|
+
This command returns a variable number of tap values with module-dependent ordering:
|
|
1123
|
+
|
|
1124
|
+
- **Legacy Loki-2P/Thor**: Original fixed format [pre, main, post, pre2, pre3, mode]
|
|
1125
|
+
- **Regular Freya**: Original fixed format [pre, main, post, pre2, pre3, mode]
|
|
1126
|
+
- **Loki-4P and H-Freya/Edun**: Variable number in N*pre, main, M*post layout
|
|
1127
|
+
[pre_n, pre_n-1, ..., pre_1, main, post_1, post_2, ..., post_m]
|
|
1128
|
+
|
|
1129
|
+
Use P_CAPABILITIES to query ``numtxeqtaps`` and ``numtxeqpretaps`` to determine
|
|
1130
|
+
the number of taps and layout:
|
|
1131
|
+
- ``numtxeqpretaps``: Number of precursor taps (N)
|
|
1132
|
+
- ``numtxeqtaps - numtxeqpretaps - 1``: Number of postcursor taps (M)
|
|
1121
1133
|
|
|
1122
1134
|
.. versionchanged:: 1.1
|
|
1123
1135
|
|
|
@@ -1132,63 +1144,46 @@ class PP_PHYTXEQ:
|
|
|
1132
1144
|
_serdes_xindex: int
|
|
1133
1145
|
|
|
1134
1146
|
class GetDataAttr(ResponseBodyStruct):
|
|
1135
|
-
|
|
1136
|
-
"""
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
"""integer, preemphasis, (range: Module dependent), default = 0 (neutral)."""
|
|
1143
|
-
pre3_post2: int = field(XmpInt())
|
|
1144
|
-
"""integer, postemphasis, (range: Module dependent), default = 0 (neutral)."""
|
|
1145
|
-
post3: int = field(XmpInt())
|
|
1146
|
-
"""integer, postemphasis, (range: Module dependent), default = 0 (neutral)."""
|
|
1147
|
-
mode: int = field(XmpInt())
|
|
1148
|
-
"""integer, value must be 4"""
|
|
1147
|
+
tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
1148
|
+
"""list of integers, TX EQ tap values. The number and layout depend on the platform:
|
|
1149
|
+
|
|
1150
|
+
- Legacy Loki-2P/Thor and Regular Freya: [pre, main, post, pre2, pre3, mode]
|
|
1151
|
+
- Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
|
|
1152
|
+
where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
|
|
1153
|
+
"""
|
|
1149
1154
|
|
|
1150
1155
|
class SetDataAttr(RequestBodyStruct):
|
|
1151
|
-
|
|
1152
|
-
"""
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
"""integer, preemphasis, (range: Module dependent), default = 0 (neutral)."""
|
|
1159
|
-
pre3_post2: int = field(XmpInt())
|
|
1160
|
-
"""integer, postemphasis, (range: Module dependent), default = 0 (neutral)."""
|
|
1161
|
-
post3: int = field(XmpInt())
|
|
1162
|
-
"""integer, postemphasis, (range: Module dependent), default = 0 (neutral)."""
|
|
1163
|
-
mode: int = field(XmpInt())
|
|
1164
|
-
"""integer, value must be 4"""
|
|
1156
|
+
tap_values: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
1157
|
+
"""list of integers, TX EQ tap values. The number and layout depend on the platform:
|
|
1158
|
+
|
|
1159
|
+
- Legacy Loki-2P/Thor and Regular Freya: [pre, main, post, pre2, pre3, mode]
|
|
1160
|
+
- Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
|
|
1161
|
+
where N = numtxeqpretaps and M = numtxeqtaps - numtxeqpretaps - 1
|
|
1162
|
+
"""
|
|
1165
1163
|
|
|
1166
1164
|
def get(self) -> Token[GetDataAttr]:
|
|
1167
|
-
"""Get the equalizer settings of the on-board PHY
|
|
1168
|
-
|
|
1165
|
+
"""Get the TX equalizer settings of the on-board PHY.
|
|
1166
|
+
|
|
1167
|
+
The returned tap values layout depends on the platform. Query P_CAPABILITIES
|
|
1168
|
+
for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the format.
|
|
1169
1169
|
|
|
1170
|
-
:return:
|
|
1170
|
+
:return: list of TX EQ tap values
|
|
1171
1171
|
:rtype: PP_PHYTXEQ.GetDataAttr
|
|
1172
1172
|
"""
|
|
1173
1173
|
|
|
1174
1174
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
|
|
1175
1175
|
|
|
1176
|
-
def set(self,
|
|
1177
|
-
"""Set the equalizer settings of the on-board PHY
|
|
1178
|
-
|
|
1176
|
+
def set(self, tap_values: typing.List[int]) -> Token[None]:
|
|
1177
|
+
"""Set the TX equalizer settings of the on-board PHY.
|
|
1178
|
+
|
|
1179
|
+
The tap values layout depends on the platform. Query P_CAPABILITIES
|
|
1180
|
+
for ``numtxeqtaps`` and ``numtxeqpretaps`` to determine the required format:
|
|
1181
|
+
|
|
1182
|
+
- Legacy Loki-2P/Thor and Regular Freya: [pre, main, post, pre2, pre3, mode]
|
|
1183
|
+
- Loki-4P and H-Freya/Edun: [pre_n, ..., pre_1, main, post_1, ..., post_m]
|
|
1179
1184
|
|
|
1180
|
-
:param
|
|
1181
|
-
:type
|
|
1182
|
-
:param pre: pre emphasis
|
|
1183
|
-
:type pre: int
|
|
1184
|
-
:param main: main emphasis
|
|
1185
|
-
:type main: int
|
|
1186
|
-
:param post: post emphasis
|
|
1187
|
-
:type post: int
|
|
1188
|
-
:param pre3_post2: post2 or pre3 emphasis
|
|
1189
|
-
:type pre3_post2: int
|
|
1190
|
-
:param post3: post3 emphasis
|
|
1191
|
-
:type post3: int
|
|
1185
|
+
:param tap_values: list of TX EQ tap values in platform-specific order
|
|
1186
|
+
:type tap_values: typing.List[int]
|
|
1192
1187
|
"""
|
|
1193
1188
|
|
|
1194
1189
|
return Token(
|
|
@@ -1198,13 +1193,7 @@ class PP_PHYTXEQ:
|
|
|
1198
1193
|
module=self._module,
|
|
1199
1194
|
port=self._port,
|
|
1200
1195
|
indices=[self._serdes_xindex],
|
|
1201
|
-
|
|
1202
|
-
pre=pre,
|
|
1203
|
-
main=main,
|
|
1204
|
-
post=post,
|
|
1205
|
-
pre3_post2=pre3_post2,
|
|
1206
|
-
post3=post3,
|
|
1207
|
-
mode=4))
|
|
1196
|
+
tap_values=tap_values))
|
|
1208
1197
|
|
|
1209
1198
|
|
|
1210
1199
|
@register_command
|
|
@@ -284,21 +284,21 @@ class PR_TPLDERRORS:
|
|
|
284
284
|
class GetDataAttr(ResponseBodyStruct):
|
|
285
285
|
dummy: int = field(XmpLong())
|
|
286
286
|
"""long integer, not in use."""
|
|
287
|
-
|
|
288
|
-
"""long integer,
|
|
289
|
-
|
|
290
|
-
"""long integer,
|
|
291
|
-
|
|
292
|
-
"""long integer,
|
|
287
|
+
packet_loss_by_seq: int = field(XmpLong())
|
|
288
|
+
"""long integer, Number of packet loss calculated by detecting gaps in received sequence numbers from test payload, where each missing number indicates a lost packet."""
|
|
289
|
+
misorder_by_seq: int = field(XmpLong())
|
|
290
|
+
"""long integer, Number of misordered packets calculated by detecting packets that arrive with a sequence number lower than the highest seen so far, indicating out-of-order delivery."""
|
|
291
|
+
payload_err_packets: int = field(XmpLong())
|
|
292
|
+
"""long integer, Number of packets with payload integrity errors."""
|
|
293
293
|
|
|
294
294
|
def get(self) -> Token[GetDataAttr]:
|
|
295
295
|
"""Get statistics concerning errors in the packets with a particular test payload id received on a port.
|
|
296
296
|
|
|
297
297
|
:return:
|
|
298
298
|
dummy value not in use,
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
299
|
+
Number of packet loss by sequence number,
|
|
300
|
+
Number of misordered packets by sequence number,
|
|
301
|
+
Number of packets with payload integrity errors.
|
|
302
302
|
|
|
303
303
|
:rtype: PR_TPLDERRORS.GetDataAttr
|
|
304
304
|
"""
|
|
@@ -532,12 +532,13 @@ class PR_TOTALEXT:
|
|
|
532
532
|
packet_count_since_cleared: int = field(XmpLong())
|
|
533
533
|
"""long integer, number of packets received since statistics were cleared."""
|
|
534
534
|
fcs_error_count: int = field(XmpLong())
|
|
535
|
-
|
|
535
|
+
"""long integer, number of Rx packets with a bad FCS."""
|
|
536
536
|
oversize_count: int = field(XmpLong())
|
|
537
|
-
|
|
537
|
+
"""long integer, number of oversize packets (>1518 bytes) received since last clear (-1 if this counter is not supported by the tester)."""
|
|
538
538
|
undersize_count: int = field(XmpLong())
|
|
539
|
-
|
|
539
|
+
"""long integer, number of undersize packets (<64 bytes) received since last clear (-1 if this counter is not supported by the tester)."""
|
|
540
540
|
jabber_count: int = field(XmpLong())
|
|
541
|
+
"""long integer, number of jabber packets (oversized with a bad FCS) received since last clear (-1 if this counter is not supported by the tester)."""
|
|
541
542
|
|
|
542
543
|
def get(self) -> Token[GetDataAttr]:
|
|
543
544
|
"""Get statistics concerning all the packets received on a port.
|
|
@@ -548,10 +549,10 @@ class PR_TOTALEXT:
|
|
|
548
549
|
number of packets received in the last second,
|
|
549
550
|
number of bytes received since statistics were cleared,
|
|
550
551
|
number of packets received since statistics were cleared,
|
|
551
|
-
number of packets received with
|
|
552
|
-
number of oversize packets received since last clear (-1 if this counter is not supported by the tester),
|
|
553
|
-
number of undersize packets received since last clear (-1 if this counter is not supported by the tester),
|
|
554
|
-
number of jabber packets received since last clear (-1 if this counter is not supported by the tester).
|
|
552
|
+
number of packets received with a bad FCS,
|
|
553
|
+
number of oversize packets (>1518 bytes) received since last clear (-1 if this counter is not supported by the tester),
|
|
554
|
+
number of undersize packets (<64 bytes) received since last clear (-1 if this counter is not supported by the tester),
|
|
555
|
+
number of jabber packets (oversized with a bad FCS) received since last clear (-1 if this counter is not supported by the tester).
|
|
555
556
|
|
|
556
557
|
:rtype: PR_TOTALEXT.GetDataAttr
|
|
557
558
|
"""
|
|
@@ -166,8 +166,28 @@ class PT_EXTRA:
|
|
|
166
166
|
_port: int
|
|
167
167
|
|
|
168
168
|
class GetDataAttr(ResponseBodyStruct):
|
|
169
|
-
|
|
169
|
+
tx_arp_request_count: int = field(XmpLong())
|
|
170
170
|
"""long integer, number of ARP requests transmitted"""
|
|
171
|
+
tx_arp_reply_count: int = field(XmpLong())
|
|
172
|
+
"""long integer, number of ARP responses transmitted"""
|
|
173
|
+
tx_ping_request_count: int = field(XmpLong())
|
|
174
|
+
"""long integer, number of PING requests transmitted"""
|
|
175
|
+
tx_ping_reply_count: int = field(XmpLong())
|
|
176
|
+
"""long integer, number of PING responses transmitted"""
|
|
177
|
+
tx_fcs_inj_count: int = field(XmpLong())
|
|
178
|
+
"""long integer, number of FCS errors injected"""
|
|
179
|
+
tx_seq_inj_count: int = field(XmpLong())
|
|
180
|
+
"""long integer, number of sequence mismatch errors injected"""
|
|
181
|
+
tx_mis_inj_count: int = field(XmpLong())
|
|
182
|
+
"""long integer, number of packet misordering errors injected"""
|
|
183
|
+
tx_pld_inj_count: int = field(XmpLong())
|
|
184
|
+
"""long integer, number of payload errors injected"""
|
|
185
|
+
tx_tpld_inj_count: int = field(XmpLong())
|
|
186
|
+
"""long integer, number of payload integrity errors injected"""
|
|
187
|
+
tx_mac_train_count: int = field(XmpLong())
|
|
188
|
+
"""long integer, number of MAC learning (training) packets transmitted"""
|
|
189
|
+
tx_igmp_join_count: int = field(XmpLong())
|
|
190
|
+
"""long integer, number of IGMP JOIN packets transmitted"""
|
|
171
191
|
|
|
172
192
|
def get(self) -> Token[GetDataAttr]:
|
|
173
193
|
"""Get additional statistics for packets transmitted on a port.
|