Port-mapping changes to support 7.1.0 models
[transportpce.git] / api / src / main / yang / transportpce-portmapping@2020-10-12.yang
diff --git a/api/src/main/yang/transportpce-portmapping@2020-10-12.yang b/api/src/main/yang/transportpce-portmapping@2020-10-12.yang
new file mode 100644 (file)
index 0000000..92c1916
--- /dev/null
@@ -0,0 +1,293 @@
+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-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 2020-03-27;
+  }
+
+
+  organization
+    "transportPCE";
+  contact
+    "transportPCE committers - ODL";
+  description
+    "YANG definitions of RPCs supported by OLM. Copyright (c) 2017
+     AT&T and others. All rights reserved. authors: Dhruv Bhardwaj
+     ( db929a@att.com ) Shweta Vachhani ( sv111y@att.com )";
+
+  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";
+  }
+
+  container network {
+    list nodes {
+      key "node-id";
+      leaf node-id {
+        type string;
+        description
+          "Unique identifier for node in the network";
+      }
+      container 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 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.0 {
+              value 3;
+              description
+                "Version 7.1.0";
+            }
+          }
+        }
+        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";
+        }
+      }
+      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 supporting-ethernet {
+          type string;
+          description
+            "Ethernet interface provisioned on the port";
+        }
+        leaf supporting-odu4 {
+          type string;
+          description
+            "ODU4 interface provisioned on the port";
+        }
+        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;
+          }
+        }
+        leaf xponder-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";
+        }
+      }
+      list mc-capabilities {
+          key mc-node-name;
+          when "../node-info/node-type = 'rdm'";
+          description
+            "Capabilities of the media channel associated with a degree or a SRG.";
+          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";
+          }
+          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.";
+          }
+      }
+      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;
+        }
+      }
+      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;
+          }
+        }
+      }
+    }
+  }
+}