<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-haas-idr-path-attribute-filtering-01" category="std" consensus="true" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Path Attribute Filtering">BGP-4 Path Attribute Filtering Capability</title>

    <author initials="J." surname="Haas" fullname="Jeffrey Haas">
      <organization>HPE</organization>
      <address>
        <postal>
          <street>1133 Innovation Way</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94089</code>
          <country>United States of America</country>
        </postal>
        <email>jhaas@juniper.net</email>
      </address>
    </author>
    <author initials="J." surname="Scudder" fullname="John Scudder">
      <organization>HPE</organization>
      <address>
        <postal>
          <street>1133 Innovation Way</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 year="2025" month="July" day="21"/>

    <area>RTG</area>
    <workgroup>idr</workgroup>
    

    <abstract>


<?line 49?>

<t>Path Attributes in the BGP-4 protocol (RFC 4271) carry data
   associated with BGP routes.  Many of the Path Attributes carried in
   BGP are intended for limited scope deployment.  However, the
   extension mechanism defined by BGP that carries these attributes
   often carries them farther than necessary, sometimes with unfortunate
   results.</t>

<t>This document defines a mechanism using BGP Capabilities (RFC 5492)
   that permits eBGP speakers to determine what Path Attributes should
   be permitted to cross external BGP routing boundaries.</t>



    </abstract>



  </front>

  <middle>


<?line 62?>

<section anchor="intro"><name>Introduction</name>

<t>A BGP Route (Section 1.1 of <xref target="RFC4271"/>) is a tuple consisting of a set
   of Path Attributes (Section 5 of <xref target="RFC4271"/>) and sets of network
   reachability carried as Network Layer Reachability Information
   (NLRI).  Some of these Path Attributes are defined as part of the
   core BGP-4 protocol.  Path Attributes are the main extension
   mechanism defined by BGP, and may be scoped as "transitive" or "non-
   transitive."</t>

<t>Non-Transitive Path Attributes require the BGP speaker to understand
   the attribute in order to determine if it will be locally used and
   perhaps later propagated to additional BGP speakers.  Unrecognized
   non-transitive Path Attributes are discarded by the receiving BGP
   speaker.</t>

<t>Transitive Path Attributes, when not understood by the receiving BGP
   speaker, are required to be propagated to other BGP speakers.</t>

<t>Some Path Attributes defined by BGP extensions are intended to be
   used in limited scopes, such as a single BGP Autonomous System (AS).
   When such attributes are distributed beyond the expected scope, this
   is called an "Attribute Escape" <xref target="I-D.haas-idr-bgp-attribute-escape"/>.</t>

<t>Such attribute escapes may lead to improper BGP protocol behavior
   when received outside of their expected scope, and may lead to
   incorrect forwarding, or be a serious security consideration.</t>

<t>This document defines a mechanism exchanged through BGP Capabilities
   <xref target="RFC5492"/> where BGP speakers can more appropriately scope both Path
   Attributes to prevent escape, and to limit the distribution of routes
   that carry escaped Path Attributes.</t>

<section anchor="req-lang"><name>Specification of Requirements</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
</section>
<section anchor="capability"><name>BGP Path Attribute Filtering Capability</name>

<t>The BGP Path Attribute Filtering Capability is encoded as follows:</t>

<t><list style="symbols">
  <t>Capability Code of (TBD).</t>
  <t>Capability Length of 0..32 octets.</t>
  <t>Capability Value contains a bit-string padded to an octet boundary where a bit is set if this BGP speaker considers the corresponding BGP Path Attribute from the remote BGP speaker to be unwanted.</t>
</list></t>

