+++ /dev/null
-module org-openroadm-network-types {
- yang-version 1.1;
- namespace "http://org/openroadm/network/types";
- prefix nt;
-
- import ietf-yang-types {
- prefix yang;
- revision-date 2013-07-15;
- }
- import org-openroadm-common-optical-channel-types {
- prefix org-openroadm-common-optical-channel-types;
- revision-date 2021-12-10;
- }
- import org-openroadm-port-types {
- prefix org-openroadm-port-types;
- revision-date 2020-12-11;
- }
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2021-12-10;
- }
-
- organization
- "OPEN ROADM MSA";
- contact
- "www.OpenROADM.org.";
- description
- "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 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-12-11 {
- description
- "Version 8.1";
- }
- 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-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";
- }
-
- typedef openroadm-node-type {
- type enumeration {
- enum ROADM {
- value 1;
- }
- enum DEGREE {
- value 11;
- }
- enum SRG {
- value 12;
- }
- enum XPONDER {
- value 3;
- }
- enum EXT-PLUGGABLE {
- value 4;
- }
- enum TPDR {
- value 13;
- }
- enum MUXPDR {
- value 14;
- }
- enum REGEN {
- value 15;
- }
- enum REGEN-UNI {
- value 16;
- }
- enum SWITCH {
- value 17;
- }
- }
- }
-
- typedef openroadm-tp-type {
- type enumeration {
- enum DEGREE-TX-TTP {
- value 1;
- }
- enum DEGREE-RX-TTP {
- value 2;
- }
- enum DEGREE-TX-CTP {
- value 3;
- }
- enum DEGREE-RX-CTP {
- value 4;
- }
- enum SRG-TX-CP {
- value 5;
- }
- enum SRG-RX-CP {
- value 6;
- }
- enum SRG-TXRX-PP {
- value 7;
- }
- enum SRG-RX-PP {
- value 8;
- }
- enum SRG-TX-PP {
- value 9;
- }
- enum XPONDER-NETWORK {
- value 10;
- }
- enum XPONDER-CLIENT {
- value 11;
- }
- enum EXT-PLUGGABLE-TP {
- value 12;
- }
- enum DEGREE-TXRX-TTP {
- value 13;
- }
- enum SRG-TXRX-CP {
- value 14;
- }
- enum XPONDER-PORT {
- value 15;
- }
- enum DEGREE-TXRX-CTP {
- value 16;
- }
- }
- }
-
- typedef openroadm-link-type {
- type enumeration {
- enum EXPRESS-LINK {
- value 1;
- }
- enum ADD-LINK {
- value 2;
- }
- enum DROP-LINK {
- value 3;
- }
- enum ROADM-TO-ROADM {
- value 4;
- }
- enum XPONDER-INPUT {
- value 5;
- }
- enum XPONDER-OUTPUT {
- value 6;
- }
- enum OTN-LINK {
- value 7;
- }
- }
- }
-
- typedef openroadm-node-connection-status {
- type enumeration {
- enum CONNECTED {
- value 1;
- }
- enum CONNECTING {
- value 2;
- }
- enum UNABLE-TO-CONNECT {
- value 3;
- }
- }
- }
-
- grouping available-freq-map {
- list avail-freq-maps {
- key "map-name";
- description
- "Available spectrum information";
- leaf map-name {
- type string;
- description
- "Identifier of the map. For C-band, recommend map-name = 'cband'";
- }
- leaf start-edge-freq {
- type org-openroadm-common-optical-channel-types:frequency-THz;
- description
- "Starting edge frequency (min frequency) for the frequency map. For C-band, the recommendation is start-edge-freq = 191.325 THz";
- }
- leaf freq-map-granularity {
- type org-openroadm-common-optical-channel-types:frequency-GHz;
- description
- "frequency granularity of each bit in the bitmap. For C-band, the recommendation is freq-map-granularity = 6.25 GHz";
- }
- leaf effective-bits {
- type uint16;
- description
- "Number of effective bits in the frequency bitmap. Note the freq-map bitmap will be padded with 0 for byte alignment.";
- }
- leaf freq-map {
- type binary;
- description
- "Frequency bitmap. Setting the value of the binary bit to 1 indicates that the corresponding spectrum is available and
- setting to 0 indicates the corresponding spectrum is unavailable (used or unsupported).";
- }
- }
- }
-
- grouping wavelengths {
- leaf index {
- type int32;
- description
- "Index should be related to the frequency based on the formula 193.1 + index * .00625 THz";
- }
- uses flex-wave;
- }
-
- grouping flex-wave {
- leaf frequency {
- type org-openroadm-common-optical-channel-types:frequency-THz;
- config true;
- description
- "Center Frequency in THz";
- }
- leaf width {
- type org-openroadm-common-optical-channel-types:frequency-GHz;
- config true;
- description
- "Frequency width in GHz.";
- }
- }
-
- grouping type-variety-grp {
- leaf type-variety {
- type string;
- config true;
- description
- "Equipment type variety defined by the Open ROADM MSA or by the vendor for bookending applications.
- This field is used by external path computation tools as a reference in a catalog to get additional
- information about the equipment’s optical capabilities.";
- }
- }
-
- grouping xpdr-tp-supported-interfaces {
- list supported-interface-capability {
- key "if-cap-type";
- description
- "Supported interface capability on the port.";
- leaf if-cap-type {
- type identityref {
- base org-openroadm-port-types:supported-if-capability;
- }
- description
- "Interface type/hierarchy/rate supported on this port";
- }
- }
- }
-
- grouping node-due-date-list {
- list due-dates {
- key "id";
- leaf id {
- type uint16;
- }
- leaf start-date {
- type yang:date-and-time;
- description
- "date and time node will begin maintenance status or date when node is planned";
- }
- leaf end-date {
- type yang:date-and-time;
- description
- "date and time node will end maintenance or date when node is deployed";
- }
- }
- }
-
- grouping link-concatenation {
- list link-concatenation {
- key "SRLG-Id";
- leaf SRLG-Id {
- type uint32;
- description
- "unique identifier for SRLG";
- }
- leaf SRLG-length {
- type decimal64 {
- fraction-digits 2;
- }
- description
- "Fiber length in desired distance unit of measure";
- }
- }
- }
-
- grouping SRLG-list{
- list SRLG-list {
- key "SRLG-Id";
- description
- "List of all SRLG-Ids. Controller will be responsible to maintain completeness of SRLG-Ids by doing union of
- internal and external SRLG information.";
- leaf SRLG-Id {
- type uint32;
- description
- "unique identifier for SRLG";
- }
- leaf SRLG-name {
- type string;
- description
- "Name of the SRLG";
- }
- leaf SRLG-type {
- type org-openroadm-common-types:SRLG-type;
- description
- "Type of SRLG, Site SRLG, Node SRLG, Fiber SRLG or Link SRLG";
- }
- leaf SRLG-length {
- type decimal64 {
- fraction-digits 2;
- }
- description
- "Fiber length in desired distance unit of measure";
- }
- }
- }
-
- grouping future-SRLGs {
- list future-SRLGs {
- key "start-date";
- description
- "Start date represents end date for currently active SRLGs. Start date will represent start date for planned SRLGs";
- leaf start-date {
- type yang:date-and-time;
- }
- }
- }
-}