netconfcentral logo

openconfig-rib-bgp-ext@2016-10-17



  module openconfig-rib-bgp-ext {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/rib/bgp-ext";

    prefix oc-bgprib-ext;

    import openconfig-rib-bgp {
      prefix oc-bgprib;
    }
    import openconfig-extensions {
      prefix oc-ext;
    }
    import openconfig-rib-bgp-types {
      prefix oc-bgpribt;
    }

    organization "OpenConfig working group";

    contact
      "OpenConfig working group
    www.openconfig.net";

    description
      "Defines additional data nodes for the OpenConfig BGP RIB model.
    These items reflect extensions that are desirable features but
    are not currently supported in a majority of BGP
    implementations.";

    revision "2016-10-17" {
      description
        "OpenConfig BGP RIB refactor";
      reference
        "0.3.0";

    }

    revision "2016-04-11" {
      description
        "OpenConfig public release";
      reference
        "0.2.0";

    }

    oc-ext:openconfig-version "0.3.0";

    grouping rib-ext-route-annotations {
      description
        "Extended annotations for routes in the routing tables";
      leaf reject-reason {
        type union {
          type identityref {
            base oc-bgpribt:BGP_NOT_SELECTED_BESTPATH;
          }
          type identityref {
            base oc-bgpribt:BGP_NOT_SELECTED_POLICY;
          }
        }
        description
          "Indicates the reason the route is not used, either due to
        policy filtering or bestpath selection";
      }
    }  // grouping rib-ext-route-annotations

    augment /oc-bgprib:bgp-rib/oc-bgprib:afi-safis/oc-bgprib:afi-safi/oc-bgprib:ipv4-unicast/oc-bgprib:loc-rib/oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state {
      description
        "Add extended annotations to the Loc-RIB for IPv4";
      uses rib-ext-route-annotations;
    }

    augment /oc-bgprib:bgp-rib/oc-bgprib:afi-safis/oc-bgprib:afi-safi/oc-bgprib:ipv6-unicast/oc-bgprib:loc-rib/oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state {
      description
        "Add extended annotations to the Loc-RIB for IPv6";
      uses rib-ext-route-annotations;
    }

    augment /oc-bgprib:bgp-rib/oc-bgprib:afi-safis/oc-bgprib:afi-safi/oc-bgprib:ipv4-unicast/oc-bgprib:neighbors/oc-bgprib:neighbor/oc-bgprib:adj-rib-in-pre/oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state {
      description
        "Add extended annotations to Adj-RIB for IPv4";
      uses rib-ext-route-annotations;
    }

    augment /oc-bgprib:bgp-rib/oc-bgprib:afi-safis/oc-bgprib:afi-safi/oc-bgprib:ipv4-unicast/oc-bgprib:neighbors/oc-bgprib:neighbor/oc-bgprib:adj-rib-in-post/oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state {
      description
        "Add extended annotations to Adj-RIB for IPv4";
      uses rib-ext-route-annotations;
    }

    augment /oc-bgprib:bgp-rib/oc-bgprib:afi-safis/oc-bgprib:afi-safi/oc-bgprib:ipv4-unicast/oc-bgprib:neighbors/oc-bgprib:neighbor/oc-bgprib:adj-rib-out-pre/oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state {
      description
        "Add extended annotations to Adj-RIB for IPv4";
      uses rib-ext-route-annotations;
    }

    augment /oc-bgprib:bgp-rib/oc-bgprib:afi-safis/oc-bgprib:afi-safi/oc-bgprib:ipv4-unicast/oc-bgprib:neighbors/oc-bgprib:neighbor/oc-bgprib:adj-rib-out-post/oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state {
      description
        "Add extended annotations to Adj-RIB for IPv4";
      uses rib-ext-route-annotations;
    }

    augment /oc-bgprib:bgp-rib/oc-bgprib:afi-safis/oc-bgprib:afi-safi/oc-bgprib:ipv6-unicast/oc-bgprib:neighbors/oc-bgprib:neighbor/oc-bgprib:adj-rib-in-pre/oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state {
      description
        "Add extended annotations to Adj-RIB for IPv6";
      uses rib-ext-route-annotations;
    }

    augment /oc-bgprib:bgp-rib/oc-bgprib:afi-safis/oc-bgprib:afi-safi/oc-bgprib:ipv6-unicast/oc-bgprib:neighbors/oc-bgprib:neighbor/oc-bgprib:adj-rib-in-post/oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state {
      description
        "Add extended annotations to Adj-RIB for IPv6";
      uses rib-ext-route-annotations;
    }

    augment /oc-bgprib:bgp-rib/oc-bgprib:afi-safis/oc-bgprib:afi-safi/oc-bgprib:ipv6-unicast/oc-bgprib:neighbors/oc-bgprib:neighbor/oc-bgprib:adj-rib-out-pre/oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state {
      description
        "Add extended annotations to Adj-RIB for IPv6";
      uses rib-ext-route-annotations;
    }

    augment /oc-bgprib:bgp-rib/oc-bgprib:afi-safis/oc-bgprib:afi-safi/oc-bgprib:ipv6-unicast/oc-bgprib:neighbors/oc-bgprib:neighbor/oc-bgprib:adj-rib-out-post/oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state {
      description
        "Add extended annotations to Adj-RIB for IPv6";
      uses rib-ext-route-annotations;
    }
  }  // module openconfig-rib-bgp-ext