summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-isis-policy.yang
diff options
context:
space:
mode:
authorHongjun Ni <hongjun.ni@intel.com>2018-12-21 04:48:35 +0000
committerGerrit Code Review <gerrit@fd.io>2018-12-21 04:48:35 +0000
commit8791f3211bd61d213e4ea4a0af66a14bb2e3a239 (patch)
tree846a89e6ca81d639d024e5509654766d3581b7ea /src/plugins/yang/openconfig/openconfig-isis-policy.yang
parentde7bb8f2b0cdd2dfeba0586213bd415c9bb3fd18 (diff)
parent639509ad42f8bd6baf9b6f5b668a9bbfb05108d4 (diff)
Merge "Add Openconfig YANG modules."
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-isis-policy.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-isis-policy.yang189
1 files changed, 189 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-isis-policy.yang b/src/plugins/yang/openconfig/openconfig-isis-policy.yang
new file mode 100644
index 0000000..748b720
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-isis-policy.yang
@@ -0,0 +1,189 @@
+module openconfig-isis-policy {
+
+ yang-version "1";
+
+ // namespace
+ namespace "http://openconfig.net/yang/openconfig-isis-policy";
+
+ prefix "oc-isis-pol";
+
+ // import some basic types
+ import openconfig-routing-policy {prefix rpol; }
+ import openconfig-extensions { prefix oc-ext; }
+ import openconfig-isis-types { prefix isis-types; }
+
+
+ // meta
+ organization
+ "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net ";
+
+ description
+ "This module contains data definitions for ISIS routing policy.
+ It augments the base routing-policy module with BGP-specific
+ options for conditions and actions.";
+
+ oc-ext:openconfig-version "0.4.0";
+
+ revision "2018-05-14" {
+ description
+ "Update LSDB model to correct Extended IS reach TLV
+ bug. This change is backwards incompatible due to
+ adding an additional level of hierarchy to support
+ multiple instances of the TLV.";
+ reference "0.4.0";
+ }
+
+ revision "2017-07-26" {
+ description
+ "Update LSDB and fix bugs.";
+ reference "0.3.2";
+ }
+
+ revision "2017-05-15" {
+ description
+ "Refactor LSDB.";
+ reference "0.3.0";
+ }
+
+ revision "2017-01-13" {
+ description
+ "Remove top-level /isis container";
+ reference "0.2.1";
+ }
+
+ revision "2016-12-15" {
+ description
+ "Add segment routing to IS-IS module";
+ reference "0.2.0";
+ }
+
+ revision "2016-10-18" {
+ description
+ "Initial revision of IS-IS models.";
+ reference "0.1.0";
+ }
+
+ // extension statements
+
+ // feature statements
+
+ // identity statements
+
+ // typedef statements
+
+ // grouping statements
+
+ grouping isis-match-conditions {
+ description
+ "Criteria used to match IS-IS routes within the policy";
+
+ container isis-conditions {
+ description
+ "Match conditions relating to the IS-IS protocol";
+
+ container config {
+ description
+ "Configuration parameters relating to IS-IS match
+ conditions";
+
+ uses isis-match-conditions-config;
+ }
+
+ container state {
+ config false;
+ description
+ "Operational state parameters relating to IS-IS match
+ conditions";
+ uses isis-match-conditions-config;
+ }
+ }
+ }
+
+ grouping isis-match-conditions-config {
+ description
+ "Match conditions for IS-IS";
+
+ leaf level-eq {
+ type isis-types:level-number;
+ description
+ "Match the level that the IS-IS prefix is within. This can
+ be used in the case that import or export policies refer
+ to an IS-IS instance that has multiple levels configured
+ within it";
+ }
+ }
+
+ grouping isis-actions {
+ description
+ "Actions supplied by the IS-IS protocol to be set on a
+ route within the policy";
+
+ container isis-actions {
+ description
+ "Actions that can be performed by IS-IS within a policy";
+
+ container config {
+ description
+ "Configuration parameters relating to IS-IS actions";
+
+ uses isis-actions-config;
+ }
+
+ container state {
+ config false;
+ description
+ "Operational state associated with IS-IS actions";
+
+ uses isis-actions-config;
+ }
+ }
+ }
+
+ grouping isis-actions-config {
+ description
+ "Actions for IS-IS";
+
+ leaf set-level {
+ type isis-types:level-number;
+ description
+ "Set the level that a prefix is to be imported into.";
+ }
+
+ leaf set-metric-type {
+ type isis-types:level-number;
+ description
+ "Set the type of metric that is to be specified when the
+ set metric leaf is specified";
+ }
+
+ leaf set-metric {
+ type isis-types:wide-metric;
+ description
+ "Set the metric of the IS-IS prefix";
+ }
+ }
+
+ // augment statements
+ augment "/rpol:routing-policy/rpol:policy-definitions/" +
+ "rpol:policy-definition/rpol:statements/rpol:statement/" +
+ "rpol:actions" {
+ description "This augments igp-actions with ISIS conditions";
+ uses isis-actions;
+
+ }
+
+ augment "/rpol:routing-policy/rpol:policy-definitions/" +
+ "rpol:policy-definition/rpol:statements/rpol:statement/" +
+ "rpol:conditions" {
+ description "This augments igp-conditions with ISIS conditions";
+ uses isis-match-conditions;
+ }
+
+ // rpc statements
+
+ // notification statements
+}