netconfcentral logo

org-openroadm-link@2020-05-29



  module org-openroadm-link {

    yang-version 1.1;

    namespace "http://org/openroadm/link";

    prefix link;

    import org-openroadm-equipment-states-types {
      prefix
        org-openroadm-equipment-states-types;
      revision-date "2019-11-29";
    }
    import org-openroadm-common-link-types {
      prefix
        org-openroadm-common-link-types;
      revision-date "2019-11-29";
    }
    import org-openroadm-common-node-types {
      prefix
        org-openroadm-common-node-types;
      revision-date "2019-11-29";
    }
    import org-openroadm-amplifier {
      prefix org-openroadm-amplifier;
      revision-date "2019-11-29";
    }
    import org-openroadm-network-types {
      prefix org-openroadm-network-types;
      revision-date "2020-05-29";
    }

    organization "Open ROADM MSA";

    contact "OpenROADM.org.";

    description
      "YANG definitions for an amplifier in Network Model


Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2017,
All other rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation and/or
  other materials provided with the distribution.
* Neither the Members of the Open ROADM MSA Agreement nor the names of its
  contributors may be used to endorse or promote products derived from this software
  without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.";

    revision "2020-05-29" {
      description "Version 7.1.0";
    }

    revision "2020-03-27" {
      description "Version 7.0.0";
    }

    revision "2019-11-29" {
      description "Version 6.1.0";
    }

    revision "2019-09-27" {
      description "Version 6.0.0";
    }

    revision "2019-05-31" {
      description "Version 5.1.0";
    }

    revision "2019-03-29" {
      description "Version 5.0.0";
    }

    revision "2018-11-30" {
      description "Version 4.1.0";
    }

    revision "2018-09-28" {
      description "Version 4.0.0";
    }

    revision "2018-03-30" {
      description "Version 3.0.0";
    }

    revision "2017-12-15" {
      description "Version 2.2";
    }

    revision "2017-09-29" {
      description "Version 2.1";
    }

    revision "2017-07-28" {
      description
        "Version 2.0.1 - added revision-date to imports";
    }

    revision "2017-06-17" {
      description "Version 2.0";
    }


    grouping span-attributes {
      leaf auto-spanloss {
        type boolean;
        default "true";
        description
          "Flag to enable/disable automatic spanloss measurement";
      }

      leaf spanloss-base {
        type org-openroadm-common-link-types:ratio-dB;
        description
          "Baseline ROADM span loss measured and accepted during
degree turn-up. May be re-set to current value after a fiber repair or change.";
      }

      leaf spanloss-current {
        type org-openroadm-common-link-types:ratio-dB;
        description
          "Current ROADM span loss measured and accepted during
degree turn-up. Updated periodically if auto-spanloss is enabled.";
      }

      leaf spanloss-last-measured {
        type org-openroadm-common-link-types:ratio-dB;
        description
          "Last measured ROADM span loss, may or may not have been accepted and pushed to the NE.";
      }

      leaf engineered-spanloss {
        type org-openroadm-common-link-types:ratio-dB;
        description
          "ROADM span loss provided by an external system";
      }

      list link-concatenation {
        key "SRLG-Id";
        leaf SRLG-Id {
          type uint32;
          description
            "unique identifier for SRLG";
        }

        leaf fiber-type {
          type enumeration {
            enum "smf" {
              value 0;
              description
                "Single Mode Fiber";
            }
            enum "eleaf" {
              value 1;
              description "ELEAF";
            }
            enum "oleaf" {
              value 2;
              description "OLEAF";
            }
            enum "dsf" {
              value 3;
              description "DSF";
            }
            enum "truewave" {
              value 4;
              description
                "TRUEWAVE Reduced Slope";
            }
            enum "truewavec" {
              value 5;
              description "TRUEWAVE Classic";
            }
            enum "nz-dsf" {
              value 6;
              description "NZ-DSF";
            }
            enum "ull" {
              value 7;
              description
                "Ultra Low Loss (ULL)";
            }
          }
        }

        leaf SRLG-length {
          type uint32;
          description
            "fiber length in meters";
        }

        leaf pmd {
          type org-openroadm-common-link-types:fiber-pmd;
          description "Total PMD";
        }
      }  // list link-concatenation
    }  // grouping span-attributes

    grouping amplified-link-attributes {
      list amplified-link {
        key "section-elt-number";
        description
          "defines the spans and the amplifier blocks of the amplified lines";
        leaf section-elt-number {
          type uint16;
          description
            "Id of the section element (whether it's a Span or an Amp)";
        }

        container section-element {
          choice section-element {
            container ila {
              uses org-openroadm-amplifier:amplifier-node-attributes;

              uses org-openroadm-network-types:type-variety-grp;

              leaf node-id {
                type org-openroadm-common-node-types:node-id-type;
                mandatory true;
                description
                  "Node id corresponding to the amplifier ";
              }

              leaf administrative-state {
                type org-openroadm-equipment-states-types:admin-states;
              }
            }  // container ila
            container span {
              uses link:span-attributes;

              leaf administrative-state {
                type org-openroadm-equipment-states-types:admin-states;
              }
            }  // container span
          }  // choice section-element
        }  // container section-element
      }  // list amplified-link
    }  // grouping amplified-link-attributes
  }  // module org-openroadm-link