<figure title="Example encoding for Capability Value" anchor="encoding"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="464" viewBox="0 0 464 400" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,64 L 8,96" fill="none" stroke="black"/>
<path d="M 24,64 L 24,96" fill="none" stroke="black"/>
<path d="M 40,64 L 40,96" fill="none" stroke="black"/>
<path d="M 56,64 L 56,96" fill="none" stroke="black"/>
<path d="M 72,64 L 72,96" fill="none" stroke="black"/>
<path d="M 88,64 L 88,96" fill="none" stroke="black"/>
<path d="M 104,64 L 104,96" fill="none" stroke="black"/>
<path d="M 112,160 L 112,168" fill="none" stroke="black"/>
<path d="M 120,64 L 120,96" fill="none" stroke="black"/>
<path d="M 120,176 L 120,184" fill="none" stroke="black"/>
<path d="M 136,64 L 136,96" fill="none" stroke="black"/>
<path d="M 144,240 L 144,248" fill="none" stroke="black"/>
<path d="M 152,64 L 152,96" fill="none" stroke="black"/>
<path d="M 168,64 L 168,96" fill="none" stroke="black"/>
<path d="M 184,64 L 184,96" fill="none" stroke="black"/>
<path d="M 200,64 L 200,96" fill="none" stroke="black"/>
<path d="M 216,64 L 216,96" fill="none" stroke="black"/>
<path d="M 232,64 L 232,96" fill="none" stroke="black"/>
<path d="M 248,64 L 248,96" fill="none" stroke="black"/>
<path d="M 264,64 L 264,96" fill="none" stroke="black"/>
<path d="M 280,64 L 280,96" fill="none" stroke="black"/>
<path d="M 296,64 L 296,96" fill="none" stroke="black"/>
<path d="M 312,64 L 312,96" fill="none" stroke="black"/>
<path d="M 328,64 L 328,96" fill="none" stroke="black"/>
<path d="M 344,64 L 344,96" fill="none" stroke="black"/>
<path d="M 360,64 L 360,96" fill="none" stroke="black"/>
<path d="M 376,64 L 376,96" fill="none" stroke="black"/>
<path d="M 392,64 L 392,96" fill="none" stroke="black"/>
<path d="M 8,64 L 392,64" fill="none" stroke="black"/>
<path d="M 8,96 L 392,96" fill="none" stroke="black"/>
<g class="text">
<text x="16" y="36">0</text>
<text x="176" y="36">1</text>
<text x="336" y="36">2</text>
<text x="16" y="52">0</text>
<text x="32" y="52">1</text>
<text x="48" y="52">2</text>
<text x="64" y="52">3</text>
<text x="80" y="52">4</text>
<text x="96" y="52">5</text>
<text x="112" y="52">6</text>
<text x="128" y="52">7</text>
<text x="144" y="52">8</text>
<text x="160" y="52">9</text>
<text x="176" y="52">0</text>
<text x="192" y="52">1</text>
<text x="208" y="52">2</text>
<text x="224" y="52">3</text>
<text x="240" y="52">4</text>
<text x="256" y="52">5</text>
<text x="272" y="52">6</text>
<text x="288" y="52">7</text>
<text x="304" y="52">8</text>
<text x="320" y="52">9</text>
<text x="336" y="52">0</text>
<text x="352" y="52">1</text>
<text x="368" y="52">2</text>
<text x="384" y="52">3</text>
<text x="16" y="84">1</text>
<text x="32" y="84">0</text>
<text x="48" y="84">0</text>
<text x="64" y="84">0</text>
<text x="80" y="84">0</text>
<text x="96" y="84">1</text>
<text x="112" y="84">0</text>
<text x="128" y="84">0</text>
<text x="144" y="84">0</text>
<text x="160" y="84">1</text>
<text x="176" y="84">1</text>
<text x="192" y="84">1</text>
<text x="208" y="84">1</text>
<text x="224" y="84">1</text>
<text x="240" y="84">0</text>
<text x="256" y="84">0</text>
<text x="272" y="84">1</text>
<text x="288" y="84">0</text>
<text x="304" y="84">0</text>
<text x="320" y="84">1</text>
<text x="336" y="84">1</text>
<text x="352" y="84">1</text>
<text x="368" y="84">1</text>
<text x="384" y="84">1</text>
<text x="20" y="132">In</text>
<text x="52" y="132">this</text>
<text x="108" y="132">example,</text>
<text x="164" y="132">bits</text>
<text x="200" y="132">are</text>
<text x="240" y="132">clear</text>
<text x="280" y="132">for</text>
<text x="316" y="132">Path</text>
<text x="384" y="132">Attributes:</text>
<text x="52" y="164">Origin</text>
<text x="96" y="164">(1)</text>
<text x="56" y="180">AS_PATH</text>
<text x="104" y="180">(2)</text>
<text x="60" y="196">NEXT_HOP</text>
<text x="116" y="196">(3),</text>
<text x="92" y="212">MULTI_EXIT_DISCR</text>
<text x="180" y="212">(4),</text>
<text x="92" y="228">ATOMIC_AGGREGATE</text>
<text x="180" y="228">(6),</text>
<text x="68" y="244">AGGREGATOR</text>
<text x="128" y="244">(7)</text>
<text x="72" y="260">COMMUNITIES</text>
<text x="140" y="260">(8),</text>
<text x="80" y="276">MP_REACH_NLRI</text>
<text x="160" y="276">(14),</text>
<text x="88" y="292">MP_UNREACH_NLRI</text>
<text x="176" y="292">(15),</text>
<text x="60" y="308">AS4_PATH</text>
<text x="120" y="308">(17),</text>
<text x="84" y="324">AS4_AGGREGATOR</text>
<text x="168" y="324">(18).</text>
<text x="32" y="356">Other</text>
<text x="76" y="356">path</text>
<text x="140" y="356">attributes</text>
<text x="216" y="356">through</text>
<text x="288" y="356">attribute</text>
<text x="340" y="356">23</text>
<text x="368" y="356">are</text>
<text x="424" y="356">unwanted.</text>
<text x="28" y="372">Path</text>
<text x="92" y="372">attributes</text>
<text x="148" y="372">24</text>
<text x="176" y="372">and</text>
<text x="220" y="372">beyond</text>
<text x="264" y="372">are</text>
<text x="320" y="372">accepted.</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
    0                   1                   2
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |1|0|0|0|0|1|0|0|0|1|1|1|1|1|0|0|1|0|0|1|1|1|1|1|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    In this example, bits are clear for Path Attributes:

      Origin (1),
      AS_PATH (2),
      NEXT_HOP (3),
      MULTI_EXIT_DISCR (4),
      ATOMIC_AGGREGATE (6),
      AGGREGATOR (7),
      COMMUNITIES (8),
      MP_REACH_NLRI (14),
      MP_UNREACH_NLRI (15),
      AS4_PATH (17),
      AS4_AGGREGATOR (18).
      
    Other path attributes through attribute 23 are unwanted.
    Path attributes 24 and beyond are accepted.
]]></artwork></artset></figure>

