<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-idr-capabilities-registry-change-09" indexInclude="true" ipr="trust200902" number="8810" prepTime="2020-08-17T16:59:04" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" updates="5492" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-idr-capabilities-registry-change-09" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8810" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Capability Codes Registration Procedures">Revision to Capability Codes Registration Procedures</title>
    <seriesInfo name="RFC" value="8810" stream="IETF"/>
    <author fullname="John Scudder" initials="J." surname="Scudder">
      <organization showOnFrontPage="true">Juniper Networks</organization>
      <address>
        <postal>
          <street>1194 N. Mathilda Ave</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94089</code>
          <country>United States of America</country>
        </postal>
        <email>jgs@juniper.net</email>
      </address>
    </author>
    <date month="08" year="2020"/>
    <area>RTG</area>
    <workgroup>IDR</workgroup>
    <keyword>IDR</keyword>
    <abstract pn="section-abstract">
      <t pn="section-abstract-1">
	This document updates RFC 5492 by making a change to the
	registration procedures for BGP Capability Codes. Specifically, the
	range formerly designated "Private Use" is divided into
	three new ranges: "First Come First Served",
	"Experimental Use", and "Reserved".
</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8810" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t pn="section-boilerplate.2-1">
            Copyright (c) 2020 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-discussion">Discussion</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t pn="section-toc.1-1.6.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t pn="section-1-1">
	The Border Gateway Protocol uses a mechanism called "Capability
	Advertisement" <xref target="RFC5492" format="default" sectionFormat="of" derivedContent="RFC5492"/> to enable BGP peers to 
	tell one another about their optional protocol extensions. These
	so-called "Capabilities" are signaled using code points called
	"Capability Codes".
</t>
      <t pn="section-1-2">
	<xref target="RFC5492" format="default" sectionFormat="of" derivedContent="RFC5492"/> designates the range of Capability Codes
	128-255 as "Private Use". Subsequent experience has
	shown this to be not only useless, but actively confusing to
	implementors.</t>
      <t pn="section-1-3">
	Accordingly, this document revises the registration procedures for
	the range 128-255, as follows, using the terminology defined in <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>:</t>
      <dl newline="false" spacing="compact" indent="10" pn="section-1-4">
        <dt pn="section-1-4.1">128-238:</dt>
        <dd pn="section-1-4.2">First Come First Served</dd>
        <dt pn="section-1-4.3">239-254:</dt>
        <dd pn="section-1-4.4">Experimental Use</dd>
        <dt pn="section-1-4.5">255:</dt>
        <dd pn="section-1-4.6">Reserved</dd>
      </dl>
      <t pn="section-1-5">
	The procedures for the ranges 1-63 and 64-127 are unchanged,
	remaining "IETF Review" and "First Come First Served",
      respectively. The full range for "First Come First Served" is now 64-238.</t>
    </section>
    <section anchor="discussion" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-discussion">Discussion</name>
      <t pn="section-2-1">
	The reason for providing an "Experimental Use" range is to preserve a
	range for use during early development. Although there are few
	practical differences between "Experimental Use" and "Private Use", the
	change both makes it clear that code points from this space should
	not be used long term or in shipping products and reduces the
	consumption of the scarce Capability Codes space expended for this
	purpose. Once classified as "Experimental Use", it should be considered
	difficult to reclassify the space for some other purpose in the
	future.
</t>
      <t pn="section-2-2">
	The reason for reserving the maximum value is that it may be useful
	in the future if extension of the number space is needed.
</t>
      <t pn="section-2-3">
    Since the range 128-255 was formerly designated "Private Use",
    implementors may have chosen to use code points within that range prior to
    publication of this document. For this reason, a survey was conducted
    beginning August 14, 2015 (version 01 of the individual draft <xref target="I-D.scudder-idr-capabilities-registry-change" format="default" sectionFormat="of" derivedContent="SCUDDER"/>) to find any such
    uses. A number were contributed and were used to seed <xref target="new_allocations" format="default" sectionFormat="of" derivedContent="Table 2"/>. Of course, there can be no
    guarantee that all uses were discovered; however, the likelihood seems
    high that remaining uses, if any, genuinely do fall under the intended use
    of "Private Use" and are restricted to some special deployment and are not
    in wide use. Furthermore, any remaining uses would be no worse than any
    other code point collision, such as occasionally occurs with code point
    "squatting", and could be dealt with in the same manner.
</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t pn="section-3-1">
	IANA has revised the "Capability Codes" registry as follows.
</t>
      <t pn="section-3-2">
	Reference: <xref target="RFC5492" format="default" sectionFormat="of" derivedContent="RFC5492"/> and this document.
</t>
      <t pn="section-3-3">Note: The IETF will be the Change Controller for all future registrations.
</t>
      <t pn="section-3-4">
	Registration procedures:
</t>
      <table anchor="registration_procedures" align="center" pn="table-1">
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Range</th>
            <th align="left" colspan="1" rowspan="1">Registration Procedures</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">1-63</td>
            <td align="left" colspan="1" rowspan="1">IETF Review</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">64-238</td>
            <td align="left" colspan="1" rowspan="1">First Come First Served</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">239-254</td>
            <td align="left" colspan="1" rowspan="1">Experimental Use</td>
          </tr>
        </tbody>
      </table>
      <t pn="section-3-6">
	IANA has made the following new allocations within the
	"Capability Codes" registry:
</t>
      <table anchor="new_allocations" align="center" pn="table-2">
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Value</th>
            <th align="left" colspan="1" rowspan="1">Description</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
            <th align="left" colspan="1" rowspan="1">Change Controller</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">128</td>
            <td align="left" colspan="1" rowspan="1">Prestandard Route Refresh (deprecated)</td>
            <td align="left" colspan="1" rowspan="1">RFC 8810</td>
            <td align="left" colspan="1" rowspan="1">IETF</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">129</td>
            <td align="left" colspan="1" rowspan="1">Prestandard Outbound Route Filtering (deprecated),
       prestandard Routing Policy Distribution (deprecated)</td>
            <td align="left" colspan="1" rowspan="1">RFC 8810</td>
            <td align="left" colspan="1" rowspan="1">IETF</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">130</td>
            <td align="left" colspan="1" rowspan="1">Prestandard Outbound Route Filtering (deprecated)</td>
            <td align="left" colspan="1" rowspan="1">RFC 8810</td>
            <td align="left" colspan="1" rowspan="1">IETF</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">131</td>
            <td align="left" colspan="1" rowspan="1">Prestandard Multisession (deprecated)</td>
            <td align="left" colspan="1" rowspan="1">RFC 8810</td>
            <td align="left" colspan="1" rowspan="1">IETF</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">184</td>
            <td align="left" colspan="1" rowspan="1">Prestandard FQDN (deprecated)</td>
            <td align="left" colspan="1" rowspan="1">RFC 8810</td>
            <td align="left" colspan="1" rowspan="1">IETF</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">185</td>
            <td align="left" colspan="1" rowspan="1">Prestandard OPERATIONAL message (deprecated)</td>
            <td align="left" colspan="1" rowspan="1">RFC 8810</td>
            <td align="left" colspan="1" rowspan="1">IETF</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">255</td>
            <td align="left" colspan="1" rowspan="1">Reserved</td>
            <td align="left" colspan="1" rowspan="1">RFC 8810</td>
            <td align="left" colspan="1" rowspan="1">IETF</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t pn="section-4-1">This revision to registration procedures does not change the
      underlying security issues inherent in the existing <xref target="RFC5492" format="default" sectionFormat="of" derivedContent="RFC5492"/> and <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/>.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.scudder-idr-capabilities-registry-change" to="SCUDDER"/>
    <references pn="section-5">
      <name slugifiedName="name-references">References</name>
      <references pn="section-5.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC5492" target="https://www.rfc-editor.org/info/rfc5492" quoteTitle="true" derivedAnchor="RFC5492">
          <front>
            <title>Capabilities Advertisement with BGP-4</title>
            <author initials="J." surname="Scudder" fullname="J. Scudder">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Chandra" fullname="R. Chandra">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="February"/>
            <abstract>
              <t>This document defines an Optional Parameter, called Capabilities, that is expected to facilitate the introduction of new capabilities in the Border Gateway Protocol (BGP) by providing graceful capability advertisement without requiring that BGP peering be terminated.</t>
              <t>This document obsoletes RFC 3392.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5492"/>
          <seriesInfo name="DOI" value="10.17487/RFC5492"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references pn="section-5.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271" quoteTitle="true" derivedAnchor="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Li" fullname="T. Li" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Hares" fullname="S. Hares" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="January"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems.  This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR).  These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP.  BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="I-D.scudder-idr-capabilities-registry-change" quoteTitle="true" target="https://tools.ietf.org/html/draft-scudder-idr-capabilities-registry-change-01" derivedAnchor="SCUDDER">
          <front>
            <title>Revision to Capability Codes Registration Procedures</title>
            <author initials="J" surname="Scudder" fullname="John Scudder">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="August" day="14" year="2015"/>
            <abstract>
              <t>This document updates RFC 5492 by making a change to the registration procedures for BGP Capability Codes.  Specifically, the range formerly designated "Reserved for Private Use" is divided into three new ranges, respectively designated as "First Come First Served", "Experimental" and "Reserved".</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-scudder-idr-capabilities-registry-change-01"/>
          <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-scudder-idr-capabilities-registry-change-01.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t pn="section-appendix.a-1">
	Thanks to <contact fullname="Alia Atlas"/>, <contact fullname="Bruno  Decraene"/>, <contact fullname="Martin Djernaes"/>, <contact fullname="Jie Dong"/>,
	<contact fullname="Jeff Haas"/>, <contact fullname="Sue Hares"/>,
	<contact fullname="Acee Lindem"/>, <contact fullname="Thomas  Mangin"/>, and <contact fullname="Tom Petch"/> for their
	reviews and comments.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author fullname="John Scudder" initials="J." surname="Scudder">
        <organization showOnFrontPage="true">Juniper Networks</organization>
        <address>
          <postal>
            <street>1194 N. Mathilda Ave</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94089</code>
            <country>United States of America</country>
          </postal>
          <email>jgs@juniper.net</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
