idnits 2.17.1 draft-ietf-idr-bgp-enhanced-route-refresh-10.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (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 9, 2014) is 3599 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) == Missing Reference: 'RFC-to-Be' is mentioned on line 255, but not defined ** Downref: Normative reference to an Informational RFC: RFC 4272 Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 2 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 11, 2014 7 June 9, 2014 9 Enhanced Route Refresh Capability for BGP-4 10 draft-ietf-idr-bgp-enhanced-route-refresh-10.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. This document 18 updates RFC 2918. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on December 11, 2014. 37 Copyright Notice 39 Copyright (c) 2014 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 56 3. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . 2 57 3.1. Enhanced Route Refresh Capability . . . . . . . . . . . . 3 58 3.2. Subtypes for ROUTE-REFRESH Message . . . . . . . . . . . 3 59 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 3 60 5. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4 61 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 62 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 63 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 64 9. Normative References . . . . . . . . . . . . . . . . . . . . 6 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 67 1. Introduction 69 It is sometimes necessary to perform routing consistency validations 70 such as checking for possible missing route withdrawals between BGP 71 speakers [RFC4271]. Currently such validations typically involve 72 off-line, manual operations which can be tedious and time consuming. 74 In this document we enhance the existing BGP route refresh mechanisms 75 [RFC2918] to provide for the demarcation of the beginning and the 76 ending of a route refresh (which refers to the complete re- 77 advertisement of the Adj-RIB-Out to a peer, subject to routing 78 policies). The enhancement can be used to facilitate on-line, non- 79 disruptive consistency validation of BGP routing updates. 81 This document updates [RFC2918] by redefining a field in the ROUTE- 82 REFRESH message that was previously designated as Reserved. 84 2. Requirements Language 86 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 87 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 88 document are to be interpreted as described in [RFC2119] only when 89 they appear in all upper case. They may also appear in lower or 90 mixed case as English words, without any normative meaning. 92 3. Protocol Extensions 94 The BGP protocol extensions introduced in this document include the 95 definition of a new BGP capability, named "Enhanced Route Refresh 96 Capability", and the specification of the message subtypes for the 97 ROUTE-REFRESH message. 99 3.1. Enhanced Route Refresh Capability 101 The "Enhanced Route Refresh Capability" is a new BGP capability 102 [RFC5492]. IANA has assigned a Capability Code of 70 for this 103 capability . The Capability Length field of this capability is zero. 105 By advertising this capability to a peer, a BGP speaker conveys to 106 the peer that the speaker supports the message subtypes for the 107 ROUTE-REFRESH message and the related procedures described in this 108 document. 110 3.2. Subtypes for ROUTE-REFRESH Message 112 The "Reserved" field of the ROUTE-REFRESH message specified in 113 [RFC2918] is re-defined as the "Message Subtype" with the following 114 values: 116 0 - Normal route refresh request [RFC2918] 117 with/without ORF [RFC5291] 118 1 - Demarcation of the beginning of a route refresh 119 (BoRR) operation. 120 2 - Demarcation of the ending of a route refresh 121 (EoRR) operation. 123 The remaining values of the message subtypes are reserved for future 124 use. The use of the new message subtypes is described in the 125 Operations section. 127 4. Operation 129 A BGP speaker that supports the message subtypes for the ROUTE- 130 REFRESH message and the related procedures SHOULD advertise the 131 "Enhanced Route Refresh Capability". 133 The following procedures are applicable only if a BGP speaker has 134 received the "Enhanced Route Refresh Capability" from a peer. 136 Before the speaker starts a route refresh that is either initiated 137 locally, or in response to a "normal route refresh request" from the 138 peer, the speaker MUST send a BoRR message. After the speaker 139 completes the re-advertisement of the entire Adj-RIB-Out to the peer, 140 it MUST send an EoRR message. 142 Conceptually the "entire Adj-RIB-Out" for a peer in this section 143 refers to all the route entries in the "Adj-RIB-Out" for the peer at 144 the start of the route refresh operation. These route entries 145 comprise both the reachability as well as unreachability information. 146 When a route entry in the "Adj-RIB-Out" changes, only the modified 147 route entry needs to be advertised. 149 In processing a ROUTE-REFRESH message from a peer, the BGP speaker 150 MUST examine the "message subtype" field of the message and take the 151 appropriate actions. The message processing rules for ROUTE-REFRESH 152 message with subtype of 0 are described in [RFC2918] and [RFC5291]. 153 A BGP speaker can receive a BoRR message from a peer at any time, 154 either as a result of a peer responding to a ROUTE-REFESH message, or 155 as a result of a peer unilaterally initiating a route refresh. When 156 a BGP speaker receives a BoRR message from a peer, it MUST mark all 157 the routes with the given Address Family Identifer and Subsequent 158 Address Family Identifier, [RFC2918] from that peer as 159 stale. As it receives routes from its peer's subsequent Adj-RIB-Out 160 re-advertisement, these replace any corresponding stale routes. When 161 a BGP speaker receives an EoRR message from a peer, it MUST 162 immediately remove any routes from the peer that are still marked as 163 stale for that . Such purged routes MAY be logged for 164 future analysis. A BGP speaker MAY ignore any EoRR message received 165 without a prior receipt of an associated BoRR message. Such messages 166 MAY be logged for future analysis. 168 An implementation MAY impose a locally configurable upper bound on 169 how long it would retain any stale routes. Once the upper bound is 170 reached, the implementation MAY remove any routes from the peer that 171 are still marked as stale for that without waiting for an 172 EoRR message. 174 The following procedures are specified in order to simplify the 175 interaction with the BGP Graceful Restart [RFC4724]. In particular, 176 these procedures ensure that End-of-RIB (EoR) defined in Graceful 177 Restart and EoRR as defined in this specification are kept separate, 178 thereby avoiding any premature cleanup of stale routes. For a BGP 179 speaker that supports the BGP Graceful Restart, it MUST NOT send a 180 BoRR for an to a neighbor before it sends the EoR for the 181 to the neighbor. A BGP speaker that has received the 182 Graceful Restart Capability from its neighbor, MUST ignore any BoRRs 183 for an from the neighbor before the speaker receives the 184 EoR for the given from the neighbor. The BGP speaker 185 SHOULD log an error of the condition for further analysis. 187 5. Error Handling 189 This document defines a new NOTIFICATION error code: 191 Error Code Symbolic Name 193 TBD ROUTE-REFRESH Message Error 195 The following error subcodes are defined as well: 197 Subcode Symbolic Name 199 1 Invalid Message Length 201 The error handling specified in this section is applicable only when 202 a BGP speaker has received the "Enhanced Route Refresh Capability" 203 from a peer. 205 If the length, excluding the fixed-size message header, of the 206 received ROUTE-REFRESH message with Message Subtype 1 and 2 is not 4, 207 then the BGP speaker MUST send a NOTIFICATION message with the Error 208 Code of "ROUTE-REFRESH Message Error" and the subcode of "Invalid 209 Message Length". The Data field of the NOTIFICATION message MUST 210 contain the complete ROUTE-REFRESH message. 212 When the BGP speaker receives a ROUTE-REFRESH message with a "Message 213 Subtype" field other than 0, 1 or 2, it MUST ignore the received 214 ROUTE-REFRESH message. It SHOULD log an error for further analysis. 216 6. IANA Considerations 218 This document defines the Enhanced Route Refresh Capability for BGP. 219 The Capability Code 70 has been assigned by the IANA from the "BGP 220 Capability Codes" registry. IANA should update that registry entry 221 to reference this document when it is published as an RFC. This 222 document also defines two new subcodes for the Route Refresh message. 223 They need to be registered with the IANA. We request IANA to create 224 a new registry for the Route Refresh message subcodes as follows: 226 Under "Border Gateway Protocol (BGP) Parameters": 227 Registry: "BGP Route Refresh Subcodes" 228 Reference: [RFC-to-Be] 229 Registration Procedure(s): Values 0-127 Standards Action, values 230 128-254 First Come, First Served, Value 255 reserved 232 Value Code Reference 233 0 Route-Refresh [RFC2918], [RFC5291] 234 1 BoRR [RFC-to-Be] 235 2 EoRR [RFC-to-Be] 236 3-127 Unassigned 237 128-254 Unassigned 238 255 Reserved [RFC-to-Be] 240 In addition, this document defines a NOTIFICATION error code and an 241 error subcode related to the ROUTE-REFRESH message. We request IANA 242 to allocate a new error code from the "BGP Error Codes" registry with 243 the symbolic name "ROUTE-REFRESH Message Error", referencing this 244 document. We request IANA to create a new registry for the error 245 subcodes as follows: 247 Under "BGP Error Subcodes": 248 Registry: "BGP ROUTE-REFRESH Message Error subcodes" 249 Reference: [RFC-to-Be] 250 Registration Procedure(s): Values 0-127 Standards Action, values 251 128-255 First Come, First Served 253 Value Code Reference 254 0 Reserved 255 1 Invalid Message Length [RFC-to-Be] 256 2-127 Unassigned 257 128-255 Unassigned 259 7. Security Considerations 261 Security considerations are given in [RFC4272] , but do not cover 262 Route-Refresh and many other BGP extensions. This draft does not 263 significantly change the underlying security issues regarding Route- 264 Refresh, although improved error handling may aid operational 265 security. 267 8. Acknowledgements 269 The authors would like to thank Pedro Marques, Pradosh Mohapatra, 270 Robert Raszuk, Pranav Mehta, Shyam Sethuram, Bruno Decraene, Martin 271 Djernaes, Jeff Haas, Ilya Varlashkin, Rob Shakir, Paul Jakma, Jie 272 Dong, Qing Zeng, Albert Tian, Jakob Heitz and Chris Hall for their 273 review and comments. The authors would like to thank John Scudder 274 for the review and contribution to this document. 276 9. Normative References 278 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 279 Requirement Levels", BCP 14, RFC 2119, March 1997. 281 [RFC2918] Chen, E., "Route Refresh Capability for BGP-4", RFC 2918, 282 September 2000. 284 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 285 Protocol 4 (BGP-4)", RFC 4271, January 2006. 287 [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", RFC 288 4272, January 2006. 290 [RFC4724] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y. 291 Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724, 292 January 2007. 294 [RFC5291] Chen, E. and Y. Rekhter, "Outbound Route Filtering 295 Capability for BGP-4", RFC 5291, August 2008. 297 [RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement 298 with BGP-4", RFC 5492, February 2009. 300 Authors' Addresses 302 Keyur Patel 303 Cisco Systems 304 170 W. Tasman Drive 305 San Jose, CA 95134 306 USA 308 Email: keyupate@cisco.com 310 Enke Chen 311 Cisco Systems 312 170 W. Tasman Drive 313 San Jose, CA 95134 314 USA 316 Email: enkechen@cisco.com 318 Balaji Venkatachalapathy 320 Email: balaji_pv@hotmail.com