tdl-xoa-driver 1.5.0b2__py3-none-any.whl → 1.6.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.0b2.dist-info → tdl_xoa_driver-1.6.0.dist-info}/METADATA +8 -8
- {tdl_xoa_driver-1.5.0b2.dist-info → tdl_xoa_driver-1.6.0.dist-info}/RECORD +91 -89
- xoa_driver/__init__.py +2 -2
- xoa_driver/enums.py +10 -10
- xoa_driver/functions/anlt.py +60 -78
- xoa_driver/functions/cli/__init__.py +5 -5
- xoa_driver/functions/cli/port_config.py +16 -7
- xoa_driver/functions/cli/{test_case_config.py → testbed_config.py} +53 -46
- xoa_driver/functions/cmis/_replies.py +4 -4
- xoa_driver/functions/mgmt.py +206 -250
- xoa_driver/functions/tools.py +11 -6
- xoa_driver/internals/commands/c_commands.py +59 -0
- xoa_driver/internals/commands/enums.py +101 -90
- xoa_driver/internals/commands/m4_commands.py +25 -0
- xoa_driver/internals/commands/m4e_commands.py +6 -0
- xoa_driver/internals/commands/m_commands.py +51 -1
- xoa_driver/internals/commands/p4_commands.py +63 -1
- xoa_driver/internals/commands/p4e_commands.py +9 -0
- xoa_driver/internals/commands/p4g_commands.py +139 -0
- xoa_driver/internals/commands/p_commands.py +493 -63
- xoa_driver/internals/commands/pc_commands.py +9 -0
- xoa_driver/internals/commands/pd_commands.py +11 -0
- xoa_driver/internals/commands/pe_commands.py +27 -0
- xoa_driver/internals/commands/pec_commands.py +9 -0
- xoa_driver/internals/commands/ped_commands.py +23 -0
- xoa_driver/internals/commands/pef_commands.py +43 -0
- xoa_driver/internals/commands/pf_commands.py +11 -0
- xoa_driver/internals/commands/pl1_commands.py +442 -118
- xoa_driver/internals/commands/pl_commands.py +8 -0
- xoa_driver/internals/commands/pm_commands.py +11 -0
- xoa_driver/internals/commands/pp_commands.py +128 -82
- xoa_driver/internals/commands/pr_commands.py +25 -0
- xoa_driver/internals/commands/ps_commands.py +47 -1
- xoa_driver/internals/commands/pt_commands.py +15 -0
- xoa_driver/internals/commands/px_commands.py +180 -136
- xoa_driver/internals/commands/subtypes.py +4 -3
- xoa_driver/internals/core/transporter/protocol/payload/base_struct.py +1 -1
- xoa_driver/internals/hli/indices/macsecscs/base_macsecsc.py +41 -3
- xoa_driver/internals/hli/modules/modules_l23/family_combi.py +0 -64
- xoa_driver/internals/hli/modules/modules_l23/family_edun.py +0 -2
- xoa_driver/internals/hli/modules/modules_l23/{family_g.py → family_loki.py} +29 -1
- xoa_driver/internals/hli/modules/modules_l23/family_odin.py +412 -0
- xoa_driver/internals/hli/modules/modules_l23/{family_l.py → family_thor.py} +44 -0
- xoa_driver/internals/hli/ports/port_l23/chimera/port_chimera.py +3 -3
- xoa_driver/internals/hli/ports/port_l23/family_edun.py +9 -44
- xoa_driver/internals/hli/ports/port_l23/{family_l1.py → family_freya.py} +10 -45
- xoa_driver/internals/hli/ports/port_l23/{family_g.py → family_loki.py} +33 -32
- xoa_driver/internals/hli/ports/port_l23/family_odin.py +225 -0
- xoa_driver/internals/hli/ports/port_l23/family_thor.py +67 -0
- xoa_driver/internals/hli/ports/port_l23/layer1/anlt.py +512 -0
- xoa_driver/internals/hli/ports/port_l23/layer1/brr.py +26 -0
- xoa_driver/internals/hli/ports/port_l23/layer1/eye_diagram.py +71 -0
- xoa_driver/internals/hli/ports/port_l23/{pcs_pma_ijkl_chimera.py → layer1/impair.py} +7 -7
- xoa_driver/internals/hli/ports/port_l23/layer1/laser_power.py +28 -0
- xoa_driver/internals/hli/ports/port_l23/{family_e.py → layer1/lower_power.py} +1 -51
- xoa_driver/internals/hli/ports/port_l23/{freya_l1.py → layer1/medium.py} +38 -358
- xoa_driver/internals/hli/ports/port_l23/layer1/pcs_fec.py +219 -0
- xoa_driver/internals/hli/ports/port_l23/layer1/pma.py +43 -0
- xoa_driver/internals/hli/ports/port_l23/layer1/prbs.py +39 -0
- xoa_driver/internals/hli/ports/port_l23/layer1/preamble.py +25 -0
- xoa_driver/internals/hli/ports/port_l23/{fault_jkl.py → layer1/rs_fault.py} +2 -2
- xoa_driver/internals/hli/ports/port_l23/layer1/siv.py +69 -0
- xoa_driver/internals/hli/ports/port_l23/layer1_edun.py +103 -0
- xoa_driver/internals/hli/ports/port_l23/layer1_freya.py +103 -0
- xoa_driver/internals/hli/ports/port_l23/layer1_loki.py +74 -0
- xoa_driver/internals/hli/ports/port_l23/layer1_thor.py +70 -0
- xoa_driver/internals/hli/ports/port_l23/port_l23ve.py +4 -4
- xoa_driver/internals/hli/ports/port_l23/sec/__init__.py +0 -0
- xoa_driver/internals/hli/ports/port_l23/sec/macsec.py +108 -0
- xoa_driver/internals/hli/ports/port_l23/tcvr/__init__.py +0 -0
- xoa_driver/internals/hli/ports/port_l23/{bases/port_transceiver.py → tcvr/cmis.py} +4 -118
- xoa_driver/internals/hli/ports/port_l23/tcvr/transceiver.py +124 -0
- xoa_driver/internals/hli/ports/port_l23/trafficgen/__init__.py +0 -0
- xoa_driver/internals/hli/ports/port_l23/{bases → trafficgen}/port_l23.py +1 -1
- xoa_driver/internals/hli/ports/port_l23/{bases → trafficgen}/port_l23_genuine.py +5 -45
- xoa_driver/internals/hli/ports/port_l23/{bases/port_reception_statistics.py → trafficgen/port_rx_stats.py} +0 -21
- xoa_driver/internals/hli/ports/port_l23/{bases/port_transmission_statistics.py → trafficgen/port_tx_stats.py} +2 -22
- xoa_driver/internals/hli/ports/port_l23/trafficgen/runt.py +32 -0
- xoa_driver/internals/hli/testers/l23_tester.py +1 -3
- xoa_driver/internals/utils/indices/_interfaces.py +18 -6
- xoa_driver/internals/utils/indices/index_manager.py +8 -2
- xoa_driver/internals/utils/managers/ports_manager.py +5 -2
- xoa_driver/misc.py +6 -6
- xoa_driver/modules.py +31 -47
- xoa_driver/ports.py +10 -29
- xoa_driver/internals/hli/modules/modules_l23/family_d.py +0 -75
- xoa_driver/internals/hli/modules/modules_l23/family_e.py +0 -85
- xoa_driver/internals/hli/modules/modules_l23/family_f.py +0 -145
- xoa_driver/internals/hli/modules/modules_l23/family_h.py +0 -40
- xoa_driver/internals/hli/modules/modules_l23/family_i.py +0 -25
- xoa_driver/internals/hli/modules/modules_l23/family_j.py +0 -25
- xoa_driver/internals/hli/modules/modules_l23/family_k.py +0 -39
- xoa_driver/internals/hli/modules/modules_l23/family_m.py +0 -25
- xoa_driver/internals/hli/modules/modules_l23/family_n.py +0 -40
- xoa_driver/internals/hli/ports/port_l23/family_combi.py +0 -37
- xoa_driver/internals/hli/ports/port_l23/family_d.py +0 -51
- xoa_driver/internals/hli/ports/port_l23/family_f.py +0 -151
- xoa_driver/internals/hli/ports/port_l23/family_h.py +0 -67
- xoa_driver/internals/hli/ports/port_l23/family_i.py +0 -84
- xoa_driver/internals/hli/ports/port_l23/family_j.py +0 -68
- xoa_driver/internals/hli/ports/port_l23/family_k.py +0 -73
- xoa_driver/internals/hli/ports/port_l23/family_l.py +0 -82
- xoa_driver/internals/hli/ports/port_l23/family_m.py +0 -29
- xoa_driver/internals/hli/ports/port_l23/pcs_pma_ghijkl.py +0 -369
- xoa_driver/internals/hli/ports/port_l23/pcs_pma_l.py +0 -78
- {tdl_xoa_driver-1.5.0b2.dist-info → tdl_xoa_driver-1.6.0.dist-info}/WHEEL +0 -0
- {tdl_xoa_driver-1.5.0b2.dist-info → tdl_xoa_driver-1.6.0.dist-info}/licenses/LICENSE +0 -0
- {tdl_xoa_driver-1.5.0b2.dist-info → tdl_xoa_driver-1.6.0.dist-info}/top_level.txt +0 -0
- /xoa_driver/internals/hli/modules/modules_l23/{family_l1.py → family_freya.py} +0 -0
- /xoa_driver/internals/hli/ports/port_l23/{bases → layer1}/__init__.py +0 -0
- /xoa_driver/internals/hli/ports/port_l23/{bases → trafficgen}/port_capture.py +0 -0
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
from xoa_driver import ports
|
|
3
|
-
from xoa_driver.internals.hli import revisions
|
|
4
|
-
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
5
|
-
|
|
6
|
-
if typing.TYPE_CHECKING:
|
|
7
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
8
|
-
from .. import __interfaces as m_itf
|
|
9
|
-
|
|
10
|
-
from .module_l23_base import ModuleL23
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@typing.final
|
|
14
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-1S-2P")
|
|
15
|
-
class MOdin10G1S2P(ModuleL23):
|
|
16
|
-
"""Test module Odin-10G-1S-2P"""
|
|
17
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
18
|
-
super().__init__(conn, init_data)
|
|
19
|
-
self.ports: pm.PortsManager[ports.POdin10G1S2P] = pm.PortsManager(
|
|
20
|
-
conn=conn,
|
|
21
|
-
ports_type=ports.POdin10G1S2P,
|
|
22
|
-
module_id=self.module_id,
|
|
23
|
-
ports_count=self.ports_count
|
|
24
|
-
)
|
|
25
|
-
"""Port Index Manager of Odin-10G-1S-2P"""
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@typing.final
|
|
29
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-1S-2P[b]")
|
|
30
|
-
class MOdin10G1S2P_b(ModuleL23):
|
|
31
|
-
"""Test module Odin-10G-1S-2P[b]"""
|
|
32
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
33
|
-
super().__init__(conn, init_data)
|
|
34
|
-
self.ports: pm.PortsManager[ports.POdin10G1S2P_b] = pm.PortsManager(
|
|
35
|
-
conn=conn,
|
|
36
|
-
ports_type=ports.POdin10G1S2P_b,
|
|
37
|
-
module_id=self.module_id,
|
|
38
|
-
ports_count=self.ports_count
|
|
39
|
-
)
|
|
40
|
-
"""Port Index Manager of Odin-10G-1S-2P[b]"""
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
@typing.final
|
|
44
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-1S-2P[c]")
|
|
45
|
-
class MOdin10G1S2P_c(ModuleL23):
|
|
46
|
-
"""Test module Odin-10G-1S-2P[c]"""
|
|
47
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
48
|
-
super().__init__(conn, init_data)
|
|
49
|
-
self.ports: pm.PortsManager[ports.POdin10G1S2P_c] = pm.PortsManager(
|
|
50
|
-
conn=conn,
|
|
51
|
-
ports_type=ports.POdin10G1S2P_c,
|
|
52
|
-
module_id=self.module_id,
|
|
53
|
-
ports_count=self.ports_count
|
|
54
|
-
)
|
|
55
|
-
"""Port Index Manager of Odin-10G-1S-2P[c]"""
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
@typing.final
|
|
59
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-1S-6P")
|
|
60
|
-
class MOdin10G1S6P(ModuleL23):
|
|
61
|
-
"""Test module Odin-10G-1S-6P"""
|
|
62
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
63
|
-
super().__init__(conn, init_data)
|
|
64
|
-
self.ports: pm.PortsManager[ports.POdin10G1S6P] = pm.PortsManager(
|
|
65
|
-
conn=conn,
|
|
66
|
-
ports_type=ports.POdin10G1S6P,
|
|
67
|
-
module_id=self.module_id,
|
|
68
|
-
ports_count=self.ports_count
|
|
69
|
-
)
|
|
70
|
-
"""Port Index Manager of Odin-10G-1S-6P"""
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
@typing.final
|
|
74
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-1S-6P[b]")
|
|
75
|
-
class MOdin10G1S6P_b(ModuleL23):
|
|
76
|
-
"""Test module Odin-10G-1S-6P[b]"""
|
|
77
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
78
|
-
super().__init__(conn, init_data)
|
|
79
|
-
self.ports: pm.PortsManager[ports.POdin10G1S6P_b] = pm.PortsManager(
|
|
80
|
-
conn=conn,
|
|
81
|
-
ports_type=ports.POdin10G1S6P_b,
|
|
82
|
-
module_id=self.module_id,
|
|
83
|
-
ports_count=self.ports_count
|
|
84
|
-
)
|
|
85
|
-
"""Port Index Manager of Odin-10G-1S-6P[b]"""
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
@typing.final
|
|
89
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-1S-2P-T")
|
|
90
|
-
class MOdin10G1S2PT(ModuleL23):
|
|
91
|
-
"""Test module Odin-10G-1S-2P-T"""
|
|
92
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
93
|
-
super().__init__(conn, init_data)
|
|
94
|
-
self.ports: pm.PortsManager[ports.POdin10G1S2PT] = pm.PortsManager(
|
|
95
|
-
conn=conn,
|
|
96
|
-
ports_type=ports.POdin10G1S2PT,
|
|
97
|
-
module_id=self.module_id,
|
|
98
|
-
ports_count=self.ports_count
|
|
99
|
-
)
|
|
100
|
-
"""Port Index Manager of Odin-10G-1S-2P-T"""
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
@typing.final
|
|
104
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-1S-2P[d]")
|
|
105
|
-
class MOdin10G1S2P_d(ModuleL23):
|
|
106
|
-
"""Test module Odin-10G-1S-2P[d]"""
|
|
107
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
108
|
-
super().__init__(conn, init_data)
|
|
109
|
-
self.ports: pm.PortsManager[ports.POdin10G1S2P_d] = pm.PortsManager(
|
|
110
|
-
conn=conn,
|
|
111
|
-
ports_type=ports.POdin10G1S2P_d,
|
|
112
|
-
module_id=self.module_id,
|
|
113
|
-
ports_count=self.ports_count
|
|
114
|
-
)
|
|
115
|
-
"""Port Index Manager of Odin-10G-1S-2P[d]"""
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
@typing.final
|
|
119
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-1S-12P")
|
|
120
|
-
class MOdin10G1S12P(ModuleL23):
|
|
121
|
-
"""Test module Odin-10G-1S-12P"""
|
|
122
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
123
|
-
super().__init__(conn, init_data)
|
|
124
|
-
self.ports: pm.PortsManager[ports.POdin10G1S12P] = pm.PortsManager(
|
|
125
|
-
conn=conn,
|
|
126
|
-
ports_type=ports.POdin10G1S12P,
|
|
127
|
-
module_id=self.module_id,
|
|
128
|
-
ports_count=self.ports_count
|
|
129
|
-
)
|
|
130
|
-
"""Port Index Manager Odin-10G-1S-12P"""
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
@typing.final
|
|
134
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-6S-6P[a]")
|
|
135
|
-
class MOdin10G6S6P_a(ModuleL23):
|
|
136
|
-
"""Test module Odin-10G-6S-6P[a]"""
|
|
137
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
138
|
-
super().__init__(conn, init_data)
|
|
139
|
-
self.ports: pm.PortsManager[ports.POdin10G6S6P_a] = pm.PortsManager(
|
|
140
|
-
conn=conn,
|
|
141
|
-
ports_type=ports.POdin10G6S6P_a,
|
|
142
|
-
module_id=self.module_id,
|
|
143
|
-
ports_count=self.ports_count
|
|
144
|
-
)
|
|
145
|
-
"""Port Index Manager Odin-10G-6S-6P[a]"""
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
from xoa_driver import ports
|
|
3
|
-
from xoa_driver.internals.hli import revisions
|
|
4
|
-
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
5
|
-
|
|
6
|
-
if typing.TYPE_CHECKING:
|
|
7
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
8
|
-
from .. import __interfaces as m_itf
|
|
9
|
-
|
|
10
|
-
from .module_l23_base import ModuleL23
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@typing.final
|
|
14
|
-
@revisions.register_valkyrie_module(rev="Loki-100G-5S-1P")
|
|
15
|
-
class MLoki100G5S1P(ModuleL23):
|
|
16
|
-
"""Test module Loki-100G-5S-1P"""
|
|
17
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
18
|
-
super().__init__(conn, init_data)
|
|
19
|
-
self.ports: pm.PortsManager[ports.PLoki100G5S1P] = pm.PortsManager(
|
|
20
|
-
conn=conn,
|
|
21
|
-
ports_type=ports.PLoki100G5S1P,
|
|
22
|
-
module_id=self.module_id,
|
|
23
|
-
ports_count=self.ports_count
|
|
24
|
-
)
|
|
25
|
-
"""Port Index Manager of Loki-100G-5S-1P"""
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@typing.final
|
|
29
|
-
@revisions.register_valkyrie_module(rev="Odin-100G-3S-1P")
|
|
30
|
-
class MOdin100G3S1P(ModuleL23):
|
|
31
|
-
"""Test module Odin-100G-3S-1P"""
|
|
32
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
33
|
-
super().__init__(conn, init_data)
|
|
34
|
-
self.ports: pm.PortsManager[ports.POdin100G3S1P] = pm.PortsManager(
|
|
35
|
-
conn=conn,
|
|
36
|
-
ports_type=ports.POdin100G3S1P,
|
|
37
|
-
module_id=self.module_id,
|
|
38
|
-
ports_count=self.ports_count
|
|
39
|
-
)
|
|
40
|
-
"""Port Index Manager of Odin-100G-3S-1P"""
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
from xoa_driver import ports
|
|
3
|
-
from xoa_driver.internals.hli import revisions
|
|
4
|
-
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
5
|
-
|
|
6
|
-
if typing.TYPE_CHECKING:
|
|
7
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
8
|
-
from .. import __interfaces as m_itf
|
|
9
|
-
|
|
10
|
-
from .module_l23_base import ModuleL23
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@typing.final
|
|
14
|
-
@revisions.register_valkyrie_module(rev="Loki-100G-5S-2P")
|
|
15
|
-
class MLoki100G5S2P(ModuleL23):
|
|
16
|
-
"""Test module Loki-100G-5S-2P"""
|
|
17
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
18
|
-
super().__init__(conn, init_data)
|
|
19
|
-
self.ports: pm.PortsManager[ports.PLoki100G5S2P] = pm.PortsManager(
|
|
20
|
-
conn=conn,
|
|
21
|
-
ports_type=ports.PLoki100G5S2P,
|
|
22
|
-
module_id=self.module_id,
|
|
23
|
-
ports_count=self.ports_count
|
|
24
|
-
)
|
|
25
|
-
"""Port Index Manager of Loki-100G-5S-2P"""
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
from xoa_driver import ports
|
|
3
|
-
from xoa_driver.internals.hli import revisions
|
|
4
|
-
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
5
|
-
|
|
6
|
-
if typing.TYPE_CHECKING:
|
|
7
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
8
|
-
from .. import __interfaces as m_itf
|
|
9
|
-
|
|
10
|
-
from .module_l23_base import ModuleL23
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@typing.final
|
|
14
|
-
@revisions.register_valkyrie_module(rev="Thor-100G-5S-4P")
|
|
15
|
-
class MThor100G5S4P(ModuleL23):
|
|
16
|
-
"""Test module Thor-100G-5S-4P"""
|
|
17
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
18
|
-
super().__init__(conn, init_data)
|
|
19
|
-
self.ports: pm.PortsManager[ports.PThor100G5S4P] = pm.PortsManager(
|
|
20
|
-
conn=conn,
|
|
21
|
-
ports_type=ports.PThor100G5S4P,
|
|
22
|
-
module_id=self.module_id,
|
|
23
|
-
ports_count=self.ports_count
|
|
24
|
-
)
|
|
25
|
-
"""Port Index Manager of Thor-100G-5S-4P"""
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
from xoa_driver import ports
|
|
3
|
-
from xoa_driver.internals.hli import revisions
|
|
4
|
-
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
5
|
-
|
|
6
|
-
if typing.TYPE_CHECKING:
|
|
7
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
8
|
-
from .. import __interfaces as m_itf
|
|
9
|
-
|
|
10
|
-
from .module_l23_base import ModuleL23
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@typing.final
|
|
14
|
-
@revisions.register_valkyrie_module(rev="Thor-400G-7S-1P")
|
|
15
|
-
class MThor400G7S1P(ModuleL23):
|
|
16
|
-
"""Test module Thor-400G-7S-1P"""
|
|
17
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
18
|
-
super().__init__(conn, init_data)
|
|
19
|
-
self.ports: pm.PortsManager[ports.PThor400G7S1P] = pm.PortsManager(
|
|
20
|
-
conn=conn,
|
|
21
|
-
ports_type=ports.PThor400G7S1P,
|
|
22
|
-
module_id=self.module_id,
|
|
23
|
-
ports_count=self.ports_count
|
|
24
|
-
)
|
|
25
|
-
"""Port index of Thor-400G-7S-1P"""
|
|
26
|
-
|
|
27
|
-
@typing.final
|
|
28
|
-
@revisions.register_valkyrie_module(rev="Thor-400G-7S-1P LE")
|
|
29
|
-
class MThor400G7S1PLE(ModuleL23):
|
|
30
|
-
"""Test module Thor-400G-7S-1P LE"""
|
|
31
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
32
|
-
super().__init__(conn, init_data)
|
|
33
|
-
self.ports: pm.PortsManager[ports.PThor400G7S1PLE] = pm.PortsManager(
|
|
34
|
-
conn=conn,
|
|
35
|
-
ports_type=ports.PThor400G7S1PLE,
|
|
36
|
-
module_id=self.module_id,
|
|
37
|
-
ports_count=self.ports_count
|
|
38
|
-
)
|
|
39
|
-
"""Port index of Thor-400G-7S-1P LE"""
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
from xoa_driver import ports
|
|
3
|
-
from xoa_driver.internals.hli import revisions
|
|
4
|
-
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
5
|
-
|
|
6
|
-
if typing.TYPE_CHECKING:
|
|
7
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
8
|
-
from .. import __interfaces as m_itf
|
|
9
|
-
|
|
10
|
-
from .module_l23_base import ModuleL23
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@typing.final
|
|
14
|
-
@revisions.register_valkyrie_module(rev="Odin-1G-3S-6P-T1-RJ45")
|
|
15
|
-
class MOdin1G3S6PT1RJ45(ModuleL23):
|
|
16
|
-
"""Test module Odin-1G-3S-6P-T1-RJ45"""
|
|
17
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
18
|
-
super().__init__(conn, init_data)
|
|
19
|
-
self.ports: pm.PortsManager[ports.POdin1G3S6PT1RJ45] = pm.PortsManager(
|
|
20
|
-
conn=conn,
|
|
21
|
-
ports_type=ports.POdin1G3S6PT1RJ45,
|
|
22
|
-
module_id=self.module_id,
|
|
23
|
-
ports_count=self.ports_count
|
|
24
|
-
)
|
|
25
|
-
"""Port Index Manager of Odin-1G-3S-6P-T1-RJ45"""
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import typing
|
|
2
|
-
from xoa_driver import ports
|
|
3
|
-
from xoa_driver.internals.hli import revisions
|
|
4
|
-
from xoa_driver.internals.utils.managers import ports_manager as pm
|
|
5
|
-
|
|
6
|
-
if typing.TYPE_CHECKING:
|
|
7
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
8
|
-
from .. import __interfaces as m_itf
|
|
9
|
-
|
|
10
|
-
from .module_l23_base import ModuleL23
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@typing.final
|
|
14
|
-
@revisions.register_valkyrie_module(rev="Odin-40G-2S-2P")
|
|
15
|
-
class MOdin40G2S2P(ModuleL23):
|
|
16
|
-
"""Test module Odin-40G-2S-2P"""
|
|
17
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
18
|
-
super().__init__(conn, init_data)
|
|
19
|
-
self.ports: pm.PortsManager[ports.POdin40G2S2P] = pm.PortsManager(
|
|
20
|
-
conn=conn,
|
|
21
|
-
ports_type=ports.POdin40G2S2P,
|
|
22
|
-
module_id=self.module_id,
|
|
23
|
-
ports_count=self.ports_count
|
|
24
|
-
)
|
|
25
|
-
"""Port Index Manager of Odin-40G-2S-2P"""
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@typing.final
|
|
29
|
-
@revisions.register_valkyrie_module(rev="Odin-40G-2S-2P-B")
|
|
30
|
-
class MOdin40G2S2PB(ModuleL23):
|
|
31
|
-
"""Test module Odin-40G-2S-2P-B"""
|
|
32
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
33
|
-
super().__init__(conn, init_data)
|
|
34
|
-
self.ports: pm.PortsManager[ports.POdin40G2S2PB] = pm.PortsManager(
|
|
35
|
-
conn=conn,
|
|
36
|
-
ports_type=ports.POdin40G2S2PB,
|
|
37
|
-
module_id=self.module_id,
|
|
38
|
-
ports_count=self.ports_count
|
|
39
|
-
)
|
|
40
|
-
"""Port Index Manager of Odin-40G-2S-2P-B"""
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING
|
|
2
|
-
from xoa_driver.internals.commands import P_AUTONEGSELECTION
|
|
3
|
-
if TYPE_CHECKING:
|
|
4
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
5
|
-
|
|
6
|
-
from .bases.port_l23_genuine import BasePortL23Genuine
|
|
7
|
-
from . import family_f
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class POdin1G4S4PCombi(BasePortL23Genuine):
|
|
11
|
-
"""L23 ports that supports MDI/MDIX and """
|
|
12
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
13
|
-
super().__init__(conn, module_id, port_id)
|
|
14
|
-
|
|
15
|
-
self.autoneg_selection = P_AUTONEGSELECTION(conn, module_id, port_id)
|
|
16
|
-
"""L23 port's auto-negotiation selection.
|
|
17
|
-
|
|
18
|
-
:type: P_AUTONEGSELECTION`
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class POdin1G4S4PCombi_b(POdin1G4S4PCombi):
|
|
23
|
-
"""L23 port on Odin-1G-4S-2P-Combi_b module.
|
|
24
|
-
"""
|
|
25
|
-
...
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class POdin10G4S2PCombi(family_f.FamilyF):
|
|
29
|
-
"""L23 port on Odin-10G-4S-2P-Combi module.
|
|
30
|
-
"""
|
|
31
|
-
...
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
class POdin10G4S2PCombi_b(family_f.FamilyF):
|
|
35
|
-
"""L23 port on Odin-10G-4S-2P-Combi_b module.
|
|
36
|
-
"""
|
|
37
|
-
...
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING
|
|
2
|
-
from xoa_driver.internals.commands import (
|
|
3
|
-
P_MDIXMODE,
|
|
4
|
-
P_AUTONEGSELECTION,
|
|
5
|
-
)
|
|
6
|
-
if TYPE_CHECKING:
|
|
7
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
8
|
-
|
|
9
|
-
from .bases.port_l23_genuine import BasePortL23Genuine
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class FamilyD(BasePortL23Genuine):
|
|
13
|
-
"""L23 ports that supports MDI/MDIX and """
|
|
14
|
-
|
|
15
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
16
|
-
super().__init__(conn, module_id, port_id)
|
|
17
|
-
self.mdix_mode = P_MDIXMODE(conn, module_id, port_id)
|
|
18
|
-
"""L23 port's MDI/MDIX mode.
|
|
19
|
-
|
|
20
|
-
:type: P_MDIXMODE
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
self.autoneg_selection = P_AUTONEGSELECTION(conn, module_id, port_id)
|
|
24
|
-
"""L23 port's auto-negotiation selection.
|
|
25
|
-
|
|
26
|
-
:type: P_AUTONEGSELECTION
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
class POdin1G3S6P(FamilyD):
|
|
31
|
-
"""L23 port on Odin-1G-3S-6P module.
|
|
32
|
-
"""
|
|
33
|
-
...
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
class POdin1G3S6P_b(FamilyD):
|
|
37
|
-
"""L23 port on Odin-1G-3S-6P[b] module.
|
|
38
|
-
"""
|
|
39
|
-
...
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
class POdin1G3S6PE(FamilyD):
|
|
43
|
-
"""L23 port on Odin-1G-3S-6P-E module.
|
|
44
|
-
"""
|
|
45
|
-
...
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
class POdin1G3S2PT(FamilyD):
|
|
49
|
-
"""L23 port on Odin-1G-3S-2P-T module.
|
|
50
|
-
"""
|
|
51
|
-
...
|
|
@@ -1,151 +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
|
-
|
|
54
|
-
:type: P_TXRUNTLENGTH
|
|
55
|
-
"""
|
|
56
|
-
|
|
57
|
-
self.rx_length = P_RXRUNTLENGTH(conn, module_id, port_id)
|
|
58
|
-
"""L23 port's RX runt length.
|
|
59
|
-
|
|
60
|
-
:type: P_RXRUNTLENGTH
|
|
61
|
-
"""
|
|
62
|
-
|
|
63
|
-
self.has_length_errors = P_RXRUNTLEN_ERRS(conn, module_id, port_id)
|
|
64
|
-
"""L23 port's RX runt length errors..
|
|
65
|
-
|
|
66
|
-
:type: P_RXRUNTLEN_ERRS
|
|
67
|
-
"""
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
class Preamble:
|
|
71
|
-
"""Preamble settings."""
|
|
72
|
-
|
|
73
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
74
|
-
self.tx_remove = P_TXPREAMBLE_REMOVE(conn, module_id, port_id)
|
|
75
|
-
"""L23 port's removal of preamble from outgoing packets.
|
|
76
|
-
|
|
77
|
-
:type: P_TXPREAMBLE_REMOVE
|
|
78
|
-
"""
|
|
79
|
-
|
|
80
|
-
self.rx_insert = P_RXPREAMBLE_INSERT(conn, module_id, port_id)
|
|
81
|
-
"""L23 port's insertion of preamble into incoming packets.
|
|
82
|
-
|
|
83
|
-
:type: P_RXPREAMBLE_INSERT
|
|
84
|
-
"""
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
class POdin10G1S6P_b(FamilyF):
|
|
88
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
89
|
-
super().__init__(conn, module_id, port_id)
|
|
90
|
-
self.runt = Runt(conn, module_id, port_id)
|
|
91
|
-
"""Runt settings."""
|
|
92
|
-
|
|
93
|
-
self.preamble = Preamble(conn, module_id, port_id)
|
|
94
|
-
"""Preamble settiNgs."""
|
|
95
|
-
|
|
96
|
-
class POdin10G6S6P_a(FamilyF):
|
|
97
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
98
|
-
super().__init__(conn, module_id, port_id)
|
|
99
|
-
self.runt = Runt(conn, module_id, port_id)
|
|
100
|
-
"""Runt settings."""
|
|
101
|
-
|
|
102
|
-
self.preamble = Preamble(conn, module_id, port_id)
|
|
103
|
-
"""Preamble settiNgs."""
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
class POdin10G1S2PT(FamilyF):
|
|
107
|
-
"""L23 port on Odin-10G-1S-2P-T module.
|
|
108
|
-
"""
|
|
109
|
-
...
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
class POdin10G1S2P_d(FamilyF):
|
|
113
|
-
"""L23 port on Odin-10G-1S-2P[d] module.
|
|
114
|
-
"""
|
|
115
|
-
...
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
class POdin10G1S12P(FamilyF):
|
|
119
|
-
"""L23 port on Odin-10G-1S-12P module.
|
|
120
|
-
"""
|
|
121
|
-
...
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
class POdin40G2S2P(FamilyF):
|
|
125
|
-
"""L23 port on Odin-40G-2S-2P module.
|
|
126
|
-
"""
|
|
127
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
128
|
-
super().__init__(conn, module_id, port_id)
|
|
129
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
130
|
-
"""L23 port's dynamic traffic change.
|
|
131
|
-
|
|
132
|
-
:type: P_DYNAMIC
|
|
133
|
-
"""
|
|
134
|
-
|
|
135
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
136
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
class POdin40G2S2PB(FamilyF):
|
|
140
|
-
"""L23 port on Odin-40G-2S-2P-B module.
|
|
141
|
-
"""
|
|
142
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
143
|
-
super().__init__(conn, module_id, port_id)
|
|
144
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
145
|
-
"""L23 port's dynamic traffic change.
|
|
146
|
-
|
|
147
|
-
:type: P_DYNAMIC
|
|
148
|
-
"""
|
|
149
|
-
|
|
150
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
151
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
@@ -1,67 +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 FamilyH(BasePortL23Genuine):
|
|
19
|
-
serdes: Tuple[SerDes, ...]
|
|
20
|
-
"""SerDes index
|
|
21
|
-
|
|
22
|
-
:type: Tuple[SerDes, ...]
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
26
|
-
super().__init__(conn, module_id, port_id)
|
|
27
|
-
self.dynamic = P_DYNAMIC(conn, module_id, port_id)
|
|
28
|
-
"""L23 port's dynamic traffic change.
|
|
29
|
-
|
|
30
|
-
:type: P_DYNAMIC
|
|
31
|
-
"""
|
|
32
|
-
|
|
33
|
-
async def _setup(self) -> Self:
|
|
34
|
-
await super()._setup()
|
|
35
|
-
self.serdes = tuple(
|
|
36
|
-
SerDes(self._conn, *self.kind, serdes_xindex=serdes_xindex)
|
|
37
|
-
for serdes_xindex in range(self.info.capabilities.serdes_count)
|
|
38
|
-
)
|
|
39
|
-
return self
|
|
40
|
-
|
|
41
|
-
on_dynamic_change = functools.partialmethod(utils.on_event, P_DYNAMIC)
|
|
42
|
-
"""Register a callback to the event that the port's dynamic traffic setting changes."""
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
class PLoki100G5S1P(FamilyH):
|
|
46
|
-
"""L23 port on Loki-100G-5S-1P module.
|
|
47
|
-
"""
|
|
48
|
-
|
|
49
|
-
pcs_pma: PcsPma
|
|
50
|
-
"""PCS/PMA settings.
|
|
51
|
-
|
|
52
|
-
:type: ~xoa_driver.internals.hli_v1.ports.port_l23.pcs_pma_ghijkl.PcsPma
|
|
53
|
-
"""
|
|
54
|
-
|
|
55
|
-
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
56
|
-
super().__init__(conn, module_id, port_id)
|
|
57
|
-
|
|
58
|
-
async def _setup(self) -> Self:
|
|
59
|
-
await super()._setup()
|
|
60
|
-
self.pcs_pma = PcsPma(self._conn, self)
|
|
61
|
-
return self
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
class POdin100G3S1P(FamilyH):
|
|
65
|
-
"""L23 port on Odin-100G-3S-1P module.
|
|
66
|
-
"""
|
|
67
|
-
...
|