Sync Common folder
[transportpce.git] / ordmodels / common / src / main / yang / org-openroadm-pm-types@2017-12-15.yang
diff --git a/ordmodels/common/src/main/yang/org-openroadm-pm-types@2017-12-15.yang b/ordmodels/common/src/main/yang/org-openroadm-pm-types@2017-12-15.yang
new file mode 100644 (file)
index 0000000..a7230b1
--- /dev/null
@@ -0,0 +1,483 @@
+module org-openroadm-pm-types {
+  namespace "http://org/openroadm/pm-types";
+  prefix org-openroadm-pm-types;
+
+  organization
+    "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions of performance management 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";
+
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-06-26 {
+    description
+      "Version 2.0";
+  }
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  typedef pm-granularity {
+    type enumeration {
+      enum "notApplicable" {
+        value 1;
+        description
+          "This is for total statistic counters on devices that support
+              them.";
+      }
+      enum "15min" {
+        value 2;
+      }
+      enum "24Hour" {
+        value 3;
+      }
+    }
+    description
+      "Granularity of PM bin";
+  }
+
+  typedef pm-data-type {
+    type union {
+      type uint64;
+      type int64;
+      type decimal64 {
+        fraction-digits 2;
+      }
+      type decimal64 {
+        fraction-digits 17;
+      }
+    }
+  }
+
+  typedef validity {
+    type enumeration {
+      enum "complete" {
+        value 1;
+      }
+      enum "partial" {
+        value 2;
+      }
+      enum "suspect" {
+        value 3;
+      }
+    }
+    description
+      "Validity of data";
+  }
+
+  typedef pm-names-enum {
+    type enumeration {
+      enum "vendorExtension" {
+        value 1;
+        description
+          "vendor extension";
+      }
+      enum "bitErrorRate" {
+        value 2;
+        description
+          "Bit error rate (BER)";
+      }
+      enum "opticalPowerOutput" {
+        value 3;
+        description
+          "Optical Power Output (OPOUT-OTS, OPOUT-OMS, OPT-OCH). Total optical power includes Variable Optical Attenuator (VOA) attenuation";
+      }
+      enum "opticalReturnLoss" {
+        value 4;
+        description
+          "Optical Return Loss (ORL-OTS) - at MW port(s) B";
+      }
+      enum "opticalPowerInput" {
+        value 5;
+        description
+          "Optical Power Input (OPIN-OTS, OPIN-OMS, OPR-OCH). Total optical power";
+      }
+      enum "codeViolations" {
+        value 8;
+        description
+          "Code Violations (CV)";
+      }
+      enum "erroredSeconds" {
+        value 9;
+        description
+          "Errored Seconds (ES)";
+      }
+      enum "severelyErroredSeconds" {
+        value 10;
+        description
+          "Severely Errored Seconds (SES)";
+      }
+      enum "unavailableSeconds" {
+        value 11;
+        description
+          "Unavailable Seconds (UAS)";
+      }
+      enum "inFrames" {
+        value 12;
+        description
+          "In frames (INFRAMES-E)";
+      }
+      enum "inFramesErrored" {
+        value 13;
+        description
+          "In frames errored (INFRAMESERR-E)";
+      }
+      enum "outFrames" {
+        value 14;
+        description
+          "Out frames (OUTFRAMES-E)";
+      }
+      enum "erroredSecondsEthernet" {
+        value 15;
+        description
+          "Errored Seconds Ethernet (ES-E)";
+      }
+      enum "severelyErroredSecondsEthernet" {
+        value 16;
+        description
+          "Severly Errored Seconds, Ethernet (SES-E)";
+      }
+      enum "unavailableSecondsEthernet" {
+        value 17;
+        description
+          "Unavailable Seconds, Ethernet (UAS-E)";
+      }
+      enum "erroredBlockCount" {
+        value 18;
+        description
+          "Errored block count";
+      }
+      enum "delay" {
+        value 19;
+        description
+          "Number of frames between a DMValue toggle event and the received DMp signal value toggle event";
+      }
+      enum "defectSeconds" {
+        value 20;
+        description
+          "Defect Seconds (DS)";
+      }
+      enum "backwardIncomingAlignmentError" {
+        value 21;
+        description
+          "Backward Incoming Alignment Error (BIAE)";
+      }
+      enum "incomingAlignmentError" {
+        value 22;
+        description
+          "Incoming Alignment Error (IAE)";
+      }
+      enum "opticalPowerOutputMin" {
+        value 23;
+        description
+          "Minimum Optical Power Output (OPOUT-OTS). Total optical power includes Variable Optical Attenuator (VOA) attenuation";
+      }
+      enum "opticalPowerOutputMax" {
+        value 24;
+        description
+          "Maximum Optical Power Output (OPOUT-OTS). Total optical power includes Variable Optical Attenuator (VOA) attenuation";
+      }
+      enum "opticalPowerOutputAvg" {
+        value 25;
+        description
+          "Average Optical Power Output (OPOUT-OTS). Total optical power includes Variable Optical Attenuator (VOA) attenuation";
+      }
+      enum "opticalPowerInputMin" {
+        value 26;
+        description
+          "Minimum Optical Power Input (OPIN-OTS). Total optical power";
+      }
+      enum "opticalPowerInputMax" {
+        value 27;
+        description
+          "Maximum Optical Power Input (OPIN-OTS). Total optical power";
+      }
+      enum "opticalPowerInputAvg" {
+        value 28;
+        description
+          "Average Optical Power Input (OPIN-OTS). Total optical power";
+      }
+      enum "opticalPowerOutputOSC" {
+        value 29;
+        description
+          "OSC Optical Power Output (OPT-OSC). OSC Transmit power on MW port";
+      }
+      enum "opticalPowerOutputOSCMin" {
+        value 30;
+        description
+          "Minimum OSC Optical Power Output (OPT-OSC). OSC Transmit power on MW port";
+      }
+      enum "opticalPowerOutputOSCMax" {
+        value 31;
+        description
+          "Maximum OSC Optical Power Output (OPT-OSC). OSC Transmit power on MW port";
+      }
+      enum "opticalPowerOutputOSCAvg" {
+        value 32;
+        description
+          "Average OSC Optical Power Output (OPT-OSC). OSC Transmit power on MW port";
+      }
+      enum "opticalPowerInputOSC" {
+        value 33;
+        description
+          "OSC Optical Power Input (OPR-OSC). OSC Receive power on MW port";
+      }
+      enum "opticalPowerInputOSCMin" {
+        value 34;
+        description
+          "Minimum OSC Optical Power Input (OPR-OSC). OSC Receive power on MW port";
+      }
+      enum "opticalPowerInputOSCMax" {
+        value 35;
+        description
+          "Maximum OSC Optical Power Input (OPR-OSC). OSC Receive power on MW port";
+      }
+      enum "opticalPowerInputOSCAvg" {
+        value 36;
+        description
+          "Average OSC Optical Power Input (OPR-OSC). OSC Receive power on MW port";
+      }
+      enum "preFECCorrectedErrors" {
+        value 37;
+        description
+          "pFEC corrected Errors";
+      }
+      enum "totalOpticalPowerInput" {
+        value 38;
+        description
+          "Total Optical Power Input.";
+      }
+      enum "totalOpticalPowerInputMin" {
+        value 39;
+        description
+          "Minumun Total Optical Power Input.";
+      }
+      enum "totalOpticalPowerInputMax" {
+        value 40;
+        description
+          "Maximum Total Optical Power Input.";
+      }
+      enum "totalOpticalPowerInputAvg" {
+        value 41;
+        description
+          "Average Total Optical Power Input.";
+      }
+      enum "FECCorrectableBlocks" {
+        value 42;
+        description
+          "FEC Correctable Blocks.";
+      }
+      enum "FECUncorrectableBlocks" {
+        value 43;
+        description
+          "FEC Uncorrectable Blocks.";
+      }
+      enum "BIPErrorCounter" {
+        value 56;
+        description
+          "BIP Error Counter";
+      }
+      enum "protectionSwitchingCount" {
+        value 57;
+        description
+          "Protection Switching Count (PSC)";
+      }
+      enum "protectionSwitchingDuration" {
+        value 58;
+        description
+          "Protection Switching Duration in seconds (PSD)";
+      }
+      enum "erroredBlockCountTCM1-up" {
+        value 59;
+        description
+          "errored Blocks Count on TCM1 up direction.";
+      }
+      enum "erroredBlockCountTCM2-up" {
+        value 60;
+        description
+          "errored Blocks Count on TCM2 up direction.";
+      }
+      enum "erroredBlockCountTCM3-up" {
+        value 61;
+        description
+          "errored Blocks Count on TCM3 up direction.";
+      }
+      enum "erroredBlockCountTCM4-up" {
+        value 62;
+        description
+          "errored Blocks Count on TCM4 up direction.";
+      }
+      enum "erroredBlockCountTCM5-up" {
+        value 63;
+        description
+          "errored Blocks Count on TCM5 up direction.";
+      }
+      enum "erroredBlockCountTCM6-up" {
+        value 64;
+        description
+          "errored Blocks Count on TCM6 up direction.";
+      }
+      enum "delayTCM1-up" {
+        value 65;
+        description
+          "Delay on TCM1 up direction.";
+      }
+      enum "delayTCM2-up" {
+        value 66;
+        description
+          "Delay on TCM2 up direction.";
+      }
+      enum "delayTCM3-up" {
+        value 67;
+        description
+          "Delay on TCM3 up direction.";
+      }
+      enum "delayTCM4-up" {
+        value 68;
+        description
+          "Delay on TCM4 up direction.";
+      }
+      enum "delayTCM5-up" {
+        value 69;
+        description
+          "Delay on TCM5 up direction.";
+      }
+      enum "delayTCM6-up" {
+        value 70;
+        description
+          "Delay on TCM6 up direction.";
+      }
+      enum "erroredBlockCountTCM1-down" {
+        value 71;
+        description
+          "errored Blocks Count on TCM1 down direction.";
+      }
+      enum "erroredBlockCountTCM2-down" {
+        value 72;
+        description
+          "errored Blocks Count on TCM2 down direction.";
+      }
+      enum "erroredBlockCountTCM3-down" {
+        value 73;
+        description
+          "errored Blocks Count on TCM3 down direction.";
+      }
+      enum "erroredBlockCountTCM4-down" {
+        value 74;
+        description
+          "errored Blocks Count on TCM4 down direction.";
+      }
+      enum "erroredBlockCountTCM5-down" {
+        value 75;
+        description
+          "errored Blocks Count on TCM5 down direction.";
+      }
+      enum "erroredBlockCountTCM6-down" {
+        value 76;
+        description
+          "errored Blocks Count on TCM6 down direction.";
+      }
+      enum "delayTCM1-down" {
+        value 77;
+        description
+          "Delay on TCM1 down direction.";
+      }
+      enum "delayTCM2-down" {
+        value 78;
+        description
+          "Delay on TCM2 down direction.";
+      }
+      enum "delayTCM3-down" {
+        value 79;
+        description
+          "Delay on TCM3 down direction.";
+      }
+      enum "delayTCM4-down" {
+        value 80;
+        description
+          "Delay on TCM4 down direction.";
+      }
+      enum "delayTCM5-down" {
+        value 81;
+        description
+          "Delay on TCM5 down direction.";
+      }
+      enum "delayTCM6-down" {
+        value 82;
+        description
+          "Delay on TCM6 down direction.";
+      }
+    }
+  }
+
+  grouping pm-measurement {
+    description
+      "Set of parameters related to a PM Measurement";
+    leaf pmParameterValue {
+      type pm-data-type;
+      config false;
+      mandatory true;
+    }
+    leaf pmParameterUnit {
+      type string;
+      mandatory false;
+      description
+        "Unit PM parameter has been measured - frames, packets, u, etc";
+    }
+    leaf validity {
+      type validity;
+      mandatory false;
+    }
+  }
+
+  grouping pm-names {
+    description
+      "Name of PM parameter. Consisists of a set list of parameters,
+       plus an extension field to support addition parameters.";
+    leaf type {
+      type pm-names-enum;
+      mandatory true;
+    }
+    leaf extension {
+      type string;
+      description
+        "name of parameter, when enum value set to vendorExtension because
+         name not found in pm-names-enum";
+    }
+  }
+}