I2RS Working Group L. Wang Internet-Draft S. Hares Intended status: Standards Track S. Zhuang Expires: April 18, 2015 Huawei October 15, 2014 An I2RS BGP Data Modell draft-hares-i2rs-bgp-dm-00.txt Abstract This document introduces a yang data for i2RS BGP protocol and network policy that aligns with the I2RS BGP use cases. This draft utilizes the general Policy based routing structured found in the RIB Information Model (IM) and Policy Base Policy. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on April 18, 2015. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Wang, et al. Expires April 18, 2015 [Page 1] Internet-Draft BGP IM October 2014 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Definitions and Acronyms . . . . . . . . . . . . . . . . . . 2 3. BGP Yang top-level description . . . . . . . . . . . . . . . 3 4. BGP Yang description . . . . . . . . . . . . . . . . . . . . 60 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 98 6. Security Considerations . . . . . . . . . . . . . . . . . . . 98 7. Informative References . . . . . . . . . . . . . . . . . . . 98 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 99 1. Introduction The Interface to the Routing System (I2RS) provides read and write access to the information and state within the routing process within routing elements via protocol message exchange between an I2RS Client and an I2RS Agent associated with the a routing system. The [I-D.ietf-i2rs-architecture] describes the basic interactions of this exchange. One of the important functions of this messages exchange is for the I2RS client to interact with one or more I2RS agents to collect information from network routing systems. One of the key information pieces that I2RS clients may collect from I2RS agents is the BGP information regarding BGP peers, BGP routes, and network topologies created within BGP. This document introduces a basic information model for BGP policies. This policy model can be linked with other information models such as the I2RS RIB informational model [I-D.ietf-i2rs-rib-info-model], and uses the generic policy found in the Policy Routing modules in [I-D.hares-i2rs-bnp-info-model]. This basic BGP Information Model is an extendable policy model is a product of the industry approach to I2RS. 2. Definitions and Acronyms BGP: Border Gateway Protocol Information Model: An abstract model of a conceptual domain, independent of a specific implementation or data representation NETCONF:The Network Configuration Protocol as defined in [RFC6536] RESTCONF: The REST-like protocol that provides a programmatic interface over HTTP for accesing data defined in YANG, using datastores defined in NETCONF Protocol [I-D.ietf-netconf-restconf] as defined in RBNF: Routing Backus-Naur Form [RFC5511]. Wang, et al. Expires April 18, 2015 [Page 2] Internet-Draft BGP IM October 2014 3. BGP Yang top-level description Below is the full BGP Yang top-level description for the configuration portion of I2RS configuration model. Additional information on the structure of the information model is described in [I-D.hares-i2rs-bnp-info-model]. module: bgp-protocol +--rw bgp-protocol +--rw router-id? inet:ip-address +--rw as-number? uint32 +--ro protocol-status? enumeration +--rw shutdown-protocol? boolean +--ro bgp-role? enumeration +--rw bgp-ipv4-uni-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-list* [ipv4-route ipv4-prefix-length] | | +--rw ipv4-route inet:ipv4-prefix | | +--rw ipv4-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr Wang, et al. Expires April 18, 2015 [Page 3] Internet-Draft BGP IM October 2014 | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv4-address? inet:ipv4-prefix | | +--rw remote-ipv4-address? inet:ipv4-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 Wang, et al. Expires April 18, 2015 [Page 4] Internet-Draft BGP IM October 2014 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-rib-in-list* [ipv4-route ipv4-prefix-length] | | +--rw ipv4-route inet:ipv4-prefix | | +--rw ipv4-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-rib-out | +--rw bgp-rib-out-list* [ipv4-route ipv4-prefix-length] | +--rw ipv4-route inet:ipv4-prefix Wang, et al. Expires April 18, 2015 [Page 5] Internet-Draft BGP IM October 2014 | +--rw ipv4-prefix-length uint8 | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration +--rw bgp-labeled-ipv4-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-list* [ipv4-route ipv4-prefix-length mpls-label] | | +--rw ipv4-route inet:ipv4-prefix Wang, et al. Expires April 18, 2015 [Page 6] Internet-Draft BGP IM October 2014 | | +--rw ipv4-prefix-length uint8 | | +--rw mpls-label mpls-label-def | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv4-address? inet:ipv4-prefix | | +--rw remote-ipv4-address? inet:ipv4-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out Wang, et al. Expires April 18, 2015 [Page 7] Internet-Draft BGP IM October 2014 | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-rib-in-list* [ipv4-route ipv4-prefix-length mpls-label] | | +--rw ipv4-route inet:ipv4-prefix | | +--rw ipv4-prefix-length uint8 | | +--rw mpls-label mpls-label-def | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 Wang, et al. Expires April 18, 2015 [Page 8] Internet-Draft BGP IM October 2014 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-rib-out | +--rw bgp-rib-out-list* [ipv4-route ipv4-prefix-length mpls-label] | +--rw ipv4-route inet:ipv4-prefix | +--rw ipv4-prefix-length uint8 | +--rw mpls-label mpls-label-def | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 Wang, et al. Expires April 18, 2015 [Page 9] Internet-Draft BGP IM October 2014 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration +--rw bgp-ipv4-multi-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-list* [ipv4-route ipv4-prefix-length] | | +--rw ipv4-route inet:ipv4-prefix | | +--rw ipv4-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 Wang, et al. Expires April 18, 2015 [Page 10] Internet-Draft BGP IM October 2014 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv4-address? inet:ipv4-prefix | | +--rw remote-ipv4-address? inet:ipv4-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 Wang, et al. Expires April 18, 2015 [Page 11] Internet-Draft BGP IM October 2014 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-rib-in-list* [ipv4-route ipv4-prefix-length] | | +--rw ipv4-route inet:ipv4-prefix | | +--rw ipv4-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration Wang, et al. Expires April 18, 2015 [Page 12] Internet-Draft BGP IM October 2014 | +--rw bgp-rib-out | +--rw bgp-rib-out-list* [ipv4-route ipv4-prefix-length] | +--rw ipv4-route inet:ipv4-prefix | +--rw ipv4-prefix-length uint8 | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration +--rw bgp-vpnv4-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def Wang, et al. Expires April 18, 2015 [Page 13] Internet-Draft BGP IM October 2014 | +--rw bgp-local-rib | | +--rw bgp-route-list* [ipv4-route ipv4-prefix-length route-distinguisher] | | +--rw ipv4-route inet:ipv4-prefix | | +--rw ipv4-prefix-length uint8 | | +--rw mpls-label? mpls-label-def | | +--rw route-distinguisher route-distinguisher-def | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv4-address? inet:ipv4-prefix | | +--rw remote-ipv4-address? inet:ipv4-prefix | +--rw bgp-peer-name string Wang, et al. Expires April 18, 2015 [Page 14] Internet-Draft BGP IM October 2014 | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-rib-in-list* [ipv4-route ipv4-prefix-length route-distinguisher] | | +--rw ipv4-route inet:ipv4-prefix | | +--rw ipv4-prefix-length uint8 | | +--rw mpls-label? mpls-label-def | | +--rw route-distinguisher route-distinguisher-def | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 Wang, et al. Expires April 18, 2015 [Page 15] Internet-Draft BGP IM October 2014 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-rib-out | +--rw bgp-rib-out-list* [ipv4-route ipv4-prefix-length route-distinguisher] | +--rw ipv4-route inet:ipv4-prefix | +--rw ipv4-prefix-length uint8 | +--rw mpls-label? mpls-label-def | +--rw route-distinguisher route-distinguisher-def | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 Wang, et al. Expires April 18, 2015 [Page 16] Internet-Draft BGP IM October 2014 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration +--rw bgp-ipv4-l3vpn-instance-list* [bgp-l3vpn-instance-name] | +--rw bgp-l3vpn-instance-name string | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-list* [ipv4-route ipv4-prefix-length] | | +--rw ipv4-route inet:ipv4-prefix | | +--rw ipv4-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 Wang, et al. Expires April 18, 2015 [Page 17] Internet-Draft BGP IM October 2014 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv4-address? inet:ipv4-prefix | | +--rw remote-ipv4-address? inet:ipv4-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration Wang, et al. Expires April 18, 2015 [Page 18] Internet-Draft BGP IM October 2014 | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-rib-in-list* [ipv4-route ipv4-prefix-length] | | +--rw ipv4-route inet:ipv4-prefix | | +--rw ipv4-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string Wang, et al. Expires April 18, 2015 [Page 19] Internet-Draft BGP IM October 2014 | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-rib-out | +--rw bgp-rib-out-list* [ipv4-route ipv4-prefix-length] | +--rw ipv4-route inet:ipv4-prefix | +--rw ipv4-prefix-length uint8 | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration Wang, et al. Expires April 18, 2015 [Page 20] Internet-Draft BGP IM October 2014 +--rw bgp-ipv6-uni-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-list* [ipv6-route ipv6-prefix-length] | | +--rw ipv6-route inet:ipv6-prefix | | +--rw ipv6-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration Wang, et al. Expires April 18, 2015 [Page 21] Internet-Draft BGP IM October 2014 | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv6-address? inet:ipv6-prefix | | +--rw remote-ipv6-address? inet:ipv6-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-rib-in-list* [ipv6-route ipv6-prefix-length] | | +--rw ipv6-route inet:ipv6-prefix | | +--rw ipv6-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 Wang, et al. Expires April 18, 2015 [Page 22] Internet-Draft BGP IM October 2014 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-rib-out | +--rw bgp-rib-out-list* [ipv6-route ipv6-prefix-length] | +--rw ipv6-route inet:ipv6-prefix | +--rw ipv6-prefix-length uint8 | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 Wang, et al. Expires April 18, 2015 [Page 23] Internet-Draft BGP IM October 2014 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration +--rw bgp-labeled-ipv6-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-list* [ipv6-route ipv6-prefix-length mpls-label] | | +--rw ipv6-route inet:ipv6-prefix | | +--rw ipv6-prefix-length uint8 | | +--rw mpls-label mpls-label-def | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address Wang, et al. Expires April 18, 2015 [Page 24] Internet-Draft BGP IM October 2014 | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv6-address? inet:ipv6-prefix | | +--rw remote-ipv6-address? inet:ipv6-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) Wang, et al. Expires April 18, 2015 [Page 25] Internet-Draft BGP IM October 2014 | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-rib-in-list* [ipv6-route ipv6-prefix-length mpls-label] | | +--rw ipv6-route inet:ipv6-prefix | | +--rw ipv6-prefix-length uint8 | | +--rw mpls-label mpls-label-def | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 Wang, et al. Expires April 18, 2015 [Page 26] Internet-Draft BGP IM October 2014 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-rib-out | +--rw bgp-rib-out-list* [ipv6-route ipv6-prefix-length mpls-label] | +--rw ipv6-route inet:ipv6-prefix | +--rw ipv6-prefix-length uint8 | +--rw mpls-label mpls-label-def | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def Wang, et al. Expires April 18, 2015 [Page 27] Internet-Draft BGP IM October 2014 | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration +--rw bgp-ipv6-multi-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-list* [ipv6-route ipv6-prefix-length] | | +--rw ipv6-route inet:ipv6-prefix | | +--rw ipv6-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def Wang, et al. Expires April 18, 2015 [Page 28] Internet-Draft BGP IM October 2014 | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv6-address? inet:ipv6-prefix | | +--rw remote-ipv6-address? inet:ipv6-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-rib-in-list* [ipv6-route ipv6-prefix-length] | | +--rw ipv6-route inet:ipv6-prefix | | +--rw ipv6-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration Wang, et al. Expires April 18, 2015 [Page 29] Internet-Draft BGP IM October 2014 | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-rib-out | +--rw bgp-rib-out-list* [ipv6-route ipv6-prefix-length] | +--rw ipv6-route inet:ipv6-prefix | +--rw ipv6-prefix-length uint8 | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 Wang, et al. Expires April 18, 2015 [Page 30] Internet-Draft BGP IM October 2014 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration +--rw bgp-vpnv6-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-list* [ipv6-route ipv6-prefix-length route-distinguisher] | | +--rw ipv6-route inet:ipv6-prefix | | +--rw ipv6-prefix-length uint8 | | +--rw mpls-label? mpls-label-def | | +--rw route-distinguisher route-distinguisher-def | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 Wang, et al. Expires April 18, 2015 [Page 31] Internet-Draft BGP IM October 2014 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv6-address? inet:ipv6-prefix | | +--rw remote-ipv6-address? inet:ipv6-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) Wang, et al. Expires April 18, 2015 [Page 32] Internet-Draft BGP IM October 2014 | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-rib-in-list* [ipv6-route ipv6-prefix-length route-distinguisher] | | +--rw ipv6-route inet:ipv6-prefix | | +--rw ipv6-prefix-length uint8 | | +--rw mpls-label? mpls-label-def | | +--rw route-distinguisher route-distinguisher-def | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr Wang, et al. Expires April 18, 2015 [Page 33] Internet-Draft BGP IM October 2014 | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-rib-out | +--rw bgp-rib-out-list* [ipv6-route ipv6-prefix-length route-distinguisher] | +--rw ipv6-route inet:ipv6-prefix | +--rw ipv6-prefix-length uint8 | +--rw mpls-label? mpls-label-def | +--rw route-distinguisher route-distinguisher-def | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 Wang, et al. Expires April 18, 2015 [Page 34] Internet-Draft BGP IM October 2014 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration +--rw bgp-ipv6-l3vpn-instance-list* [bgp-l3vpn-instance-name] | +--rw bgp-l3vpn-instance-name string | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-list* [ipv6-route ipv6-prefix-length] | | +--rw ipv6-route inet:ipv6-prefix | | +--rw ipv6-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist Wang, et al. Expires April 18, 2015 [Page 35] Internet-Draft BGP IM October 2014 | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv6-address? inet:ipv6-prefix | | +--rw remote-ipv6-address? inet:ipv6-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 Wang, et al. Expires April 18, 2015 [Page 36] Internet-Draft BGP IM October 2014 | +--rw bgp-rib-in | | +--rw bgp-rib-in-list* [ipv6-route ipv6-prefix-length] | | +--rw ipv6-route inet:ipv6-prefix | | +--rw ipv6-prefix-length uint8 | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw bgp-rib-out | +--rw bgp-rib-out-list* [ipv6-route ipv6-prefix-length] | +--rw ipv6-route inet:ipv6-prefix | +--rw ipv6-prefix-length uint8 | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration Wang, et al. Expires April 18, 2015 [Page 37] Internet-Draft BGP IM October 2014 | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration +--rw bgp-ipv4-mvpn-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 Wang, et al. Expires April 18, 2015 [Page 38] Internet-Draft BGP IM October 2014 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | | +--ro rib-current-state? rib-state-def | | | +--ro rib-last-state? rib-state-def | | | +--ro rib-rejected-reason? enumeration | | | +--ro not-preferred-reason? enumeration | | +--rw (bgp-mvpn-route-type)? | | +--:(INTRA_AS_I_PMSI_AD) | | | +--rw intra-as-i-pmsi-ad-route* [route-type route-distinguisher origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(INTER_AS_I_PMSI_AD) | | | +--rw inter_as_i_pmsi_as_route* [route-type route-distinguisher source-as] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw source-as inet:as-number | | +--:(S_PMSI_AD) | | | +--rw s-pmsi-ad-route* [route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix Wang, et al. Expires April 18, 2015 [Page 39] Internet-Draft BGP IM October 2014 | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(LEAF_AD) | | | +--rw leaf-ad-route* [route-type route-key origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-key binary | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(SOURCE_ACTIVE_AD) | | | +--rw source-active-ad-route* [route-type route-distinguisher multicast-source multicast-group] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | +--:(SHARED_TREE_JOIN) | | | +--rw shared-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw source-as inet:as-number | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | +--:(SOURCE_TREE_JOIN) | | +--rw source-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw source-as inet:as-number | | +--rw multicast-source inet:ip-prefix | | +--rw multicast-group inet:ip-prefix | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv4-address? inet:ipv4-prefix | | +--rw remote-ipv4-address? inet:ipv4-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration Wang, et al. Expires April 18, 2015 [Page 40] Internet-Draft BGP IM October 2014 | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 Wang, et al. Expires April 18, 2015 [Page 41] Internet-Draft BGP IM October 2014 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | | +--ro rib-current-state? rib-state-def | | | +--ro rib-last-state? rib-state-def | | | +--ro rib-rejected-reason? enumeration | | | +--ro not-preferred-reason? enumeration | | +--rw (bgp-mvpn-route-type)? | | +--:(INTRA_AS_I_PMSI_AD) | | | +--rw intra-as-i-pmsi-ad-route* [route-type route-distinguisher origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(INTER_AS_I_PMSI_AD) | | | +--rw inter_as_i_pmsi_as_route* [route-type route-distinguisher source-as] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw source-as inet:as-number | | +--:(S_PMSI_AD) | | | +--rw s-pmsi-ad-route* [route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(LEAF_AD) | | | +--rw leaf-ad-route* [route-type route-key origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-key binary | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(SOURCE_ACTIVE_AD) | | | +--rw source-active-ad-route* [route-type route-distinguisher multicast-source multicast-group] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | +--:(SHARED_TREE_JOIN) | | | +--rw shared-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw source-as inet:as-number | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | +--:(SOURCE_TREE_JOIN) | | +--rw source-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw source-as inet:as-number | | +--rw multicast-source inet:ip-prefix Wang, et al. Expires April 18, 2015 [Page 42] Internet-Draft BGP IM October 2014 | | +--rw multicast-group inet:ip-prefix | +--rw bgp-rib-out | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw (bgp-mvpn-route-type)? | +--:(INTRA_AS_I_PMSI_AD) | | +--rw intra-as-i-pmsi-ad-route* [route-type route-distinguisher origin-router-ip-addr] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw origin-router-ip-addr inet:ip-prefix | +--:(INTER_AS_I_PMSI_AD) | | +--rw inter_as_i_pmsi_as_route* [route-type route-distinguisher source-as] | | +--rw route-type mvpn-route-type Wang, et al. Expires April 18, 2015 [Page 43] Internet-Draft BGP IM October 2014 | | +--rw route-distinguisher route-distinguisher-def | | +--rw source-as inet:as-number | +--:(S_PMSI_AD) | | +--rw s-pmsi-ad-route* [route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw multicast-source inet:ip-prefix | | +--rw multicast-group inet:ip-prefix | | +--rw origin-router-ip-addr inet:ip-prefix | +--:(LEAF_AD) | | +--rw leaf-ad-route* [route-type route-key origin-router-ip-addr] | | +--rw route-type mvpn-route-type | | +--rw route-key binary | | +--rw origin-router-ip-addr inet:ip-prefix | +--:(SOURCE_ACTIVE_AD) | | +--rw source-active-ad-route* [route-type route-distinguisher multicast-source multicast-group] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw multicast-source inet:ip-prefix | | +--rw multicast-group inet:ip-prefix | +--:(SHARED_TREE_JOIN) | | +--rw shared-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw source-as inet:as-number | | +--rw multicast-source inet:ip-prefix | | +--rw multicast-group inet:ip-prefix | +--:(SOURCE_TREE_JOIN) | +--rw source-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | +--rw route-type mvpn-route-type | +--rw route-distinguisher route-distinguisher-def | +--rw source-as inet:as-number | +--rw multicast-source inet:ip-prefix | +--rw multicast-group inet:ip-prefix +--rw bgp-ipv6-mvpn-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 Wang, et al. Expires April 18, 2015 [Page 44] Internet-Draft BGP IM October 2014 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | | +--ro rib-current-state? rib-state-def | | | +--ro rib-last-state? rib-state-def | | | +--ro rib-rejected-reason? enumeration | | | +--ro not-preferred-reason? enumeration | | +--rw (bgp-mvpn-route-type)? | | +--:(INTRA_AS_I_PMSI_AD) | | | +--rw intra-as-i-pmsi-ad-route* [route-type route-distinguisher origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(INTER_AS_I_PMSI_AD) | | | +--rw inter_as_i_pmsi_as_route* [route-type route-distinguisher source-as] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw source-as inet:as-number | | +--:(S_PMSI_AD) | | | +--rw s-pmsi-ad-route* [route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix Wang, et al. Expires April 18, 2015 [Page 45] Internet-Draft BGP IM October 2014 | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(LEAF_AD) | | | +--rw leaf-ad-route* [route-type route-key origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-key binary | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(SOURCE_ACTIVE_AD) | | | +--rw source-active-ad-route* [route-type route-distinguisher multicast-source multicast-group] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | +--:(SHARED_TREE_JOIN) | | | +--rw shared-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw source-as inet:as-number | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | +--:(SOURCE_TREE_JOIN) | | +--rw source-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw source-as inet:as-number | | +--rw multicast-source inet:ip-prefix | | +--rw multicast-group inet:ip-prefix | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv6-address? inet:ipv6-prefix | | +--rw remote-ipv6-address? inet:ipv6-prefix | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration Wang, et al. Expires April 18, 2015 [Page 46] Internet-Draft BGP IM October 2014 | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 Wang, et al. Expires April 18, 2015 [Page 47] Internet-Draft BGP IM October 2014 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | | +--ro rib-current-state? rib-state-def | | | +--ro rib-last-state? rib-state-def | | | +--ro rib-rejected-reason? enumeration | | | +--ro not-preferred-reason? enumeration | | +--rw (bgp-mvpn-route-type)? | | +--:(INTRA_AS_I_PMSI_AD) | | | +--rw intra-as-i-pmsi-ad-route* [route-type route-distinguisher origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(INTER_AS_I_PMSI_AD) | | | +--rw inter_as_i_pmsi_as_route* [route-type route-distinguisher source-as] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw source-as inet:as-number | | +--:(S_PMSI_AD) | | | +--rw s-pmsi-ad-route* [route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(LEAF_AD) | | | +--rw leaf-ad-route* [route-type route-key origin-router-ip-addr] | | | +--rw route-type mvpn-route-type | | | +--rw route-key binary | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(SOURCE_ACTIVE_AD) | | | +--rw source-active-ad-route* [route-type route-distinguisher multicast-source multicast-group] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | +--:(SHARED_TREE_JOIN) | | | +--rw shared-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | | | +--rw route-type mvpn-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw source-as inet:as-number | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | +--:(SOURCE_TREE_JOIN) | | +--rw source-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw source-as inet:as-number | | +--rw multicast-source inet:ip-prefix Wang, et al. Expires April 18, 2015 [Page 48] Internet-Draft BGP IM October 2014 | | +--rw multicast-group inet:ip-prefix | +--rw bgp-rib-out | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw (bgp-mvpn-route-type)? | +--:(INTRA_AS_I_PMSI_AD) | | +--rw intra-as-i-pmsi-ad-route* [route-type route-distinguisher origin-router-ip-addr] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw origin-router-ip-addr inet:ip-prefix | +--:(INTER_AS_I_PMSI_AD) | | +--rw inter_as_i_pmsi_as_route* [route-type route-distinguisher source-as] | | +--rw route-type mvpn-route-type Wang, et al. Expires April 18, 2015 [Page 49] Internet-Draft BGP IM October 2014 | | +--rw route-distinguisher route-distinguisher-def | | +--rw source-as inet:as-number | +--:(S_PMSI_AD) | | +--rw s-pmsi-ad-route* [route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw multicast-source inet:ip-prefix | | +--rw multicast-group inet:ip-prefix | | +--rw origin-router-ip-addr inet:ip-prefix | +--:(LEAF_AD) | | +--rw leaf-ad-route* [route-type route-key origin-router-ip-addr] | | +--rw route-type mvpn-route-type | | +--rw route-key binary | | +--rw origin-router-ip-addr inet:ip-prefix | +--:(SOURCE_ACTIVE_AD) | | +--rw source-active-ad-route* [route-type route-distinguisher multicast-source multicast-group] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw multicast-source inet:ip-prefix | | +--rw multicast-group inet:ip-prefix | +--:(SHARED_TREE_JOIN) | | +--rw shared-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | | +--rw route-type mvpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw source-as inet:as-number | | +--rw multicast-source inet:ip-prefix | | +--rw multicast-group inet:ip-prefix | +--:(SOURCE_TREE_JOIN) | +--rw source-tree-join-route* [route-type route-distinguisher source-as multicast-source multicast-group] | +--rw route-type mvpn-route-type | +--rw route-distinguisher route-distinguisher-def | +--rw source-as inet:as-number | +--rw multicast-source inet:ip-prefix | +--rw multicast-group inet:ip-prefix +--rw bgp-mcast-vpls-instance | +--rw bgp-instance-name? string | +--rw bgp-instance-create? enumeration | +--rw bgp-instance-type? enumeration | +--rw bgp-vendor-type? enumeration | +--rw afi? afi-def | +--rw safi? safi-def | +--rw bgp-local-rib | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 Wang, et al. Expires April 18, 2015 [Page 50] Internet-Draft BGP IM October 2014 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | | +--ro rib-current-state? rib-state-def | | | +--ro rib-last-state? rib-state-def | | | +--ro rib-rejected-reason? enumeration | | | +--ro not-preferred-reason? enumeration | | +--rw (bgp-mcast-vpls-route-type)? | | +--:(SELECTIVE_TREE_AD_ROUTE) | | | +--rw selective-tree-ad-route* [route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr] | | | +--rw route-type mcast-vpls-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(LEAF_AD) | | +--rw leaf-ad-route* [route-type route-key origin-router-ip-addr] | | +--rw route-type mcast-vpls-route-type | | +--rw route-key binary | | +--rw origin-router-ip-addr inet:ip-prefix | +--rw bgp-peer-list* [bgp-peer-name] | +--rw peer-session-address | | +--rw local-ipv4-address? inet:ipv4-prefix | | +--rw remote-ipv4-address? inet:ipv4-prefix Wang, et al. Expires April 18, 2015 [Page 51] Internet-Draft BGP IM October 2014 | +--rw bgp-peer-name string | +--ro bgp-peer-type? enumeration | +--ro bgp-peer-create? enumeration | +--rw bgp-policy-in | +--rw bgp-policy-out | +--ro peer-policy-in-pset | +--ro peer-policy-out-pset | +--rw peer-state-info | | +--ro peer-current-state? peer-state | | +--ro peer-last-state? peer-state | | +--ro peer-down-reason | | | +--ro error-code? enumeration | | | +--ro sub-error-code | | | +--ro (sub-error-code-type)? | | | +--:(head-error-sub-code) | | | | +--ro head-error-sub-value? enumeration | | | +--:(open-error-sub-code) | | | | +--ro open-error-sub-value? enumeration | | | +--:(update-error-sub-code) | | | | +--ro update-error-sub-value? enumeration | | | +--:(route-refresh-error-sub-code) | | | +--ro route-refresh-error-sub-value? enumeration | | +--ro peer-received-update-cnt? uint64 | | +--ro peer-transmit-update-cnt? uint64 | | +--ro peer-received-route-cnt? uint64 | | +--ro peer-send-route-cnt? uint64 | | +--rw max-prefix-rcv-limit? uint64 | | +--rw max-prefix-xmt-limit? uint64 | | +--ro peer-prefix-high? uint64 | | +--ro peer-prefix-low? uint64 | | +--ro peer-perfix-ave? uint64 | | +--ro peer-prefix-time? uint64 | | +--ro peer-prefix-max? uint64 | | +--ro publish-version? uint64 | +--rw bgp-rib-in | | +--rw bgp-route-type? enumeration | | +--rw bgp-attribute-list | | | +--rw bgp-origin? enumeration | | | +--rw bgp-aspath | | | | +--rw usascount? uint16 | | | | +--rw ulrefcount? uint16 | | | | +--rw asstring? string | | | | +--ro usascountfrcomp? uint16 | | | | +--rw usastotalcount? uint16 | | | | +--rw usas4pathlen? uint16 | | | | +--rw as4pathvalue? string | | | +--rw bgp-nexthop? inet:ip-address | | | +--rw bgp-med? uint32 Wang, et al. Expires April 18, 2015 [Page 52] Internet-Draft BGP IM October 2014 | | | +--rw bgp-localpref? uint32 | | | +--rw bgp-atomic-aggregate? uint32 | | | +--rw bgp-aggregator | | | | +--rw ulipaddress? uint32 | | | | +--rw ulasnumber? uint32 | | | +--rw bgp-commattr | | | | +--rw uscommsize? uint16 | | | | +--rw ulrefcomm? uint32 | | | | +--rw commattr-value? string | | | +--rw bgp-extcommattr | | | | +--rw usextcommsize? uint16 | | | | +--rw ulrefcount? uint32 | | | | +--rw extcommattr-value? string | | | +--rw bgp-clusterlist | | | | +--rw uscluslen? uint16 | | | | +--rw ulrefclus? uint32 | | | | +--rw clusterlist-value? string | | | +--rw bgp-originator-id? uint32 | | +--ro bgp-route-create? enumeration | | +--ro bgp-rt-state-info | | | +--ro rib-current-state? rib-state-def | | | +--ro rib-last-state? rib-state-def | | | +--ro rib-rejected-reason? enumeration | | | +--ro not-preferred-reason? enumeration | | +--rw (bgp-mcast-vpls-route-type)? | | +--:(SELECTIVE_TREE_AD_ROUTE) | | | +--rw selective-tree-ad-route* [route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr] | | | +--rw route-type mcast-vpls-route-type | | | +--rw route-distinguisher route-distinguisher-def | | | +--rw multicast-source inet:ip-prefix | | | +--rw multicast-group inet:ip-prefix | | | +--rw origin-router-ip-addr inet:ip-prefix | | +--:(LEAF_AD) | | +--rw leaf-ad-route* [route-type route-key origin-router-ip-addr] | | +--rw route-type mcast-vpls-route-type | | +--rw route-key binary | | +--rw origin-router-ip-addr inet:ip-prefix | +--rw bgp-rib-out | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 Wang, et al. Expires April 18, 2015 [Page 53] Internet-Draft BGP IM October 2014 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw (bgp-mcast-vpls-route-type)? | +--:(SELECTIVE_TREE_AD_ROUTE) | | +--rw selective-tree-ad-route* [route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr] | | +--rw route-type mcast-vpls-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw multicast-source inet:ip-prefix | | +--rw multicast-group inet:ip-prefix | | +--rw origin-router-ip-addr inet:ip-prefix | +--:(LEAF_AD) | +--rw leaf-ad-route* [route-type route-key origin-router-ip-addr] | +--rw route-type mcast-vpls-route-type | +--rw route-key binary | +--rw origin-router-ip-addr inet:ip-prefix +--rw bgp-evpn-instance +--rw bgp-instance-name? string +--rw bgp-instance-create? enumeration +--rw bgp-instance-type? enumeration +--rw bgp-vendor-type? enumeration +--rw afi? afi-def +--rw safi? safi-def +--rw bgp-local-rib Wang, et al. Expires April 18, 2015 [Page 54] Internet-Draft BGP IM October 2014 | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw (bgp-evpn-route-type)? | +--:(EVPN_AD_ROUTE) | | +--rw evpn-ad-route* [route-type route-distinguisher esi eth-tag-id] | | +--rw route-type evpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw esi string | | +--rw eth-tag-id uint32 | +--:(EVPN_MAC_ROUTE) | | +--rw evpn-mac-route* [route-type route-distinguisher esi eth-tag-id mac-length mac-address ip-address-length ip-address] | | +--rw route-type evpn-route-type | | +--rw route-distinguisher route-distinguisher-def Wang, et al. Expires April 18, 2015 [Page 55] Internet-Draft BGP IM October 2014 | | +--rw esi string | | +--rw eth-tag-id uint32 | | +--rw mac-length uint8 | | +--rw mac-address yang:mac-address | | +--rw ip-address-length uint8 | | +--rw ip-address inet:ip-address | | +--rw label1? uint32 | | +--rw label2? uint32 | +--:(EVPN_INC_MCAST_TREE) | | +--rw evpn-inc-mcast-tree-route* [route-type route-distinguisher eth-tag-id ip-address-length origin-router-ip-addr] | | +--rw route-type evpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw eth-tag-id uint32 | | +--rw ip-address-length uint8 | | +--rw origin-router-ip-addr inet:ip-prefix | +--:(EVPN_ETH_SEGMENT_ROUTE) | +--rw evpn-eth-segment-route* [route-type route-distinguisher esi ip-address-length origin-router-ip-addr] | +--rw route-type evpn-route-type | +--rw route-distinguisher route-distinguisher-def | +--rw esi string | +--rw ip-address-length uint8 | +--rw origin-router-ip-addr inet:ip-prefix +--rw bgp-peer-list* [bgp-peer-name] +--rw peer-session-address | +--rw local-ipv4-address? inet:ipv4-prefix | +--rw remote-ipv4-address? inet:ipv4-prefix +--rw bgp-peer-name string +--ro bgp-peer-type? enumeration +--ro bgp-peer-create? enumeration +--rw bgp-policy-in +--rw bgp-policy-out +--ro peer-policy-in-pset +--ro peer-policy-out-pset +--rw peer-state-info | +--ro peer-current-state? peer-state | +--ro peer-last-state? peer-state | +--ro peer-down-reason | | +--ro error-code? enumeration | | +--ro sub-error-code | | +--ro (sub-error-code-type)? | | +--:(head-error-sub-code) | | | +--ro head-error-sub-value? enumeration | | +--:(open-error-sub-code) | | | +--ro open-error-sub-value? enumeration | | +--:(update-error-sub-code) | | | +--ro update-error-sub-value? enumeration | | +--:(route-refresh-error-sub-code) | | +--ro route-refresh-error-sub-value? enumeration Wang, et al. Expires April 18, 2015 [Page 56] Internet-Draft BGP IM October 2014 | +--ro peer-received-update-cnt? uint64 | +--ro peer-transmit-update-cnt? uint64 | +--ro peer-received-route-cnt? uint64 | +--ro peer-send-route-cnt? uint64 | +--rw max-prefix-rcv-limit? uint64 | +--rw max-prefix-xmt-limit? uint64 | +--ro peer-prefix-high? uint64 | +--ro peer-prefix-low? uint64 | +--ro peer-perfix-ave? uint64 | +--ro peer-prefix-time? uint64 | +--ro peer-prefix-max? uint64 | +--ro publish-version? uint64 +--rw bgp-rib-in | +--rw bgp-route-type? enumeration | +--rw bgp-attribute-list | | +--rw bgp-origin? enumeration | | +--rw bgp-aspath | | | +--rw usascount? uint16 | | | +--rw ulrefcount? uint16 | | | +--rw asstring? string | | | +--ro usascountfrcomp? uint16 | | | +--rw usastotalcount? uint16 | | | +--rw usas4pathlen? uint16 | | | +--rw as4pathvalue? string | | +--rw bgp-nexthop? inet:ip-address | | +--rw bgp-med? uint32 | | +--rw bgp-localpref? uint32 | | +--rw bgp-atomic-aggregate? uint32 | | +--rw bgp-aggregator | | | +--rw ulipaddress? uint32 | | | +--rw ulasnumber? uint32 | | +--rw bgp-commattr | | | +--rw uscommsize? uint16 | | | +--rw ulrefcomm? uint32 | | | +--rw commattr-value? string | | +--rw bgp-extcommattr | | | +--rw usextcommsize? uint16 | | | +--rw ulrefcount? uint32 | | | +--rw extcommattr-value? string | | +--rw bgp-clusterlist | | | +--rw uscluslen? uint16 | | | +--rw ulrefclus? uint32 | | | +--rw clusterlist-value? string | | +--rw bgp-originator-id? uint32 | +--ro bgp-route-create? enumeration | +--ro bgp-rt-state-info | | +--ro rib-current-state? rib-state-def | | +--ro rib-last-state? rib-state-def Wang, et al. Expires April 18, 2015 [Page 57] Internet-Draft BGP IM October 2014 | | +--ro rib-rejected-reason? enumeration | | +--ro not-preferred-reason? enumeration | +--rw (bgp-evpn-route-type)? | +--:(EVPN_AD_ROUTE) | | +--rw evpn-ad-route* [route-type route-distinguisher esi eth-tag-id] | | +--rw route-type evpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw esi string | | +--rw eth-tag-id uint32 | +--:(EVPN_MAC_ROUTE) | | +--rw evpn-mac-route* [route-type route-distinguisher esi eth-tag-id mac-length mac-address ip-address-length ip-address] | | +--rw route-type evpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw esi string | | +--rw eth-tag-id uint32 | | +--rw mac-length uint8 | | +--rw mac-address yang:mac-address | | +--rw ip-address-length uint8 | | +--rw ip-address inet:ip-address | | +--rw label1? uint32 | | +--rw label2? uint32 | +--:(EVPN_INC_MCAST_TREE) | | +--rw evpn-inc-mcast-tree-route* [route-type route-distinguisher eth-tag-id ip-address-length origin-router-ip-addr] | | +--rw route-type evpn-route-type | | +--rw route-distinguisher route-distinguisher-def | | +--rw eth-tag-id uint32 | | +--rw ip-address-length uint8 | | +--rw origin-router-ip-addr inet:ip-prefix | +--:(EVPN_ETH_SEGMENT_ROUTE) | +--rw evpn-eth-segment-route* [route-type route-distinguisher esi ip-address-length origin-router-ip-addr] | +--rw route-type evpn-route-type | +--rw route-distinguisher route-distinguisher-def | +--rw esi string | +--rw ip-address-length uint8 | +--rw origin-router-ip-addr inet:ip-prefix +--rw bgp-rib-out +--rw bgp-route-type? enumeration +--rw bgp-attribute-list | +--rw bgp-origin? enumeration | +--rw bgp-aspath | | +--rw usascount? uint16 | | +--rw ulrefcount? uint16 | | +--rw asstring? string | | +--ro usascountfrcomp? uint16 | | +--rw usastotalcount? uint16 | | +--rw usas4pathlen? uint16 | | +--rw as4pathvalue? string | +--rw bgp-nexthop? inet:ip-address Wang, et al. Expires April 18, 2015 [Page 58] Internet-Draft BGP IM October 2014 | +--rw bgp-med? uint32 | +--rw bgp-localpref? uint32 | +--rw bgp-atomic-aggregate? uint32 | +--rw bgp-aggregator | | +--rw ulipaddress? uint32 | | +--rw ulasnumber? uint32 | +--rw bgp-commattr | | +--rw uscommsize? uint16 | | +--rw ulrefcomm? uint32 | | +--rw commattr-value? string | +--rw bgp-extcommattr | | +--rw usextcommsize? uint16 | | +--rw ulrefcount? uint32 | | +--rw extcommattr-value? string | +--rw bgp-clusterlist | | +--rw uscluslen? uint16 | | +--rw ulrefclus? uint32 | | +--rw clusterlist-value? string | +--rw bgp-originator-id? uint32 +--ro bgp-route-create? enumeration +--ro bgp-rt-state-info | +--ro rib-current-state? rib-state-def | +--ro rib-last-state? rib-state-def | +--ro rib-rejected-reason? enumeration | +--ro not-preferred-reason? enumeration +--rw (bgp-evpn-route-type)? +--:(EVPN_AD_ROUTE) | +--rw evpn-ad-route* [route-type route-distinguisher esi eth-tag-id] | +--rw route-type evpn-route-type | +--rw route-distinguisher route-distinguisher-def | +--rw esi string | +--rw eth-tag-id uint32 +--:(EVPN_MAC_ROUTE) | +--rw evpn-mac-route* [route-type route-distinguisher esi eth-tag-id mac-length mac-address ip-address-length ip-address] | +--rw route-type evpn-route-type | +--rw route-distinguisher route-distinguisher-def | +--rw esi string | +--rw eth-tag-id uint32 | +--rw mac-length uint8 | +--rw mac-address yang:mac-address | +--rw ip-address-length uint8 | +--rw ip-address inet:ip-address | +--rw label1? uint32 | +--rw label2? uint32 +--:(EVPN_INC_MCAST_TREE) | +--rw evpn-inc-mcast-tree-route* [route-type route-distinguisher eth-tag-id ip-address-length origin-router-ip-addr] | +--rw route-type evpn-route-type | +--rw route-distinguisher route-distinguisher-def Wang, et al. Expires April 18, 2015 [Page 59] Internet-Draft BGP IM October 2014 | +--rw eth-tag-id uint32 | +--rw ip-address-length uint8 | +--rw origin-router-ip-addr inet:ip-prefix +--:(EVPN_ETH_SEGMENT_ROUTE) +--rw evpn-eth-segment-route* [route-type route-distinguisher esi ip-address-length origin-router-ip-addr] +--rw route-type evpn-route-type +--rw route-distinguisher route-distinguisher-def +--rw esi string +--rw ip-address-length uint8 +--rw origin-router-ip-addr inet:ip-prefix 4. BGP Yang description // file "i2rs bgp@2014-09-30.yang" module bgp-protocol { namespace "urn:huawei:params:xml:ns:yang:rt:i2rs:bgp"; // replace with iana namespace when assigned prefix "bgp-protocol"; import ietf-inet-types { prefix inet; //rfc6991 } import ietf-yang-types { prefix yang; //RFC6991 } organization "huawei technologies co., ltd. "; contact "email: wanglixing@huawei.com email: shares@ndzh.com email: zhuangshunwan@huawei.com"; description " terms and acronyms isis (isis): ip (ip): internet protocol ipv4 (ipv4):internet protocol version 4 Wang, et al. Expires April 18, 2015 [Page 60] Internet-Draft BGP IM October 2014 ipv6 (ipv6): internet protocol version 6 metric(metric): multi exit discriminator igp (igp): interior gateway protocol mtu (mtu) maximum transmission unit "; revision "2014-08-22" { description "initial revision"; reference "draft-hares-i2rs-bgp-im-00"; } /*common definition wanglixing*/ typedef afi-def { description "afi is address family,it can be write and read."; type enumeration { enum "ipv4"; enum "ipv6"; enum "l2vpn"; } } typedef safi-def { description "afi is sub-address family,it can be write and read. "; type enumeration { enum "unicast"; enum "multicast"; enum "l3vpn"; enum "mpls"; enum "mvpn"; enum "rt-constrain"; enum "ipv4-flow-spec"; enum "vpnv4-flow-spec"; enum "clns-vpn"; enum "ng-mvpn"; enum "mdt-safi"; } } typedef mvpn-route-type { reference "http://tools.ietf.org/html/rfc6514#section-4"; type enumeration { enum INTRA_AS_I_PMSI_AD { Wang, et al. Expires April 18, 2015 [Page 61] Internet-Draft BGP IM October 2014 value 1; } enum INTER_AS_I_PMSI_AD { value 2; } enum S_PMSI_AD { value 3; } enum LEAF_AD { value 4; } enum SOURCE_ACTIVE_AD { value 5; } enum SHARED_TREE_JOIN { value 6; } enum SOURCE_TREE_JOIN { value 7; } } } typedef mcast-vpls-route-type { reference "http://tools.ietf.org/html/rfc7117#section-9.2"; type enumeration { enum SELECTIVE_TREE_AD_ROUTE { value 3; } enum LEAF_AD { value 4; } } } typedef evpn-route-type { reference "draft-ietf-l2vpn-evpn-08"; type enumeration { enum EVPN_AD_ROUTE { value 1; } enum EVPN_MAC_ROUTE { value 2; } enum EVPN_INC_MCAST_TREE { value 3; } enum EVPN_ETH_SEGMENT_ROUTE { Wang, et al. Expires April 18, 2015 [Page 62] Internet-Draft BGP IM October 2014 value 4; } } } typedef bgp-route-create-mode { description "the way of creating of bgp route."; type enumeration { enum "not-i2rs-route"; enum "i2rsclient-create-bgp-route"; enum "i2rsagent-fails-bgp-route-create"; enum "i2rsagent-created-bgp-route"; enum "i2rsagent-bgp-route-create"; enum "i2rsagent-rejects-bgp-route-create"; enum "i2rsagent-attempts-bgp-route-create"; } } typedef bgp-route-type-def { type enumeration { enum "bgp-route-type-rd"; enum "bgp-route-type-ipv4"; enum "bgp-route-type-ipv6"; enum "bgp-labeled-ipv4"; enum "bgp-labeled-ipv6"; enum "bgp-route-type-flow"; enum "bgp-route-type-evpn"; enum "bgp-route-type-mvpn"; enum "bgp-route-type-vpls"; enum "bgp-route-type-bgp-ls"; enum "bgp-route-type-l2vpn-signaling-nlri"; enum "bgp-rt-constraint"; enum "pw-route"; } } typedef peer-state { type enumeration { enum "established"; enum "idle"; enum "connect"; enum "active"; enum "open-send"; enum "open-confirm"; } } typedef rib-state-def { Wang, et al. Expires April 18, 2015 [Page 63] Internet-Draft BGP IM October 2014 type enumeration { enum "active"; enum "in-active"; enum "primary"; enum "backup"; enum "suppress"; } } typedef mpls-label-def { description "label of the vrf."; type uint32 { range "16..1048574"; } } typedef route-distinguisher-def { description "the route-distinguisher command configures a route distinguisher (rd) for the ipv4 or ipv6 address family of a vpn instance. format is asn:nn or ip-address:nn."; type string { length "3..21"; } } grouping bgp-instance-commom { description "the common structure of bgp instance."; leaf bgp-instance-name { type string; } leaf bgp-instance-create { type enumeration { enum "not-i2rs"; enum "i2rsclient-create-bgp-instance"; enum "i2rsagent-fails-bgp-instance-create"; enum "i2rsagent-created-bgp-instance"; enum "i2rsagent-bgp-instance-create"; enum "i2rsagent-rejects-bgp-instance-create"; enum "i2rsagent-attempts-bgp-instance-create"; } } Wang, et al. Expires April 18, 2015 [Page 64] Internet-Draft BGP IM October 2014 leaf bgp-instance-type { type enumeration { enum "bgp-ipv4-uni"; enum "bgp-ipv4-multi"; enum "bgp-ipv4-l3vpn"; enum "bgp-ipv4-mvpn"; enum "bgp-vpls"; enum "bgp-mdt"; enum "bgp-evpn"; enum "bgp-ls"; enum "bgp-ipv4-mpls-vpn"; enum "bgp-ipv4-mpls-mvpn"; enum "bgp-route-target"; enum "bgp-ipv4-flow"; enum "bgp-ipv4-vpn-flow"; enum "bgp-ipv4-vrf-list"; enum "bgp-ipv6-vrf-list"; enum "bgp-ipv6-uni"; enum "bgp-ipv6-vpnv6"; } } leaf bgp-vendor-type { type enumeration { enum "cisco"; enum "huawei"; } } leaf afi { type afi-def; } leaf safi { type safi-def; } } grouping bgp-route-common { leaf bgp-route-type { type enumeration { enum "bgp-route-type-rd"; enum "bgp-route-type-ipv4"; enum "bgp-route-type-ipv6"; enum "bgp-labeled-ipv4"; Wang, et al. Expires April 18, 2015 [Page 65] Internet-Draft BGP IM October 2014 enum "bgp-labeled-ipv6"; enum "bgp-route-type-flow"; enum "bgp-route-type-evpn"; enum "bgp-route-type-mvpn"; enum "bgp-route-type-vpls"; enum "bgp-route-type-bgp-ls"; enum "bgp-route-type-l2vpn-signaling-nlri"; enum "bgp-rt-constraint"; enum "pw-route"; } } container bgp-attribute-list { leaf bgp-origin { type enumeration { enum "bgp-originattr-igp"; enum "bgp-originattr-egp"; enum "bgp-originattr-incomplete"; } } container bgp-aspath { leaf usascount { description "number of as's in the as path, exclude confed-sequence and confed-set."; type uint16; } leaf ulrefcount { description "reference count to this aspath."; type uint16; } leaf asstring { type string; } leaf usascountfrcomp { description "the count used for selecting best route, all as-seq + 1(if exist as-set) or 0 (if no as-set), ignore conf-as type."; config "false"; type uint16; } Wang, et al. Expires April 18, 2015 [Page 66] Internet-Draft BGP IM October 2014 leaf usastotalcount { description "for as-path-limit."; type uint16; } leaf usas4pathlen { description " length of pucas4pathvalue, tlv's l."; type uint16; } leaf as4pathvalue { type string; } }//end of "container bgp-aspath" leaf bgp-nexthop { type inet:ip-address; } leaf bgp-med { type uint32; } leaf bgp-localpref { type uint32; } leaf bgp-atomic-aggregate { type uint32; } container bgp-aggregator { leaf ulipaddress { description "ip address formed the aggregate route."; type uint32; } leaf ulasnumber { description "last as number that formed the aggregate route"; type uint32; } } container bgp-commattr { leaf uscommsize { description Wang, et al. Expires April 18, 2015 [Page 67] Internet-Draft BGP IM October 2014 "number of communities."; type uint16; } leaf ulrefcomm { description "number of routes having the same community value."; type uint32; } leaf commattr-value { description "community value."; type string; } } container bgp-extcommattr { leaf usextcommsize { description "number of communities."; type uint16; } leaf ulrefcount { description "number of routes having the same community value."; type uint32; } leaf extcommattr-value { description "community value."; type string; } } //end of "container bgp-extcommattr" container bgp-clusterlist { leaf uscluslen { description "length of cluster list."; type uint16; } leaf ulrefclus { description Wang, et al. Expires April 18, 2015 [Page 68] Internet-Draft BGP IM October 2014 "count of number of routes referring to this cluster list."; type uint32; } leaf clusterlist-value { description "cluster list values."; type string; } } leaf bgp-originator-id { description "ip address of the originator id."; type uint32; } } leaf bgp-route-create { description "the way of creating of bgp route."; type enumeration { enum "not-i2rs-route"; enum "i2rsclient-create-bgp-route"; enum "i2rsagent-fails-bgp-route-create"; enum "i2rsagent-created-bgp-route"; enum "i2rsagent-bgp-route-create"; enum "i2rsagent-rejects-bgp-route-create"; enum "i2rsagent-attempts-bgp-route-create"; } config false; } container bgp-rt-state-info { config false; leaf rib-current-state{ type rib-state-def; config false; } leaf rib-last-state{ type rib-state-def; config false; } Wang, et al. Expires April 18, 2015 [Page 69] Internet-Draft BGP IM October 2014 leaf rib-rejected-reason { description "the way of creating of bgp route."; type enumeration { enum "peer-withdraw"; enum "policy-results"; enum "nexthop-unreachable"; enum "malformed-peer-down"; enum "malformed-discard"; enum "malformed-ignore"; } config false; } leaf not-preferred-reason { type enumeration { enum "peer-address"; enum "router-id"; enum "cluster-list-length"; enum "igp-metric"; enum "peer-type"; enum "origin"; enum "weight-or-preferred-value"; enum "local-preference"; enum "route-type"; enum "as-path-length"; enum "med"; } config false; } } } grouping bgp-peer-common { leaf bgp-peer-name { type string; } leaf bgp-peer-type { description "the bgp-peer-type provides a list of bgp peer type found within the bgp instances associated with the bgp protocol function on the device associated with the i2rs agent. these can be asbr (as border router e-bgp), pe (provider edge e-bgp), ibgp peer, Wang, et al. Expires April 18, 2015 [Page 70] Internet-Draft BGP IM October 2014 or rr (route reflector)."; type enumeration { enum "asbr"; enum "ibgp"; enum "rr"; enum "rr-client"; enum "pe"; enum "ce"; enum "bgp-vendor-types"; enum "bgp-vendor-type"; } config false; } leaf bgp-peer-create { description "provides the i2rs creation status for this peer as: not-created by i2rs, requested by client but not processed, or an i2rs agent's response to the request: (agent reject peer creation, agent attempting peer creation, agent failed peer creation, and agent created bgp peer)."; type enumeration { enum "not-i2rs-created-peer"; enum "i2rsclient-bgp-peer-create-request"; enum "i2rsagent-rejects-bgp-peer-create"; enum "i2rsagent-attempts-bgp-instance-create"; enum "i2rsagent-fails-bgp-instance-create"; enum "i2rsagent-created-bgp-peer"; } config false; } container bgp-policy-in { } container bgp-policy-out { } container peer-policy-in-pset { description "this is the variable the i2rs client reads to receive the full policy- set used for this bgp peers inbound policy. the i2rs agent must to keep this policy variable in-sync with the i2rs peer-policy-in."; config false; } container peer-policy-out-pset { description "this is the variable the i2rs client reads to receive the full policy- set used for this bgp peers inbound policy. the i2rs agent must to keep this policy variable in-sync with the i2rs peer- policy-out."; config false; Wang, et al. Expires April 18, 2015 [Page 71] Internet-Draft BGP IM October 2014 } container peer-state-info { description "the current state of the bgp peer in the bgp state machine."; leaf peer-current-state { type peer-state; config false; } leaf peer-last-state { description "the last state of the bgp peer according to the bgp state machine."; type peer-state; config false; } container peer-down-reason { description "the error code and sub-error code of the last peer down."; leaf error-code { type enumeration { enum message-header-error { value "1"; } enum open-message-error { value "2"; } enum update-message-error { value "3"; } enum hold-timer-expired { value "4"; } enum finite-state-machine-error { value "5"; } enum cease { value "6"; } enum route-refresh-error { value "7"; } } } container sub-error-code { choice sub-error-code-type { case head-error-sub-code{ leaf head-error-sub-value { type enumeration { enum connection-not-synchronized { value "1"; } Wang, et al. Expires April 18, 2015 [Page 72] Internet-Draft BGP IM October 2014 enum bad-message-length { value "2"; } enum bad-message-type { value "3"; } } } } case open-error-sub-code{ leaf open-error-sub-value { type enumeration { enum unsupported-version-number { value "1"; } enum bad-peer-as { value "2"; } enum bad-bgp-identifier { value "3"; } enum unsupported-optional-parameter { value "4"; } enum deprecated-see-appendix-a { value "5"; } enum unacceptable-hold-time { value "6"; } } } } case update-error-sub-code{ leaf update-error-sub-value { type enumeration { enum malformed-attribute-list { value "1"; } enum unrecognized-well-known-attribute { value "2"; } enum missing-well-known-attribute { value "3"; } enum attribute-flags-error { value "4"; } Wang, et al. Expires April 18, 2015 [Page 73] Internet-Draft BGP IM October 2014 enum attribute-length-error { value "5"; } enum invalid-origin-attribute { value "6"; } enum deprecated-see-appendix { value "7"; } enum invalid-next-hop-attribute { value "8"; } enum optional-attribute-error { value "9"; } enum invalid-network-field { value "10"; } enum malformed-as-path { value "11"; } } } } case route-refresh-error-sub-code{ leaf route-refresh-error-sub-value { type enumeration { enum invalid-message-length { value "1"; } } } } } } config false; } leaf peer-received-update-cnt { description "the count of the received update packets.."; type uint64; config false; } leaf peer-transmit-update-cnt { description "the count of the transmit update packets."; type uint64; Wang, et al. Expires April 18, 2015 [Page 74] Internet-Draft BGP IM October 2014 config false; } leaf peer-received-route-cnt { description "contains current total number of unique prefix routes received from peer."; type uint64; config false; } leaf peer-send-route-cnt { description "contains current total number prefix routes sent to peer."; type uint64; config false; } leaf max-prefix-rcv-limit { description "maximum unique prefix routes accepted from peer."; type uint64; } leaf max-prefix-xmt-limit { description "maximum unique prefix routes transmit to peer."; type uint64; } leaf peer-prefix-high { description "contains high water mark count of total unique routes by prefix received from peer."; type uint64; config false; } leaf peer-prefix-low { description "contains the low water mark count of total unique routes by prefix received from peer."; type uint64; config false; } leaf peer-perfix-ave { description "contains the average number of prefix routes from peer (running)."; type uint64; config false; } leaf peer-prefix-time { type uint64; config false; } Wang, et al. Expires April 18, 2015 [Page 75] Internet-Draft BGP IM October 2014 leaf peer-prefix-max { type uint64; config false; } leaf publish-version { type uint64; config false; } } }//end of "container bgp-peer-list" grouping bgp-mvpn-rib { uses bgp-route-common; choice bgp-mvpn-route-type { case INTRA_AS_I_PMSI_AD { list intra-as-i-pmsi-ad-route{ key "route-type route-distinguisher origin-router-ip-addr"; leaf route-type{ type mvpn-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf origin-router-ip-addr{ type inet:ip-prefix; } } } case INTER_AS_I_PMSI_AD { list inter_as_i_pmsi_as_route { key "route-type route-distinguisher source-as"; leaf route-type{ type mvpn-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf source-as{ type inet:as-number; } } } case S_PMSI_AD { list s-pmsi-ad-route { Wang, et al. Expires April 18, 2015 [Page 76] Internet-Draft BGP IM October 2014 key "route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr"; leaf route-type{ type mvpn-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf multicast-source{ type inet:ip-prefix; } leaf multicast-group{ type inet:ip-prefix; } leaf origin-router-ip-addr{ type inet:ip-prefix; } } } case LEAF_AD{ list leaf-ad-route { key "route-type route-key origin-router-ip-addr"; leaf route-type{ type mvpn-route-type; } leaf route-key{ type binary; } leaf origin-router-ip-addr{ type inet:ip-prefix; } } } case SOURCE_ACTIVE_AD { list source-active-ad-route { key "route-type route-distinguisher multicast-source multicast-group"; leaf route-type{ type mvpn-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf multicast-source{ type inet:ip-prefix; Wang, et al. Expires April 18, 2015 [Page 77] Internet-Draft BGP IM October 2014 } leaf multicast-group{ type inet:ip-prefix; } } } case SHARED_TREE_JOIN { list shared-tree-join-route { key "route-type route-distinguisher source-as multicast-source multicast-group"; leaf route-type{ type mvpn-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf source-as{ type inet:as-number; } leaf multicast-source{ type inet:ip-prefix; } leaf multicast-group{ type inet:ip-prefix; } } } case SOURCE_TREE_JOIN { list source-tree-join-route { key "route-type route-distinguisher source-as multicast-source multicast-group"; leaf route-type{ type mvpn-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf source-as{ type inet:as-number; } leaf multicast-source{ type inet:ip-prefix; } leaf multicast-group{ type inet:ip-prefix; } Wang, et al. Expires April 18, 2015 [Page 78] Internet-Draft BGP IM October 2014 } } } } grouping bgp-mcast-vpls-rib { uses bgp-route-common; choice bgp-mcast-vpls-route-type { case SELECTIVE_TREE_AD_ROUTE { list selective-tree-ad-route{ key "route-type route-distinguisher multicast-source multicast-group origin-router-ip-addr"; leaf route-type{ type mcast-vpls-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf multicast-source{ type inet:ip-prefix; } leaf multicast-group{ type inet:ip-prefix; } leaf origin-router-ip-addr{ type inet:ip-prefix; } } } case LEAF_AD { list leaf-ad-route { key "route-type route-key origin-router-ip-addr"; leaf route-type{ type mcast-vpls-route-type; } leaf route-key{ type binary; } leaf origin-router-ip-addr{ type inet:ip-prefix; } } } Wang, et al. Expires April 18, 2015 [Page 79] Internet-Draft BGP IM October 2014 } } grouping bgp-evpn-rib { uses bgp-route-common; choice bgp-evpn-route-type { case EVPN_AD_ROUTE { list evpn-ad-route{ key "route-type route-distinguisher esi eth-tag-id"; leaf route-type{ type evpn-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf esi{ type string{ length "24"; pattern "(^00([0-9a-fA-F]){2}\.(([0-9a-fA-F]){4}\.){3} (([0-9a-fA-F]){4})$)"; } } leaf eth-tag-id { type uint32 { range "1..4294967295"; } } } } case EVPN_MAC_ROUTE { list evpn-mac-route { key "route-type route-distinguisher esi eth-tag-id mac-length mac-address ip-address-length ip-address"; leaf route-type{ type evpn-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf esi{ type string{ length "24"; pattern "(^00([0-9a-fA-F]){2}\.(([0-9a-fA-F]){4}\.){3} (([0-9a-fA-F]){4})$)"; } Wang, et al. Expires April 18, 2015 [Page 80] Internet-Draft BGP IM October 2014 } leaf eth-tag-id { type uint32 { range "1..4294967295"; } } leaf mac-length { type uint8 { range "48"; } } leaf mac-address { type yang:mac-address; } leaf ip-address-length { type uint8 { range "0..32"; } } leaf ip-address { type inet:ip-address; } leaf label1{ type uint32 { range "16..1048574"; } } leaf label2{ type uint32 { range "16..1048574"; } } } } case EVPN_INC_MCAST_TREE { list evpn-inc-mcast-tree-route { key "route-type route-distinguisher eth-tag-id ip-address-length origin-router-ip-addr"; leaf route-type{ type evpn-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf eth-tag-id { type uint32 { range "1..4294967295"; Wang, et al. Expires April 18, 2015 [Page 81] Internet-Draft BGP IM October 2014 } } leaf ip-address-length { type uint8; //4 or 16 octets } leaf origin-router-ip-addr{ type inet:ip-prefix; } } } case EVPN_ETH_SEGMENT_ROUTE{ list evpn-eth-segment-route { key "route-type route-distinguisher esi ip-address-length origin-router-ip-addr"; leaf route-type{ type evpn-route-type; } leaf route-distinguisher{ type route-distinguisher-def; } leaf esi{ type string{ length "24"; pattern "(^00([0-9a-fA-F]){2}\.(([0-9a-fA-F]){4}\.){3} (([0-9a-fA-F]){4})$)"; } } leaf ip-address-length { type uint8; //4 or 16 octets } leaf origin-router-ip-addr{ type inet:ip-prefix; } } } } } container bgp-protocol { leaf router-id { type inet:ip-address; } leaf as-number { type uint32; } leaf protocol-status { Wang, et al. Expires April 18, 2015 [Page 82] Internet-Draft BGP IM October 2014 description "administartive status of bgp protocol."; type enumeration { enum "unknown"; enum "up"; enum "down"; } config false; } leaf shutdown-protocol { type boolean; } leaf bgp-role { type enumeration { enum "asbr"; enum "pe"; enum "ibgp"; enum "rr"; } config false; } container bgp-ipv4-uni-instance { uses bgp-instance-commom; container bgp-local-rib{ list bgp-route-list{ key "ipv4-route ipv4-prefix-length"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } uses bgp-route-common; } } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv4-address{ type inet:ipv4-prefix; } leaf remote-ipv4-address{ type inet:ipv4-prefix; } } Wang, et al. Expires April 18, 2015 [Page 83] Internet-Draft BGP IM October 2014 uses bgp-peer-common; container bgp-rib-in{ list bgp-rib-in-list{ key "ipv4-route ipv4-prefix-length"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } uses bgp-route-common; } } container bgp-rib-out{ list bgp-rib-out-list{ key "ipv4-route ipv4-prefix-length"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } uses bgp-route-common; } } } } container bgp-labeled-ipv4-instance { uses bgp-instance-commom; container bgp-local-rib{ list bgp-route-list{ key "ipv4-route ipv4-prefix-length mpls-label"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } uses bgp-route-common; } } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv4-address{ Wang, et al. Expires April 18, 2015 [Page 84] Internet-Draft BGP IM October 2014 type inet:ipv4-prefix; } leaf remote-ipv4-address{ type inet:ipv4-prefix; } } uses bgp-peer-common; container bgp-rib-in{ list bgp-rib-in-list{ key "ipv4-route ipv4-prefix-length mpls-label"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } uses bgp-route-common; } } container bgp-rib-out{ list bgp-rib-out-list{ key "ipv4-route ipv4-prefix-length mpls-label"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } uses bgp-route-common; } } } } container bgp-ipv4-multi-instance { uses bgp-instance-commom; container bgp-local-rib{ list bgp-route-list{ key "ipv4-route ipv4-prefix-length"; leaf ipv4-route{ type inet:ipv4-prefix; Wang, et al. Expires April 18, 2015 [Page 85] Internet-Draft BGP IM October 2014 } leaf ipv4-prefix-length{ type uint8; } uses bgp-route-common; } } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv4-address{ type inet:ipv4-prefix; } leaf remote-ipv4-address{ type inet:ipv4-prefix; } } uses bgp-peer-common; container bgp-rib-in{ list bgp-rib-in-list{ key "ipv4-route ipv4-prefix-length"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } uses bgp-route-common; } } container bgp-rib-out{ list bgp-rib-out-list{ key "ipv4-route ipv4-prefix-length"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } uses bgp-route-common; } } } } container bgp-vpnv4-instance { uses bgp-instance-commom; container bgp-local-rib{ Wang, et al. Expires April 18, 2015 [Page 86] Internet-Draft BGP IM October 2014 list bgp-route-list{ key "ipv4-route ipv4-prefix-length route-distinguisher"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } leaf route-distinguisher{ type route-distinguisher-def; } uses bgp-route-common; } } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv4-address{ type inet:ipv4-prefix; } leaf remote-ipv4-address{ type inet:ipv4-prefix; } } uses bgp-peer-common; container bgp-rib-in{ list bgp-rib-in-list{ key "ipv4-route ipv4-prefix-length route-distinguisher"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } leaf route-distinguisher{ type route-distinguisher-def; } uses bgp-route-common; } } container bgp-rib-out{ list bgp-rib-out-list{ Wang, et al. Expires April 18, 2015 [Page 87] Internet-Draft BGP IM October 2014 key "ipv4-route ipv4-prefix-length route-distinguisher"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } leaf route-distinguisher{ type route-distinguisher-def; } uses bgp-route-common; } } } } list bgp-ipv4-l3vpn-instance-list { key "bgp-l3vpn-instance-name"; leaf bgp-l3vpn-instance-name { type string; } uses bgp-instance-commom; container bgp-local-rib{ list bgp-route-list{ key "ipv4-route ipv4-prefix-length"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } uses bgp-route-common; } } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv4-address{ type inet:ipv4-prefix; } leaf remote-ipv4-address{ type inet:ipv4-prefix; Wang, et al. Expires April 18, 2015 [Page 88] Internet-Draft BGP IM October 2014 } } uses bgp-peer-common; container bgp-rib-in{ list bgp-rib-in-list{ key "ipv4-route ipv4-prefix-length"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } uses bgp-route-common; } } container bgp-rib-out{ list bgp-rib-out-list{ key "ipv4-route ipv4-prefix-length"; leaf ipv4-route{ type inet:ipv4-prefix; } leaf ipv4-prefix-length{ type uint8; } uses bgp-route-common; } } } } /*ipv6*/ container bgp-ipv6-uni-instance { uses bgp-instance-commom; container bgp-local-rib{ list bgp-route-list{ key "ipv6-route ipv6-prefix-length"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } uses bgp-route-common; } } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ Wang, et al. Expires April 18, 2015 [Page 89] Internet-Draft BGP IM October 2014 leaf local-ipv6-address{ type inet:ipv6-prefix; } leaf remote-ipv6-address{ type inet:ipv6-prefix; } } uses bgp-peer-common; container bgp-rib-in{ list bgp-rib-in-list{ key "ipv6-route ipv6-prefix-length"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } uses bgp-route-common; } } container bgp-rib-out{ list bgp-rib-out-list{ key "ipv6-route ipv6-prefix-length"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } uses bgp-route-common; } } } } container bgp-labeled-ipv6-instance { uses bgp-instance-commom; container bgp-local-rib{ list bgp-route-list{ key "ipv6-route ipv6-prefix-length mpls-label"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } Wang, et al. Expires April 18, 2015 [Page 90] Internet-Draft BGP IM October 2014 uses bgp-route-common; } } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv6-address{ type inet:ipv6-prefix; } leaf remote-ipv6-address{ type inet:ipv6-prefix; } } uses bgp-peer-common; container bgp-rib-in{ list bgp-rib-in-list{ key "ipv6-route ipv6-prefix-length mpls-label"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } uses bgp-route-common; } } container bgp-rib-out{ list bgp-rib-out-list{ key "ipv6-route ipv6-prefix-length mpls-label"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } uses bgp-route-common; } } } } Wang, et al. Expires April 18, 2015 [Page 91] Internet-Draft BGP IM October 2014 container bgp-ipv6-multi-instance { uses bgp-instance-commom; container bgp-local-rib{ list bgp-route-list{ key "ipv6-route ipv6-prefix-length"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } uses bgp-route-common; } } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv6-address{ type inet:ipv6-prefix; } leaf remote-ipv6-address{ type inet:ipv6-prefix; } } uses bgp-peer-common; container bgp-rib-in{ list bgp-rib-in-list{ key "ipv6-route ipv6-prefix-length"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } uses bgp-route-common; } } container bgp-rib-out{ list bgp-rib-out-list{ key "ipv6-route ipv6-prefix-length"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } uses bgp-route-common; } Wang, et al. Expires April 18, 2015 [Page 92] Internet-Draft BGP IM October 2014 } } } container bgp-vpnv6-instance { uses bgp-instance-commom; container bgp-local-rib{ list bgp-route-list{ key "ipv6-route ipv6-prefix-length route-distinguisher"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } leaf route-distinguisher{ type route-distinguisher-def; } uses bgp-route-common; } } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv6-address{ type inet:ipv6-prefix; } leaf remote-ipv6-address{ type inet:ipv6-prefix; } } uses bgp-peer-common; container bgp-rib-in{ list bgp-rib-in-list{ key "ipv6-route ipv6-prefix-length route-distinguisher"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } leaf route-distinguisher{ Wang, et al. Expires April 18, 2015 [Page 93] Internet-Draft BGP IM October 2014 type route-distinguisher-def; } uses bgp-route-common; } } container bgp-rib-out{ list bgp-rib-out-list{ key "ipv6-route ipv6-prefix-length route-distinguisher"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } leaf mpls-label{ type mpls-label-def; } leaf route-distinguisher{ type route-distinguisher-def; } uses bgp-route-common; } } } } list bgp-ipv6-l3vpn-instance-list { key "bgp-l3vpn-instance-name"; leaf bgp-l3vpn-instance-name { type string; } uses bgp-instance-commom; container bgp-local-rib{ list bgp-route-list{ key "ipv6-route ipv6-prefix-length"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } uses bgp-route-common; } } list bgp-peer-list{ key "bgp-peer-name"; Wang, et al. Expires April 18, 2015 [Page 94] Internet-Draft BGP IM October 2014 container peer-session-address{ leaf local-ipv6-address{ type inet:ipv6-prefix; } leaf remote-ipv6-address{ type inet:ipv6-prefix; } } uses bgp-peer-common; container bgp-rib-in{ list bgp-rib-in-list{ key "ipv6-route ipv6-prefix-length"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } uses bgp-route-common; } } container bgp-rib-out{ list bgp-rib-out-list{ key "ipv6-route ipv6-prefix-length"; leaf ipv6-route{ type inet:ipv6-prefix; } leaf ipv6-prefix-length{ type uint8; } uses bgp-route-common; } } } } container bgp-ipv4-mvpn-instance { uses bgp-instance-commom; container bgp-local-rib{ uses bgp-mvpn-rib; } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv4-address{ type inet:ipv4-prefix; Wang, et al. Expires April 18, 2015 [Page 95] Internet-Draft BGP IM October 2014 } leaf remote-ipv4-address{ type inet:ipv4-prefix; } } uses bgp-peer-common; container bgp-rib-in{ uses bgp-mvpn-rib; } container bgp-rib-out{ uses bgp-mvpn-rib; } } } container bgp-ipv6-mvpn-instance { uses bgp-instance-commom; container bgp-local-rib{ uses bgp-mvpn-rib; } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv6-address{ type inet:ipv6-prefix; } leaf remote-ipv6-address{ type inet:ipv6-prefix; } } uses bgp-peer-common; container bgp-rib-in{ uses bgp-mvpn-rib; } container bgp-rib-out{ uses bgp-mvpn-rib; } } } container bgp-mcast-vpls-instance { uses bgp-instance-commom; container bgp-local-rib{ Wang, et al. Expires April 18, 2015 [Page 96] Internet-Draft BGP IM October 2014 uses bgp-mcast-vpls-rib; } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv4-address{ type inet:ipv4-prefix; } leaf remote-ipv4-address{ type inet:ipv4-prefix; } } uses bgp-peer-common; container bgp-rib-in{ uses bgp-mcast-vpls-rib; } container bgp-rib-out{ uses bgp-mcast-vpls-rib; } } } container bgp-evpn-instance { uses bgp-instance-commom; container bgp-local-rib{ uses bgp-evpn-rib; } list bgp-peer-list{ key "bgp-peer-name"; container peer-session-address{ leaf local-ipv4-address{ type inet:ipv4-prefix; } leaf remote-ipv4-address{ type inet:ipv4-prefix; } } uses bgp-peer-common; container bgp-rib-in{ uses bgp-evpn-rib; } container bgp-rib-out{ uses bgp-evpn-rib; Wang, et al. Expires April 18, 2015 [Page 97] Internet-Draft BGP IM October 2014 } } } }//end of "container bgp-protocol" } // 5. IANA Considerations This draft includes no request to IANA. 6. Security Considerations TBD. 7. Informative References [I-D.hares-i2rs-bnp-info-model] Hares, S. and Q. Wu, "An Information Model for Basic Network Policy", draft-hares-i2rs-bnp-info-model-00 (work in progress), September 2014. [I-D.ietf-i2rs-architecture] Atlas, A., Halpern, J., Hares, S., Ward, D., and T. Nadeau, "An Architecture for the Interface to the Routing System", draft-ietf-i2rs-architecture-05 (work in progress), July 2014. [I-D.ietf-i2rs-rib-info-model] Bahadur, N., Folkes, R., Kini, S., and J. Medved, "Routing Information Base Info Model", draft-ietf-i2rs-rib-info- model-03 (work in progress), May 2014. [I-D.ietf-netconf-restconf] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", draft-ietf-netconf-restconf-02 (work in progress), October 2014. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3060] Moore, B., Ellesson, E., Strassner, J., and A. Westerinen, "Policy Core Information Model -- Version 1 Specification", RFC 3060, February 2001. Wang, et al. Expires April 18, 2015 [Page 98] Internet-Draft BGP IM October 2014 [RFC3460] Moore, B., "Policy Core Information Model (PCIM) Extensions", RFC 3460, January 2003. [RFC3644] Snir, Y., Ramberg, Y., Strassner, J., Cohen, R., and B. Moore, "Policy Quality of Service (QoS) Information Model", RFC 3644, November 2003. [RFC5394] Bryskin, I., Papadimitriou, D., Berger, L., and J. Ash, "Policy-Enabled Path Computation Framework", RFC 5394, December 2008. [RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax Used to Form Encoding Rules in Various Routing Protocol Specifications", RFC 5511, April 2009. [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration Protocol (NETCONF) Access Control Model", RFC 6536, March 2012. Authors' Addresses Lixing Wang Huawei Beijing PRC Email: wanglixing@huawei.com Susan Hares Huawei 7453 Hickory Hill Saline, MI 48176 USA Email: shares@ndzh.com Shunwan Zhuang Huawei Beijing PRC Email: Zhuangshunwan@huawei.com Wang, et al. Expires April 18, 2015 [Page 99]