netconfcentral logo

openconfig-wavelength-router

HTML

openconfig-wavelength-router@2020-06-03



  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-platform {
      prefix oc-platform;
    }
    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.

    In relation to configuring target spectrum powers, there
    are two, non-overlapping, configuration possibilities that are
    supported.
    1. Non-noise loaded wavelength router:
       - The target spectrum powers are configured on each media
         channel.
    2. Noise-loaded wavelength router:
       - The target spectrum power values will be configured as a
         target spectrum power profile over the full spectrum instead
         of individual media channels.";

    revision "2020-06-03" {
      description
        "Add attenutation-control-mode to media channel config";
      reference
        "0.8.0";

    }

    revision "2019-10-24" {
      description
        "Migrate from using power spectral densisty to using power
      target values";
      reference
        "0.7.0";

    }

    revision "2019-09-20" {
      description
        "Add ASE related state and config. Also add a super channel
      parent leaf";
      reference
        "0.6.0";

    }

    revision "2019-06-03" {
      description
        "PSD profile top-level description and
      port changed to a leafref.";
      reference
        "0.5.0";

    }

    revision "2019-04-03" {
      description
        "Add port PSD profile modeling.";
      reference
        "0.4.0";

    }

    revision "2018-11-21" {
      description
        "Add OpenConfig module metadata extensions.";
      reference
        "0.3.3";

    }

    revision "2018-07-17" {
      description
        "Correct bug so that source/dest ports are components";
      reference
        "0.3.2";

    }

    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.8.0";
    oc-ext:regexp-posix;
    oc-ext:catalog-organization "openconfig";
    oc-ext:origin "openconfig";

    identity ATTENUATION_CONTROL_MODE {
      base 
      description
        "The definition for different types of attenutation control
      modes on a media channel";
    }

    identity ATTENUATION_FIXED_LOSS {
      base ATTENUATION_CONTROL_MODE;
      description
        "The attenuation applied across a media channel will be
      calculated based on the target input and output powers as well
      as the internal losses of the wavelength router. The target
      power levels are configured using port-spectrum-power-profiles
      of the two ports";
    }

    identity ATTENUATION_DYNAMIC_LOSS {
      base ATTENUATION_CONTROL_MODE;
      description
        "The attenuation applied across a media channel is dynamically
      controlled by the device by attempting to meet the target output
      power as defined in the output port's
      port-spectrum-power-profile";
    }

    identity ASE_CONTROL_MODE {
      base 
      description
        "The definition for different types of ASE control modes
      on a media channel";
    }

    identity ASE_ENABLED {
      base ASE_CONTROL_MODE;
      description
        "The media channel will immediately have ASE noise injected";
    }

    identity ASE_DISABLED {
      base ASE_CONTROL_MODE;
      description
        "Removes any ASE noise injection that may be present on the
      media channel";
    }

    identity AUTO_ASE_ON_FAILURE {
      base ASE_CONTROL_MODE;
      description
        "The media channel will automatically be injected with noise
      if the media channel target spectrum power drops below the
      provided threshdold. In this mode, at time of a failure, the
      media channel is removed from the system and would need to be
      reconfigured to restore traffic. In addition, unprovisioned
      spectrum will be injected with noise";
    }

    identity AUTO_ASE_FAILURE_AND_RESTORE {
      base ASE_CONTROL_MODE;
      description
        "The media channel will automatically be injected with noise
      if the media channel target spectrum power drops below the
      provided threshold. When the original signal is restored above
      the threshold the ASE noise injection will be automatically
      removed. In addition, unprovisioned spectrum will be injected
      with noise";
    }

    grouping port-spectrum-power-profile-state {
      description
        "Operational state data for a wavelength-router
      port spectrum profile";
    }  // grouping port-spectrum-power-profile-state

    grouping port-spectrum-power-profile-config {
      description
        "Configuration data for a wavelength-router port spectrum
      profile";
      leaf name {
        type leafref {
          path
            "/oc-platform:components/oc-platform:component/"
              + "oc-platform:name";
        }
        description
          "Reference to system-supplied name of the wavelength-router
	port component.";
      }
    }  // grouping port-spectrum-power-profile-config

    grouping port-spectrum-power-profiles-top {
      description
        "Top-level grouping for the list of wavelength-router port
      spectrum power profiles";
      container port-spectrum-power-profiles {
        description
          "Enclosing container for wavelength-router port spectrum
        power profiles";
        list port {
          key "name";
          description
            "List of ports, keyed by port name";
          leaf name {
            type leafref {
              path "../config/name";
            }
            description
              "References the port name";
          }

          container config {
            description
              "Configuration data for each port";
            uses port-spectrum-power-profile-config;
          }  // container config

          container state {
            config false;
            description
              "Operational state data for each port spectrum profile.";
            uses port-spectrum-power-profile-config;

            uses port-spectrum-power-profile-state;
          }  // container state

          uses spectrum-target-power-profiles-top;
        }  // list port
      }  // container port-spectrum-power-profiles
    }  // grouping port-spectrum-power-profiles-top

    grouping media-channel-port-config {
      description
        "Configuration data for a media channel source/dest port";
      leaf port-name {
        type leafref {
          path
            "/oc-platform:components/oc-platform:component/"
              + "oc-platform:name";
        }
        description
          "Reference to the corresponding node port";
      }
    }  // 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 spectrum-target-power-config {
      description
        "Configuration data for the media channel target power";
      leaf lower-frequency {
        type oc-opt-types:frequency-type;
        description
          "Lower frequency of the specified target spectrum power";
      }

      leaf upper-frequency {
        type oc-opt-types:frequency-type;
        description
          "Upper frequency of the specified target spectrum power";
      }

      leaf target-power {
        type decimal64 {
          fraction-digits 2;
        }
        units "dBm";
        description
          "Target average power to achieve within the specified
        spectrum";
      }
    }  // grouping spectrum-target-power-config

    grouping spectrum-target-power-state {
      description
        "Operational state data for the target spectrum power";
    }  // grouping spectrum-target-power-state

    grouping spectrum-target-power-profiles-top {
      description
        "Top-level grouping for target spectrum profiles";
      container spectrum-power-profile {
        description
          "Enclosing container for the list of values describing
        the target spectrum powers";
        list distribution {
          key "lower-frequency upper-frequency";
          description
            "List of tuples describing the target spectrum power
          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 target spectrum power";
            uses spectrum-target-power-config;
          }  // container config

          container state {
            config false;
            description
              "Operational state data for target spectrum power";
            uses spectrum-target-power-config;

            uses spectrum-target-power-state;
          }  // container state
        }  // list distribution
      }  // container spectrum-power-profile
    }  // grouping spectrum-target-power-profiles-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";
      }

      leaf super-channel {
        type boolean;
        description
          "True if the media channel is a super channel which
        contains multiple media channels within it. The contained
        media channels should fall within the boundaries of the
        super channel. The device should raise an error if a media
        channel crosses a super channel boundary. When using super
        channels, spectrum power targets should be defined in either
        the:
         - port-spectrum-power-profiles for the port which matches the
           source port of the media channel representing the super
           channel
         - media channels that are contained within the super
	   channel, but not on the super channel itself";
      }

      leaf super-channel-parent {
        type leafref {
          path
            "../../../channel/config/index";
        }
        description
          "If the media channel is contained within a super channel this
        would specify the index of the super channel parent";
      }

      leaf ase-control-mode {
        type identityref {
          base ASE_CONTROL_MODE;
        }
        description
          "Sets the ASE control mode for the media channel.
        The control mode defines the behavior of when and if
        ASE noise is injected on the media channel";
      }

      leaf ase-injection-threshold {
        type decimal64 {
          fraction-digits 2;
        }
        units "dBm";
        description
          "Defines the optical power threshold value which would
        indicate that ASE noise should be injected on the media
        channel. This is required if a threshold based
        ase-control-mode is configured";
      }

      leaf attenuation-control-mode {
        type identityref {
          base ATTENUATION_CONTROL_MODE;
        }
        description
          "Sets the attenuation control mode for the media channel.
        The control mode defines the behavior of how the attenuation
        across a media channel is set";
      }
    }  // 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";
      }

      leaf ase-status {
        type enumeration {
          enum "PRESENT" {
            value 0;
            description
              "Media channel has injected ASE noise present";
          }
          enum "NOT_PRESENT" {
            value 1;
            description
              "Media channel does not have injected ASE noise present";
          }
        }
        description
          "Status of injected ASE noise on 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 spectrum-target-power-profiles-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;

        uses port-spectrum-power-profiles-top;
      }  // container wavelength-router
    }  // grouping wavelength-router-top

    uses wavelength-router-top;
  }  // module openconfig-wavelength-router

