idnits 2.17.1 draft-ietf-idr-bgp-gr-notification-04.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 3281 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: 'RFC2842' is defined on line 246, but no explicit reference was found in the text == Unused Reference: 'RFC3392' is defined on line 249, but no explicit reference was found in the text == Unused Reference: 'RFC2858' is defined on line 264, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2842 (Obsoleted by RFC 3392) ** Obsolete normative reference: RFC 3392 (Obsoleted by RFC 5492) -- Obsolete informational reference (is this intentional?): RFC 2858 (Obsoleted by RFC 4760) Summary: 2 errors (**), 0 flaws (~~), 5 warnings (==), 2 comments (--). 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-04.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. Sending a Hard Reset . . . . . . . . . . . . . . . . . . 4 76 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 77 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 78 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 79 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 80 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 81 8.1. Normative References . . . . . . . . . . . . . . . . . . 6 82 8.2. Informative References . . . . . . . . . . . . . . . . . 6 83 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 85 1. Introduction 87 For many classes of errors, the BGP protocol must send a NOTIFICATION 88 message and reset the peering session to handle the error condition. 89 The BGP Graceful Restart extension defined in [RFC4724] requires that 90 normal BGP procedures defined in [RFC4271] be followed when a 91 NOTIFICATION message is sent or received. This document defines an 92 extension to BGP Graceful Restart that permits the Graceful Restart 93 procedures to be performed when the BGP speaker receives a 94 NOTIFICATION message. This permits the BGP speaker to avoid flapping 95 reachability and continue forwarding while the BGP speaker restarts 96 the session to handle errors detected in the BGP protocol. 98 This document defines a BGP NOTIFICATION cease Error subcode for the 99 Cease Error code to prevent BGP speakers supporting the extension 100 defined in this document from performing a Graceful Restart. 102 1.1. Requirements Language 104 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 105 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 106 document are to be interpreted as described in RFC 2119 [RFC2119]. 108 2. Modifications to BGP Graceful Restart Capability 110 The BGP Graceful Restart Capability is augmented to signal the 111 Graceful Restart support for BGP NOTIFICATION messages. In 112 particular, the Restart flags field and the Flags field for Address 113 Family are augmented as follows: 115 +--------------------------------------------------+ 116 | Restart Flags (4 bits) | 117 +--------------------------------------------------+ 118 | Restart Time in seconds (12 bits) | 119 +--------------------------------------------------+ 120 | Address Family Identifier (16 bits) | 121 +--------------------------------------------------+ 122 | Subsequent Address Family Identifier (8 bits) | 123 +--------------------------------------------------+ 124 | Flags for Address Family (8 bits) | 125 +--------------------------------------------------+ 126 | ... | 127 +--------------------------------------------------+ 128 | Address Family Identifier (16 bits) | 129 +--------------------------------------------------+ 130 | Subsequent Address Family Identifier (8 bits) | 131 +--------------------------------------------------+ 132 | Flags for Address Family (8 bits) | 133 +--------------------------------------------------+ 135 Restart Flags: 137 This field contains bit flags relating to restart. 139 0 1 2 3 140 +-+-+-+-+ 141 |R|N| | 142 +-+-+-+-+ 144 The second most significant bit "N" is defined as a BGP Graceful 145 Notification bit, which is used to indicate the Graceful Restart 146 support for BGP NOTIFICATION messages. BGP speaker indicates the 147 Graceful Restart support for BGP NOTIFICATION messages and its 148 ability to handle the new BGP NOTIFICATION Cease message subcode and 149 the format for a BGP NOTIFICATION Cease message defined in [RFC4486] 150 when the Graceful NOTIFICATION bit is set (value 1). 152 Flags for Address Family: 154 This field contains bit flags relating to routes that were 155 advertised with the given AFI and SAFI. 157 0 1 2 3 4 5 6 7 158 +-+-+-+-+-+-+-+-+ 159 |F|N| Reserved | 160 +-+-+-+-+-+-+-+-+ 162 The usage of second most significant bit "N" is deprecated. This bit 163 SHOULD be reserved and set to 0. 165 3. BGP Hard Reset Subcode 167 A new BGP Cease message subcode is defined known as BGP Hard Reset 168 Subcode. The value of this subcode is 9. 170 3.1. Sending a Hard Reset 172 A Hard Reset NOTIFICATION Message is used to indicate to a peer with 173 which the Graceful Notification flag has been exchanged, that the 174 session is to be fully terminated. 176 When sending a Hard Reset NOTIFICATION, the data portion of the 177 NOTIFICATION message MUST be used to indicate the reason for the hard 178 reset. The reason is encoded using a standard BGP Cease error 179 subcode and MAY also include any relevant data subsequent to the 180 subcode. 182 3.2. Sending a Hard Reset 184 Whenever a BGP speaker receives a NOTIFICATION message with the Cease 185 Error code and Hard Reset Error subcode, the speaker MUST terminate 186 the BGP session following the standard procedures in [RFC4271]. 188 4. Operation 190 A BGP speaker that is willing to receive and send BGP NOTIFICATION 191 messages in Graceful mode SHOULD advertise the BGP Graceful 192 Notification Flag "N" using the Graceful Restart Capability as 193 defined in [RFC4724]. 195 When a BGP Speaker receives a BGP NOTIFICATION message, it SHOULD 196 follow the standard rules of the receiving speaker mentioned in 197 [RFC4724] for all AFI/SAFIs for which it has announced the BGP 198 Graceful Notification flag. The BGP speaker generating a BGP 199 NOTIFICATION message SHOULD follow the standard rules of the 200 receiving Speaker in [RFC4724] for all AFI/SAFIs that were announced 201 with the BGP Graceful Notification flag. 203 A BGP speaker MAY continue to operate in the Graceful Restart mode 204 even if it receives a Graceful Restart capability without a Graceful 205 Notification Flag. 207 When a BGP speaker resets its session due to a HOLDTIME expiry, it 208 SHOULD follow the standard rules of the receiving speaker mentioned 209 in [RFC4724] aside from generating a BGP NOTIFICATION message as 210 mentioned in [RFC4271]. 212 Once the session is re-established, both BGP speakers MUST set their 213 "Forwarding State" bit to 1 if they want to apply planned graceful 214 restart. The handling of the "Forwarding State" bit should be done 215 as specified by the procedures of the Receiving speaker in [RFC4724] 216 are applied. 218 As part of this extension, any possible consecutive restarts SHOULD 219 NOT delete a route (from the peer) previously marked as stale, until 220 required by rules mentioned in [RFC4724]. 222 5. Acknowledgements 224 The authors would like to thank Robert Raszuk for the review and 225 comments. 227 6. IANA Considerations 229 This document defines a new BGP Cease message subcode known as BGP 230 Hard Reset Subcode. IANA mantains the list of existing BGP Cease 231 message subcodes. This document proposes defining a new BGP Cease 232 message subcode known as BGP Hard Reset Subcode with the value 9. 234 7. Security Considerations 236 This extension to BGP does not change the underlying security issues 237 inherent in the existing [RFC4724] and [RFC4271] 239 8. References 241 8.1. Normative References 243 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 244 Requirement Levels", BCP 14, RFC 2119, March 1997. 246 [RFC2842] Chandra, R. and J. Scudder, "Capabilities Advertisement 247 with BGP-4", RFC 2842, May 2000. 249 [RFC3392] Chandra, R. and J. Scudder, "Capabilities Advertisement 250 with BGP-4", RFC 3392, November 2002. 252 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 253 Protocol 4 (BGP-4)", RFC 4271, January 2006. 255 [RFC4486] Chen, E. and V. Gillet, "Subcodes for BGP Cease 256 Notification Message", RFC 4486, April 2006. 258 [RFC4724] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y. 259 Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724, 260 January 2007. 262 8.2. Informative References 264 [RFC2858] Bates, T., Rekhter, Y., Chandra, R., and D. Katz, 265 "Multiprotocol Extensions for BGP-4", RFC 2858, June 2000. 267 Authors' Addresses 269 Keyur Patel 270 Cisco Systems 271 170 W. Tasman Drive 272 San Jose, CA 95134 273 USA 275 Email: keyupate@cisco.com 276 Rex Fernando 277 Cisco Systems 278 170 W. Tasman Drive 279 San Jose, CA 95134 280 USA 282 Email: rex@cisco.com 284 John Scudder 285 Juniper Networks 286 1194 N. Mathilda Ave 287 Sunnyvale, CA 94089 288 USA 290 Email: jgs@juniper.net 292 Jeff Haas 293 Juniper Networks 294 1194 N. Mathilda Ave 295 Sunnyvale, CA 94089 296 USA 298 Email: jhaas@juniper.net