--- /dev/null
+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";
+ }
+ }
+}