1 module org-openroadm-otn-odu-interfaces {
2 namespace "http://org/openroadm/otn-odu-interfaces";
3 prefix org-openroadm-otn-odu-interfaces;
5 import org-openroadm-device {
6 prefix org-openroadm-device;
7 revision-date 2017-12-15;
9 import org-openroadm-interfaces {
11 revision-date 2017-06-26;
13 import org-openroadm-maintenance-testsignal {
14 prefix org-openroadm-maint-testsignal;
15 revision-date 2017-12-15;
17 import org-openroadm-otn-common {
18 prefix org-openroadm-otn-common;
19 revision-date 2017-06-26;
21 import org-openroadm-otn-common-types {
22 prefix org-openroadm-otn-common-types;
23 revision-date 2017-12-15;
31 "YANG definitions for device facility otnodu interfaces.
33 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
34 AT&T Intellectual Property. 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.
59 Also contains code components extracted from IETF Interfaces. These code components
60 are copyrighted and licensed as follows:
62 Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
65 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
66 to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
67 publication of this document. Please review these documents carefully, as they
68 describe your rights and restrictions with respect to this document. Code Components
69 extracted from this document must include Simplified BSD License text as described in
70 Section 4.e of the Trust Legal Provisions and are provided without warranty as
71 described in the Simplified BSD License.";
83 "Version 2.0.1 - added revision-date to imports";
98 "tributary slot (TS)";
102 base org-openroadm-otn-common-types:odtu-type-identity;
105 "ODTU type, part of the MSI (Multiplex Structure Identifier)";
110 "Tributary Port Number (0-based), part of the MSI";
112 leaf trib-port-payload {
115 "interface name being mapped to trib-port";
119 grouping odu-attributes {
124 base org-openroadm-otn-common-types:odu-rate-identity;
127 "rate identity of the ODU. 'identityref' is used
128 to allow to extend for future higher rates";
132 base org-openroadm-otn-common-types:odu-function-identity;
135 "function of the ODU interface";
137 leaf monitoring-mode {
139 enum "not-terminated" {
141 "Not Terminated: no detection or generation.
142 Overhead is passed through the interface transparently in receive direction";
146 "Terminated: detection and generation enabled.
147 Overhead is erased (replaced with all zeros) in receive direction";
151 "Monitored: detection enabled.
152 Overhead is passed through the interface transparently in receive direction";
156 "Monitoring mode of the ODU Overhead";
158 leaf no-oam-function {
161 "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.";
163 leaf proactive-delay-measurement-enabled {
166 "enable/disable proactive Delay Measurement";
168 uses parent-odu-allocation;
169 uses org-openroadm-otn-common:trail-trace;
170 uses org-openroadm-otn-common:deg-threshold;
172 key "layer tcm-direction";
175 "Tandem Connection Management";
181 grouping parent-odu-allocation {
182 container parent-odu-allocation {
183 when "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface[org-openroadm-device:name = current()/../../org-openroadm-device:supporting-interface]/org-openroadm-device:type = 'openROADM-if:otnOdu'";
184 presence "Explicit assignment of parent ODU trib-slot and trib-port allocation. ";
185 leaf trib-port-number {
191 "Assigned tributary port number in parent OPU";
193 leaf-list trib-slots {
200 "Assigned trib slots occupied in parent OPU MSI";
207 when "../monitoring-mode = 'terminated' or ../monitoring-mode = 'monitored'";
209 "Optical Channel Payload Unit (OPU)";
211 type org-openroadm-otn-common-types:payload-type-def;
215 leaf rx-payload-type {
216 type org-openroadm-otn-common-types:payload-type-def;
218 "Received Payload Type";
220 leaf exp-payload-type {
221 type org-openroadm-otn-common-types:payload-type-def;
223 "Expected Payload Type";
225 leaf payload-interface {
228 "Expected Payload of OPU. It designates client interface name";
231 when "../payload-type = '20' or ../payload-type = '21'";
254 grouping tcm-attributes {
256 "Tandem Connection Monitoring (TCM) attributes";
264 leaf monitoring-mode {
266 enum "not-terminated" {
268 "Not Terminated: no detection or generation.
269 Overhead is passed through the interface transparently in receive direction
270 unless extension is set for erase";
274 "Terminated: detection and generation enabled.
275 Overhead is erased (replaced with all zeros) in receive direction, unless
276 extension is set to passthrough";
280 "Monitored: detection enabled.
281 Overhead is passed through the interface transparently in receive direction
282 unless extension is set for erase";
286 "Monitoring mode of the TCM layer";
288 leaf ltc-act-enabled {
291 "enable/disable alarm transfer on detection of Loss of Tandem Connection (LTC)";
293 leaf proactive-delay-measurement-enabled {
296 "enable/disable proactive Delay Measurement for TCM";
302 "TCM termination direction faces the switch fabric.";
306 "TCM termination direction faces the facility";
312 uses org-openroadm-otn-common:trail-trace;
313 uses org-openroadm-otn-common:deg-threshold;
316 grouping odu-container {
318 presence "Attribute Nodes for Optical Data Unit (ODU)";
320 "Optical Channel Data Unit (ODU)";
321 uses odu-attributes {
322 refine "opu/rx-payload-type" {
328 refine "no-oam-function" {
332 uses org-openroadm-maint-testsignal:maint-testsignal;
336 augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface" {
337 when "org-openroadm-device:type = 'openROADM-if:otnOdu'";