openconfig-wavelength-router

This model describes configuration and operational state data for an optical transport line system node, or ROADM (incl. CDC ROA...

  • Version: 2017-09-08

    openconfig-wavelength-router@2017-09-08


    
      module openconfig-wavelength-router {
    
        yang-version 1;
    
        namespace
          "http://openconfig.net/yang/wavelength-router";
    
        prefix oc-wave-router;
    
        import openconfig-extensions {
          prefix oc-ext;
        }
        import openconfig-types {
          prefix oc-types;
        }
        import openconfig-interfaces {
          prefix oc-if;
        }
        import openconfig-transport-types {
          prefix oc-opt-types;
        }
    
        organization "OpenConfig working group";
    
        contact
          "OpenConfig working group
          www.openconfig.net";
    
        description
          "This model describes configuration and operational state data
         for an optical transport line system node, or ROADM (incl. CDC
         ROADMs, WSS, Dynamic Gain Equalizer/DGE).
         
         Nodes are modeled as a configurable switching element with
         ingress and egress ports, as well as a number of add/drop ports
         that can be set up to direct portions of the optical spectrum
         to the appropriate degrees.";
    
        revision "2017-09-08" {
          description
            "Correct bug with OSC interfaces";
          reference
            "0.3.1";
    
        }
    
        revision "2017-07-08" {
          description
            "Support multiple OCMs, add monitor port type
           and refs to hw ports, ";
          reference
            "0.3.0";
    
        }
    
        revision "2017-03-28" {
          description
            "Added min/max/avg stats, status for media channels, OCM, APS";
          reference
            "0.2.0";
    
        }
    
        revision "2016-03-31" {
          description "Initial public release";
          reference
            "0.1.0";
    
        }
    
        oc-ext:openconfig-version "0.3.1";
    
        grouping media-channel-port-config {
          description
            "Configuration data for a media channel source/dest port";
          leaf port-name {
            type oc-if:base-interface-ref;
            description
              "Reference to the corresponding node interface";
          }
        }  // grouping media-channel-port-config
    
        grouping media-channel-port-state {
          description
            "Operational state data for a media channel source/dest port";
        }  // grouping media-channel-port-state
    
        grouping media-channel-source-port-top {
          description
            "Top-level grouping for source of the media channel";
          container source {
            description
              "Top-level container for media channel source";
            container config {
              description
                "Configuration data for the media channel source";
              uses media-channel-port-config;
            }  // container config
    
            container state {
              config false;
              description
                "Operational state data for the media channel source";
              uses media-channel-port-config;
    
              uses media-channel-port-state;
            }  // container state
          }  // container source
        }  // grouping media-channel-source-port-top
    
        grouping media-channel-dest-port-top {
          description
            "Top-level grouping for destination of the media channel";
          container dest {
            description
              "Top-level container for media channel destination";
            container config {
              description
                "Configuration data for the media channel destination";
              uses media-channel-port-config;
            }  // container config
    
            container state {
              config false;
              description
                "Operational state data for the media channel destination";
              uses media-channel-port-config;
    
              uses media-channel-port-state;
            }  // container state
          }  // container dest
        }  // grouping media-channel-dest-port-top
    
        grouping media-channel-psd-config {
          description
            "Configuration data for the media channel PSD";
          leaf lower-frequency {
            type oc-opt-types:frequency-type;
            description
              "Lower frequency of the specified PSD";
          }
    
          leaf upper-frequency {
            type oc-opt-types:frequency-type;
            description
              "Upper frequency of the specified PSD";
          }
    
          leaf psd {
            type oc-types:ieeefloat32;
            units "nW/MHz";
            description
              "Power spectral density expressed in nanowatts per
             megahertz, nW/MHz.  These units allow the value to often
             be greater than 1.0.  It also avoids dealing with zero values
             for 0dBm.  For example, a 40GHz wide channel
             with 0dBm power would be:
              0dBm = 1mW = 10^6nW
              40GHz = 40,000MHz
              0dBm/40GHz = 10^6nW/40,000MHz = 1000/40 = 25";
          }
        }  // grouping media-channel-psd-config
    
        grouping media-channel-psd-state {
          description
            "Operational state data for the media channel PSD";
        }  // grouping media-channel-psd-state
    
        grouping media-channel-psd-top {
          description "Top-level grouping ";
          container psd-distribution {
            description
              "Enclosing container for the list of values describing
             the power spectral density distribution";
            list psd-value {
              key "lower-frequency upper-frequency";
              description
                "List of tuples describing the PSD distribution";
              leaf lower-frequency {
                type leafref {
                  path
                    "../config/lower-frequency";
                }
                description
                  "Reference to the list key";
              }
    
              leaf upper-frequency {
                type leafref {
                  path
                    "../config/upper-frequency";
                }
                description
                  "Reference to the list key";
              }
    
              container config {
                description
                  "Configuration data for PSD";
                uses media-channel-psd-config;
              }  // container config
    
              container state {
                config false;
                description
                  "Operational state data for PSD";
                uses media-channel-psd-config;
    
                uses media-channel-psd-state;
              }  // container state
            }  // list psd-value
          }  // container psd-distribution
        }  // grouping media-channel-psd-top
    
        grouping media-channel-config {
          description
            "Configuration data for media channel definitions";
          leaf index {
            type uint32;
            description
              "Identifier for the defined media channel";
          }
    
          leaf name {
            type string;
            description
              "The user supplied name of the media channel";
          }
    
          leaf lower-frequency {
            type oc-opt-types:frequency-type;
            description
              "The lower frequency for the spectrum defined by this media
             channel";
          }
    
          leaf upper-frequency {
            type oc-opt-types:frequency-type;
            description
              "The upper frequency for the spectrum defined by this media
             channel";
          }
    
          leaf admin-status {
            type oc-opt-types:admin-state-type;
            description
              "Sets the admin status of the media channel";
          }
        }  // grouping media-channel-config
    
        grouping media-channel-state {
          description
            "Operational state data for media channels ";
          leaf oper-status {
            type enumeration {
              enum "UP" {
                value 0;
                description
                  "Media channel is operationally up";
              }
              enum "DOWN" {
                value 1;
                description
                  "Media channel is operationally down";
              }
            }
            description
              "Operational state of the media channel";
          }
        }  // grouping media-channel-state
    
        grouping media-channel-top {
          description
            "Top-level grouping for list of defined media channels";
          container media-channels {
            description
              "Enclosing container for media channel list";
            list channel {
              key "index";
              description
                "List of media channels";
              leaf index {
                type leafref {
                  path "../config/index";
                }
                description
                  "Reference to index number of the media channel";
              }
    
              container config {
                description
                  "Configuration data ";
                uses media-channel-config;
              }  // container config
    
              container state {
                config false;
                description
                  "Operational state data ";
                uses media-channel-config;
    
                uses media-channel-state;
              }  // container state
    
              uses media-channel-source-port-top;
    
              uses media-channel-dest-port-top;
    
              uses media-channel-psd-top;
            }  // list channel
          }  // container media-channels
        }  // grouping media-channel-top
    
        grouping wavelength-router-top {
          description
            "Top level grouping for the wavelength router";
          container wavelength-router {
            description
              "Top-level container for wavelength router device";
            uses media-channel-top;
          }  // container wavelength-router
        }  // grouping wavelength-router-top
    
        uses wavelength-router-top;
      }  // module openconfig-wavelength-router
    

© 2023 YumaWorks, Inc. All rights reserved.