Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optical channel reference to it's logical channel #1130

Merged
merged 16 commits into from
Jul 30, 2024

Conversation

ejbrever
Copy link
Contributor

@ejbrever ejbrever commented Jun 13, 2024

New leafref added: /components/component/optical-channel/state/logical-channel-assignment

More details at:
#1128

Tree output

module: openconfig-platform
  +--rw components
     +--rw component* [name]
        +--rw name                           -> ../config/name
        <...>
        +--rw oc-opt-term:optical-channel
           +--rw oc-opt-term:config
           |  +--rw oc-opt-term:frequency?             oc-opt-types:frequency-type
           |  +--rw oc-opt-term:target-output-power?   decimal64
           |  +--rw oc-opt-term:operational-mode?      uint16
           |  +--rw oc-opt-term:line-port?             -> /oc-platform:components/component/name
           +--ro oc-opt-term:state
              +--ro oc-opt-term:frequency?                                   oc-opt-types:frequency-type
              +--ro oc-opt-term:target-output-power?                         decimal64
              +--ro oc-opt-term:operational-mode?                            uint16
              +--ro oc-opt-term:line-port?                                   -> /oc-platform:components/component/name
              +--ro oc-opt-term:group-id?                                    uint32
              +--ro oc-opt-term:logical-channel-assignment?                  -> /terminal-device/logical-channels/channel/index
              +--ro oc-opt-term:chromatic-dispersion
              +--ro oc-opt-term:polarization-mode-dispersion
              +--ro oc-opt-term:second-order-polarization-mode-dispersion
              +--ro oc-opt-term:polarization-dependent-loss
              +--ro oc-opt-term:modulator-bias-xi
              +--ro oc-opt-term:modulator-bias-xq
              +--ro oc-opt-term:modulator-bias-yi
              +--ro oc-opt-term:modulator-bias-yq
              +--ro oc-opt-term:modulator-bias-x-phase
              +--ro oc-opt-term:modulator-bias-y-phase
              +--ro oc-opt-term:osnr
              +--ro oc-opt-term:carrier-frequency-offset
              +--ro oc-opt-term:sop-roc
              +--ro oc-opt-term:modulation-error-ratio
              +--ro oc-opt-term:fec-uncorrectable-blocks?                    yang:counter64
              +--ro oc-opt-term:pre-fec-ber
              +--ro oc-opt-term:post-fec-ber
              +--ro oc-opt-term:q-value
              +--ro oc-opt-term:esnr

@ejbrever ejbrever requested a review from a team as a code owner June 13, 2024 00:31
@ejbrever ejbrever requested a review from dplore June 13, 2024 00:34
@ejbrever
Copy link
Contributor Author

@ahsaanyousaf @dplore could you please help review? Thanks.

@dplore
Copy link
Member

dplore commented Jun 15, 2024

/gcbrun

@OpenConfigBot
Copy link

OpenConfigBot commented Jun 15, 2024

No major YANG version changes in commit 8811035

Copy link
Member

@dplore dplore left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me from a model and use case perspective. Is there any evidence of implementation of this mapping?

@ejbrever
Copy link
Contributor Author

Unfortunately, I don't know of any vendor implementations that tried to do an augment for this. For an internal project (DCGate) there are performance concerns as the current leaf that maps logical channels to optical channels (i.e. opposite direction) you could have something that kind of starts to look like an N^2 problem (with hundreds of logical channels, each with a handful of logical-channel-assignments) because to find the logical channel that maps to a specific optical channel would require looping through every assignment. With this approach, it becomes a simple targeted lookup.

@ejbrever
Copy link
Contributor Author

Hi Darren, as suggested, here is a pyang output showing the new 'logical-channel-assignment' leaf.

Please let me know if I can provide anything else. Thanks.

module: openconfig-platform
+--rw components
+--rw component* [name]
+--rw name -> ../config/name
<...>
+--rw oc-opt-term:optical-channel
+--rw oc-opt-term:config
| +--rw oc-opt-term:frequency? oc-opt-types:frequency-type
| +--rw oc-opt-term:target-output-power? decimal64
| +--rw oc-opt-term:operational-mode? uint16
| +--rw oc-opt-term:line-port? -> /oc-platform:components/component/name
+--ro oc-opt-term:state
+--ro oc-opt-term:frequency? oc-opt-types:frequency-type
+--ro oc-opt-term:target-output-power? decimal64
+--ro oc-opt-term:operational-mode? uint16
+--ro oc-opt-term:line-port? -> /oc-platform:components/component/name
+--ro oc-opt-term:group-id? uint32
+--ro oc-opt-term:logical-channel-assignment? -> /terminal-device/logical-channels/channel/index
+--ro oc-opt-term:chromatic-dispersion
+--ro oc-opt-term:polarization-mode-dispersion
+--ro oc-opt-term:second-order-polarization-mode-dispersion
+--ro oc-opt-term:polarization-dependent-loss
+--ro oc-opt-term:modulator-bias-xi
+--ro oc-opt-term:modulator-bias-xq
+--ro oc-opt-term:modulator-bias-yi
+--ro oc-opt-term:modulator-bias-yq
+--ro oc-opt-term:modulator-bias-x-phase
+--ro oc-opt-term:modulator-bias-y-phase
+--ro oc-opt-term:osnr
+--ro oc-opt-term:carrier-frequency-offset
+--ro oc-opt-term:sop-roc
+--ro oc-opt-term:modulation-error-ratio
+--ro oc-opt-term:fec-uncorrectable-blocks? yang:counter64
+--ro oc-opt-term:pre-fec-ber
+--ro oc-opt-term:post-fec-ber
+--ro oc-opt-term:q-value
+--ro oc-opt-term:esnr

@dplore
Copy link
Member

dplore commented Jul 15, 2024

/gcbrun

@dplore
Copy link
Member

dplore commented Jul 15, 2024

Last call for comments. To be merged on July 29, 2024

@dplore dplore merged commit 8dc427e into openconfig:master Jul 30, 2024
14 checks passed
abamberger-arista pushed a commit to abamberger-arista/openconfig-public that referenced this pull request Aug 7, 2024
* Add a state leaf to optical channels to reference their logical
channel assignment
sallylsy pushed a commit to sallylsy/OC_public that referenced this pull request Sep 5, 2024
* Add a state leaf to optical channels to reference their logical
channel assignment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants