--- 1/draft-ietf-idr-bgp-gr-notification-15.txt 2018-11-27 14:13:17.072124339 -0800 +++ 2/draft-ietf-idr-bgp-gr-notification-16.txt 2018-11-27 14:13:17.096124923 -0800 @@ -1,22 +1,22 @@ Internet Engineering Task Force K. Patel Internet-Draft Arrcus Updates: 4724 (if approved) R. Fernando Intended status: Standards Track Cisco Systems -Expires: October 12, 2018 J. Scudder +Expires: May 31, 2019 J. Scudder J. Haas Juniper Networks - April 10, 2018 + November 27, 2018 Notification Message support for BGP Graceful Restart - draft-ietf-idr-bgp-gr-notification-15.txt + draft-ietf-idr-bgp-gr-notification-16.txt Abstract The BGP Graceful Restart mechanism defined in RFC 4724 limits the usage of BGP Graceful Restart to BGP protocol messages other than a BGP NOTIFICATION message. This document updates RFC 4724 by defining an extension that permits the Graceful Restart procedures to be performed when the BGP speaker receives a BGP NOTIFICATION Message or the Hold Time expires. This document also defines a new BGP NOTIFICATION Cease Error subcode whose effect is to request a full @@ -30,21 +30,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://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." - This Internet-Draft will expire on October 12, 2018. + This Internet-Draft will expire on May 31, 2019. Copyright Notice Copyright (c) 2018 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 (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -61,24 +61,25 @@ 2. Modifications to BGP Graceful Restart Capability . . . . . . 3 3. BGP Hard Reset Subcode . . . . . . . . . . . . . . . . . . . 3 3.1. Sending a Hard Reset . . . . . . . . . . . . . . . . . . 4 3.2. Receiving a Hard Reset . . . . . . . . . . . . . . . . . 4 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.1. Rules for the Receiving Speaker . . . . . . . . . . . . . 5 5. Use of Hard Reset . . . . . . . . . . . . . . . . . . . . . . 6 5.1. When to Send Hard Reset . . . . . . . . . . . . . . . . . 6 5.2. Interaction With Other Specifications . . . . . . . . . . 7 6. Management Considerations . . . . . . . . . . . . . . . . . . 7 - 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 - 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 - 9. Security Considerations . . . . . . . . . . . . . . . . . . . 8 - 10. Normative References . . . . . . . . . . . . . . . . . . . . 8 + 7. Operational Considerations . . . . . . . . . . . . . . . . . 7 + 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 + 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 + 10. Security Considerations . . . . . . . . . . . . . . . . . . . 8 + 11. Normative References . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction For many classes of errors, the BGP protocol must send a NOTIFICATION message and reset the peering session to handle the error condition. The BGP Graceful Restart extension defined in [RFC4724] requires that normal BGP procedures defined in [RFC4271] be followed when a NOTIFICATION message is sent or received. This document defines an extension to BGP Graceful Restart that permits the Graceful Restart @@ -92,22 +93,24 @@ BGP session is reset, both speakers operate as "Receiving Speakers" according to [RFC4724], meaning they retain each other's routes. This is also true for HOLDTIME expiration. The functionality can be defeated using a "Hard Reset" subcode for the BGP NOTIFICATION Cease Error code. If a Hard Reset is used, a full session reset is performed. 1.1. 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 RFC 2119 [RFC2119]. + "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this document are to be interpreted as described in BCP + 14 [RFC2119] [RFC8174] when, and only when, they appear in all + capitals, as shown here. 2. Modifications to BGP Graceful Restart Capability The BGP Graceful Restart Capability is augmented to signal the Graceful Restart support for BGP NOTIFICATION messages. The Restart Flags field is augmented as follows (following the diagram from section 3 of [RFC4724]): Restart Flags: @@ -118,34 +121,32 @@ |R|N| | +-+-+-+-+ The most significant ("Restart State", or "R") bit is defined in [RFC4724]. The second most significant bit ("N") is defined as the BGP Graceful Notification bit, which is used to indicate Graceful Restart support for BGP NOTIFICATION messages. A BGP speaker indicates support for the procedures of this document, by advertising a Graceful Restart - Capability with its Graceful NOTIFICATION bit set (value 1). This - also implies support for the format for a BGP NOTIFICATION Cease - message defined in [RFC4486]. + Capability with its Graceful Notification bit set (value 1). If a BGP speaker that previously advertised a given set of Graceful Restart parameters opens a new session with a different set of parameters, these new parameters apply once the session has transitioned into ESTABLISHED state. 3. BGP Hard Reset Subcode We define a new BGP NOTIFICATION Cease message subcode, called the BGP Hard Reset Subcode. The value of this subcode is discussed in - Section 8. We refer to a BGP NOTIFICATION Cease message with the + Section 9. We refer to a BGP NOTIFICATION Cease message with the Hard Reset subcode as a Hard Reset message, or just a Hard Reset. When the "N" bit has been exchanged by two peers, to distinguish them from Hard Reset we refer to any NOTIFICATION messages other than Hard Reset as "Graceful", since such messages invoke Graceful Restart semantics. 3.1. Sending a Hard Reset A Hard Reset message is used to indicate to a peer with which the @@ -295,94 +296,100 @@ encapsulated within. The encapsulated administrative shutdown message MUST subsequently be processed according to [RFC8203]. 6. Management Considerations When reporting a Hard Reset to network management, the error code and subcode reported MUST be Cease, Hard Reset. If the network management layer in use permits it, the information carried in the Data portion SHOULD be reported as well. -7. Acknowledgements +7. Operational Considerations + + Note that long (or infinite) retention time may cause operational + issues, and should be enabled with care. + +8. Acknowledgements The authors would like to thank Jim Uttaro for the suggestion, and - Emmanuel Baccelli, Bruno Decraene, Chris Hall, Paul Mattes, Robert - Raszuk, and Alvaro Retana for their review and comments. + Emmanuel Baccelli, Bruno Decraene, Chris Hall, Warren Kumari, Paul + Mattes, Robert Raszuk, and Alvaro Retana for their review and + comments. -8. IANA Considerations +9. IANA Considerations IANA has temporarily assigned subcode 9, named "Hard Reset", in the "BGP Cease NOTIFICATION message subcodes" registry. Upon publication of this document as an RFC, IANA is requested to make this allocation permanent. IANA is requested to establish a registry within the "Border Gateway Protocol (BGP) Parameters" grouping, to be called "BGP Graceful Restart Flags". The Registration Procedure should be Standards Action, the reference this document and [RFC4724], and the initial values as follows: +--------------+---------------+------------+---------------+ | Bit Position | Name | Short Name | Reference | +--------------+---------------+------------+---------------+ | 0 | Restart State | R | [RFC4724] | | 1 | Notification | N | this document | - | 2, 3 | unassigned | | | + | 2, 3 | unassigned | | this document | +--------------+---------------+------------+---------------+ IANA is requested to establish a registry within the "Border Gateway Protocol (BGP) Parameters" grouping, to be called "BGP Graceful Restart Flags for Address Family". The Registration Procedure should be Standards Action, the reference this document and [RFC4724], and the initial values as follows: - +--------------+------------------+------------+-----------+ + +--------------+------------------+------------+---------------+ | Bit Position | Name | Short Name | Reference | - +--------------+------------------+------------+-----------+ + +--------------+------------------+------------+---------------+ | 0 | Forwarding State | F | [RFC4724] | - | 1-7 | unassigned | | | - +--------------+------------------+------------+-----------+ + | 1-7 | unassigned | | this document | + +--------------+------------------+------------+---------------+ -9. Security Considerations +10. Security Considerations This specification doesn't change the basic security model inherent in [RFC4724], with the exception that the protection against repeated resets is relaxed. To mitigate the consequent risk that an attacker could use repeated session resets to prevent stale routes from ever being deleted, we make the stale routes timer mandatory (in practice it is already ubiquitous). To the extent [RFC4724] might be said to help defend against denials of service by making the control plane more resilient, this extension may modestly increase that resilience; however, there are enough confounding and deployment-specific factors that no general claims can be made. -10. Normative References +11. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, . - [RFC4486] Chen, E. and V. Gillet, "Subcodes for BGP Cease - Notification Message", RFC 4486, DOI 10.17487/RFC4486, - April 2006, . - [RFC4724] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y. Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724, DOI 10.17487/RFC4724, January 2007, . + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC + 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, + May 2017, . + [RFC8203] Snijders, J., Heitz, J., and J. Scudder, "BGP Administrative Shutdown Communication", RFC 8203, DOI 10.17487/RFC8203, July 2017, . Authors' Addresses Keyur Patel Arrcus