[email protected] Maven / Gradle / Ivy
module transportpce-portmapping {
yang-version 1;
namespace "http://org/opendaylight/transportpce/portmapping";
prefix org-opendaylight-transportpce-portmapping;
import ietf-inet-types {
prefix ietf-inet-types;
revision-date 2013-07-15;
}
import org-openroadm-common-optical-channel-types {
prefix org-openroadm-common-optical-channel-types;
revision-date 2020-05-29;
}
import org-openroadm-device-types {
prefix org-openroadm-device-types;
revision-date 2019-11-29;
}
import org-openroadm-otn-common-types {
prefix org-openroadm-otn-common-types;
revision-date 2020-03-27;
}
import org-openroadm-switching-pool-types {
prefix org-openroadm-switching-pool-types;
revision-date 2019-11-29;
}
import org-openroadm-port-types {
prefix org-openroadm-port-types;
revision-date 2023-05-26;
}
organization
"transportPCE";
contact
"transportPCE committers - ODL";
description
"YANG definitions for defining port mapping in TransportPCE.
Copyright (c) 2017 AT&T and others. All rights reserved.
authors: Dhruv Bhardwaj ( [email protected] ) Shweta Vachhani ( [email protected] )
Balagangadhar Bathula ( [email protected] )";
revision 2022-09-22 {
description
"Add initial support to regenerators functionality; Modify the attribute
xponder-type to xpdr-type";
}
revision 2022-03-16 {
description
"Align org-openroadm-port-types model version to the latest one,
that is 2020-12-11";
}
revision 2022-01-14 {
description
"Modify the container names for ODUCn and OTUCn supporting interfaces";
}
revision 2021-09-27 {
description
"Add supporting-otu interface in mapping";
}
revision 2021-04-26 {
description
"Adding mux-profile information to support 400G Muxponder";
}
revision 2021-04-25 {
description
"OpenROADM version fix 7.1.0 -> 7.1";
}
revision 2021-03-15 {
description
"Refacto model to use grouping";
}
revision 2021-03-10 {
description
"Add operational and administrative state of device port
in mapping";
}
revision 2020-10-12 {
description
"Upgrading imported models to 7.1.0";
}
revision 2020-08-27 {
description
"Add support to differentiate flexible and fixed
grid capabilities with mc-capabilities";
}
revision 2020-04-29 {
description
"Add SAPI/DAPI lcp hash value";
}
revision 2020-01-28 {
description
"Add necessary parameters to consolidate OTN
and address ONAP MDONS use case";
}
revision 2020-01-13 {
description
"Add OTN data from device and necessary
to build node inside otn topology";
}
revision 2019-11-15 {
description
"OTN support";
}
revision 2019-07-02 {
description
"Version 2. To manage device 2.2.1";
}
revision 2017-02-28 {
description
"Initial revision of port mapping model";
}
typedef openroadm-node-version {
type enumeration {
enum 1.2.1 {
value 1;
description
"Version 1.2.1";
}
enum 2.2.1 {
value 2;
description
"Version 2.2.1";
}
enum 7.1 {
value 3;
description
"Version 7.1";
}
}
description
"YANG enumerations for OpenROADM models;
enums should be same as OpenROADM models
defined in org-openroadm-common-types";
}
grouping node-info {
leaf node-type {
type org-openroadm-device-types:node-types;
description
"Identifier for node-type e.g Roadm, xponder";
}
leaf openroadm-version {
type openroadm-node-version;
}
leaf node-clli {
type string;
description
"Common Language Location Identifier.";
}
leaf node-vendor {
type string;
description
"Vendor of the equipment";
}
leaf node-model {
type string;
description
"Physical resource model information.";
}
leaf node-ip-address {
type ietf-inet-types:ip-address;
description
"Current IP Address of device";
}
}
grouping mapping {
list mapping {
key "logical-connection-point";
description
"Mapping for Physical circuit pack/port/parent interfaces corresponding
to each logical connection point present in the node.";
leaf logical-connection-point {
type string;
}
leaf supporting-circuit-pack-name {
type string;
description
"Circuit pack where the logical connection point is located";
}
leaf supporting-port {
type string;
description
"Port where the logical connection point is located";
}
leaf supporting-oms {
type string;
description
"OMS interface provisioned on the port";
}
leaf supporting-ots {
type string;
description
"OTS interface provisioned on the port";
}
leaf port-direction {
type string;
description
"Useful for line port of XPDR, for which there is no indication
in its logical-termination-point naming";
}
leaf port-qual {
type string;
description
"Useful to identify from portmapping client from network ports
of XPDR";
}
leaf port-admin-state {
type string;
description
"admin-state of port";
}
leaf port-oper-state {
type string;
description
"operational-state of port";
}
leaf supporting-ethernet {
type string;
description
"Ethernet interface provisioned on the port";
}
leaf supporting-otu4 {
type string;
description
"OTU4 interface provisioned on the port";
}
leaf supporting-otucn {
type string;
description
"OTUCn interface provisioned on the port for B100G support. This includes
OTUC2, OTUC3, OTUC4";
}
leaf supporting-odu4 {
type string;
description
"ODU4 interface provisioned on the port";
}
leaf supporting-oducn {
type string;
description
"ODUCn interface provisioned on the port for B100G support. This includes
ODUC2, ODUC3, ODUC4";
}
leaf rate {
type string;
description
"Rate supported by the port";
}
leaf-list supported-interface-capability {
type identityref {
base org-openroadm-port-types:supported-if-capability;
}
}
uses mpdr-restrictions-grp;
uses regen-profiles-grp;
leaf xpdr-type {
type org-openroadm-device-types:xpdr-node-types;
}
leaf connection-map-lcp {
type string;
description
"For XPDR, associate two logical-connection-points from device/connnection-map
data";
}
leaf partner-lcp {
type string;
description
"For XPDR unidirectional NETWORK port, associate two logical-connection-points
from device/partner port data";
}
leaf lcp-hash-val {
type string;
description
"Hash value generated from node-id and lcp. This value will be used to map-
back SAPI and DAPI resource";
}
}
}
grouping regen-profiles-grp {
container regen-profiles {
when "../xpdr-type = 'regen'";
description
"This container is only populated when the xpdr-type is regen";
leaf-list regen-profile {
description
"Supported regen profile, these are otsi-group-capabilities profile";
type string;
}
}
}
grouping mpdr-restrictions-grp {
container mpdr-restrictions {
when "../port-qual = 'switch-client' and ../../node-info/openroadm-version = '7.1'";
description
"This container provides the information about multiplexing of LO ODUs to HO ODUs
Caveat: If port advertizes multiple rates, this container does not work and results could
be wrong, meaning if the supported-interface-capabilities include, if-100GE-ODU4, if-OTU4-ODU4,
if-200GE-oduflexcbr, then min/max-trib-slot could be different";
leaf min-trib-slot {
type org-openroadm-otn-common-types:opucn-trib-slot-def;
description
"Minimum OPUCn 5G trib slots in the form of TS #A.B (G.709)";
}
leaf max-trib-slot {
type org-openroadm-otn-common-types:opucn-trib-slot-def;
description
"Maximum OPUCn 5G trib slots in the form of TS #A.B (G.709)";
}
}
}
grouping mc-capabilities {
list mc-capabilities {
key "mc-node-name";
description
"Capabilities of the media channel associated with a degree SRG, or
XPDR (7.1 and above). ";
leaf mc-node-name {
type string;
description
"Name of the node, it has the format of DEGi-TTP or SRGj-PP
Where i, and j are the degree and SRG numbers respectively.
For XPDR type it will have one element in the leaf-list,
with name XPDR-mcprofile";
}
leaf slot-width-granularity {
type org-openroadm-common-optical-channel-types:frequency-GHz;
default "50";
description
"Width of a slot measured in GHz.";
}
leaf center-freq-granularity {
type org-openroadm-common-optical-channel-types:frequency-GHz;
default "50";
description
"Width of a slot measured in GHz.";
}
}
}
grouping cp-to-degree {
list cp-to-degree {
key "circuit-pack-name";
description
"This mapping helps locate degree number of the circuitpack that
does lldp protocol management";
leaf circuit-pack-name {
type string;
}
leaf degree-number {
type uint32;
}
leaf interface-name {
type string;
}
}
}
grouping switching-pool-lcp {
list switching-pool-lcp {
key "switching-pool-number";
description
"For MUXPDR and SWITCH, associates from device/odu-switching-pools data,
the logical-connection-points";
leaf switching-pool-number {
type uint16;
description
"Unique identifier for this odu-switching-pool";
}
leaf switching-pool-type {
type org-openroadm-switching-pool-types:switching-pool-types;
}
list non-blocking-list {
key "nbl-number";
leaf nbl-number {
type uint16;
description
"Identifier for this non-blocking-list. Unique within odu-switching-pool";
}
leaf interconnect-bandwidth-unit {
type uint32;
description
"Switch fabric interconnect bandwidth unit rate in bits per second.
Represents granularity of switch fabric";
}
leaf interconnect-bandwidth {
type uint32;
description
"Total interconnect bandwidth for a non-blocking element expressed as
number of inter-connect-bandwidth units : corresponds to capable-
inter-connect bandwidth";
}
leaf available-interconnect-bandwidth {
type uint32;
description
"Total interconnect bandwidth available for a non-blocking element can use as
number of inter-connect-bandwidth units";
}
leaf-list lcp-list {
type string;
}
}
}
}
container network {
list nodes {
key "node-id";
leaf node-id {
type string;
description
"Unique identifier for node in the network";
}
container node-info {
uses node-info;
}
uses mapping;
uses mc-capabilities;
uses cp-to-degree;
uses switching-pool-lcp;
}
}
}