tdl-xoa-driver 1.2.0__py3-none-any.whl → 1.4.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.2.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/METADATA +5 -5
- tdl_xoa_driver-1.4.0.dist-info/RECORD +218 -0
- {tdl_xoa_driver-1.2.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/WHEEL +1 -1
- xoa_driver/__init__.py +2 -2
- xoa_driver/enums.py +2 -0
- xoa_driver/functions/anlt.py +2 -2
- xoa_driver/functions/exceptions.py +7 -0
- xoa_driver/functions/mgmt.py +62 -25
- xoa_driver/hlfuncs.py +1 -1
- xoa_driver/internals/commands/enums.py +10 -1
- xoa_driver/internals/commands/m_commands.py +35 -3
- xoa_driver/internals/commands/p_commands.py +12 -10
- 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/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/{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 +20 -15
- 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_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 +1 -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 +18 -12
- 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_v2 → hli}/ports/port_l23/family_g.py +5 -0
- 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 +1 -1
- xoa_driver/misc.py +12 -17
- xoa_driver/modules.py +18 -22
- xoa_driver/ports.py +20 -20
- xoa_driver/testers.py +4 -8
- tdl_xoa_driver-1.2.0.dist-info/RECORD +0 -325
- 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.2.0.dist-info → tdl_xoa_driver-1.4.0.dist-info}/licenses/LICENSE +0 -0
- {tdl_xoa_driver-1.2.0.dist-info → tdl_xoa_driver-1.4.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_l1.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,144 +0,0 @@
|
|
|
1
|
-
import functools
|
|
2
|
-
from typing import TYPE_CHECKING
|
|
3
|
-
from xoa_driver.internals.commands import (
|
|
4
|
-
P_DYNAMIC,
|
|
5
|
-
P_TXRUNTLENGTH,
|
|
6
|
-
P_RXRUNTLENGTH,
|
|
7
|
-
P_RXRUNTLEN_ERRS,
|
|
8
|
-
P_TXPREAMBLE_REMOVE,
|
|
9
|
-
P_RXPREAMBLE_INSERT,
|
|
10
|
-
|
|
11
|
-
)
|
|
12
|
-
from xoa_driver.internals.utils import attributes as utils
|
|
13
|
-
if TYPE_CHECKING:
|
|
14
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
15
|
-
|
|
16
|
-
from .bases.port_l23_genuine import BasePortL23Genuine
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class FamilyF(BasePortL23Genuine):
|
|
20
|
-
...
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class POdin10G1S2P(FamilyF):
|
|
24
|
-
"""L23 port on Odin-10G-1S-2P module.
|
|
25
|
-
"""
|
|
26
|
-
...
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class POdin10G1S2P_b(FamilyF):
|
|
30
|
-
"""L23 port on Odin-10G-1S-2P[b] module.
|
|
31
|
-
"""
|
|
32
|
-
...
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
class POdin10G1S2P_c(FamilyF):
|
|
36
|
-
"""L23 port on Odin-10G-1S-2P[c] module.
|
|
37
|
-
"""
|
|
38
|
-
...
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
class POdin10G1S6P(FamilyF):
|
|
42
|
-
"""L23 port on Odin-10G-1S-6P module.
|
|
43
|
-
"""
|
|
44
|
-
...
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
class Runt:
|
|
48
|
-
"""Runt settings."""
|
|
49
|
-
|
|
50
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
51
|
-
self.tx_length = P_TXRUNTLENGTH(conn, module_id, port_id)
|
|
52
|
-
"""L23 port's TX runt length.
|
|
53
|
-
Representation of P_TXRUNTLENGTH
|
|
54
|
-
"""
|
|
55
|
-
|
|
56
|
-
self.rx_length = P_RXRUNTLENGTH(conn, module_id, port_id)
|
|
57
|
-
"""L23 port's RX runt length.
|
|
58
|
-
Representation of P_RXRUNTLENGTH
|
|
59
|
-
"""
|
|
60
|
-
|
|
61
|
-
self.has_length_errors = P_RXRUNTLEN_ERRS(conn, module_id, port_id)
|
|
62
|
-
"""L23 port's RX runt length errors..
|
|
63
|
-
Representation of P_RXRUNTLEN_ERRS
|
|
64
|
-
"""
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
class Preamble:
|
|
68
|
-
"""Preamble settings."""
|
|
69
|
-
|
|
70
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
71
|
-
self.tx_remove = P_TXPREAMBLE_REMOVE(conn, module_id, port_id)
|
|
72
|
-
"""L23 port's removal of preamble from outgoing packets.
|
|
73
|
-
Representation of P_TXPREAMBLE_REMOVE
|
|
74
|
-
"""
|
|
75
|
-
|
|
76
|
-
self.rx_insert = P_RXPREAMBLE_INSERT(conn, module_id, port_id)
|
|
77
|
-
"""L23 port's insertion of preamble into incoming packets.
|
|
78
|
-
Representation of P_RXPREAMBLE_INSERT
|
|
79
|
-
"""
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
class POdin10G1S6P_b(FamilyF):
|
|
83
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
84
|
-
super().__init__(conn, module_id, port_id)
|
|
85
|
-
self.runt = Runt(conn, module_id, port_id)
|
|
86
|
-
"""Runt settings."""
|
|
87
|
-
|
|
88
|
-
self.preamble = Preamble(conn, module_id, port_id)
|
|
89
|
-
"""Preamble settiNgs."""
|
|
90
|
-
|
|
91
|
-
class POdin10G6S6P_a(FamilyF):
|
|
92
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
93
|
-
super().__init__(conn, module_id, port_id)
|
|
94
|
-
self.runt = Runt(conn, module_id, port_id)
|
|
95
|
-
"""Runt settings."""
|
|
96
|
-
|
|
97
|
-
self.preamble = Preamble(conn, module_id, port_id)
|
|
98
|
-
"""Preamble settiNgs."""
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
class POdin10G1S2PT(FamilyF):
|
|
102
|
-
"""L23 port on Odin-10G-1S-2P-T module.
|
|
103
|
-
"""
|
|
104
|
-
...
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
class POdin10G1S2P_d(FamilyF):
|
|
108
|
-
"""L23 port on Odin-10G-1S-2P[d] module.
|
|
109
|
-
"""
|
|
110
|
-
...
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
class POdin10G1S12P(FamilyF):
|
|
114
|
-
"""L23 port on Odin-10G-1S-12P module.
|
|
115
|
-
"""
|
|
116
|
-
...
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
class POdin40G2S2P(FamilyF):
|
|
120
|
-
"""L23 port on Odin-40G-2S-2P module.
|
|
121
|
-
"""
|
|
122
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
123
|
-
super().__init__(conn, module_id, port_id)
|
|
124
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
125
|
-
"""L23 port's dynamic traffic change.
|
|
126
|
-
Representation of P_DYNAMIC
|
|
127
|
-
"""
|
|
128
|
-
|
|
129
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
130
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
class POdin40G2S2PB(FamilyF):
|
|
134
|
-
"""L23 port on Odin-40G-2S-2P-B module.
|
|
135
|
-
"""
|
|
136
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
137
|
-
super().__init__(conn, module_id, port_id)
|
|
138
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
139
|
-
"""L23 port's dynamic traffic change.
|
|
140
|
-
Representation of P_DYNAMIC
|
|
141
|
-
"""
|
|
142
|
-
|
|
143
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
144
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import functools
|
|
2
|
-
from typing import TYPE_CHECKING
|
|
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 FamilyH(BasePortL23Genuine):
|
|
19
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
20
|
-
super().__init__(conn, module_id, port_id)
|
|
21
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
22
|
-
"""L23 port's dynamic traffic change.
|
|
23
|
-
Representation of P_DYNAMIC
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
async def _setup(self) -> Self:
|
|
27
|
-
await super()._setup()
|
|
28
|
-
self.serdes = tuple(
|
|
29
|
-
SerDes(self._conn, *self.kind, serdes_xindex=serdes_xindex)
|
|
30
|
-
for serdes_xindex in range(self.info.capabilities.serdes_count)
|
|
31
|
-
)
|
|
32
|
-
return self
|
|
33
|
-
|
|
34
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
35
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
class PLoki100G5S1P(FamilyH):
|
|
39
|
-
"""L23 port on Loki-100G-5S-1P module.
|
|
40
|
-
"""
|
|
41
|
-
|
|
42
|
-
pcs_pma: PcsPma
|
|
43
|
-
"""PCS/PMA settings.
|
|
44
|
-
|
|
45
|
-
:type: ~xoa_driver.internals.hli_v1.ports.port_l23.pcs_pma_ghijkl.PcsPma
|
|
46
|
-
"""
|
|
47
|
-
|
|
48
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
49
|
-
super().__init__(conn, module_id, port_id)
|
|
50
|
-
|
|
51
|
-
async def _setup(self) -> Self:
|
|
52
|
-
await super()._setup()
|
|
53
|
-
self.pcs_pma = PcsPma(self._conn, self)
|
|
54
|
-
return self
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
class POdin100G3S1P(FamilyH):
|
|
58
|
-
"""L23 port on Odin-100G-3S-1P module.
|
|
59
|
-
"""
|
|
60
|
-
...
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import functools
|
|
2
|
-
from typing import TYPE_CHECKING
|
|
3
|
-
from typing import Self
|
|
4
|
-
from xoa_driver.internals.commands import (
|
|
5
|
-
P_FAULTSIGNALING,
|
|
6
|
-
P_FAULTSTATUS,
|
|
7
|
-
P_DYNAMIC,
|
|
8
|
-
)
|
|
9
|
-
from xoa_driver.internals.utils import attributes as utils
|
|
10
|
-
if TYPE_CHECKING:
|
|
11
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
12
|
-
|
|
13
|
-
from .bases.port_l23_genuine import BasePortL23Genuine
|
|
14
|
-
from .pcs_pma_ijkl_chimera import PcsPma as PcsPma1
|
|
15
|
-
from .pcs_pma_ghijkl import (
|
|
16
|
-
PcsPma as PcsPma2,
|
|
17
|
-
SerDes,
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class PcsPma(PcsPma1, PcsPma2):
|
|
22
|
-
def __init__(self, conn: "itf.IConnection", port) -> None:
|
|
23
|
-
PcsPma1.__init__(self, conn, port)
|
|
24
|
-
PcsPma2.__init__(self, conn, port)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class Fault:
|
|
28
|
-
"""L23 port fault settings."""
|
|
29
|
-
|
|
30
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
31
|
-
self.signaling = P_FAULTSIGNALING(conn, module_id, port_id)
|
|
32
|
-
"""L23 port fault signaling.
|
|
33
|
-
Representation of P_FAULTSIGNALING
|
|
34
|
-
"""
|
|
35
|
-
|
|
36
|
-
self.status = P_FAULTSTATUS(conn, module_id, port_id)
|
|
37
|
-
"""L23 port fault status.
|
|
38
|
-
Representation of P_FAULTSTATUS
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
class FamilyI(BasePortL23Genuine):
|
|
43
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
44
|
-
super().__init__(conn, module_id, port_id)
|
|
45
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
46
|
-
"""L23 port's dynamic traffic change.
|
|
47
|
-
Representation of P_DYNAMIC
|
|
48
|
-
"""
|
|
49
|
-
|
|
50
|
-
async def _setup(self) -> Self:
|
|
51
|
-
await super()._setup()
|
|
52
|
-
self.pcs_pma = PcsPma(self._conn, self)
|
|
53
|
-
self.serdes = tuple(
|
|
54
|
-
SerDes(self._conn, *self.kind, serdes_xindex=serdes_xindex)
|
|
55
|
-
for serdes_xindex in range(self.info.capabilities.serdes_count)
|
|
56
|
-
)
|
|
57
|
-
return self
|
|
58
|
-
|
|
59
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
60
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
class PLoki100G5S2P(FamilyI):
|
|
64
|
-
"""L23 port on Loki-100G-5S-2P module.
|
|
65
|
-
"""
|
|
66
|
-
...
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import functools
|
|
2
|
-
from typing import TYPE_CHECKING
|
|
3
|
-
from typing import Self
|
|
4
|
-
from xoa_driver.internals.commands import (
|
|
5
|
-
# P_FAULTSIGNALING,
|
|
6
|
-
P_DYNAMIC,
|
|
7
|
-
)
|
|
8
|
-
from xoa_driver.internals.utils import attributes as utils
|
|
9
|
-
if TYPE_CHECKING:
|
|
10
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
11
|
-
|
|
12
|
-
from .bases.port_l23_genuine import BasePortL23Genuine
|
|
13
|
-
from .fault_jkl import Fault
|
|
14
|
-
from .pcs_pma_ijkl_chimera import PcsPma as PcsPma1
|
|
15
|
-
from .pcs_pma_ghijkl import (
|
|
16
|
-
PcsPma as PcsPma2,
|
|
17
|
-
SerDes,
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class PcsPma(PcsPma1, PcsPma2):
|
|
22
|
-
def __init__(self, conn: "itf.IConnection", port) -> None:
|
|
23
|
-
PcsPma1.__init__(self, conn, port)
|
|
24
|
-
PcsPma2.__init__(self, conn, port)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class FamilyJ(BasePortL23Genuine):
|
|
28
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
29
|
-
super().__init__(conn, module_id, port_id)
|
|
30
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
31
|
-
"""L23 port's dynamic traffic change.
|
|
32
|
-
Representation of P_DYNAMIC
|
|
33
|
-
"""
|
|
34
|
-
|
|
35
|
-
self.fault = Fault(conn, module_id, port_id)
|
|
36
|
-
|
|
37
|
-
async def _setup(self) -> Self:
|
|
38
|
-
await super()._setup()
|
|
39
|
-
self.pcs_pma = PcsPma(self._conn, self)
|
|
40
|
-
self.serdes = tuple(
|
|
41
|
-
SerDes(self._conn, *self.kind, serdes_xindex=serdes_xindex)
|
|
42
|
-
for serdes_xindex in range(self.info.capabilities.serdes_count)
|
|
43
|
-
)
|
|
44
|
-
return self
|
|
45
|
-
|
|
46
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
47
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
class PThor100G5S4P(FamilyJ):
|
|
51
|
-
"""L23 port on Thor-100G-5S-4P module.
|
|
52
|
-
"""
|
|
53
|
-
...
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import functools
|
|
2
|
-
from typing import TYPE_CHECKING
|
|
3
|
-
from typing import Self
|
|
4
|
-
from xoa_driver.internals.commands import (
|
|
5
|
-
# P_FAULTSIGNALING,
|
|
6
|
-
P_DYNAMIC,
|
|
7
|
-
)
|
|
8
|
-
from xoa_driver.internals.utils import attributes as utils
|
|
9
|
-
if TYPE_CHECKING:
|
|
10
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
11
|
-
|
|
12
|
-
from .bases.port_l23_genuine import BasePortL23Genuine
|
|
13
|
-
from .fault_jkl import Fault
|
|
14
|
-
from .pcs_pma_ijkl_chimera import PcsPma as PcsPma1
|
|
15
|
-
from .pcs_pma_ghijkl import (
|
|
16
|
-
PcsPma as PcsPma2,
|
|
17
|
-
SerDes,
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class PcsPma(PcsPma1, PcsPma2):
|
|
22
|
-
def __init__(self, conn: "itf.IConnection", port) -> None:
|
|
23
|
-
PcsPma1.__init__(self, conn, port)
|
|
24
|
-
PcsPma2.__init__(self, conn, port)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class FamilyK(BasePortL23Genuine):
|
|
28
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
29
|
-
super().__init__(conn, module_id, port_id)
|
|
30
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
31
|
-
"""L23 port's dynamic traffic change.
|
|
32
|
-
Representation of P_DYNAMIC
|
|
33
|
-
"""
|
|
34
|
-
|
|
35
|
-
self.fault = Fault(conn, module_id, port_id)
|
|
36
|
-
|
|
37
|
-
async def _setup(self) -> Self:
|
|
38
|
-
await super()._setup()
|
|
39
|
-
self.pcs_pma = PcsPma(self._conn, self)
|
|
40
|
-
self.serdes = tuple(
|
|
41
|
-
SerDes(self._conn, *self.kind, serdes_xindex=serdes_xindex)
|
|
42
|
-
for serdes_xindex in range(self.info.capabilities.serdes_count)
|
|
43
|
-
)
|
|
44
|
-
return self
|
|
45
|
-
|
|
46
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
47
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
class PThor400G7S1P(FamilyK):
|
|
51
|
-
"""L23 port on Thor-400G-7S-1P module.
|
|
52
|
-
"""
|
|
53
|
-
...
|
|
54
|
-
|
|
55
|
-
class PThor400G7S1PLE(FamilyK):
|
|
56
|
-
"""L23 port on Thor-400G-7S-1P LE module.
|
|
57
|
-
"""
|
|
58
|
-
...
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import functools
|
|
2
|
-
from typing import TYPE_CHECKING
|
|
3
|
-
from typing import Self
|
|
4
|
-
from xoa_driver.internals.commands import (
|
|
5
|
-
# P_FAULTSIGNALING,
|
|
6
|
-
P_DYNAMIC,
|
|
7
|
-
)
|
|
8
|
-
from xoa_driver.internals.utils import attributes as utils
|
|
9
|
-
if TYPE_CHECKING:
|
|
10
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
11
|
-
|
|
12
|
-
from .bases.port_l23_genuine import BasePortL23Genuine
|
|
13
|
-
from .fault_jkl import Fault
|
|
14
|
-
from .pcs_pma_ijkl_chimera import PcsPma as PcsPma1
|
|
15
|
-
from .pcs_pma_ghijkl import (
|
|
16
|
-
PcsPma as PcsPma2,
|
|
17
|
-
SerDes,
|
|
18
|
-
)
|
|
19
|
-
from .pcs_pma_l import PcsPma as PcsPma3
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class PcsPma(PcsPma1, PcsPma2, PcsPma3):
|
|
23
|
-
def __init__(self, conn: "itf.IConnection", port) -> None:
|
|
24
|
-
PcsPma1.__init__(self, conn, port)
|
|
25
|
-
PcsPma2.__init__(self, conn, port)
|
|
26
|
-
PcsPma3.__init__(self, conn, port)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class FamilyL(BasePortL23Genuine):
|
|
30
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
31
|
-
super().__init__(conn, module_id, port_id)
|
|
32
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
33
|
-
"""L23 port's dynamic traffic change.
|
|
34
|
-
Representation of P_DYNAMIC
|
|
35
|
-
"""
|
|
36
|
-
|
|
37
|
-
self.fault = Fault(conn, module_id, port_id)
|
|
38
|
-
|
|
39
|
-
async def _setup(self) -> Self:
|
|
40
|
-
await super()._setup()
|
|
41
|
-
self.pcs_pma = PcsPma(self._conn, self)
|
|
42
|
-
self.serdes = tuple(
|
|
43
|
-
SerDes(self._conn, *self.kind, serdes_xindex=serdes_xindex)
|
|
44
|
-
for serdes_xindex in range(self.info.capabilities.serdes_count)
|
|
45
|
-
)
|
|
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 PThor400G7S1P_b(FamilyL):
|
|
53
|
-
"""L23 port on Thor-400G-7S-1P[b] module.
|
|
54
|
-
"""
|
|
55
|
-
...
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
class PThor400G7S1P_c(FamilyL):
|
|
59
|
-
"""L23 port on Thor-400G-7S-1P[c] module.
|
|
60
|
-
"""
|
|
61
|
-
...
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
class PThor400G7S1P_d(FamilyL):
|
|
65
|
-
"""L23 port on Thor-400G-7S-1P[d] module.
|
|
66
|
-
"""
|
|
67
|
-
...
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import functools
|
|
3
|
-
from typing import TYPE_CHECKING, Tuple
|
|
4
|
-
from typing import Self
|
|
5
|
-
from xoa_driver.internals.commands import (
|
|
6
|
-
P_DYNAMIC,
|
|
7
|
-
# PL1_AUTONEGINFO,
|
|
8
|
-
# PL1_LINKTRAININFO,
|
|
9
|
-
# PL1_LOG,
|
|
10
|
-
# PL1_CFG_TMP,
|
|
11
|
-
)
|
|
12
|
-
from xoa_driver.internals.utils import attributes as utils
|
|
13
|
-
if TYPE_CHECKING:
|
|
14
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
15
|
-
|
|
16
|
-
from .bases.port_l23_genuine import BasePortL23Genuine
|
|
17
|
-
from .pcs_pma_ijkl_chimera import PcsPma as PcsPma1
|
|
18
|
-
from .pcs_pma_ghijkl import (
|
|
19
|
-
PcsPma as PcsPma2,
|
|
20
|
-
SerDes,
|
|
21
|
-
)
|
|
22
|
-
from .pcs_pma_l import PcsPmaL1 as PcsPma3 # PcsPmaL1 for current version is different if compare to L family
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class PcsPma(PcsPma1, PcsPma2, PcsPma3):
|
|
26
|
-
def __init__(self, conn: "itf.IConnection", port) -> None:
|
|
27
|
-
PcsPma1.__init__(self, conn, port)
|
|
28
|
-
PcsPma2.__init__(self, conn, port)
|
|
29
|
-
PcsPma3.__init__(self, conn, port)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
class FamilyL1(BasePortL23Genuine):
|
|
33
|
-
pcs_pma: PcsPma
|
|
34
|
-
serdes: Tuple[SerDes, ...]
|
|
35
|
-
|
|
36
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
37
|
-
super().__init__(conn, module_id, port_id)
|
|
38
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
39
|
-
"""L23 port's dynamic traffic change.
|
|
40
|
-
Representation of P_DYNAMIC
|
|
41
|
-
"""
|
|
42
|
-
|
|
43
|
-
# self.fault = Fault(conn, module_id, port_id)
|
|
44
|
-
|
|
45
|
-
async def _setup(self) -> Self:
|
|
46
|
-
await super()._setup()
|
|
47
|
-
self.pcs_pma = PcsPma(self._conn, self)
|
|
48
|
-
self.serdes = tuple(
|
|
49
|
-
SerDes(self._conn, *self.kind, serdes_xindex=serdes_xindex)
|
|
50
|
-
for serdes_xindex in range(self.info.capabilities.serdes_count)
|
|
51
|
-
)
|
|
52
|
-
return self
|
|
53
|
-
|
|
54
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
55
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
class PFreya800G1S1P_a(FamilyL1):
|
|
59
|
-
"""L23 port on Freya-800G-1S-1P[a] module.
|
|
60
|
-
"""
|
|
61
|
-
...
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
class PFreya800G1S1P_b(FamilyL1):
|
|
65
|
-
"""L23 port on Freya-800G-1S-1P[b] module.
|
|
66
|
-
"""
|
|
67
|
-
...
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
class PFreya800G1S1POSFP_a(FamilyL1):
|
|
71
|
-
"""L23 port on Freya-800G-1S-1P-OSFP[a] module.
|
|
72
|
-
"""
|
|
73
|
-
...
|
|
74
|
-
|
|
75
|
-
class PFreya800G1S1POSFP_b(FamilyL1):
|
|
76
|
-
"""L23 port on Freya-800G-1S-1P-OSFP[b] module.
|
|
77
|
-
"""
|
|
78
|
-
...
|
|
79
|
-
|
|
80
|
-
class PFreya800G4S1P_a(FamilyL1):
|
|
81
|
-
"""L23 port on Freya-800G-4S-1P[a] module.
|
|
82
|
-
"""
|
|
83
|
-
...
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
class PFreya800G4S1P_b(FamilyL1):
|
|
87
|
-
"""L23 port on Freya-800G-4S-1P[b] module.
|
|
88
|
-
"""
|
|
89
|
-
...
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
class PFreya800G4S1P_c(FamilyL1):
|
|
93
|
-
"""L23 port on Freya-800G-4S-1P[c] module.
|
|
94
|
-
"""
|
|
95
|
-
...
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
class PFreya800G4S1P_d(FamilyL1):
|
|
99
|
-
"""L23 port on Freya-800G-4S-1P[d] module.
|
|
100
|
-
"""
|
|
101
|
-
...
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
class PFreya800G4S1P_e(FamilyL1):
|
|
105
|
-
"""L23 port on Freya-800G-4S-1P[e] module.
|
|
106
|
-
"""
|
|
107
|
-
...
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
class PFreya800G4S1P_f(FamilyL1):
|
|
111
|
-
"""L23 port on Freya-800G-4S-1P[f] module.
|
|
112
|
-
"""
|
|
113
|
-
...
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
class PFreya800G4S1POSFP_a(FamilyL1):
|
|
117
|
-
"""L23 port on Freya-800G-4S-1P-OSFP[a] module.
|
|
118
|
-
"""
|
|
119
|
-
...
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
class PFreya800G4S1POSFP_b(FamilyL1):
|
|
123
|
-
"""L23 port on Freya-800G-4S-1P-OSFP[b] module.
|
|
124
|
-
"""
|
|
125
|
-
...
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
class PFreya800G4S1POSFP_c(FamilyL1):
|
|
129
|
-
"""L23 port on Freya-800G-4S-1P-OSFP[c] module.
|
|
130
|
-
"""
|
|
131
|
-
...
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
class PFreya800G4S1POSFP_d(FamilyL1):
|
|
135
|
-
"""L23 port on Freya-800G-4S-1P-OSFP[d] module.
|
|
136
|
-
"""
|
|
137
|
-
...
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
class PFreya800G4S1POSFP_e(FamilyL1):
|
|
141
|
-
"""L23 port on Freya-800G-4S-1P-OSFP[e] module.
|
|
142
|
-
"""
|
|
143
|
-
...
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
class PFreya800G4S1POSFP_f(FamilyL1):
|
|
147
|
-
"""L23 port on Freya-800G-4S-1P-OSFP[f] module.
|
|
148
|
-
"""
|
|
149
|
-
...
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING
|
|
2
|
-
|
|
3
|
-
from xoa_driver.internals.commands import P_BRRMODE, P_BRRSTATUS
|
|
4
|
-
|
|
5
|
-
from .bases.port_l23_genuine import BasePortL23Genuine
|
|
6
|
-
|
|
7
|
-
if TYPE_CHECKING:
|
|
8
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class FamilyM(BasePortL23Genuine):
|
|
12
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
13
|
-
super().__init__(conn, module_id, port_id)
|
|
14
|
-
self.brr_mode = P_BRRMODE(conn, module_id, port_id)
|
|
15
|
-
"""BRR mode.
|
|
16
|
-
Representation of P_BRRMODE
|
|
17
|
-
"""
|
|
18
|
-
self.brr_status = P_BRRSTATUS(conn, module_id, port_id)
|
|
19
|
-
"""Actual BRR status.
|
|
20
|
-
|
|
21
|
-
:type: P_BRRSTATUS
|
|
22
|
-
"""
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class POdin1G3S6PT1RJ45(FamilyM):
|
|
26
|
-
"""L23 port on Odin-1G-3S-6P-T1-RJ45 module.
|
|
27
|
-
"""
|
|
28
|
-
...
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING
|
|
2
|
-
from xoa_driver.internals.commands import (
|
|
3
|
-
P_FAULTSIGNALING,
|
|
4
|
-
P_FAULTSTATUS,
|
|
5
|
-
)
|
|
6
|
-
if TYPE_CHECKING:
|
|
7
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class Fault:
|
|
11
|
-
"""L23 port fault settings."""
|
|
12
|
-
|
|
13
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
14
|
-
self.signaling = P_FAULTSIGNALING(conn, module_id, port_id)
|
|
15
|
-
"""L23 port fault signaling.
|
|
16
|
-
Representation ofP_FAULTSIGNALING
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
self.status = P_FAULTSTATUS(conn, module_id, port_id)
|
|
20
|
-
"""L23 port fault status.
|
|
21
|
-
Representation of P_FAULTSTATUS
|
|
22
|
-
"""
|