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,3 +1,4 @@
|
|
|
1
|
+
"""Port Commands"""
|
|
1
2
|
from __future__ import annotations
|
|
2
3
|
from dataclasses import dataclass
|
|
3
4
|
import ipaddress
|
|
@@ -28,8 +29,8 @@ from xoa_driver.internals.core.transporter.protocol.payload import (
|
|
|
28
29
|
Hex,
|
|
29
30
|
)
|
|
30
31
|
from .subtypes import (
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
ArpEntry,
|
|
33
|
+
NdpEntry,
|
|
33
34
|
)
|
|
34
35
|
from .enums import (
|
|
35
36
|
ReservedStatus,
|
|
@@ -199,6 +200,11 @@ class P_CAPABILITIES:
|
|
|
199
200
|
_module: int
|
|
200
201
|
_port: int
|
|
201
202
|
|
|
203
|
+
def __init__(self, conn: 'interfaces.IConnection', module_id: int, port_id: int) -> None:
|
|
204
|
+
self._connection = conn
|
|
205
|
+
self._module = module_id
|
|
206
|
+
self._port = port_id
|
|
207
|
+
|
|
202
208
|
class GetDataAttr(ResponseBodyStruct):
|
|
203
209
|
max_speed: int = field(XmpInt())
|
|
204
210
|
"""integer, max wire speed in Mbps, for fastest transceiver and mode"""
|
|
@@ -601,10 +607,47 @@ class P_CAPABILITIES:
|
|
|
601
607
|
* Bit 0: Normal modifier (16/24-bit) supports little-endian
|
|
602
608
|
* Bit 1: Extended modifier (32-bit) supports little-endian
|
|
603
609
|
"""
|
|
604
|
-
|
|
610
|
+
capture_bitmask: int = field(XmpInt(), min_version=470)
|
|
611
|
+
"""integer, bitmask indicating capture capabilities.
|
|
605
612
|
|
|
613
|
+
If all bits are 0: CAPTURE_NOT_SUPPORTED
|
|
606
614
|
|
|
607
|
-
|
|
615
|
+
Bits [0:11] are for Start triggers:
|
|
616
|
+
|
|
617
|
+
* Bit 0: CAPTURE_START_ON
|
|
618
|
+
* Bit 1: CAPTURE_START_FCSERROR
|
|
619
|
+
* Bit 2: CAPTURE_START_FILTER
|
|
620
|
+
* Bit 3: CAPTURE_START_PLDERROR
|
|
621
|
+
* Bit 4-11: Reserved
|
|
622
|
+
|
|
623
|
+
Bits [12:23] are for Stop triggers:
|
|
624
|
+
|
|
625
|
+
* Bit 12: CAPTURE_STOP_FULL
|
|
626
|
+
* Bit 13: CAPTURE_STOP_FCSERROR
|
|
627
|
+
* Bit 14: CAPTURE_STOP_FILTER
|
|
628
|
+
* Bit 15: CAPTURE_STOP_PLDERROR
|
|
629
|
+
* Bit 16: CAPTURE_STOP_USERSTOP
|
|
630
|
+
* Bit 17-23: Reserved
|
|
631
|
+
|
|
632
|
+
Bits [24:31] are for Keep modes:
|
|
633
|
+
|
|
634
|
+
* Bit 24: CAPTURE_KEEP_ALL
|
|
635
|
+
* Bit 25: CAPTURE_KEEP_FCSERR
|
|
636
|
+
* Bit 26: CAPTURE_KEEP_NOTPLD
|
|
637
|
+
* Bit 27: CAPTURE_KEEP_TPLD
|
|
638
|
+
* Bit 28: CAPTURE_KEEP_FILTER
|
|
639
|
+
* Bit 29: CAPTURE_KEEP_PLDERR
|
|
640
|
+
* Bit 30-31: Reserved
|
|
641
|
+
"""
|
|
642
|
+
num_txeq_pre: int = field(XmpInt(), min_version=470)
|
|
643
|
+
"""The number of postcursors = num_txeq - num_txeq_pre - 1."""
|
|
644
|
+
txeq_max_seq: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()], length=10), min_version=470)
|
|
645
|
+
"""max value of individual TXEQ taps, SEQuential: <pre-n> <pre-(n-q)> ... <prr1> <main> <post1> <post2> ...."""
|
|
646
|
+
txeq_min_seq: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()], length=10), min_version=470)
|
|
647
|
+
"""min-value of individual TXEQ taps, SEQuential: <pre-n> <pre-(n-q)> ... <prr1> <main> <post1> <post2> ...."""
|
|
648
|
+
|
|
649
|
+
|
|
650
|
+
def get(self) -> Token[P_CAPABILITIES.GetDataAttr]:
|
|
608
651
|
"""Get the internal limits, aka. capabilities, of the port.
|
|
609
652
|
|
|
610
653
|
:return: the internal limits, aka. capabilities, of the port.
|
|
@@ -1512,7 +1555,6 @@ class P_XMITONE:
|
|
|
1512
1555
|
A valid Frame Check Sum is written into the final four bytes.
|
|
1513
1556
|
|
|
1514
1557
|
:param hex_data: raw bytes of the packet in hex to transmit
|
|
1515
|
-
:rtype: typing.List[str]
|
|
1516
1558
|
"""
|
|
1517
1559
|
|
|
1518
1560
|
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, hex_data=hex_data))
|
|
@@ -2296,10 +2338,10 @@ class P_ARPRXTABLE:
|
|
|
2296
2338
|
_port: int
|
|
2297
2339
|
|
|
2298
2340
|
class GetDataAttr(ResponseBodyStruct):
|
|
2299
|
-
|
|
2341
|
+
entries: typing.List[ArpEntry] = field(XmpSequence(types_chunk=[XmpIPv4Address(), XmpShort(), XmpByte(), XmpMacAddress()]))
|
|
2300
2342
|
|
|
2301
2343
|
class SetDataAttr(RequestBodyStruct):
|
|
2302
|
-
|
|
2344
|
+
entries: typing.List[ArpEntry] = field(XmpSequence(types_chunk=[XmpIPv4Address(), XmpShort(), XmpByte(), XmpMacAddress()]))
|
|
2303
2345
|
|
|
2304
2346
|
def get(self) -> Token[GetDataAttr]:
|
|
2305
2347
|
"""Get the port's ARP table used to reply to incoming ARP requests.
|
|
@@ -2314,18 +2356,18 @@ class P_ARPRXTABLE:
|
|
|
2314
2356
|
|
|
2315
2357
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port))
|
|
2316
2358
|
|
|
2317
|
-
def set(self,
|
|
2359
|
+
def set(self, entries: typing.List[ArpEntry]) -> Token[None]:
|
|
2318
2360
|
"""Set the port's ARP table used to reply to incoming ARP requests.
|
|
2319
2361
|
|
|
2320
|
-
:param
|
|
2362
|
+
:param entries:
|
|
2321
2363
|
* IP address to match to the Target IP address in the ARP requests
|
|
2322
2364
|
* The prefix used for address matching
|
|
2323
2365
|
* Whether the target MAC address will be patched with the part of the IP address that is not masked by the prefix
|
|
2324
2366
|
* The target MAC address to return in the ARP reply
|
|
2325
|
-
:type
|
|
2367
|
+
:type entries: typing.List[subtypes.ArpChunkList]
|
|
2326
2368
|
"""
|
|
2327
2369
|
|
|
2328
|
-
return Token(self._connection, build_set_request(self, module=self._module, port=self._port,
|
|
2370
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, entries=entries))
|
|
2329
2371
|
|
|
2330
2372
|
|
|
2331
2373
|
@register_command
|
|
@@ -2343,10 +2385,10 @@ class P_NDPRXTABLE:
|
|
|
2343
2385
|
_port: int
|
|
2344
2386
|
|
|
2345
2387
|
class GetDataAttr(ResponseBodyStruct):
|
|
2346
|
-
|
|
2388
|
+
entries: typing.List[NdpEntry] = field(XmpSequence(types_chunk=[XmpIPv6Address(), XmpShort(), XmpByte(), XmpMacAddress()]))
|
|
2347
2389
|
|
|
2348
2390
|
class SetDataAttr(RequestBodyStruct):
|
|
2349
|
-
|
|
2391
|
+
entries: typing.List[NdpEntry] = field(XmpSequence(types_chunk=[XmpIPv6Address(), XmpShort(), XmpByte(), XmpMacAddress()]))
|
|
2350
2392
|
|
|
2351
2393
|
def get(self) -> Token[GetDataAttr]:
|
|
2352
2394
|
"""Get the port's NDP table used to reply to incoming NDP Neighbor Solicitation.
|
|
@@ -2361,19 +2403,18 @@ class P_NDPRXTABLE:
|
|
|
2361
2403
|
|
|
2362
2404
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port))
|
|
2363
2405
|
|
|
2364
|
-
def set(self,
|
|
2406
|
+
def set(self, entries: typing.List[NdpEntry]) -> Token[None]:
|
|
2365
2407
|
"""Set the port's NDP table used to reply to incoming NDP Neighbor Solicitation.
|
|
2366
2408
|
|
|
2367
|
-
:param
|
|
2409
|
+
:param entries:
|
|
2368
2410
|
* IP address to match to the Target IP address in the NDP Neighbor Solicitation
|
|
2369
2411
|
* The prefix used for address matching
|
|
2370
2412
|
* Whether the target MAC address will be patched with the part of the IP address that is not masked by the prefix
|
|
2371
2413
|
* The target MAC address to return in the NDP Neighbor Advertisement
|
|
2372
|
-
:type
|
|
2414
|
+
:type entries: typing.List[subtypes.NdpChunkList]
|
|
2373
2415
|
"""
|
|
2374
2416
|
|
|
2375
|
-
return Token(self._connection, build_set_request(self, module=self._module, port=self._port,
|
|
2376
|
-
|
|
2417
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, entries=entries))
|
|
2377
2418
|
|
|
2378
2419
|
@register_command
|
|
2379
2420
|
@dataclass
|
|
@@ -4950,14 +4991,14 @@ class P_MACSEC_TXSC_STARTING_PN:
|
|
|
4950
4991
|
_txsc_index: int
|
|
4951
4992
|
|
|
4952
4993
|
class GetDataAttr(ResponseBodyStruct):
|
|
4953
|
-
|
|
4994
|
+
starting_pn: int = field(XmpLong())
|
|
4954
4995
|
"""integer, the starting PN number. Default to 1, maximum 2^64. Allowed to be 0."""
|
|
4955
4996
|
|
|
4956
4997
|
mode: MACSecPNMode = field(XmpByte())
|
|
4957
4998
|
"""byte, defining how to continue the TX PN after the start-traffic. Default to CONTINUOUS."""
|
|
4958
4999
|
|
|
4959
5000
|
class SetDataAttr(RequestBodyStruct):
|
|
4960
|
-
|
|
5001
|
+
starting_pn: int = field(XmpLong())
|
|
4961
5002
|
"""integer, the starting PN number. Default to 1, maximum 2^64. Allowed to be 0."""
|
|
4962
5003
|
|
|
4963
5004
|
mode: MACSecPNMode = field(XmpByte())
|
|
@@ -4971,15 +5012,15 @@ class P_MACSEC_TXSC_STARTING_PN:
|
|
|
4971
5012
|
"""
|
|
4972
5013
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._txsc_index]))
|
|
4973
5014
|
|
|
4974
|
-
def set(self,
|
|
5015
|
+
def set(self, starting_pn: int, mode: MACSecPNMode) -> Token[None]:
|
|
4975
5016
|
"""Set the starting PN number. Default to 1, maximum 2^64. Allowed to be 0.
|
|
4976
5017
|
|
|
4977
|
-
:param
|
|
4978
|
-
:type
|
|
5018
|
+
:param starting_pn: the starting PN number. Default to 1, maximum 2^64.
|
|
5019
|
+
:type starting_pn: int
|
|
4979
5020
|
:param mode: defining how to continue the TX PN after the start-traffic.
|
|
4980
5021
|
:type mode: MACSecPNMode
|
|
4981
5022
|
"""
|
|
4982
|
-
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._txsc_index],
|
|
5023
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._txsc_index], starting_pn=starting_pn, mode=mode))
|
|
4983
5024
|
|
|
4984
5025
|
|
|
4985
5026
|
# @register_command
|
|
@@ -5185,11 +5226,11 @@ class P_MACSEC_TXSC_XPN_SSCI:
|
|
|
5185
5226
|
_txsc_index: int
|
|
5186
5227
|
|
|
5187
5228
|
class GetDataAttr(ResponseBodyStruct):
|
|
5188
|
-
|
|
5229
|
+
xpn_ssci: Hex = field(XmpHex(size=4))
|
|
5189
5230
|
"""hex 4 bytes, The XPN Short SCI of the port's TX SC when XPN cipher suite is in use"""
|
|
5190
5231
|
|
|
5191
5232
|
class SetDataAttr(RequestBodyStruct):
|
|
5192
|
-
|
|
5233
|
+
xpn_ssci: Hex = field(XmpHex(size=4))
|
|
5193
5234
|
"""hex 4 bytes, The XPN Short SCI of the port's TX SC when XPN cipher suite is in use"""
|
|
5194
5235
|
|
|
5195
5236
|
def get(self) -> Token[GetDataAttr]:
|
|
@@ -5200,13 +5241,13 @@ class P_MACSEC_TXSC_XPN_SSCI:
|
|
|
5200
5241
|
"""
|
|
5201
5242
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._txsc_index]))
|
|
5202
5243
|
|
|
5203
|
-
def set(self,
|
|
5244
|
+
def set(self, xpn_ssci: Hex) -> Token[None]:
|
|
5204
5245
|
"""Set the XPN Short SCI of the port's TX SC when XPN cipher suite is in use
|
|
5205
5246
|
|
|
5206
|
-
:param
|
|
5207
|
-
:type
|
|
5247
|
+
:param xpn_ssci: the XPN Short SCI of the port's TX SC when XPN cipher suite is in use
|
|
5248
|
+
:type xpn_ssci: int
|
|
5208
5249
|
"""
|
|
5209
|
-
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._txsc_index],
|
|
5250
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._txsc_index], xpn_ssci=xpn_ssci))
|
|
5210
5251
|
|
|
5211
5252
|
|
|
5212
5253
|
@register_command
|
|
@@ -5225,11 +5266,11 @@ class P_MACSEC_TXSC_XPN_SALT:
|
|
|
5225
5266
|
_txsc_index: int
|
|
5226
5267
|
|
|
5227
5268
|
class GetDataAttr(ResponseBodyStruct):
|
|
5228
|
-
|
|
5269
|
+
xpn_salt: Hex = field(XmpHex(size=12))
|
|
5229
5270
|
"""hex 12 bytes, XPN salt of the port's TX SC when XPN cipher suite is in use."""
|
|
5230
5271
|
|
|
5231
5272
|
class SetDataAttr(RequestBodyStruct):
|
|
5232
|
-
|
|
5273
|
+
xpn_salt: Hex = field(XmpHex(size=12))
|
|
5233
5274
|
"""hex 12 bytes, XPN salt of the port's TX SC when XPN cipher suite is in use."""
|
|
5234
5275
|
|
|
5235
5276
|
def get(self) -> Token[GetDataAttr]:
|
|
@@ -5240,13 +5281,13 @@ class P_MACSEC_TXSC_XPN_SALT:
|
|
|
5240
5281
|
"""
|
|
5241
5282
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._txsc_index]))
|
|
5242
5283
|
|
|
5243
|
-
def set(self,
|
|
5284
|
+
def set(self, xpn_salt: Hex) -> Token[None]:
|
|
5244
5285
|
"""Set XPN salt of the port's TX SC when XPN cipher suite is in use.
|
|
5245
5286
|
|
|
5246
|
-
:param
|
|
5247
|
-
:type
|
|
5287
|
+
:param xpn_salt: XPN salt of the port's TX SC when XPN cipher suite is in use.
|
|
5288
|
+
:type xpn_salt: int
|
|
5248
5289
|
"""
|
|
5249
|
-
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._txsc_index],
|
|
5290
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._txsc_index], xpn_salt=xpn_salt))
|
|
5250
5291
|
|
|
5251
5292
|
|
|
5252
5293
|
@register_command
|
|
@@ -5519,9 +5560,9 @@ class P_MACSEC_RXSC_CIPHERSUITE:
|
|
|
5519
5560
|
|
|
5520
5561
|
@register_command
|
|
5521
5562
|
@dataclass
|
|
5522
|
-
class
|
|
5563
|
+
class P_MACSEC_RXSC_LOWEST_PN:
|
|
5523
5564
|
"""
|
|
5524
|
-
The
|
|
5565
|
+
The lowest PN number of the port’s RX SC expects to receive.
|
|
5525
5566
|
"""
|
|
5526
5567
|
|
|
5527
5568
|
code: typing.ClassVar[int] = 511
|
|
@@ -5533,28 +5574,29 @@ class P_MACSEC_RXSC_STARTING_PN:
|
|
|
5533
5574
|
_rxsc_index: int
|
|
5534
5575
|
|
|
5535
5576
|
class GetDataAttr(ResponseBodyStruct):
|
|
5536
|
-
|
|
5537
|
-
"""
|
|
5577
|
+
lowest_pn: Hex = field(XmpHex(size=8))
|
|
5578
|
+
"""hex, The lowest PN number of the port’s RX SC expects to receive. Default to 1, maximum 2^64. Allowed to be 0."""
|
|
5538
5579
|
|
|
5539
5580
|
class SetDataAttr(RequestBodyStruct):
|
|
5540
|
-
|
|
5541
|
-
"""
|
|
5581
|
+
lowest_pn: Hex = field(XmpHex(size=8))
|
|
5582
|
+
"""hex, The lowest PN number of the port’s RX SC expects to receive. Default to 1, maximum 2^64. Allowed to be 0."""
|
|
5583
|
+
|
|
5542
5584
|
|
|
5543
5585
|
def get(self) -> Token[GetDataAttr]:
|
|
5544
|
-
"""Get the
|
|
5586
|
+
"""Get the lowest PN number of the port’s RX SC expects to receive
|
|
5545
5587
|
|
|
5546
|
-
:return: the
|
|
5547
|
-
:rtype:
|
|
5588
|
+
:return: the lowest PN number of the port’s RX SC expects to receive
|
|
5589
|
+
:rtype: P_MACSEC_RXSC_LOWEST_PN.GetDataAttr
|
|
5548
5590
|
"""
|
|
5549
5591
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._rxsc_index]))
|
|
5550
5592
|
|
|
5551
|
-
def set(self,
|
|
5552
|
-
"""Set the
|
|
5593
|
+
def set(self, lowest_pn: int) -> Token[None]:
|
|
5594
|
+
"""Set the lowest PN number of the port’s RX SC expects to receive
|
|
5553
5595
|
|
|
5554
|
-
:param
|
|
5555
|
-
:type
|
|
5596
|
+
:param lowest_pn: The lowest PN number of the port’s RX SC expects to receive. Default to 1, maximum 2^64.
|
|
5597
|
+
:type lowest_pn: int
|
|
5556
5598
|
"""
|
|
5557
|
-
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._rxsc_index],
|
|
5599
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._rxsc_index], lowest_pn=lowest_pn))
|
|
5558
5600
|
|
|
5559
5601
|
|
|
5560
5602
|
@register_command
|
|
@@ -5654,11 +5696,11 @@ class P_MACSEC_RXSC_XPN_SSCI:
|
|
|
5654
5696
|
_rxsc_index: int
|
|
5655
5697
|
|
|
5656
5698
|
class GetDataAttr(ResponseBodyStruct):
|
|
5657
|
-
|
|
5699
|
+
xpn_ssci: Hex = field(XmpHex(size=4))
|
|
5658
5700
|
"""hex 4 bytes, The XPN Short SCI of the port's RX SC when XPN cipher suite is in use"""
|
|
5659
5701
|
|
|
5660
5702
|
class SetDataAttr(RequestBodyStruct):
|
|
5661
|
-
|
|
5703
|
+
xpn_ssci: Hex = field(XmpHex(size=4))
|
|
5662
5704
|
"""hex 4 bytes, The XPN Short SCI of the port's RX SC when XPN cipher suite is in use"""
|
|
5663
5705
|
|
|
5664
5706
|
def get(self) -> Token[GetDataAttr]:
|
|
@@ -5669,13 +5711,13 @@ class P_MACSEC_RXSC_XPN_SSCI:
|
|
|
5669
5711
|
"""
|
|
5670
5712
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._rxsc_index]))
|
|
5671
5713
|
|
|
5672
|
-
def set(self,
|
|
5714
|
+
def set(self, xpn_ssci: Hex) -> Token[None]:
|
|
5673
5715
|
"""Set the XPN Short SCI of the port's RX SC when XPN cipher suite is in use
|
|
5674
5716
|
|
|
5675
|
-
:param
|
|
5676
|
-
:type
|
|
5717
|
+
:param xpn_ssci: the XPN Short SCI of the port's RX SC when XPN cipher suite is in use
|
|
5718
|
+
:type xpn_ssci: int
|
|
5677
5719
|
"""
|
|
5678
|
-
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._rxsc_index],
|
|
5720
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._rxsc_index], xpn_ssci=xpn_ssci))
|
|
5679
5721
|
|
|
5680
5722
|
|
|
5681
5723
|
@register_command
|
|
@@ -5694,11 +5736,11 @@ class P_MACSEC_RXSC_XPN_SALT:
|
|
|
5694
5736
|
_rxsc_index: int
|
|
5695
5737
|
|
|
5696
5738
|
class GetDataAttr(ResponseBodyStruct):
|
|
5697
|
-
|
|
5739
|
+
xpn_salt: Hex = field(XmpHex(size=12))
|
|
5698
5740
|
"""hex 12 bytes, XPN salt of the port's RX SC when XPN cipher suite is in use."""
|
|
5699
5741
|
|
|
5700
5742
|
class SetDataAttr(RequestBodyStruct):
|
|
5701
|
-
|
|
5743
|
+
xpn_salt: Hex = field(XmpHex(size=12))
|
|
5702
5744
|
"""hex 12 bytes, XPN salt of the port's RX SC when XPN cipher suite is in use."""
|
|
5703
5745
|
|
|
5704
5746
|
def get(self) -> Token[GetDataAttr]:
|
|
@@ -5709,13 +5751,13 @@ class P_MACSEC_RXSC_XPN_SALT:
|
|
|
5709
5751
|
"""
|
|
5710
5752
|
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._rxsc_index]))
|
|
5711
5753
|
|
|
5712
|
-
def set(self,
|
|
5754
|
+
def set(self, xpn_salt: Hex) -> Token[None]:
|
|
5713
5755
|
"""Set XPN salt of the port's RX SC when XPN cipher suite is in use.
|
|
5714
5756
|
|
|
5715
|
-
:param
|
|
5716
|
-
:type
|
|
5757
|
+
:param xpn_salt: XPN salt of the port's RX SC when XPN cipher suite is in use.
|
|
5758
|
+
:type xpn_salt: int
|
|
5717
5759
|
"""
|
|
5718
|
-
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._rxsc_index],
|
|
5760
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._rxsc_index], xpn_salt=xpn_salt))
|
|
5719
5761
|
|
|
5720
5762
|
|
|
5721
5763
|
@register_command
|
|
@@ -6001,6 +6043,190 @@ class P_MACSEC_RX_ENABLE:
|
|
|
6001
6043
|
"""Enable the RX port MACSec.
|
|
6002
6044
|
"""
|
|
6003
6045
|
|
|
6046
|
+
|
|
6047
|
+
@register_command
|
|
6048
|
+
@dataclass
|
|
6049
|
+
class P_MACSEC_RXSC_AN:
|
|
6050
|
+
"""
|
|
6051
|
+
RX SC's next AN
|
|
6052
|
+
"""
|
|
6053
|
+
|
|
6054
|
+
code: typing.ClassVar[int] = 550
|
|
6055
|
+
pushed: typing.ClassVar[bool] = False
|
|
6056
|
+
|
|
6057
|
+
_connection: 'interfaces.IConnection'
|
|
6058
|
+
_module: int
|
|
6059
|
+
_port: int
|
|
6060
|
+
_rxsc_index: int
|
|
6061
|
+
|
|
6062
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
6063
|
+
next_an: int = field(XmpInt())
|
|
6064
|
+
"""integer, the next AN"""
|
|
6065
|
+
|
|
6066
|
+
def get(self) -> Token[GetDataAttr]:
|
|
6067
|
+
"""Get RX SC's next AN
|
|
6068
|
+
|
|
6069
|
+
:return: RX SC's next AN
|
|
6070
|
+
:rtype: P_MACSEC_RXSC_AN.GetDataAttr
|
|
6071
|
+
"""
|
|
6072
|
+
|
|
6073
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._rxsc_index]))
|
|
6074
|
+
|
|
6075
|
+
|
|
6076
|
+
@register_command
|
|
6077
|
+
@dataclass
|
|
6078
|
+
class P_MACSEC_RXSC_NEXT_PN:
|
|
6079
|
+
"""
|
|
6080
|
+
The next PN number of the port’s RX SC expects to receive.
|
|
6081
|
+
"""
|
|
6082
|
+
|
|
6083
|
+
code: typing.ClassVar[int] = 548
|
|
6084
|
+
pushed: typing.ClassVar[bool] = False
|
|
6085
|
+
|
|
6086
|
+
_connection: 'interfaces.IConnection'
|
|
6087
|
+
_module: int
|
|
6088
|
+
_port: int
|
|
6089
|
+
_rxsc_index: int
|
|
6090
|
+
|
|
6091
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
6092
|
+
next_pn: Hex = field(XmpHex(size=8))
|
|
6093
|
+
"""hex, The next PN number of the port’s RX SC expects to receive. Default to 1, maximum 2^64. Allowed to be 0."""
|
|
6094
|
+
|
|
6095
|
+
class SetDataAttr(RequestBodyStruct):
|
|
6096
|
+
next_pn: Hex = field(XmpHex(size=8))
|
|
6097
|
+
"""hex, The next PN number of the port’s RX SC expects to receive. Default to 1, maximum 2^64. Allowed to be 0."""
|
|
6098
|
+
|
|
6099
|
+
|
|
6100
|
+
def get(self) -> Token[GetDataAttr]:
|
|
6101
|
+
"""Get the next PN number of the port’s RX SC expects to receive
|
|
6102
|
+
|
|
6103
|
+
:return: the next PN number of the port’s RX SC expects to receive
|
|
6104
|
+
:rtype: P_MACSEC_RXSC_NEXT_PN.GetDataAttr
|
|
6105
|
+
"""
|
|
6106
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._rxsc_index]))
|
|
6107
|
+
|
|
6108
|
+
def set(self, value: int) -> Token[None]:
|
|
6109
|
+
"""Set the next PN number of the port’s RX SC expects to receive
|
|
6110
|
+
|
|
6111
|
+
:param value: The next PN number of the port’s RX SC expects to receive. Default to 1, maximum 2^64.
|
|
6112
|
+
:type value: int
|
|
6113
|
+
"""
|
|
6114
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._rxsc_index], value=value))
|
|
6115
|
+
|
|
6116
|
+
|
|
6117
|
+
@register_command
|
|
6118
|
+
@dataclass
|
|
6119
|
+
class P_MACSEC_TXSC_NEXT_PN:
|
|
6120
|
+
"""
|
|
6121
|
+
The next PN number of the port’s TX SC expects to receive.
|
|
6122
|
+
"""
|
|
6123
|
+
|
|
6124
|
+
code: typing.ClassVar[int] = 547
|
|
6125
|
+
pushed: typing.ClassVar[bool] = False
|
|
6126
|
+
|
|
6127
|
+
_connection: 'interfaces.IConnection'
|
|
6128
|
+
_module: int
|
|
6129
|
+
_port: int
|
|
6130
|
+
_txsc_index: int
|
|
6131
|
+
|
|
6132
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
6133
|
+
next_pn: Hex = field(XmpHex(size=8))
|
|
6134
|
+
"""hex, The next PN number of the port’s TX SC expects to receive. Default to 1, maximum 2^64. Allowed to be 0."""
|
|
6135
|
+
class SetDataAttr(RequestBodyStruct):
|
|
6136
|
+
next_pn: Hex = field(XmpHex(size=8))
|
|
6137
|
+
"""hex, The next PN number of the port’s TX SC expects to receive. Default to 1, maximum 2^64. Allowed to be 0."""
|
|
6138
|
+
|
|
6139
|
+
def get(self) -> Token[GetDataAttr]:
|
|
6140
|
+
"""Get the next PN number of the port’s TX SC expects to receive
|
|
6141
|
+
|
|
6142
|
+
NextPN is a monotonically incrementing 32 or 64 bit counter that is never zero.
|
|
6143
|
+
|
|
6144
|
+
:return: the next PN number of the port’s TX SC expects to receive
|
|
6145
|
+
:rtype: P_MACSEC_TXSC_NEXT_PN.GetDataAttr
|
|
6146
|
+
"""
|
|
6147
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._txsc_index]))
|
|
6148
|
+
|
|
6149
|
+
def set(self, next_pn: int) -> Token[None]:
|
|
6150
|
+
"""Set the next PN number of the port’s TX SC expects to receive
|
|
6151
|
+
|
|
6152
|
+
NextPN is a monotonically incrementing 32 or 64 bit counter that is never zero.
|
|
6153
|
+
|
|
6154
|
+
:param next_pn: The next PN number of the port’s TX SC expects to receive. Default to 1, maximum 2^64.
|
|
6155
|
+
:type next_pn: int
|
|
6156
|
+
"""
|
|
6157
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._txsc_index], next_pn=next_pn))
|
|
6158
|
+
|
|
6159
|
+
|
|
6160
|
+
|
|
6161
|
+
@register_command
|
|
6162
|
+
@dataclass
|
|
6163
|
+
class P_MACSEC_RXSC_PN:
|
|
6164
|
+
"""
|
|
6165
|
+
RX SC's next PN
|
|
6166
|
+
"""
|
|
6167
|
+
|
|
6168
|
+
code: typing.ClassVar[int] = 551
|
|
6169
|
+
pushed: typing.ClassVar[bool] = False
|
|
6170
|
+
|
|
6171
|
+
_connection: 'interfaces.IConnection'
|
|
6172
|
+
_module: int
|
|
6173
|
+
_port: int
|
|
6174
|
+
_rxsc_index: int
|
|
6175
|
+
|
|
6176
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
6177
|
+
pn: Hex = field(XmpHex(size=8))
|
|
6178
|
+
"""hex, 8-byte long, the latest recovered PN for the Rx SC"""
|
|
6179
|
+
|
|
6180
|
+
def get(self) -> Token[GetDataAttr]:
|
|
6181
|
+
"""Get RX SC's next PN
|
|
6182
|
+
|
|
6183
|
+
:return: RX SC's next PN
|
|
6184
|
+
:rtype: P_MACSEC_RXSC_PN.GetDataAttr
|
|
6185
|
+
"""
|
|
6186
|
+
|
|
6187
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._rxsc_index]))
|
|
6188
|
+
|
|
6189
|
+
|
|
6190
|
+
@register_command
|
|
6191
|
+
@dataclass
|
|
6192
|
+
class P_MACSEC_TXSC_NEXT_AN:
|
|
6193
|
+
"""
|
|
6194
|
+
The next AN number of the port’s TX SC expects to receive.
|
|
6195
|
+
"""
|
|
6196
|
+
|
|
6197
|
+
code: typing.ClassVar[int] = 549
|
|
6198
|
+
pushed: typing.ClassVar[bool] = False
|
|
6199
|
+
|
|
6200
|
+
_connection: 'interfaces.IConnection'
|
|
6201
|
+
_module: int
|
|
6202
|
+
_port: int
|
|
6203
|
+
_txsc_index: int
|
|
6204
|
+
|
|
6205
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
6206
|
+
next_an: int = field(XmpInt())
|
|
6207
|
+
"""integer, The next AN number of the port’s TX SC expects to receive. Allowed to be 0."""
|
|
6208
|
+
|
|
6209
|
+
class SetDataAttr(RequestBodyStruct):
|
|
6210
|
+
next_an: int = field(XmpInt())
|
|
6211
|
+
"""integer, The next AN number of the port’s TX SC expects to receive. Allowed to be 0."""
|
|
6212
|
+
|
|
6213
|
+
def get(self) -> Token[GetDataAttr]:
|
|
6214
|
+
"""Get the next AN number of the port’s TX SC expects to receive
|
|
6215
|
+
|
|
6216
|
+
:return: the next AN number of the port’s TX SC expects to receive
|
|
6217
|
+
:rtype: P_MACSEC_TXSC_NEXT_AN.GetDataAttr
|
|
6218
|
+
"""
|
|
6219
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._txsc_index]))
|
|
6220
|
+
|
|
6221
|
+
def set(self, next_an: int) -> Token[None]:
|
|
6222
|
+
"""Set the next AN number of the port’s TX SC expects to receive
|
|
6223
|
+
|
|
6224
|
+
:param next_an: The next AN number of the port’s TX SC expects to receive.
|
|
6225
|
+
:type next_an: int
|
|
6226
|
+
"""
|
|
6227
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._txsc_index], next_an=next_an))
|
|
6228
|
+
|
|
6229
|
+
|
|
6004
6230
|
@register_command
|
|
6005
6231
|
@dataclass
|
|
6006
6232
|
class P_USED_TPLDID:
|
|
@@ -6026,4 +6252,208 @@ class P_USED_TPLDID:
|
|
|
6026
6252
|
:rtype: P_USED_TPLDID.GetDataAttr
|
|
6027
6253
|
"""
|
|
6028
6254
|
|
|
6029
|
-
return Token(self._connection, build_get_request(self, module=self._module, port=self._port))
|
|
6255
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port))
|
|
6256
|
+
|
|
6257
|
+
#################################################################
|
|
6258
|
+
# #
|
|
6259
|
+
# EDUN Temporary Commands #
|
|
6260
|
+
# #
|
|
6261
|
+
#################################################################
|
|
6262
|
+
|
|
6263
|
+
@register_command
|
|
6264
|
+
@dataclass
|
|
6265
|
+
class P_EDUN_RX_STATUS:
|
|
6266
|
+
"""
|
|
6267
|
+
Edun Rx status values for the specified SerDes index on the port.
|
|
6268
|
+
"""
|
|
6269
|
+
|
|
6270
|
+
code: typing.ClassVar[int] = 598
|
|
6271
|
+
pushed: typing.ClassVar[bool] = False
|
|
6272
|
+
|
|
6273
|
+
_connection: 'interfaces.IConnection'
|
|
6274
|
+
_module: int
|
|
6275
|
+
_port: int
|
|
6276
|
+
_serdes_xindex: int
|
|
6277
|
+
|
|
6278
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
6279
|
+
signal_detected: int = field(XmpByte())
|
|
6280
|
+
"""1=Detected, 0=not detected"""
|
|
6281
|
+
pmd_lock: int = field(XmpByte())
|
|
6282
|
+
"""1=Lock, 0=No Lock"""
|
|
6283
|
+
tuning_done: int = field(XmpByte())
|
|
6284
|
+
"""1=Done, 0=Not Done"""
|
|
6285
|
+
eye_slicer_upper: int = field(XmpInt())
|
|
6286
|
+
"""Upper eye slicer value. Unit is in mV."""
|
|
6287
|
+
eye_slicer_middle: int = field(XmpInt())
|
|
6288
|
+
"""Middle eye slicer value. Unit is in mV."""
|
|
6289
|
+
eye_slicer_lower: int = field(XmpInt())
|
|
6290
|
+
"""Lower eye slicer value. Unit is in mV."""
|
|
6291
|
+
snr: int = field(XmpInt())
|
|
6292
|
+
"""Signal to Noise ratio, 1/100 dB"""
|
|
6293
|
+
vga: int = field(XmpInt())
|
|
6294
|
+
"""Variable Gain Amplifier setting (0 to 64)"""
|
|
6295
|
+
dco: int = field(XmpInt())
|
|
6296
|
+
"""DC Offset compensation value"""
|
|
6297
|
+
ffe_pre3: int = field(XmpInt())
|
|
6298
|
+
"""Pre-cursor 3 of the RX equalizer"""
|
|
6299
|
+
ffe_pre2: int = field(XmpInt())
|
|
6300
|
+
"""Pre-cursor 2 of the RX equalizer"""
|
|
6301
|
+
ffe_pre1: int = field(XmpInt())
|
|
6302
|
+
"""Pre-cursor 1 of the RX equalizer"""
|
|
6303
|
+
ffe_main: int = field(XmpInt())
|
|
6304
|
+
"""Main cursor of the RX equalizer"""
|
|
6305
|
+
ffe_post1: int = field(XmpInt())
|
|
6306
|
+
"""Post-cursor 1 of the RX equalizer"""
|
|
6307
|
+
ffe_post2: int = field(XmpInt())
|
|
6308
|
+
"""Post-cursor 2 of the RX equalizer"""
|
|
6309
|
+
tp0: int = field(XmpInt())
|
|
6310
|
+
"""RX Channel Loss hint given by user (dB)"""
|
|
6311
|
+
tp1: int = field(XmpInt())
|
|
6312
|
+
"""RX Channel Loss (initial) estimate"""
|
|
6313
|
+
tp2: int = field(XmpInt())
|
|
6314
|
+
"""AFE static bandwitdh setting (200G == 0 else 100G if < 3 else 50GPAM4/NRZ if <5 else LinkCAT)"""
|
|
6315
|
+
dfe1: int = field(XmpInt())
|
|
6316
|
+
"""ISI correction tap 1"""
|
|
6317
|
+
dfe2: int = field(XmpInt())
|
|
6318
|
+
"""ISI correction tap 2"""
|
|
6319
|
+
flt_m: int = field(XmpInt())
|
|
6320
|
+
"""Max. floating tap value"""
|
|
6321
|
+
flt_s: int = field(XmpInt())
|
|
6322
|
+
"""Sum of floating taps"""
|
|
6323
|
+
|
|
6324
|
+
def get(self) -> Token[GetDataAttr]:
|
|
6325
|
+
"""Get Edun Rx status values for the specified SerDes index on the port.
|
|
6326
|
+
|
|
6327
|
+
:return: Edun Rx status values for the specified SerDes index on the port.
|
|
6328
|
+
:rtype: P_EDUN_RX_STATUS.GetDataAttr
|
|
6329
|
+
"""
|
|
6330
|
+
|
|
6331
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
|
|
6332
|
+
|
|
6333
|
+
|
|
6334
|
+
__all__ = [
|
|
6335
|
+
"P_ARPREPLY",
|
|
6336
|
+
"P_ARPRXTABLE",
|
|
6337
|
+
"P_ARPV6REPLY",
|
|
6338
|
+
"P_AUTONEGSELECTION",
|
|
6339
|
+
"P_AUTOTRAIN",
|
|
6340
|
+
"P_BRRMODE",
|
|
6341
|
+
"P_BRRSTATUS",
|
|
6342
|
+
"P_CAPABILITIES",
|
|
6343
|
+
"P_CAPABILITIES_EXT",
|
|
6344
|
+
"P_CAPTURE",
|
|
6345
|
+
"P_CHECKSUM",
|
|
6346
|
+
"P_COMMENT",
|
|
6347
|
+
"P_DYNAMIC",
|
|
6348
|
+
"P_EMULATE",
|
|
6349
|
+
"P_ERRORS",
|
|
6350
|
+
"P_FAULTSIGNALING",
|
|
6351
|
+
"P_FAULTSTATUS",
|
|
6352
|
+
"P_FLASH",
|
|
6353
|
+
"P_GAPMONITOR",
|
|
6354
|
+
"P_IGMPV3_GROUP_RECORD_BUNDLE",
|
|
6355
|
+
"P_INTERFACE",
|
|
6356
|
+
"P_INTERFRAMEGAP",
|
|
6357
|
+
"P_IPADDRESS",
|
|
6358
|
+
"P_IPV6ADDRESS",
|
|
6359
|
+
"P_LATENCYMODE",
|
|
6360
|
+
"P_LATENCYOFFSET",
|
|
6361
|
+
"P_LOADMODE",
|
|
6362
|
+
"P_LOOPBACK",
|
|
6363
|
+
"P_LPENABLE",
|
|
6364
|
+
"P_LPPARTNERAUTONEG",
|
|
6365
|
+
"P_LPRXPOWER",
|
|
6366
|
+
"P_LPSNRMARGIN",
|
|
6367
|
+
"P_LPSTATUS",
|
|
6368
|
+
"P_LPSUPPORT",
|
|
6369
|
+
"P_LPTXMODE",
|
|
6370
|
+
"P_MACADDRESS",
|
|
6371
|
+
"P_MACSEC_RXSC_CIPHERSUITE",
|
|
6372
|
+
"P_MACSEC_RXSC_CONF_OFFSET",
|
|
6373
|
+
"P_MACSEC_RXSC_CREATE",
|
|
6374
|
+
"P_MACSEC_RXSC_DELETE",
|
|
6375
|
+
"P_MACSEC_RXSC_DESCR",
|
|
6376
|
+
"P_MACSEC_RXSC_INDICES",
|
|
6377
|
+
"P_MACSEC_RXSC_SAK_VALUE",
|
|
6378
|
+
"P_MACSEC_RXSC_SCI",
|
|
6379
|
+
"P_MACSEC_RXSC_LOWEST_PN",
|
|
6380
|
+
"P_MACSEC_RXSC_STATS",
|
|
6381
|
+
"P_MACSEC_RXSC_TPLDID",
|
|
6382
|
+
"P_MACSEC_RXSC_XPN_SALT",
|
|
6383
|
+
"P_MACSEC_RXSC_XPN_SSCI",
|
|
6384
|
+
"P_MACSEC_RX_CLEAR",
|
|
6385
|
+
"P_MACSEC_RX_ENABLE",
|
|
6386
|
+
"P_MACSEC_RX_STATS",
|
|
6387
|
+
"P_MACSEC_TXSC_CIPHERSUITE",
|
|
6388
|
+
"P_MACSEC_TXSC_CONF_OFFSET",
|
|
6389
|
+
"P_MACSEC_TXSC_CREATE",
|
|
6390
|
+
"P_MACSEC_TXSC_DELETE",
|
|
6391
|
+
"P_MACSEC_TXSC_DESCR",
|
|
6392
|
+
"P_MACSEC_TXSC_ENCRYPT",
|
|
6393
|
+
"P_MACSEC_TXSC_INDICES",
|
|
6394
|
+
"P_MACSEC_TXSC_REKEY_MODE",
|
|
6395
|
+
"P_MACSEC_TXSC_SAK_VALUE",
|
|
6396
|
+
"P_MACSEC_TXSC_SCI",
|
|
6397
|
+
"P_MACSEC_TXSC_SCI_MODE",
|
|
6398
|
+
"P_MACSEC_TXSC_STARTING_PN",
|
|
6399
|
+
"P_MACSEC_TXSC_STATS",
|
|
6400
|
+
"P_MACSEC_TXSC_XPN_SALT",
|
|
6401
|
+
"P_MACSEC_TXSC_XPN_SSCI",
|
|
6402
|
+
"P_MACSEC_TX_CLEAR",
|
|
6403
|
+
"P_MACSEC_TX_STATS",
|
|
6404
|
+
"P_MAXHEADERLENGTH",
|
|
6405
|
+
"P_MCSRCLIST",
|
|
6406
|
+
"P_MDIXMODE",
|
|
6407
|
+
"P_MIXLENGTH",
|
|
6408
|
+
"P_MIXWEIGHTS",
|
|
6409
|
+
"P_MULTICAST",
|
|
6410
|
+
"P_MULTICASTEXT",
|
|
6411
|
+
"P_MULTICASTHDR",
|
|
6412
|
+
"P_NDPRXTABLE",
|
|
6413
|
+
"P_PAUSE",
|
|
6414
|
+
"P_PAYLOADMODE",
|
|
6415
|
+
"P_PFCENABLE",
|
|
6416
|
+
"P_PINGREPLY",
|
|
6417
|
+
"P_PINGV6REPLY",
|
|
6418
|
+
"P_RANDOMSEED",
|
|
6419
|
+
"P_RATEFRACTION",
|
|
6420
|
+
"P_RATEL2BPS",
|
|
6421
|
+
"P_RATEPPS",
|
|
6422
|
+
"P_RECEIVESYNC",
|
|
6423
|
+
"P_RESERVATION",
|
|
6424
|
+
"P_RESERVEDBY",
|
|
6425
|
+
"P_RESET",
|
|
6426
|
+
"P_RXPREAMBLE_INSERT",
|
|
6427
|
+
"P_RXRUNTLENGTH",
|
|
6428
|
+
"P_RXRUNTLEN_ERRS",
|
|
6429
|
+
"P_SPEED",
|
|
6430
|
+
"P_SPEEDREDUCTION",
|
|
6431
|
+
"P_SPEEDSELECTION",
|
|
6432
|
+
"P_SPEEDS_SUPPORTED",
|
|
6433
|
+
"P_STATUS",
|
|
6434
|
+
"P_TCVRSTATUS",
|
|
6435
|
+
"P_TPLDMODE",
|
|
6436
|
+
"P_TRAFFIC",
|
|
6437
|
+
"P_TRAFFICERR",
|
|
6438
|
+
"P_TXBURSTPERIOD",
|
|
6439
|
+
"P_TXDELAY",
|
|
6440
|
+
"P_TXENABLE",
|
|
6441
|
+
"P_TXMODE",
|
|
6442
|
+
"P_TXPACKETLIMIT",
|
|
6443
|
+
"P_TXPREAMBLE_REMOVE",
|
|
6444
|
+
"P_TXPREPARE",
|
|
6445
|
+
"P_TXRUNTLENGTH",
|
|
6446
|
+
"P_TXTIME",
|
|
6447
|
+
"P_TXTIMELIMIT",
|
|
6448
|
+
"P_UAT_FLR",
|
|
6449
|
+
"P_UAT_MODE",
|
|
6450
|
+
"P_USED_TPLDID",
|
|
6451
|
+
"P_XMITONE",
|
|
6452
|
+
"P_XMITONETIME",
|
|
6453
|
+
"P_EDUN_RX_STATUS",
|
|
6454
|
+
"P_MACSEC_RXSC_AN",
|
|
6455
|
+
"P_MACSEC_RXSC_NEXT_PN",
|
|
6456
|
+
"P_MACSEC_TXSC_NEXT_PN",
|
|
6457
|
+
"P_MACSEC_RXSC_PN",
|
|
6458
|
+
"P_MACSEC_TXSC_NEXT_AN",
|
|
6459
|
+
]
|