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
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import functools
|
|
2
|
-
from typing import TYPE_CHECKING, Tuple
|
|
3
|
-
from typing import Self
|
|
4
|
-
from xoa_driver.internals.commands import (
|
|
5
|
-
P_DYNAMIC,
|
|
6
|
-
)
|
|
7
|
-
from xoa_driver.internals.utils import attributes as utils
|
|
8
|
-
if TYPE_CHECKING:
|
|
9
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
10
|
-
|
|
11
|
-
from .bases.port_l23_genuine import BasePortL23Genuine
|
|
12
|
-
from .pcs_pma_ghijkl import (
|
|
13
|
-
PcsPma,
|
|
14
|
-
SerDes,
|
|
15
|
-
)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class FamilyG(BasePortL23Genuine):
|
|
19
|
-
pcs_pma: PcsPma
|
|
20
|
-
"""PCS/PMA settings.
|
|
21
|
-
|
|
22
|
-
:type: ~xoa_driver.internals.hli_v1.ports.port_l23.pcs_pma_ghijkl.PcsPma
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
serdes: Tuple[SerDes, ...]
|
|
26
|
-
"""SerDes index
|
|
27
|
-
|
|
28
|
-
:type: Tuple[SerDes, ...]
|
|
29
|
-
"""
|
|
30
|
-
|
|
31
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
32
|
-
super().__init__(conn, module_id, port_id)
|
|
33
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
34
|
-
"""L23 port's dynamic traffic change.
|
|
35
|
-
|
|
36
|
-
:type: P_DYNAMIC
|
|
37
|
-
"""
|
|
38
|
-
|
|
39
|
-
async def _setup(self) -> Self:
|
|
40
|
-
await super()._setup()
|
|
41
|
-
self.serdes = tuple(
|
|
42
|
-
SerDes(self._conn, *self.kind, serdes_xindex=serdes_xindex)
|
|
43
|
-
for serdes_xindex in range(self.info.capabilities.serdes_count)
|
|
44
|
-
)
|
|
45
|
-
self.pcs_pma = PcsPma(self._conn, self)
|
|
46
|
-
return self
|
|
47
|
-
|
|
48
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
49
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
class PLoki100G3S1P(FamilyG):
|
|
53
|
-
"""L23 port on Loki-100G-3S-1P module.
|
|
54
|
-
"""
|
|
55
|
-
...
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
class PLoki100G3S1P_b(FamilyG):
|
|
59
|
-
"""L23 port on Loki-100G-3S-1P[b] module.
|
|
60
|
-
"""
|
|
61
|
-
...
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
class PLoki100G3S1PSE(FamilyG):
|
|
65
|
-
"""L23 port on Loki-100G-3S-1P-SE module.
|
|
66
|
-
"""
|
|
67
|
-
...
|
|
68
|
-
|
|
69
|
-
class PLoki100G3S1PB(FamilyG):
|
|
70
|
-
"""L23 port on Loki-100G-3S-1P-B module.
|
|
71
|
-
"""
|
|
72
|
-
...
|
|
73
|
-
|
|
74
|
-
class PLoki100G3S1PB_b(FamilyG):
|
|
75
|
-
"""L23 port on Loki-100G-3S-1P-B[b] module.
|
|
76
|
-
"""
|
|
77
|
-
...
|
|
File without changes
|
|
File without changes
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import abc
|
|
2
|
-
from typing import (
|
|
3
|
-
List,
|
|
4
|
-
TypeVar,
|
|
5
|
-
Type,
|
|
6
|
-
TYPE_CHECKING,
|
|
7
|
-
)
|
|
8
|
-
if TYPE_CHECKING:
|
|
9
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
10
|
-
from xoa_driver.internals.utils import kind
|
|
11
|
-
from xoa_driver.internals.utils.indices import observer
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
CT = TypeVar("CT")
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class BaseIndex(abc.ABC):
|
|
18
|
-
def __init__(self, conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "observer.IndicesObserver") -> None:
|
|
19
|
-
self._observer = observer
|
|
20
|
-
self._conn = conn
|
|
21
|
-
self.kind = kind
|
|
22
|
-
|
|
23
|
-
@property
|
|
24
|
-
def idx(self) -> int:
|
|
25
|
-
return self.kind.index_id
|
|
26
|
-
|
|
27
|
-
@abc.abstractmethod
|
|
28
|
-
async def delete(self) -> None:
|
|
29
|
-
raise NotImplementedError()
|
|
30
|
-
|
|
31
|
-
@classmethod
|
|
32
|
-
@abc.abstractmethod
|
|
33
|
-
async def _fetch(cls, conn: "itf.IConnection", module_id: int, port_id: int) -> List[int]:
|
|
34
|
-
raise NotImplementedError()
|
|
35
|
-
|
|
36
|
-
@classmethod
|
|
37
|
-
@abc.abstractmethod
|
|
38
|
-
async def _new(cls: Type[CT], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "observer.IndicesObserver") -> CT:
|
|
39
|
-
raise NotImplementedError()
|
|
File without changes
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
from typing import (
|
|
2
|
-
final,
|
|
3
|
-
List,
|
|
4
|
-
Type,
|
|
5
|
-
TypeVar,
|
|
6
|
-
TYPE_CHECKING,
|
|
7
|
-
)
|
|
8
|
-
|
|
9
|
-
from xoa_driver.internals.commands import (
|
|
10
|
-
P4G_INDICES,
|
|
11
|
-
P4G_CREATE,
|
|
12
|
-
P4G_DELETE,
|
|
13
|
-
P4G_ENABLE,
|
|
14
|
-
P4G_COMMENT,
|
|
15
|
-
P4G_CLEAR_COUNTERS,
|
|
16
|
-
P4G_ROLE,
|
|
17
|
-
P4G_LP_TIME_SCALE,
|
|
18
|
-
P4G_LP_SHAPE,
|
|
19
|
-
P4G_TEST_APPLICATION,
|
|
20
|
-
P4G_L4_PROTOCOL,
|
|
21
|
-
)
|
|
22
|
-
if TYPE_CHECKING:
|
|
23
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
24
|
-
from xoa_driver.internals.utils import kind
|
|
25
|
-
from xoa_driver.internals.utils.indices import observer as idx_obs
|
|
26
|
-
from .tls import GTls
|
|
27
|
-
from .l2 import GL2
|
|
28
|
-
from .raw import GRaw
|
|
29
|
-
from .tcp import GTcp
|
|
30
|
-
from .udp import GUdp
|
|
31
|
-
from .replay import GReplay
|
|
32
|
-
from .l3 import GL3
|
|
33
|
-
from .user_state import GUserState
|
|
34
|
-
from .histogram import GHistogram
|
|
35
|
-
|
|
36
|
-
from ..base_index import BaseIndex
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
class GCounters:
|
|
40
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
41
|
-
self.clear = P4G_CLEAR_COUNTERS(conn, module_id, port_id, group_idx)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
class GLoadProfile:
|
|
45
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
46
|
-
self.time_scale = P4G_LP_TIME_SCALE(conn, module_id, port_id, group_idx)
|
|
47
|
-
self.shape = P4G_LP_SHAPE(conn, module_id, port_id, group_idx)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
CG = TypeVar("CG")
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
@final
|
|
54
|
-
class ConnectionGroupIdx(BaseIndex):
|
|
55
|
-
"""L47 Connection Group Index Manager"""
|
|
56
|
-
def __init__(self, conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> None:
|
|
57
|
-
super().__init__(conn, kind, observer)
|
|
58
|
-
|
|
59
|
-
self.comment = P4G_COMMENT(self._conn, *kind)
|
|
60
|
-
"""
|
|
61
|
-
Representation of p4g_commands.P4G_COMMENT
|
|
62
|
-
"""
|
|
63
|
-
self.status = P4G_ENABLE(self._conn, *kind)
|
|
64
|
-
"""
|
|
65
|
-
Representation of p4g_commands.P4G_ENABLE
|
|
66
|
-
"""
|
|
67
|
-
self.role = P4G_ROLE(self._conn, *kind)
|
|
68
|
-
"""
|
|
69
|
-
Representation of p4g_commands.P4G_ROLE
|
|
70
|
-
"""
|
|
71
|
-
self.layer4_protocol = P4G_L4_PROTOCOL(self._conn, *kind)
|
|
72
|
-
"""
|
|
73
|
-
Representation of p4g_commands.P4G_L4_PROTOCOL
|
|
74
|
-
"""
|
|
75
|
-
self.test_application = P4G_TEST_APPLICATION(self._conn, *kind)
|
|
76
|
-
"""
|
|
77
|
-
Representation of p4g_commands.P4G_TEST_APPLICATION
|
|
78
|
-
"""
|
|
79
|
-
|
|
80
|
-
self.tls = GTls(self._conn, *kind)
|
|
81
|
-
"""TLS configurations."""
|
|
82
|
-
self.l2 = GL2(self._conn, *kind)
|
|
83
|
-
"""L2 configurations."""
|
|
84
|
-
self.raw = GRaw(self._conn, *kind)
|
|
85
|
-
"""Raw configurations."""
|
|
86
|
-
self.tcp = GTcp(self._conn, *kind)
|
|
87
|
-
"""TCP configurations."""
|
|
88
|
-
self.udp = GUdp(self._conn, *kind)
|
|
89
|
-
"""UDP configurations."""
|
|
90
|
-
self.replay = GReplay(self._conn, *kind)
|
|
91
|
-
"""Replay configurations."""
|
|
92
|
-
self.l3 = GL3(self._conn, *kind)
|
|
93
|
-
"""L3 configurations."""
|
|
94
|
-
self.user_state = GUserState(self._conn, *kind)
|
|
95
|
-
"""User state configurations."""
|
|
96
|
-
self.histogram = GHistogram(self._conn, *kind)
|
|
97
|
-
"""Histogram configurations."""
|
|
98
|
-
self.counters = GCounters(self._conn, *kind)
|
|
99
|
-
"""Counters."""
|
|
100
|
-
self.load_profile = GLoadProfile(self._conn, *kind)
|
|
101
|
-
"""Load Profile configurations."""
|
|
102
|
-
|
|
103
|
-
async def delete(self):
|
|
104
|
-
await P4G_DELETE(self._conn, *self.kind).set()
|
|
105
|
-
self._observer.notify(idx_obs.IndexEvents.DEL, self)
|
|
106
|
-
|
|
107
|
-
@classmethod
|
|
108
|
-
async def _fetch(cls, conn: "itf.IConnection", module_id: int, port_id: int) -> List[int]:
|
|
109
|
-
resp = await P4G_INDICES(conn, module_id, port_id).get()
|
|
110
|
-
return list(resp.group_identifiers)
|
|
111
|
-
|
|
112
|
-
@classmethod
|
|
113
|
-
async def _new(cls: Type[CG], conn: "itf.IConnection", kind: "kind.IndicesKind", observer: "idx_obs.IndicesObserver") -> CG:
|
|
114
|
-
await P4G_CREATE(conn, *kind).set()
|
|
115
|
-
return cls(conn, kind, observer)
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING
|
|
2
|
-
if TYPE_CHECKING:
|
|
3
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
4
|
-
from xoa_driver.internals.commands import (
|
|
5
|
-
P4G_TIME_HIST_CONF,
|
|
6
|
-
P4G_PAYLOAD_HIST_CONF,
|
|
7
|
-
P4G_TRANSACTION_HIST_CONF,
|
|
8
|
-
P4G_APP_TRANSACTION_HIST,
|
|
9
|
-
P4G_RECALC_TIME_HIST,
|
|
10
|
-
P4G_RECALC_PAYLOAD_HIST,
|
|
11
|
-
P4G_RECALC_TRANSACTION_HIST,
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class GConfigHistogram:
|
|
16
|
-
"""L47 Histogram Config"""
|
|
17
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
18
|
-
self.time = P4G_TIME_HIST_CONF(conn, module_id, port_id, group_idx)
|
|
19
|
-
"""
|
|
20
|
-
Representation of P4G_TIME_HIST_CONF
|
|
21
|
-
"""
|
|
22
|
-
self.payload = P4G_PAYLOAD_HIST_CONF(conn, module_id, port_id, group_idx)
|
|
23
|
-
"""
|
|
24
|
-
Representation of P4G_PAYLOAD_HIST_CONF
|
|
25
|
-
"""
|
|
26
|
-
self.transaction = P4G_TRANSACTION_HIST_CONF(conn, module_id, port_id, group_idx)
|
|
27
|
-
"""
|
|
28
|
-
Representation of P4G_TRANSACTION_HIST_CONF
|
|
29
|
-
"""
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
class GRecalculatesHistogram:
|
|
33
|
-
"""L47 Histogram Recalculation."""
|
|
34
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
35
|
-
self.time = P4G_RECALC_TIME_HIST(conn, module_id, port_id, group_idx)
|
|
36
|
-
"""
|
|
37
|
-
Representation of P4G_RECALC_TIME_HIST
|
|
38
|
-
"""
|
|
39
|
-
self.payload = P4G_RECALC_PAYLOAD_HIST(conn, module_id, port_id, group_idx)
|
|
40
|
-
"""
|
|
41
|
-
Representation of P4G_RECALC_PAYLOAD_HIST
|
|
42
|
-
"""
|
|
43
|
-
self.transaction = P4G_RECALC_TRANSACTION_HIST(conn, module_id, port_id, group_idx)
|
|
44
|
-
"""
|
|
45
|
-
Representation of P4G_RECALC_TRANSACTION_HIST
|
|
46
|
-
"""
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
class GHistogram:
|
|
50
|
-
"""L47 Histogram."""
|
|
51
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
52
|
-
self.transaction = P4G_APP_TRANSACTION_HIST(conn, module_id, port_id, group_idx)
|
|
53
|
-
"""
|
|
54
|
-
Representation of P4G_APP_TRANSACTION_HIST
|
|
55
|
-
"""
|
|
56
|
-
self.recalculates = GRecalculatesHistogram(conn, module_id, port_id, group_idx)
|
|
57
|
-
"""L47 Histogram Recalculation."""
|
|
58
|
-
self.config = GConfigHistogram(conn, module_id, port_id, group_idx)
|
|
59
|
-
"""L47 Histogram Config"""
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING
|
|
2
|
-
if TYPE_CHECKING:
|
|
3
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
4
|
-
from xoa_driver.internals.commands import (
|
|
5
|
-
P4G_L2_CLIENT_MAC,
|
|
6
|
-
P4G_L2_SERVER_MAC,
|
|
7
|
-
P4G_L2_USE_ADDRESS_RES,
|
|
8
|
-
P4G_L2_USE_GW,
|
|
9
|
-
P4G_L2_GW,
|
|
10
|
-
P4G_L2_IPV6_GW,
|
|
11
|
-
P4G_VLAN_ENABLE,
|
|
12
|
-
P4G_VLAN_TCI,
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class GMacL2:
|
|
17
|
-
"""L2 MAC"""
|
|
18
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
19
|
-
self.client = P4G_L2_CLIENT_MAC(conn, module_id, port_id, group_idx)
|
|
20
|
-
"""
|
|
21
|
-
Representation of P4G_L2_CLIENT_MAC
|
|
22
|
-
"""
|
|
23
|
-
self.server = P4G_L2_SERVER_MAC(conn, module_id, port_id, group_idx)
|
|
24
|
-
"""
|
|
25
|
-
Representation of P4G_L2_SERVER_MAC
|
|
26
|
-
"""
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class GGatewayL2:
|
|
30
|
-
"""L2 Gateway"""
|
|
31
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
32
|
-
self.use = P4G_L2_USE_GW(conn, module_id, port_id, group_idx)
|
|
33
|
-
"""
|
|
34
|
-
Representation of P4G_L2_USE_GW
|
|
35
|
-
"""
|
|
36
|
-
self.ipv4 = P4G_L2_GW(conn, module_id, port_id, group_idx)
|
|
37
|
-
"""
|
|
38
|
-
Representation of P4G_L2_GW
|
|
39
|
-
"""
|
|
40
|
-
self.ipv6 = P4G_L2_IPV6_GW(conn, module_id, port_id, group_idx)
|
|
41
|
-
"""
|
|
42
|
-
Representation of P4G_L2_IPV6_GW
|
|
43
|
-
"""
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
class GVlanL2:
|
|
47
|
-
"""L2 VLAN"""
|
|
48
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
49
|
-
self.enable = P4G_VLAN_ENABLE(conn, module_id, port_id, group_idx)
|
|
50
|
-
"""
|
|
51
|
-
Representation of P4G_VLAN_ENABLE
|
|
52
|
-
"""
|
|
53
|
-
self.tci = P4G_VLAN_TCI(conn, module_id, port_id, group_idx)
|
|
54
|
-
"""
|
|
55
|
-
Representation of P4G_VLAN_TCI
|
|
56
|
-
"""
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
class GL2:
|
|
60
|
-
"""L2 Configurations"""
|
|
61
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
62
|
-
self.address_resolve = P4G_L2_USE_ADDRESS_RES(conn, module_id, port_id, group_idx)
|
|
63
|
-
"""
|
|
64
|
-
Representation of P4G_L2_USE_ADDRESS_RES
|
|
65
|
-
"""
|
|
66
|
-
self.mac = GMacL2(conn, module_id, port_id, group_idx)
|
|
67
|
-
"""L2 MAC"""
|
|
68
|
-
self.gateway = GGatewayL2(conn, module_id, port_id, group_idx)
|
|
69
|
-
"""L2 Gateway"""
|
|
70
|
-
self.vlan = GVlanL2(conn, module_id, port_id, group_idx)
|
|
71
|
-
"""L2 VLAN"""
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING
|
|
2
|
-
if TYPE_CHECKING:
|
|
3
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
4
|
-
from xoa_driver.internals.commands import (
|
|
5
|
-
P4G_CLIENT_RANGE,
|
|
6
|
-
P4G_SERVER_RANGE,
|
|
7
|
-
P4G_IP_DS_TYPE,
|
|
8
|
-
P4G_IP_DS_VALUE,
|
|
9
|
-
P4G_IP_DS_MASK,
|
|
10
|
-
P4G_IP_DS_MINMAX,
|
|
11
|
-
P4G_IP_DS_STEP,
|
|
12
|
-
P4G_IP_VERSION,
|
|
13
|
-
P4G_IPV6_CLIENT_RANGE,
|
|
14
|
-
P4G_IPV6_SERVER_RANGE,
|
|
15
|
-
P4G_IPV6_TRAFFIC_CLASS,
|
|
16
|
-
P4G_IPV6_FLOW_LABEL,
|
|
17
|
-
P4G_NAT,
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class GIPv4L3:
|
|
22
|
-
"""L3 IPv4"""
|
|
23
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
24
|
-
self.client_range = P4G_CLIENT_RANGE(conn, module_id, port_id, group_idx)
|
|
25
|
-
"""
|
|
26
|
-
Representation P4G_CLIENT_RANGE
|
|
27
|
-
"""
|
|
28
|
-
self.server_range = P4G_SERVER_RANGE(conn, module_id, port_id, group_idx)
|
|
29
|
-
"""
|
|
30
|
-
Representation P4G_SERVER_RANGE
|
|
31
|
-
"""
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
class GIPv6L3:
|
|
35
|
-
"""L3 IPv6"""
|
|
36
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
37
|
-
self.client_range = P4G_IPV6_CLIENT_RANGE(conn, module_id, port_id, group_idx)
|
|
38
|
-
"""
|
|
39
|
-
Representation P4G_IPV6_CLIENT_RANGE
|
|
40
|
-
"""
|
|
41
|
-
self.server_range = P4G_IPV6_SERVER_RANGE(conn, module_id, port_id, group_idx)
|
|
42
|
-
"""
|
|
43
|
-
Representation P4G_IPV6_SERVER_RANGE
|
|
44
|
-
"""
|
|
45
|
-
self.traffic_class = P4G_IPV6_TRAFFIC_CLASS(conn, module_id, port_id, group_idx)
|
|
46
|
-
"""
|
|
47
|
-
Representation P4G_IPV6_TRAFFIC_CLASS
|
|
48
|
-
"""
|
|
49
|
-
self.flow_label = P4G_IPV6_FLOW_LABEL(conn, module_id, port_id, group_idx)
|
|
50
|
-
"""
|
|
51
|
-
Representation P4G_IPV6_FLOW_LABEL
|
|
52
|
-
"""
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
class GDifferentialServiceL3:
|
|
56
|
-
"""L3 Differential Service"""
|
|
57
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
58
|
-
self.type = P4G_IP_DS_TYPE(conn, module_id, port_id, group_idx)
|
|
59
|
-
"""
|
|
60
|
-
Representation P4G_IP_DS_TYPE
|
|
61
|
-
"""
|
|
62
|
-
self.value = P4G_IP_DS_VALUE(conn, module_id, port_id, group_idx)
|
|
63
|
-
"""
|
|
64
|
-
Representation P4G_IP_DS_VALUE
|
|
65
|
-
"""
|
|
66
|
-
self.mask = P4G_IP_DS_MASK(conn, module_id, port_id, group_idx)
|
|
67
|
-
"""
|
|
68
|
-
Representation P4G_IP_DS_MASK
|
|
69
|
-
"""
|
|
70
|
-
self.range_limits = P4G_IP_DS_MINMAX(conn, module_id, port_id, group_idx)
|
|
71
|
-
"""
|
|
72
|
-
Representation P4G_IP_DS_MINMAX
|
|
73
|
-
"""
|
|
74
|
-
self.step = P4G_IP_DS_STEP(conn, module_id, port_id, group_idx)
|
|
75
|
-
"""
|
|
76
|
-
Representation P4G_IP_DS_STEP
|
|
77
|
-
"""
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
class GL3:
|
|
81
|
-
"""L3 Configurations"""
|
|
82
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
83
|
-
self.ip_version = P4G_IP_VERSION(conn, module_id, port_id, group_idx)
|
|
84
|
-
"""
|
|
85
|
-
Representation P4G_IP_VERSION
|
|
86
|
-
"""
|
|
87
|
-
self.ipv4 = GIPv4L3(conn, module_id, port_id, group_idx)
|
|
88
|
-
"""L3 IPv4 Configurations"""
|
|
89
|
-
self.ipv6 = GIPv6L3(conn, module_id, port_id, group_idx)
|
|
90
|
-
"""L3 IPv6 Configurations"""
|
|
91
|
-
self.diffserv = GDifferentialServiceL3(conn, module_id, port_id, group_idx)
|
|
92
|
-
"""L3 IPv6 DS Configurations"""
|
|
93
|
-
self.nat = P4G_NAT(conn, module_id, port_id, group_idx) # TODO: maybe to add extra logic for this command based on the description
|
|
94
|
-
"""
|
|
95
|
-
Representation P4G_NAT
|
|
96
|
-
"""
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING
|
|
2
|
-
if TYPE_CHECKING:
|
|
3
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
4
|
-
from xoa_driver.internals.commands import (
|
|
5
|
-
P4G_RAW_TEST_SCENARIO,
|
|
6
|
-
P4G_RAW_PAYLOAD_TYPE,
|
|
7
|
-
P4G_RAW_PAYLOAD_TOTAL_LEN,
|
|
8
|
-
P4G_RAW_PAYLOAD,
|
|
9
|
-
P4G_RAW_PAYLOAD_REPEAT_LEN,
|
|
10
|
-
P4G_RAW_HAS_DOWNLOAD_REQ,
|
|
11
|
-
P4G_RAW_CLOSE_CONN,
|
|
12
|
-
P4G_RAW_UTILIZATION,
|
|
13
|
-
P4G_RAW_DOWNLOAD_REQUEST,
|
|
14
|
-
P4G_RAW_TX_DURING_RAMP,
|
|
15
|
-
P4G_RAW_TX_TIME_OFFSET,
|
|
16
|
-
P4G_RAW_BURSTY_TX,
|
|
17
|
-
P4G_RAW_BURSTY_CONF,
|
|
18
|
-
P4G_RAW_RX_PAYLOAD_LEN,
|
|
19
|
-
P4G_RAW_REQUEST_REPEAT,
|
|
20
|
-
P4G_RAW_CONN_INCARNATION,
|
|
21
|
-
P4G_RAW_CONN_REPETITIONS,
|
|
22
|
-
P4G_RAW_CONN_LIFETIME,
|
|
23
|
-
P4G_APP_TRANSACTION_COUNTERS,
|
|
24
|
-
)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class GPayloadRaw:
|
|
28
|
-
"""Payload settings of Raw type of test application"""
|
|
29
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
30
|
-
self.type = P4G_RAW_PAYLOAD_TYPE(conn, module_id, port_id, group_idx)
|
|
31
|
-
"""
|
|
32
|
-
Representation of P4G_RAW_PAYLOAD_TYPE
|
|
33
|
-
"""
|
|
34
|
-
self.total_length = P4G_RAW_PAYLOAD_TOTAL_LEN(conn, module_id, port_id, group_idx)
|
|
35
|
-
"""
|
|
36
|
-
Representation of P4G_RAW_PAYLOAD_TOTAL_LEN
|
|
37
|
-
"""
|
|
38
|
-
self.rx_length = P4G_RAW_RX_PAYLOAD_LEN(conn, module_id, port_id, group_idx)
|
|
39
|
-
"""
|
|
40
|
-
Representation of P4G_RAW_RX_PAYLOAD_LEN
|
|
41
|
-
"""
|
|
42
|
-
self.content = P4G_RAW_PAYLOAD(conn, module_id, port_id, group_idx)
|
|
43
|
-
"""
|
|
44
|
-
Representation of P4G_RAW_PAYLOAD
|
|
45
|
-
"""
|
|
46
|
-
self.repeat_length = P4G_RAW_PAYLOAD_REPEAT_LEN(conn, module_id, port_id, group_idx)
|
|
47
|
-
"""
|
|
48
|
-
Representation of P4G_RAW_PAYLOAD_REPEAT_LEN
|
|
49
|
-
"""
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
class GConnectionRaw:
|
|
53
|
-
"""Connection settings of Raw type of test application"""
|
|
54
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
55
|
-
self.incarnation = P4G_RAW_CONN_INCARNATION(conn, module_id, port_id, group_idx)
|
|
56
|
-
"""
|
|
57
|
-
Representation of P4G_RAW_CONN_INCARNATION
|
|
58
|
-
"""
|
|
59
|
-
self.repetitions = P4G_RAW_CONN_REPETITIONS(conn, module_id, port_id, group_idx)
|
|
60
|
-
"""
|
|
61
|
-
Representation of P4G_RAW_CONN_REPETITIONS
|
|
62
|
-
"""
|
|
63
|
-
self.lifetime = P4G_RAW_CONN_LIFETIME(conn, module_id, port_id, group_idx)
|
|
64
|
-
"""
|
|
65
|
-
Representation of P4G_RAW_CONN_LIFETIME
|
|
66
|
-
"""
|
|
67
|
-
self.close_condition = P4G_RAW_CLOSE_CONN(conn, module_id, port_id, group_idx)
|
|
68
|
-
"""
|
|
69
|
-
Representation of P4G_RAW_CLOSE_CONN
|
|
70
|
-
"""
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
class GBurstyRaw:
|
|
74
|
-
"""Burst settings of Raw type of test application"""
|
|
75
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
76
|
-
self.transmission = P4G_RAW_BURSTY_TX(conn, module_id, port_id, group_idx)
|
|
77
|
-
"""
|
|
78
|
-
Representation of P4G_RAW_BURSTY_TX
|
|
79
|
-
"""
|
|
80
|
-
self.config = P4G_RAW_BURSTY_CONF(conn, module_id, port_id, group_idx)
|
|
81
|
-
"""
|
|
82
|
-
Representation of P4G_RAW_BURSTY_CONF
|
|
83
|
-
"""
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
class GTransmitRaw:
|
|
87
|
-
"""Tranmission settings of Raw type of test application"""
|
|
88
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
89
|
-
self.during_ramp = P4G_RAW_TX_DURING_RAMP(conn, module_id, port_id, group_idx)
|
|
90
|
-
"""
|
|
91
|
-
Representation of P4G_RAW_TX_DURING_RAMP
|
|
92
|
-
"""
|
|
93
|
-
self.time_offset = P4G_RAW_TX_TIME_OFFSET(conn, module_id, port_id, group_idx)
|
|
94
|
-
"""
|
|
95
|
-
Representation of P4G_RAW_TX_TIME_OFFSET
|
|
96
|
-
"""
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
class GDownloadRequestRaw:
|
|
100
|
-
"""Download request settings."""
|
|
101
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
102
|
-
self.server_must_wait = P4G_RAW_HAS_DOWNLOAD_REQ(conn, module_id, port_id, group_idx)
|
|
103
|
-
"""
|
|
104
|
-
Representation of P4G_RAW_HAS_DOWNLOAD_REQ
|
|
105
|
-
"""
|
|
106
|
-
self.transactions_number = P4G_RAW_REQUEST_REPEAT(conn, module_id, port_id, group_idx)
|
|
107
|
-
"""
|
|
108
|
-
Representation of P4G_RAW_REQUEST_REPEAT
|
|
109
|
-
"""
|
|
110
|
-
self.content = P4G_RAW_DOWNLOAD_REQUEST(conn, module_id, port_id, group_idx)
|
|
111
|
-
"""
|
|
112
|
-
Representation of P4G_RAW_DOWNLOAD_REQUEST
|
|
113
|
-
"""
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
class GCountersTransaction:
|
|
117
|
-
"""Transaction counters."""
|
|
118
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
119
|
-
self.transaction = P4G_APP_TRANSACTION_COUNTERS(conn, module_id, port_id, group_idx)
|
|
120
|
-
"""
|
|
121
|
-
Representation of P4G_APP_TRANSACTION_COUNTERS
|
|
122
|
-
"""
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
class GRaw:
|
|
126
|
-
"""Raw test application configuration."""
|
|
127
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int, group_idx: int) -> None:
|
|
128
|
-
self.test_scenario = P4G_RAW_TEST_SCENARIO(conn, module_id, port_id, group_idx)
|
|
129
|
-
"""
|
|
130
|
-
Representation of P4G_RAW_TEST_SCENARIO
|
|
131
|
-
"""
|
|
132
|
-
self.utilization = P4G_RAW_UTILIZATION(conn, module_id, port_id, group_idx)
|
|
133
|
-
"""
|
|
134
|
-
Representation of P4G_RAW_UTILIZATION
|
|
135
|
-
"""
|
|
136
|
-
self.download_request = GDownloadRequestRaw(conn, module_id, port_id, group_idx)
|
|
137
|
-
"""Download request."""
|
|
138
|
-
self.payload = GPayloadRaw(conn, module_id, port_id, group_idx)
|
|
139
|
-
"""Payload configuration."""
|
|
140
|
-
self.connection = GConnectionRaw(conn, module_id, port_id, group_idx)
|
|
141
|
-
"""Connection configuration."""
|
|
142
|
-
self.bursty = GBurstyRaw(conn, module_id, port_id, group_idx)
|
|
143
|
-
"""Burst configuration."""
|
|
144
|
-
self.tx = GTransmitRaw(conn, module_id, port_id, group_idx)
|
|
145
|
-
"""Transmit configuration."""
|
|
146
|
-
|
|
147
|
-
self.transaction_counter = GCountersTransaction(conn, module_id, port_id, group_idx)
|
|
148
|
-
"""Transaction counters"""
|