Internet DRAFT - draft-wang-i2rs-bgp-dm
draft-wang-i2rs-bgp-dm
I2RS Working Group L. Wang
Internet-Draft S. Hares
Intended status: Standards Track S. Zhuang
Expires: April 26, 2015 Huawei
October 23, 2014
An I2RS BGP Data Modell
draft-wang-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 26, 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 26, 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 . . . . . . . . . . . . . . . . . . . . 68
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 107
6. Security Considerations . . . . . . . . . . . . . . . . . . . 107
7. Informative References . . . . . . . . . . . . . . . . . . . 107
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 108
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 26, 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 route-admin-distance uint16
| | +--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
Wang, et al. Expires April 26, 2015 [Page 3]
Internet-Draft BGP IM October 2014
| | | +--rw bgp-extcommattr
| | | | +--rw
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 4]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--rw usextcommsize? uint16
| | | | +--rw ulrefcount? uint32
| | | | +--rw extcommattr-value? string
| | | +--rw bgp-clusterlist
Wang, et al. Expires April 26, 2015 [Page 5]
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-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 route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--rw usextcommsize? uint16
| | | +--rw ulrefcount? uint32
| | | +--rw extcommattr-value? string
| | +--rw bgp-clusterlist
| | | +--rw uscluslen? uint16
Wang, et al. Expires April 26, 2015 [Page 6]
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-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
| | +--rw ipv4-prefix-length uint8
| | +--rw mpls-label mpls-label-def
| | +--rw bgp-route-type? enumeration
| | +--rw route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
Wang, et al. Expires April 26, 2015 [Page 7]
Internet-Draft BGP IM October 2014
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 8]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--rw usextcommsize? uint16
| | | | +--rw ulrefcount? uint32
| | | | +--rw extcommattr-value? string
| | | +--rw bgp-clusterlist
| | | | +--rw uscluslen? uint16
Wang, et al. Expires April 26, 2015 [Page 9]
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*
[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 route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--rw usextcommsize? uint16
| | | +--rw ulrefcount? uint32
| | | +--rw extcommattr-value? string
| | +--rw bgp-clusterlist
Wang, et al. Expires April 26, 2015 [Page 10]
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-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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw community-id uint8
Wang, et al. Expires April 26, 2015 [Page 11]
Internet-Draft BGP IM October 2014
| | | | | +--rw insertion-point uint32
| | | | | +--rw cost-id uint32
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 12]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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 26, 2015 [Page 13]
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 route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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 26, 2015 [Page 14]
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-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
| +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
Wang, et al. Expires April 26, 2015 [Page 15]
Internet-Draft BGP IM October 2014
| | | | | +--rw cost-id uint32
| | | | +--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 policy-group-name
| +--rw bgp-policy-out policy-group-name
| +--ro peer-policy-in-pset policy-set-name
| +--ro peer-policy-out-pset policy-set-name
| +--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 26, 2015 [Page 16]
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 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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--rw usextcommsize? uint16
| | | | +--rw ulrefcount? uint32
| | | | +--rw extcommattr-value? string
| | | +--rw bgp-clusterlist
| | | | +--rw uscluslen? uint16
Wang, et al. Expires April 26, 2015 [Page 17]
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*
[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 route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--rw usextcommsize? uint16
| | | +--rw ulrefcount? uint32
| | | +--rw extcommattr-value? string
Wang, et al. Expires April 26, 2015 [Page 18]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
Wang, et al. Expires April 26, 2015 [Page 19]
Internet-Draft BGP IM October 2014
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 20]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--rw usextcommsize? uint16
| | | | +--rw ulrefcount? uint32
| | | | +--rw extcommattr-value? string
| | | +--rw bgp-clusterlist
Wang, et al. Expires April 26, 2015 [Page 21]
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-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 route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--rw usextcommsize? uint16
| | | +--rw ulrefcount? uint32
| | | +--rw extcommattr-value? string
| | +--rw bgp-clusterlist
| | | +--rw uscluslen? uint16
Wang, et al. Expires April 26, 2015 [Page 22]
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-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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
Wang, et al. Expires April 26, 2015 [Page 23]
Internet-Draft BGP IM October 2014
| | | | | +--rw cost-id uint32
| | | | +--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)
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 24]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 25]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| +--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? et: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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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
Wang, et al. Expires April 26, 2015 [Page 26]
Internet-Draft BGP IM October 2014
| +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--rw usextcommsize? uint16
| | | | +--rw ulrefcount? uint32
Wang, et al. Expires April 26, 2015 [Page 27]
Internet-Draft BGP IM October 2014
| | | | +--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)
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 28]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 29]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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
Wang, et al. Expires April 26, 2015 [Page 30]
Internet-Draft BGP IM October 2014
| +--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-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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--rw usextcommsize? uint16
| | | | +--rw ulrefcount? uint32
| | | | +--rw extcommattr-value? string
Wang, et al. Expires April 26, 2015 [Page 31]
Internet-Draft BGP IM October 2014
| | | +--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)
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 32]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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 26, 2015 [Page 33]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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
Wang, et al. Expires April 26, 2015 [Page 34]
Internet-Draft BGP IM October 2014
| +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--rw usextcommsize? uint16
| | | | +--rw ulrefcount? uint32
| | | | +--rw extcommattr-value? string
| | | +--rw bgp-clusterlist
Wang, et al. Expires April 26, 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
Wang, et al. Expires April 26, 2015 [Page 36]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 37]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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 26, 2015 [Page 38]
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-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 route-admin-distance uint16
| | +--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 custom-community
| | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--rw usextcommsize? uint16
Wang, et al. Expires April 26, 2015 [Page 39]
Internet-Draft BGP IM October 2014
| | | | +--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)
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 40]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 41]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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
Wang, et al. Expires April 26, 2015 [Page 42]
Internet-Draft BGP IM October 2014
| +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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 26, 2015 [Page 43]
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-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
Wang, et al. Expires April 26, 2015 [Page 44]
Internet-Draft BGP IM October 2014
| | | +--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
| | | +--:(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 26, 2015 [Page 45]
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-route-type? enumeration
| | +--rw route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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 26, 2015 [Page 46]
Internet-Draft BGP IM October 2014
| | +--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]
Wang, et al. Expires April 26, 2015 [Page 47]
Internet-Draft BGP IM October 2014
| | +--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-rib-out
| +--rw bgp-route-type? enumeration
| +--rw route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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
Wang, et al. Expires April 26, 2015 [Page 48]
Internet-Draft BGP IM October 2014
| | +--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
Wang, et al. Expires April 26, 2015 [Page 49]
Internet-Draft BGP IM October 2014
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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--rw usextcommsize? uint16
| | | | +--rw ulrefcount? uint32
| | | | +--rw extcommattr-value? string
| | | +--rw bgp-clusterlist
| | | | +--rw uscluslen? uint16
Wang, et al. Expires April 26, 2015 [Page 50]
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-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
Wang, et al. Expires April 26, 2015 [Page 51]
Internet-Draft BGP IM October 2014
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
| | | +--:(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
Wang, et al. Expires April 26, 2015 [Page 52]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | | +--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
Wang, et al. Expires April 26, 2015 [Page 53]
Internet-Draft BGP IM October 2014
| | +--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
Wang, et al. Expires April 26, 2015 [Page 54]
Internet-Draft BGP IM October 2014
| | | +--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-rib-out
| +--rw bgp-route-type? enumeration
| +--rw route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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 26, 2015 [Page 55]
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-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
Wang, et al. Expires April 26, 2015 [Page 56]
Internet-Draft BGP IM October 2014
| | +--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 route-admin-distance uint16
| | +--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 custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
Wang, et al. Expires April 26, 2015 [Page 57]
Internet-Draft BGP IM October 2014
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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
| +--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
Wang, et al. Expires April 26, 2015 [Page 58]
Internet-Draft BGP IM October 2014
| | | +--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 route-admin-distance uint16
| | +--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
Wang, et al. Expires April 26, 2015 [Page 59]
Internet-Draft BGP IM October 2014
| | | | +--rw uscommsize? uint16
| | | | +--rw ulrefcomm? uint32
| | | | +--rw commattr-value? string
| | | +--rw bgp-extcommattr
| | | | +--rw custom-community
| | | | | +--rw valid boolean
| | | | | +--rw insertion-point uint32
| | | | | +--rw community-id uint8
| | | | | +--rw cost-id uint32
| | | | +--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 route-admin-distance uint16
| +--rw bgp-attribute-list
| | +--rw bgp-origin? enumeration
| | +--rw bgp-aspath
| | | +--rw usascount? uint16
| | | +--rw ulrefcount? uint16
Wang, et al. Expires April 26, 2015 [Page 60]
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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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*
Wang, et al. Expires April 26, 2015 [Page 61]
Internet-Draft BGP IM October 2014
[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
| +--rw bgp-route-type? enumeration
| +--rw route-admin-distance uint16
| +--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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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 26, 2015 [Page 62]
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-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-peer-list* [bgp-peer-name]
Wang, et al. Expires April 26, 2015 [Page 63]
Internet-Draft BGP IM October 2014
+--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
| +--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 route-admin-distance uint16
| +--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 26, 2015 [Page 64]
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 custom-community
| | | | +--rw valid boolean
| | | | +--rw insertion-point uint32
| | | | +--rw community-id uint8
| | | | +--rw cost-id uint32
| | | +--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 26, 2015 [Page 65]
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-distinguisherroute-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 route-admin-distance uint16
+--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 26, 2015 [Page 66]
Internet-Draft BGP IM October 2014
| | +--rw ulrefcomm? uint32
| | +--rw commattr-value? string
| +--rw bgp-extcommattr
| | +--rw custom-community
| | | +--rw valid boolean
| | | +--rw insertion-point uint32
| | | +--rw community-id uint8
| | | +--rw cost-id uint32
| | +--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]
Wang, et al. Expires April 26, 2015 [Page 67]
Internet-Draft BGP IM October 2014
| +--rw route-type evpn-route-type
| +--rw route-distinguisherroute-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
4. BGP Yang description
//<code begins> 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):
Wang, et al. Expires April 26, 2015 [Page 68]
Internet-Draft BGP IM October 2014
ip (ip): internet protocol
ipv4 (ipv4):internet protocol version 4
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";
}
}
Wang, et al. Expires April 26, 2015 [Page 69]
Internet-Draft BGP IM October 2014
typedef mvpn-route-type {
reference "http://tools.ietf.org/html/rfc6514#section-4";
type enumeration {
enum INTRA_AS_I_PMSI_AD {
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;
}
Wang, et al. Expires April 26, 2015 [Page 70]
Internet-Draft BGP IM October 2014
enum EVPN_INC_MCAST_TREE {
value 3;
}
enum EVPN_ETH_SEGMENT_ROUTE {
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";
Wang, et al. Expires April 26, 2015 [Page 71]
Internet-Draft BGP IM October 2014
}
}
typedef rib-state-def {
type enumeration {
enum "active";
enum "in-active";
enum "primary";
enum "backup";
enum "suppress flap dampened";
enum "suppress non-flap dampen";
enum "active on altrenative best path";
}
}
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";
Wang, et al. Expires April 26, 2015 [Page 72]
Internet-Draft BGP IM October 2014
enum "i2rsagent-bgp-instance-create";
enum "i2rsagent-rejects-bgp-instance-create";
enum "i2rsagent-attempts-bgp-instance-create";
}
}
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 {
Wang, et al. Expires April 26, 2015 [Page 73]
Internet-Draft BGP IM October 2014
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";
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";
}
leaf route-admin-distance
byte uint16:
}
grouping bgp-ext-custom-community {
leaf valid {
description
"valid custom community";
type boolean;
}
leaf insertion-point {
description
"place community inserted.";
type uint32;
}
leaf community-id {
description
"custom community identifier.";
type uint8;
}
leaf cost-id {
descriptoin
"cost identifier.";
leaf uint32;
}
}
Wang, et al. Expires April 26, 2015 [Page 74]
Internet-Draft BGP IM October 2014
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;
}
leaf usastotalcount {
description
"for as-path-limit.";
type uint16;
}
leaf usas4pathlen {
description
" length of pucas4pathvalue, tlv's l.";
type uint16;
}
Wang, et al. Expires April 26, 2015 [Page 75]
Internet-Draft BGP IM October 2014
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 ulrefcomm {
description
"number of routes having the same community value.";
type uint32;
}
leaf commattr-value {
description
"community value.";
type string;
}
Wang, et al. Expires April 26, 2015 [Page 76]
Internet-Draft BGP IM October 2014
}
container custom-communty {
leaf valid {
description
"custom community is valid." ;
type boolean;
}
leaf
container bgp-extcommattr {
uses bgp-ext-custom-community;
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
"count of number of routes referring to this
cluster list.";
type uint32;
}
leaf clusterlist-value {
description
Wang, et al. Expires April 26, 2015 [Page 77]
Internet-Draft BGP IM October 2014
"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;
}
leaf rib-rejected-reason {
description
"the way of creating of bgp route.";
type enumeration {
enum "peer-withdraw";
enum "policy-results";
enum "nexthop-unreachable";
Wang, et al. Expires April 26, 2015 [Page 78]
Internet-Draft BGP IM October 2014
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";
enum "flap-dampened route";
enum "not-this-path-prefix-uses-alt-best-path";
enum "overlapping-route-marked-to-remove";
}
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,
or rr (route reflector).";
type enumeration {
enum "asbr";
enum "ibgp";
Wang, et al. Expires April 26, 2015 [Page 79]
Internet-Draft BGP IM October 2014
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;
}
container peer-state-info {
description "the current state of the bgp peer in the bgp state machine.";
leaf peer-current-state {
Wang, et al. Expires April 26, 2015 [Page 80]
Internet-Draft BGP IM October 2014
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";
}
enum bad-message-length {
value "2";
}
enum bad-message-type {
Wang, et al. Expires April 26, 2015 [Page 81]
Internet-Draft BGP IM October 2014
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";
}
enum attribute-length-error {
value "5";
}
enum invalid-origin-attribute {
Wang, et al. Expires April 26, 2015 [Page 82]
Internet-Draft BGP IM October 2014
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;
config false;
}
leaf peer-received-route-cnt {
description
Wang, et al. Expires April 26, 2015 [Page 83]
Internet-Draft BGP IM October 2014
"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;
}
leaf peer-prefix-max {
type uint64;
config false;
}
Wang, et al. Expires April 26, 2015 [Page 84]
Internet-Draft BGP IM October 2014
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 {
key "route-type route-distinguisher multicast-source
multicast-group origin-router-ip-addr";
leaf route-type{
Wang, et al. Expires April 26, 2015 [Page 85]
Internet-Draft BGP IM October 2014
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;
}
leaf multicast-group{
type inet:ip-prefix;
}
Wang, et al. Expires April 26, 2015 [Page 86]
Internet-Draft BGP IM October 2014
}
}
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 26, 2015 [Page 87]
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;
}
}
}
}
}
grouping bgp-evpn-rib {
Wang, et al. Expires April 26, 2015 [Page 88]
Internet-Draft BGP IM October 2014
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})$)";
}
}
leaf eth-tag-id {
type uint32 {
range "1..4294967295";
Wang, et al. Expires April 26, 2015 [Page 89]
Internet-Draft BGP IM October 2014
}
}
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";
}
}
leaf ip-address-length {
type uint8; //4 or 16 octets
Wang, et al. Expires April 26, 2015 [Page 90]
Internet-Draft BGP IM October 2014
}
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 {
description
"administartive status of bgp protocol.";
type enumeration {
enum "unknown";
Wang, et al. Expires April 26, 2015 [Page 91]
Internet-Draft BGP IM October 2014
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;
}
}
uses bgp-peer-common;
container bgp-rib-in{
list bgp-rib-in-list{
key "ipv4-route ipv4-prefix-length";
Wang, et al. Expires April 26, 2015 [Page 92]
Internet-Draft BGP IM October 2014
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{
type inet:ipv4-prefix;
}
leaf remote-ipv4-address{
type inet:ipv4-prefix;
Wang, et al. Expires April 26, 2015 [Page 93]
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 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;
}
leaf ipv4-prefix-length{
type uint8;
}
Wang, et al. Expires April 26, 2015 [Page 94]
Internet-Draft BGP IM October 2014
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{
list bgp-route-list{
key "ipv4-route ipv4-prefix-length route-distinguisher";
leaf ipv4-route{
type inet:ipv4-prefix;
Wang, et al. Expires April 26, 2015 [Page 95]
Internet-Draft BGP IM October 2014
}
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{
key "ipv4-route ipv4-prefix-length route-distinguisher";
leaf ipv4-route{
type inet:ipv4-prefix;
}
Wang, et al. Expires April 26, 2015 [Page 96]
Internet-Draft BGP IM October 2014
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;
}
}
uses bgp-peer-common;
container bgp-rib-in{
Wang, et al. Expires April 26, 2015 [Page 97]
Internet-Draft BGP IM October 2014
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{
leaf local-ipv6-address{
type inet:ipv6-prefix;
}
leaf remote-ipv6-address{
Wang, et al. Expires April 26, 2015 [Page 98]
Internet-Draft BGP IM October 2014
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;
}
uses bgp-route-common;
}
}
list bgp-peer-list{
Wang, et al. Expires April 26, 2015 [Page 99]
Internet-Draft BGP IM October 2014
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;
}
}
}
}
container bgp-ipv6-multi-instance {
uses bgp-instance-commom;
container bgp-local-rib{
list bgp-route-list{
Wang, et al. Expires April 26, 2015 [Page 100]
Internet-Draft BGP IM October 2014
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 26, 2015 [Page 101]
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{
type route-distinguisher-def;
}
uses bgp-route-common;
}
Wang, et al. Expires April 26, 2015 [Page 102]
Internet-Draft BGP IM October 2014
}
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";
container peer-session-address{
leaf local-ipv6-address{
type inet:ipv6-prefix;
}
Wang, et al. Expires April 26, 2015 [Page 103]
Internet-Draft BGP IM October 2014
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;
}
leaf remote-ipv4-address{
type inet:ipv4-prefix;
}
Wang, et al. Expires April 26, 2015 [Page 104]
Internet-Draft BGP IM October 2014
}
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{
uses bgp-mcast-vpls-rib;
}
list bgp-peer-list{
Wang, et al. Expires April 26, 2015 [Page 105]
Internet-Draft BGP IM October 2014
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 26, 2015 [Page 106]
Internet-Draft BGP IM October 2014
}//end of "container bgp-protocol"
}
//<code ends>
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.
[RFC3460] Moore, B., "Policy Core Information Model (PCIM)
Extensions", RFC 3460, January 2003.
Wang, et al. Expires April 26, 2015 [Page 107]
Internet-Draft BGP IM October 2014
[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 26, 2015 [Page 108]