org-openroadm-srg

YANG definitions for an Add/Drop group in Network Model Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016...

  • Version: 2025-03-28

    org-openroadm-srg@2025-03-28


    
      module org-openroadm-srg {
    
        yang-version 1.1;
    
        namespace "http://org/openroadm/srg";
    
        prefix srg;
    
        import org-openroadm-common-optical-channel-types {
          prefix
            org-openroadm-common-optical-channel-types;
          revision-date "2025-03-28";
        }
        import ietf-network {
          prefix nd;
          revision-date "2018-02-26";
        }
        import ietf-network-topology {
          prefix nwt;
          revision-date "2018-02-26";
        }
        import org-openroadm-common-link-types {
          prefix
            org-openroadm-common-link-types;
          revision-date "2024-12-13";
        }
        import org-openroadm-common-state-types {
          prefix
            org-openroadm-common-state-types;
          revision-date "2019-11-29";
        }
        import org-openroadm-equipment-states-types {
          prefix
            org-openroadm-equipment-states-types;
          revision-date "2019-11-29";
        }
        import org-openroadm-common-types {
          prefix org-openroadm-common-types;
          revision-date "2025-03-28";
        }
    
        organization "OPEN ROADM MSA";
    
        contact "OpenROADM.org.";
    
        description
          "YANG definitions for an Add/Drop group in Network Model
    
    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 "2025-03-28" {
          description "Version 17.0";
        }
    
        revision "2024-12-13" {
          description "Version 16.1";
        }
    
        revision "2024-09-27" {
          description "Version 16.0";
        }
    
        revision "2023-05-26" {
          description "Version 13.1";
        }
    
        revision "2021-12-10" {
          description "Version 10.1";
        }
    
        revision "2021-09-24" {
          description "Version 10.0";
        }
    
        revision "2021-03-26" {
          description "Version 9.0";
        }
    
        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-09-28" {
          description "Version 4.0.0";
        }
    
        revision "2018-05-30" {
          description "Version 3.1.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-26" {
          description "Version 2.0";
        }
    
        revision "2016-10-14" {
          description "Version 1.2";
        }
    
    
        grouping srg-node-attributes {
          leaf srg-number {
            type uint16;
          }
    
          leaf max-pp {
            type uint32;
            description
              "Maximum number of add/drop port pairs in an SRG";
          }
    
          leaf current-provisioned-pp {
            type uint32;
            description
              "current provisioned number of port pair in a given SRG";
          }
    
          leaf wavelength-duplication {
            type org-openroadm-common-optical-channel-types:wavelength-duplication-type;
          }
    
          leaf-list supported-operational-modes {
            type string;
            description
              "defines the supported openroadm specifications";
          }
    
          uses srg-constraints;
        }  // grouping srg-node-attributes
    
        grouping srg-constraints {
          uses constraints-grp;
    
          uses capabilities;
    
          uses mc-profiles;
    
          list subgroup {
            key "subgroup-id";
            description
              "The list of SRG subgroups that make up the SRG";
            leaf subgroup-id {
              type uint16;
              description
                "The identifier for the SRG subgroup within the SRG";
            }
    
            leaf lifecycle-state {
              type org-openroadm-common-state-types:lifecycle-state;
              description
                "Lifecycle State of subgroup. Whether it is planned, deployed, in maintenance, etc.";
            }
    
            leaf operational-state {
              type org-openroadm-common-state-types:state;
            }
    
            leaf administrative-state {
              type org-openroadm-equipment-states-types:admin-states;
            }
    
            uses constraints-grp;
    
            uses capabilities;
    
            uses mc-profiles;
    
            leaf-list tp-list {
              type leafref {
                path "/nd:networks/nd:network/nd:node[nd:node-id=current()/../../../nd:node-id]/nwt:termination-point/nwt:tp-id";
              }
              description
                "The list of termination-point refs associated with the SRG subgroup";
            }
          }  // list subgroup
        }  // grouping srg-constraints
    
        grouping constraints-grp {
          container constraints {
            leaf min-slot-width {
              type org-openroadm-common-optical-channel-types:frequency-GHz;
              description
                "The minimum slot width in frequency-GHz";
            }
    
            leaf max-slot-width {
              type org-openroadm-common-optical-channel-types:frequency-GHz;
              description
                "The maximum slot width in frequency-GHz";
            }
    
            leaf min-input-psd {
              type org-openroadm-common-link-types:psd-dBm-50GHz;
              description
                "The minimum input PSD for a channel into the SRG/sub-SRG";
            }
    
            leaf max-input-psd {
              type org-openroadm-common-link-types:psd-dBm-50GHz;
              description
                "The maximum input PSD for a channel into the SRG/sub-SRG";
            }
    
            leaf target-input-psd {
              type org-openroadm-common-link-types:psd-dBm-50GHz;
              description
                "The provisioned target PSD to optimize the SRG/sub-SRG";
            }
    
            leaf psd-reference {
              type org-openroadm-common-types:psd-reference;
              default "mc-width";
              description
                "The PSD reference source for any PSD related attribute, either MC width or NMC width";
            }
    
            leaf port-count-limit {
              type uint32;
              description "The port count limit";
            }
    
            leaf max-composite-input-power {
              type org-openroadm-common-link-types:power-dBm;
              description
                "The maximum composite power that can be supported coming into the SRG/sub-SRG";
            }
    
            leaf max-total-bandwidth {
              type org-openroadm-common-optical-channel-types:frequency-GHz;
              description
                "The maximum total bandwidth that can be supported coming into or going out of the SRG/sub-SRG";
            }
    
            leaf available-composite-input-power {
              type org-openroadm-common-link-types:power-dBm;
              description
                "The remaining composite power add for the SRG/sub-SRG";
            }
    
            leaf available-total-bandwidth {
              type org-openroadm-common-optical-channel-types:frequency-GHz;
              description
                "The remaining total bandwidth for the SRG/sub-SRG";
            }
          }  // container constraints
        }  // grouping constraints-grp
    
        grouping capabilities {
          container capability {
            leaf min-input-psd {
              type org-openroadm-common-link-types:psd-dBm-50GHz;
              description
                "The minimum input PSD for a channel into the SRG/sub-SRG";
            }
    
            leaf max-input-psd {
              type org-openroadm-common-link-types:psd-dBm-50GHz;
              description
                "The maximum input PSD for a channel into the SRG/sub-SRG";
            }
    
            leaf psd-reference {
              type org-openroadm-common-types:psd-reference;
              default "mc-width";
              description
                "The PSD reference source for any PSD related attribute, either MC width or NMC width";
            }
    
            leaf max-composite-input-power {
              type org-openroadm-common-link-types:power-dBm;
              description
                "The maximum composite (total) power that can be supported coming into the SRG/sub-SRG";
            }
    
            leaf max-total-bandwidth {
              type org-openroadm-common-optical-channel-types:frequency-GHz;
              description
                "The maximum total bandwidth that can be supported coming into or going out of the SRG/sub-SRG";
            }
          }  // container capability
        }  // grouping capabilities
    
        grouping mc-profiles {
          list mc-profile {
            key "profile-name";
            leaf profile-name {
              type string;
              mandatory true;
            }
    
            leaf center-freq-granularity {
              type org-openroadm-common-optical-channel-types:frequency-GHz;
              default "50";
              config false;
              description
                "Granularity of allowed center frequencies. The base frequency for this computation is 193.1 THz (G.694.1)";
            }
    
            leaf min-edge-freq {
              type org-openroadm-common-optical-channel-types:frequency-THz;
              config false;
              description
                "Minimum edge frequency";
            }
    
            leaf max-edge-freq {
              type org-openroadm-common-optical-channel-types:frequency-THz;
              config false;
              description
                "Maximum edge frequency";
            }
    
            leaf slot-width-granularity {
              type org-openroadm-common-optical-channel-types:frequency-GHz;
              default "50";
              config false;
              description
                "Width of a slot measured in GHz";
            }
    
            leaf min-slot-width {
              type org-openroadm-common-optical-channel-types:frequency-GHz;
              description
                "The minimum slot width in frequency-GHz";
            }
    
            leaf max-slot-width {
              type org-openroadm-common-optical-channel-types:frequency-GHz;
              description
                "The maximum slot width in frequency-GHz";
            }
          }  // list mc-profile
        }  // grouping mc-profiles
      }  // module org-openroadm-srg
    

© 2024 YumaWorks, Inc. All rights reserved.