idnits 2.17.1 draft-ietf-idr-bgp-enhanced-route-refresh-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 3 instances of too long lines in the document, the longest one being 11 characters in excess of 72. -- The draft header indicates that this document updates RFC2918, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). (Using the creation date from RFC2918, updated by this document, for RFC5378 checks: 1999-11-29) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (June 5, 2014) is 3607 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IDR K. Patel 3 Internet-Draft E. Chen 4 Updates: 2918 (if approved) Cisco Systems 5 Intended status: Standards Track B. Venkatachalapathy 6 Expires: December 7, 2014 7 June 5, 2014 9 Enhanced Route Refresh Capability for BGP-4 10 draft-ietf-idr-bgp-enhanced-route-refresh-07.txt 12 Abstract 14 In this document we enhance the existing BGP route refresh mechanisms 15 to provide for the demarcation of the beginning and the ending of a 16 route refresh. The enhancement can be used to facilitate correction 17 of BGP RIB inconsistencies in a non-disruptive manner. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on December 7, 2014. 36 Copyright Notice 38 Copyright (c) 2014 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 55 3. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . 2 56 3.1. Enhanced Route Refresh Capability . . . . . . . . . . . . 3 57 3.2. Subtypes for ROUTE-REFRESH Message . . . . . . . . . . . 3 58 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 3 59 5. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4 60 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 61 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 62 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 63 9. Normative References . . . . . . . . . . . . . . . . . . . . 6 64 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 66 1. Introduction 68 It is sometimes necessary to perform routing consistency validations 69 such as checking for possible missing withdraws between BGP speakers 70 [RFC4271]. Currently such validations typically involve off-line, 71 manual operations which can be tedious and time consuming. 73 In this document we enhance the existing BGP route refresh mechanisms 74 [RFC2918] to provide for the demarcation of the beginning and the 75 ending of a route refresh (which refers to the complete re- 76 advertisement of the Adj-RIB-Out to a peer, subject to routing 77 policies). The enhancement can be used to facilitate on-line, non- 78 disruptive consistency validation of BGP routing updates. 80 2. Requirements Language 82 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 83 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to 84 be interpreted as described in [RFC2119] only when they appear in all 85 upper case. They may also appear in lower or mixed case as English 86 words, without any normative meaning. 88 3. Protocol Extensions 90 The BGP protocol extensions introduced in this document include the 91 definition of a new BGP capability, named "Enhanced Route Refresh 92 Capability", and the specification of the message subtypes for the 93 ROUTE-REFRESH message. 95 3.1. Enhanced Route Refresh Capability 97 The "Enhanced Route Refresh Capability" is a new BGP capability 98 [RFC5492]. IANA has assigned a Capability Code of 70 for this 99 capability . The Capability Length field of this capability is zero. 101 By advertising this capability to a peer, a BGP speaker conveys to 102 the peer that the speaker supports the message subtypes for the 103 ROUTE-REFRESH message and the related procedures described in this 104 document. 106 3.2. Subtypes for ROUTE-REFRESH Message 108 The "Reserved" field of the ROUTE-REFRESH message specified in 109 [RFC2918] is re-defined as the "Message Subtype" with the following 110 values: 112 0 - Normal route refresh request [RFC2918] 113 with/without ORF [RFC5291] 114 1 - Demarcation of the beginning of a route refresh operation. 115 Also known as a "BoRR message" or just a "BoRR". 116 2 - Demarcation of the ending of a route refresh operation. 117 Also known as a "EoRR message" or just a "EoRR". 119 The remaining values of the message subtypes are reserved for future 120 use. The use of the new message subtypes is described in the 121 Operations section. 123 4. Operation 125 A BGP speaker that supports the message subtypes for the ROUTE- 126 REFRESH message and the related procedures SHOULD advertise the 127 "Enhanced Route Refresh Capability". 129 The following procedures are applicable only if a BGP speaker has 130 received the "Enhanced Route Refresh Capability" from a peer. 132 Before the speaker starts a route refresh that is either initiated 133 locally, or in response to a "normal route refresh request" from the 134 peer, the speaker MUST send a BoRR message. After the speaker 135 completes the re-advertisement of the entire Adj-RIB-Out to the peer, 136 it MUST send an EoRR message. 138 Conceptually the "entire Adj-RIB-Out" for a peer in this section 139 refers to all the route entries in the "Adj-RIB-Out" for the peer at 140 the start of the route refresh operation. These route entries 141 comprise of both, the reachability as well as unreachability 142 information. When a route entry in the "ADJ-RIB-Out" changes, only 143 the modified route entry needs to be advertised. 145 In processing a ROUTE-REFRESH message from a peer, the BGP speaker 146 MUST examine the "message subtype" field of the message and take the 147 appropriate actions. The message processing rules for ROUTE-REFRESH 148 message with subtype of 0 are described in [RFC2918] and [RFC5291]. 149 A BGP speaker can receive a BoRR message from a peer at anytime, 150 either as a result of a peer responding to a ROUTE-REFESH message, or 151 as a result of a peer unilaterally initiating a route refresh. When 152 a BGP speaker receives a BoRR message from a peer, it MUST mark all 153 the routes with the given from that peer as stale. As it 154 receives routes from its peer's subsequent Adj-RIB-Out re- 155 advertisement, these replace any corresponding stale routes. When a 156 BGP speaker receives an EoRR message from a peer, it MUST immediately 157 remove any routes from the peer that are still marked as stale for 158 that . Such purged routes MAY be logged for future 159 analysis. A BGP speaker MAY ignore any EoRR message received without 160 a prior receipt of an associated BoRR message. Such messages MAY be 161 logged for future analysis. 163 An implementation MAY impose a locally configurable upper bound on 164 how long it would retain any stale routes. Once the upper bound is 165 reached, the implementation MAY remove any routes from the peer that 166 are still marked as stale for that without waiting for an 167 EoRR message. 169 The following procedures are specified in order to simplify the 170 interaction with the BGP Graceful Restart [RFC4724]. In particular, 171 these procedures ensure that End-of-RIB (EoR) defined in Graceful 172 Restart and EoRR as defined in this specification are kept separate, 173 thereby avoiding any premature cleanup of stale routes. For a BGP 174 speaker that supports the BGP Graceful Restart, it MUST NOT send a 175 BoRR for an AFI/SAFI to a neighbor before it sends the EOR for the 176 AFI/SAFI to the neighbor. A BGP speaker that has received the 177 Graceful Restart Capability from its neighbor, MUST ignore any BoRRs 178 for an AFI/SAFI from the neighbor before the speaker receives the EoR 179 for the given AFI/SAFI from the neighbor. The BGP speaker SHOULD log 180 an error of the condition for further analysis. 182 5. Error Handling 184 This document defines a new NOTIFICATION error code: 186 Error Code Symbolic Name 188 TBD ROUTE-REFRESH Message Error 190 The following error subcodes are defined as well: 192 Subcode Symbolic Name 194 1 Invalid Message Length 196 The error handling specified in this section is applicable only when 197 a BGP speaker has received the "Enhanced Route Refresh Capability" 198 from a peer. 200 If the length, excluding the fixed-size message header, of the 201 received ROUTE-REFRESH message with Message Subtype 1 and 2 is not 4, 202 then the BGP speaker MUST send a NOTIFICATION message with the Error 203 Code of "ROUTE-REFRESH Message Error" and the subcode of "Invalid 204 Message Length". The Data field of the NOTIFICATION message MUST 205 contain the complete ROUTE-REFRESH message. 207 When the BGP speaker receives a ROUTE-REFRESH message with a "Message 208 Subtype" field other than 0, 1 or 2, it MUST ignore the received 209 ROUTE-REFRESH message. It SHOULD log an error for further analysis. 211 6. IANA Considerations 213 This document defines the Enhanced Route Refresh Capability for BGP. 214 The Capability Code 70 has been assigned by the IANA. This document 215 also defines two new subcodes for the Route Refresh message. They 216 need to be registered with the IANA. We request IANA to create a new 217 registry for the Route Refresh message subcodes as follows: 219 Under "Border Gateway Protocol (BGP) Parameters": 220 Registry: "BGP Route Refresh Subcodes" 221 Reference: [draft-ietf-idr-bgp-enhanced-refresh-06.txt] 222 Registration Procedure(s): Values 0-127 Standards Action, values 223 128-254 First Come, First Served, Value 255 reserved 225 Value Code Reference 226 0 Route-Refresh [RFC2918], [RFC5291] 227 1 BoRR [draft-ietf-idr-bgp-enhanced-refresh-06.txt] 228 2 EoRR [draft-ietf-idr-bgp-enhanced-refresh-06.txt] 229 255 Reserved 231 In addition, this document defines an NOTIFICATION error code and 232 several error subcodes for the ROUTE-REFRESH message. The 233 NOTIFICATION error code need to be registered with the IANA. We 234 request IANA to create a new registry for the error subcodes as 235 follows: 237 Under "BGP Error Subcodes": 238 Registry: "BGP ROUTE-REFRESH Message Error subcodes" 239 Reference: [draft-ietf-idr-bgp-enhanced-refresh-06.txt] 240 Registration Procedure(s): Values 0-127 Standards Action, values 241 128-255 First Come, First Served 243 Value Code Reference 244 0 Reserved 245 1 Invalid Message Length [draft-ietf-idr-bgp-enhanced-refresh-06.txt] 247 7. Security Considerations 249 This extension to BGP does not change the underlying security issues. 251 8. Acknowledgements 253 The authors would like to thank Pedro Marques, Pradosh Mohapatra, 254 Robert Raszuk, Pranav Mehta, Shyam Sethuram, Bruno Decraene, Martin 255 Djernaes, Jeff Haas, Ilya Varlashkin, Rob Shakir, Paul Jakma, Jie 256 Dong, Qing Zeng, Albert Tian, Jakob Heitz and Chris Hall for their 257 review and comments. The authors would like to thank John Scudder 258 for the review and contribution to this document. 260 9. Normative References 262 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 263 Requirement Levels", BCP 14, RFC 2119, March 1997. 265 [RFC2918] Chen, E., "Route Refresh Capability for BGP-4", RFC 2918, 266 September 2000. 268 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 269 Protocol 4 (BGP-4)", RFC 4271, January 2006. 271 [RFC4724] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y. 272 Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724, 273 January 2007. 275 [RFC5291] Chen, E. and Y. Rekhter, "Outbound Route Filtering 276 Capability for BGP-4", RFC 5291, August 2008. 278 [RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement 279 with BGP-4", RFC 5492, February 2009. 281 Authors' Addresses 283 Keyur Patel 284 Cisco Systems 285 170 W. Tasman Drive 286 San Jose, CA 95124 95134 287 USA 289 Email: keyupate@cisco.com 291 Enke Chen 292 Cisco Systems 293 170 W. Tasman Drive 294 San Jose, CA 95124 95134 295 USA 297 Email: enkechen@cisco.com 299 Balaji Venkatachalapathy 301 Email: balaji_pv@hotmail.com