draft-ietf-idr-bgp-enhanced-route-refresh-10.txt   rfc7313.txt 
IDR K. Patel Internet Engineering Task Force (IETF) K. Patel
Internet-Draft E. Chen Request for Comments: 7313 E. Chen
Updates: 2918 (if approved) Cisco Systems Updates: 2918 Cisco Systems
Intended status: Standards Track B. Venkatachalapathy Category: Standards Track B. Venkatachalapathy
Expires: December 11, 2014 ISSN: 2070-1721 July 2014
June 9, 2014
Enhanced Route Refresh Capability for BGP-4 Enhanced Route Refresh Capability for BGP-4
draft-ietf-idr-bgp-enhanced-route-refresh-10.txt
Abstract Abstract
In this document we enhance the existing BGP route refresh mechanisms In this document, we enhance the existing BGP route refresh
to provide for the demarcation of the beginning and the ending of a mechanisms to provide for the demarcation of the beginning and the
route refresh. The enhancement can be used to facilitate correction ending of a route refresh. The enhancement can be used to facilitate
of BGP RIB inconsistencies in a non-disruptive manner. This document correction of BGP Routing Information Base (RIB) inconsistencies in a
updates RFC 2918. non-disruptive manner. This document updates RFC 2918.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
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 This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
This Internet-Draft will expire on December 11, 2014. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7313.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 15 skipping to change at page 2, line 13
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2
3. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . 2 3. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . 2
3.1. Enhanced Route Refresh Capability . . . . . . . . . . . . 3 3.1. Enhanced Route Refresh Capability . . . . . . . . . . . . 3
3.2. Subtypes for ROUTE-REFRESH Message . . . . . . . . . . . 3 3.2. Subtypes for ROUTE-REFRESH Message . . . . . . . . . . . 3
4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 3
5. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4 5. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 5
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
9. Normative References . . . . . . . . . . . . . . . . . . . . 6 9. Normative References . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
It is sometimes necessary to perform routing consistency validations It is sometimes necessary to perform routing consistency validations
such as checking for possible missing route withdrawals between BGP such as checking for possible missing route withdrawals between BGP
speakers [RFC4271]. Currently such validations typically involve speakers [RFC4271]. Currently, such validations typically involve
off-line, manual operations which can be tedious and time consuming. offline, manual operations that can be tedious and time-consuming.
In this document we enhance the existing BGP route refresh mechanisms In this document, we enhance the existing BGP route refresh
[RFC2918] to provide for the demarcation of the beginning and the mechanisms [RFC2918] to provide for the demarcation of the beginning
ending of a route refresh (which refers to the complete re- and the ending of a route refresh (which refers to the complete
advertisement of the Adj-RIB-Out to a peer, subject to routing re-advertisement of the Adj-RIB-Out to a peer, subject to routing
policies). The enhancement can be used to facilitate on-line, non- policies). The enhancement can be used to facilitate online, non-
disruptive consistency validation of BGP routing updates. disruptive consistency validation of BGP routing updates.
This document updates [RFC2918] by redefining a field in the ROUTE- This document updates [RFC2918] by redefining a field in the ROUTE-
REFRESH message that was previously designated as Reserved. REFRESH message that was previously designated as Reserved.
2. Requirements Language 2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119] only when document are to be interpreted as described in [RFC2119] only when
skipping to change at page 3, line 11 skipping to change at page 3, line 9
The BGP protocol extensions introduced in this document include the The BGP protocol extensions introduced in this document include the
definition of a new BGP capability, named "Enhanced Route Refresh definition of a new BGP capability, named "Enhanced Route Refresh
Capability", and the specification of the message subtypes for the Capability", and the specification of the message subtypes for the
ROUTE-REFRESH message. ROUTE-REFRESH message.
3.1. Enhanced Route Refresh Capability 3.1. Enhanced Route Refresh Capability
The "Enhanced Route Refresh Capability" is a new BGP capability The "Enhanced Route Refresh Capability" is a new BGP capability
[RFC5492]. IANA has assigned a Capability Code of 70 for this [RFC5492]. IANA has assigned a Capability Code of 70 for this
capability . The Capability Length field of this capability is zero. capability. The Capability Length field of this capability is zero.
By advertising this capability to a peer, a BGP speaker conveys to By advertising this capability to a peer, a BGP speaker conveys to
the peer that the speaker supports the message subtypes for the the peer that the speaker supports the message subtypes for the
ROUTE-REFRESH message and the related procedures described in this ROUTE-REFRESH message and the related procedures described in this
document. document.
3.2. Subtypes for ROUTE-REFRESH Message 3.2. Subtypes for ROUTE-REFRESH Message
The "Reserved" field of the ROUTE-REFRESH message specified in The "Reserved" field of the ROUTE-REFRESH message specified in
[RFC2918] is re-defined as the "Message Subtype" with the following [RFC2918] is redefined as the "Message Subtype" with the following
values: values:
0 - Normal route refresh request [RFC2918] 0 - Normal route refresh request [RFC2918]
with/without ORF [RFC5291] with/without Outbound Route Filtering (ORF) [RFC5291]
1 - Demarcation of the beginning of a route refresh 1 - Demarcation of the beginning of a route refresh
(BoRR) operation. (BoRR) operation
2 - Demarcation of the ending of a route refresh 2 - Demarcation of the ending of a route refresh
(EoRR) operation. (EoRR) operation
255 - Reserved
The remaining values of the message subtypes are reserved for future The remaining values of the message subtypes are reserved for future
use. The use of the new message subtypes is described in the use; see Section 6 ("IANA Considerations"). The use of the new
Operations section. message subtypes is described in Section 4 ("Operation").
4. Operation 4. Operation
A BGP speaker that supports the message subtypes for the ROUTE- A BGP speaker that supports the message subtypes for the ROUTE-
REFRESH message and the related procedures SHOULD advertise the REFRESH message and the related procedures SHOULD advertise the
"Enhanced Route Refresh Capability". "Enhanced Route Refresh Capability".
The following procedures are applicable only if a BGP speaker has The following procedures are applicable only if a BGP speaker has
received the "Enhanced Route Refresh Capability" from a peer. received the "Enhanced Route Refresh Capability" from a peer.
Before the speaker starts a route refresh that is either initiated Before the speaker starts a route refresh that is either initiated
locally, or in response to a "normal route refresh request" from the locally, or in response to a "normal route refresh request" from the
peer, the speaker MUST send a BoRR message. After the speaker peer, the speaker MUST send a BoRR message. After the speaker
completes the re-advertisement of the entire Adj-RIB-Out to the peer, completes the re-advertisement of the entire Adj-RIB-Out to the peer,
it MUST send an EoRR message. it MUST send an EoRR message.
Conceptually the "entire Adj-RIB-Out" for a peer in this section Conceptually, the "entire Adj-RIB-Out" for a peer in this section
refers to all the route entries in the "Adj-RIB-Out" for the peer at refers to all the route entries in the "Adj-RIB-Out" for the peer at
the start of the route refresh operation. These route entries the start of the route refresh operation. These route entries
comprise both the reachability as well as unreachability information. comprise both the reachability as well as unreachability information.
When a route entry in the "Adj-RIB-Out" changes, only the modified When a route entry in the "Adj-RIB-Out" changes, only the modified
route entry needs to be advertised. route entry needs to be advertised.
In processing a ROUTE-REFRESH message from a peer, the BGP speaker In processing a ROUTE-REFRESH message from a peer, the BGP speaker
MUST examine the "message subtype" field of the message and take the MUST examine the "message subtype" field of the message and take the
appropriate actions. The message processing rules for ROUTE-REFRESH appropriate actions. The message processing rules for ROUTE-REFRESH
message with subtype of 0 are described in [RFC2918] and [RFC5291]. message with subtype of 0 are described in [RFC2918] and [RFC5291].
A BGP speaker can receive a BoRR message from a peer at any time, A BGP speaker can receive a BoRR message from a peer at any time,
either as a result of a peer responding to a ROUTE-REFESH message, or either as a result of a peer responding to a ROUTE-REFRESH message,
as a result of a peer unilaterally initiating a route refresh. When or as a result of a peer unilaterally initiating a route refresh.
a BGP speaker receives a BoRR message from a peer, it MUST mark all When a BGP speaker receives a BoRR message from a peer, it MUST mark
the routes with the given Address Family Identifer and Subsequent all the routes with the given Address Family Identifier and
Address Family Identifier, <AFI, SAFI> [RFC2918] from that peer as Subsequent Address Family Identifier, <AFI, SAFI> [RFC2918], from
stale. As it receives routes from its peer's subsequent Adj-RIB-Out that peer as stale. As it receives routes from its peer's subsequent
re-advertisement, these replace any corresponding stale routes. When Adj-RIB-Out re-advertisement, these replace any corresponding stale
a BGP speaker receives an EoRR message from a peer, it MUST routes. When a BGP speaker receives an EoRR message from a peer, it
immediately remove any routes from the peer that are still marked as MUST immediately remove any routes from the peer that are still
stale for that <AFI, SAFI>. Such purged routes MAY be logged for marked as stale for that <AFI, SAFI>. Such purged routes MAY be
future analysis. A BGP speaker MAY ignore any EoRR message received logged for future analysis. A BGP speaker MAY ignore any EoRR
without a prior receipt of an associated BoRR message. Such messages message received without a prior receipt of an associated BoRR
MAY be logged for future analysis. message. Such messages MAY be logged for future analysis.
An implementation MAY impose a locally configurable upper bound on An implementation MAY impose a locally configurable upper bound on
how long it would retain any stale routes. Once the upper bound is how long it would retain any stale routes. Once the upper bound is
reached, the implementation MAY remove any routes from the peer that reached, the implementation MAY remove any routes from the peer that
are still marked as stale for that <AFI, SAFI> without waiting for an are still marked as stale for that <AFI, SAFI> without waiting for an
EoRR message. EoRR message.
The following procedures are specified in order to simplify the The following procedures are specified in order to simplify the
interaction with the BGP Graceful Restart [RFC4724]. In particular, interaction with the BGP Graceful Restart [RFC4724]. In particular,
these procedures ensure that End-of-RIB (EoR) defined in Graceful these procedures ensure that End-of-RIB (EoR) defined in Graceful
Restart and EoRR as defined in this specification are kept separate, Restart and EoRR as defined in this specification are kept separate,
thereby avoiding any premature cleanup of stale routes. For a BGP thereby avoiding any premature cleanup of stale routes. For a BGP
speaker that supports the BGP Graceful Restart, it MUST NOT send a speaker that supports the BGP Graceful Restart, it MUST NOT send a
BoRR for an <AFI, SAFI> to a neighbor before it sends the EoR for the BoRR for an <AFI, SAFI> to a neighbor before it sends the EoR for the
<AFI, SAFI> to the neighbor. A BGP speaker that has received the <AFI, SAFI> to the neighbor. A BGP speaker that has received the
Graceful Restart Capability from its neighbor, MUST ignore any BoRRs Graceful Restart Capability from its neighbor MUST ignore any BoRRs
for an <AFI, SAFI> from the neighbor before the speaker receives the for an <AFI, SAFI> from the neighbor before the speaker receives the
EoR for the given <AFI, SAFI> from the neighbor. The BGP speaker EoR for the given <AFI, SAFI> from the neighbor. The BGP speaker
SHOULD log an error of the condition for further analysis. SHOULD log an error of the condition for further analysis.
5. Error Handling 5. Error Handling
This document defines a new NOTIFICATION error code: This document defines a new NOTIFICATION error code:
Error Code Symbolic Name Error Code Name
TBD ROUTE-REFRESH Message Error 7 ROUTE-REFRESH Message Error
The following error subcodes are defined as well: The following error subcode is defined as well:
Subcode Symbolic Name Subcode Name
1 Invalid Message Length 1 Invalid Message Length
The error handling specified in this section is applicable only when The error handling specified in this section is applicable only when
a BGP speaker has received the "Enhanced Route Refresh Capability" a BGP speaker has received the "Enhanced Route Refresh Capability"
from a peer. from a peer.
If the length, excluding the fixed-size message header, of the If the length, excluding the fixed-size message header, of the
received ROUTE-REFRESH message with Message Subtype 1 and 2 is not 4, received ROUTE-REFRESH message with Message Subtype 1 and 2 is not 4,
then the BGP speaker MUST send a NOTIFICATION message with the Error then the BGP speaker MUST send a NOTIFICATION message with the Error
Code of "ROUTE-REFRESH Message Error" and the subcode of "Invalid Code of "ROUTE-REFRESH Message Error" and the subcode of "Invalid
Message Length". The Data field of the NOTIFICATION message MUST Message Length". The Data field of the NOTIFICATION message MUST
contain the complete ROUTE-REFRESH message. contain the complete ROUTE-REFRESH message.
When the BGP speaker receives a ROUTE-REFRESH message with a "Message When the BGP speaker receives a ROUTE-REFRESH message with a "Message
Subtype" field other than 0, 1 or 2, it MUST ignore the received Subtype" field other than 0, 1, or 2, it MUST ignore the received
ROUTE-REFRESH message. It SHOULD log an error for further analysis. ROUTE-REFRESH message. It SHOULD log an error for further analysis.
6. IANA Considerations 6. IANA Considerations
This document defines the Enhanced Route Refresh Capability for BGP. This document defines the Enhanced Route Refresh Capability for BGP.
The Capability Code 70 has been assigned by the IANA from the "BGP In the "Capability Codes" registry, IANA has assigned it value 70,
Capability Codes" registry. IANA should update that registry entry referencing this document.
to reference this document when it is published as an RFC. This
document also defines two new subcodes for the Route Refresh message.
They need to be registered with the IANA. We request IANA to create
a new registry for the Route Refresh message subcodes as follows:
Under "Border Gateway Protocol (BGP) Parameters": This document also defines two new subcodes for the Route Refresh
Registry: "BGP Route Refresh Subcodes" message. They have been registered with the IANA in a new registry
Reference: [RFC-to-Be] as follows:
Registration Procedure(s): Values 0-127 Standards Action, values
128-254 First Come, First Served, Value 255 reserved
Value Code Reference Under "Border Gateway Protocol (BGP) Parameters":
0 Route-Refresh [RFC2918], [RFC5291] Registry: "BGP Route Refresh Subcodes"
1 BoRR [RFC-to-Be] Reference: [RFC7313]
2 EoRR [RFC-to-Be] Registration Procedure(s): Values 0-127 Standards Action,
3-127 Unassigned values 128-254 First Come First Served
128-254 Unassigned
255 Reserved [RFC-to-Be] Value Code Reference
0 Route-Refresh [RFC2918], [RFC5291]
1 BoRR [RFC7313]
2 EoRR [RFC7313]
3-254 Unassigned
255 Reserved [RFC7313]
In addition, this document defines a NOTIFICATION error code and an In addition, this document defines a NOTIFICATION error code and an
error subcode related to the ROUTE-REFRESH message. We request IANA error subcode related to the ROUTE-REFRESH message. IANA has changed
to allocate a new error code from the "BGP Error Codes" registry with the name of the "BGP Error Codes" to "BGP Error (Notification) Codes"
the symbolic name "ROUTE-REFRESH Message Error", referencing this and added this document as a reference. IANA has allocated a new
document. We request IANA to create a new registry for the error error code from that registry with the name "ROUTE-REFRESH Message
subcodes as follows: Error", referencing this document.
Under "BGP Error Subcodes": IANA has created a new registry for the error subcodes as follows:
Registry: "BGP ROUTE-REFRESH Message Error subcodes"
Reference: [RFC-to-Be]
Registration Procedure(s): Values 0-127 Standards Action, values
128-255 First Come, First Served
Value Code Reference Under "Border Gateway Protocol (BGP) Parameters",
0 Reserved under "BGP Error Subcodes":
1 Invalid Message Length [RFC-to-Be] Registry: "BGP ROUTE-REFRESH Message Error subcodes"
2-127 Unassigned Reference: [RFC7313]
128-255 Unassigned Registration Procedure(s): Values 0-127 Standards Action,
values 128-255 First Come First Served
Value Name Reference
0 Reserved [RFC7313]
1 Invalid Message Length [RFC7313]
2-255 Unassigned
7. Security Considerations 7. Security Considerations
Security considerations are given in [RFC4272] , but do not cover Security considerations are given in [RFC4272] , but they do not
Route-Refresh and many other BGP extensions. This draft does not cover Route-Refresh and many other BGP extensions. This document
significantly change the underlying security issues regarding Route- does not significantly change the underlying security issues
Refresh, although improved error handling may aid operational regarding Route-Refresh, although improved error handling may aid
security. operational security.
8. Acknowledgements 8. Acknowledgements
The authors would like to thank Pedro Marques, Pradosh Mohapatra, The authors would like to thank Pedro Marques, Pradosh Mohapatra,
Robert Raszuk, Pranav Mehta, Shyam Sethuram, Bruno Decraene, Martin Robert Raszuk, Pranav Mehta, Shyam Sethuram, Bruno Decraene, Martin
Djernaes, Jeff Haas, Ilya Varlashkin, Rob Shakir, Paul Jakma, Jie Djernaes, Jeff Haas, Ilya Varlashkin, Rob Shakir, Paul Jakma, Jie
Dong, Qing Zeng, Albert Tian, Jakob Heitz and Chris Hall for their Dong, Qing Zeng, Albert Tian, Jakob Heitz, and Chris Hall for their
review and comments. The authors would like to thank John Scudder review and comments. The authors would like to thank John Scudder
for the review and contribution to this document. for the review and contribution to this document.
9. Normative References 9. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2918] Chen, E., "Route Refresh Capability for BGP-4", RFC 2918, [RFC2918] Chen, E., "Route Refresh Capability for BGP-4", RFC 2918,
September 2000. September 2000.
skipping to change at page 7, line 26 skipping to change at page 8, line 13
with BGP-4", RFC 5492, February 2009. with BGP-4", RFC 5492, February 2009.
Authors' Addresses Authors' Addresses
Keyur Patel Keyur Patel
Cisco Systems Cisco Systems
170 W. Tasman Drive 170 W. Tasman Drive
San Jose, CA 95134 San Jose, CA 95134
USA USA
Email: keyupate@cisco.com EMail: keyupate@cisco.com
Enke Chen Enke Chen
Cisco Systems Cisco Systems
170 W. Tasman Drive 170 W. Tasman Drive
San Jose, CA 95134 San Jose, CA 95134
USA USA
Email: enkechen@cisco.com EMail: enkechen@cisco.com
Balaji Venkatachalapathy Balaji Venkatachalapathy
Email: balaji_pv@hotmail.com EMail: balaji_pv@hotmail.com
 End of changes. 33 change blocks. 
108 lines changed or deleted 105 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/