Add YANG modules used by SDN-R apps

Applications of wireless artifacts supports a couple of YANG modules
from various SDOs. Most of them might be "learnt" by ODL (CCSDK) when
connecting the frist time to a NetConf Server during handshake,
(HELLO-MESSAGE). APIs based on YANG modules might be used south-
bound and northbound.

Issue-ID: CCSDK-352
Change-Id: I8785148c1f9473c7c006255d718a1fbaf950164c
Signed-off-by: demx8as6 <martin.skorupski@highstreet-technologies.com>
diff --git a/sdnr/model/yang/ltp-path@2017-05-26.yang b/sdnr/model/yang/ltp-path@2017-05-26.yang
new file mode 100644
index 0000000..e9404d8
--- /dev/null
+++ b/sdnr/model/yang/ltp-path@2017-05-26.yang
@@ -0,0 +1,138 @@
+module ltp-path {
+  namespace "urn:onf:params:xml:ns:yang:ltp-path";
+  prefix ltp-path;
+
+  import core-model {
+    prefix core-model;
+  }
+
+  organization
+   "ONF (Open Networking Foundation) Open Transport Working Group -
+    Wireless Transport Project";
+  contact 
+    "WG Web: <https://www.opennetworking.org/technical-communities/areas/
+              specification/1931-optical-transport>
+     WG List:  <mailto:wireless-transport@login.opennetworking.org>
+     WG Chair: Lyndon Ong
+               <mailto:lyong@ciena.com>
+     WG Chair: Giorgio Cazzaniga
+               <mailto:giorgio.cazzaniga@sm-optics.com>
+     Editor:   Martin Skorupski
+               <mailto:martin.skorupski@highstreet-technologies.com>";
+  description 
+    "This module contains a collection of YANG definitions describing a 
+     telecommunication network path.";
+ 
+  revision 2017-05-26 {
+    description "Initial version";
+    reference "ltp-path, ONF core-model 1.2";
+  }
+
+  typedef layer-protocol-name-enumeration {
+    type enumeration {
+      enum ETH {
+        value 1;
+        description
+          "Identifying the layer of Ethernet.";
+      }
+      enum PTP {
+        value 2;
+        description
+          "Identifying the layer or the Precision Time Protocol.";
+       }
+    }
+
+    description
+      "The propagation of the layer protocol name.";
+  }
+
+  container ltp-path {
+    description
+      "Listing all the path-identifiers, used by RESTCONF interfaces to
+       address an entry in the ltp-path-list.";
+
+    leaf-list path-identifier {
+      type leafref {
+        path '/ltp-path/ltp-path-list/path-id';
+      }
+      description 
+        "List of reference values for existing path entries.";
+    }
+
+    list ltp-path-list {
+
+      key "path-id";
+
+      description
+        "A list of path found in the network.";
+
+      leaf path-id {
+        type string;
+        description
+          "A unique identifier of a path. It migth be beneficial to use the 
+           format as defined in RFC 4122 
+           (https://www.ietf.org/rfc/rfc4122.txt).";
+      }
+
+      leaf path-name {
+        type string;
+        description
+          "The human readable name of a path. It should include start 
+           and end point.";
+      }
+
+      leaf forwarding-direction {
+        type core-model:forwarding-direction;
+        description
+          "Defines the directionality of the path.";
+      }
+
+      leaf layer-protocol-name {
+        type layer-protocol-name-enumeration;
+        description
+          "Defines the layer of the path. Please see ONF CoreModel for 
+           further details.";
+      }
+
+      list logical-termination-point-list {
+
+        key "ltp-index";
+        min-elements 2;
+
+        description
+          "An ordered list of logical-termination points, defining the path.";
+
+        leaf ltp-index {
+          type string;
+          description
+            "The index of the LTP with in the list. The LTP with the highest
+             index is the end-point of the path. The LTP with the lowest
+             index is the start-point of the path.";
+        }
+
+        leaf ltp-reference {
+          type leafref {
+            path '/core-model:network-element/core-model:ltp/core-model:uuid';
+          }
+          description
+            "The reference value of a network-elements LTP.";
+        }
+
+        leaf physical-port-reference {
+          type string;
+          description
+            "A text label for the unmodelled physical port associated with 
+             the LTP. In many cases there is no associated physical port.";
+        }
+    
+        leaf node-reference {
+          type leafref {
+            path '/core-model:network-element/core-model:uuid';
+          }
+          description
+            "A reference value identifying a network-element.";
+        }
+      }
+   }
+  }
+}