idnits 2.17.1 draft-ietf-idr-bgp-gr-notification-05.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 == The document seems to contain a disclaimer for pre-RFC5378 work, but was first submitted on or after 10 November 2008. The disclaimer is usually necessary only for documents that revise or obsolete older RFCs, and that take significant amounts of text from those RFCs. If you can contact all authors of the source material and they are willing to grant the BCP78 rights to the IETF Trust, you can and should remove the disclaimer. Otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (April 27, 2015) is 3285 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) == Unused Reference: 'RFC3392' is defined on line 269, but no explicit reference was found in the text ** Obsolete normative reference: RFC 3392 (Obsoleted by RFC 5492) Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group K. Patel 3 Internet-Draft R. Fernando 4 Intended status: Standards Track Cisco Systems 5 Expires: October 29, 2015 J. Scudder 6 J. Haas 7 Juniper Networks 8 April 27, 2015 10 Notification Message support for BGP Graceful Restart 11 draft-ietf-idr-bgp-gr-notification-05.txt 13 Abstract 15 The current BGP Graceful Restart mechanism limits the usage of BGP 16 Graceful Restart to BGP protocol messages other than a BGP 17 NOTIFICATION message. This document defines an extension to the BGP 18 Graceful Restart that permits the Graceful Restart procedures to be 19 performed when the BGP speaker receives a BGP NOTIFICATION Message. 20 This document also defines a new BGP NOTIFICATION Cease Error subcode 21 to prevent BGP speakers supporting the extension defined in this 22 document from performing a Graceful Restart. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at http://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on October 29, 2015. 41 Copyright Notice 43 Copyright (c) 2015 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (http://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 This document may contain material from IETF Documents or IETF 57 Contributions published or made publicly available before November 58 10, 2008. The person(s) controlling the copyright in some of this 59 material may not have granted the IETF Trust the right to allow 60 modifications of such material outside the IETF Standards Process. 61 Without obtaining an adequate license from the person(s) controlling 62 the copyright in such materials, this document may not be modified 63 outside the IETF Standards Process, and derivative works of it may 64 not be created outside the IETF Standards Process, except to format 65 it for publication as an RFC or to translate it into languages other 66 than English. 68 Table of Contents 70 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 71 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 72 2. Modifications to BGP Graceful Restart Capability . . . . . . 3 73 3. BGP Hard Reset Subcode . . . . . . . . . . . . . . . . . . . 4 74 3.1. Sending a Hard Reset . . . . . . . . . . . . . . . . . . 4 75 3.2. Receiving a Hard Reset . . . . . . . . . . . . . . . . . 5 76 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 77 4.1. Rules for the Receiving Speaker . . . . . . . . . . . . . 5 78 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 79 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 80 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 81 8. Normative References . . . . . . . . . . . . . . . . . . . . 6 82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 84 1. Introduction 86 For many classes of errors, the BGP protocol must send a NOTIFICATION 87 message and reset the peering session to handle the error condition. 88 The BGP Graceful Restart extension defined in [RFC4724] requires that 89 normal BGP procedures defined in [RFC4271] be followed when a 90 NOTIFICATION message is sent or received. This document defines an 91 extension to BGP Graceful Restart that permits the Graceful Restart 92 procedures to be performed when the BGP speaker receives a 93 NOTIFICATION message. This permits the BGP speaker to avoid flapping 94 reachability and continue forwarding while the BGP speaker restarts 95 the session to handle errors detected in the BGP protocol. 97 At a high level, this document can be summed up as follows. When a 98 BGP session is reset, both speakers operate as "Receiving Speakers" 99 according to [RFC4724], meaning they retain each other's routes. 100 This is also true for HOLDTIME expiration. The functionality can be 101 defeated using a "Hard Reset" subcode for the BGP NOTIFICATION Cease 102 Error code. If a Hard Reset is used, a full session reset is 103 performed. 105 1.1. Requirements Language 107 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 108 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 109 document are to be interpreted as described in RFC 2119 [RFC2119]. 111 2. Modifications to BGP Graceful Restart Capability 113 The BGP Graceful Restart Capability is augmented to signal the 114 Graceful Restart support for BGP NOTIFICATION messages. In 115 particular, the Restart flags field and the Flags field for Address 116 Family are augmented as follows: 118 +--------------------------------------------------+ 119 | Restart Flags (4 bits) | 120 +--------------------------------------------------+ 121 | Restart Time in seconds (12 bits) | 122 +--------------------------------------------------+ 123 | Address Family Identifier (16 bits) | 124 +--------------------------------------------------+ 125 | Subsequent Address Family Identifier (8 bits) | 126 +--------------------------------------------------+ 127 | Flags for Address Family (8 bits) | 128 +--------------------------------------------------+ 129 | ... | 130 +--------------------------------------------------+ 131 | Address Family Identifier (16 bits) | 132 +--------------------------------------------------+ 133 | Subsequent Address Family Identifier (8 bits) | 134 +--------------------------------------------------+ 135 | Flags for Address Family (8 bits) | 136 +--------------------------------------------------+ 138 Restart Flags: 140 This field contains bit flags relating to restart. 142 0 1 2 3 143 +-+-+-+-+ 144 |R|N| | 145 +-+-+-+-+ 147 The second most significant bit ("N") is defined as the BGP Graceful 148 Notification bit, which is used to indicate Graceful Restart support 149 for BGP NOTIFICATION messages. A BGP speaker indicates support for 150 the procedures of this document, by advertising a Graceful Restart 151 Capability with its Graceful NOTIFICATION bit set (value 1). This 152 also implies support for the format for a BGP NOTIFICATION Cease 153 message defined in [RFC4486]. 155 Flags for Address Family: 157 This field contains bit flags relating to routes that were 158 advertised with the given AFI and SAFI. 160 0 1 2 3 4 5 6 7 161 +-+-+-+-+-+-+-+-+ 162 |F|N| Reserved | 163 +-+-+-+-+-+-+-+-+ 165 The usage of second most significant bit "N" is deprecated. This bit 166 MUST be advertised as 0 and MUST be ignored upon receipt. 168 3. BGP Hard Reset Subcode 170 A new BGP NOTIFICATION Cease message subcode is defined known as the 171 BGP Hard Reset Subcode. The value of this subcode is discussed in 172 Section 6. We refer to a BGP NOTIFICATION Cease message with the 173 Hard Reset subcode as a Hard Reset message, or just a Hard Reset. 175 3.1. Sending a Hard Reset 177 A Hard Reset message is used to indicate to a peer with which the 178 Graceful Notification flag has been exchanged, that the session is to 179 be fully terminated. 181 When sending a Hard Reset, the data portion of the NOTIFICATION is 182 encoded as follows: 184 +--------+--------+-------- 185 | ErrCode| Subcode| Data 186 +--------+--------+-------- 188 ErrCode is a BGP Error Code (as documented in the IANA BGP Error 189 Codes registry) that indicates the reason for the hard reset. 191 Subcode is a BGP Error Subcode (as documented in the IANA BGP Error 192 Subcodes registry) as appropriate for the ErrCode. Similarly, Data 193 is as appropriate for the ErrCode and Subcode. 195 3.2. Receiving a Hard Reset 197 Whenever a BGP speaker receives a Hard Reset, the speaker MUST 198 terminate the BGP session following the standard procedures in 199 [RFC4271]. 201 4. Operation 203 A BGP speaker that is willing to receive and send BGP NOTIFICATION 204 messages in Graceful mode MUST advertise the BGP Graceful 205 Notification Flag "N" using the Graceful Restart Capability as 206 defined in [RFC4724]. 208 When such a BGP Speaker receives a BGP NOTIFICATION message other 209 than a Hard Reset, it MUST follow the rules for the Receiving Speaker 210 mentioned in Section 4.1. The BGP speaker generating the BGP 211 NOTIFICATION message MUST also follow the rules for the Receiving 212 Speaker. 214 When a BGP speaker resets its session due to a HOLDTIME expiry, it 215 should generate the relevant BGP NOTIFICATION message as mentioned in 216 [RFC4271], but subsequently it MUST follow the rules for the 217 Receiving Speaker mentioned in Section 4.1. 219 Once the session is re-established, both BGP speakers SHOULD set 220 their "Forwarding State" bit to 1. If the "Forwarding State" bit is 221 not set, then according to the procedures of [RFC4724] S. 4.2, the 222 relevant routes will be flushed, defeating the goals of this 223 specification. 225 4.1. Rules for the Receiving Speaker 227 [RFC4724] S. 4.2 defines rules for the Receiving Speaker. These are 228 modified as follows. 230 As part of this extension, routes from the peer previously marked as 231 stale MUST NOT be deleted, until and unless the timer mentioned in 232 the final paragraph of [RFC4724] S. 4.2 expires, or unless a Hard 233 Reset is performed. This supersedes the "consecutive restarts" 234 requirement of [RFC4724] S. 4.2. 236 In addition to the rules already specified in [RFC4724] S. 4.2 for 237 how variations in the received Graceful Restart Capability should be 238 interpreted (the paragraph that begins "Once the session is re- 239 established..."), if the Graceful Notification ("N") bit is not set 240 in the newly received Graceful Restart Capability, no new actions are 241 triggered on the Receiving Speaker -- in particular, a clear "N" bit 242 does not trigger deletion of stale routes. 244 Other than these modifications, the rules for the Receiving Speaker 245 are as specified in [RFC4724] S. 4.2. 247 5. Acknowledgements 249 The authors would like to thank Jim Uttaro for the suggestion, and 250 Chris Hall, Paul Mattes and Robert Raszuk for the review and 251 comments. 253 6. IANA Considerations 255 IANA is requested to assign a new subcode in the "BGP Cease 256 NOTIFICATION message subcodes" registry. The suggested name for the 257 code point is "Hard Reset". The suggested value is 9. 259 7. Security Considerations 261 This extension to BGP does not change the underlying security issues 262 inherent in the existing [RFC4724] and [RFC4271]. 264 8. Normative References 266 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 267 Requirement Levels", BCP 14, RFC 2119, March 1997. 269 [RFC3392] Chandra, R. and J. Scudder, "Capabilities Advertisement 270 with BGP-4", RFC 3392, November 2002. 272 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 273 Protocol 4 (BGP-4)", RFC 4271, January 2006. 275 [RFC4486] Chen, E. and V. Gillet, "Subcodes for BGP Cease 276 Notification Message", RFC 4486, April 2006. 278 [RFC4724] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y. 279 Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724, 280 January 2007. 282 Authors' Addresses 283 Keyur Patel 284 Cisco Systems 285 170 W. Tasman Drive 286 San Jose, CA 95134 287 USA 289 Email: keyupate@cisco.com 291 Rex Fernando 292 Cisco Systems 293 170 W. Tasman Drive 294 San Jose, CA 95134 295 USA 297 Email: rex@cisco.com 299 John Scudder 300 Juniper Networks 301 1194 N. Mathilda Ave 302 Sunnyvale, CA 94089 303 USA 305 Email: jgs@juniper.net 307 Jeff Haas 308 Juniper Networks 309 1194 N. Mathilda Ave 310 Sunnyvale, CA 94089 311 USA 313 Email: jhaas@juniper.net