1 module transportpce-portmapping {
3 namespace "http://org/opendaylight/transportpce/portmapping";
4 prefix org-opendaylight-transportpce-portmapping;
6 import ietf-inet-types {
7 prefix ietf-inet-types;
8 revision-date 2013-07-15;
10 import org-openroadm-common-optical-channel-types {
11 prefix org-openroadm-common-optical-channel-types;
12 revision-date 2020-05-29;
14 import org-openroadm-device-types {
15 prefix org-openroadm-device-types;
16 revision-date 2019-11-29;
18 import org-openroadm-otn-common-types {
19 prefix org-openroadm-otn-common-types;
20 revision-date 2020-03-27;
22 import org-openroadm-switching-pool-types {
23 prefix org-openroadm-switching-pool-types;
24 revision-date 2019-11-29;
26 import org-openroadm-port-types {
27 prefix org-openroadm-port-types;
28 revision-date 2023-05-26;
35 "transportPCE committers - ODL";
37 "YANG definitions for defining port mapping in TransportPCE.
38 Copyright (c) 2017 AT&T and others. All rights reserved.
39 authors: Dhruv Bhardwaj ( db929a@att.com ) Shweta Vachhani ( sv111y@att.com )
40 Balagangadhar Bathula ( bb4341@att.com )";
44 "Add leaflist supported-operational-mode to lcp";
48 "Add initial support to regenerators functionality; Modify the attribute
49 xponder-type to xpdr-type";
53 "Align org-openroadm-port-types model version to the latest one,
58 "Modify the container names for ODUCn and OTUCn supporting interfaces";
62 "Add supporting-otu interface in mapping";
66 "Adding mux-profile information to support 400G Muxponder";
70 "OpenROADM version fix 7.1.0 -> 7.1";
74 "Refacto model to use grouping";
78 "Add operational and administrative state of device port
83 "Upgrading imported models to 7.1.0";
87 "Add support to differentiate flexible and fixed
88 grid capabilities with mc-capabilities";
92 "Add SAPI/DAPI lcp hash value";
96 "Add necessary parameters to consolidate OTN
97 and address ONAP MDONS use case";
101 "Add OTN data from device and necessary
102 to build node inside otn topology";
104 revision 2019-11-15 {
108 revision 2019-07-02 {
110 "Version 2. To manage device 2.2.1";
112 revision 2017-02-28 {
114 "Initial revision of port mapping model";
117 typedef openroadm-node-version {
136 "YANG enumerations for OpenROADM models;
137 enums should be same as OpenROADM models
138 defined in org-openroadm-common-types";
143 type org-openroadm-device-types:node-types;
145 "Identifier for node-type e.g Roadm, xponder";
147 leaf openroadm-version {
148 type openroadm-node-version;
153 "Common Language Location Identifier.";
158 "Vendor of the equipment";
163 "Physical resource model information.";
165 leaf node-ip-address {
166 type ietf-inet-types:ip-address;
168 "Current IP Address of device";
174 key "logical-connection-point";
176 "Mapping for Physical circuit pack/port/parent interfaces corresponding
177 to each logical connection point present in the node.";
178 leaf logical-connection-point {
181 leaf supporting-circuit-pack-name {
184 "Circuit pack where the logical connection point is located";
186 leaf supporting-port {
189 "Port where the logical connection point is located";
191 leaf supporting-oms {
194 "OMS interface provisioned on the port";
196 leaf supporting-ots {
199 "OTS interface provisioned on the port";
201 leaf port-direction {
204 "Useful for line port of XPDR, for which there is no indication
205 in its logical-termination-point naming";
210 "Useful to identify from portmapping client from network ports
213 leaf port-admin-state {
216 "admin-state of port";
218 leaf port-oper-state {
221 "operational-state of port";
223 leaf supporting-ethernet {
226 "Ethernet interface provisioned on the port";
228 leaf supporting-otu4 {
231 "OTU4 interface provisioned on the port";
233 leaf supporting-otucn {
236 "OTUCn interface provisioned on the port for B100G support. This includes
237 OTUC2, OTUC3, OTUC4";
239 leaf supporting-odu4 {
242 "ODU4 interface provisioned on the port";
244 leaf supporting-oducn {
247 "ODUCn interface provisioned on the port for B100G support. This includes
248 ODUC2, ODUC3, ODUC4";
253 "Rate supported by the port";
255 leaf-list supported-interface-capability {
257 base org-openroadm-port-types:supported-if-capability;
260 leaf-list supported-operational-mode {
263 "List of operational-mode supported by the port";
265 uses mpdr-restrictions-grp;
266 uses regen-profiles-grp;
268 type org-openroadm-device-types:xpdr-node-types;
270 leaf connection-map-lcp {
273 "For XPDR, associate two logical-connection-points from device/connnection-map
279 "For XPDR unidirectional NETWORK port, associate two logical-connection-points
280 from device/partner port data";
285 "Hash value generated from node-id and lcp. This value will be used to map-
286 back SAPI and DAPI resource";
291 grouping regen-profiles-grp {
292 container regen-profiles {
293 when "../xpdr-type = 'regen'";
295 "This container is only populated when the xpdr-type is regen";
296 leaf-list regen-profile {
298 "Supported regen profile, these are otsi-group-capabilities profile";
304 grouping mpdr-restrictions-grp {
305 container mpdr-restrictions {
306 when "../port-qual = 'switch-client' and ../../node-info/openroadm-version = '7.1'";
308 "This container provides the information about multiplexing of LO ODUs to HO ODUs
309 Caveat: If port advertizes multiple rates, this container does not work and results could
310 be wrong, meaning if the supported-interface-capabilities include, if-100GE-ODU4, if-OTU4-ODU4,
311 if-200GE-oduflexcbr, then min/max-trib-slot could be different";
313 type org-openroadm-otn-common-types:opucn-trib-slot-def;
315 "Minimum OPUCn 5G trib slots in the form of TS #A.B (G.709)";
318 type org-openroadm-otn-common-types:opucn-trib-slot-def;
320 "Maximum OPUCn 5G trib slots in the form of TS #A.B (G.709)";
325 grouping mc-capabilities {
326 list mc-capabilities {
329 "Capabilities of the media channel associated with a degree SRG, or
330 XPDR (7.1 and above). ";
334 "Name of the node, it has the format of DEGi-TTP or SRGj-PP
335 Where i, and j are the degree and SRG numbers respectively.
336 For XPDR type it will have one element in the leaf-list,
337 with name XPDR-mcprofile";
339 leaf slot-width-granularity {
340 type org-openroadm-common-optical-channel-types:frequency-GHz;
343 "Width of a slot measured in GHz.";
345 leaf center-freq-granularity {
346 type org-openroadm-common-optical-channel-types:frequency-GHz;
349 "Width of a slot measured in GHz.";
354 grouping cp-to-degree {
356 key "circuit-pack-name";
358 "This mapping helps locate degree number of the circuitpack that
359 does lldp protocol management";
360 leaf circuit-pack-name {
366 leaf interface-name {
372 grouping switching-pool-lcp {
373 list switching-pool-lcp {
374 key "switching-pool-number";
376 "For MUXPDR and SWITCH, associates from device/odu-switching-pools data,
377 the logical-connection-points";
378 leaf switching-pool-number {
381 "Unique identifier for this odu-switching-pool";
383 leaf switching-pool-type {
384 type org-openroadm-switching-pool-types:switching-pool-types;
386 list non-blocking-list {
391 "Identifier for this non-blocking-list. Unique within odu-switching-pool";
393 leaf interconnect-bandwidth-unit {
396 "Switch fabric interconnect bandwidth unit rate in bits per second.
397 Represents granularity of switch fabric";
399 leaf interconnect-bandwidth {
402 "Total interconnect bandwidth for a non-blocking element expressed as
403 number of inter-connect-bandwidth units : corresponds to capable-
404 inter-connect bandwidth";
406 leaf available-interconnect-bandwidth {
409 "Total interconnect bandwidth available for a non-blocking element can use as
410 number of inter-connect-bandwidth units";
425 "Unique identifier for node in the network";
427 container node-info {
431 uses mc-capabilities;
433 uses switching-pool-lcp;