idnits 2.17.1 draft-ietf-idr-bgp4-cap-neg-00.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): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-26) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents 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. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** 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? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 3 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 IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** The abstract seems to contain references ([BGP-4]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. 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) -- Possible downref: Non-RFC (?) normative reference: ref. 'BGP-4' Summary: 10 errors (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Ravi Chandra 3 Internet Draft Cisco Systems 4 Expiration Date: February 1998 John G. Scudder 5 Internet Engineering Group, LLC 7 Capabilities Negotiation with BGP-4 9 draft-ietf-idr-bgp4-cap-neg-00.txt 11 1. Status of this Memo 13 This document is an Internet-Draft. Internet-Drafts are working 14 documents of the Internet Engineering Task Force (IETF), its areas, 15 and its working groups. Note that other groups may also distribute 16 working documents as Internet-Drafts. 18 Internet-Drafts are draft documents valid for a maximum of six months 19 and may be updated, replaced, or obsoleted by other documents at any 20 time. It is inappropriate to use Internet-Drafts as reference 21 material or to cite them other than as ``work in progress.'' 23 To learn the current status of any Internet-Draft, please check the 24 ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow 25 Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), 26 munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or 27 ftp.isi.edu (US West Coast). 29 2. Abstract 31 Currently BGP-4 [BGP-4] requires that when a BGP speaker receives an 32 OPEN message with one or more unrecognized Optional Parameters, the 33 speaker must terminate BGP peering. This complicates introduction of 34 new capabilities in BGP. 36 This document defines new Optional Parameter, called Capabilities, 37 that is expected to facilitate introduction of new capabilities in 38 BGP by providing graceful capability negotiation. 40 The proposed parameter is backward compatible - a router that 41 supports the parameter can maintain BGP peering with a router that 42 doesn't support the parameter. 44 3. Overview of Operations 46 When a BGP speaker that supports capabilities negotiation sends an 47 OPEN message to its BGP peer, the message includes an Optional 48 Parameter, called Capabilities. The parameter lists the capabilities 49 supported by the speaker. The speaker can mark a listed capability as 50 "Required", which means that if the peer doesn't recognize/support 51 the capability, the BGP peering shall be terminated. 53 When the peer receives the OPEN message, if the message contains the 54 Capabilities Optional Parameter, the peer checks whether it supports 55 all of the listed capabilities marked as R, and if not, sends a 56 NOTIFICATION message, and terminates peering. The Error Subcode in 57 the message is set to Unsupported Capability. The message should 58 contain all the capabilities marked as R that are not supported by 59 the peer. If the peer doesn't support a capability that is not 60 marked as R, the peer should not use this as a reason to terminate 61 peering. 63 A BGP speaker may use a particular capability when peering with 64 another speaker if both speakers support that capability. A BGP 65 speaker determines the capabilities supported by its peer by 66 examining the list of capabilities present in the Capabilities 67 Optional Parameter carried by the OPEN message that the peer sends to 68 the speaker. 70 A BGP speaker determines that its peer doesn't support capabilities 71 negotiation, if in response to an OPEN message that carries the 72 Capabilities Optional Parameter, the speaker receives a NOTIFICATION 73 message with the Error Subcode set to Unsupported Optional Parameter. 75 4. Capabilities Optional Parameter (Parameter Type 2): 77 This is an Optional Parameter that is used by a BGP speaker to convey 78 to its BGP peer the list of capabilities supported by the speaker. 80 The parameter contains one or more triples , where each triple is encoded as 82 shown below: 84 +------------------------------+ 85 | Capability Code (1 octet) | 86 +------------------------------+ 87 | Capability Length (1 octet) | 88 +------------------------------+ 89 | Capability Value (variable) | 90 +------------------------------+ 92 The use and meaning of these fields are as follows: 94 Capability Code: 96 Capability Code is a one octet field that unambiguously 97 identifies individual capabilities. 99 The high-order bit of this field is used to mark the capability 100 as "Required" (if the bit is set to 1). 102 Capability Length: 104 Capability Length is a one octet field that contains the length 105 of the Capability Value field in octets. 107 Capability Value: 109 Capability Value is a variable length field that is interpreted 110 according to the value of the Capability Code field. 112 5. Extensions to Error Handling 114 This document defines new Error Subcode - Unsupported Capability. 115 The value of this Subcode is 7. The Data field in the NOTIFICATION 116 message lists the set of capabilities that are marked as Required, 117 but are either unsupported or unrecognized by the BGP speaker that 118 sends the message. Each such capability is encoded the same way as it 119 was encoded in the received OPEN message. 121 6. Security Considerations 123 Security issues are not discussed in this document. 125 7. Acknowledgements 127 To be supplied. 129 8. References 131 [BGP-4] 133 9. Author Information 135 Ravi Chandra 136 Cisco Systems, Inc. 137 170 West Tasman Drive 138 San Jose, CA 95134 139 e-mail: rchandra@cisco.com 141 John G. Scudder 142 Internet Engineering Group, LLC 143 122 S. Main, Suite 280 144 Ann Arbor, MI 48104 145 e-mail: jgs@ieng.com