Sync Common folder
[transportpce.git] / ordmodels / device / src / main / yang / org-openroadm-otn-common@2017-06-26.yang
diff --git a/ordmodels/device/src/main/yang/org-openroadm-otn-common@2017-06-26.yang b/ordmodels/device/src/main/yang/org-openroadm-otn-common@2017-06-26.yang
new file mode 100644 (file)
index 0000000..3270a5e
--- /dev/null
@@ -0,0 +1,160 @@
+module org-openroadm-otn-common {
+  namespace "http://org/openroadm/otn-common";
+  prefix org-openroadm-otn-common;
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions for common OTN interface atrtributes and types. 
+         
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+     AT&T Intellectual Property.  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.
+     
+     Also contains code components extracted from IETF Interfaces.  These code components 
+     are copyrighted and licensed as follows:
+     
+     Copyright (c) 2016 IETF Trust and the persons identified as the document authors. 
+     All rights reserved. 
+     
+     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating 
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of 
+     publication of this document. Please review these documents carefully, as they 
+     describe your rights and restrictions with respect to this document. Code Components 
+     extracted from this document must include Simplified BSD License text as described in
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as 
+     described in the Simplified BSD License.";
+
+  revision 2017-06-26 {
+    description
+      "Version 2.0";
+  }
+
+  grouping trail-trace {
+    leaf tx-sapi {
+      type string {
+        length "0 .. 15";
+      }
+      description
+        "The provisioned 15 character transmit trace SAPI. Implementations shall add the [0] field automatically per ITU-T G.709";
+    }
+    leaf tx-dapi {
+      type string {
+        length "0 .. 15";
+      }
+      description
+        "The provisioned 15 character transmit trace DAPI. Implementations shall add the [0] field automatically per ITU-T G.709";
+    }
+    leaf tx-operator {
+      type string {
+        length "0 .. 32";
+      }
+      description
+        "The provisioned 32 character Operator Specific field";
+    }
+    leaf accepted-sapi {
+      type string;
+      config false;
+      description
+        "The accepted SAPI recovered from the recieved multi-frame TTI field.
+         Received SAPI contains the receive data, minus the sapi[0] and any 0x00 padding at the end";
+    }
+    leaf accepted-dapi {
+      type string;
+      config false;
+      description
+        "The accepted DAPI recovered from the recieved multi-frame TTI field
+         Received DAPI contains the receive data, minus the dapi[0] and any 0x00 padding at the end";
+    }
+    leaf accepted-operator {
+      type string;
+      config false;
+      description
+        "The accepted Operator Specific field recovered from the recieved multi-frame TTI field";
+    }
+    leaf expected-sapi {
+      type string {
+        length "0 .. 15";
+      }
+      description
+        "The provisioned expected SAPI, to be compared with accepted TTI";
+    }
+    leaf expected-dapi {
+      type string {
+        length "0 .. 15";
+      }
+      description
+        "The provisioned expected DAPI, to be compared with accepted TTI";
+    }
+    leaf tim-act-enabled {
+      type boolean;
+      default "false";
+      description
+        "Enables TTI Mismatch consequent actions.";
+    }
+    leaf tim-detect-mode {
+      type enumeration {
+        enum "Disabled" {
+          description
+            "TTI is ignored";
+        }
+        enum "SAPI" {
+          description
+            "Expected SAPI is compared to the Accpeted TTI. Other TTI fields are ignored";
+        }
+        enum "DAPI" {
+          description
+            "Expected DAPI is compared to the Accpeted TTI. Other TTI fields are ignored";
+        }
+        enum "SAPI-and-DAPI" {
+          description
+            "Expected SAPI and Expected DAPI are compared to the Accpeted TTI. Operator specific TTI field is ignored";
+        }
+      }
+      default "Disabled";
+    }
+  }
+
+  grouping deg-threshold {
+    leaf degm-intervals {
+      type uint8 {
+        range "2 .. 10";
+      }
+      default "2";
+      description
+        "G.806 - Consecutive bad intervals required for declare dDEG";
+    }
+    leaf degthr-percentage {
+      type uint16 {
+        range "1 .. 10000";
+      }
+      default "100";
+      description
+        "Percentage of errored blocks required to declare an interval bad, in units of 0.01%";
+    }
+  }
+}