blob: 3d5de82fb0e52b5cb83717448922681902f5155f [file] [log] [blame]
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.3.2";
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
}