Upgrade Network model from 2.1 to 4.1
[transportpce.git] / ordmodels / common / src / main / yang / org-openroadm-otn-common-types@2018-11-30.yang
1 module org-openroadm-otn-common-types {
2   namespace "http://org/openroadm/otn-common-types";
3   prefix org-openroadm-otn-common-types;
4
5   organization
6     "Open ROADM MSA";
7   contact
8     "OpenROADM.org";
9   description
10     "YANG definitions for common otn related type definitions.
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      Also contains code components extracted from IETF Interfaces.  These code components
39      are copyrighted and licensed as follows:
40
41      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
42      All rights reserved.
43
44      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
45      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
46      publication of this document. Please review these documents carefully, as they
47      describe your rights and restrictions with respect to this document. Code Components
48      extracted from this document must include Simplified BSD License text as described in
49      Section 4.e of the Trust Legal Provisions and are provided without warranty as
50      described in the Simplified BSD License.";
51
52   revision 2018-11-30 {
53     description
54       "Version 4.1.0";
55   }
56   revision 2018-09-28 {
57     description
58       "Version 4.0.0";
59   }
60   revision 2018-03-30 {
61     description
62       "Version 3.0.0";
63   }
64   revision 2017-12-15 {
65     description
66       "Version 2.2";
67   }
68   revision 2017-09-29 {
69     description
70       "Version 2.1";
71   }
72
73   identity otu-rate-identity {
74     description
75       "A unique rate identification of the OTU.";
76   }
77
78   identity OTU4 {
79     base otu-rate-identity;
80     description
81       "Identity for an OTU4";
82   }
83
84   identity OTU3 {
85     base otu-rate-identity;
86     description
87       "Identity for an OTU3";
88   }
89
90   identity OTU2 {
91     base otu-rate-identity;
92     description
93       "Identity for an OTU2";
94   }
95
96   identity OTU2e {
97     base otu-rate-identity;
98     description
99       "Identity for an OTU2e";
100   }
101
102   identity OTU1 {
103     base otu-rate-identity;
104     description
105       "Identity for an OTU1";
106   }
107
108   identity OTU0 {
109     base otu-rate-identity;
110     description
111       "Identity for an OTU0";
112   }
113
114   identity OTUflex {
115     base otu-rate-identity;
116     description
117       "Identity for an OTUflex";
118   }
119
120   identity odu-rate-identity {
121     description
122       "A unique rate identification of the ODU.";
123   }
124
125   identity ODU4 {
126     base odu-rate-identity;
127     description
128       "Identity for an ODU4";
129   }
130
131   identity ODU3 {
132     base odu-rate-identity;
133     description
134       "Identity for an ODU3";
135   }
136
137   identity ODU2 {
138     base odu-rate-identity;
139     description
140       "Identity for an ODU2";
141   }
142
143   identity ODU2e {
144     base odu-rate-identity;
145     description
146       "Identity for an ODU2e";
147   }
148
149   identity ODU1 {
150     base odu-rate-identity;
151     description
152       "Identity for an ODU1";
153   }
154
155   identity ODU0 {
156     base odu-rate-identity;
157     description
158       "Identity for an ODU0";
159   }
160
161   identity ODUflex-cbr {
162     base odu-rate-identity;
163     description
164       "ODUFlex for CBR client signals (G.709)";
165   }
166
167   identity ODUflex-cbr-25G {
168     base odu-rate-identity;
169     description
170       "ODUFlex for CBR client signals 25G (G.709 17.13.1)";
171   }
172
173   identity ODUflex-cbr-200G {
174     base odu-rate-identity;
175     description
176       "ODUFlex for CBR client signals 200G (G.709 17.13.2)";
177   }
178
179   identity ODUflex-cbr-400G {
180     base odu-rate-identity;
181     description
182       "ODUFlex for CBR client signals 400G (G.709 17.13.2)";
183   }
184
185   identity ODUflex-imp {
186     base odu-rate-identity;
187     description
188       "ODUFlex for IMP (Idle insertion Mapping Procedure) mapped client signals (G.709)";
189   }
190
191   identity ODUflex-flexe {
192     base odu-rate-identity;
193     description
194       "ODUflex for FlexE-aware client signals (G.709)";
195   }
196
197   identity ODUflex-gfp {
198     base odu-rate-identity;
199     description
200       "ODUflex for GFP-F mapped client signals (G.709)";
201   }
202
203   identity odtu-type-identity {
204     description
205       "A unique identification for the MSI odtu type.";
206   }
207
208   identity ODTU4.ts-Allocated {
209     base odtu-type-identity;
210     description
211       "OPU4 MSI - ODTU4.ts, OPU4 MSI TS is occupied/allocated.
212        Applies to all ODTU4.x mappings";
213   }
214
215   identity ODTU01 {
216     base odtu-type-identity;
217     description
218       "ODTU01 MSI type";
219   }
220
221   identity ODTU12 {
222     base odtu-type-identity;
223     description
224       "ODTU12 MSI type";
225   }
226
227   identity ODTU13 {
228     base odtu-type-identity;
229     description
230       "ODTU13 MSI type";
231   }
232
233   identity ODTU23 {
234     base odtu-type-identity;
235     description
236       "ODTU23 MSI type";
237   }
238
239   identity ODTU2.ts {
240     base odtu-type-identity;
241     description
242       "ODTU2.ts MSI type";
243   }
244
245   identity ODTU3.ts {
246     base odtu-type-identity;
247     description
248       "ODTU3.ts MSI type";
249   }
250
251   identity unallocated {
252     base odtu-type-identity;
253     description
254       "Unallocated MSI type";
255   }
256
257   identity odu-function-identity {
258     description
259       "A unique identification of the ODUk interface function.";
260   }
261
262   identity ODU-TTP {
263     base odu-function-identity;
264     description
265       "ODU TTP facility facing trail termination";
266   }
267
268   identity ODU-CTP {
269     base odu-function-identity;
270     description
271       "ODU CTP connection termination";
272   }
273
274   identity ODU-TTP-CTP {
275     base odu-function-identity;
276     description
277       "ODU CTP mapper level connection termination with trail termination and client adaptation";
278   }
279
280   typedef payload-type-def {
281     type string {
282       length "2";
283       pattern "[0-9a-fA-F]*";
284     }
285     description
286       "Common type definition for odu payload-type";
287   }
288
289   typedef opucn-trib-slot-def {
290     type string;
291     description
292       "OPUCn trib slot in the form of 'A.B' with
293        A = 1..n
294        B = 1..20";
295   }
296
297   typedef tcm-direction-enum {
298     type enumeration {
299       enum "up-tcm" {
300         description
301           "TCM termination direction faces the switch fabric.";
302       }
303       enum "down-tcm" {
304         description
305           "TCM termination direction faces the facility";
306       }
307     }
308     description
309       "Enumeration type for TCM direction";
310   }
311 }