netconfcentral logo

openconfig-network-instance-policy@2017-02-15



  module openconfig-network-instance-policy {

    yang-version 1;

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

    prefix oc-ni-pol;

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

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

    revision "2017-02-15" {
      description "Initial revision";
      reference
        "0.1.0";

    }

    oc-ext:openconfig-version "0.1.0";

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

    grouping protocol-instance-policy-state {
      description
        "Operational state data for policy matching on protocol
      instance";
    }  // grouping protocol-instance-policy-state

    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 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;
        }  // container state
      }  // container match-protocol-instance
    }  // grouping protocol-instance-policy-top

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