1 module org-openroadm-resource {
2 namespace "http://org/openroadm/resource";
3 prefix org-openroadm-resource;
5 import org-openroadm-interfaces {
6 prefix org-openroadm-interfaces;
7 revision-date 2019-11-29;
9 import org-openroadm-otn-common-types {
10 prefix org-openroadm-otn-common-types;
11 revision-date 2021-09-24;
13 import org-openroadm-common-optical-channel-types {
14 prefix org-openroadm-common-optical-channel-types;
15 revision-date 2021-12-10;
17 import org-openroadm-resource-types {
18 prefix org-openroadm-resource-types;
19 revision-date 2021-09-24;
21 import org-openroadm-common-link-types {
22 prefix org-openroadm-common-link-types;
23 revision-date 2019-11-29;
31 "YANG definitions of resources.
33 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
34 All other rights reserved.
36 Redistribution and use in source and binary forms, with or without modification,
37 are permitted provided that the following conditions are met:
39 * Redistributions of source code must retain the above copyright notice, this
40 list of conditions and the following disclaimer.
41 * Redistributions in binary form must reproduce the above copyright notice,
42 this list of conditions and the following disclaimer in the documentation and/or
43 other materials provided with the distribution.
44 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
45 contributors may be used to endorse or promote products derived from this software
46 without specific prior written permission.
48 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
49 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
50 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
51 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
52 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
53 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
54 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
55 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
56 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
57 POSSIBILITY OF SUCH DAMAGE";
103 revision 2018-11-30 {
107 revision 2018-09-28 {
111 revision 2018-03-30 {
115 revision 2017-12-15 {
119 revision 2017-09-29 {
123 revision 2017-07-28 {
125 "Version 2.0.1 - added revision-date to imports";
127 revision 2017-06-26 {
131 revision 2016-10-14 {
136 grouping eth-attributes {
140 "Set speed of the interface, unit mbps.
141 This is for ETH facility. ";
145 grouping mc-ttp-attributes {
147 "Media channel termination point. Models bandwidth allocation in physical media. Network media channels may be provisioned in the spectrum characterized by the frequency limits.";
149 type org-openroadm-common-optical-channel-types:frequency-THz;
152 "Minimum Frequency in THz. Granularity is hardware dependent, based on pixel resolution. eg. ITU 12.5GHz frequency slots. Range covers C+L";
155 type org-openroadm-common-optical-channel-types:frequency-THz;
158 "Maximum Frequency in THz. Granularity is hardware dependent, based on pixel resolution. eg. ITU 12.5GHz frequency slots. Range covers C+L";
162 grouping nmc-ctp-attributes {
164 "Network Media Channel attributes";
166 type org-openroadm-common-optical-channel-types:frequency-THz;
169 "Center Frequency in THz. This is not constrained by mc-capabilities. It must fit (when combined with width) inside any containing media channel.";
172 type org-openroadm-common-optical-channel-types:frequency-GHz;
175 "Frequency width in GHz. This is not constrained by mc-capabilities. It must fit (when combined with frequency) inside any containing media channel.";
179 grouping common-och-otsi-attributes {
181 "Optical Channel and otsi common attributes";
183 type org-openroadm-common-optical-channel-types:frequency-THz;
185 "Center Frequency in THz.";
188 type org-openroadm-common-optical-channel-types:frequency-GHz;
190 "Frequency width in GHz.";
192 leaf optical-operational-mode {
195 "The path was calculated according to the supported operational modes.
196 Selected mode can be either a specific or an openROADM operational-mode";
200 grouping path-computation-outputs {
202 "Parameters resulting of path computation";
203 leaf rx-estimated-osnr {
204 type org-openroadm-common-link-types:ratio-dB;
206 "estimated OSNR for the path";
208 leaf rx-estimated-gsnr {
209 type org-openroadm-common-link-types:ratio-dB;
211 "estimated Generalized SNR (including non linear impairments) for the path";
213 leaf max-output-power {
214 type org-openroadm-common-link-types:ratio-dB;
216 "maximum output-power";
218 leaf min-output-power {
219 type org-openroadm-common-link-types:ratio-dB;
221 "minimum output-power";
225 grouping och-attributes {
227 "Optical Channel attributes";
230 base org-openroadm-common-optical-channel-types:och-rate-identity;
235 leaf modulation-format {
236 type org-openroadm-common-optical-channel-types:modulation-format;
240 uses common-och-otsi-attributes;
243 grouping odu-attributes {
248 base org-openroadm-otn-common-types:odu-rate-identity;
251 "rate identity of the ODU. 'identityref' is used
252 to allow to extend for future higher rates";
255 when "../rate = 'org-openroadm-otn-common-types:ODUCn'";
260 leaf oduflex-cbr-service {
262 base org-openroadm-otn-common-types:ODUflex-cbr-identity;
265 "ODUflex for CBR client signals (G.709)";
267 leaf oduflex-gfp-num-ts {
270 "For ODUflex GFP-F mapped client signals (G.709), the number of
271 tributary slot as per G.709 Table 7-8";
273 leaf oduflex-gfp-ts-bandwidth {
276 "The tributary slot minimum bit rates in the approximated value [Mbps]
277 given ODUflex (GFP) 100 ppm (G.709 Table 7-8) :
278 1249 Mbps [1 249 052.312 277 kbps] (n = 1 to 8) (ODU2.ts)
279 1254 Mbps [1 254 344.906 9646 kbps] (n = 9 to 32) ODU3.ts)
280 1301 Mbps [1 301 336.986 2867 kbps] (n = 33 to 80) (ODU4.ts)";
285 "For ODUflex IMP (Idle insertion Mapping Procedure) mapped client signals,
286 s = 2, 8, n x 5 with N >= 1 (G.709 12.2.6 & Table 7-3)";
288 leaf oduflex-flexe-n {
291 "For ODUflex for FlexE-aware client signals, n in the range of 1 to 20*254
294 container parent-odu-allocation {
296 "parent odu allocation";
297 leaf trib-port-number {
302 "Assigned tributary port number in parent OPU";
304 choice trib-slots-choice {
306 "trib slot selection";
308 leaf-list trib-slots {
315 "Assigned trib slots occupied in parent OPU MSI";
319 leaf-list opucn-trib-slots {
320 type org-openroadm-otn-common-types:opucn-trib-slot-def;
322 "Specify the list of OPUCn 5G tributary slots in the form of
323 TS #A.B (G.709 Figure 20-9) in the case of provisioning the low
324 order ODUk to the parent server ODUCn";
331 grouping otu-attributes {
336 base org-openroadm-otn-common-types:otu-rate-identity;
339 "rate identity of the OTU. 'identityref' is used
340 to allow to extend for future higher rates";
342 leaf otu4-member-id {
343 when "../rate = 'org-openroadm-otn-common-types:OTU4'";
346 "To uniquely identify each member of an OTSi group and the order of each member in the group.
347 Similar to FlexO PHY-ID in the FlexO Group (PID in G.709.1/3)";
350 when "../rate = 'org-openroadm-otn-common-types:OTUCn'";
353 "Specify the N associated with OTUCn, e.g. N = 2,3,4 for 200G/300G/400G respectively";
355 leaf otucn-M-subrate {
356 when "../rate = 'org-openroadm-otn-common-types:OTUCn'";
359 "OTUCn subrate (OTUCn-M), value of M specifies the number of active
360 5 Gbit/s OPUCn tributary slots (G.709 Annex H)";
364 grouping otsi-attributes {
366 "Optical Channel attributes";
369 base org-openroadm-common-optical-channel-types:otsi-rate-identity;
374 leaf modulation-format {
375 type org-openroadm-common-optical-channel-types:modulation-format;
379 uses common-och-otsi-attributes;
382 grouping otsi-group-attributes {
384 "Optical Channel attributes";
387 base org-openroadm-common-optical-channel-types:otsi-rate-identity;
390 "Supported group rate";
395 "Mandatory for FlexO B100G. Not required for Non-FlexO B100G.";
399 grouping resource-reporting {
402 base org-openroadm-interfaces:interface-type;
406 "The type of the interface.";
409 when "../type = 'ethernetCsmacd'";
411 "Ethernet Interfaces";
415 when "../type = 'mediaChannelTrailTerminationPoint'";
417 "Media Channel Trail Termination Point (MC-TTP)";
418 uses mc-ttp-attributes;
421 when "../type = 'networkMediaChannelConnectionTerminationPoint'";
423 "Network Media Channel Connection Termination Point (NMC-CTP)";
424 uses nmc-ctp-attributes;
427 when "../type = 'opticalChannel'";
429 "Optical Channel (OCh):
430 Models the optical channel interfaces for an Optical White Box.";
434 when "../type = 'otnOdu'";
435 presence "Attribute Nodes for Optical Data Unit (ODU)";
437 "Optical Channel Data Unit (ODU)";
441 when "../type = 'otnOtu'";
443 "Optical Channel Transport Unit (OTU)";
447 when "../type = 'otsi'";
450 uses otsi-attributes;
452 container otsi-group {
453 when "../type = 'otsi-group'";
456 uses otsi-group-attributes;
462 "This resource identifier is intended to provide a generic identifier
463 for any resource that can be used without specific knowledge of
467 "Device of the resource, used only when the system using this
468 model report on more than one device. ";
469 uses org-openroadm-resource-types:device-id;
474 uses org-openroadm-resource-types:circuit-pack-name;
478 uses org-openroadm-resource-types:port-name;
482 uses org-openroadm-resource-types:connection-name {
483 refine "connection-name" {
489 uses org-openroadm-resource-types:physical-link-name;
492 uses org-openroadm-resource-types:internal-link-name;
495 uses org-openroadm-resource-types:shelf-name;
498 uses org-openroadm-resource-types:srg-number {
499 refine "srg-number" {
505 uses org-openroadm-resource-types:degree-number {
506 refine "degree-number" {
512 uses org-openroadm-resource-types:service-name;
515 uses org-openroadm-resource-types:interface-name;
518 uses org-openroadm-resource-types:odu-sncp-pg-name;
520 case client-sncp-pg {
521 uses org-openroadm-resource-types:client-sncp-pg-name;
524 uses org-openroadm-resource-types:other-resource-id;
527 uses org-openroadm-resource-types:device-id {
533 case line-amplifier {
534 uses org-openroadm-resource-types:amp-number;
537 uses org-openroadm-resource-types:xpdr-number;
539 case versioned-service {
540 uses org-openroadm-resource-types:versioned-service-name;
543 uses org-openroadm-resource-types:temp-service-name;
547 container resourceType {
548 uses org-openroadm-resource-types:resource-type;