42b72f7d25d21f7ea253b3221bb94118e1ab3a5a
[ccsdk/features.git] /
1 module org-openroadm-common-optical-channel-types {
2   namespace "http://org/openroadm/common-optical-channel-types";
3   prefix org-openroadm-common-optical-channel-types;
4
5   organization
6     "Open ROADM MSA";
7   contact
8     "OpenROADM.org";
9   description
10     "YANG definitions of common optical channel types.
11
12       Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
13       All other rights reserved.
14
15       Redistribution and use in source and binary forms, with or without modification,
16       are permitted provided that the following conditions are met:
17
18       * Redistributions of source code must retain the above copyright notice, this
19         list of conditions and the following disclaimer.
20       * Redistributions in binary form must reproduce the above copyright notice,
21         this list of conditions and the following disclaimer in the documentation and/or
22         other materials provided with the distribution.
23       * Neither the Members of the Open ROADM MSA Agreement nor the names of its
24         contributors may be used to endorse or promote products derived from this software
25         without specific prior written permission.
26
27       THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
28       AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
29       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
30       IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
31       INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
32       NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
33       OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
34       WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35       ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36       POSSIBILITY OF SUCH DAMAGE";
37
38   revision 2019-11-29 {
39     description
40       "Version 6.1.0";
41   }
42   revision 2019-09-27 {
43     description
44       "Version 6.0.0";
45   }
46   revision 2019-03-29 {
47     description
48       "Version 5.0.0";
49   }
50   revision 2018-11-30 {
51     description
52       "Version 4.1.0";
53   }
54   revision 2018-05-30 {
55     description
56       "Version 3.1.0";
57   }
58   revision 2018-03-30 {
59     description
60       "Version 3.0.0";
61   }
62
63   identity och-rate-identity {
64     description
65       "A unique och rate identification";
66   }
67
68   identity otsi-rate-identity {
69     status deprecated;
70     description
71       "A unique OTSi rate identification";
72   }
73
74   identity fec-identity {
75     description
76       "A unique FEC identification";
77   }
78
79   identity sc-fec {
80     base fec-identity;
81     description
82       "Staircase FEC identification";
83   }
84
85   identity rs-fec {
86     base fec-identity;
87     description
88       "Reed Solomon FEC identification";
89   }
90
91   identity o-fec {
92     base fec-identity;
93     description
94       "OpenROADM FEC identification";
95   }
96
97   identity foic-identity {
98     description
99       "A unique FOICx.k identification (G.709.3 FlexO-LR and
100        G.709.1 FlexO-SR)";
101   }
102
103   identity flexo-otsi-rate-identity {
104     description
105       "A unique rate identification. Applicable to specify OTSi rate. Also
106        applicable to FOIC rate when associated with FlexO processing
107        (G.709.3 FlexO-LR Table 11-2, G.709.1 FlexO-SR clause 9.2.2
108         Table 11-1, 12-1, 13-1) and G.Sup58.";
109   }
110
111   identity foic1.2 {
112     base foic-identity;
113     description
114       "Applicable to the FlexO type defined in G.Sup58";
115   }
116
117   identity foic1.4 {
118     base foic-identity;
119     description
120       "Applicable to the FlexO type defined in G.709.1 and G.709.3";
121   }
122
123   identity foic2.4 {
124     base foic-identity;
125     description
126       "Applicable to the FlexO type defined in G.709.1";
127   }
128
129   identity foic2.8 {
130     base foic-identity;
131     description
132       "Applicable to the FlexO type defined in G.Sup58";
133   }
134
135   identity foic3.6 {
136     base foic-identity;
137     description
138       "Applicable to the FlexO type defined in future";
139   }
140
141   identity foic4.8 {
142     base foic-identity;
143     description
144       "Applicable to the FlexO type defined in G.709.1";
145   }
146
147   identity foic4.16 {
148     base foic-identity;
149     description
150       "Applicable to the FlexO type defined in G.Sup58";
151   }
152
153   identity R1T-flexo-otsi {
154     base flexo-otsi-rate-identity;
155     description
156       "Applicable instance for flexo/otsi rate identity";
157   }
158
159   identity R900G-flexo-otsi {
160     base flexo-otsi-rate-identity;
161     description
162       "Applicable instance for flexo/otsi rate identity";
163   }
164
165   identity R800G-flexo-otsi {
166     base flexo-otsi-rate-identity;
167     description
168       "Applicable instance for flexo/otsi rate identity";
169   }
170
171   identity R700G-flexo-otsi {
172     base flexo-otsi-rate-identity;
173     description
174       "Applicable instance for flexo/otsi rate identity";
175   }
176
177   identity R600G-flexo-otsi {
178     base flexo-otsi-rate-identity;
179     description
180       "Applicable instance for flexo/otsi rate identity";
181   }
182
183   identity R500G-flexo-otsi {
184     base flexo-otsi-rate-identity;
185     description
186       "Applicable instance for flexo/otsi rate identity";
187   }
188
189   identity R400G-flexo-otsi {
190     base flexo-otsi-rate-identity;
191     description
192       "Applicable instance for flexo/otsi rate identity";
193   }
194
195   identity R300G-flexo-otsi {
196     base flexo-otsi-rate-identity;
197     description
198       "Applicable instance for flexo/otsi rate identity";
199   }
200
201   identity R200G-flexo-otsi {
202     base flexo-otsi-rate-identity;
203     description
204       "Applicable instance for flexo/otsi rate identity";
205   }
206
207   identity R200G {
208     base och-rate-identity;
209     description
210       "Identity for 200G Rate";
211   }
212
213   identity R100G-flexo-otsi {
214     base flexo-otsi-rate-identity;
215     description
216       "Applicable instance for otsi/flexo rate identity";
217   }
218
219   identity R100G {
220     base och-rate-identity;
221     description
222       "Identity for 100G Rate";
223   }
224
225   identity R56G-foic-otsi {
226     base flexo-otsi-rate-identity;
227     description
228       "Applicable instance for otsi rate identity";
229   }
230
231   identity R28G-foic-otsi {
232     base flexo-otsi-rate-identity;
233     description
234       "Applicable instance for otsi rate identity";
235   }
236
237   identity R10.7G {
238     base och-rate-identity;
239     description
240       "Identity for 10.7G Rate";
241   }
242
243   identity R11.1G {
244     base och-rate-identity;
245     description
246       "Identity for 11.1G Rate";
247   }
248
249   typedef frequency-THz {
250     type decimal64 {
251       fraction-digits 8;
252     }
253     units "THz";
254     description
255       "Frequency value in THz.";
256   }
257
258   typedef frequency-GHz {
259     type decimal64 {
260       fraction-digits 5;
261     }
262     units "GHz";
263     description
264       "Frequency value in GHz.";
265   }
266
267   typedef wavelength-duplication-type {
268     type enumeration {
269       enum one-per-srg {
270         value 1;
271         description
272           "The SRG cannot handle wavelength duplication. Attempting to provision a connection on this SRG that uses the same wavelength as an existing service will result in failure.";
273       }
274       enum one-per-degree {
275         value 2;
276         description
277           "The SRG can handle wavelength duplication, but only one per degree. Attempting to provision a connection on this SRG that uses the same wavelength as an existing service will succeed, so long as the connections are not using the same degree.";
278       }
279     }
280     description
281       "One per srg is applied to C/D add/drop group
282        one per degree is applied to C/D/C add drop group";
283   }
284
285   typedef modulation-format {
286     type enumeration {
287       enum bpsk {
288         value 0;
289         description
290           "binary phase-shift keying";
291       }
292       enum dc-dp-bpsk {
293         value 1;
294         description
295           "DC dual-polarization binary phase-shift keying";
296       }
297       enum qpsk {
298         value 2;
299         description
300           "quadrature phase-shift keying";
301       }
302       enum dp-qpsk {
303         value 3;
304         description
305           "dual-polarization binary phase-shift keying";
306       }
307       enum qam16 {
308         value 4;
309         description
310           "quadrature amplitude modulation 16";
311       }
312       enum dp-qam16 {
313         value 5;
314         description
315           "dual-polarization quadrature amplitude modulation 16";
316       }
317       enum dc-dp-qam16 {
318         value 6;
319         description
320           "DC dual-polarization quadrature amplitude modulation 16";
321       }
322       enum qam8 {
323         value 7;
324         description
325           "quadrature amplitude modulation 8";
326       }
327       enum dp-qam8 {
328         value 8;
329         description
330           "dual-polarization quadrature amplitude modulation 8";
331       }
332       enum dc-dp-qam8 {
333         value 9;
334         description
335           "DC dual-polarization quadrature amplitude modulation 8";
336       }
337     }
338     description
339       "Modulation format";
340   }
341
342   typedef provision-mode-type {
343     type enumeration {
344       enum explicit;
345       enum profile;
346     }
347     description
348       "Provision Mode Type On Optical Channel";
349   }
350 }