tdl-xoa-driver 1.1.0__py3-none-any.whl → 1.2.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.1.0.dist-info → tdl_xoa_driver-1.2.0.dist-info}/METADATA +5 -123
- {tdl_xoa_driver-1.1.0.dist-info → tdl_xoa_driver-1.2.0.dist-info}/RECORD +21 -21
- {tdl_xoa_driver-1.1.0.dist-info → tdl_xoa_driver-1.2.0.dist-info}/WHEEL +1 -1
- xoa_driver/__init__.py +2 -2
- xoa_driver/functions/anlt.py +0 -30
- xoa_driver/functions/headers.py +312 -11
- xoa_driver/functions/mgmt.py +32 -86
- xoa_driver/functions/tools.py +13 -1
- xoa_driver/internals/commands/c_commands.py +26 -0
- xoa_driver/internals/commands/enums.py +8 -29
- xoa_driver/internals/commands/m_commands.py +0 -4
- xoa_driver/internals/commands/p_commands.py +30 -3
- xoa_driver/internals/commands/pl1_commands.py +96 -71
- xoa_driver/internals/commands/pr_commands.py +0 -8
- xoa_driver/internals/commands/ps_commands.py +0 -2
- xoa_driver/internals/commands/pt_commands.py +0 -6
- xoa_driver/internals/hli_v1/ports/port_l23/bases/port_l23.py +7 -0
- xoa_driver/internals/hli_v1/ports/port_l23/freya_l1.py +14 -0
- xoa_driver/internals/hli_v1/testers/_base_tester.py +7 -0
- {tdl_xoa_driver-1.1.0.dist-info → tdl_xoa_driver-1.2.0.dist-info/licenses}/LICENSE +0 -0
- {tdl_xoa_driver-1.1.0.dist-info → tdl_xoa_driver-1.2.0.dist-info}/top_level.txt +0 -0
|
@@ -2039,3 +2039,29 @@ class C_MODEL_NUMBER:
|
|
|
2039
2039
|
"""
|
|
2040
2040
|
|
|
2041
2041
|
return Token(self._connection, build_get_request(self))
|
|
2042
|
+
|
|
2043
|
+
|
|
2044
|
+
@register_command
|
|
2045
|
+
@dataclass
|
|
2046
|
+
class C_USED_TPLDID:
|
|
2047
|
+
"""
|
|
2048
|
+
Get the used TPLD IDs from the chassis.
|
|
2049
|
+
"""
|
|
2050
|
+
|
|
2051
|
+
code: typing.ClassVar[int] = 44
|
|
2052
|
+
pushed: typing.ClassVar[bool] = False
|
|
2053
|
+
|
|
2054
|
+
_connection: 'interfaces.IConnection'
|
|
2055
|
+
|
|
2056
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
2057
|
+
used_tpld_ids: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
2058
|
+
"""integer list, the used TPLD IDs from the chassis."""
|
|
2059
|
+
|
|
2060
|
+
def get(self) -> Token[GetDataAttr]:
|
|
2061
|
+
"""Get the used TPLD IDs from the chassis.
|
|
2062
|
+
|
|
2063
|
+
:return: the used TPLD IDs from the chassis.
|
|
2064
|
+
:rtype: C_USED_TPLDID.GetDataAttr
|
|
2065
|
+
"""
|
|
2066
|
+
|
|
2067
|
+
return Token(self._connection, build_get_request(self))
|
|
@@ -733,15 +733,11 @@ class PayloadType(IntEnum):
|
|
|
733
733
|
|
|
734
734
|
INC16 = 5
|
|
735
735
|
"""
|
|
736
|
-
.. versionadded:: 1.1
|
|
737
|
-
|
|
738
736
|
Incrementing with 0xFFFF (16-bit mode)
|
|
739
737
|
"""
|
|
740
738
|
|
|
741
739
|
DEC16 = 6
|
|
742
740
|
"""
|
|
743
|
-
.. versionadded:: 1.1
|
|
744
|
-
|
|
745
741
|
Decrementing with 0xFFFF (16-bit mode)
|
|
746
742
|
"""
|
|
747
743
|
|
|
@@ -1064,6 +1060,12 @@ class MediaConfigurationType(IntEnum):
|
|
|
1064
1060
|
OSFP_NRZ = 120
|
|
1065
1061
|
"""OSFP, 56G serdes, NRZ"""
|
|
1066
1062
|
|
|
1063
|
+
QSFP_DD_NRZ_ANLT = 121
|
|
1064
|
+
"""QSFP-DD, 25G serdes, L1/ANLT"""
|
|
1065
|
+
|
|
1066
|
+
OSFP_NRZ_ANLT = 122
|
|
1067
|
+
"""OSFP, 25G serdes, L1/ANLT"""
|
|
1068
|
+
|
|
1067
1069
|
UNKNOWN = 255
|
|
1068
1070
|
|
|
1069
1071
|
|
|
@@ -2278,8 +2280,6 @@ class LinkTrainingFailureType(IntEnum):
|
|
|
2278
2280
|
|
|
2279
2281
|
class Layer1ConfigType(IntEnum):
|
|
2280
2282
|
"""
|
|
2281
|
-
.. versionadded:: 1.1
|
|
2282
|
-
|
|
2283
2283
|
Enums for PL1_CFG_TMP's type.
|
|
2284
2284
|
"""
|
|
2285
2285
|
|
|
@@ -2314,8 +2314,6 @@ class Layer1ConfigType(IntEnum):
|
|
|
2314
2314
|
class Layer1LogType(IntEnum):
|
|
2315
2315
|
"""
|
|
2316
2316
|
|
|
2317
|
-
.. versionadded:: 1.1
|
|
2318
|
-
|
|
2319
2317
|
.. warning::
|
|
2320
2318
|
|
|
2321
2319
|
Still in beta mode. Subjected to changes
|
|
@@ -2332,10 +2330,7 @@ class Layer1LogType(IntEnum):
|
|
|
2332
2330
|
|
|
2333
2331
|
class LinkTrainAlgorithm(IntEnum):
|
|
2334
2332
|
"""
|
|
2335
|
-
.. versionadded:: 1.2
|
|
2336
|
-
|
|
2337
2333
|
Link Training Algorithm
|
|
2338
|
-
|
|
2339
2334
|
"""
|
|
2340
2335
|
|
|
2341
2336
|
INTERACTIVE = 0
|
|
@@ -2350,8 +2345,6 @@ class LinkTrainAlgorithm(IntEnum):
|
|
|
2350
2345
|
|
|
2351
2346
|
class LinkTrainCmd(IntEnum):
|
|
2352
2347
|
"""
|
|
2353
|
-
.. versionadded:: 1.1
|
|
2354
|
-
|
|
2355
2348
|
Link Training commands
|
|
2356
2349
|
|
|
2357
2350
|
"""
|
|
@@ -2380,8 +2373,6 @@ class LinkTrainCmd(IntEnum):
|
|
|
2380
2373
|
|
|
2381
2374
|
class LinkTrainPresets(IntEnum):
|
|
2382
2375
|
"""
|
|
2383
|
-
.. versionadded:: 1.1
|
|
2384
|
-
|
|
2385
2376
|
Link Training presets
|
|
2386
2377
|
|
|
2387
2378
|
"""
|
|
@@ -2407,8 +2398,6 @@ class LinkTrainPresets(IntEnum):
|
|
|
2407
2398
|
|
|
2408
2399
|
class LinkTrainCoeffs(IntEnum):
|
|
2409
2400
|
"""
|
|
2410
|
-
.. versionadded:: 1.1
|
|
2411
|
-
|
|
2412
2401
|
|
|
2413
2402
|
Link Training coefficients
|
|
2414
2403
|
|
|
@@ -2435,8 +2424,6 @@ class LinkTrainCoeffs(IntEnum):
|
|
|
2435
2424
|
|
|
2436
2425
|
class LinkTrainEncoding(IntEnum):
|
|
2437
2426
|
"""
|
|
2438
|
-
.. versionadded:: 1.1
|
|
2439
|
-
|
|
2440
2427
|
Link Training Encoding
|
|
2441
2428
|
|
|
2442
2429
|
"""
|
|
@@ -2456,8 +2443,6 @@ class LinkTrainEncoding(IntEnum):
|
|
|
2456
2443
|
|
|
2457
2444
|
class LinkTrainCmdResults(IntEnum):
|
|
2458
2445
|
"""
|
|
2459
|
-
.. versionadded:: 1.1
|
|
2460
|
-
|
|
2461
2446
|
Link Training Command Results
|
|
2462
2447
|
|
|
2463
2448
|
"""
|
|
@@ -2495,8 +2480,6 @@ class LinkTrainCmdResults(IntEnum):
|
|
|
2495
2480
|
|
|
2496
2481
|
class LinkTrainCmdFlags(IntEnum):
|
|
2497
2482
|
"""
|
|
2498
|
-
.. versionadded:: 1.1
|
|
2499
|
-
|
|
2500
2483
|
Link Training Command Flags
|
|
2501
2484
|
|
|
2502
2485
|
"""
|
|
@@ -2522,8 +2505,6 @@ class LinkTrainCmdFlags(IntEnum):
|
|
|
2522
2505
|
|
|
2523
2506
|
class LinkTrainAnnounce(IntEnum):
|
|
2524
2507
|
"""
|
|
2525
|
-
.. versionadded:: 1.1
|
|
2526
|
-
|
|
2527
2508
|
Link Training Announce
|
|
2528
2509
|
|
|
2529
2510
|
"""
|
|
@@ -2534,8 +2515,6 @@ class LinkTrainAnnounce(IntEnum):
|
|
|
2534
2515
|
|
|
2535
2516
|
class AnLtLogControl(IntEnum):
|
|
2536
2517
|
"""
|
|
2537
|
-
.. versionadded:: 1.3
|
|
2538
|
-
|
|
2539
2518
|
ANLT log control bits
|
|
2540
2519
|
|
|
2541
2520
|
"""
|
|
@@ -3264,8 +3243,8 @@ class MACSecRekeyMode(IntEnum):
|
|
|
3264
3243
|
PN_EXHAUSTION = 0
|
|
3265
3244
|
"""Switch to the next SAK when PN is exhausted."""
|
|
3266
3245
|
|
|
3267
|
-
|
|
3268
|
-
"""Switch to the next SAK when the given number
|
|
3246
|
+
PACKET_NUMBER = 1
|
|
3247
|
+
"""Switch to the next SAK when the given packet number is transmitted."""
|
|
3269
3248
|
|
|
3270
3249
|
|
|
3271
3250
|
class MACSecEncryptionMode(IntEnum):
|
|
@@ -1605,8 +1605,6 @@ class M_TXCLOCKFILTER_NEW:
|
|
|
1605
1605
|
@dataclass
|
|
1606
1606
|
class M_CLOCKPPBSWEEP:
|
|
1607
1607
|
"""
|
|
1608
|
-
.. versionadded:: 1.1
|
|
1609
|
-
|
|
1610
1608
|
Start and stop deviation sweep the local clock of the test module, which drives the TX rate of the test ports.
|
|
1611
1609
|
|
|
1612
1610
|
Note: The sweep is independent of the :class:`M_CLOCKPPB` parameter, i.e. the sweep uses the deviation set by :class:`M_CLOCKPPB` as its zero point.
|
|
@@ -1685,8 +1683,6 @@ class M_CLOCKPPBSWEEP:
|
|
|
1685
1683
|
@dataclass
|
|
1686
1684
|
class M_CLOCKSWEEPSTATUS:
|
|
1687
1685
|
"""
|
|
1688
|
-
.. versionadded:: 1.1
|
|
1689
|
-
|
|
1690
1686
|
Return the current status of the :class:`M_CLOCKPPBSWEEP` function.
|
|
1691
1687
|
|
|
1692
1688
|
"""
|
|
@@ -5053,14 +5053,14 @@ class P_MACSEC_TXSC_REKEY_MODE:
|
|
|
5053
5053
|
"""byte, the rekey mode of the port’s TX SC"""
|
|
5054
5054
|
|
|
5055
5055
|
value: int = field(XmpInt())
|
|
5056
|
-
"""integer, defines the packet
|
|
5056
|
+
"""integer, defines the packet number that triggers the rekey. This value will be ignored if the mode is set to PN_EXHAUSTION"""
|
|
5057
5057
|
|
|
5058
5058
|
class SetDataAttr(RequestBodyStruct):
|
|
5059
5059
|
mode: MACSecRekeyMode = field(XmpByte())
|
|
5060
5060
|
"""byte, the rekey mode of the port’s TX SC"""
|
|
5061
5061
|
|
|
5062
5062
|
value: int = field(XmpInt())
|
|
5063
|
-
"""integer, defines the packet
|
|
5063
|
+
"""integer, defines the packet number that triggers the rekey. This value will be ignored if the mode is set to PN_EXHAUSTION"""
|
|
5064
5064
|
|
|
5065
5065
|
def get(self) -> Token[GetDataAttr]:
|
|
5066
5066
|
"""Get the rekey mode of the port’s TX SC
|
|
@@ -5997,4 +5997,31 @@ class P_MACSEC_RX_ENABLE:
|
|
|
5997
5997
|
|
|
5998
5998
|
set_on = functools.partialmethod(set, OnOff.ON)
|
|
5999
5999
|
"""Enable the RX port MACSec.
|
|
6000
|
-
"""
|
|
6000
|
+
"""
|
|
6001
|
+
|
|
6002
|
+
@register_command
|
|
6003
|
+
@dataclass
|
|
6004
|
+
class P_USED_TPLDID:
|
|
6005
|
+
"""
|
|
6006
|
+
Get the used TPLD IDs from the port. If the port doesn't support TPLD ID traffic, the port will return <NOTSUPPORTED>
|
|
6007
|
+
"""
|
|
6008
|
+
|
|
6009
|
+
code: typing.ClassVar[int] = 319
|
|
6010
|
+
pushed: typing.ClassVar[bool] = False
|
|
6011
|
+
|
|
6012
|
+
_connection: 'interfaces.IConnection'
|
|
6013
|
+
_module: int
|
|
6014
|
+
_port: int
|
|
6015
|
+
|
|
6016
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
6017
|
+
used_tpld_ids: typing.List[int] = field(XmpSequence(types_chunk=[XmpInt()]))
|
|
6018
|
+
"""integer list, the used TPLD IDs from the port."""
|
|
6019
|
+
|
|
6020
|
+
def get(self) -> Token[GetDataAttr]:
|
|
6021
|
+
"""Get the used TPLD IDs from the port.
|
|
6022
|
+
|
|
6023
|
+
:return: the used TPLD IDs from the port.
|
|
6024
|
+
:rtype: P_USED_TPLDID.GetDataAttr
|
|
6025
|
+
"""
|
|
6026
|
+
|
|
6027
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port))
|
|
@@ -59,14 +59,7 @@ from .enums import (
|
|
|
59
59
|
@dataclass
|
|
60
60
|
class PL1_AUTONEGINFO:
|
|
61
61
|
"""
|
|
62
|
-
.. versionadded:: 2.0
|
|
63
|
-
|
|
64
|
-
.. warning::
|
|
65
|
-
|
|
66
|
-
Still in beta mode. Subjected to changes
|
|
67
|
-
|
|
68
62
|
Get L1 auto-negotiation information. Information is split into a number of pages.
|
|
69
|
-
|
|
70
63
|
"""
|
|
71
64
|
|
|
72
65
|
code: typing.ClassVar[int] = 385
|
|
@@ -117,12 +110,6 @@ class PL1_AUTONEGINFO:
|
|
|
117
110
|
@dataclass
|
|
118
111
|
class PL1_LINKTRAININFO:
|
|
119
112
|
"""
|
|
120
|
-
.. versionadded:: 2.0
|
|
121
|
-
|
|
122
|
-
.. warning::
|
|
123
|
-
|
|
124
|
-
Still in beta mode. Subjected to changes
|
|
125
|
-
|
|
126
113
|
Get L1 link training information. Information is per Serdes and split into a number of pages.
|
|
127
114
|
"""
|
|
128
115
|
|
|
@@ -304,12 +291,6 @@ class PL1_LINKTRAININFO:
|
|
|
304
291
|
@dataclass
|
|
305
292
|
class PL1_LOG:
|
|
306
293
|
"""
|
|
307
|
-
.. versionadded:: 2.0
|
|
308
|
-
|
|
309
|
-
.. warning::
|
|
310
|
-
|
|
311
|
-
Still in beta mode. Subjected to changes
|
|
312
|
-
|
|
313
294
|
Return a log line of either AN or LT for the given Serdes. The log string line contains the latest 100 lines.
|
|
314
295
|
"""
|
|
315
296
|
|
|
@@ -339,8 +320,6 @@ class PL1_LOG:
|
|
|
339
320
|
@dataclass
|
|
340
321
|
class PL1_CFG_TMP:
|
|
341
322
|
"""
|
|
342
|
-
.. versionadded:: 1.1
|
|
343
|
-
|
|
344
323
|
.. warning::
|
|
345
324
|
|
|
346
325
|
Still in beta mode. Subjected to changes
|
|
@@ -388,8 +367,6 @@ class PL1_CFG_TMP:
|
|
|
388
367
|
@dataclass
|
|
389
368
|
class PL1_LINKTRAIN_CMD:
|
|
390
369
|
"""
|
|
391
|
-
.. versionadded:: 1.1
|
|
392
|
-
|
|
393
370
|
.. warning::
|
|
394
371
|
|
|
395
372
|
Still in beta mode. Subjected to changes
|
|
@@ -440,8 +417,6 @@ class PL1_LINKTRAIN_CMD:
|
|
|
440
417
|
@dataclass
|
|
441
418
|
class PL1_LT_PHYTXEQ_RANGE:
|
|
442
419
|
"""
|
|
443
|
-
.. versionadded:: 2.9
|
|
444
|
-
|
|
445
420
|
Configure the lower and the upper bound of transmit equalizer (native value) of the serdes, and how the serdes responds to an increment/decrement request when either bound is reached.
|
|
446
421
|
|
|
447
422
|
"""
|
|
@@ -487,8 +462,6 @@ class PL1_LT_PHYTXEQ_RANGE:
|
|
|
487
462
|
@dataclass
|
|
488
463
|
class PL1_LT_PHYTXEQ_RANGE_COEFF:
|
|
489
464
|
"""
|
|
490
|
-
.. versionadded:: 2.9
|
|
491
|
-
|
|
492
465
|
Configure the lower and the upper bound of transmit equalizer (IEEE coefficient value) of the serdes, and how the serdes responds to an increment/decrement request when either bound is reached.
|
|
493
466
|
|
|
494
467
|
Whenever <response> == AUTO (the default), min and max will have their default values, which can be read with “get”. Any value that attempt to set the min and max when <response> == AUTO will be ignored by the chassis.
|
|
@@ -559,8 +532,6 @@ class PL1_LT_PHYTXEQ_RANGE_COEFF:
|
|
|
559
532
|
@dataclass
|
|
560
533
|
class PL1_CTRL:
|
|
561
534
|
"""
|
|
562
|
-
.. versionadded:: 2.5
|
|
563
|
-
|
|
564
535
|
The Signal Integrity feature offers the equivalent of an Equivalent Time oscilloscope trace of the RX PAM4 signal (later, also PAM2). The trace is done with the A/D converter in the GTM receiver also doing the data sampling / CDR function, i.e. the trace is taken after the RX equalizer.
|
|
565
536
|
|
|
566
537
|
The HW characteristics of the Versal GTM used in Freya are: Trace length = 2000 samples, sample resolution = 7 bits 2's complement, i.e. range = -64..63.
|
|
@@ -600,8 +571,6 @@ class PL1_CTRL:
|
|
|
600
571
|
@dataclass
|
|
601
572
|
class PL1_GET_DATA:
|
|
602
573
|
"""
|
|
603
|
-
.. versionadded:: 2.5
|
|
604
|
-
|
|
605
574
|
The Signal Integrity feature offers the equivalent of an Equivalent Time oscilloscope trace of the RX PAM4 signal (later, also PAM2). The trace is done with the A/D converter in the GTM receiver also doing the data sampling / CDR function, i.e. the trace is taken after the RX equalizer.
|
|
606
575
|
|
|
607
576
|
The HW characteristics of the Versal GTM used in Freya are: Trace length = 2000 samples, sample resolution = 7 bits 2’s complement, i.e. range = -64..63.
|
|
@@ -664,8 +633,6 @@ class PL1_GET_DATA:
|
|
|
664
633
|
@dataclass
|
|
665
634
|
class PL1_PRESET_CONFIG:
|
|
666
635
|
"""
|
|
667
|
-
.. versionadded:: 2.9
|
|
668
|
-
|
|
669
636
|
Configure the preset values (native values) of a serdes and the response to the received IC request.
|
|
670
637
|
|
|
671
638
|
"""
|
|
@@ -723,8 +690,6 @@ class PL1_PRESET_CONFIG:
|
|
|
723
690
|
@dataclass
|
|
724
691
|
class PL1_PRESET_RESET:
|
|
725
692
|
"""
|
|
726
|
-
.. versionadded:: 2.9
|
|
727
|
-
|
|
728
693
|
Reset the preset of the serdes to its default values.
|
|
729
694
|
|
|
730
695
|
"""
|
|
@@ -753,8 +718,6 @@ class PL1_PRESET_RESET:
|
|
|
753
718
|
@dataclass
|
|
754
719
|
class PL1_PRESET_CONFIG_LEVEL:
|
|
755
720
|
"""
|
|
756
|
-
.. versionadded:: 2.9
|
|
757
|
-
|
|
758
721
|
Configure the preset values (mV/dB values) of a serdes and the response to the received IC request.
|
|
759
722
|
|
|
760
723
|
"""
|
|
@@ -812,8 +775,6 @@ class PL1_PRESET_CONFIG_LEVEL:
|
|
|
812
775
|
@dataclass
|
|
813
776
|
class PL1_PRESET_CONFIG_COEFF:
|
|
814
777
|
"""
|
|
815
|
-
.. versionadded:: 2.9
|
|
816
|
-
|
|
817
778
|
Configure the preset values (IEEE coefficient values) of a serdes and the response to the received IC request.
|
|
818
779
|
|
|
819
780
|
"""
|
|
@@ -871,8 +832,6 @@ class PL1_PRESET_CONFIG_COEFF:
|
|
|
871
832
|
@dataclass
|
|
872
833
|
class PL1_PHYTXEQ_LEVEL:
|
|
873
834
|
"""
|
|
874
|
-
.. versionadded:: 2.5
|
|
875
|
-
|
|
876
835
|
Control and monitor the equalizer settings of the on-board PHY in the transmission direction (towards the transceiver cage).
|
|
877
836
|
|
|
878
837
|
.. note::
|
|
@@ -927,8 +886,6 @@ class PL1_PHYTXEQ_LEVEL:
|
|
|
927
886
|
@dataclass
|
|
928
887
|
class PL1_PHYTXEQ_COEFF:
|
|
929
888
|
"""
|
|
930
|
-
.. versionadded:: 2.5
|
|
931
|
-
|
|
932
889
|
Control and monitor the equalizer settings of the on-board PHY in the transmission direction (towards the transceiver cage).
|
|
933
890
|
|
|
934
891
|
.. note::
|
|
@@ -993,8 +950,6 @@ class PL1_PHYTXEQ_COEFF:
|
|
|
993
950
|
@dataclass
|
|
994
951
|
class PL1_AUTONEG_STATUS:
|
|
995
952
|
"""
|
|
996
|
-
.. versionadded:: 2.5
|
|
997
|
-
|
|
998
953
|
Returns received technology abilities, FEC abilities, pause abilities, HCD technology ability, FEC mode result, and pause mode result.
|
|
999
954
|
"""
|
|
1000
955
|
|
|
@@ -1033,8 +988,6 @@ class PL1_AUTONEG_STATUS:
|
|
|
1033
988
|
@dataclass
|
|
1034
989
|
class PL1_AUTONEG_ABILITIES:
|
|
1035
990
|
"""
|
|
1036
|
-
.. versionadded:: 2.5
|
|
1037
|
-
|
|
1038
991
|
Return the supported technology abilities, FEC abilities, and pause abilities of the port.
|
|
1039
992
|
"""
|
|
1040
993
|
|
|
@@ -1063,8 +1016,6 @@ class PL1_AUTONEG_ABILITIES:
|
|
|
1063
1016
|
@dataclass
|
|
1064
1017
|
class PL1_PCS_VARIANT:
|
|
1065
1018
|
"""
|
|
1066
|
-
.. versionadded:: 2.5
|
|
1067
|
-
|
|
1068
1019
|
PCS variant configuration.
|
|
1069
1020
|
"""
|
|
1070
1021
|
|
|
@@ -1097,8 +1048,6 @@ class PL1_PCS_VARIANT:
|
|
|
1097
1048
|
@dataclass
|
|
1098
1049
|
class PL1_CWE_CYCLE:
|
|
1099
1050
|
"""
|
|
1100
|
-
.. versionadded:: 2.7
|
|
1101
|
-
|
|
1102
1051
|
Configure the FEC codeword error injection cycle.
|
|
1103
1052
|
"""
|
|
1104
1053
|
|
|
@@ -1142,8 +1091,6 @@ class PL1_CWE_CYCLE:
|
|
|
1142
1091
|
@dataclass
|
|
1143
1092
|
class PL1_CWE_ERR_SYM_INDICES:
|
|
1144
1093
|
"""
|
|
1145
|
-
.. versionadded:: 2.7
|
|
1146
|
-
|
|
1147
1094
|
Configure the positions of the errored symbols in errored codewords.
|
|
1148
1095
|
"""
|
|
1149
1096
|
|
|
@@ -1193,8 +1140,6 @@ class PL1_CWE_ERR_SYM_INDICES:
|
|
|
1193
1140
|
@dataclass
|
|
1194
1141
|
class PL1_CWE_BIT_ERR_MASK:
|
|
1195
1142
|
"""
|
|
1196
|
-
.. versionadded:: 2.7
|
|
1197
|
-
|
|
1198
1143
|
Configure the bit error mask for the errored symbols.
|
|
1199
1144
|
"""
|
|
1200
1145
|
|
|
@@ -1236,8 +1181,6 @@ class PL1_CWE_BIT_ERR_MASK:
|
|
|
1236
1181
|
@dataclass
|
|
1237
1182
|
class PL1_CWE_FEC_ENGINE:
|
|
1238
1183
|
"""
|
|
1239
|
-
.. versionadded:: 2.7
|
|
1240
|
-
|
|
1241
1184
|
Configure which FEC engines to use.
|
|
1242
1185
|
"""
|
|
1243
1186
|
|
|
@@ -1283,8 +1226,6 @@ class PL1_CWE_FEC_ENGINE:
|
|
|
1283
1226
|
@dataclass
|
|
1284
1227
|
class PL1_CWE_FEC_STATS:
|
|
1285
1228
|
"""
|
|
1286
|
-
.. versionadded:: 2.7
|
|
1287
|
-
|
|
1288
1229
|
FEC error injection statistics.
|
|
1289
1230
|
"""
|
|
1290
1231
|
|
|
@@ -1316,8 +1257,6 @@ class PL1_CWE_FEC_STATS:
|
|
|
1316
1257
|
@dataclass
|
|
1317
1258
|
class PL1_AUTONEG_CONFIG:
|
|
1318
1259
|
"""
|
|
1319
|
-
.. versionadded:: 2.5
|
|
1320
|
-
|
|
1321
1260
|
Auto-negotiation configuration for Freya
|
|
1322
1261
|
"""
|
|
1323
1262
|
|
|
@@ -1350,8 +1289,6 @@ class PL1_AUTONEG_CONFIG:
|
|
|
1350
1289
|
@dataclass
|
|
1351
1290
|
class PL1_ANLT:
|
|
1352
1291
|
"""
|
|
1353
|
-
.. versionadded:: 2.5
|
|
1354
|
-
|
|
1355
1292
|
ANLT action
|
|
1356
1293
|
"""
|
|
1357
1294
|
|
|
@@ -1408,8 +1345,6 @@ class PL1_ANLT:
|
|
|
1408
1345
|
@dataclass
|
|
1409
1346
|
class PL1_PHYTXEQ:
|
|
1410
1347
|
"""
|
|
1411
|
-
.. versionadded:: 2.5
|
|
1412
|
-
|
|
1413
1348
|
Control and monitor the equalizer settings of the on-board PHY in the transmission direction (towards the transceiver cage).
|
|
1414
1349
|
|
|
1415
1350
|
.. note::
|
|
@@ -1464,8 +1399,6 @@ class PL1_PHYTXEQ:
|
|
|
1464
1399
|
@dataclass
|
|
1465
1400
|
class PL1_LINKTRAIN_CONFIG:
|
|
1466
1401
|
"""
|
|
1467
|
-
.. versionadded:: 2.5
|
|
1468
|
-
|
|
1469
1402
|
Per-port link training settings
|
|
1470
1403
|
"""
|
|
1471
1404
|
|
|
@@ -1528,8 +1461,6 @@ class PL1_LINKTRAIN_STATUS:
|
|
|
1528
1461
|
@dataclass
|
|
1529
1462
|
class PL1_CWE_CONTROL:
|
|
1530
1463
|
"""
|
|
1531
|
-
.. versionadded:: 2.7
|
|
1532
|
-
|
|
1533
1464
|
Control the FEC codeword error injection.
|
|
1534
1465
|
"""
|
|
1535
1466
|
|
|
@@ -1567,8 +1498,6 @@ class PL1_CWE_CONTROL:
|
|
|
1567
1498
|
@dataclass
|
|
1568
1499
|
class PL1_CWE_FEC_STATS_CLEAR:
|
|
1569
1500
|
"""
|
|
1570
|
-
.. versionadded:: 2.7
|
|
1571
|
-
|
|
1572
1501
|
Clear FEC codeword injection TX stats
|
|
1573
1502
|
"""
|
|
1574
1503
|
|
|
@@ -1586,3 +1515,99 @@ class PL1_CWE_FEC_STATS_CLEAR:
|
|
|
1586
1515
|
"""Clear FEC codeword injection TX stats
|
|
1587
1516
|
"""
|
|
1588
1517
|
return Token(self._connection, build_set_request(self, module=self._module, port=self._port))
|
|
1518
|
+
|
|
1519
|
+
|
|
1520
|
+
@register_command
|
|
1521
|
+
@dataclass
|
|
1522
|
+
class PL1_PNSWAP_TX:
|
|
1523
|
+
"""
|
|
1524
|
+
Enable/disable P/N polarity swap of the SerDes in the transmission direction
|
|
1525
|
+
"""
|
|
1526
|
+
|
|
1527
|
+
code: typing.ClassVar[int] = 532
|
|
1528
|
+
pushed: typing.ClassVar[bool] = False
|
|
1529
|
+
|
|
1530
|
+
_connection: 'interfaces.IConnection'
|
|
1531
|
+
_module: int
|
|
1532
|
+
_port: int
|
|
1533
|
+
_serdes_xindex: int
|
|
1534
|
+
|
|
1535
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
1536
|
+
on_off: OnOff = field(XmpByte())
|
|
1537
|
+
|
|
1538
|
+
class SetDataAttr(RequestBodyStruct):
|
|
1539
|
+
on_off: OnOff = field(XmpByte())
|
|
1540
|
+
|
|
1541
|
+
def get(self) -> Token[GetDataAttr]:
|
|
1542
|
+
"""Get the P/N polarity swap setting of the SerDes in the transmission direction.
|
|
1543
|
+
|
|
1544
|
+
:return: P/N polarity swap setting of the SerDes in the transmission direction
|
|
1545
|
+
:rtype: PL1_PNSWAP_TX.GetDataAttr
|
|
1546
|
+
"""
|
|
1547
|
+
|
|
1548
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
|
|
1549
|
+
|
|
1550
|
+
def set(self, on_off: OnOff) -> Token[None]:
|
|
1551
|
+
"""Set the P/N polarity swap setting of the SerDes in the transmission direction.
|
|
1552
|
+
|
|
1553
|
+
:param on_off: P/N polarity swap setting of the SerDes in the transmission direction.
|
|
1554
|
+
:type on_off: OnOff
|
|
1555
|
+
"""
|
|
1556
|
+
|
|
1557
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, on_off=on_off, indices=[self._serdes_xindex]))
|
|
1558
|
+
|
|
1559
|
+
set_on = functools.partialmethod(set, OnOff.ON)
|
|
1560
|
+
"""Set P/N polarity swap of the SerDes in the transmission direction to ON
|
|
1561
|
+
"""
|
|
1562
|
+
|
|
1563
|
+
set_off = functools.partialmethod(set, OnOff.OFF)
|
|
1564
|
+
"""Set P/N polarity swap of the SerDes in the transmission direction to OFF
|
|
1565
|
+
"""
|
|
1566
|
+
|
|
1567
|
+
|
|
1568
|
+
@register_command
|
|
1569
|
+
@dataclass
|
|
1570
|
+
class PL1_PNSWAP_RX:
|
|
1571
|
+
"""
|
|
1572
|
+
Enable/disable P/N polarity swap of the SerDes in the receiving direction
|
|
1573
|
+
"""
|
|
1574
|
+
|
|
1575
|
+
code: typing.ClassVar[int] = 533
|
|
1576
|
+
pushed: typing.ClassVar[bool] = False
|
|
1577
|
+
|
|
1578
|
+
_connection: 'interfaces.IConnection'
|
|
1579
|
+
_module: int
|
|
1580
|
+
_port: int
|
|
1581
|
+
_serdes_xindex: int
|
|
1582
|
+
|
|
1583
|
+
class GetDataAttr(ResponseBodyStruct):
|
|
1584
|
+
on_off: OnOff = field(XmpByte())
|
|
1585
|
+
|
|
1586
|
+
class SetDataAttr(RequestBodyStruct):
|
|
1587
|
+
on_off: OnOff = field(XmpByte())
|
|
1588
|
+
|
|
1589
|
+
def get(self) -> Token[GetDataAttr]:
|
|
1590
|
+
"""Get the P/N polarity swap setting of the SerDes in the receiving direction.
|
|
1591
|
+
|
|
1592
|
+
:return: P/N polarity swap setting of the SerDes in the receiving direction
|
|
1593
|
+
:rtype: PL1_PNSWAP_RX.GetDataAttr
|
|
1594
|
+
"""
|
|
1595
|
+
|
|
1596
|
+
return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))
|
|
1597
|
+
|
|
1598
|
+
def set(self, on_off: OnOff) -> Token[None]:
|
|
1599
|
+
"""Set the P/N polarity swap setting of the SerDes in the receiving direction.
|
|
1600
|
+
|
|
1601
|
+
:param on_off: P/N polarity swap setting of the SerDes in the receiving direction.
|
|
1602
|
+
:type on_off: OnOff
|
|
1603
|
+
"""
|
|
1604
|
+
|
|
1605
|
+
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, on_off=on_off, indices=[self._serdes_xindex]))
|
|
1606
|
+
|
|
1607
|
+
set_on = functools.partialmethod(set, OnOff.ON)
|
|
1608
|
+
"""Set P/N polarity swap of the SerDes in the receiving direction to ON
|
|
1609
|
+
"""
|
|
1610
|
+
|
|
1611
|
+
set_off = functools.partialmethod(set, OnOff.OFF)
|
|
1612
|
+
"""Set P/N polarity swap of the SerDes in the receiving direction to OFF
|
|
1613
|
+
"""
|
|
@@ -509,8 +509,6 @@ class PR_UAT_TIME:
|
|
|
509
509
|
@dataclass
|
|
510
510
|
class PR_TOTALEXT:
|
|
511
511
|
"""
|
|
512
|
-
.. versionadded: v1.1
|
|
513
|
-
|
|
514
512
|
An extension of :class:`PR_TOTAL` that also includes a calculation of bytes received in the last second, as well as a number of port error counters.
|
|
515
513
|
PR_TOTALEXT returns list of long integers. This list may be expanded in future software releases.
|
|
516
514
|
"""
|
|
@@ -565,8 +563,6 @@ class PR_TOTALEXT:
|
|
|
565
563
|
@dataclass
|
|
566
564
|
class PR_NOTPLDEXT:
|
|
567
565
|
"""
|
|
568
|
-
.. versionadded: v1.1
|
|
569
|
-
|
|
570
566
|
An extension of :class:`PR_NOTPLD` that also includes a calculation of bytes received in the last second.
|
|
571
567
|
PR_NOTPLDEXT returns list of long integers. This list may be expanded in future software releases.
|
|
572
568
|
"""
|
|
@@ -610,8 +606,6 @@ class PR_NOTPLDEXT:
|
|
|
610
606
|
@dataclass
|
|
611
607
|
class PR_TPLDTRAFFICEXT:
|
|
612
608
|
"""
|
|
613
|
-
.. versionadded: v1.1
|
|
614
|
-
|
|
615
609
|
An extension of :class:`PR_TPLDTRAFFIC` that also includes a calculation of bytes received in the last second.
|
|
616
610
|
PR_TPLDTRAFFICEXT returns list of long integers. This list may be expanded in future software releases.
|
|
617
611
|
"""
|
|
@@ -657,8 +651,6 @@ class PR_TPLDTRAFFICEXT:
|
|
|
657
651
|
@dataclass
|
|
658
652
|
class PR_FILTEREXT:
|
|
659
653
|
"""
|
|
660
|
-
.. versionadded: v1.1
|
|
661
|
-
|
|
662
654
|
An extension of :class:`PR_FILTER` that also includes a calculation of bytes received in the last second.
|
|
663
655
|
PR_FILTEREXT returns list of long integers. This list may be expanded in future software releases.
|
|
664
656
|
"""
|
|
@@ -405,8 +405,6 @@ class PS_INSERTFCS:
|
|
|
405
405
|
@dataclass
|
|
406
406
|
class PS_AUTOADJUST:
|
|
407
407
|
"""
|
|
408
|
-
.. versionadded:: v2.0
|
|
409
|
-
|
|
410
408
|
Executing PS_AUTOADJUST will adjust the packet length distribution (:class:`PS_PACKETLENGTH`) of the stream:
|
|
411
409
|
|
|
412
410
|
(1) Set the type of packet length distribution (:class:`PS_PACKETLENGTH` ``<length_type>``) to ``FIXED``.
|
|
@@ -183,8 +183,6 @@ class PT_EXTRA:
|
|
|
183
183
|
@dataclass
|
|
184
184
|
class PT_TOTALEXT:
|
|
185
185
|
"""
|
|
186
|
-
.. versionadded: v1.1
|
|
187
|
-
|
|
188
186
|
An extension to :class:`PT_TOTAL` that also includes a calculation of bytes transmitted in the last second.
|
|
189
187
|
It returns list of long integers; this list may be expanded in future software releases.
|
|
190
188
|
"""
|
|
@@ -224,8 +222,6 @@ class PT_TOTALEXT:
|
|
|
224
222
|
@dataclass
|
|
225
223
|
class PT_NOTPLDEXT:
|
|
226
224
|
"""
|
|
227
|
-
.. versionadded: v1.1
|
|
228
|
-
|
|
229
225
|
An extension to :class:`PT_NOTPLD` that also includes a calculation of bytes transmitted in the last second.
|
|
230
226
|
It returns list of long integers; this list may be expanded in future software releases.
|
|
231
227
|
"""
|
|
@@ -265,8 +261,6 @@ class PT_NOTPLDEXT:
|
|
|
265
261
|
@dataclass
|
|
266
262
|
class PT_STREAMEXT:
|
|
267
263
|
"""
|
|
268
|
-
.. versionadded: v1.1
|
|
269
|
-
|
|
270
264
|
An extension to :class:`PT_STREAM` that also includes a calculation of bytes transmitted in the last second.
|
|
271
265
|
It returns list of long integers; this list may be expanded in future software releases.
|
|
272
266
|
"""
|
|
@@ -51,6 +51,7 @@ from xoa_driver.internals.commands import (
|
|
|
51
51
|
P_TXBURSTPERIOD,
|
|
52
52
|
P_CAPABILITIES_EXT,
|
|
53
53
|
P_IGMPV3_GROUP_RECORD_BUNDLE,
|
|
54
|
+
P_USED_TPLDID,
|
|
54
55
|
)
|
|
55
56
|
if typing.TYPE_CHECKING:
|
|
56
57
|
from xoa_driver.internals.core import interfaces as itf
|
|
@@ -520,6 +521,12 @@ class BasePortL23(base_port.BasePort[ports_state.PortL23LocalState]):
|
|
|
520
521
|
:type: MatchTermIndices
|
|
521
522
|
"""
|
|
522
523
|
|
|
524
|
+
self.used_tpld_ids = P_USED_TPLDID(conn, module_id, port_id)
|
|
525
|
+
"""TG port's used TPLD IDs.
|
|
526
|
+
|
|
527
|
+
:type: P_USED_TPLDID
|
|
528
|
+
"""
|
|
529
|
+
|
|
523
530
|
on_speed_change = functools.partialmethod(utils.on_event, P_SPEED)
|
|
524
531
|
"""Register a callback to the event that the port's speed changes."""
|
|
525
532
|
|