upgrade models to OpenROADM service 5.1.0
[transportpce.git] / ordmodels / common / src / main / yang / org-openroadm-common-optical-channel-types@2019-03-29.yang
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-03-29 {
39     description
40       "Version 5.0.0";
41   }
42   revision 2018-11-30 {
43     description
44       "Version 4.1.0";
45   }
46   revision 2018-05-30 {
47     description
48       "Version 3.1.0";
49   }
50   revision 2018-03-30 {
51     description
52       "Version 3.0.0";
53   }
54
55   identity och-rate-identity {
56     description
57       "A unique och rate identification";
58   }
59
60   identity otsi-rate-identity {
61     description
62       "A unique OTSi rate identification";
63   }
64
65   identity fec-identity {
66     description
67       "A unique FEC identification";
68   }
69
70   identity sc-fec {
71     base fec-identity;
72     description
73       "Staircase FEC identification";
74   }
75
76   identity rs-fec {
77     base fec-identity;
78     description
79       "Reed Solomon FEC identification";
80   }
81
82   identity o-fec {
83     base fec-identity;
84     description
85       "OpenROADM FEC identification";
86   }
87
88   identity foic-identity {
89     description
90       "A unique FOICx.k identification (G.709.3 FlexO-LR and
91        G.709.1 FlexO-SR)";
92   }
93
94   identity flexo-otsi-rate-identity {
95     description
96       "A unique rate identification. Applicable to specify OTSi rate. Also
97        applicable to FOIC rate when associated with FlexO processing
98        (G.709.3 FlexO-LR Table 11-2, G.709.1 FlexO-SR clause 9.2.2
99         Table 11-1, 12-1, 13-1) and G.Sup58.";
100   }
101
102   identity foic1.2 {
103     base foic-identity;
104     description
105       "Applicable to the FlexO type defined in G.Sup58";
106   }
107
108   identity foic1.4 {
109     base foic-identity;
110     description
111       "Applicable to the FlexO type defined in G.709.1 and G.709.3";
112   }
113
114   identity foic2.4 {
115     base foic-identity;
116     description
117       "Applicable to the FlexO type defined in G.709.1";
118   }
119
120   identity foic2.8 {
121     base foic-identity;
122     description
123       "Applicable to the FlexO type defined in G.Sup58";
124   }
125
126   identity foic3.6 {
127     base foic-identity;
128     description
129       "Applicable to the FlexO type defined in future";
130   }
131
132   identity foic4.8 {
133     base foic-identity;
134     description
135       "Applicable to the FlexO type defined in G.709.1";
136   }
137
138   identity foic4.16 {
139     base foic-identity;
140     description
141       "Applicable to the FlexO type defined in G.Sup58";
142   }
143
144   identity R400G-flexo-otsi {
145     base flexo-otsi-rate-identity;
146     description
147       "Applicable instance for flexo/otsi rate identity";
148   }
149
150   identity R200G-flexo-otsi {
151     base flexo-otsi-rate-identity;
152     description
153       "Applicable instance for flexo/otsi rate identity";
154   }
155
156   identity R200G {
157     base och-rate-identity;
158     description
159       "Identity for 200G Rate";
160   }
161
162   identity R100G-flexo-otsi {
163     base flexo-otsi-rate-identity;
164     description
165       "Applicable instance for otsi/flexo rate identity";
166   }
167
168   identity R100G {
169     base och-rate-identity;
170     description
171       "Identity for 100G Rate";
172   }
173
174   identity R56G-foic-otsi {
175     base flexo-otsi-rate-identity;
176     description
177       "Applicable instance for otsi rate identity";
178   }
179
180   identity R28G-foic-otsi {
181     base flexo-otsi-rate-identity;
182     description
183       "Applicable instance for otsi rate identity";
184   }
185
186   identity R10.7G {
187     base och-rate-identity;
188     description
189       "Identity for 10.7G Rate";
190   }
191
192   identity R11.1G {
193     base och-rate-identity;
194     description
195       "Identity for 11.1G Rate";
196   }
197
198   typedef frequency-THz {
199     type decimal64 {
200       fraction-digits 8;
201     }
202     units "THz";
203     description
204       "Frequency value in THz.";
205   }
206
207   typedef frequency-GHz {
208     type decimal64 {
209       fraction-digits 5;
210     }
211     units "GHz";
212     description
213       "Frequency value in GHz.";
214   }
215
216   typedef wavelength-duplication-type {
217     type enumeration {
218       enum "one-per-srg" {
219         value 1;
220         description
221           "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.";
222       }
223       enum "one-per-degree" {
224         value 2;
225         description
226           "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.";
227       }
228     }
229     description
230       "One per srg is applied to C/D add/drop group
231        one per degree is applied to C/D/C add drop group";
232   }
233
234   typedef modulation-format {
235     type enumeration {
236       enum "bpsk" {
237         value 0;
238         description
239           "binary phase-shift keying";
240       }
241       enum "dc-dp-bpsk" {
242         value 1;
243         description
244           "DC dual-polarization binary phase-shift keying";
245       }
246       enum "qpsk" {
247         value 2;
248         description
249           "quadrature phase-shift keying";
250       }
251       enum "dp-qpsk" {
252         value 3;
253         description
254           "dual-polarization binary phase-shift keying";
255       }
256       enum "qam16" {
257         value 4;
258         description
259           "quadrature amplitude modulation 16";
260       }
261       enum "dp-qam16" {
262         value 5;
263         description
264           "dual-polarization quadrature amplitude modulation 16";
265       }
266       enum "dc-dp-qam16" {
267         value 6;
268         description
269           "DC dual-polarization quadrature amplitude modulation 16";
270       }
271       enum "qam8" {
272         value 7;
273         description
274           "quadrature amplitude modulation 8";
275       }
276       enum "dp-qam8" {
277         value 8;
278         description
279           "dual-polarization quadrature amplitude modulation 8";
280       }
281       enum "dc-dp-qam8" {
282         value 9;
283         description
284           "DC dual-polarization quadrature amplitude modulation 8";
285       }
286     }
287     description
288       "Modulation format";
289   }
290   typedef provision-mode-type {
291     type enumeration {
292       enum "explicit";
293       enum "profile";
294     }
295     description
296       "Provision Mode Type On Optical Channel";
297   }
298 }