1. Updated pom.xml for renderer and impl to replace mockito-all with mockito-core
[transportpce.git] / ordmodels / src / main / yang / org-openroadm-pm-types.yang
1 module org-openroadm-pm-types {
2   namespace "http://org/openroadm/pm-types";
3   prefix org-openroadm-pm-types;
4
5   import org-openroadm-common-types {
6     prefix org-openroadm-common-types;
7   }
8
9   organization "Open ROADM MSA";
10   contact
11     "OpenROADM.org";
12   description
13     "YANG definitions of performance management types.
14        
15       Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
16       AT&T Intellectual Property.  All other rights reserved.
17       
18       Redistribution and use in source and binary forms, with or without modification, 
19       are permitted provided that the following conditions are met:
20       
21       * Redistributions of source code must retain the above copyright notice, this 
22         list of conditions and the following disclaimer.
23       * Redistributions in binary form must reproduce the above copyright notice, 
24         this list of conditions and the following disclaimer in the documentation and/or 
25         other materials provided with the distribution.
26       * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
27         contributors may be used to endorse or promote products derived from this software 
28         without specific prior written permission.
29       
30       THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
31       AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
32       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
33       IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
34       INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
35       NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
36       OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
37       WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
38       ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
39       POSSIBILITY OF SUCH DAMAGE";
40
41   revision 2016-10-14 {
42     description
43       "Version 1.2";
44   }
45
46   typedef pm-granularity {
47     description
48       "Granularity of PM bin";
49     type enumeration {
50       enum "notApplicable" {
51         description
52           "This is for total statistic counters on devices that support
53               them.";
54         value 1;
55       }
56       enum "15min" {
57         value 2;
58       }
59       enum "24Hour" {
60         value 3;
61       }
62     }
63   }
64
65   typedef pm-data-type {
66     type union {
67       type uint64;
68       type decimal64 {
69         fraction-digits 2;
70       }
71       type decimal64 {
72         fraction-digits 17;
73       }
74     }
75   }
76
77   grouping pm-measurement {
78     description
79       "Set of parameters related to a PM Measurement";
80     container pmParameterName {
81       uses pm-names;
82     }
83     leaf pmParameterValue {
84       type pm-data-type;
85       mandatory true;
86       config false;
87     }
88     leaf pmParameterUnit {
89       description
90         "Unit PM parameter has been measured - frames, packets, u, etc";
91       type string;
92       mandatory false;
93     }
94     leaf location {
95       description
96         "Location PM parameter measurement";
97       type enumeration {
98         enum "notApplicable" {
99           value 1;
100         }
101         enum "nearEnd" {
102           value 2;
103         }
104         enum "farEnd" {
105           value 3;
106         }
107       }
108       mandatory false;
109     }
110     leaf direction {
111       description
112         "Direction PM parameter measurement";
113       type org-openroadm-common-types:pm-direction;
114       mandatory false;
115     }
116     leaf validity {
117       description
118         "Validity of data";
119       type enumeration {
120         enum "complete" {
121           value 1;
122         }
123         enum "partial" {
124           value 2;
125         }
126         enum "suspect" {
127           value 3;
128         }
129       }
130       mandatory false;
131       config false;
132     }
133   }
134
135   grouping pm-names {
136     description
137       "Name of PM parameter. Consisists of a set list of parameters,
138        plus an extension field to support addition parameters.";
139     leaf type {
140       type pm-names-enum;
141       mandatory true;
142     }
143     leaf extension {
144       description
145         "name of parameter, when enum value set to vendorExtension because
146          name not found in pm-names-enum";
147       type string;
148       mandatory false;
149     }
150   }
151
152   typedef pm-names-enum {
153     type enumeration {
154       enum "vendorExtension" {
155         value 1;
156         description
157           "vendor extension";
158       }
159       enum "bitErrorRate" {
160         value 2;
161         description
162           "Bit error rate (BER)";
163       }
164       enum "opticalPowerOutput" {
165         value 3;
166         description
167           "Optical Power Output (OPOUT-OTS). Total optical power includes Variable Optical Attenuator (VOA) attenuation";
168       }
169       enum "opticalReturnLoss" {
170         value 4;
171         description
172           "Optical Return Loss (ORL-OTS) - at MW port(s) B";
173       }
174       enum "opticalPowerInput" {
175         value 5;
176         description
177           "Optical Power Input (OPIN-OTS). Total optical power";
178       }
179       enum "opticalPower" {
180         value 6;
181         description
182           "Optical Power Receive (OPR-OTS); Optical Power Transmit (OPT-OSC)";
183       }
184       enum "opticalChannelPowerTransmit" {
185         value 7;
186         description
187           "Optical Channel Power Transmit (OPT-OCH). Individual channel power includes Variable Optical Attenuator (VOA) attenuation";
188       }
189       enum "codeViolations" {
190         value 8;
191         description
192           "Code Violations (CV-PCS). 8B/10B errors";
193         reference "IEEE 802.3ah, Section 45.2.1.44";
194       }
195       enum "erroredSecondsSection" {
196         value 9;
197         description
198           "Errored Seconds Section (ES-PCS)";
199         reference "IEEE 802.3ah, Section 45.2.1.46";
200       }
201       enum "severlyErrorSeconds" {
202         value 10;
203         description
204           "Severely Errored Seconds (SES-PCS)";
205         reference "IEEE 802.3ah, Section 45.2.1.48";
206       }
207       enum "unavailableSecondsPCS" {
208         value 11;
209         description
210           "Unavailable Seconds PCS (UAS-PCS)";
211         reference "IEEE 802.3ah, Section 45.2.1.52";
212       }
213       enum "inFrames" {
214         value 12;
215         description
216           "In frames (INFRAMES-E)";
217       }
218       enum "inFramesErrored" {
219         value 13;
220         description
221           "In frames errored (INFRAMESERR-E)";
222       }
223       enum "outFrames" {
224         value 14;
225         description
226           "Out frames (OUTFRAMES-E)";
227       }
228       enum "erroredSecondsEthernet" {
229         value 15;
230         description
231           "Errored Seconds Ethernet (ES-E)";
232         reference "IEEE 802.3ah, Section 45.2.1.46";
233       }
234       enum "severelyErroredSecondsEthernet" {
235         value 16;
236         description
237           "Severly Errored Seconds, Ethernet (SES-E)";
238         reference "IEEE 802.3ah, Section 45.2.1.48";
239       }
240       enum "unavailableSecondsEthernet" {
241         value 17;
242         description
243           "Unavailable Seconds, Ethernet (UAS-E)";
244         reference "IEEE 802.3ah, Section 45.2.1.52";
245       }
246       enum "erroredBlockCount" {
247         value 18;
248         description
249           "Errored block count";
250         reference "G.798 : 6.5.1.1";
251       }
252       enum "delay" {
253         value 19;
254         description
255           "Number of frames between a DMValue toggle event and the received DMp signal value toggle event";
256         reference "G.798";
257       }
258       enum "defectSeconds" {
259         value 20;
260         description
261           "Defect Seconds (DS)";
262         reference "";
263       }
264       enum "backwardIncomingAlignmentError" {
265         value 21;
266         description
267           "Backward Incoming Alignment Error (BIAE)";
268         reference "Ref: G.798: 14.5.1.1.2";
269       }
270       enum "incomingAlignmentError" {
271         value 22;
272         description
273           "Incoming Alignment Error (IAE)";
274         reference "Ref: G.798: 14.5.1.1.2";
275       }
276     }
277   }
278 }