<t>Bits 1, 2, 3, 6, 7, 14, 15, 17, 18 <bcp14>MUST</bcp14> be clear (value 0), because support for
   <xref target="RFC4271"/>, <xref target="RFC4760"/>, and <xref target="RFC6793"/> procedures are required when this
   specification is in use.</t>

<t>Any bit not explicitly represented (e.g., bits 24 and beyond in the above
   example) is deemed to be clear (value 0). That is, the default is to accept
   any path attribute not explicitly unwanted.</t>

</section>
<section anchor="operation"><name>Operation</name>

<t>A clear (value 0) bit in the Path Attribute Filtering capability
   indicates that the BGP speaker advertising it is willing to accept
   the corresponding Path Attribute and will process it according to
   the normal rules of the BGP protocol and the attribute in question.</t>

<t>A set (value 1) bit in the Path Attribute Filtering capability
   indicates that the BGP speaker advertising it is not willing to 
   accept the corresponding Path Attribute. We refer to such Path
   Attributes as "unwanted Path Attributes".</t>

<t>A BGP speaker <bcp14>MUST NOT</bcp14> send an unwanted Path Attribute to its peer.
   (Of course, this expectation will be met only by BGP speakers that
   support this specification; therefore a BGP speaker that implements
   this specification <bcp14>SHOULD</bcp14> be prepared for the possibility it will
   receive unwanted Path Attributes; this is discussed below.)</t>

<t>One strategy to accomplish the above requirement is for the BGP
   speaker to not advertise BGP routes containing the unwanted Path
   Attribute in question.  This might require a withdraw to be sent
   instead.  This is similar to treat-as-withdraw as defined in
   <xref target="RFC7606"/>.</t>

<t>Another strategy that could be used, when appropriate for the
   procedure covering a given BGP Path Attribute, is for the BGP speaker
   to remove the unwanted Path Attributes when it distributes the
   route to the remote BGP speaker.  This is similar to the Attribute
   Discard behavior defined in <xref target="RFC7606"/>.</t>

<t>Receiving BGP speakers <bcp14>SHOULD</bcp14> filter routes or discard unwanted Path
   Attributes if they are incorrectly sent by the remote BGP speaker.
   Minimally, a receiving BGP speaker receiving an unwanted Path
   Attribute <bcp14>SHOULD</bcp14> use treat-as-withdraw procedures. Receiving BGP
   speakers <bcp14>MAY</bcp14> accept the route and discard the unwanted Path Attribute
   if permitted to by local configuration.</t>

</section>
<section anchor="selecting-supported-path-attributes"><name>Selecting supported Path Attributes</name>

<t>Implementations <bcp14>MUST</bcp14>, as described in <xref target="encoding"/>, clear the 
   bits covering required core eBGP Path Attributes.</t>

