Adding OpenConfig YANG models.

Change-Id: I0a2fdd5826e80933cf4b9ae939ff3051acec02aa
diff --git a/models/openconfig/src/main/yang/aft/openconfig-aft-network-instance.yang b/models/openconfig/src/main/yang/aft/openconfig-aft-network-instance.yang
new file mode 100644
index 0000000..b42c8ed
--- /dev/null
+++ b/models/openconfig/src/main/yang/aft/openconfig-aft-network-instance.yang
@@ -0,0 +1,115 @@
+module openconfig-aft-network-instance {
+  yang-version "1";
+
+  namespace "http://openconfig.net/yang/aft/ni";
+  prefix "oc-aftni";
+
+  import openconfig-extensions { prefix "oc-ext"; }
+  import openconfig-network-instance { prefix "oc-ni"; }
+
+  organization
+    "OpenConfig working group";
+
+  contact
+    "OpenConfig working group
+     www.openconfig.net";
+
+  description
+    "This module provides augmentations that are utilized
+     when building the OpenConfig network instance model to
+     add per-NI AFTs.";
+
+  oc-ext:openconfig-version "0.2.1";
+
+  revision 2017-01-13 {
+    description
+      "Updated revision for external review";
+    reference "0.2.1";
+  }
+
+
+  typedef network-instance-ref {
+    type leafref {
+      path "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:config/oc-ni:name";
+    }
+    description
+      "A re-usable type that can be referenced within other
+       modules that references a network instance.";
+  }
+
+  augment "/oc-ni:network-instances/oc-ni:network-instance/" +
+          "oc-ni:afts/oc-ni:ipv4-unicast/oc-ni:ipv4-entry/" +
+          "oc-ni:next-hops/oc-ni:next-hop/oc-ni:state" {
+
+    description
+      "Add leaves that require referencing of a network instance to the
+      operational state parameters of a next-hop within the AFT for IPv4
+      unicast.";
+
+    uses aft-nexthop-ni-state;
+  }
+
+ augment "/oc-ni:network-instances/oc-ni:network-instance/" +
+          "oc-ni:afts/oc-ni:ipv6-unicast/oc-ni:ipv6-entry/" +
+          "oc-ni:next-hops/oc-ni:next-hop/oc-ni:state" {
+
+    description
+      "Add leaves that require referencing of a network instance to the
+      operational state parameters of a next-hop within the AFT for IPv6
+      unicast.";
+
+    uses aft-nexthop-ni-state;
+  }
+
+  grouping aft-nexthop-ni-state {
+    description
+      "Operational state parameters relating to a next-hop which reference a
+      network instance.";
+
+    leaf network-instance {
+      type network-instance-ref;
+      description
+        "The network-instance within which the next-hop should be resolved.
+         When this leaf is unspecified, the next-hop is resolved within 
+         the local instance.";
+    }
+  }
+
+  augment "/oc-ni:network-instances/oc-ni:network-instance/" +
+          "oc-ni:afts/oc-ni:ipv4-unicast/oc-ni:ipv4-entry/oc-ni:state" {
+    description
+      "Add leaves that require referencing of a network instance to the
+      operational state parameters of an entry within the IPv4 unicast AFT.";
+
+    uses aft-entry-ni-state;
+  }
+
+  augment "/oc-ni:network-instances/oc-ni:network-instance/" +
+          "oc-ni:afts/oc-ni:ipv6-unicast/oc-ni:ipv6-entry/oc-ni:state" {
+    description
+      "Add leaves that require referencing of a network instance to the
+      operational state parameters of an entry within the IPv6 unicast AFT.";
+
+    uses aft-entry-ni-state;
+  }
+
+  grouping aft-entry-ni-state {
+    description
+      "Operational state parameters relating to an AFT entry which reference
+      a network instance.";
+
+    leaf origin-network-instance {
+      type network-instance-ref;
+      description
+        "If the AFT entry was imported from another network instance (e.g., it
+        corresponds to a L3 forwarding entry which was learned within another
+        network-instance), the value of this leaf reflects the network-instance
+        from which it was learned.
+
+        For example, if the local network-instance corresponds to a L3VRF, and
+        routes are imported from the VPNv4 address-family of the BGP instance
+        in the DEFAULT_INSTANCE, then this value would reflect the
+        DEFAULT_INSTANCE as the origin-network-instance.";
+    }
+  }
+}