--- /dev/null
+module transportpce-networkutils {
+ yang-version 1.1;
+ namespace "http://org/opendaylight/transportpce/networkutils";
+ prefix org-opendaylight-transportpce-networkutils;
+
+ import ietf-network {
+ prefix nd;
+ revision-date 2018-02-26;
+ }
+ import ietf-network-topology {
+ prefix nwt;
+ revision-date 2018-02-26;
+ }
+ import org-openroadm-common-network {
+ prefix cnet;
+ revision-date 2021-12-10;
+ }
+
+ revision 2022-06-30 {
+ description
+ "Add transportpce augmentation to manage otn-link-type in otn-topology";
+ }
+
+ revision 2017-08-18 {
+ description
+ "Initial revision of networkutils model";
+ }
+
+ typedef otn-link-type {
+ type enumeration {
+ enum "OTU4" {
+ value 0;
+ }
+ enum "ODU4" {
+ value 1;
+ }
+ enum "ODTU4" {
+ value 2;
+ }
+ enum "ODU2e" {
+ value 3;
+ }
+ enum "ODU0" {
+ value 4;
+ }
+ enum "OTUC4" {
+ value 5;
+ }
+ enum "ODUC4" {
+ value 6;
+ }
+ enum "OTUC3" {
+ value 7;
+ }
+ enum "ODUC3" {
+ value 8;
+ }
+ enum "OTUC2" {
+ value 9;
+ }
+ enum "ODUC2" {
+ value 10;
+ }
+ }
+ }
+
+ grouping links-input-grouping {
+ container links-input {
+ description
+ "This is the input to initialize the nodes";
+ leaf xpdr-node {
+ type string;
+ }
+ leaf xpdr-num {
+ type uint8;
+ }
+ leaf network-num {
+ type uint8;
+ }
+ leaf rdm-node {
+ type string;
+ }
+ leaf srg-num {
+ type uint8;
+ }
+ leaf termination-point-num {
+ type string;
+ }
+ }
+ }
+
+ rpc init-roadm-nodes {
+ description
+ "This rpc initiates roadm to roadm link";
+ input {
+ leaf rdm-a-node {
+ type string;
+ }
+ leaf deg-a-num {
+ type uint8;
+ }
+ leaf termination-point-a {
+ type string;
+ }
+ leaf rdm-z-node {
+ type string;
+ }
+ leaf deg-z-num {
+ type uint8;
+ }
+ leaf termination-point-z {
+ type string;
+ }
+ }
+ output {
+ leaf result {
+ type string;
+ }
+ }
+ }
+
+ rpc init-xpdr-rdm-links {
+ description
+ "This rpc initiates xponder to rdm link";
+ input {
+ uses links-input-grouping;
+ }
+ output {
+ leaf result {
+ type string;
+ }
+ }
+ }
+
+ rpc init-rdm-xpdr-links {
+ description
+ "This rpc initiates rdm to xponder link";
+ input {
+ uses links-input-grouping;
+ }
+ output {
+ leaf result {
+ type string;
+ }
+ }
+ }
+
+ rpc delete-link {
+ description
+ "This rpc deletes a given link in openroadm Topology layer";
+ input {
+ leaf link-id {
+ type string;
+ }
+ }
+ output {
+ leaf result {
+ type string;
+ }
+ }
+ }
+
+ augment "/nd:networks/nd:network/nwt:link" {
+ when "../nd:network-types/cnet:openroadm-common-network/otn-topology";
+ description
+ "Defines more accurate otn link types to differentiate otn links in otn-topology";
+ leaf otn-link-type {
+ when
+ "../cnet:link-type = 'OTN-LINK'";
+ type otn-link-type;
+ description
+ "type of otn link, to help link management inside transportpce";
+ }
+ }
+}