netconfcentral logo

openconfig-isis-policy@2017-08-24



  module openconfig-isis-policy {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/openconfig-isis-policy";

    prefix oc-isis-pol;

    import openconfig-routing-policy {
      prefix rpol;
    }
    import openconfig-extensions {
      prefix oc-ext;
    }
    import openconfig-isis-types {
      prefix isis-types;
    }

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

    revision "2017-08-24" {
      description "Minor formatting fixes.";
      reference
        "0.3.3";

    }

    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";

    }

    oc-ext:openconfig-version "0.3.3";

    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 config

        container state {
          config false;
          description
            "Operational state parameters relating to IS-IS match
          conditions";
          uses isis-match-conditions-config;
        }  // container state
      }  // container isis-conditions
    }  // grouping isis-match-conditions

    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-match-conditions-config

    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 config

        container state {
          config false;
          description
            "Operational state associated with IS-IS actions";
          uses isis-actions-config;
        }  // container state
      }  // container isis-actions
    }  // grouping isis-actions

    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";
      }
    }  // grouping isis-actions-config

    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;
    }
  }  // module openconfig-isis-policy