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/