--- 1/draft-ietf-idr-bgp-enhanced-route-refresh-04.txt 2013-12-09 14:54:28.365037420 -0800 +++ 2/draft-ietf-idr-bgp-enhanced-route-refresh-05.txt 2013-12-09 14:54:28.381037891 -0800 @@ -1,164 +1,181 @@ -Network Working Group K. Patel -Internet Draft E. Chen -Intended Status: Standards Track B. Venkatachalapathy -Expiration Date: December 25, 2013 Cisco Systems - June 24, 2013 +IDR K. Patel +Internet-Draft E. Chen +Intended status: Standards Track B. Venkatachalapathy +Expires: June 12, 2014 Cisco Systems + December 9, 2013 Enhanced Route Refresh Capability for BGP-4 - draft-ietf-idr-bgp-enhanced-route-refresh-04.txt + draft-ietf-idr-bgp-enhanced-route-refresh-05.txt -Status of this Memo +Abstract - This Internet-Draft is submitted to IETF in full conformance with the + In this document we enhance the existing BGP route refresh mechanisms + to provide for the demarcation of the beginning and the ending of a + route refresh. The enhancement can be used to facilitate correction + of BGP RIB inconsistencies in a non-disruptive manner. + +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), its areas, and its working groups. Note that - other groups may also distribute working documents as Internet- - Drafts. + 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." - The list of current Internet-Drafts can be accessed at - http://www.ietf.org/1id-abstracts.html - - The list of Internet-Draft Shadow Directories can be accessed at - http://www.ietf.org/shadow.html - - This Internet-Draft will expire on December 25, 2013. + This Internet-Draft will expire on June 12, 2014. Copyright Notice Copyright (c) 2013 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. - draft-ietf-idr-bgp-enhanced-route-refresh-04.txt - -Abstract +Table of Contents - In this document we enhance the existing BGP route refresh mechanisms - to provide for the demarcation of the beginning and the ending of a - route refresh. The enhancement can be used to facilitate on-line, - non-disruptive consistency validations of BGP routing updates. + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 + 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 + 3. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . 2 + 3.1. Enhanced Route Refresh Capability . . . . . . . . . . . . 2 + 3.2. Subtypes for ROUTE-REFRESH Message . . . . . . . . . . . 3 + 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 3 + 5. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4 + 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 + 7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 + 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 + 9. Normative References . . . . . . . . . . . . . . . . . . . . 6 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 1. Introduction It is sometimes necessary to perform routing consistency validations such as checking for possible missing withdraws between BGP speakers [RFC4271]. Currently such validations typically involve off-line, manual operations which can be tedious and time consuming. In this document we enhance the existing BGP route refresh mechanisms [RFC2918] to provide for the demarcation of the beginning and the ending of a route refresh (which refers to the complete re- advertisement of the Adj-RIB-Out to a peer, subject to routing policies). The enhancement can be used to facilitate on-line, non- disruptive consistency validation of BGP routing updates. -1.1. Specification of Requirements +2. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in [RFC2119]. + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to + be interpreted as described in [RFC2119] only when they appear in all + upper case. They may also appear in lower or mixed case as English + words, without any normative meaning. -2. Protocol Extensions +3. Protocol Extensions The BGP protocol extensions introduced in this document include the definition of a new BGP capability, named "Enhanced Route Refresh Capability", and the specification of the message subtypes for the ROUTE-REFRESH message. -2.1. Enhanced Route Refresh Capability - +3.1. Enhanced Route Refresh Capability The "Enhanced Route Refresh Capability" is a new BGP capability - [RFC5492]. The Capability Code for this capability is specified in - the IANA Considerations section of this document. The Capability - Length field of this capability is zero. + [RFC5492]. IANA has assigned a Capability Code of 70 for this + capability . The Capability Length field of this capability is zero. By advertising this capability to a peer, a BGP speaker conveys to the peer that the speaker supports the message subtypes for the ROUTE-REFRESH message and the related procedures described in this - - draft-ietf-idr-bgp-enhanced-route-refresh-04.txt - document. -2.2. Subtypes for ROUTE-REFRESH Message +3.2. Subtypes for ROUTE-REFRESH Message The "Reserved" field of the ROUTE-REFRESH message specified in [RFC2918] is re-defined as the "Message Subtype" with the following values: 0 - Normal route refresh request [RFC2918] with/without ORF [RFC5291] - 1 - Demarcation of the beginning of a route refresh - 2 - Demarcation of the ending of a route refresh + 1 - Demarcation of the beginning of a route refresh operation. + Also known as a "BoRR message" or just a "BoRR". + 2 - Demarcation of the ending of a route refresh operation. + Also known as a "EoRR message" or just a "EoRR". - The use of the message subtypes is described in the Operations - section. + The remaining values of the message subtypes are reserved for future + use. The use of the new message subtypes is described in the + Operations section. -3. Operations +4. Operation - A BGP speaker that support the message subtypes for the ROUTE-REFRESH - message and the related procedures SHOULD advertise the "Enhanced - Route Refresh Capability". + A BGP speaker that supports the message subtypes for the ROUTE- + REFRESH message and the related procedures SHOULD advertise the + "Enhanced Route Refresh Capability". The following procedures are applicable only if a BGP speaker has received the "Enhanced Route Refresh Capability" from a peer. Before the speaker starts a route refresh that is either initiated locally, or in response to a "normal route refresh request" from the - peer, the speaker MUST send a ROUTE-REFRESH message with the - specified message subtype to mark the beginning of the route refresh. - After the speaker completes the re-advertisement of the entire Adj- - RIB-Out to the peer, it MUST send a ROUTE-REFRESH message with the - specified message subtype to mark the ending of the route refresh. + peer, the speaker MUST send a BoRR message. After the speaker + completes the re-advertisement of the entire Adj-RIB-Out to the peer, + it MUST send an EoRR message. - 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 - the start of the route refresh. When a route entry in the "ADJ-RIB- - Out" changes, the advertisement of the modified route entry (instead - of the snapshot entry) would suffice. + 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 + the start of the route refresh operation. These route entries + comprise of both, the reachability as well as unreachability + information. When a route entry in the "ADJ-RIB-Out" changes, only + the modified route entry needs to be advertised. In processing a ROUTE-REFRESH message from a peer, the BGP speaker MUST examine the "message subtype" field of the message and take the - appropriate actions. The BGP speaker SHALL use the demarcations of - the beginning and the ending of a route refresh to perform - consistency validations of the updates received from the peer. All - - draft-ietf-idr-bgp-enhanced-route-refresh-04.txt + appropriate actions. The message processing rules for ROUTE-REFRESH + message with subtype of 0 are described in [RFC2918] and [RFC5291]. + A BGP speaker can receive a BoRR message from a peer at anytime, + either as a result of a peer responding to a ROUTE-REFESH message, or + as a result of a peer unilaterally initiating a route refresh. When + a BGP speaker receives a BoRR message from a peer, it MUST mark all + the routes with the given from that peer as stale. As it + receives routes from its peer's subsequent Adj-RIB-Out re- + advertisement, these replace any corresponding stale routes. When a + BGP speaker receives an EoRR message from a peer, it MUST immediately + remove any routes from the peer that are still marked as stale for + that . Such purged routes MAY be logged for future + analysis. - the routes that were not re-advertised in the route refresh MUST be - purged, and SHOULD be logged for further analysis. + An implementation MAY impose a locally configurable upper bound on + how long it would retain any stale routes. Once the upper bound is + reached, the implementation MAY remove any routes from the peer that + are still marked as stale for that without waiting for an + EoRR message. -4. Error Handling +5. Error Handling This document defines a new NOTIFICATION error code: Error Code Symbolic Name - ROUTE-REFRESH Message Error + TBD ROUTE-REFRESH Message Error The following error subcodes are defined as well: Subcode Symbolic Name 1 Invalid Message Length The error handling specified in this section is applicable only when a BGP speaker has received the "Enhanced Route Refresh Capability" from a peer. @@ -166,69 +183,104 @@ When the BGP speaker detects an error while processing a ROUTE- REFRESH message with a non-zero "Message Subtype" field, it MUST send a NOTIFICATION message with Error Code "ROUTE-REFRESH Message Error". The Data field of the NOTIFICATION message MUST contain the complete ROUTE-REFRESH message. If the length, excluding the fixed-size message header, of the ROUTE- REFRESH message with Message Subtype 1 and 2 is not 4, then the error subcode is set to "Invalid Message Length". -5. IANA Considerations + When the BGP speaker receives a ROUTE-REFRESH message with an invalid + Subtype, it SHOULD log an error and ignore the received ROUTE-REFRESH + message. + +6. IANA Considerations This document defines the Enhanced Route Refresh Capability for BGP. - The Capability Code 70 has been assigned by the IANA. + The Capability Code 70 has been assigned by the IANA. 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": + Registry: "BGP Route Refresh Subcodes" + Reference: [draft-ietf-idr-bgp-enhanced-refresh-05.txt] + Registration Procedure(s): Values 0-127 Standards Action, values + 128-254 First Come, First Served, Value 255 reserved + + Value Code Reference + 0 Route-Refresh [RFC2918], [RFC5291] + 1 BoRR [draft-ietf-idr-bgp-enhanced-refresh-05.txt] + 2 EoRR [draft-ietf-idr-bgp-enhanced-refresh-05.txt] + 255 Reserved In addition, this document defines an NOTIFICATION error code and - several error subcodes for the ROUTE-REFRESH message. They need to - be registered with the IANA. + several error subcodes for the ROUTE-REFRESH message. The + NOTIFICATION error code need to be registered with the IANA. We + request IANA to create a new registry for the error subcodes as + follows: - draft-ietf-idr-bgp-enhanced-route-refresh-04.txt + Under "BGP Error Subcodes": + Registry: "BGP ROUTE-REFRESH Message Error subcodes" + Reference: [draft-ietf-idr-bgp-enhanced-refresh-05.txt] + Registration Procedure(s): Values 0-127 Standards Action, values + 128-255 First Come, First Served -6. Security Considerations + Value Code Reference + 0 Reserved + 1 Invalid Message Length [draft-ietf-idr-bgp-enhanced-refresh-05.txt] + +7. Security Considerations This extension to BGP does not change the underlying security issues. -7. Acknowledgments +8. Acknowledgements The authors would like to thank Pedro Marques, Pradosh Mohapatra, - Robert Raszuk, Pranav Mehta, and Shyam Sethuram for discussions and - review. The authors would like to thank Martin Djernaes, Jeff haas, - Ilya Varlashkin, Rob Shakir, Paul Jakma, Jie Dong, Qing Zeng, Albert - Tian, and Jakob Heitz for their review and comments. + Robert Raszuk, Pranav Mehta, and Shyam Sethuram, Bruno Decraene, + Martin Djernaes, Jeff haas, Ilya Varlashkin, Rob Shakir, Paul Jakma, + Jie Dong, Qing Zeng, Albert Tian, and Jakob Heitz for their review + and comments. The authors would like to thank John Scudder for the + review and contribution to this document. -8. Normative References +9. Normative References - [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A - Border Gateway Protocol 4 (BGP-4)", RFC 4271, January - 2006. + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, March 1997. - [RFC2918] Chen, E., "Route Refresh Capability for BGP-4", - RFC 2918, September 2000. + [RFC2918] Chen, E., "Route Refresh Capability for BGP-4", RFC 2918, + September 2000. - [RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement - with BGP-4", RFC 5492, February 2009. + [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway + Protocol 4 (BGP-4)", RFC 4271, January 2006. - [RFC5291] Chen, E., and Rekhter, Y., "Outbound Route Filtering + [RFC5291] Chen, E. and Y. Rekhter, "Outbound Route Filtering Capability for BGP-4", RFC 5291, August 2008. - [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate - Requirement Levels", BCP 14, RFC 2119, March 1997. + [RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement + with BGP-4", RFC 5492, February 2009. -9. Authors' Addresses +Authors' Addresses Keyur Patel Cisco Systems + 170 W. Tasman Drive + San Jose, CA 95124 95134 + USA Email: keyupate@cisco.com Enke Chen Cisco Systems + 170 W. Tasman Drive + San Jose, CA 95124 95134 + USA Email: enkechen@cisco.com - Balaji Venkatachalapathy Cisco Systems - - draft-ietf-idr-bgp-enhanced-route-refresh-04.txt + 170 W. Tasman Drive + San Jose, CA 95124 95134 + USA Email: bvenkata@cisco.com