| 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 |
| } |