draft-ietf-idr-bgp-gr-notification-01.txt | draft-ietf-idr-bgp-gr-notification-02.txt | |||
---|---|---|---|---|
Network Working Group K.P. Patel | Network Working Group K. Patel | |||
Internet-Draft R.F. Fernando | Internet-Draft R. Fernando | |||
Intended status: Standards Track Cisco Systems | Intended status: Standards Track Cisco Systems | |||
Expires: October 27, 2013 J.S. Scudder | Expires: November 17, 2014 J. Scudder | |||
J.H. Haas | J. Haas | |||
Juniper Networks | Juniper Networks | |||
April 25, 2013 | May 16, 2014 | |||
Notification Message support for BGP Graceful Restart | Notification Message support for BGP Graceful Restart | |||
draft-ietf-idr-bgp-gr-notification-01.txt | draft-ietf-idr-bgp-gr-notification-02.txt | |||
Abstract | Abstract | |||
The current BGP Graceful Restart mechanism limits the usage of BGP | The current BGP Graceful Restart mechanism limits the usage of BGP | |||
Graceful Restart to BGP protocol messages other than a BGP | Graceful Restart to BGP protocol messages other than a BGP | |||
NOTIFICATION message. This document defines an extension to the BGP | NOTIFICATION message. This document defines an extension to the BGP | |||
Graceful Restart that permits the Graceful Restart procedures to be | Graceful Restart that permits the Graceful Restart procedures to be | |||
performed when the BGP speaker receives a BGP NOTIFICATION Message. | performed when the BGP speaker receives a BGP NOTIFICATION Message. | |||
This document also defines a new BGP NOTIFICATION Cease Error subcode | This document also defines a new BGP NOTIFICATION Cease Error subcode | |||
to prevent BGP speakers supporting the extension defined in this | to prevent BGP speakers supporting the extension defined in this | |||
skipping to change at page 1, line 40 | skipping to change at page 1, line 40 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on October 27, 2013. | This Internet-Draft will expire on November 17, 2014. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2013 IETF Trust and the persons identified as the | Copyright (c) 2014 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 29 | skipping to change at page 2, line 29 | |||
not be created outside the IETF Standards Process, except to format | not be created outside the IETF Standards Process, except to format | |||
it for publication as an RFC or to translate it into languages other | it for publication as an RFC or to translate it into languages other | |||
than English. | than English. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
2. Modifications to BGP Graceful Restart Capability . . . . . . 3 | 2. Modifications to BGP Graceful Restart Capability . . . . . . 3 | |||
3. BGP Hard Reset Subcode . . . . . . . . . . . . . . . . . . . 4 | 3. BGP Hard Reset Subcode . . . . . . . . . . . . . . . . . . . 4 | |||
4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. Sending a Hard Reset . . . . . . . . . . . . . . . . . . 4 | |||
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 | 3.2. Receiving a Hard Reset . . . . . . . . . . . . . . . . . 5 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 | 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | 4.1. Rules for the Receiving Speaker . . . . . . . . . . . . . 5 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 6 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 6 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | |||
8. Normative References . . . . . . . . . . . . . . . . . . . . 6 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
1. Introduction | 1. Introduction | |||
For many classes of errors, the BGP protocol must send a NOTIFICATION | For many classes of errors, the BGP protocol must send a NOTIFICATION | |||
message and reset the peering session to handle the error condition. | message and reset the peering session to handle the error condition. | |||
The BGP Graceful Restart extension defined in [RFC4724] requires that | The BGP Graceful Restart extension defined in [RFC4724] requires that | |||
normal BGP procedures defined in [RFC4271] be followed when a | normal BGP procedures defined in [RFC4271] be followed when a | |||
NOTIFICATION message is sent or received. This document defines an | NOTIFICATION message is sent or received. This document defines an | |||
extension to BGP Graceful Restart that permits the Graceful Restart | extension to BGP Graceful Restart that permits the Graceful Restart | |||
procedures to be performed when the BGP speaker receives a | procedures to be performed when the BGP speaker receives a | |||
NOTIFICATION message. This permits the BGP speaker to avoid flapping | NOTIFICATION message. This permits the BGP speaker to avoid flapping | |||
reachability and continue forwarding while the BGP speaker restarts | reachability and continue forwarding while the BGP speaker restarts | |||
the session to handle errors detected in the BGP protocol. | the session to handle errors detected in the BGP protocol. | |||
This document defines a BGP NOTIFICATION cease Error subcode for the | At a high level, this document can be summed up as follows. When a | |||
Cease Error code to prevent BGP speakers supporting the extension | BGP session is reset, both speakers operate as "Receiving Speakers" | |||
defined in this document from performing a Graceful Restart. | 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 | 1.1. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
2. Modifications to BGP Graceful Restart Capability | 2. Modifications to BGP Graceful Restart Capability | |||
The BGP Graceful Restart Capability is augmented to signal the | The BGP Graceful Restart Capability is augmented to signal the | |||
Graceful Restart support for BGP NOTIFICATION messages. In | Graceful Restart support for BGP NOTIFICATION messages. In | |||
particular, the Restart flags field and the Flags field for Address | particular, the Restart flags field and the Flags field for Address | |||
Family are augmented as follows: | Family are augmented as follows: | |||
+--------------------------------------------------+ | +--------------------------------------------------+ | |||
| Restart Flags (4 bits) | | | Restart Flags (4 bits) | | |||
+--------------------------------------------------+ | +--------------------------------------------------+ | |||
| Restart Time in seconds (12 bits) | | | Restart Time in seconds (12 bits) | | |||
+--------------------------------------------------+ | +--------------------------------------------------+ | |||
| Address Family Identifier (16 bits) | | | Address Family Identifier (16 bits) | | |||
+--------------------------------------------------+ | +--------------------------------------------------+ | |||
| Subsequent Address Family Identifier (8 bits) | | | Subsequent Address Family Identifier (8 bits) | | |||
+--------------------------------------------------+ | +--------------------------------------------------+ | |||
| Flags for Address Family (8 bits) | | | Flags for Address Family (8 bits) | | |||
+--------------------------------------------------+ | +--------------------------------------------------+ | |||
| ... | | | ... | | |||
+--------------------------------------------------+ | +--------------------------------------------------+ | |||
| Address Family Identifier (16 bits) | | | Address Family Identifier (16 bits) | | |||
+--------------------------------------------------+ | +--------------------------------------------------+ | |||
| Subsequent Address Family Identifier (8 bits) | | | Subsequent Address Family Identifier (8 bits) | | |||
+--------------------------------------------------+ | +--------------------------------------------------+ | |||
| Flags for Address Family (8 bits) | | | Flags for Address Family (8 bits) | | |||
+--------------------------------------------------+ | +--------------------------------------------------+ | |||
Restart Flags: | Restart Flags: | |||
This field contains bit flags relating to restart. | This field contains bit flags relating to restart. | |||
0 1 2 3 | 0 1 2 3 | |||
+-+-+-+-+ | +-+-+-+-+ | |||
|R|N| | | |R|N| | | |||
+-+-+-+-+ | +-+-+-+-+ | |||
The second most significant bit "N" is defined as a BGP Graceful | The second most significant bit ("N") is defined as the BGP Graceful | |||
Notification bit, which is used to indicate the Graceful Restart | Notification bit, which is used to indicate Graceful Restart support | |||
support for BGP NOTIFICATION messages. BGP speaker indicates the | for BGP NOTIFICATION messages. A BGP speaker indicates support for | |||
Graceful Restart support for BGP NOTIFICATION messages and its | the procedures of this document, by advertising a Graceful Restart | |||
ability to handle the new BGP NOTIFICATION Cease message subcode and | Capability with its Graceful NOTIFICATION bit set (value 1). This | |||
the format for a BGP NOTIFICATION Cease message defined in [RFC4486] | also implies support for the format for a BGP NOTIFICATION Cease | |||
when the Graceful NOTIFICATION bit is set (value 1). | message defined in [RFC4486]. | |||
Flags for Address Family: | Flags for Address Family: | |||
This field contains bit flags relating to routes that were | This field contains bit flags relating to routes that were | |||
advertised with the given AFI and SAFI. | advertised with the given AFI and SAFI. | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|F|N| Reserved | | |F|N| Reserved | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
The usage of second most significant bit "N" is deprecated. This bit | The usage of second most significant bit "N" is deprecated. This bit | |||
SHOULD be reserved and set to 0. | MUST be advertised as 0 and MUST be ignored upon receipt. | |||
3. BGP Hard Reset Subcode | 3. BGP Hard Reset Subcode | |||
A new BGP Cease message subcode is defined known as BGP Hard Reset | A new BGP NOTIFICATION Cease message subcode is defined known as the | |||
Subcode. The value of this subcode is 9. | BGP Hard Reset Subcode. The value of this subcode is discussed in | |||
Section 6. We refer to a BGP NOTIFICATION Cease message with the | ||||
Hard Reset subcode as a Hard Reset message, or just a Hard Reset. | ||||
Whenever a BGP speaker receives a NOTIFICATION message with the Cease | 3.1. Sending a Hard Reset | |||
Error code and Hard Reset Error subcode, the speaker MUST terminate | ||||
the BGP session following the standard procedures in [RFC4271]. | A Hard Reset message is used to indicate to a peer with which the | |||
Graceful Notification flag has been exchanged, that the session is to | ||||
be fully terminated. | ||||
When sending a Hard Reset, the data portion of the NOTIFICATION | ||||
message MUST be used to indicate the reason for the hard reset. The | ||||
reason is encoded using a standard BGP Cease error subcode and MAY | ||||
also include any relevant data subsequent to the subcode. | ||||
3.2. Receiving a Hard Reset | ||||
Whenever a BGP speaker receives a Hard Reset, the speaker MUST | ||||
terminate the BGP session following the standard procedures in | ||||
[RFC4271]. | ||||
4. Operation | 4. Operation | |||
A BGP speaker that is willing to receive and send BGP NOTIFICATION | A BGP speaker that is willing to receive and send BGP NOTIFICATION | |||
messages in Graceful mode SHOULD advertise the BGP Graceful | messages in Graceful mode MUST advertise the BGP Graceful | |||
Notification Flag "N" using the Graceful Restart Capability as | Notification Flag "N" using the Graceful Restart Capability as | |||
defined in [RFC4724]. | defined in [RFC4724]. | |||
When a BGP Speaker receives a BGP NOTIFICATION message, it SHOULD | When such a BGP Speaker receives a BGP NOTIFICATION message other | |||
follow the standard rules of the receiving speaker mentioned in | than a Hard Reset, it MUST follow the rules for the Receiving Speaker | |||
[RFC4724] for all AFI/SAFIs for which it has announced the BGP | mentioned in Section 4.1. The BGP speaker generating the BGP | |||
Graceful Notification flag. The BGP speaker generating a BGP | NOTIFICATION message MUST also follow the rules for the Receiving | |||
NOTIFICATION message SHOULD follow the standard rules of the | Speaker. | |||
receiving Speaker in [RFC4724] for all AFI/SAFIs that were announced | ||||
with the BGP Graceful Notification flag. | ||||
A BGP speaker MAY continue to operate in the Graceful Restart mode | ||||
even if it receives a Graceful Restart capability without a Graceful | ||||
Notification Flag. | ||||
When a BGP speaker resets its session due to a HOLDTIME expiry, it | When a BGP speaker resets its session due to a HOLDTIME expiry, it | |||
SHOULD follow the standard rules of the receiving speaker mentioned | should generate the relevant BGP NOTIFICATION message as mentioned in | |||
in [RFC4724] aside from generating a BGP NOTIFICATION message as | [RFC4271], but subsequently it MUST follow the rules for the | |||
mentioned in [RFC4271]. | Receiving Speaker mentioned in Section 4.1. | |||
Once the session is re-established, both BGP speakers MUST set their | Once the session is re-established, both BGP speakers SHOULD set | |||
"Forwarding State" bit to 1 if they want to apply planned graceful | their "Forwarding State" bit to 1. If the "Forwarding State" bit is | |||
restart. The handling of the "Forwarding State" bit should be done | not set, then according to the procedures of [RFC4724] S. 4.2, the | |||
as specified by the procedures of the Receiving speaker in [RFC4724] | relevant routes will be flushed, defeating the goals of this | |||
are applied. | specification. | |||
As part of this extension, any possible consecutive restarts SHOULD | 4.1. Rules for the Receiving Speaker | |||
NOT delete a route (from the peer) previously marked as stale, until | ||||
required by rules mentioned in [RFC4724]. | [RFC4724] S. 4.2 defines rules for the Receiving Speaker. These are | |||
modified as follows. | ||||
As part of this extension, routes from the peer previously marked as | ||||
stale MUST NOT be deleted, until and unless the timer mentioned in | ||||
the final paragraph of [RFC4724] S. 4.2 expires, or unless a Hard | ||||
Reset is performed. This supersedes the "consecutive restarts" | ||||
requirement of [RFC4724] S. 4.2. | ||||
In addition to the rules already specified in [RFC4724] S. 4.2 for | ||||
how variations in the received Graceful Restart Capability should be | ||||
interpreted (the paragraph that begins "Once the session is re- | ||||
established..."), if the Graceful Notification ("N") bit is not set | ||||
in the newly received Graceful Restart Capability, no new actions are | ||||
triggered on the Receiving Speaker -- in particular, a clear "N" bit | ||||
does not trigger deletion of stale routes. | ||||
Other than these modifications, the rules for the Receiving Speaker | ||||
are as specified in [RFC4724] S. 4.2. | ||||
5. Acknowledgements | 5. Acknowledgements | |||
The authors would like to thank Robert Raszuk for the review and | The authors would like to thank Jim Uttaro for the suggestion, and | |||
comments. | Robert Raszuk for the review and comments. | |||
6. IANA Considerations | 6. IANA Considerations | |||
This document defines a new BGP Cease message subcode known as BGP | IANA is requested to assign a new subcode in the "BGP Cease | |||
Hard Reset Subcode. IANA mantains the list of existing BGP Cease | NOTIFICATION message subcodes" registry. The suggested name for the | |||
message subcodes. This document proposes defining a new BGP Cease | code point is "Hard Reset". The suggested value is 9. | |||
message subcode known as BGP Hard Reset Subcode with the value 9. | ||||
7. Security Considerations | 7. Security Considerations | |||
This extension to BGP does not change the underlying security issues | This extension to BGP does not change the underlying security issues | |||
inherent in the existing [RFC4724] and [RFC4271] | inherent in the existing [RFC4724] and [RFC4271]. | |||
8. References | 8. Normative References | |||
8.1. Normative References | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC2842] Chandra, R. and J. Scudder, "Capabilities Advertisement | ||||
with BGP-4", RFC 2842, May 2000. | ||||
[RFC3392] Chandra, R. and J. Scudder, "Capabilities Advertisement | [RFC3392] Chandra, R. and J. Scudder, "Capabilities Advertisement | |||
with BGP-4", RFC 3392, November 2002. | with BGP-4", RFC 3392, November 2002. | |||
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway | [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway | |||
Protocol 4 (BGP-4)", RFC 4271, January 2006. | Protocol 4 (BGP-4)", RFC 4271, January 2006. | |||
[RFC4486] Chen, E. and V. Gillet, "Subcodes for BGP Cease | [RFC4486] Chen, E. and V. Gillet, "Subcodes for BGP Cease | |||
Notification Message", RFC 4486, April 2006. | Notification Message", RFC 4486, April 2006. | |||
[RFC4724] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y. | [RFC4724] Sangli, S., Chen, E., Fernando, R., Scudder, J., and Y. | |||
Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724, | Rekhter, "Graceful Restart Mechanism for BGP", RFC 4724, | |||
January 2007. | January 2007. | |||
8.2. Informative References | ||||
[RFC2858] Bates, T., Rekhter, Y., Chandra, R., and D. Katz, | ||||
"Multiprotocol Extensions for BGP-4", RFC 2858, June 2000. | ||||
Authors' Addresses | Authors' Addresses | |||
Keyur Patel | Keyur Patel | |||
Cisco Systems | Cisco Systems | |||
170 W. Tasman Drive | 170 W. Tasman Drive | |||
San Jose, CA 95134 | San Jose, CA 95134 | |||
USA | USA | |||
Email: keyupate@cisco.com | Email: keyupate@cisco.com | |||
Rex Fernando | Rex Fernando | |||
Cisco Systems | Cisco Systems | |||
170 W. Tasman Drive | 170 W. Tasman Drive | |||
San Jose, CA 95134 | San Jose, CA 95134 | |||
USA | USA | |||
Email: rex@cisco.com | Email: rex@cisco.com | |||
John Scudder | John Scudder | |||
Juniper Networks | Juniper Networks | |||
1194 N. Mathilda Ave | 1194 N. Mathilda Ave | |||
Sunnyvale, CA 94089 | Sunnyvale, CA 94089 | |||
USA | USA | |||
Email: jgs@juniper.net | Email: jgs@juniper.net | |||
Jeff Haas | Jeff Haas | |||
Juniper Networks | Juniper Networks | |||
End of changes. 32 change blocks. | ||||
104 lines changed or deleted | 126 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |