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