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, 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 2020-03-27 { description "Version 7.0.0"; } revision 2019-11-29 { description "Version 6.1.0"; } revision 2019-03-29 { description "Version 5.0.0"; } revision 2018-11-30 { description "Version 4.1.0"; } 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 "Severely 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 "Minimum 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."; } enum partialRateDiscard { value 83; description "Discarded packet as a result of policing or rate limiting for subrate ethernet."; } enum erroredSecondsTCM1-up { value 84; description "errored Seconds Count on TCM1 up direction."; } enum erroredSecondsTCM2-up { value 85; description "errored Seconds Count on TCM2 up direction."; } enum erroredSecondsTCM3-up { value 86; description "errored Seconds Count on TCM3 up direction."; } enum erroredSecondsTCM4-up { value 87; description "errored Seconds Count on TCM4 up direction."; } enum erroredSecondsTCM5-up { value 88; description "errored Seconds Count on TCM5 up direction."; } enum erroredSecondsTCM6-up { value 89; description "errored Seconds Count on TCM6 up direction."; } enum severelyErroredSecondsTCM1-up { value 90; description "severely Errored Seconds Count on TCM1 up direction."; } enum severelyErroredSecondsTCM2-up { value 91; description "severely Errored Seconds Count on TCM2 up direction."; } enum severelyErroredSecondsTCM3-up { value 92; description "severely Errored Seconds Count on TCM3 up direction."; } enum severelyErroredSecondsTCM4-up { value 93; description "severely Errored Seconds Count on TCM4 up direction."; } enum severelyErroredSecondsTCM5-up { value 94; description "severely Errored Seconds Count on TCM5 up direction."; } enum severelyErroredSecondsTCM6-up { value 95; description "severely Errored Seconds Count on TCM6 up direction."; } enum unavailableSecondsTCM1-up { value 96; description "unavailable Seconds Count on TCM1 up direction."; } enum unavailableSecondsTCM2-up { value 97; description "unavailable Seconds Count on TCM2 up direction."; } enum unavailableSecondsTCM3-up { value 98; description "unavailable Seconds Count on TCM3 up direction."; } enum unavailableSecondsTCM4-up { value 99; description "unavailable Seconds Count on TCM4 up direction."; } enum unavailableSecondsTCM5-up { value 100; description "unavailable Seconds Count on TCM5 up direction."; } enum unavailableSecondsTCM6-up { value 101; description "unavailable Seconds Count on TCM6 up direction."; } enum erroredSecondsTCM1-down { value 102; description "errored Seconds Count on TCM1 down direction."; } enum erroredSecondsTCM2-down { value 103; description "errored Seconds Count on TCM2 down direction."; } enum erroredSecondsTCM3-down { value 104; description "errored Seconds Count on TCM3 down direction."; } enum erroredSecondsTCM4-down { value 105; description "errored Seconds Count on TCM4 down direction."; } enum erroredSecondsTCM5-down { value 106; description "errored Seconds Count on TCM5 down direction."; } enum erroredSecondsTCM6-down { value 107; description "errored Seconds Count on TCM6 down direction."; } enum severelyErroredSecondsTCM1-down { value 108; description "severely Errored Seconds Count on TCM1 down direction."; } enum severelyErroredSecondsTCM2-down { value 109; description "severely Errored Seconds Count on TCM2 down direction."; } enum severelyErroredSecondsTCM3-down { value 110; description "severely Errored Seconds Count on TCM3 down direction."; } enum severelyErroredSecondsTCM4-down { value 111; description "severely Errored Seconds Count on TCM4 down direction."; } enum severelyErroredSecondsTCM5-down { value 112; description "severely Errored Seconds Count on TCM5 down direction."; } enum severelyErroredSecondsTCM6-down { value 113; description "severely Errored Seconds Count on TCM6 down direction."; } enum unavailableSecondsTCM1-down { value 114; description "unavailable Seconds Count on TCM1 down direction."; } enum unavailableSecondsTCM2-down { value 115; description "unavailable Seconds Count on TCM2 down direction."; } enum unavailableSecondsTCM3-down { value 116; description "unavailable Seconds Count on TCM3 down direction."; } enum unavailableSecondsTCM4-down { value 117; description "unavailable Seconds Count on TCM4 down direction."; } enum unavailableSecondsTCM5-down { value 118; description "unavailable Seconds Count on TCM5 down direction."; } enum unavailableSecondsTCM6-down { value 119; description "unavailable Seconds Count on TCM6 down direction."; } enum fecCorrectedCodewords { value 120; description "FEC Corrected Codewords Counter"; } enum fecUncorrectedCodewords { value 121; description "FEC Uncorrected Codewords Counter"; } enum fecSymbolErrors { value 122; description "FEC Symbol Error Counter"; } enum localFaultSeconds { value 123; description "Local Fault Seconds"; } enum remoteFaultSeconds { value 124; description "Remote Fault Seconds"; } } } 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. Consists 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"; } } }