1 module org-openroadm-port-capability {
2 namespace "http://org/openroadm/port-capability";
3 prefix org-openroadm-port-capability;
5 import org-openroadm-device {
6 prefix org-openroadm-device;
7 revision-date 2017-12-15;
9 import org-openroadm-port-types {
10 prefix org-openroadm-port-types;
11 revision-date 2017-12-15;
13 import org-openroadm-prot-otn-linear-aps {
14 prefix org-openroadm-prot-otn-linear-aps;
15 revision-date 2017-12-15;
17 import org-openroadm-otn-common-types {
18 prefix org-openroadm-otn-common-types;
19 revision-date 2017-12-15;
27 "YANG definitions for device facility OTN linear APS protection groups.
29 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
30 AT&T Intellectual Property. All other rights reserved.
32 Redistribution and use in source and binary forms, with or without modification,
33 are permitted provided that the following conditions are met:
35 * Redistributions of source code must retain the above copyright notice, this
36 list of conditions and the following disclaimer.
37 * Redistributions in binary form must reproduce the above copyright notice,
38 this list of conditions and the following disclaimer in the documentation and/or
39 other materials provided with the distribution.
40 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
41 contributors may be used to endorse or promote products derived from this software
42 without specific prior written permission.
44 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
45 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
46 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
47 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
48 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
49 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
50 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
51 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
52 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
53 POSSIBILITY OF SUCH DAMAGE.
55 Also contains code components extracted from IETF Interfaces. These code components
56 are copyrighted and licensed as follows:
58 Copyright (c) 2017 IETF Trust and the persons identified as the document authors.
61 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
62 to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
63 publication of this document. Please review these documents carefully, as they
64 describe your rights and restrictions with respect to this document. Code Components
65 extracted from this document must include Simplified BSD License text as described in
66 Section 4.e of the Trust Legal Provisions and are provided without warranty as
67 described in the Simplified BSD License.";
78 typedef tcm-direction-capability-type {
82 "Port supports up TCM termination, e.g., direction facing the switch fabric";
86 "Port supports down TCM termination, e.g., direction facing out of the equipment ";
90 "Port supports both up and down TCM terminations";
94 "TCM direction capability for the port";
97 grouping port-id-grp {
98 leaf circuit-pack-name {
100 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:circuit-pack-name";
103 "Circuit-Pack identifier. Unique within the context of a device.";
107 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports/org-openroadm-device:port-name";
110 "Port index identifier. Unique within the context of a circuit-pack.";
114 grouping slot-id-grp {
115 leaf circuit-pack-name {
117 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:circuit-pack-name";
120 "Circuit-Pack identifier. Unique within the context of a device.";
124 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:cp-slots/org-openroadm-device:slot-name";
127 "cp-slot name. Unique within the context of a circuit-pack.";
131 grouping port-capability-grp {
133 "OpenROADM port capability parameters.";
134 container port-capabilities {
136 list supported-interface-capability {
139 "Supported interface capability on the port.";
142 base org-openroadm-port-types:supported-if-capability;
145 "Interface type/hierarchy/rate supported on this port";
147 container otn-capability {
148 leaf-list if-protection-capability {
150 base org-openroadm-prot-otn-linear-aps:otn-protection-type;
153 "supported protection types if protection is supported on this port";
158 "ODU PM delay measurement (DMp) (G.709 06-2016 15.8.2.1.6)";
163 "only when tcm-capable=true, the following two are applicable (ie, proactive-DMt, tcm-direction";
166 when "../tcm-capable= 'true'";
169 "ODU TCM delay measurement (DMt) (G.709 06-2016 15.8.2.2.8)";
171 leaf tcm-direction-capability {
172 when "../tcm-capable= 'true'";
173 type tcm-direction-capability-type;
175 "Supported tcm direction capability on the ODUk associated with the port.";
177 leaf-list opu-payload-type-mapping {
178 type org-openroadm-otn-common-types:payload-type-def;
180 "OPU payload-type mapping OPU.";
182 container mpdr-client-restriction {
184 "Restriction rules for how LO ODUs are multiplexed into HO ODU
185 and the relation with mapped client ports.";
186 leaf network-ho-odu-circuit-pack-name {
188 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:circuit-pack-name";
192 "Circuit-Pack identifier. Unique within the context of a device.";
194 leaf network-ho-odu-port-name {
196 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs[org-openroadm-device:circuit-pack-name=current()/../network-ho-odu-circuit-pack-name]/org-openroadm-device:ports/org-openroadm-device:port-name";
204 base org-openroadm-otn-common-types:odtu-type-identity;
208 "ODTU type, part of the MSI (Multiplex Structure Identifier)";
210 leaf network-ho-odu-trib-port-number {
216 "Tributary port number";
218 leaf-list network-ho-odu-trib-slots {
226 container odu-mux-hierarchy {
227 presence "HO ODU supported hierarchy.";
228 list mux-capability {
229 key "stage-number ho-odu-type ho-odu-payload-type";
237 base org-openroadm-otn-common-types:odu-rate-identity;
240 leaf ho-odu-payload-type {
241 type org-openroadm-otn-common-types:payload-type-def;
243 "high order ODU payload type";
245 leaf-list supported-lo-odu-type {
247 base org-openroadm-otn-common-types:odu-rate-identity;
250 leaf lo-odu-proactive-DMp {
253 "lo order ODU PM delay measurement (DMp) (G.709 06-2016 15.8.2.1.6)";
255 leaf lo-odu-tcm-capable {
258 "only when lo-odu-tcm-capable=true, the following two are applicable (ie, lo-odu-proactive-DMt, lo-odu-tcm-direction";
260 leaf lo-odu-proactive-DMt {
261 when "../lo-odu-tcm-capable= 'true'";
264 "lo order ODU TCM delay measurement (DMt) (G.709 06-2016 15.8.2.2.8)";
266 leaf lo-odu-tcm-direction-capability {
267 when "../lo-odu-tcm-capable= 'true'";
268 type tcm-direction-capability-type;
270 "Supported tcm direction capability for low order ODU associated with the port.";
279 grouping port-group-restriction-grp {
280 container port-group-restriction {
282 list port-bandwidth-sharing {
283 key "port-sharing-id";
284 leaf port-sharing-id {
288 key "circuit-pack-name port-name";
291 list pluggable-optics-holder-list {
292 key "circuit-pack-name slot-name";
295 leaf shared-bandwidth {
299 list possible-port-config {
304 list port-if-type-config {
305 key "circuit-pack-name port-name";
307 leaf-list port-if-type {
309 base org-openroadm-port-types:supported-if-capability;
313 list slot-if-type-config {
314 key "circuit-pack-name slot-name port-name";
318 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports/org-openroadm-device:port-name";
321 leaf-list port-if-type {
323 base org-openroadm-port-types:supported-if-capability;
332 augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports" {
333 uses port-capability-grp;
335 augment "/org-openroadm-device:org-openroadm-device" {
336 uses port-group-restriction-grp;