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
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import functools
|
|
2
|
+
from typing import TYPE_CHECKING
|
|
3
|
+
from xoa_driver.internals.commands import (
|
|
4
|
+
P_TXRUNTLENGTH,
|
|
5
|
+
P_RXRUNTLENGTH,
|
|
6
|
+
P_RXRUNTLEN_ERRS,
|
|
7
|
+
|
|
8
|
+
)
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from xoa_driver.internals.core import interfaces as itf
|
|
11
|
+
|
|
12
|
+
class Runt:
|
|
13
|
+
"""Runt settings."""
|
|
14
|
+
|
|
15
|
+
def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
|
|
16
|
+
self.tx_length = P_TXRUNTLENGTH(conn, module_id, port_id)
|
|
17
|
+
"""L23 port's TX runt length.
|
|
18
|
+
|
|
19
|
+
:type: P_TXRUNTLENGTH
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
self.rx_length = P_RXRUNTLENGTH(conn, module_id, port_id)
|
|
23
|
+
"""L23 port's RX runt length.
|
|
24
|
+
|
|
25
|
+
:type: P_RXRUNTLENGTH
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
self.has_length_errors = P_RXRUNTLEN_ERRS(conn, module_id, port_id)
|
|
29
|
+
"""L23 port's RX runt length errors..
|
|
30
|
+
|
|
31
|
+
:type: P_RXRUNTLEN_ERRS
|
|
32
|
+
"""
|
|
@@ -57,9 +57,7 @@ def get_module_type(revision: str) -> Type:
|
|
|
57
57
|
|
|
58
58
|
class L23Tester(BaseTester["testers_state.GenuineTesterLocalState"]):
|
|
59
59
|
"""
|
|
60
|
-
|
|
61
|
-
It is essentially an extended :class:`BaseTester`.
|
|
62
|
-
|
|
60
|
+
Create an instanace to connect to a Xena chassis.
|
|
63
61
|
|
|
64
62
|
:param host: tester's address/hostname
|
|
65
63
|
:type host: str
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
from typing import (
|
|
2
2
|
Protocol,
|
|
3
3
|
List,
|
|
4
|
-
|
|
4
|
+
TypeVar,
|
|
5
|
+
Self,
|
|
5
6
|
TYPE_CHECKING,
|
|
6
7
|
)
|
|
7
8
|
|
|
8
9
|
if TYPE_CHECKING:
|
|
9
10
|
from xoa_driver.internals.core import interfaces as itf
|
|
10
|
-
from .. import kind
|
|
11
|
-
from . import observer
|
|
11
|
+
from .. import kind as kind_module
|
|
12
|
+
from . import observer as idx_obs
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
class IIndexType(Protocol):
|
|
15
|
-
def __init__(self, conn: "itf.IConnection", kind: "
|
|
16
|
+
def __init__(self, conn: "itf.IConnection", kind: "kind_module.IndicesKind", observer: "idx_obs.IndicesObserver") -> None: ... # noqa: E704
|
|
16
17
|
|
|
17
18
|
async def delete(self) -> None: ... # noqa: E704
|
|
18
19
|
|
|
@@ -20,7 +21,18 @@ class IIndexType(Protocol):
|
|
|
20
21
|
def idx(self) -> int: ... # noqa: E704
|
|
21
22
|
|
|
22
23
|
@classmethod
|
|
23
|
-
async def _fetch(
|
|
24
|
+
async def _fetch(
|
|
25
|
+
cls,
|
|
26
|
+
conn: "itf.IConnection",
|
|
27
|
+
module_id: int,
|
|
28
|
+
port_id: int) -> List[int]: ... # noqa: E704
|
|
24
29
|
|
|
25
30
|
@classmethod
|
|
26
|
-
async def _new(
|
|
31
|
+
async def _new(
|
|
32
|
+
cls,
|
|
33
|
+
conn: "itf.IConnection",
|
|
34
|
+
kind: "kind_module.IndicesKind",
|
|
35
|
+
observer: "idx_obs.IndicesObserver"
|
|
36
|
+
) -> Self: ... # noqa: E704
|
|
37
|
+
|
|
38
|
+
IT = TypeVar("IT", bound=IIndexType)
|
|
@@ -60,7 +60,13 @@ class IndexManager(Generic[IT]):
|
|
|
60
60
|
return self._indices[key]
|
|
61
61
|
|
|
62
62
|
def obtain_multiple(self, *keys: int):
|
|
63
|
-
"""Obtain multiple
|
|
63
|
+
"""Obtain multiple index objects
|
|
64
|
+
|
|
65
|
+
:param keys: Indices of the desired index objects
|
|
66
|
+
:type keys: int
|
|
67
|
+
:return: Tuple of index objects corresponding to the provided keys
|
|
68
|
+
:rtype: tuple[IT, ...]
|
|
69
|
+
"""
|
|
64
70
|
return tuple(self._indices[k] for k in keys)
|
|
65
71
|
|
|
66
72
|
def __detect_empty_idx_slot(self) -> int:
|
|
@@ -74,7 +80,7 @@ class IndexManager(Generic[IT]):
|
|
|
74
80
|
]
|
|
75
81
|
return min(empties) if empties else len(existing_indices)
|
|
76
82
|
|
|
77
|
-
def __remove_from_slot(self, index_inst:
|
|
83
|
+
def __remove_from_slot(self, index_inst: IT) -> None:
|
|
78
84
|
# throws ValueError if element is not exists in list of indices
|
|
79
85
|
self._indices.remove(index_inst)
|
|
80
86
|
|
|
@@ -111,6 +111,9 @@ class PortsCombiManager(PortBaseManager[PT]):
|
|
|
111
111
|
for port_id in range(self._ports_count)
|
|
112
112
|
)
|
|
113
113
|
ports = await asyncio.gather(*coros)
|
|
114
|
-
self._items =
|
|
115
|
-
|
|
114
|
+
self._items = cast(
|
|
115
|
+
OrderedDict[int, PT],
|
|
116
|
+
OrderedDict(
|
|
117
|
+
(port.kind.port_id, port) for port in ports
|
|
118
|
+
)
|
|
116
119
|
)
|
xoa_driver/misc.py
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
from .internals.core.token import Token
|
|
6
6
|
from .internals.core.transporter.protocol.payload.types import Hex
|
|
7
7
|
from .internals.commands.subtypes import (
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
ArpEntry,
|
|
9
|
+
NdpEntry,
|
|
10
|
+
DhcpEntry,
|
|
11
11
|
GroupAddressElem,
|
|
12
12
|
VlanTag,
|
|
13
13
|
QueueStatsElem,
|
|
@@ -31,9 +31,9 @@ from xoa_driver.internals.hli.indices.macsecscs.genuine_macsecsc import GenuineM
|
|
|
31
31
|
__all__ = (
|
|
32
32
|
"Token",
|
|
33
33
|
"Hex",
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
34
|
+
"ArpEntry",
|
|
35
|
+
"NdpEntry",
|
|
36
|
+
"DhcpEntry",
|
|
37
37
|
"GroupAddressElem",
|
|
38
38
|
"VlanTag",
|
|
39
39
|
"QueueStatsElem",
|
xoa_driver/modules.py
CHANGED
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
#: All available test module types.
|
|
2
2
|
"""Xena test module types."""
|
|
3
|
-
|
|
3
|
+
from typing import Union
|
|
4
4
|
from .internals.hli.modules.modules_l23.module_l23_base import ModuleL23
|
|
5
|
-
from .internals.hli.modules.
|
|
5
|
+
from .internals.hli.modules.module_l23ve import ModuleL23VE
|
|
6
|
+
from .internals.hli.modules.module_chimera import (
|
|
7
|
+
ModuleChimera,
|
|
8
|
+
MChi100G5S2P,
|
|
9
|
+
MChi100G5S2P_b,
|
|
10
|
+
MChi40G2S2P,
|
|
11
|
+
)
|
|
12
|
+
from .internals.hli.modules.module_l47 import ModuleL47
|
|
13
|
+
from .internals.hli.modules.module_l47ve import ModuleL47VE
|
|
14
|
+
from .internals.hli.modules.modules_l23.family_odin import (
|
|
6
15
|
MOdin1G3S2PT,
|
|
7
16
|
MOdin1G3S6P,
|
|
8
17
|
MOdin1G3S6P_b,
|
|
9
18
|
MOdin1G3S6PE,
|
|
10
|
-
)
|
|
11
|
-
from .internals.hli.modules.modules_l23.family_e import (
|
|
12
19
|
MOdin5G4S6PCU,
|
|
13
20
|
MOdin10G3S2PCU,
|
|
14
21
|
MOdin10G3S6PCU,
|
|
15
22
|
MOdin10G5S6PCU,
|
|
16
23
|
MOdin10G5S6PCU_b,
|
|
17
|
-
)
|
|
18
|
-
from .internals.hli.modules.modules_l23.family_f import (
|
|
19
24
|
MOdin10G1S2P,
|
|
20
25
|
MOdin10G1S2P_b,
|
|
21
26
|
MOdin10G1S2P_c,
|
|
@@ -25,31 +30,32 @@ from .internals.hli.modules.modules_l23.family_f import (
|
|
|
25
30
|
MOdin10G1S6P_b,
|
|
26
31
|
MOdin10G1S12P,
|
|
27
32
|
MOdin10G6S6P_a,
|
|
33
|
+
MOdin100G3S1P,
|
|
34
|
+
MOdin1G3S6PT1RJ45,
|
|
35
|
+
MOdin10G4S2PCombi,
|
|
36
|
+
MOdin10G4S2PCombi_b,
|
|
37
|
+
MOdin40G2S2P,
|
|
38
|
+
MOdin40G2S2PB,
|
|
28
39
|
)
|
|
29
|
-
from .internals.hli.modules.modules_l23.
|
|
40
|
+
from .internals.hli.modules.modules_l23.family_loki import (
|
|
30
41
|
MLoki100G3S1P,
|
|
31
42
|
MLoki100G3S1P_b,
|
|
32
43
|
MLoki100G3S1PSE,
|
|
33
44
|
MLoki100G3S1PB,
|
|
34
45
|
MLoki100G3S1PB_b,
|
|
35
46
|
MLoki100G5S4P_a,
|
|
36
|
-
)
|
|
37
|
-
from .internals.hli.modules.modules_l23.family_h import (
|
|
38
47
|
MLoki100G5S1P,
|
|
39
|
-
|
|
48
|
+
MLoki100G5S2P,
|
|
40
49
|
)
|
|
41
|
-
from .internals.hli.modules.modules_l23.
|
|
42
|
-
|
|
43
|
-
from .internals.hli.modules.modules_l23.family_k import (
|
|
50
|
+
from .internals.hli.modules.modules_l23.family_thor import (
|
|
51
|
+
MThor100G5S4P,
|
|
44
52
|
MThor400G7S1P,
|
|
45
53
|
MThor400G7S1PLE,
|
|
46
|
-
)
|
|
47
|
-
from .internals.hli.modules.modules_l23.family_l import (
|
|
48
54
|
MThor400G7S1P_b,
|
|
49
55
|
MThor400G7S1P_c,
|
|
50
56
|
MThor400G7S1P_d,
|
|
51
57
|
)
|
|
52
|
-
from .internals.hli.modules.modules_l23.
|
|
58
|
+
from .internals.hli.modules.modules_l23.family_freya import (
|
|
53
59
|
MFreya800G1S1P_a,
|
|
54
60
|
MFreya800G1S1P_b,
|
|
55
61
|
MFreya800G1S1POSFP_a,
|
|
@@ -99,33 +105,11 @@ from .internals.hli.modules.modules_l23.family_l1 import (
|
|
|
99
105
|
MFreya800G4S1POSFP_e_g2,
|
|
100
106
|
MFreya800G4S1POSFP_f_g2,
|
|
101
107
|
)
|
|
102
|
-
from .internals.hli.modules.modules_l23.family_m import MOdin1G3S6PT1RJ45
|
|
103
|
-
from .internals.hli.modules.modules_l23.family_n import (
|
|
104
|
-
MOdin40G2S2P,
|
|
105
|
-
MOdin40G2S2PB,
|
|
106
|
-
)
|
|
107
|
-
from .internals.hli.modules.modules_l23.family_combi import (
|
|
108
|
-
MOdin10G4S2PCombi,
|
|
109
|
-
MOdin10G4S2PCombi_b,
|
|
110
|
-
)
|
|
111
|
-
from .internals.hli.modules.module_l23ve import ModuleL23VE
|
|
112
|
-
from .internals.hli.modules.module_chimera import (
|
|
113
|
-
ModuleChimera,
|
|
114
|
-
MChi100G5S2P,
|
|
115
|
-
MChi100G5S2P_b,
|
|
116
|
-
MChi40G2S2P,
|
|
117
|
-
)
|
|
118
|
-
from .internals.hli.modules.module_l47 import ModuleL47
|
|
119
|
-
from .internals.hli.modules.module_l47ve import ModuleL47VE
|
|
120
|
-
|
|
121
108
|
from .internals.hli.modules.modules_l23.family_edun import (
|
|
122
109
|
MEdun800G3S1PSMPX_a,
|
|
123
110
|
MEdun1600G4S1POSFP_a
|
|
124
111
|
)
|
|
125
|
-
|
|
126
|
-
import typing
|
|
127
|
-
|
|
128
|
-
Z10OdinModule = typing.Union[
|
|
112
|
+
Z10OdinModule = Union[
|
|
129
113
|
MOdin1G3S2PT,
|
|
130
114
|
MOdin1G3S6P,
|
|
131
115
|
MOdin1G3S6P_b,
|
|
@@ -152,7 +136,7 @@ Z10OdinModule = typing.Union[
|
|
|
152
136
|
MOdin100G3S1P,
|
|
153
137
|
]
|
|
154
138
|
|
|
155
|
-
Z100LokiModule =
|
|
139
|
+
Z100LokiModule = Union[
|
|
156
140
|
MLoki100G3S1P,
|
|
157
141
|
MLoki100G3S1P_b,
|
|
158
142
|
MLoki100G3S1PSE,
|
|
@@ -163,7 +147,7 @@ Z100LokiModule = typing.Union[
|
|
|
163
147
|
MLoki100G5S4P_a,
|
|
164
148
|
]
|
|
165
149
|
|
|
166
|
-
Z400ThorModule =
|
|
150
|
+
Z400ThorModule = Union[
|
|
167
151
|
MThor100G5S4P,
|
|
168
152
|
MThor400G7S1P,
|
|
169
153
|
MThor400G7S1PLE,
|
|
@@ -172,7 +156,7 @@ Z400ThorModule = typing.Union[
|
|
|
172
156
|
MThor400G7S1P_d,
|
|
173
157
|
]
|
|
174
158
|
|
|
175
|
-
Z800FreyaModule =
|
|
159
|
+
Z800FreyaModule = Union[
|
|
176
160
|
MFreya800G1S1P_a,
|
|
177
161
|
MFreya800G1S1P_b,
|
|
178
162
|
MFreya800G1S1POSFP_a,
|
|
@@ -223,25 +207,25 @@ Z800FreyaModule = typing.Union[
|
|
|
223
207
|
MFreya800G4S1POSFP_f_g2,
|
|
224
208
|
]
|
|
225
209
|
|
|
226
|
-
Z1600EdunModule =
|
|
210
|
+
Z1600EdunModule = Union[
|
|
227
211
|
MEdun800G3S1PSMPX_a,
|
|
228
212
|
MEdun1600G4S1POSFP_a
|
|
229
213
|
]
|
|
230
214
|
|
|
231
|
-
E100ChimeraModule =
|
|
215
|
+
E100ChimeraModule = Union[
|
|
232
216
|
ModuleChimera,
|
|
233
217
|
MChi100G5S2P,
|
|
234
218
|
MChi100G5S2P_b,
|
|
235
219
|
MChi40G2S2P,
|
|
236
220
|
]
|
|
237
221
|
|
|
238
|
-
LegacyModule =
|
|
222
|
+
LegacyModule = Union[
|
|
239
223
|
ModuleL23VE,
|
|
240
224
|
ModuleL47,
|
|
241
225
|
ModuleL47VE,
|
|
242
226
|
]
|
|
243
227
|
|
|
244
|
-
GenericL23Module =
|
|
228
|
+
GenericL23Module = Union[
|
|
245
229
|
"MOdin1G3S2PT",
|
|
246
230
|
"MOdin1G3S6P",
|
|
247
231
|
"MOdin1G3S6P_b",
|
|
@@ -336,7 +320,7 @@ GenericL23Module = typing.Union[
|
|
|
336
320
|
"MEdun1600G4S1POSFP_a",
|
|
337
321
|
]
|
|
338
322
|
|
|
339
|
-
GenericAnyModule =
|
|
323
|
+
GenericAnyModule = Union[
|
|
340
324
|
GenericL23Module,
|
|
341
325
|
|
|
342
326
|
"ModuleL23VE",
|
xoa_driver/ports.py
CHANGED
|
@@ -13,30 +13,21 @@ from .internals.hli.ports.port_l23.chimera.port_chimera import (
|
|
|
13
13
|
PChi40G2S2P,
|
|
14
14
|
)
|
|
15
15
|
|
|
16
|
-
from .internals.hli.ports.port_l23.
|
|
17
|
-
from xoa_driver.internals.hli.ports.port_l23.
|
|
16
|
+
from .internals.hli.ports.port_l23.trafficgen.port_l23 import BasePortL23
|
|
17
|
+
from xoa_driver.internals.hli.ports.port_l23.family_odin import (
|
|
18
18
|
POdin1G4S4PCombi,
|
|
19
19
|
POdin1G4S4PCombi_b,
|
|
20
20
|
POdin10G4S2PCombi,
|
|
21
21
|
POdin10G4S2PCombi_b,
|
|
22
|
-
)
|
|
23
|
-
|
|
24
|
-
from xoa_driver.internals.hli.ports.port_l23.family_d import (
|
|
25
22
|
POdin1G3S2PT,
|
|
26
23
|
POdin1G3S6P,
|
|
27
24
|
POdin1G3S6P_b,
|
|
28
25
|
POdin1G3S6PE,
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
from xoa_driver.internals.hli.ports.port_l23.family_e import (
|
|
32
26
|
POdin5G4S6PCU,
|
|
33
27
|
POdin10G3S2PCU,
|
|
34
28
|
POdin10G3S6PCU,
|
|
35
29
|
POdin10G5S6PCU,
|
|
36
30
|
POdin10G5S6PCU_b,
|
|
37
|
-
)
|
|
38
|
-
|
|
39
|
-
from xoa_driver.internals.hli.ports.port_l23.family_f import (
|
|
40
31
|
POdin10G1S2P,
|
|
41
32
|
POdin10G1S2P_b,
|
|
42
33
|
POdin10G1S2P_c,
|
|
@@ -48,35 +39,28 @@ from xoa_driver.internals.hli.ports.port_l23.family_f import (
|
|
|
48
39
|
POdin40G2S2P,
|
|
49
40
|
POdin40G2S2PB,
|
|
50
41
|
POdin10G6S6P_a,
|
|
42
|
+
POdin100G3S1P,
|
|
43
|
+
POdin1G3S6PT1RJ45,
|
|
51
44
|
)
|
|
52
|
-
|
|
53
|
-
from xoa_driver.internals.hli.ports.port_l23.family_g import (
|
|
45
|
+
from xoa_driver.internals.hli.ports.port_l23.family_loki import (
|
|
54
46
|
PLoki100G3S1P,
|
|
55
47
|
PLoki100G3S1P_b,
|
|
56
48
|
PLoki100G3S1PSE,
|
|
57
49
|
PLoki100G3S1PB,
|
|
58
50
|
PLoki100G3S1PB_b,
|
|
59
51
|
PLoki100G5S4P_a,
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
from xoa_driver.internals.hli.ports.port_l23.family_h import (
|
|
63
52
|
PLoki100G5S1P,
|
|
64
|
-
|
|
53
|
+
PLoki100G5S2P,
|
|
65
54
|
)
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
from xoa_driver.internals.hli.ports.port_l23.family_j import PThor100G5S4P
|
|
69
|
-
from xoa_driver.internals.hli.ports.port_l23.family_k import (
|
|
55
|
+
from xoa_driver.internals.hli.ports.port_l23.family_thor import (
|
|
56
|
+
PThor100G5S4P,
|
|
70
57
|
PThor400G7S1P,
|
|
71
58
|
PThor400G7S1PLE,
|
|
72
|
-
)
|
|
73
|
-
from xoa_driver.internals.hli.ports.port_l23.family_l import (
|
|
74
59
|
PThor400G7S1P_b,
|
|
75
60
|
PThor400G7S1P_c,
|
|
76
61
|
PThor400G7S1P_d,
|
|
77
62
|
)
|
|
78
|
-
|
|
79
|
-
from xoa_driver.internals.hli.ports.port_l23.family_l1 import (
|
|
63
|
+
from xoa_driver.internals.hli.ports.port_l23.family_freya import (
|
|
80
64
|
PFreya800G1S1P_a,
|
|
81
65
|
PFreya800G1S1P_b,
|
|
82
66
|
PFreya800G1S1POSFP_a,
|
|
@@ -95,12 +79,9 @@ from xoa_driver.internals.hli.ports.port_l23.family_l1 import (
|
|
|
95
79
|
PFreya800G4S1POSFP_e,
|
|
96
80
|
PFreya800G4S1POSFP_f,
|
|
97
81
|
)
|
|
98
|
-
|
|
99
|
-
from xoa_driver.internals.hli.ports.port_l23.family_m import POdin1G3S6PT1RJ45
|
|
100
|
-
|
|
101
82
|
from xoa_driver.internals.hli.ports.port_l23.family_edun import (
|
|
102
83
|
PEdun800G3S1PSMPX_a,
|
|
103
|
-
PEdun1600G4S1POSFP_a
|
|
84
|
+
PEdun1600G4S1POSFP_a,
|
|
104
85
|
)
|
|
105
86
|
|
|
106
87
|
Z10OdinPort = typing.Union[
|
|
@@ -1,75 +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
|
-
|
|
7
|
-
if typing.TYPE_CHECKING:
|
|
8
|
-
from xoa_driver.internals.core import interfaces as itf
|
|
9
|
-
from .. import __interfaces as m_itf
|
|
10
|
-
|
|
11
|
-
from .module_l23_base import ModuleL23
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@typing.final
|
|
15
|
-
@revisions.register_valkyrie_module(rev="Odin-1G-3S-6P")
|
|
16
|
-
class MOdin1G3S6P(ModuleL23):
|
|
17
|
-
"""Test module Odin-1G-3S-6P"""
|
|
18
|
-
|
|
19
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
20
|
-
super().__init__(conn, init_data)
|
|
21
|
-
self.ports: pm.PortsManager[ports.POdin1G3S6P] = pm.PortsManager(
|
|
22
|
-
conn=conn,
|
|
23
|
-
ports_type=ports.POdin1G3S6P,
|
|
24
|
-
module_id=self.module_id,
|
|
25
|
-
ports_count=self.ports_count
|
|
26
|
-
)
|
|
27
|
-
"""Port Index Manager of Odin-1G-3S-6P"""
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
@typing.final
|
|
31
|
-
@revisions.register_valkyrie_module(rev="Odin-1G-3S-6P[b]")
|
|
32
|
-
class MOdin1G3S6P_b(ModuleL23):
|
|
33
|
-
"""Test module Odin-1G-3S-6P[b]"""
|
|
34
|
-
|
|
35
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
36
|
-
super().__init__(conn, init_data)
|
|
37
|
-
self.ports: pm.PortsManager[ports.POdin1G3S6P_b] = pm.PortsManager(
|
|
38
|
-
conn=conn,
|
|
39
|
-
ports_type=ports.POdin1G3S6P_b,
|
|
40
|
-
module_id=self.module_id,
|
|
41
|
-
ports_count=self.ports_count
|
|
42
|
-
)
|
|
43
|
-
"""Port Index Manager of Odin-1G-3S-6P[b]"""
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
@typing.final
|
|
47
|
-
@revisions.register_valkyrie_module(rev="Odin-1G-3S-6P-E")
|
|
48
|
-
class MOdin1G3S6PE(ModuleL23):
|
|
49
|
-
"""Test module Odin-1G-3S-6P-E"""
|
|
50
|
-
|
|
51
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
52
|
-
super().__init__(conn, init_data)
|
|
53
|
-
self.ports: pm.PortsManager[ports.POdin1G3S6PE] = pm.PortsManager(
|
|
54
|
-
conn=conn,
|
|
55
|
-
ports_type=ports.POdin1G3S6PE,
|
|
56
|
-
module_id=self.module_id,
|
|
57
|
-
ports_count=self.ports_count
|
|
58
|
-
)
|
|
59
|
-
"""Port Index Manager of Odin-1G-3S-6P-E"""
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
@typing.final
|
|
63
|
-
@revisions.register_valkyrie_module(rev="Odin-1G-3S-2P-T")
|
|
64
|
-
class MOdin1G3S2PT(ModuleL23):
|
|
65
|
-
"""Test module Odin-1G-3S-2P-T"""
|
|
66
|
-
|
|
67
|
-
def __init__(self, conn: "itf.IConnection", init_data: "m_itf.ModuleInitData") -> None:
|
|
68
|
-
super().__init__(conn, init_data)
|
|
69
|
-
self.ports: pm.PortsManager[ports.POdin1G3S2PT] = pm.PortsManager(
|
|
70
|
-
conn=conn,
|
|
71
|
-
ports_type=ports.POdin1G3S2PT,
|
|
72
|
-
module_id=self.module_id,
|
|
73
|
-
ports_count=self.ports_count
|
|
74
|
-
)
|
|
75
|
-
"""Port Index Manager of Odin-1G-3S-2P-T"""
|
|
@@ -1,85 +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-5G-4S-6P-CU")
|
|
15
|
-
class MOdin5G4S6PCU(ModuleL23):
|
|
16
|
-
"""Test module Odin-5G-4S-6P-CU"""
|
|
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.POdin5G4S6PCU] = pm.PortsManager(
|
|
20
|
-
conn=conn,
|
|
21
|
-
ports_type=ports.POdin5G4S6PCU,
|
|
22
|
-
module_id=self.module_id,
|
|
23
|
-
ports_count=self.ports_count
|
|
24
|
-
)
|
|
25
|
-
"""Port Index Manager of Odin-5G-4S-6P-CU"""
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@typing.final
|
|
29
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-5S-6P-CU")
|
|
30
|
-
class MOdin10G5S6PCU(ModuleL23):
|
|
31
|
-
"""Test module Odin-10G-5S-6P-CU"""
|
|
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.POdin10G5S6PCU] = pm.PortsManager(
|
|
35
|
-
conn=conn,
|
|
36
|
-
ports_type=ports.POdin10G5S6PCU,
|
|
37
|
-
module_id=self.module_id,
|
|
38
|
-
ports_count=self.ports_count
|
|
39
|
-
)
|
|
40
|
-
"""Port Index Manager of Odin-10G-5S-6P-CU"""
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
@typing.final
|
|
44
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-5S-6P-CU[b]")
|
|
45
|
-
class MOdin10G5S6PCU_b(ModuleL23):
|
|
46
|
-
"""Test module Odin-10G-5S-6P-CU[b]"""
|
|
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.POdin10G5S6PCU_b] = pm.PortsManager(
|
|
50
|
-
conn=conn,
|
|
51
|
-
ports_type=ports.POdin10G5S6PCU_b,
|
|
52
|
-
module_id=self.module_id,
|
|
53
|
-
ports_count=self.ports_count
|
|
54
|
-
)
|
|
55
|
-
"""Port Index Manager of Odin-10G-5S-6P-CU[b]"""
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
@typing.final
|
|
59
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-3S-6P-CU")
|
|
60
|
-
class MOdin10G3S6PCU(ModuleL23):
|
|
61
|
-
"""Test module Odin-10G-3S-6P-CU"""
|
|
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.POdin10G3S6PCU] = pm.PortsManager(
|
|
65
|
-
conn=conn,
|
|
66
|
-
ports_type=ports.POdin10G3S6PCU,
|
|
67
|
-
module_id=self.module_id,
|
|
68
|
-
ports_count=self.ports_count
|
|
69
|
-
)
|
|
70
|
-
"""Port Index Manager of Odin-10G-3S-6P-CU"""
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
@typing.final
|
|
74
|
-
@revisions.register_valkyrie_module(rev="Odin-10G-3S-2P-CU")
|
|
75
|
-
class MOdin10G3S2PCU(ModuleL23):
|
|
76
|
-
"""Test module Odin-10G-3S-2P-CU"""
|
|
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.POdin10G3S2PCU] = pm.PortsManager(
|
|
80
|
-
conn=conn,
|
|
81
|
-
ports_type=ports.POdin10G3S2PCU,
|
|
82
|
-
module_id=self.module_id,
|
|
83
|
-
ports_count=self.ports_count
|
|
84
|
-
)
|
|
85
|
-
"""Port Index Manager of Odin-10G-3S-2P-CU"""
|