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 2018-10-19;
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.";
87 "Version 2.0.1 - added revision-date to imports";
102 "tributary slot (TS)";
106 base org-openroadm-otn-common-types:odtu-type-identity;
109 "ODTU type, part of the MSI (Multiplex Structure Identifier)";
114 "Tributary Port Number (0-based), part of the MSI";
116 leaf trib-port-payload {
119 "interface name being mapped to trib-port";
123 grouping odu-attributes {
128 base org-openroadm-otn-common-types:odu-rate-identity;
131 "rate identity of the ODU. 'identityref' is used
132 to allow to extend for future higher rates";
136 base org-openroadm-otn-common-types:odu-function-identity;
139 "function of the ODU interface";
141 leaf monitoring-mode {
143 enum "not-terminated" {
145 "Not Terminated: no detection or generation.
146 Overhead is passed through the interface transparently in receive direction";
150 "Terminated: detection and generation enabled.
151 Overhead is erased (replaced with all zeros) in receive direction";
155 "Monitored: detection enabled.
156 Overhead is passed through the interface transparently in receive direction";
160 "Monitoring mode of the ODU Overhead";
162 leaf no-oam-function {
165 "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.";
167 leaf proactive-delay-measurement-enabled {
170 "enable/disable proactive Delay Measurement";
172 uses parent-odu-allocation;
173 uses org-openroadm-otn-common:trail-trace;
174 uses org-openroadm-otn-common:deg-threshold;
176 key "layer tcm-direction";
179 "Tandem Connection Management";
185 grouping parent-odu-allocation {
186 container parent-odu-allocation {
187 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'";
188 presence "Explicit assignment of parent ODU trib-slot and trib-port allocation. ";
189 leaf trib-port-number {
195 "Assigned tributary port number in parent OPU";
197 leaf-list trib-slots {
204 "Assigned trib slots occupied in parent OPU MSI";
211 when "../monitoring-mode = 'terminated' or ../monitoring-mode = 'monitored'";
213 "Optical Channel Payload Unit (OPU)";
215 type org-openroadm-otn-common-types:payload-type-def;
219 leaf rx-payload-type {
220 type org-openroadm-otn-common-types:payload-type-def;
222 "Received Payload Type";
224 leaf exp-payload-type {
225 type org-openroadm-otn-common-types:payload-type-def;
227 "Expected Payload Type";
229 leaf payload-interface {
232 "Expected Payload of OPU. It designates client interface name";
235 when "../payload-type = '20' or ../payload-type = '21'";
258 grouping tcm-attributes {
260 "Tandem Connection Monitoring (TCM) attributes";
268 leaf monitoring-mode {
270 enum "not-terminated" {
272 "Not Terminated: no detection or generation.
273 Overhead is passed through the interface transparently in receive direction
274 unless extension is set for erase";
278 "Terminated: detection and generation enabled.
279 Overhead is erased (replaced with all zeros) in receive direction, unless
280 extension is set to passthrough";
284 "Monitored: detection enabled.
285 Overhead is passed through the interface transparently in receive direction
286 unless extension is set for erase";
290 "Monitoring mode of the TCM layer";
292 leaf ltc-act-enabled {
295 "enable/disable alarm transfer on detection of Loss of Tandem Connection (LTC)";
297 leaf proactive-delay-measurement-enabled {
300 "enable/disable proactive Delay Measurement for TCM";
306 "TCM termination direction faces the switch fabric.";
310 "TCM termination direction faces the facility";
316 uses org-openroadm-otn-common:trail-trace;
317 uses org-openroadm-otn-common:deg-threshold;
320 grouping odu-container {
322 presence "Attribute Nodes for Optical Data Unit (ODU)";
324 "Optical Channel Data Unit (ODU)";
325 uses odu-attributes {
326 refine "opu/rx-payload-type" {
332 refine "no-oam-function" {
336 uses org-openroadm-maint-testsignal:maint-testsignal;
340 augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface" {
341 when "org-openroadm-device:type = 'openROADM-if:otnOdu'";