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.";
+ }
+ }
+}