idnits 2.17.1 draft-ietf-idr-rfc2842bis-01.txt: ** The Abstract section seems to be numbered Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 4 longer pages, the longest (page 2) being 61 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 1771 (ref. 'BGP-4') (Obsoleted by RFC 4271) ** Obsolete normative reference: RFC 2385 (ref. 'Heffernan') (Obsoleted by RFC 5925) Summary: 7 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Ravi Chandra 3 Internet Draft Redback Networks 4 Expiration Date: October 2002 John G. Scudder 5 cisco Systems 6 Capabilities Advertisement with BGP-4 8 draft-ietf-idr-rfc2842bis-01.txt 10 1. Status of this Memo 12 This document is an Internet-Draft and is in full conformance with 13 all provisions of Section 10 of RFC2026. 15 Internet-Drafts are working documents of the Internet Engineering 16 Task Force (IETF), its areas, and its working groups. Note that 17 other groups may also distribute working documents as Internet- 18 Drafts. 20 Internet-Drafts are draft documents valid for a maximum of six months 21 and may be updated, replaced, or obsoleted by other documents at any 22 time. It is inappropriate to use Internet-Drafts as reference 23 material or to cite them other than as ``work in progress.'' 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 31 2. Abstract 33 Currently BGP-4 requires that when a BGP speaker receives an OPEN 34 message with one or more unrecognized Optional Parameters, the 35 speaker must terminate BGP peering. This complicates introduction of 36 new capabilities in BGP. 38 This document defines new Optional Parameter, called Capabilities, 39 that is expected to facilitate introduction of new capabilities in 40 BGP by providing graceful capability advertisement without requiring 41 that BGP peering be terminated. 43 3. Specification of Requirements 45 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 46 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 47 document are to be interpreted as described in RFC 2119 [RFC2119]. 49 4. Overview of Operations 51 When a BGP speaker [BGP-4] that supports capabilities advertisement 52 sends an OPEN message to its BGP peer, the message MAY include an 53 Optional Parameter, called Capabilities. The parameter lists the 54 capabilities supported by the speaker. 56 A BGP speaker determines the capabilities supported by its peer by 57 examining the list of capabilities present in the Capabilities 58 Optional Parameter carried by the OPEN message that the speaker 59 receives from the peer. 61 A BGP speaker that supports a particular capability may use this 62 capability with its peer after the speaker determines (as described 63 above) that the peer supports this capability. 65 A BGP speaker determines that its peer doesn't support capabilities 66 advertisement, if in response to an OPEN message that carries the 67 Capabilities Optional Parameter, the speaker receives a NOTIFICATION 68 message with the Error Subcode set to Unsupported Optional Parameter. 69 In this case the speaker SHOULD attempt to re-establish a BGP 70 connection with the peer without sending to the peer the Capabilities 71 Optional Parameter. 73 If a BGP speaker that supports a certain capability determines that 74 its peer doesn't support this capability, the speaker MAY send a 75 NOTIFICATION message to the peer, and terminate peering (see Section 76 "Extensions to Error Handling" for more details). The Error Subcode 77 in the message is set to Unsupported Capability. The message SHOULD 78 contain the capability (capabilities) that causes the speaker to send 79 the message. The decision to send the message and terminate peering 80 is local to the speaker. If terminated, such peering SHOULD NOT be 81 re-established automatically. 83 5. Capabilities Optional Parameter (Parameter Type 2): 85 This is an Optional Parameter that is used by a BGP speaker to convey 86 to its BGP peer the list of capabilities supported by the speaker. 88 The parameter contains one or more triples , where each triple is encoded as 90 shown below: 92 +------------------------------+ 93 | Capability Code (1 octet) | 94 +------------------------------+ 95 | Capability Length (1 octet) | 96 +------------------------------+ 97 | Capability Value (variable) | 98 +------------------------------+ 100 The use and meaning of these fields are as follows: 102 Capability Code: 104 Capability Code is a one octet field that unambiguously 105 identifies individual capabilities. 107 Capability Length: 109 Capability Length is a one octet field that contains the length 110 of the Capability Value field in octets. 112 Capability Value: 114 Capability Value is a variable length field that is interpreted 115 according to the value of the Capability Code field. 117 BGP speakers SHOULD NOT include more than one instance of a 118 capability with the same Capability Code, Capability Length, and 119 Capability Value. Note however, that processing of multiple 120 instances of such capability does not require special handling, as 121 additional instances do not change the meaning of announced 122 capability. 124 BGP speakers MAY include more than one instance of a capability (as 125 identified by the Capability Code) with non-zero Capability Length 126 field, but with different Capability Value, and either the same or 127 different Capability Length. Processing of these capability 128 instances is specific to the Capability Code and MUST be described in 129 the document introducing the new capability. 131 6. Extensions to Error Handling 133 This document defines new Error Subcode - Unsupported Capability. 134 The value of this Subcode is 7. The Data field in the NOTIFICATION 135 message SHOULD list the set of capabilities that cause the speaker to 136 send the message. Each such capability is encoded the same way as it 137 would be encoded in the OPEN message. 139 7. IANA Considerations 141 This document defines a Capability Optional Parameter along with an 142 Capability Code field. IANA is expected to create and maintain the 143 registry for Capability Code values. Capability Code value 0 is 144 reserved. Capability Code values 1 through 63 are to be assigned by 145 IANA using the "IETF Consensus" policy defined in RFC2434. Capability 146 Code values 64 through 127 are to be assigned by IANA, using the 147 "First Come First Served" policy defined in RFC2434. Capability Code 148 values 128 through 255 are for "Private Use" as defined in RFC2434. 150 8. Security Considerations 152 This extension to BGP does not change the underlying security issues 153 inherent in the existing BGP [Heffernan]. 155 9. Acknowledgements 157 The authors would like to thank members of the IDR Working Group for 158 their review and comments. 160 10. References 162 [BGP-4] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4 163 (BGP-4)", RFC 1771, March 1995. 165 [Heffernan] Heffernan, A., "Protection of BGP Sessions via the TCP 166 MD5 Signature Option", RFC2385, August 1998. 168 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 169 Requirement Levels", BCP 14, RFC 2119, March 1997. 171 11. Author Information 173 Ravi Chandra 174 Redback Networks Inc. 175 350, Holger Way 176 San Jose, CA 95134 178 EMail: rchandra@redback.com 180 John G. Scudder 181 Cisco Systems, Inc. 182 170 West Tasman Drive 183 San Jose, CA 95134 184 e-mail: jgs@cisco.com