1 module org-openroadm-port-types {
2 namespace "http://org/openroadm/port/types";
3 prefix org-openroadm-port-types;
5 import org-openroadm-common-link-types {
6 prefix org-openroadm-common-link-types;
7 revision-date 2019-11-29;
15 "This is a modified version of an Open ROADM MSA official YANG model.
16 It contains an unofficial and additional regen identity 'if-OTUCn-ODUCn-regen'
17 found in some non-compliant devices.
18 Though this identity should have been advertised through a YANG deviation,
19 this does not raise any compatibility problem with compliant devices.
20 This file is an ideally temporary work-around until a compliant solution is found.
21 cf https://jira.opendaylight.org/browse/TRNSPRTPCE-532
23 Original YANG model description below:
24 YANG definitions for port types.
26 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
27 All other rights reserved.
29 Redistribution and use in source and binary forms, with or without modification,
30 are permitted provided that the following conditions are met:
32 * Redistributions of source code must retain the above copyright notice, this
33 list of conditions and the following disclaimer.
34 * Redistributions in binary form must reproduce the above copyright notice,
35 this list of conditions and the following disclaimer in the documentation and/or
36 other materials provided with the distribution.
37 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
38 contributors may be used to endorse or promote products derived from this software
39 without specific prior written permission.
41 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
42 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
43 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
44 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
45 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
46 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
47 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
48 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
50 POSSIBILITY OF SUCH DAMAGE.";
90 "Version 2.0.1 - added revision-date to imports";
101 identity supported-if-capability {
103 "Base identity from which specific supported interfaces are derived";
107 base supported-if-capability;
111 base supported-if-capability;
115 base supported-if-capability;
119 base supported-if-capability;
123 base supported-if-capability;
126 identity if-OTS-OMS-MC-NMC {
127 base supported-if-capability;
131 base supported-if-capability;
135 base supported-if-capability;
139 base supported-if-capability;
143 base supported-if-capability;
147 base supported-if-capability;
150 identity if-OCH-OTU1-ODU1 {
151 base supported-if-capability;
154 identity if-OCH-OTU2-ODU2 {
155 base supported-if-capability;
158 identity if-OCH-OTU2E-ODU2E {
159 base supported-if-capability;
162 identity if-OCH-OTU3-ODU3 {
163 base supported-if-capability;
166 identity if-OCH-OTU4-ODU4 {
167 base supported-if-capability;
170 identity if-OTUCn-ODUCn {
171 base supported-if-capability;
174 identity if-otsi-flexo-flexogroup {
175 base supported-if-capability;
178 identity if-otsi-otsigroup {
179 base supported-if-capability;
182 identity if-n-OTU4-ODU4 {
183 base supported-if-capability;
186 identity if-otsi-otucn-oducn {
187 base supported-if-capability;
191 identity if-OTU4-ODU4 {
192 base supported-if-capability;
195 identity if-OTU1-ODU1 {
196 base supported-if-capability;
199 identity if-OTU2-ODU2 {
200 base supported-if-capability;
203 identity if-OTU2e-ODU2e {
204 base supported-if-capability;
207 identity if-OTU3-ODU3 {
208 base supported-if-capability;
211 identity if-1GE-ODU0 {
212 base supported-if-capability;
215 identity if-10GE-ODU2 {
216 base supported-if-capability;
219 identity if-10GE-ODU2e {
220 base supported-if-capability;
223 identity if-10GE-oduflexgfp {
224 base supported-if-capability;
227 identity if-25GE-oduflexcbr {
228 base supported-if-capability;
231 identity if-40GE-ODU3 {
232 base supported-if-capability;
235 identity if-40GE-oduflexgfp {
236 base supported-if-capability;
239 identity if-100GE-ODU4 {
240 base supported-if-capability;
243 identity if-100GE-oduflexgfp {
244 base supported-if-capability;
247 identity if-200GE-oduflexcbr {
248 base supported-if-capability;
251 identity if-400GE-odufleximp {
252 base supported-if-capability;
255 identity if-400GE-oduflexcbr {
256 base supported-if-capability;
259 identity supported-xpdr-capability {
261 "Base identity from which specific supported xponder are derived";
264 identity Transponder {
265 base supported-xpdr-capability;
269 base supported-xpdr-capability;
272 identity pluggable-identifiers-identity {
274 "Pluggable identifiers type";
278 base pluggable-identifiers-identity;
282 base pluggable-identifiers-identity;
286 base pluggable-identifiers-identity;
290 base pluggable-identifiers-identity;
294 base pluggable-identifiers-identity;
297 identity DWDM-SFP-plus {
298 base pluggable-identifiers-identity;
302 base pluggable-identifiers-identity;
306 base pluggable-identifiers-identity;
310 base pluggable-identifiers-identity;
314 base pluggable-identifiers-identity;
318 base pluggable-identifiers-identity;
321 identity micro-QSFP {
322 base pluggable-identifiers-identity;
326 base pluggable-identifiers-identity;
330 base pluggable-identifiers-identity;
334 base pluggable-identifiers-identity;
338 base pluggable-identifiers-identity;
342 base pluggable-identifiers-identity;
346 base pluggable-identifiers-identity;
350 base pluggable-identifiers-identity;
354 base pluggable-identifiers-identity;
358 base pluggable-identifiers-identity;
362 base pluggable-identifiers-identity;
366 base pluggable-identifiers-identity;
370 base pluggable-identifiers-identity;
373 identity SFP-unspecified {
374 base pluggable-identifiers-identity;
377 identity pluggable-type-other {
378 base pluggable-identifiers-identity;
381 identity pluggable-type-unspecified {
382 base pluggable-identifiers-identity;
384 // The following identity is not present in the original Open ROADM MSA YANG model.
385 identity if-OTUCn-ODUCn-regen {
386 base supported-if-capability;
390 typedef port-wavelength-types {
395 "Port on a transponder or ROADM SRG add drop";
397 enum multi-wavelength {
400 "External port connecting to other roadm.";
407 typedef port-module-types {
417 "Pluggable modue types.";
420 grouping common-port {
421 leaf port-power-capability-min-rx {
422 type org-openroadm-common-link-types:power-dBm;
425 "Based on port capabilities, the minimum power in the system spec for this port to
426 provide optimum function in rx direction";
428 leaf port-power-capability-min-tx {
429 type org-openroadm-common-link-types:power-dBm;
432 "Based on port capabilities, the minimum power in the system spec for this port to
433 provide optimum function in tx direction.";
435 leaf port-power-capability-max-rx {
436 type org-openroadm-common-link-types:power-dBm;
439 "Based on port capabilities, the maximum power in the system spec for this port to
440 provide optimum function in rx direction.";
442 leaf port-power-capability-max-tx {
443 type org-openroadm-common-link-types:power-dBm;
446 "Based on port capabilities, the maximum power in the system spec for this port to
447 provide optimum function in tx direction.";
451 grouping roadm-port {