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 2018-10-19;
9 import org-openroadm-port-types {
10 prefix org-openroadm-port-types;
11 revision-date 2018-10-19;
13 import org-openroadm-prot-otn-linear-aps {
14 prefix org-openroadm-prot-otn-linear-aps;
15 revision-date 2018-10-19;
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.";
82 typedef tcm-direction-capability-type {
86 "Port supports up TCM termination, e.g., direction facing the switch fabric";
90 "Port supports down TCM termination, e.g., direction facing out of the equipment ";
94 "Port supports both up and down TCM terminations";
98 "TCM direction capability for the port";
101 grouping port-id-grp {
102 leaf circuit-pack-name {
104 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:circuit-pack-name";
107 "Circuit-Pack identifier. Unique within the context of a device.";
111 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports/org-openroadm-device:port-name";
114 "Port index identifier. Unique within the context of a circuit-pack.";
118 grouping slot-id-grp {
119 leaf circuit-pack-name {
121 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:circuit-pack-name";
124 "Circuit-Pack identifier. Unique within the context of a device.";
128 path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:cp-slots/org-openroadm-device:slot-name";
131 "cp-slot name. Unique within the context of a circuit-pack.";
135 grouping port-capability-grp {
137 "OpenROADM port capability parameters.";
138 container port-capabilities {
140 list supported-interface-capability {
143 "Supported interface capability on the port.";
146 base org-openroadm-port-types:supported-if-capability;
149 "Interface type/hierarchy/rate supported on this port";
151 container otn-capability {
152 leaf-list if-protection-capability {
154 base org-openroadm-prot-otn-linear-aps:otn-protection-type;
157 "supported protection types if protection is supported on this port";
162 "ODU PM delay measurement (DMp) (G.709 06-2016 15.8.2.1.6)";
167 "only when tcm-capable=true, the following two are applicable (ie, proactive-DMt, tcm-direction";
170 when "../tcm-capable= 'true'";
173 "ODU TCM delay measurement (DMt) (G.709 06-2016 15.8.2.2.8)";
175 leaf tcm-direction-capability {
176 when "../tcm-capable= 'true'";
177 type tcm-direction-capability-type;
179 "Supported tcm direction capability on the ODUk associated with the port.";
181 leaf-list opu-payload-type-mapping {
182 type org-openroadm-otn-common-types:payload-type-def;
184 "OPU payload-type mapping OPU.";
186 container mpdr-client-restriction {
188 "Restriction rules for how LO ODUs are multiplexed into HO ODU
189 and the relation with mapped client ports.";
190 leaf network-ho-odu-circuit-pack-name {
194 "Circuit-Pack identifier. Unique within the context of a device.";
196 leaf network-ho-odu-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";
319 leaf-list port-if-type {
321 base org-openroadm-port-types:supported-if-capability;
330 augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports" {
331 uses port-capability-grp;
333 augment "/org-openroadm-device:org-openroadm-device" {
334 uses port-group-restriction-grp;