draft-ietf-idr-bgp-gr-notification-05.txt | draft-ietf-idr-bgp-gr-notification-06.txt | |||
---|---|---|---|---|
Network Working Group K. Patel | Network Working Group K. Patel | |||
Internet-Draft R. Fernando | Internet-Draft R. Fernando | |||
Intended status: Standards Track Cisco Systems | Intended status: Standards Track Cisco Systems | |||
Expires: October 29, 2015 J. Scudder | Expires: May 7, 2016 J. Scudder | |||
J. Haas | J. Haas | |||
Juniper Networks | Juniper Networks | |||
April 27, 2015 | November 4, 2015 | |||
Notification Message support for BGP Graceful Restart | Notification Message support for BGP Graceful Restart | |||
draft-ietf-idr-bgp-gr-notification-05.txt | draft-ietf-idr-bgp-gr-notification-06.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 or | |||
This document also defines a new BGP NOTIFICATION Cease Error subcode | the Hold Time expires. This document also defines a new BGP | |||
to prevent BGP speakers supporting the extension defined in this | NOTIFICATION Cease Error subcode to prevent BGP speakers supporting | |||
document from performing a Graceful Restart. | the extension defined in this document from performing a Graceful | |||
Restart. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 29, 2015. | This Internet-Draft will expire on May 7, 2016. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2015 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 | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
This document may contain material from IETF Documents or IETF | ||||
Contributions published or made publicly available before November | ||||
10, 2008. The person(s) controlling the copyright in some of this | ||||
material may not have granted the IETF Trust the right to allow | ||||
modifications of such material outside the IETF Standards Process. | ||||
Without obtaining an adequate license from the person(s) controlling | ||||
the copyright in such materials, this document may not be modified | ||||
outside the IETF Standards Process, and derivative works of it may | ||||
not be created outside the IETF Standards Process, except to format | ||||
it for publication as an RFC or to translate it into languages other | ||||
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 | |||
3.1. Sending a Hard Reset . . . . . . . . . . . . . . . . . . 4 | 3.1. Sending a Hard Reset . . . . . . . . . . . . . . . . . . 4 | |||
3.2. Receiving a Hard Reset . . . . . . . . . . . . . . . . . 5 | 3.2. Receiving a Hard Reset . . . . . . . . . . . . . . . . . 4 | |||
4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
4.1. Rules for the Receiving Speaker . . . . . . . . . . . . . 5 | 4.1. Rules for the Receiving Speaker . . . . . . . . . . . . . 5 | |||
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 | 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | |||
8. Normative References . . . . . . . . . . . . . . . . . . . . 6 | 8. Normative References . . . . . . . . . . . . . . . . . . . . 6 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
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 or the Hold Time expires. This permits the BGP | |||
reachability and continue forwarding while the BGP speaker restarts | speaker to avoid flapping reachability and continue forwarding while | |||
the session to handle errors detected in the BGP protocol. | the BGP speaker restarts the session to handle errors detected in the | |||
BGP protocol. | ||||
At a high level, this document can be summed up as follows. When a | At a high level, this document can be summed up as follows. When a | |||
BGP session is reset, both speakers operate as "Receiving Speakers" | BGP session is reset, both speakers operate as "Receiving Speakers" | |||
according to [RFC4724], meaning they retain each other's routes. | according to [RFC4724], meaning they retain each other's routes. | |||
This is also true for HOLDTIME expiration. The functionality can be | This is also true for HOLDTIME expiration. The functionality can be | |||
defeated using a "Hard Reset" subcode for the BGP NOTIFICATION Cease | defeated using a "Hard Reset" subcode for the BGP NOTIFICATION Cease | |||
Error code. If a Hard Reset is used, a full session reset is | Error code. If a Hard Reset is used, a full session reset is | |||
performed. | performed. | |||
1.1. Requirements Language | 1.1. Requirements Language | |||
skipping to change at page 4, line 28 | skipping to change at page 4, line 17 | |||
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" (which was defined in a | |||
MUST be advertised as 0 and MUST be ignored upon receipt. | previous draft version of this specification) is deprecated. This | |||
bit MUST be advertised as 0 and MUST be ignored upon receipt. | ||||
3. BGP Hard Reset Subcode | 3. BGP Hard Reset Subcode | |||
A new BGP NOTIFICATION Cease message subcode is defined known as the | A new BGP NOTIFICATION Cease message subcode is defined known as the | |||
BGP Hard Reset Subcode. The value of this subcode is discussed in | BGP Hard Reset Subcode. The value of this subcode is discussed in | |||
Section 6. We refer to a BGP NOTIFICATION Cease message with the | 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. | Hard Reset subcode as a Hard Reset message, or just a Hard Reset. | |||
3.1. Sending a Hard Reset | 3.1. Sending a Hard Reset | |||
skipping to change at page 5, line 19 | skipping to change at page 5, line 9 | |||
3.2. Receiving a Hard Reset | 3.2. Receiving a Hard Reset | |||
Whenever a BGP speaker receives a Hard Reset, the speaker MUST | Whenever a BGP speaker receives a Hard Reset, the speaker MUST | |||
terminate the BGP session following the standard procedures in | terminate the BGP session following the standard procedures in | |||
[RFC4271]. | [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 MUST advertise the BGP Graceful | messages in Graceful mode MUST advertise the BGP Graceful | |||
Notification Flag "N" using the Graceful Restart Capability as | Notification "N" bit using the Graceful Restart Capability as defined | |||
defined in [RFC4724]. | in [RFC4724]. | |||
When such a BGP Speaker receives a BGP NOTIFICATION message other | When such a BGP speaker has received the "N" bit from its peer, and | |||
than a Hard Reset, it MUST follow the rules for the Receiving Speaker | receives from that peer a BGP NOTIFICATION message other than a Hard | |||
mentioned in Section 4.1. The BGP speaker generating the BGP | Reset, it MUST follow the rules for the Receiving Speaker mentioned | |||
NOTIFICATION message MUST also follow the rules for the Receiving | in Section 4.1. The BGP speaker generating the BGP NOTIFICATION | |||
Speaker. | message MUST also follow the rules for the Receiving Speaker. | |||
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 generate the relevant BGP NOTIFICATION message as mentioned in | should generate the relevant BGP NOTIFICATION message as mentioned in | |||
[RFC4271], but subsequently it MUST follow the rules for the | [RFC4271], but subsequently it MUST follow the rules for the | |||
Receiving Speaker mentioned in Section 4.1. | Receiving Speaker mentioned in Section 4.1. | |||
A BGP speaker SHOULD NOT send a Hard Reset to a peer from which it | ||||
has not received the "N" bit. We note, however, that if it did so | ||||
the effect would be as desired in any case, since according to | ||||
[RFC4271] and [RFC4724] any NOTIFICATION message, whether recognized | ||||
or not, results in a session reset. Thus the only negative effect to | ||||
be expected from sending the Hard Reset to a peer that hasn't | ||||
advertised compliance to this specification would be that the peer | ||||
would be unable to properly log the associated information. | ||||
Once the session is re-established, both BGP speakers SHOULD set | Once the session is re-established, both BGP speakers SHOULD set | |||
their "Forwarding State" bit to 1. If the "Forwarding State" bit is | their "Forwarding State" bit to 1. If the "Forwarding State" bit is | |||
not set, then according to the procedures of [RFC4724] S. 4.2, the | not set, then according to the procedures of [RFC4724] S. 4.2, the | |||
relevant routes will be flushed, defeating the goals of this | relevant routes will be flushed, defeating the goals of this | |||
specification. | specification. | |||
4.1. Rules for the Receiving Speaker | 4.1. Rules for the Receiving Speaker | |||
[RFC4724] S. 4.2 defines rules for the Receiving Speaker. These are | [RFC4724] S. 4.2 defines rules for the Receiving Speaker. These are | |||
modified as follows. | modified as follows. | |||
skipping to change at page 6, line 15 | skipping to change at page 6, line 14 | |||
in the newly received Graceful Restart Capability, no new actions are | in the newly received Graceful Restart Capability, no new actions are | |||
triggered on the Receiving Speaker -- in particular, a clear "N" bit | triggered on the Receiving Speaker -- in particular, a clear "N" bit | |||
does not trigger deletion of stale routes. | does not trigger deletion of stale routes. | |||
Other than these modifications, the rules for the Receiving Speaker | Other than these modifications, the rules for the Receiving Speaker | |||
are as specified in [RFC4724] S. 4.2. | are as specified in [RFC4724] S. 4.2. | |||
5. Acknowledgements | 5. Acknowledgements | |||
The authors would like to thank Jim Uttaro for the suggestion, and | The authors would like to thank Jim Uttaro for the suggestion, and | |||
Chris Hall, Paul Mattes and Robert Raszuk for the review and | Bruno Decraene, Chris Hall, Paul Mattes and Robert Raszuk for their | |||
comments. | review and comments. | |||
6. IANA Considerations | 6. IANA Considerations | |||
IANA is requested to assign a new subcode in the "BGP Cease | IANA is requested to assign a new subcode in the "BGP Cease | |||
NOTIFICATION message subcodes" registry. The suggested name for the | NOTIFICATION message subcodes" registry. The suggested name for the | |||
code point is "Hard Reset". The suggested value is 9. | code point is "Hard Reset". The suggested value is 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. Normative References | 8. 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, | |||
DOI 10.17487/RFC2119, March 1997, | ||||
[RFC3392] Chandra, R. and J. Scudder, "Capabilities Advertisement | <http://www.rfc-editor.org/info/rfc2119>. | |||
with BGP-4", RFC 3392, November 2002. | ||||
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
Protocol 4 (BGP-4)", RFC 4271, January 2006. | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
DOI 10.17487/RFC4271, January 2006, | ||||
<http://www.rfc-editor.org/info/rfc4271>. | ||||
[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, DOI 10.17487/RFC4486, | |||
April 2006, <http://www.rfc-editor.org/info/rfc4486>. | ||||
[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. | DOI 10.17487/RFC4724, January 2007, | |||
<http://www.rfc-editor.org/info/rfc4724>. | ||||
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 | |||
End of changes. 19 change blocks. | ||||
44 lines changed or deleted | 48 lines changed or added | |||
This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |