draft-ietf-idr-dynamic-cap-10.txt   draft-ietf-idr-dynamic-cap-11.txt 
Network Working Group E. Chen Network Working Group E. Chen
Internet Draft S. Sangli Internet Draft S. Sangli
Expiration Date: July 16, 2010 Cisco Systems Expiration Date: October 13, 2010 Cisco Systems
January 15, 2010 April 12, 2010
Dynamic Capability for BGP-4 Dynamic Capability for BGP-4
draft-ietf-idr-dynamic-cap-10.txt draft-ietf-idr-dynamic-cap-11.txt
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF 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), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 32 skipping to change at page 1, line 32
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."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on July 16, 2010. This Internet-Draft will expire on October 13, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 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 in effect on the date of Provisions Relating to IETF Documents
publication of this document (http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Abstract Abstract
This document defines a new BGP capability termed "Dynamic This document defines a new BGP capability termed "Dynamic
Capability", which would allow the dynamic update of capabilities Capability", which would allow the dynamic update of capabilities
over an established BGP session. This capability would facilitate over an established BGP session. This capability would facilitate
non-disruptive capability changes by BGP speakers. non-disruptive capability changes by BGP speakers.
1. Introduction 1. Introduction
skipping to change at page 4, line 42 skipping to change at page 3, line 49
The Action bit is 0 for advertising a capability, and 1 for removing The Action bit is 0 for advertising a capability, and 1 for removing
a capability. a capability.
The Sequence Number field can be used by a BGP speaker to match an The Sequence Number field can be used by a BGP speaker to match an
acknowledgment with a capability revision that the speaker initiated acknowledgment with a capability revision that the speaker initiated
previously. previously.
Conceptually the triple <Capability Code, Capability Length, Conceptually the triple <Capability Code, Capability Length,
Capability Value> is the same as the one defined in [RFC5492], and it Capability Value> is the same as the one defined in [RFC5492], and it
specifies a capability for which the "Action" shall be applied. The specifies a capability for which the "Action" shall be applied.
triple is optional when the Init/Ack bit is set to 1.
4. Operation 4. Operation
A BGP speaker that is willing to receive the CAPABILITY message (for A BGP speaker that is willing to receive the CAPABILITY message (for
one or more capability codes) from its peer SHOULD use the BGP one or more capability codes) from its peer SHOULD use the BGP
Capabilities Advertisement [RFC5492] to advertise the Dynamic Capabilities Advertisement [RFC5492] to advertise the Dynamic
Capability for these capability codes. Capability for these capability codes.
A BGP speaker MAY send to its peer a CAPABILITY message to initiate A BGP speaker MAY send to its peer a CAPABILITY message to initiate
revisions for one or more capability codes only if these capability revisions for one or more capability codes only if these capability
skipping to change at page 6, line 5 skipping to change at page 5, line 5
If the Init/Ack bit is set to 0 for a capability revision in a If the Init/Ack bit is set to 0 for a capability revision in a
CAPABILITY message received by a BGP speaker, then the BGP speaker CAPABILITY message received by a BGP speaker, then the BGP speaker
SHOULD first validate the capability code in the message. If the SHOULD first validate the capability code in the message. If the
capability code is not listed in the Dynamic Capability advertised by capability code is not listed in the Dynamic Capability advertised by
the speaker to the peer, the BGP speaker SHOULD send a NOTIFICATION the speaker to the peer, the BGP speaker SHOULD send a NOTIFICATION
message as specified in the Error Handling section. For a valid message as specified in the Error Handling section. For a valid
capability code, if the Ack Request bit is set to 1, the BGP speaker capability code, if the Ack Request bit is set to 1, the BGP speaker
MUST first send a CAPABILITY message to acknowledge the receipt of MUST first send a CAPABILITY message to acknowledge the receipt of
the capability revision. The Init/Ack bit in the acknowledgment MUST the capability revision. The Init/Ack bit in the acknowledgment MUST
be set to 1, and all the other fields in the capability revision MUST be set to 1, and all the other fields in the capability revision MUST
be kept unchanged except that the triple <Capability Code, Capability be kept unchanged.
Length, Capability Value> MAY be optionally excluded.
After receiving a capability revision initiated by a peer, the BGP After receiving a capability revision initiated by a peer, the BGP
speaker SHALL update the capability previously received from that speaker SHALL update the capability previously received from that
peer based on the Action bit in the message, and then function in peer based on the Action bit in the message, and then function in
accordance with the revised capability for the peer. The procedures accordance with the revised capability for the peer. The BGP speaker
specified in the "Error Handling" section SHOULD be followed when an SHALL ignore such a capbility revision that either results in no
error is detected in processing the CAPABILITY message. change to an existing capability, or removes a capability that was
not advertised previously. The procedures specified in the "Error
Handling" section SHOULD be followed when an error is detected in
processing the CAPABILITY message.
In order to avoid ambiguities in sending and processing UPDATE In order to avoid ambiguities in sending and processing UPDATE
messages, certain capability revisions may require close coordination messages, certain capability revisions may require close coordination
between the BGP speaker (the Initiator) that initiates the capability between the BGP speaker (the Initiator) that initiates the capability
revisions and another BGP speaker (the Receiver) that receives the revisions and another BGP speaker (the Receiver) that receives the
capability revisions. The mechanism of acknowledgment defined in capability revisions. The mechanism of acknowledgment defined in
this document SHALL be used for the revision of such a capability. this document SHALL be used for the revision of such a capability.
For the Initiator, the capability revision SHALL take effect (for For the Initiator, the capability revision SHALL take effect (for
sending updates) immediately after the capability revision is sent, sending updates) immediately after the capability revision is sent,
and the capability revision SHALL take effect (for receiving updates) and the capability revision SHALL take effect (for receiving updates)
skipping to change at page 7, line 34 skipping to change at page 6, line 36
capability codes advertised in the Dynamic Capability by the speaker, capability codes advertised in the Dynamic Capability by the speaker,
then the error subcode is set to Unsupported Capability Code. then the error subcode is set to Unsupported Capability Code.
6. IANA Considerations 6. IANA Considerations
This document defines the CAPABILITY message type for BGP with type This document defines the CAPABILITY message type for BGP with type
code 6, and a NOTIFICATION error code and subcodes for the errors in code 6, and a NOTIFICATION error code and subcodes for the errors in
a CAPABILITY message. a CAPABILITY message.
This document uses a BGP capability code to indicate that a BGP This document uses a BGP capability code to indicate that a BGP
speaker supports the Dynamic Capability. The capability code needs speaker supports the Dynamic Capability. The capability code 67 has
to be assigned by IANA per RFC 2842. been assigned by IANA.
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.
8. Acknowledgments 8. Acknowledgments
The authors would like to thank Yakov Rekhter, Ravi Chandra, Dino The authors would like to thank Yakov Rekhter, Ravi Chandra, Dino
Farinacci, Pedro Marques, Chandrashekhar Appanna, Derek Yeung, Bruno Farinacci, Pedro Marques, Chandrashekhar Appanna, Derek Yeung, Bruno
Rijsman and John Scudder for their review and comments. Rijsman, John Scudder and Jeffrey Haas for their review and comments.
9. Normative References 9. Normative References
[RFC4271] Rekhter, Y., T. Li, and S. Hares, "A Border Gateway [RFC4271] Rekhter, Y., T. Li, and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)," RFC 4271, January 2006. Protocol 4 (BGP-4)," RFC 4271, January 2006.
[RFC4760] Bates, T., Chandra, R., Rekhter, Y., and D. Katz, [RFC4760] Bates, T., Chandra, R., Rekhter, Y., and D. Katz,
"Multiprotocol Extensions for BGP-4", RFC 4760, January 2007. "Multiprotocol Extensions for BGP-4", RFC 4760, January 2007.
[RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement [RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement
 End of changes. 10 change blocks. 
19 lines changed or deleted 24 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/