Add path for optics error counters#1459
Conversation
There was a problem hiding this comment.
Code Review
This pull request adds several lane-specific metrics to the OpenConfig platform transceiver model, including fault counters, loss of signal/lock counters, and signal-to-noise ratio (SNR) measurements for both host and media sides. The review feedback identifies indentation errors and notes that host-side metrics were incorrectly placed within a media-side grouping, suggesting they be moved to the appropriate host-lane-state grouping.
7b0495a to
a767d80
Compare
|
Discussed at OC Operators Meeting March 31, 2026: Can we move the counters into a container? Also, if the |
|
Action items:
|
a767d80 to
e9aafc1
Compare
|
/gcbrun |
|
No major YANG version changes in commit 3d75b33 |
e9aafc1 to
c312166
Compare
|
/gcbrun |
|
/gcbrun |
|
Will review at April 14, 2026 OC Operators meeting |
| (i.e. gray optic) that it is associated with."; | ||
|
|
||
| oc-ext:openconfig-version "0.18.0"; | ||
| oc-ext:openconfig-version "0.19.0"; |
There was a problem hiding this comment.
Is this model being used? Do we want to increment to 1.X.X?
|
Discussed at the OC Operators Meeting April 14th, 2026: The model looks a lot better-- thanks for making the changes. No objections to the OC addition. Will set last call for 2 weeks from now. |
|
/gcbrun |
Change Scope
Platform Implementations
Tree View
module: openconfig-platform +--rw components +--rw component* [name] +--rw oc-transceiver:transceiver | +--rw oc-transceiver:physical-channels | | +--rw oc-transceiver:channel* [index] | | +--ro oc-transceiver:state | | +--ro oc-transceiver:index? uint16 | | +--ro oc-transceiver:associated-optical-channel? -> /oc-platform:components/component/name | | +--ro oc-transceiver:description? string | | +--ro oc-transceiver:tx-laser? boolean | | +--ro oc-transceiver:target-output-power? decimal64 | | +--ro oc-transceiver:laser-age? oc-types:percentage | | +--ro oc-transceiver:laser-temperature | | | +--ro oc-transceiver:instant? decimal64 | | | +--ro oc-transceiver:avg? decimal64 | | | +--ro oc-transceiver:min? decimal64 | | | +--ro oc-transceiver:max? decimal64 | | | +--ro oc-transceiver:interval? oc-types:stat-interval | | | +--ro oc-transceiver:min-time? oc-types:timeticks64 | | | +--ro oc-transceiver:max-time? oc-types:timeticks64 | | +--ro oc-transceiver:target-frequency-deviation | | | +--ro oc-transceiver:instant? decimal64 | | | +--ro oc-transceiver:avg? decimal64 | | | +--ro oc-transceiver:min? decimal64 | | | +--ro oc-transceiver:max? decimal64 | | | +--ro oc-transceiver:interval? oc-types:stat-interval | | | +--ro oc-transceiver:min-time? oc-types:timeticks64 | | | +--ro oc-transceiver:max-time? oc-types:timeticks64 | | +--ro oc-transceiver:tec-current | | | +--ro oc-transceiver:instant? decimal64 | | | +--ro oc-transceiver:avg? decimal64 | | | +--ro oc-transceiver:min? decimal64 | | | +--ro oc-transceiver:max? decimal64 | | | +--ro oc-transceiver:interval? oc-types:stat-interval | | | +--ro oc-transceiver:min-time? oc-types:timeticks64 | | | +--ro oc-transceiver:max-time? oc-types:timeticks64 | | +--ro oc-transceiver:tx-failure? boolean | | +--ro oc-transceiver:rx-los? boolean | | +--ro oc-transceiver:rx-cdr-lol? boolean + | | +--ro oc-transceiver:counters + | | | +--ro oc-transceiver:tx-fault-count? oc-yang:counter64 + | | | +--ro oc-transceiver:tx-los-count? oc-yang:counter64 + | | | +--ro oc-transceiver:tx-lol-count? oc-yang:counter64 + | | | +--ro oc-transceiver:rx-los-count? oc-yang:counter64 + | | | +--ro oc-transceiver:rx-lol-count? oc-yang:counter64 + | | +--ro oc-transceiver:host-snr + | | | +--ro oc-transceiver:instant? decimal64 + | | | +--ro oc-transceiver:avg? decimal64 + | | | +--ro oc-transceiver:min? decimal64 + | | | +--ro oc-transceiver:max? decimal64 + | | | +--ro oc-transceiver:interval? oc-types:stat-interval + | | | +--ro oc-transceiver:min-time? oc-types:timeticks64 + | | | +--ro oc-transceiver:max-time? oc-types:timeticks64 + | | +--ro oc-transceiver:media-snr + | | | +--ro oc-transceiver:instant? decimal64 + | | | +--ro oc-transceiver:avg? decimal64 + | | | +--ro oc-transceiver:min? decimal64 + | | | +--ro oc-transceiver:max? decimal64 + | | | +--ro oc-transceiver:interval? oc-types:stat-interval + | | | +--ro oc-transceiver:min-time? oc-types:timeticks64 + | | | +--ro oc-transceiver:max-time? oc-types:timeticks64