org-openroadm-operational-mode-catalog

YANG definitions of common attributes. Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, All other rig...

  • Version: 2023-12-08

    org-openroadm-operational-mode-catalog@2023-12-08


    
      module org-openroadm-operational-mode-catalog {
    
        yang-version 1;
    
        namespace
          "http://org/openroadm/operational-mode-catalog";
    
        prefix
          org-openroadm-operational-mode-catalog;
    
        import org-openroadm-common-optical-channel-types {
          prefix
            org-openroadm-common-optical-channel-types;
          revision-date "2023-05-26";
        }
        import org-openroadm-common-link-types {
          prefix
            org-openroadm-common-link-types;
          revision-date "2019-11-29";
        }
        import org-openroadm-common-types {
          prefix org-openroadm-common-types;
          revision-date "2023-12-08";
        }
    
        organization "Open ROADM MSA";
    
        contact "OpenROADM.org";
    
        description
          "YANG definitions of common attributes.
    
     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 "2023-12-08" {
          description "Version 14.1";
        }
    
        revision "2023-09-29" {
          description "Version 14.0";
        }
    
        revision "2023-05-26" {
          description "Version 13.1";
        }
    
        revision "2023-03-31" {
          description "Version 13.0";
        }
    
        revision "2022-12-09" {
          description "Version 12.1";
        }
    
        revision "2022-09-30" {
          description "Version 12.0";
        }
    
        revision "2022-05-27" {
          description "Version 11.1";
        }
    
        revision "2022-03-25" {
          description "Version 11.0";
        }
    
        revision "2021-12-10" {
          description "Version 10.1";
        }
    
        revision "2021-09-24" {
          description "Version 10";
        }
    
    
        typedef impairment-type {
          type enumeration {
            enum "CD-ps/nm" {
              value 0;
            }
            enum "PDL-dB" {
              value 1;
            }
            enum "PMD-ps" {
              value 2;
            }
            enum "power-dBm" {
              value 3;
            }
            enum "cross-talk-total-power-dB" {
              value 4;
            }
            enum
              "colorless-drop-adjacent-channel-crosstalk-GHz" {
              value 5;
            }
          }
          description
            "definition of impairment type and unit used in penaty list";
        }
    
        grouping operational-mode-grid-parameters {
          description
            "main parameters required to describe grid usage";
          leaf min-central-frequency {
            type org-openroadm-common-optical-channel-types:frequency-THz;
            mandatory true;
            description
              "min supported frequency";
          }
    
          leaf max-central-frequency {
            type org-openroadm-common-optical-channel-types:frequency-THz;
            mandatory true;
            description
              "max supported frequency";
          }
    
          leaf central-frequency-granularity {
            type org-openroadm-common-optical-channel-types:frequency-GHz;
            mandatory true;
            description
              "granularity supported for the central frequency setting";
          }
    
          leaf min-spacing {
            type org-openroadm-common-optical-channel-types:frequency-GHz;
            mandatory true;
            description
              "minimum spacing required between 2 channels";
          }
        }  // grouping operational-mode-grid-parameters
    
        grouping operational-mode-roadm-base-parameters {
          description
            "main parameters used to qualify amplifier and ROADM (express/add/drop)";
          leaf per-channel-Pin-min {
            type org-openroadm-common-link-types:ratio-dB;
            description "minimum input power";
          }
    
          leaf per-channel-Pin-max {
            type org-openroadm-common-link-types:ratio-dB;
            description "maximum output power";
          }
    
          leaf max-introduced-pdl {
            type org-openroadm-common-link-types:ratio-dB;
            description
              "polarization dependent gain/loss";
          }
    
          leaf max-introduced-dgd {
            type decimal64 {
              fraction-digits 2;
            }
            units "ps/nm";
            description
              "Maximum diferential group delay";
          }
    
          leaf max-introduced-cd {
            type decimal64 {
              fraction-digits 2;
            }
            units "ps";
            description
              "Maximum introduced chromatic dispersion";
          }
        }  // grouping operational-mode-roadm-base-parameters
    
        grouping polynomial-fit {
          description
            "polynomial fit used to model noise mask";
          container osnr-polynomial-fit {
            description
              "describe the osnr contribution of amplifier/roadm
    OSNR (dB/0.1nm) = A*Pin^3+B*Pin^2+C*Pin+D, Pin (dBm) ";
            leaf A {
              type decimal64 {
                fraction-digits 8;
              }
              description "A*Pin^3";
            }
    
            leaf B {
              type decimal64 {
                fraction-digits 8;
              }
              description "B*Pin^2";
            }
    
            leaf C {
              type decimal64 {
                fraction-digits 8;
              }
              description "C*Pin";
            }
    
            leaf D {
              type decimal64 {
                fraction-digits 8;
              }
              description "Constant";
            }
          }  // container osnr-polynomial-fit
        }  // grouping polynomial-fit
    
        grouping power-mask {
          description
            "describes how power shall be set according preceeding span loss";
          list mask-power-vs-pin {
            key "lower-boundary upper-boundary";
            description
              "for power range provides C and D parameter : Pout[50GHz BW] (dBm) = C*span-loss (dBm)+ D";
            leaf lower-boundary {
              type uint32;
              description
                "defines the lower Power boundary for which C & Dparameters apply";
            }
    
            leaf upper-boundary {
              type uint32;
              description
                "defines the upper Power boundary for which C & Dparameters apply";
            }
    
            leaf C {
              type decimal64 {
                fraction-digits 8;
              }
              description "C*span-loss";
            }
    
            leaf D {
              type decimal64 {
                fraction-digits 8;
              }
              description "Constant";
            }
    
            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)";
                }
              }
              description
                "enumeration of the different existing fiber type";
            }
          }  // list mask-power-vs-pin
        }  // grouping power-mask
    
        grouping operational-mode-roadm-add-parameters {
          description
            "includes parameters to be used for specification modeling";
          container Add {
            description
              "add block-specification";
            list add-openroadm-operational-mode {
              key "openroadm-operational-mode-id";
              description
                "defines the openroadm operational mode pointing to an official specification ";
              leaf openroadm-operational-mode-id {
                type string;
                description
                  "openroadm operational mode which points to a specific spreadsheet of optical specifications";
              }
    
              leaf incremental-osnr {
                type org-openroadm-common-link-types:ratio-dB;
                description
                  "incremental osnr considering noisless input at 0dBm";
              }
    
              uses operational-mode-roadm-base-parameters;
    
              uses power-mask;
            }  // list add-openroadm-operational-mode
          }  // container Add
        }  // grouping operational-mode-roadm-add-parameters
    
        grouping operational-mode-roadm-drop-parameters {
          description
            "includes parameters to be used for specification modeling";
          container Drop {
            description
              "drop block-specification";
            list openroadm-operational-mode {
              key "openroadm-operational-mode-id";
              description
                "defines the openroadm operational mode pointing to an official specification ";
              leaf openroadm-operational-mode-id {
                type string;
                description
                  "openroadm operational mode which points to a specific spreadsheet of optical specifications";
              }
    
              uses operational-mode-roadm-base-parameters;
    
              uses polynomial-fit;
    
              leaf per-channel-Pout-min {
                type org-openroadm-common-link-types:ratio-dB;
                description
                  "Minimum output power";
              }
    
              leaf per-channel-Pout-max {
                type org-openroadm-common-link-types:ratio-dB;
                description
                  "Maximum output power";
              }
            }  // list openroadm-operational-mode
          }  // container Drop
        }  // grouping operational-mode-roadm-drop-parameters
    
        grouping operational-mode-roadm-express-parameters {
          description
            "includes parameters to be used for specification modeling";
          container Express {
            description "Express specifications";
            list openroadm-operational-mode {
              key "openroadm-operational-mode-id";
              description
                "defines the openroadm operational mode pointing to an official specification ";
              leaf openroadm-operational-mode-id {
                type string;
                description
                  "openroadm operational mode which points to a specific spreadsheet of optical specifications";
              }
    
              uses operational-mode-roadm-base-parameters;
    
              uses polynomial-fit;
    
              uses power-mask;
            }  // list openroadm-operational-mode
          }  // container Express
        }  // grouping operational-mode-roadm-express-parameters
    
        grouping operational-mode-amplifier-parameters {
          description
            "includes parameters to be used for specification modeling";
          container Amplifier {
            description
              "drop block-specification";
            list openroadm-operational-mode {
              key "openroadm-operational-mode-id";
              description
                "defines the openroadm operational mode pointing to an official specification ";
              leaf openroadm-operational-mode-id {
                type string;
                description
                  "openroadm operational mode which points to a specific spreadsheet of optical specifications";
              }
    
              uses operational-mode-roadm-base-parameters;
    
              uses polynomial-fit;
    
              uses power-mask;
    
              leaf min-gain {
                type org-openroadm-common-link-types:ratio-dB;
                description
                  "minimum gain of nominal gain range";
              }
    
              leaf max-gain {
                type org-openroadm-common-link-types:ratio-dB;
                description
                  "maximum gain of nominal gain range";
              }
    
              leaf max-extended-gain {
                type org-openroadm-common-link-types:ratio-dB;
                description
                  "maximum gain of extended gain range";
              }
    
              list mask-gain-ripple-vs-tilt {
                key "lower-boundary upper-boundary";
                description
                  "for gain ripple, provides C and D parameter : Max-gain-ripple (dB) = C*target-tilt (dB)+ D.
     Tilt applies to extended gain range";
                leaf lower-boundary {
                  type int32;
                  description
                    "defines the lower tilt boundary for which C & Dparameters apply";
                }
    
                leaf upper-boundary {
                  type int32;
                  description
                    "defines the upper tilt boundary for which C & Dparameters apply";
                }
    
                leaf C {
                  type decimal64 {
                    fraction-digits 2;
                  }
                  description "C*span-loss";
                }
    
                leaf D {
                  type decimal64 {
                    fraction-digits 2;
                  }
                  description "Constant";
                }
              }  // list mask-gain-ripple-vs-tilt
            }  // list openroadm-operational-mode
          }  // container Amplifier
        }  // grouping operational-mode-amplifier-parameters
    
        grouping operational-mode-transponder-parameters {
          description
            "describes parameters used to qualify xponders line performances";
          leaf baud-rate {
            type decimal64 {
              fraction-digits 1;
            }
            units "Gbauds";
            description "baud-rate in Gbauds";
          }
    
          leaf line-rate {
            type decimal64 {
              fraction-digits 1;
            }
            units "Gbps";
            mandatory true;
            description
              "line coding rate in Gbps";
          }
    
          leaf modulation-format {
            type org-openroadm-common-optical-channel-types:modulation-format;
            mandatory true;
            description
              "modulation format as defined in openroadm";
          }
    
          leaf min-TX-osnr {
            type org-openroadm-common-link-types:ratio-dB;
            mandatory true;
            description
              "Defined in 0.1 nm @ 193.6 Thz bandwidth";
          }
    
          list TX-OOB-osnr {
            key "WR-openroadm-operational-mode-id";
            description
              "describe noise contribution associated with a specific transponder
    according to the multiplexing architecture of the SRG it is connected to";
            leaf WR-openroadm-operational-mode-id {
              type string;
              description
                "openroadm operational mode of the multiplexor which the transponder is connected to";
            }
    
            leaf min-OOB-osnr-multi-channel-value {
              type org-openroadm-common-link-types:ratio-dB;
              mandatory true;
              description
                "Measured outside +/-150GHz BW, including SMSR, and 15 channels worst case contribution";
            }
    
            leaf min-OOB-osnr-single-channel-value {
              type org-openroadm-common-link-types:ratio-dB;
              mandatory true;
              description
                "Measured outside +/-150GHz BW, excluding SMSR, single channel";
            }
          }  // list TX-OOB-osnr
    
          list output-power-range {
            key "WR-openroadm-operational-mode-id";
            description
              "describe output power range associated with a specific transponder
    according to the multiplexing architecture of the SRG it is connected to";
            leaf WR-openroadm-operational-mode-id {
              type string;
              description
                "openroadm operational mode of the multiplexor which the transponder is connected to";
            }
    
            leaf min-output-power {
              type org-openroadm-common-link-types:ratio-dB;
              mandatory true;
              description
                "minimum supported output-power";
            }
    
            leaf max-output-power {
              type org-openroadm-common-link-types:ratio-dB;
              mandatory true;
              description
                "maximum supported output-power";
            }
          }  // list output-power-range
    
          leaf min-RX-osnr-tolerance {
            type org-openroadm-common-link-types:ratio-dB;
            mandatory true;
            description
              "Defined in 0.1 nm @ 193.6 Thz bandwidth";
          }
    
          leaf min-input-power-at-RX-osnr {
            type org-openroadm-common-link-types:ratio-dB;
            mandatory true;
            description
              "minimum input-power for given osnr tolerance";
          }
    
          leaf max-input-power {
            type org-openroadm-common-link-types:ratio-dB;
            mandatory true;
            description
              "maximum supported intput-power causing either an overload or the damage of the receiver";
          }
    
          leaf channel-width {
            type org-openroadm-common-optical-channel-types:frequency-GHz;
            description
              "-20 dB channel width, required for target power calculation";
          }
    
          leaf fec-type {
            type identityref {
              base org-openroadm-common-types:fec-identity;
            }
            description "fec type";
          }
    
          leaf min-roll-off {
            type decimal64 {
              fraction-digits 2;
            }
            units "dB/decade";
            description
              "Minimum Roll-off factor";
          }
    
          leaf max-roll-off {
            type decimal64 {
              fraction-digits 2;
            }
            units "dB/decade";
            description
              "Maximum Roll-off factor";
          }
    
          list penalties {
            key "parameter-and-unit up-to-boundary";
            description
              "Penalties includes contributions from different impairments including
    cd, pmd, low RX Power, pdl,...";
            leaf parameter-and-unit {
              type impairment-type;
              description
                "impairment leading to the penalty";
            }
    
            leaf up-to-boundary {
              type decimal64 {
                fraction-digits 2;
              }
              description
                "defines the upper (for positive values) and lower (for negative values)
    limit for which the penalty value is valid";
            }
    
            leaf penalty-value {
              type org-openroadm-common-link-types:ratio-dB;
              description
                "defined penalty in dB";
            }
          }  // list penalties
        }  // grouping operational-mode-transponder-parameters
    
        grouping operational-mode-catalog {
          description
            "this catalog is used to store data related to operational modes and related specifications
    for OpenROADM operational modes this allows translating official specifications
    for other Operational modes this provides the controller with the specifications
    of bookended/alien transponders
    The catalog shall be fed using operational-mode-setting rpc";
          container openroadm-operational-modes {
            description
              "All operational modes corresponding to official OpenROAM specifications";
            container grid-parameters {
              description
                "Parameters associated with global spectrum use";
              uses operational-mode-grid-parameters;
            }  // container grid-parameters
    
            container xponders-pluggables {
              presence
                "Container includes mandatory nodes but may however not be present
    in the rpc used to feed the catalog (merge operation)";
              description
                "Parameters associated with xponders and pluggables";
              list xponder-pluggable-openroadm-operational-mode {
                key "openroadm-operational-mode-id";
                description
                  "defines the openroadm operational mode pointing to an official specification ";
                leaf openroadm-operational-mode-id {
                  type string;
                  description
                    "openroadm operational mode which points to a specific spreadsheet of optical specifications";
                }
    
                uses operational-mode-transponder-parameters;
              }  // list xponder-pluggable-openroadm-operational-mode
            }  // container xponders-pluggables
    
            container roadms {
              description
                "Parameters associated with roadms";
              uses operational-mode-roadm-express-parameters;
    
              uses operational-mode-roadm-add-parameters;
    
              uses operational-mode-roadm-drop-parameters;
            }  // container roadms
    
            container amplifiers {
              description
                "Parameters associated with amplifiers";
              uses operational-mode-amplifier-parameters;
            }  // container amplifiers
          }  // container openroadm-operational-modes
    
          container specific-operational-modes {
            description
              "All specific operational modes corresponding to bookended or alien units";
            list specific-operational-mode {
              key "operational-mode-id";
              description
                "List of all declared specific operationnal modes";
              leaf operational-mode-id {
                type string;
                description
                  "unique identifier which identifies the operational mode";
              }
    
              leaf originator {
                type string;
                description
                  "identifies the system vendor which originated associated specification";
              }
    
              leaf sponsor {
                type string;
                description
                  "identifies the service provider which reviewed and sponsored associated specification";
              }
    
              uses operational-mode-grid-parameters;
    
              uses operational-mode-transponder-parameters;
    
              leaf configurable-output-power {
                type boolean;
                mandatory true;
                description
                  "defines whether the output power can be set or not";
              }
            }  // list specific-operational-mode
          }  // container specific-operational-modes
        }  // grouping operational-mode-catalog
      }  // module org-openroadm-operational-mode-catalog
    

© 2023 YumaWorks, Inc. All rights reserved.