summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-network-instance-policy.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-network-instance-policy.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-network-instance-policy.yang115
1 files changed, 115 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-network-instance-policy.yang b/src/plugins/yang/openconfig/openconfig-network-instance-policy.yang
new file mode 100644
index 0000000..afbcacd
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-network-instance-policy.yang
@@ -0,0 +1,115 @@
+module openconfig-network-instance-policy {
+
+ yang-version "1";
+
+ // namespace
+ namespace "http://openconfig.net/yang/network-instance/policy";
+
+ prefix "oc-ni-pol";
+
+ // import some basic types
+ import openconfig-extensions { prefix oc-ext; }
+ import openconfig-routing-policy { prefix oc-rpol; }
+ import openconfig-policy-types { prefix oc-pol-types; }
+
+
+ // meta
+ organization "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This module defines routing policy statements (conditions and
+ actions) for the network instance model. These statements are
+ generally added to the routing policy model.";
+
+ oc-ext:openconfig-version "0.1.0";
+
+ revision "2017-02-15" {
+ description
+ "Initial revision";
+ reference "0.1.0";
+ }
+
+ // grouping statements
+
+ grouping protocol-instance-policy-config {
+ description
+ "Configuration data for policy matching on protocol instance";
+
+ leaf protocol-identifier {
+ type identityref {
+ base oc-pol-types:INSTALL_PROTOCOL_TYPE;
+ }
+ description
+ "The identifier (protocol type) of the
+ protocol instance to match on in the local network
+ instance.";
+ }
+
+ leaf protocol-name {
+ type string;
+ description
+ "The name of the protocol instance to match
+ on in the local network instance";
+ }
+ }
+
+ grouping protocol-instance-policy-state {
+ description
+ "Operational state data for policy matching on protocol
+ instance";
+ }
+
+ grouping protocol-instance-policy-top {
+ description
+ "Top-level grouping for policy matching on protocol instance";
+
+ container match-protocol-instance {
+ description
+ "Top-level container for protocol instance match condition
+ in policy statements. The protocol instance is referenced
+ by an identifier and name";
+
+ container config {
+ description
+ "Configuration data for policy matching on protocol
+ instance";
+
+ uses protocol-instance-policy-config;
+ }
+
+ container state {
+
+ config false;
+
+ description
+ "Operational state data for policy matching on protocol instance";
+
+ uses protocol-instance-policy-config;
+ uses protocol-instance-policy-state;
+ }
+ }
+ }
+
+ // data definition statements
+
+ // augment statements
+
+ augment "/oc-rpol:routing-policy/oc-rpol:policy-definitions/" +
+ "oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/" +
+ "oc-rpol:conditions" {
+ description
+ "Add match conditions for protocol instances to the routing
+ policy model.";
+
+ uses protocol-instance-policy-top;
+ }
+
+ // rpc statements
+
+ // notification statements
+
+}