1 module org-openroadm-otn-odu-interfaces {
3 namespace "http://org/openroadm/otn-odu-interfaces";
4 prefix org-openroadm-otn-odu-interfaces;
6 import org-openroadm-device {
7 prefix org-openroadm-device;
8 revision-date 2020-05-29;
10 import org-openroadm-interfaces {
12 revision-date 2019-11-29;
14 import org-openroadm-maintenance-testsignal {
15 prefix org-openroadm-maint-testsignal;
16 revision-date 2020-05-29;
18 import org-openroadm-otn-common {
19 prefix org-openroadm-otn-common;
20 revision-date 2020-03-27;
22 import org-openroadm-otn-common-types {
23 prefix org-openroadm-otn-common-types;
24 revision-date 2020-03-27;
26 import org-openroadm-common-attributes {
27 prefix org-openroadm-common-attributes;
28 revision-date 2020-03-27;
36 "YANG definitions for device facility otnodu interfaces.
38 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
39 All other rights reserved.
41 Redistribution and use in source and binary forms, with or without modification,
42 are permitted provided that the following conditions are met:
44 * Redistributions of source code must retain the above copyright notice, this
45 list of conditions and the following disclaimer.
46 * Redistributions in binary form must reproduce the above copyright notice,
47 this list of conditions and the following disclaimer in the documentation and/or
48 other materials provided with the distribution.
49 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
50 contributors may be used to endorse or promote products derived from this software
51 without specific prior written permission.
53 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
54 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
55 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
56 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
57 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
58 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
59 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
60 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
61 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
62 POSSIBILITY OF SUCH DAMAGE.
64 Also contains code components extracted from IETF Interfaces. These code components
65 are copyrighted and licensed as follows:
67 Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
70 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
71 to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
72 publication of this document. Please review these documents carefully, as they
73 describe your rights and restrictions with respect to this document. Code Components
74 extracted from this document must include Simplified BSD License text as described in
75 Section 4.e of the Trust Legal Provisions and are provided without warranty as
76 described in the Simplified BSD License.";
102 revision 2018-11-30 {
106 revision 2018-09-28 {
110 revision 2018-05-30 {
114 revision 2018-03-30 {
118 revision 2017-12-15 {
122 revision 2017-09-29 {
126 revision 2017-07-28 {
128 "Version 2.0.1 - added revision-date to imports";
130 revision 2017-06-26 {
134 revision 2016-10-14 {
141 "OPU Multiplex Structure Identifier (G.709 clause 19.4.1)";
145 "tributary slot (TS)";
149 base org-openroadm-otn-common-types:odtu-type-identity;
152 "ODTU type, part of the MSI (Multiplex Structure Identifier)";
157 "Tributary Port Number (0-based), part of the MSI";
161 grouping opucn-msi-entry {
163 "OPUCn Multiplex Structure Identifier (G.709 clause 20.4.1)";
164 leaf opucn-trib-slot {
165 type org-openroadm-otn-common-types:opucn-trib-slot-def;
167 "OPUCn tributary slot (TS)";
182 "OPUCn Tributary Port Number (0-based), part of the MSI";
186 grouping odu-attributes {
191 base org-openroadm-otn-common-types:odu-rate-identity;
194 "rate identity of the ODU. 'identityref' is used
195 to allow to extend for future higher rates";
202 leaf oduflex-cbr-service {
204 base org-openroadm-otn-common-types:ODUflex-cbr-identity;
207 "ODUflex for CBR client signals (G.709)";
209 leaf oduflex-gfp-num-ts {
212 "For ODUflex GFP-F mapped client signals (G.709), the number of
213 tributary slot as per G.709 Table 7-8";
215 leaf oduflex-gfp-ts-bandwidth {
218 "The tributary slot minimum bit rates in the approximated value [Mbps]
219 given ODUflex (GFP) 100 ppm (G.709 Table 7-8) :
220 1249 Mbps [1 249 052.312 277 kbps] (n = 1 to 8) (ODU2.ts)
221 1254 Mbps [1 254 344.906 9646 kbps] (n = 9 to 32) ODU3.ts)
222 1301 Mbps [1 301 336.986 2867 kbps] (n = 33 to 80) (ODU4.ts)";
227 "For ODUflex IMP (Idle insertion Mapping Procedure) mapped client signals,
228 s = 2, 8, n x 5 with N >= 1 (G.709 12.2.6 & Table 7-3)";
230 leaf oduflex-flexe-n {
233 "For ODUflex for FlexE-aware client signals, n in the range of 1 to 20*254
238 base org-openroadm-otn-common-types:odu-function-identity;
241 "function of the ODU interface";
243 leaf monitoring-mode {
245 enum not-terminated {
247 "Not Terminated: no detection or generation.
248 Overhead is passed through the interface transparently in receive direction";
252 "Terminated: detection and generation enabled.
253 Overhead is erased (replaced with all zeros) in receive direction";
257 "Monitored: detection enabled.
258 Overhead is passed through the interface transparently in receive direction";
262 "Monitoring mode of the ODU Overhead";
264 leaf no-oam-function {
267 "No OAM functionality exists for this ODU interface, the entity exists in software only. This entity does not report alarms or PM and does not support TCM, TTI, delay measurement, loopbacks, test signal and other hardware-based functions. This is an optional parameter, only needs to be present when no-oam-function supported for this interface.";
269 leaf proactive-delay-measurement-enabled {
272 "enable/disable proactive Delay Measurement";
274 uses org-openroadm-common-attributes:parent-odu-allocation;
275 uses org-openroadm-otn-common:trail-trace;
276 uses org-openroadm-common-attributes:deg-threshold;
278 key "layer tcm-direction";
281 "Tandem Connection Management";
291 when "../monitoring-mode = 'terminated' or ../monitoring-mode = 'monitored'";
293 "Optical Channel Payload Unit (OPU)";
295 type org-openroadm-otn-common-types:payload-type-def;
299 leaf rx-payload-type {
300 type org-openroadm-otn-common-types:payload-type-def;
302 "Received Payload Type";
304 leaf exp-payload-type {
305 type org-openroadm-otn-common-types:payload-type-def;
307 "Expected Payload Type";
310 when "../payload-type = '20' or ../payload-type = '21'";
312 "Multiple Structure Identifier";
332 container opucn-msi {
333 when "../payload-type = '22'";
335 "OPUCn Mutiplex Structure Identifier (G.709 clause 20.4.1)";
337 key "opucn-trib-slot";
340 uses opucn-msi-entry;
343 key "opucn-trib-slot";
346 uses opucn-msi-entry;
349 key "opucn-trib-slot";
352 uses opucn-msi-entry;
358 grouping tcm-attributes {
360 "Tandem Connection Monitoring (TCM) attributes";
368 leaf monitoring-mode {
370 enum not-terminated {
372 "Not Terminated: no detection or generation.
373 Overhead is passed through the interface transparently in receive direction
374 unless extension is set for erase";
378 "Terminated: detection and generation enabled.
379 Overhead is erased (replaced with all zeros) in receive direction, unless
380 extension is set to passthrough";
384 "Monitored: detection enabled.
385 Overhead is passed through the interface transparently in receive direction
386 unless extension is set for erase";
390 "Monitoring mode of the TCM layer";
392 leaf ltc-act-enabled {
395 "enable/disable alarm transfer on detection of Loss of Tandem Connection (LTC)";
397 leaf proactive-delay-measurement-enabled {
400 "enable/disable proactive Delay Measurement for TCM";
403 type org-openroadm-otn-common-types:tcm-direction-enum;
407 uses org-openroadm-otn-common:trail-trace;
408 uses org-openroadm-common-attributes:deg-threshold;
411 grouping odu-container {
413 "ODU container group";
415 presence "Attribute Nodes for Optical Data Unit (ODU)";
417 "Optical Channel Data Unit (ODU)";
418 uses odu-attributes {
419 refine "opu/rx-payload-type" {
425 refine "opu/opucn-msi" {
428 refine "no-oam-function" {
432 uses org-openroadm-maint-testsignal:maint-testsignal;
436 augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface" {
437 when "org-openroadm-device:type = 'openROADM-if:otnOdu'";
439 "augment for ODU container";