<t>Common BGP features that are defined for Internet use <bcp14>SHOULD</bcp14> be
   clear by default between two BGP speakers.  These include:</t>

<t><list style="symbols">
  <t>Communities (8)</t>
  <t>Extended Communities (16)</t>
  <t>Large BGP Communities (32)</t>
  <t>BGPsec_Path (33)</t>
  <t>Only To Customer (OTC) (35)</t>
</list></t>

<t>BGP features required to support a given AFI/SAFI <bcp14>MUST</bcp14> also be
   clear when that address family is configured.  An example of this
   is the BGP-LS attribute (29) when the BGP-LS feature is in use.</t>

<!-- Should we say anything about what to do if a contradiction occurs, for example if the BGP-LS afi/safi is advertised by a peer that also advertises attribute 29 as unwanted? -->

</section>
<section anchor="operational-considerations"><name>Operational Considerations</name>

<t>The feature described in this document does not change the semantics of when
   a Path Attribute is intended to be transitive per RFC-4271 definition.
   However, it does act as a policy to limit the distribution of routes
   containing a transitive Path Attribute, or may cause that attribute to be
   filtered.</t>

<t>eBGP speakers using this features must be cognizant of the impact their
   filtering policies will have on the incremental deployment of new BGP
   features.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests a new BGP Capability Code to be allocated from
   the First Come First Served range of the Capability Codes registry.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The motivation for this feature is to attempt to address the numerous
   BGP security implications where BGP Path Attributes propagate beyond
   their intended scope.</t>

<t>The definition of a feature that limits the distribution of BGP Path
   Attributes unfortunately moves BGP's default behavior away from
   "distribute unknown things easily" and thus hampers incremental
   deployment of new features.  However, operators have already begun
   indiscriminate filtering of Path Attributes they do not themselves
   require.  This feature attempts to provide a more flexible negotiated
   mode to permit such filtering while at the same time not completely
   precluding incremental deployment of new features.</t>

</section>
<section anchor="recommendations-for-filtering-path-attributes"><name>Recommendations for Filtering Path Attributes</name>

<t>BGP Path Attributes that are in the table below have a suggested default
filtering behavior.  It is recommended that they should not be filtered by
default.</t>

<t>Is is not recommended that BGP Path Attributes that are deprecated should be
filtered by default.  This permits their long term reassignment and re-use.
Operators with a strong filtering policy may consider filtering these to block
routes from older implementations of these features that may still be deployed.</t>

<texttable>
      <ttcol align='left'>Code Point</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Should Filter By Default</ttcol>
      <c>0</c>
      <c>Reserved</c>
      <c>Yes</c>
      <c>1</c>
      <c>ORIGIN [RFC4271]</c>
      <c>Never</c>
      <c>2</c>
      <c>AS_PATH [RFC4271]</c>
      <c>Never</c>
      <c>3</c>
      <c>NEXT_HOP [RFC4271]</c>
      <c>Never</c>
      <c>4</c>
      <c>MULTI_EXIT_DISC [RFC4271]</c>
      <c>No</c>
      <c>5</c>
      <c>LOCAL_PREF [RFC4271]</c>
      <c>Yes</c>
      <c>6</c>
      <c>ATOMIC_AGGREGATE [RFC4271]</c>
      <c>No</c>
      <c>7</c>
      <c>AGGREGATOR [RFC4271]</c>
      <c>No</c>
      <c>8</c>
      <c>COMMUNITIES [RFC1997]</c>
      <c>No</c>
      <c>9</c>
      <c>ORIGINATOR_ID [RFC4456]</c>
      <c>Yes</c>
      <c>10</c>
      <c>CLUSTER_LIST [RFC4456]</c>
      <c>Yes</c>
      <c>11</c>
      <c>DPA (deprecated) [RFC6938]</c>
      <c>-</c>
      <c>12</c>
      <c>ADVERTISER (historic) (deprecated) [RFC1863][RFC4223][RFC6938]</c>
      <c>-</c>
      <c>13</c>
      <c>RCID_PATH / CLUSTER_ID (Historic) (deprecated) [RFC1863][RFC4223][RFC6938]</c>
      <c>-</c>
      <c>14</c>
      <c>MP_REACH_NLRI [RFC4760]</c>
      <c>Never</c>
      <c>15</c>
      <c>MP_UNREACH_NLRI [RFC4760]</c>
      <c>Never</c>
      <c>16</c>
      <c>EXTENDED COMMUNITIES [Eric_Rosen][draft-ramachandra-bgp-ext-communities-00][RFC4360]</c>
      <c>No</c>
      <c>17</c>
      <c>AS4_PATH [RFC6793]</c>
      <c>Never</c>
      <c>18</c>
      <c>AS4_AGGREGATOR [RFC6793]</c>
      <c>Never</c>
      <c>19</c>
      <c>SAFI Specific Attribute (SSA) (deprecated) [Gargi_Nalawade][draft-kapoor-nalawade-idr-bgp-ssa-00][draft-nalawade-idr-mdt-safi-00][draft-wijnands-mt-discovery-00]</c>
      <c>-</c>
      <c>20</c>
      <c>Connector Attribute (deprecated) [RFC6037]</c>
      <c>-</c>
      <c>21</c>
      <c>AS_PATHLIMIT (deprecated) [draft-ietf-idr-as-pathlimit-02]</c>
      <c>-</c>
      <c>22</c>
      <c>PMSI_TUNNEL [RFC6514]</c>
      <c>Yes</c>
      <c>23</c>
      <c>Tunnel Encapsulation [RFC9012]</c>
      <c>Yes</c>
      <c>24</c>
      <c>Traffic Engineering [RFC5543]</c>
      <c>Yes</c>
      <c>25</c>
      <c>IPv6 Address Specific Extended Community [RFC5701]</c>
      <c>No</c>
      <c>26</c>
      <c>AIGP [RFC7311]</c>
      <c>Yes</c>
      <c>27</c>
      <c>PE Distinguisher Labels [RFC6514]</c>
      <c>Yes</c>
      <c>28</c>
      <c>BGP Entropy Label Capability Attribute (deprecated) [RFC6790][RFC7447]</c>
      <c>-</c>
      <c>29</c>
      <c>BGP-LS Attribute [RFC9552]</c>
      <c>Yes</c>
      <c>30</c>
      <c>Deprecated [RFC8093]</c>
      <c>-</c>
      <c>31</c>
      <c>Deprecated [RFC8093]</c>
      <c>-</c>
      <c>32</c>
      <c>LARGE_COMMUNITY [RFC8092]</c>
      <c>No</c>
      <c>33</c>
      <c>BGPsec_Path [RFC8205]</c>
      <c>Never</c>
      <c>34</c>
      <c>BGP Community Container Attribute (TEMPORARY - registered 2017-07-28, extension registered 2024-08-22, expires 2025-07-28) [draft-ietf-idr-wide-bgp-communities-11]</c>
      <c>No</c>
      <c>35</c>
      <c>Only to Customer (OTC) [RFC9234]</c>
      <c>Never</c>
      <c>36</c>
      <c>BGP Domain Path (D-PATH) (TEMPORARY - registered 2019-07-08, extension registered 2025-06-06, expires 2026-07-08) [draft-ietf-bess-evpn-ipvpn-interworking-10]</c>
      <c>Yes</c>
      <c>37</c>
      <c>SFP attribute [RFC9015]</c>
      <c>Yes</c>
      <c>38</c>
      <c>BFD Discriminator [RFC9026]</c>
      <c>Yes</c>
      <c>39</c>
      <c>BGP Next Hop Dependent Capabilities (NHC) (TEMPORARY - registered 2022-12-20, extension registered 2024-12-10, expires 2025-12-20) [draft-ietf-idr-entropy-label-13]</c>
      <c>Yes</c>
      <c>40</c>
      <c>BGP Prefix-SID [RFC8669]</c>
      <c>Yes</c>
      <c>41</c>
      <c>BIER [RFC9793]</c>
      <c>Yes</c>
      <c>42</c>
      <c>Edge Metadata Path Attribute (TEMPORARY - registered 2025-04-23, expires 2026-04-23) [draft-ietf-idr-5g-edge-service-metadata-27]</c>
      <c>Yes</c>
      <c>128</c>
      <c>ATTR_SET [RFC6368]</c>
      <c>Yes</c>
      <c>129</c>
      <c>Deprecated [RFC8093]</c>
      <c>-</c>
      <c>241</c>
      <c>Deprecated [RFC8093]</c>
      <c>-</c>
      <c>242</c>
      <c>Deprecated [RFC8093]</c>
      <c>-</c>
      <c>243</c>
      <c>Deprecated [RFC8093]</c>
      <c>-</c>
      <c>255</c>
      <c>Reserved for development [RFC2042]</c>
      <c>Yes</c>
</texttable>

</section>
<section numbered="false" anchor="acknowledgements"><name>Acknowledgements</name>

<t>TBD.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC4271">
  <front>
    <title>A Border Gateway Protocol 4 (BGP-4)</title>
    <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
    <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
    <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
    <date month="January" year="2006"/>
    <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="RFC5492">
  <front>
    <title>Capabilities Advertisement with BGP-4</title>
    <author fullname="J. Scudder" initials="J." surname="Scudder"/>
    <author fullname="R. Chandra" initials="R." surname="Chandra"/>
    <date month="February" year="2009"/>
    <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="RFC6793">
  <front>
    <title>BGP Support for Four-Octet Autonomous System (AS) Number Space</title>
    <author fullname="Q. Vohra" initials="Q." surname="Vohra"/>
    <author fullname="E. Chen" initials="E." surname="Chen"/>
    <date month="December" year="2012"/>
    <abstract>
      <t>The Autonomous System number is encoded as a two-octet entity in the base BGP specification. This document describes extensions to BGP to carry the Autonomous System numbers as four-octet entities. This document obsoletes RFC 4893 and updates RFC 4271. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6793"/>
  <seriesInfo name="DOI" value="10.17487/RFC6793"/>
</reference>
<reference anchor="RFC7606">
  <front>
    <title>Revised Error Handling for BGP UPDATE Messages</title>
    <author fullname="E. Chen" initials="E." role="editor" surname="Chen"/>
    <author fullname="J. Scudder" initials="J." role="editor" surname="Scudder"/>
    <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
    <author fullname="K. Patel" initials="K." surname="Patel"/>
    <date month="August" year="2015"/>
    <abstract>
      <t>According to the base BGP specification, a BGP speaker that receives an UPDATE message containing a malformed attribute is required to reset the session over which the offending attribute was received. This behavior is undesirable because a session reset would impact not only routes with the offending attribute but also other valid routes exchanged over the session. This document partially revises the error handling for UPDATE messages and provides guidelines for the authors of documents defining new attributes. Finally, it revises the error handling procedures for a number of existing attributes.</t>
      <t>This document updates error handling for RFCs 1997, 4271, 4360, 4456, 4760, 5543, 5701, and 6368.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7606"/>
  <seriesInfo name="DOI" value="10.17487/RFC7606"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">




<reference anchor="I-D.haas-idr-bgp-attribute-escape">
   <front>
      <title>BGP Attribute Escape</title>
      <author fullname="Jeffrey Haas" initials="J." surname="Haas">
         <organization>Juniper Networks</organization>
      </author>
      <date day="9" month="April" year="2025"/>
      <abstract>
	 <t>   BGP-4 [RFC 4271] has been very successful in being extended over the
   years it has been deployed.  A significant part of that success is
   due to its ability to incrementally add new features to its Path
   Attributes when they are marked &quot;optional transitive&quot;.
   Implementations that are ignorant of a feature for an unknown Path
   Attribute that are so marked will propagate BGP routes with such
   attributes.

   Unfortunately, this blind propagation of unknown Path Attributes may
   happen for features that are intended to be used in a limited scope.
   When such Path Attributes inadvertently are carried beyond that
   scope, it can lead to things such as unintended disclosure of
   sensitive information, or cause improper routing.  In their worst
   cases, such propagation may be for malformed Path Attributes and lead
   to BGP session resets or crashes.

   This document calls such inadvertent propagation of BGP Path
   Attributes, &quot;attribute escape&quot;.  This document further describes some
   of the scenarios that leads to this behavior and makes
   recommendations on practices that may limit its impact.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-haas-idr-bgp-attribute-escape-03"/>
   
</reference>
<reference anchor="RFC4760">
  <front>
    <title>Multiprotocol Extensions for BGP-4</title>
    <author fullname="T. Bates" initials="T." surname="Bates"/>
    <author fullname="R. Chandra" initials="R." surname="Chandra"/>
    <author fullname="D. Katz" initials="D." surname="Katz"/>
    <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
    <date month="January" year="2007"/>
    <abstract>
      <t>This document defines extensions to BGP-4 to enable it to carry routing information for multiple Network Layer protocols (e.g., IPv6, IPX, L3VPN, etc.). The extensions are backward compatible - a router that supports the extensions can interoperate with a router that doesn't support the extensions. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4760"/>
  <seriesInfo name="DOI" value="10.17487/RFC4760"/>
</reference>



    </references>

</references>



  </back>

<!-- ##markdown-source:
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
BIM1AAA=

-->

</rfc>

