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