-
Notifications
You must be signed in to change notification settings - Fork 157
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into AP-rt1dot29
- Loading branch information
Showing
54 changed files
with
1,325 additions
and
90 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
89 changes: 89 additions & 0 deletions
89
feature/platform/transceiver/chromatic_dispersion/tests/zrp_cd_test/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
# TRANSCEIVER-1: Telemetry: 400ZR_PLUS Chromatic Dispersion(CD) telemetry values streaming | ||
|
||
## Summary | ||
|
||
Validate 400ZR_PLUS optics module reports accurate CD telemetry values. | ||
|
||
Chromatic Dispersion is frequency dependent change in signal phase velocity due | ||
to fiber measured in ps/nm | ||
|
||
The test must be repeated for each supported operational-mode or as agreed between the vendor and customer. | ||
|
||
## Procedure | ||
|
||
* Connect two ZR_PLUS interfaces using a duplex LC fiber jumper such that TX | ||
output power of one is the RX input power of the other module. Connection | ||
between the modules should pass through an optical switch that can be | ||
controlled through automation to simulate a fiber cut. | ||
* To establish a point to point ZR_PLUS link ensure the following: | ||
* Both transceivers states are enabled | ||
* Both transceivers are set to a valid target TX output power | ||
example -3 dBm | ||
* Both transceivers are tuned to a valid centre frequency | ||
example 193.1 THz | ||
* With the ZR_PLUS link is established as explained above, verify that the | ||
following ZR_PLUS transceiver telemetry paths exist and are streamed for both | ||
the ZR_PLUS optics | ||
* /platform/components/component/optical-channel/state/chromatic-dispersion/instant | ||
* /platform/components/component/optical-channel/state/chromatic-dispersion/avg | ||
* /platform/components/component/optical-channel/state/chromatic-dispersion/min | ||
* /platform/components/component/optical-channel/state/chromatic-dispersion/max | ||
|
||
* When the modules or the devices are still in a boot stage, they must not | ||
stream any invalid string values like "nil" or "-inf" until valid values | ||
are available for streaming. | ||
|
||
* CD streamed values must always be of type Decimal64. | ||
When link interfaces are in down state 0 must be reported as a valid | ||
value. | ||
|
||
**Note:** For min, max, and avg values, 10 second sampling is preferred. If | ||
10 seconds is not supported, the sampling interval used must be | ||
communicated. | ||
|
||
|
||
* Verify that the optics CD is updated after the interface flaps. | ||
|
||
* Enable a pair of ZR_PLUS interfaces on the DUT as explained above. | ||
* Verify the ZR_PLUS optics CD telemetry values are in the normal range. | ||
* Disable or shut down the interface on the DUT. | ||
* Verify with interfaces in down state both optics are streaming Decimal64 0 | ||
value for CD. | ||
* Re-enable the interfaces on the DUT. | ||
* Verify the ZR_PLUS optics CD telemetry values are updated to the | ||
value in the normal range again. | ||
* Typical CD expected value range is 0 to 2400 ps/nm. | ||
|
||
* Verify that the optics CD is updated after a fiber cut. | ||
|
||
* Enable a pair of ZR_PLUS interfaces on the DUT as explained above. | ||
* Verify the ZR_PLUS optics CD telemetry values are in the normal | ||
range. | ||
* Simulate a fiber cut using the optical switch that sits in-between the | ||
DUT ports. | ||
* Verify with link in down state due to fiber cut both optics are streaming | ||
Decimal64 0 value for CD. | ||
* Re-enable the optical switch connection to clear the fiber cut fault. | ||
* Verify the ZR_PLUS optics CD telemetry values are updated to the value in the normal | ||
range again. | ||
* Typical CD expected value range is 0 to 2400 ps/nm. | ||
|
||
## Config Parameter coverage | ||
|
||
* /components/component/transceiver/config/enabled | ||
|
||
## Telemetry Parameter coverage | ||
|
||
* /platform/components/component/optical-channel/state/chromatic-dispersion/instant | ||
* /platform/components/component/optical-channel/state/chromatic-dispersion/avg | ||
* /platform/components/component/optical-channel/state/chromatic-dispersion/min | ||
* /platform/components/component/optical-channel/state/chromatic-dispersion/max | ||
|
||
## OpenConfig Path and RPC Coverage | ||
```yaml | ||
rpcs: | ||
gnmi: | ||
gNMI.Get: | ||
gNMI.Set: | ||
gNMI.Subscribe: | ||
``` |
File renamed without changes.
File renamed without changes.
File renamed without changes.
48 changes: 48 additions & 0 deletions
48
...iver/fec_uncorrectable_frames/tests/zrp_fec_uncorrectable_frames_test/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# TRANSCEIVER-10: Telemetry: 400ZR_PLUS Optics FEC(Forward Error Correction) Uncorrectable Frames Streaming. | ||
|
||
## Summary | ||
|
||
Validate 400ZR_PLUS optics module reports uncorrectable FEC frames count. | ||
|
||
This observable represents the number of uncorrectable FEC frames, | ||
measured as RS(544,514) equivalent frames, in a short interval. | ||
This is a post-FEC decoder error metric. | ||
|
||
## Procedure | ||
|
||
* Connect two ZR_PLUS interfaces using a duplex LC fiber jumper such that TX | ||
output power of one is the RX input power of the other module. | ||
* To establish a point to point ZR_PLUS link ensure the following: | ||
* Both transceivers state is enabled | ||
* Both transceivers are set to a valid target TX output power | ||
example -3 dBm | ||
* Both transceivers are tuned to a valid centre frequency | ||
example 193.1 THz | ||
* With the ZR_PLUS link established as explained above, verify that the | ||
following ZR_PLUS transceiver telemetry path exist and is streamed for both | ||
the ZR_PLUS optics. | ||
* /terminal-device/logical-channels/channel/otn/state/fec-uncorrectable-blocks | ||
* Verify that the reported data should be of type yang:counter64. | ||
* When the modules or the devices are still in a boot stage, they must not | ||
stream any invalid string values like "nil" or "-inf". | ||
* Toggle the interface state using /interfaces/interface/config/enabled and | ||
verify relevant FEC uncorrectable frame count is streamed. If there are no | ||
errors a value of 0 should be streamed for no FEC uncorrectable frames. | ||
|
||
## OpenConfig Path and RPC Coverage | ||
|
||
```yaml | ||
paths: | ||
# Config Parameter coverage | ||
/interfaces/interface/config/enabled: | ||
/components/component/transceiver/config/enabled: | ||
platform_type: ["OPTICAL_CHANNEL"] | ||
# Telemetry Parameter coverage | ||
/terminal-device/logical-channels/channel/otn/state/fec-uncorrectable-blocks: | ||
|
||
rpcs: | ||
gnmi: | ||
gNMI.Get: | ||
gNMI.Set: | ||
gNMI.Subscribe: | ||
``` |
File renamed without changes.
File renamed without changes.
File renamed without changes.
39 changes: 39 additions & 0 deletions
39
...platform/transceiver/firmware_version/tests/zrp_firmware_version_test/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# TRANSCEIVER-3: Telemetry: 400ZR_PLUS Optics firmware version streaming | ||
|
||
## Summary | ||
|
||
Validate 400ZR_PLUS optics module reports correct firmware version. | ||
|
||
## Procedure | ||
|
||
* Plug in the ZR_PLUS module in the host port and make sure the transceiver | ||
state is enabled and host is able to detect the module. | ||
* With the module correctly recognized verify it reports correct firmware | ||
version through the following telemetry path | ||
* /platform/components/component/state/firmware-version | ||
|
||
* Verify that the modules firmware version is reported correctly after a | ||
optic software reset. | ||
|
||
* With ZR_PLUS module plugged in the host and properly recognized | ||
* Verify the ZR_PLUS optics firmware version is correctly reported via the | ||
streaming telemetry path above. | ||
* Reset the optic through software | ||
* Verify the ZR_PLUS optics still reports correct firmware version. | ||
|
||
## Config Parameter coverage | ||
|
||
* /components/component/oc-transceiver:transceiver/oc-transceiver/config/enabled | ||
|
||
## Telemetry Parameter coverage | ||
|
||
* /platform/components/component/state/firmware-version | ||
|
||
## OpenConfig Path and RPC Coverage | ||
```yaml | ||
rpcs: | ||
gnmi: | ||
gNMI.Get: | ||
gNMI.Set: | ||
gNMI.Subscribe: | ||
``` |
File renamed without changes.
File renamed without changes.
File renamed without changes.
138 changes: 138 additions & 0 deletions
138
...form/transceiver/input_output_power/tests/zrp_input_output_power_test/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
# TRANSCEIVER-4: Telemetry: 400ZR_PLUS RX input and TX output power telemetry values streaming. | ||
|
||
## Summary | ||
|
||
Validate 400ZR_PLUS optics modules report accurate RX input and TX output power | ||
telemetry values. | ||
|
||
As per CMIS ZR_PLUS modules report two types of RX input power and one TX output | ||
power. | ||
* RX Signal Power | ||
* Reports the actual signal power after filtering out any extra noise. | ||
* Is mapped to /component/optical-channel/ full path shown below | ||
* RX Total Power | ||
* Reports RX Signal Power plus noise without any filtering. | ||
* Is mapped to /component/transceiver/physical-channel full path shown below | ||
* TX Output Power | ||
* This is the total TX output power | ||
* Is mapped to component/optical-channel/ full path shown below | ||
|
||
The test must be repeated for each supported operational-mode or as agreed between the vendor and customer. | ||
|
||
## TRANSCEIVER-4.1 | ||
|
||
* Connect two ZR_PLUS interfaces using a duplex LC fiber jumper such that TX | ||
output power of one is the RX input power of the other module. Connection | ||
between the modules should pass through an optical switch that can be | ||
controlled through automation to simulate a fiber cut. | ||
* To establish a point to point ZR_PLUS link ensure the following: | ||
* Both transceivers states are enabled | ||
* Both transceivers are set to a valid target TX output power | ||
example -3 dBm | ||
* Both transceivers are tuned to a valid centre frequency | ||
example 193.1 THz | ||
* With the ZR_PLUS link is established as explained above, verify that the | ||
following ZR_PLUS transceiver telemetry paths exist and are streamed for both | ||
the ZR_PLUS optics | ||
* /components/component/optical-channel/state/input-power/instant | ||
* /components/component/optical-channel/state/input-power/avg | ||
* /components/component/optical-channel/state/input-power/min | ||
* /components/component/optical-channel/state/input-power/max | ||
* /components/component/optical-channel/state/output-power/instant | ||
* /components/component/optical-channel/state/output-power/avg | ||
* /components/component/optical-channel/state/output-power/min | ||
* /components/component/optical-channel/state/output-power/max | ||
* /components/component/transceiver/physical-channel/channel/state/input-power/instant | ||
* /components/component/transceiver/physical-channel/channel/state/input-power/min | ||
* /components/component/transceiver/physical-channel/channel/state/input-power/max | ||
* /components/component/transceiver/physical-channel/channel/state/input-power/avg | ||
|
||
## TRANSCEIVER-4.2 | ||
|
||
* When the modules or the devices are still in a boot stage, they must not | ||
stream any invalid string values like "nil" or "-inf" until valid values | ||
are available for streaming. | ||
|
||
* RX Input and TX output power values must always be of type decimal64. | ||
When link interfaces are in down state RX Input power of -40 dbm must be | ||
reported as a valid value. | ||
|
||
**Note:** For min, max, and avg values, 10 second sampling is preferred. If | ||
10 seconds is not supported, the sampling interval used must be | ||
communicated. | ||
|
||
## TRANSCEIVER-4.3 | ||
|
||
* Verify that the optics RX input and TX output power is updated after the | ||
interface flaps. | ||
|
||
* Enable a pair of ZR_PLUS interfaces on the DUT as explained above. | ||
* Verify the ZR_PLUS optics RX input and TX output power telemetry values are | ||
in the normal range. | ||
* Verify that RX Signal Power is less than the RX Total Power. | ||
* Disable or shut down the interface on the DUT. | ||
* Verify with interfaces in down state both optics are streaming decimal64 0 | ||
value for both RX input and TX output power. | ||
* Re-enable the interfaces on the DUT. | ||
* Verify the ZR_PLUS optics RX input and TX output power telemetry values are | ||
updated to the value in the normal range again. | ||
* Typical min/max value range for RX Signal Power -10 to -5 dbm. | ||
* Typical min/max value range for TX Output Power -7 to 0 dbm. | ||
|
||
## TRANSCEIVER-4.4 | ||
|
||
* Verify that the optics RX input and TX output power is updated after a | ||
fiber cut. | ||
|
||
* Enable a pair of ZR_PLUS interfaces on the DUT as explained above. | ||
* Verify the ZR_PLUS optics RX input and TX output power telemetry values are | ||
in the normal range. | ||
* Verify that RX Signal Power is less than the RX Total Power. | ||
* Simulate a fiber cut using the optical switch that sits in-between the | ||
DUT ports. | ||
* Verify with link in down state due to fiber cut both optics are streaming | ||
decimal64 0 value for both RX input and TX output power. | ||
* Re-enable the optical switch connection to clear the fiber cut fault. | ||
* Verify the ZR_PLUS optics RX input and TX output power telemetry values are | ||
updated to the value in the normal range again. | ||
* Typical min/max value range for RX Signal Power -10 to -5 dbm. | ||
* Typical min/max value range for TX Output Power -7 to 0 dbm. | ||
|
||
## OpenConfig Path and RPC Coverage | ||
|
||
```yaml | ||
paths: | ||
# Config Parameter coverage | ||
/interfaces/interface/config/enabled: | ||
# Telemetry Parameter coverage | ||
/components/component/optical-channel/state/input-power/instant: | ||
platform_type: ["OPTICAL_CHANNEL"] | ||
/components/component/optical-channel/state/input-power/avg: | ||
platform_type: ["OPTICAL_CHANNEL"] | ||
/components/component/optical-channel/state/input-power/min: | ||
platform_type: ["OPTICAL_CHANNEL"] | ||
/components/component/optical-channel/state/input-power/max: | ||
platform_type: ["OPTICAL_CHANNEL"] | ||
/components/component/optical-channel/state/output-power/instant: | ||
platform_type: ["OPTICAL_CHANNEL"] | ||
/components/component/optical-channel/state/output-power/avg: | ||
platform_type: ["OPTICAL_CHANNEL"] | ||
/components/component/optical-channel/state/output-power/min: | ||
platform_type: ["OPTICAL_CHANNEL"] | ||
/components/component/optical-channel/state/output-power/max: | ||
platform_type: ["OPTICAL_CHANNEL"] | ||
/components/component/transceiver/physical-channels/channel/state/input-power/instant: | ||
platform_type: [ "TRANSCEIVER" ] | ||
/components/component/transceiver/physical-channels/channel/state/input-power/min: | ||
platform_type: [ "TRANSCEIVER" ] | ||
/components/component/transceiver/physical-channels/channel/state/input-power/max: | ||
platform_type: [ "TRANSCEIVER" ] | ||
/components/component/transceiver/physical-channels/channel/state/input-power/avg: | ||
platform_type: [ "TRANSCEIVER" ] | ||
|
||
rpcs: | ||
gnmi: | ||
gNMI.Get: | ||
gNMI.Set: | ||
gNMI.Subscribe: | ||
``` |
File renamed without changes.
File renamed without changes.
File renamed without changes.
Oops, something went wrong.