draft-ietf-idr-rfc2842bis-00.txt   draft-ietf-idr-rfc2842bis-01.txt 
Network Working Group Ravi Chandra Network Working Group Ravi Chandra
Internet Draft Redback Networks Internet Draft Redback Networks
Expiration Date: August 2002 John G. Scudder Expiration Date: October 2002 John G. Scudder
cisco Systems cisco Systems
Capabilities Advertisement with BGP-4 Capabilities Advertisement with BGP-4
draft-ietf-idr-rfc2842bis-00.txt draft-ietf-idr-rfc2842bis-01.txt
1. Status of this Memo 1. Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
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 34 skipping to change at page 1, line 34
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/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
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.
2. Abstract 2. Abstract
Currently BGP-4 [BGP-4] requires that when a BGP speaker receives an Currently BGP-4 requires that when a BGP speaker receives an OPEN
OPEN message with one or more unrecognized Optional Parameters, the message with one or more unrecognized Optional Parameters, the
speaker must terminate BGP peering. This complicates introduction of speaker must terminate BGP peering. This complicates introduction of
new capabilities in BGP. new capabilities in BGP.
This document defines new Optional Parameter, called Capabilities, This document defines new Optional Parameter, called Capabilities,
that is expected to facilitate introduction of new capabilities in that is expected to facilitate introduction of new capabilities in
BGP by providing graceful capability advertisement without requiring BGP by providing graceful capability advertisement without requiring
that BGP peering be terminated. that BGP peering be terminated.
3. Overview of Operations 3. Specification of Requirements
When a BGP speaker that supports capabilities advertisement sends an The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
OPEN message to its BGP peer, the message may include an Optional "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
Parameter, called Capabilities. The parameter lists the capabilities document are to be interpreted as described in RFC 2119 [RFC2119].
supported by the speaker.
4. Overview of Operations
When a BGP speaker [BGP-4] that supports capabilities advertisement
sends an OPEN message to its BGP peer, the message MAY include an
Optional Parameter, called Capabilities. The parameter lists the
capabilities supported by the speaker.
A BGP speaker determines the capabilities supported by its peer by A BGP speaker determines the capabilities supported by its peer by
examining the list of capabilities present in the Capabilities examining the list of capabilities present in the Capabilities
Optional Parameter carried by the OPEN message that the speaker Optional Parameter carried by the OPEN message that the speaker
receives from the peer. receives from the peer.
A BGP speaker that supports a particular capability may use this A BGP speaker that supports a particular capability may use this
capability with its peer after the speaker determines (as described capability with its peer after the speaker determines (as described
above) that the peer supports this capability. above) that the peer supports this capability.
A BGP speaker determines that its peer doesn't support capabilities A BGP speaker determines that its peer doesn't support capabilities
advertisement, if in response to an OPEN message that carries the advertisement, if in response to an OPEN message that carries the
Capabilities Optional Parameter, the speaker receives a NOTIFICATION Capabilities Optional Parameter, the speaker receives a NOTIFICATION
message with the Error Subcode set to Unsupported Optional Parameter. message with the Error Subcode set to Unsupported Optional Parameter.
In this case the speaker should attempt to re-establish a BGP In this case the speaker SHOULD attempt to re-establish a BGP
connection with the peer without sending to the peer the Capabilities connection with the peer without sending to the peer the Capabilities
Optional Parameter. Optional Parameter.
If a BGP speaker that supports a certain capability determines that If a BGP speaker that supports a certain capability determines that
its peer doesn't support this capability, the speaker may send a its peer doesn't support this capability, the speaker MAY send a
NOTIFICATION message to the peer, and terminate peering. The Error NOTIFICATION message to the peer, and terminate peering (see Section
Subcode in the message is set to Unsupported Capability. The message "Extensions to Error Handling" for more details). The Error Subcode
should contain the capability (capabilities) that causes the speaker in the message is set to Unsupported Capability. The message SHOULD
to send the message. The decision to send the message and terminate contain the capability (capabilities) that causes the speaker to send
peering is local to the speaker. Such peering should not be re- the message. The decision to send the message and terminate peering
established automatically. is local to the speaker. If terminated, such peering SHOULD NOT be
re-established automatically.
4. Capabilities Optional Parameter (Parameter Type 2): 5. Capabilities Optional Parameter (Parameter Type 2):
This is an Optional Parameter that is used by a BGP speaker to convey This is an Optional Parameter that is used by a BGP speaker to convey
to its BGP peer the list of capabilities supported by the speaker. to its BGP peer the list of capabilities supported by the speaker.
The parameter contains one or more triples <Capability Code, The parameter contains one or more triples <Capability Code,
Capability Length, Capability Value>, where each triple is encoded as Capability Length, Capability Value>, where each triple is encoded as
shown below: shown below:
+------------------------------+ +------------------------------+
| Capability Code (1 octet) | | Capability Code (1 octet) |
skipping to change at page 3, line 30 skipping to change at page 3, line 39
Capability Length: Capability Length:
Capability Length is a one octet field that contains the length Capability Length is a one octet field that contains the length
of the Capability Value field in octets. of the Capability Value field in octets.
Capability Value: Capability Value:
Capability Value is a variable length field that is interpreted Capability Value is a variable length field that is interpreted
according to the value of the Capability Code field. according to the value of the Capability Code field.
A particular capability, as identified by its Capability Code, may BGP speakers SHOULD NOT include more than one instance of a
occur more than once within the Optional Parameter. capability with the same Capability Code, Capability Length, and
Capability Value. Note however, that processing of multiple
instances of such capability does not require special handling, as
additional instances do not change the meaning of announced
capability.
5. Extensions to Error Handling BGP speakers MAY include more than one instance of a capability (as
identified by the Capability Code) with non-zero Capability Length
field, but with different Capability Value, and either the same or
different Capability Length. Processing of these capability
instances is specific to the Capability Code and MUST be described in
the document introducing the new capability.
6. Extensions to Error Handling
This document defines new Error Subcode - Unsupported Capability. This document defines new Error Subcode - Unsupported Capability.
The value of this Subcode is 7. The Data field in the NOTIFICATION The value of this Subcode is 7. The Data field in the NOTIFICATION
message SHOULD list the set of capabilities that cause the speaker to message SHOULD list the set of capabilities that cause the speaker to
send the message. Each such capability is encoded the same way as it send the message. Each such capability is encoded the same way as it
was encoded in the received OPEN message. would be encoded in the OPEN message.
6. IANA Considerations 7. IANA Considerations
Section 4 defines a Capability Optional Parameter along with an This document defines a Capability Optional Parameter along with an
Capability Code field. IANA is expected to create and maintain the Capability Code field. IANA is expected to create and maintain the
registry for Capability Code values. Capability Code value 0 is registry for Capability Code values. Capability Code value 0 is
reserved. Capability Code values 1 through 63 are to be assigned by reserved. Capability Code values 1 through 63 are to be assigned by
IANA using the "IETF Consensus" policy defined in RFC2434. Capability IANA using the "IETF Consensus" policy defined in RFC2434. Capability
Code values 64 through 127 are to be assigned by IANA, using the Code values 64 through 127 are to be assigned by IANA, using the
"First Come First Served" policy defined in RFC2434. Capability Code "First Come First Served" policy defined in RFC2434. Capability Code
values 128 through 255 are for "Private Use" as defined in RFC2434. values 128 through 255 are for "Private Use" as defined in RFC2434.
7. Security Considerations 8. 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 BGP [Heffernan]. inherent in the existing BGP [Heffernan].
8. Acknowledgements 9. Acknowledgements
The authors would like to thank members of the IDR Working Group for The authors would like to thank members of the IDR Working Group for
their review and comments. their review and comments.
9. References 10. References
[BGP-4] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4 [BGP-4] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4
(BGP-4)", RFC 1771, March 1995. (BGP-4)", RFC 1771, March 1995.
[Heffernan] Heffernan, A., "Protection of BGP Sessions via the TCP [Heffernan] Heffernan, A., "Protection of BGP Sessions via the TCP
MD5 Signature Option", RFC2385, August 1998. MD5 Signature Option", RFC2385, August 1998.
10. Author Information [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
11. Author Information
Ravi Chandra Ravi Chandra
Redback Networks Inc. Redback Networks Inc.
350, Holger Way 350, Holger Way
San Jose, CA 95134 San Jose, CA 95134
EMail: rchandra@redback.com EMail: rchandra@redback.com
John G. Scudder John G. Scudder
Cisco Systems, Inc. Cisco Systems, Inc.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/