netconfcentral logo

org-openroadm-common-optical-channel-types@2020-05-29



  module org-openroadm-common-optical-channel-types {

    yang-version 1;

    namespace
      "http://org/openroadm/common-optical-channel-types";

    prefix
      org-openroadm-common-optical-channel-types;

    organization "Open ROADM MSA";

    contact "OpenROADM.org";

    description
      "YANG definitions of common optical channel types.

 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
 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-03-29" {
      description "Version 5.0.0";
    }

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

    revision "2018-05-30" {
      description "Version 3.1.0";
    }

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


    identity optical-rate-identity {
      base 
      description
        "base for otsi and och idenity";
    }

    identity och-rate-identity {
      base optical-rate-identity;
      description
        "A unique och rate identification";
    }

    identity otsi-rate-identity {
      base optical-rate-identity;
      description
        "A unique OTSi rate identification";
    }

    identity foic-identity {
      base 
      description
        "A unique FOICx.k identification (G.709.3 FlexO-LR and
G.709.1 FlexO-SR)";
    }

    identity foic1.2 {
      base foic-identity;
      description
        "Applicable to the FlexO type defined in G.Sup58";
    }

    identity foic1.4 {
      base foic-identity;
      description
        "Applicable to the FlexO type defined in G.709.1 and G.709.3";
    }

    identity foic2.4 {
      base foic-identity;
      description
        "Applicable to the FlexO type defined in G.709.1";
    }

    identity foic2.8 {
      base foic-identity;
      description
        "Applicable to the FlexO type defined in G.Sup58";
    }

    identity foic3.6 {
      base foic-identity;
      description
        "Applicable to the FlexO type defined in future";
    }

    identity foic4.8 {
      base foic-identity;
      description
        "Applicable to the FlexO type defined in G.709.1";
    }

    identity foic4.16 {
      base foic-identity;
      description
        "Applicable to the FlexO type defined in G.Sup58";
    }

    identity R400G-otsi {
      base otsi-rate-identity;
      description
        "Applicable instance for otsi rate identity";
    }

    identity R300G-otsi {
      base otsi-rate-identity;
      description
        "Applicable instance for otsi rate identity";
    }

    identity R200G-otsi {
      base otsi-rate-identity;
      description
        "Applicable instance for otsi rate identity";
    }

    identity R200G {
      base och-rate-identity;
      description "Identity for 200G Rate";
    }

    identity R100G-otsi {
      base otsi-rate-identity;
      description
        "Applicable instance for otsi rate identity";
    }

    identity R100G {
      base och-rate-identity;
      description "Identity for 100G Rate";
    }

    identity R56G-foic-otsi {
      base otsi-rate-identity;
      description
        "Applicable instance for otsi rate identity";
    }

    identity R28G-foic-otsi {
      base otsi-rate-identity;
      description
        "Applicable instance for otsi rate identity";
    }

    identity R10.7G {
      base och-rate-identity;
      description "Identity for 10.7G Rate";
    }

    identity R11.1G {
      base och-rate-identity;
      description "Identity for 11.1G Rate";
    }

    typedef frequency-THz {
      type decimal64 {
        fraction-digits 8;
      }
      units "THz";
      description "Frequency value in THz.";
    }

    typedef frequency-GHz {
      type decimal64 {
        fraction-digits 5;
      }
      units "GHz";
      description "Frequency value in GHz.";
    }

    typedef wavelength-duplication-type {
      type enumeration {
        enum "one-per-srg" {
          value 1;
          description
            "The SRG cannot handle wavelength duplication. Attempting to provision a connection on this SRG that uses the same wavelength as an existing service will result in failure.";
        }
        enum "one-per-degree" {
          value 2;
          description
            "The SRG can handle wavelength duplication, but only one per degree. Attempting to provision a connection on this SRG that uses the same wavelength as an existing service will succeed, so long as the connections are not using the same degree.";
        }
      }
      description
        "One per srg is applied to C/D add/drop group
one per degree is applied to C/D/C add drop group";
    }

    typedef modulation-format {
      type enumeration {
        enum "bpsk" {
          value 0;
          description
            "binary phase-shift keying";
        }
        enum "dc-dp-bpsk" {
          value 1;
          description
            "DC dual-polarization binary phase-shift keying";
        }
        enum "qpsk" {
          value 2;
          description
            "quadrature phase-shift keying";
        }
        enum "dp-qpsk" {
          value 3;
          description
            "dual-polarization binary phase-shift keying";
        }
        enum "qam16" {
          value 4;
          description
            "quadrature amplitude modulation 16";
        }
        enum "dp-qam16" {
          value 5;
          description
            "dual-polarization quadrature amplitude modulation 16";
        }
        enum "dc-dp-qam16" {
          value 6;
          description
            "DC dual-polarization quadrature amplitude modulation 16";
        }
        enum "qam8" {
          value 7;
          description
            "quadrature amplitude modulation 8";
        }
        enum "dp-qam8" {
          value 8;
          description
            "dual-polarization quadrature amplitude modulation 8";
        }
        enum "dc-dp-qam8" {
          value 9;
          description
            "DC dual-polarization quadrature amplitude modulation 8";
        }
      }
      description "Modulation format";
    }

    typedef provision-mode-type {
      type enumeration {
        enum "explicit" {
          value 0;
        }
        enum "profile" {
          value 1;
        }
      }
      description
        "Provision Mode Type On Optical Channel";
    }
  }  // module org-openroadm-common-optical-channel-types