Summary

  
  
Organization OpenConfig working group
  
Module openconfig-wavelength-router
Version 2020-06-03
File openconfig-wavelength-router.yang
  
Prefix oc-wave-router
Namespace http://openconfig.net/yang/wavelength-router
  
Cooked /cookedmodules/openconfig-wavelength-router/2020-06-03
YANG /src/openconfig-wavelength-router@2020-06-03.yang
XSD /xsd/openconfig-wavelength-router@2020-06-03.xsd
  
Abstract This model describes configuration and operational state data for an optical transport line system node, or ROADM (incl. CDC ROA...
  
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.

In relation to configuring target spectrum powers, there
are two, non-overlapping, configuration possibilities that are
supported.
1. Non-noise loaded wavelength router:
  - The target spectrum powers are configured on each media
    channel.
2. Noise-loaded wavelength router:
  - The target spectrum power values will be configured as a
    target spectrum power profile over the full spectrum instead
    of individual media channels.

Groupings

Grouping Objects Abstract
media-channel-config index name lower-frequency upper-frequency admin-status super-channel super-channel-parent ase-control-mode ase-injection-threshold attenuation-control-mode Configuration data for media channel definitions
media-channel-dest-port-top dest Top-level grouping for destination of the media channel
media-channel-port-config port-name Configuration data for a media channel source/dest port
media-channel-port-state Operational state data for a media channel source/dest port
media-channel-source-port-top source Top-level grouping for source of the media channel
media-channel-state oper-status ase-status Operational state data for media channels
media-channel-top media-channels Top-level grouping for list of defined media channels
port-spectrum-power-profile-config name Configuration data for a wavelength-router port spectrum profile
port-spectrum-power-profile-state Operational state data for a wavelength-router port spectrum profile
port-spectrum-power-profiles-top port-spectrum-power-profiles Top-level grouping for the list of wavelength-router port spectrum power profiles
spectrum-target-power-config lower-frequency upper-frequency target-power Configuration data for the media channel target power
spectrum-target-power-profiles-top spectrum-power-profile Top-level grouping for target spectrum profiles
spectrum-target-power-state Operational state data for the target spectrum power
wavelength-router-top wavelength-router Top level grouping for the wavelength router

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
wavelength-router container Top-level container for wavelength router device
   media-channels container Enclosing container for media channel list
      channel list List of media channels
         config container Configuration data
            admin-status leaf Sets the admin status of the media channel
            ase-control-mode leaf Sets the ASE control mode for the media channel. The control mode defines the behavior of when and if ASE noise is injected on the media channel
            ase-injection-threshold leaf Defines the optical power threshold value which would indicate that ASE noise should be injected on the media channel. This is required if a threshold based ase-control-mode is configured
            attenuation-control-mode leaf Sets the attenuation control mode for the media channel. The control mode defines the behavior of how the attenuation across a media channel is set
            index leaf Identifier for the defined media channel
            lower-frequency leaf The lower frequency for the spectrum defined by this media channel
            name leaf The user supplied name of the media channel
            super-channel leaf True if the media channel is a super channel which contains multiple media channels within it. The contained media channels should fall within the boundaries of the super channel. The device should raise an error if a media channel crosses a super channel...
            super-channel-parent leaf If the media channel is contained within a super channel this would specify the index of the super channel parent
            upper-frequency leaf The upper frequency for the spectrum defined by this media channel
         dest container Top-level container for media channel destination
            config container Configuration data for the media channel destination
               port-name leaf Reference to the corresponding node port
            state container Operational state data for the media channel destination
               port-name leaf Reference to the corresponding node port
         index leaf Reference to index number of the media channel
         source container Top-level container for media channel source
            config container Configuration data for the media channel source
               port-name leaf Reference to the corresponding node port
            state container Operational state data for the media channel source
               port-name leaf Reference to the corresponding node port
         spectrum-power-profile container Enclosing container for the list of values describing the target spectrum powers
            distribution list List of tuples describing the target spectrum power distribution
               config container Configuration data for target spectrum power
                  lower-frequency leaf Lower frequency of the specified target spectrum power
                  target-power leaf Target average power to achieve within the specified spectrum
                  upper-frequency leaf Upper frequency of the specified target spectrum power
               lower-frequency leaf Reference to the list key
               state container Operational state data for target spectrum power
                  lower-frequency leaf Lower frequency of the specified target spectrum power
                  target-power leaf Target average power to achieve within the specified spectrum
                  upper-frequency leaf Upper frequency of the specified target spectrum power
               upper-frequency leaf Reference to the list key
         state container Operational state data
            admin-status leaf Sets the admin status of the media channel
            ase-control-mode leaf Sets the ASE control mode for the media channel. The control mode defines the behavior of when and if ASE noise is injected on the media channel
            ase-injection-threshold leaf Defines the optical power threshold value which would indicate that ASE noise should be injected on the media channel. This is required if a threshold based ase-control-mode is configured
            ase-status leaf Status of injected ASE noise on the media channel
            attenuation-control-mode leaf Sets the attenuation control mode for the media channel. The control mode defines the behavior of how the attenuation across a media channel is set
            index leaf Identifier for the defined media channel
            lower-frequency leaf The lower frequency for the spectrum defined by this media channel
            name leaf The user supplied name of the media channel
            oper-status leaf Operational state of the media channel
            super-channel leaf True if the media channel is a super channel which contains multiple media channels within it. The contained media channels should fall within the boundaries of the super channel. The device should raise an error if a media channel crosses a super channel...
            super-channel-parent leaf If the media channel is contained within a super channel this would specify the index of the super channel parent
            upper-frequency leaf The upper frequency for the spectrum defined by this media channel
   port-spectrum-power-profiles container Enclosing container for wavelength-router port spectrum power profiles
      port list List of ports, keyed by port name
         config container Configuration data for each port
            name leaf Reference to system-supplied name of the wavelength-router port component.
         name leaf References the port name
         spectrum-power-profile container Enclosing container for the list of values describing the target spectrum powers
            distribution list List of tuples describing the target spectrum power distribution
               config container Configuration data for target spectrum power
                  lower-frequency leaf Lower frequency of the specified target spectrum power
                  target-power leaf Target average power to achieve within the specified spectrum
                  upper-frequency leaf Upper frequency of the specified target spectrum power
               lower-frequency leaf Reference to the list key
               state container Operational state data for target spectrum power
                  lower-frequency leaf Lower frequency of the specified target spectrum power
                  target-power leaf Target average power to achieve within the specified spectrum
                  upper-frequency leaf Upper frequency of the specified target spectrum power
               upper-frequency leaf Reference to the list key
         state container Operational state data for each port spectrum profile.
            name leaf Reference to system-supplied name of the wavelength-router port component.