<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.39 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-idr-entropy-label-10" category="std" consensus="true" submissionType="IETF" xml:lang="en" updates="6790, 7447" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="NHC">BGP Next-Hop Dependent Capabilities Attribute</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-idr-entropy-label-10"/>
    <author initials="B." surname="Decraene" fullname="Bruno Decraene" role="editor">
      <organization>Orange</organization>
      <address>
        <email>bruno.decraene@orange.com</email>
      </address>
    </author>
    <author initials="J. G." surname="Scudder" fullname="John G. Scudder" role="editor">
      <organization>Juniper Networks</organization>
      <address>
        <email>jgs@juniper.net</email>
      </address>
    </author>
    <author initials="W." surname="Henderickx" fullname="Wim Henderickx">
      <organization>Nokia</organization>
      <address>
        <email>wim.henderickx@nokia.com</email>
      </address>
    </author>
    <author initials="K." surname="Kompella" fullname="Kireeti Kompella">
      <organization>Juniper Networks</organization>
      <address>
        <email>kireeti@juniper.net</email>
      </address>
    </author>
    <author initials="S." surname="Mohanty" fullname="Satya Mohanty">
      <organization>Cisco Systems</organization>
      <address>
        <email>satyamoh@cisco.com</email>
      </address>
    </author>
    <author initials="J." surname="Uttaro" fullname="James Uttaro">
      <organization>Independent Contributor</organization>
      <address>
        <email>juttaro@ieee.org</email>
      </address>
    </author>
    <author initials="B." surname="Wen" fullname="Bin Wen">
      <organization>Comcast</organization>
      <address>
        <email>Bin_Wen@comcast.com</email>
      </address>
    </author>
    <date year="2023" month="September" day="14"/>
    <area>rtg</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>bgp</keyword>
    <keyword>nhc</keyword>
    <keyword>entropy label</keyword>
    <abstract>
      <?line 70?>

<t>RFC 5492 allows a BGP speaker to advertise its capabilities to its peer. When a route is propagated beyond the immediate peer, it is useful to allow certain capabilities to be conveyed further.  In particular, it is useful to advertise forwarding plane features.</t>
      <t>This specification defines a BGP transitive attribute to carry such capability information, the "Next-Hop Dependent Capabilities Attribute," or NHC. Unlike the capabilities defined by RFC 5492, those conveyed in the NHC apply solely to the routes advertised by the BGP UPDATE that contains the particular NHC.</t>
      <t>This specification also defines an NHC capability that can be used to advertise the ability to process the MPLS Entropy Label as an egress LSR for all NLRI advertised in the BGP UPDATE.  It updates RFC 6790 and RFC 7447 concerning this BGP signaling.</t>
    </abstract>
  </front>
  <middle>
    <?line 78?>

<section anchor="intro">
      <name>Introduction</name>
      <t><xref target="RFC5492"/> allows a Border Gateway Protocol (BGP) speaker to advertise its capabilities to its peer. When a route is propagated beyond the immediate peer, it is useful to allow certain capabilities to be conveyed further.  In particular, it may be useful to advertise forwarding plane features.</t>
      <t>This specification defines a BGP optional transitive attribute to carry such capability information, the "Next-Hop Dependent Capabilities Attribute", or NHC. (Note that this specification should not be confused with RFC 5492 BGP Capabilities.)</t>
      <t>Since the NHC is intended chiefly for conveying information about forwarding plane features, it needs to be regenerated whenever the BGP route's next hop is changed. Since owing to the properties of BGP transitive attributes this can't be guaranteed (an intermediate router that doesn't implement this specification would be expected to propagate the NHC as opaque data), the NHC encodes the next hop of its originator, or the router that most recently updated the attribute. If the NHC passes through a router that changes the next hop without regenerating the NHC, they will fail to match when later examined, and the recipient can act accordingly. This scheme allows NHC support to be introduced into a network incrementally. Informally, the intent is that,</t>
      <ul spacing="normal">
        <li>If a router is not changing the next hop, it can obliviously propagate the NHC just like any other optional transitive attribute.</li>
        <li>If a router is changing the next hop, then it has to be able to vouch for every capability it includes in the NHC.</li>
      </ul>
      <t>Complete details are provided in <xref target="tbrc"/>.</t>
      <t>An NHC carried in a given BGP UPDATE message conveys information that relates to all Network Layer Reachability Information (NLRI) advertised in that particular UPDATE, and only to those NLRI. A different UPDATE message originated by the same source might not include an NHC, and if so, NLRI carried in that UPDATE would not be affected by the NHC. By implication, if a router wishes to use NHC to describe all NLRI it originates, it needs to include an NHC with each UPDATE it sends. In this respect, despite its similar naming, the NHC is unlike RFC 5492 BGP Capabilities.</t>
      <t>Informally, a capability included in a given NHC should not be thought of as a capability of the next hop, but rather a capability of the path, that depends on the ability of the next hop to support it. Hence it is said to be "dependent on" the next hop.</t>
      <t>This specification also defines an NHC capability, called "ELCv3", to advertise the ability to process the Multiprotocol Label Switching (MPLS) Entropy Label as an egress Label Switching Router (LSR) for all NLRI advertised in the BGP UPDATE.  It updates <xref target="RFC6790"/> and <xref target="RFC7447"/> with regard to this BGP signaling, this is further discussed in <xref target="elcv3"/>. Although ELCv3 is only relevant to NLRI of labeled address families, in general, a future NHC capability might be applicable to NLRI of any address family.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</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="tbrc">
      <name>BGP Next-Hop Dependent Capabilities Attribute</name>
      <section anchor="encoding">
        <name>Encoding</name>
        <t>The BGP Next-Hop Dependent Capabilities attribute (NHC attribute, or just NHC) is an optional, transitive BGP path attribute with type code 39. The NHC always includes a network layer address identifying the next hop of the route the NHC accompanies. The NHC signals potentially useful information, so it is desirable to make it transitive; the next hop data is to ensure correctness if it traverses BGP speakers that do not understand the NHC. This is further explained below.</t>
        <t>The Attribute Data field of the NHC attribute is encoded as a header portion that identifies the router that created or most recently updated the attribute, followed by one or more capability Type-Length-Value (TLV) triples:</t>
        <figure anchor="nhcformat">
          <name>NHC Format</name>
          <artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Address Family Identifier   |     SAFI      | Next Hop Len  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~             Network Address of Next Hop (variable)            ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                   Capability TLVs (variable)                  ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The meanings of the header fields (Address Family Identifier, SAFI or Subsequent Address Family Identifier, Length of Next Hop, and Network Address of Next Hop) are as given in Section 3 of <xref target="RFC4760"/>.</t>
        <t>In turn, each Capability is a TLV:</t>
        <figure>
          <name>Capability TLV Format</name>
          <artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Capability Code        |        Capability Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                  Capability Value (variable)                  ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Capability Code: a two-octet unsigned binary integer that indicates the type of capability advertised and unambiguously identifies an individual capability.</t>
        <t>Capability Length: a two-octet unsigned binary integer that indicates the length, in octets, of the Capability Value field.  A length of 0 indicates that the Capability Value field is zero-length, i.e. it has a null value.</t>
        <t>Capability Value: a variable-length field.  It is interpreted according to the value of the Capability Code.</t>
        <t>A BGP speaker <bcp14>MUST NOT</bcp14> include more than one instance of a capability with the same Capability Code, Capability Length, and Capability Value.  Note, however, that processing multiple instances of such a capability does not require special handling, as additional instances do not change the meaning of the announced capability; thus, a BGP speaker <bcp14>MUST</bcp14> be prepared to accept such multiple instances.</t>
        <t>BGP speakers <bcp14>MAY</bcp14> include more than one instance of a capability (as identified by the Capability Code) with different Capability Value.  Processing of these capability instances is specific to the Capability Code and <bcp14>MUST</bcp14> be described in the document introducing the new capability.</t>
        <t>Capability TLVs <bcp14>MUST</bcp14> be placed in the NHC in increasing order of Capability Code. (In the event of multiple instances of a capability with the same Capability Code as discussed above, no further sorting order is defined here.)  Although the major sorting order is mandated, an implementation <bcp14>MUST</bcp14> elect to be prepared to consume capabilities in any order, for robustness reasons.</t>
      </section>
      <section anchor="sending-the-nhc">
        <name>Sending the NHC</name>
        <t>Suppose a BGP speaker S has a route R it wishes to advertise with next hop N to its peer.</t>
        <t>If S is originating R into BGP, it <bcp14>MAY</bcp14> include an NHC attribute with it, that carries capability TLVs that describe aspects of R. S <bcp14>MUST</bcp14> set the next hop depicted in the header portion of the NHC to be equal to N, using the encoding given above.</t>
        <t>If S has received R from some other BGP speaker, two possibilities exist. First, S could be propagating R without changing N. In that case, S need take no special action, it <bcp14>SHOULD</bcp14> simply propagate the NHC unchanged unless specifically configured otherwise. Indeed, we observe that this is no different from the default action a BGP speaker takes with an unrecognized optional transitive attribute -- it is treated as opaque data and propagated.</t>
        <t>Second, S could be changing R in some way, and in particular, it could be changing N. If S has changed N it <bcp14>MUST NOT</bcp14> propagate the NHC unchanged. It <bcp14>SHOULD</bcp14> include a newly-constructed NHC attribute with R, constructed as described above in the "originating R into BGP" case. Any given capability TLV carried by the newly-constructed NHC attribute might use information from the received NHC attribute as input to its construction, possibly as straightforwardly as simply copying the TLV. The details of how the capabilities in the new NHC are constructed are specific to the definition of each capability. Any capability TLVs received by S that are for capabilities not supported by S will not be included in the version of R constructed by S.</t>
        <t>An implementation <bcp14>SHOULD</bcp14> send the NHC and its contained capabilities by default. An implementation <bcp14>SHOULD</bcp14> provide configuration control of whether any given capability is sent. An implementation <bcp14>MAY</bcp14> provide finer-grained control on propagation based on attributes of the peering session, as discussed in <xref target="Security_NHC"/>.</t>
        <t>Due to the nature of BGP optional transitive path attributes, any BGP speaker that does not implement this specification will propagate the NHC, the requirements of this section notwithstanding. Such a speaker will not update the NHC, however.</t>
      </section>
      <section anchor="receiving">
        <name>Receiving the NHC</name>
        <t>An implementation <bcp14>SHOULD</bcp14> accept the NHC and its contained capabilities by default. An implementation <bcp14>SHOULD</bcp14> provide configuration control of whether any given capability is accepted. An implementation <bcp14>MAY</bcp14> provide finer-grained control on propagation based on attributes of the peering session, as discussed in <xref target="Security_NHC"/>.</t>
        <t>When a BGP speaker receives a BGP route that includes the NHC, it <bcp14>MUST</bcp14> compare the address given in the header portion of the NHC and illustrated in <xref target="nhcformat"/> to the next hop of the BGP route. If the two match, the NHC may be further processed. If the two do not match, it means some intermediate BGP speaker that handled the route in transit both does not support NHC, and changed the next hop of the route. In this case, the contents of the NHC cannot be used, and the NHC <bcp14>MUST</bcp14> be discarded without further processing, except that the contents <bcp14>MAY</bcp14> be logged.</t>
        <t>In considering whether the next hop "matches", a semantic match is sought. While bit-for-bit equality is a trivial test of matching, there may be certain cases where the two are not bit-for-bit equal, but still "match". An example is when an MP_REACH Next Hop encodes both a global and a link-local IPv6 address. In that case, the link-local address might be removed during Internal BGP (IBGP) propagation, the two would still be considered to match if they were equal on the global part. See Section 3 of <xref target="RFC2545"/>.</t>
        <t>A BGP speaker receiving a Capability Code that it supports behaves as defined in the document defining the Capability Code.  A BGP speaker receiving a Capability Code that it does not support <bcp14>MUST</bcp14> ignore that Capability Code.  In particular, the receipt of an unrecognized Capability Code <bcp14>MUST NOT</bcp14> be handled as an error.</t>
        <t>The presence of a capability <bcp14>SHOULD NOT</bcp14> influence route selection or route preference, unless tunneling is used to reach the BGP next hop, the selected route has been learned from External BGP (that is, the next hop is in a different Autonomous System), or by configuration (see following).  Indeed, it is in general impossible for a node to know that all BGP routers of the Autonomous System (AS) will understand a given capability, and if different routers within an AS were to use a different preference for a route, forwarding loops could result unless tunneling is used to reach the BGP next hop. Following this reasoning, if the administrator of the network is confident that all routers within the AS will interpret the presence of the capability in the same way, they could relax this restriction by configuration.</t>
      </section>
      <section anchor="attribute-error-handling">
        <name>Attribute Error Handling</name>
        <t>An NHC is considered malformed if the length of the attribute, encoded in the Attribute Length field of the BGP Path Attribute header (Section 4.3 of <xref target="RFC4271"/>), is inconsistent with the lengths of the contained capability TLVs. In other words, the sum of the sizes (Capability Length plus 4) of the contained capability TLVs, plus the length of the NHC header (<xref target="nhcformat"/>), must be equal to the overall Attribute Length.</t>
        <t>A BGP UPDATE message with a malformed NHC <bcp14>SHALL</bcp14> be handled using the approach of "attribute discard" defined in <xref target="RFC7606"/>.</t>
        <t>Unknown Capability Codes <bcp14>MUST NOT</bcp14> be considered to be an error.</t>
        <t>An NHC that contains no capability TLVs <bcp14>MAY</bcp14> be considered malformed, although it is observed that the prescribed behavior of "attribute discard" is semantically no different from that of having no TLVs to process.</t>
        <t>A document that specifies a new NHC Capability should provide specifics regarding what constitutes an error for that NHC Capability.</t>
        <t>If a capability TLV is malformed, that capability TLV <bcp14>SHOULD</bcp14> be ignored and removed.  Other capability TLVs <bcp14>SHOULD</bcp14> be processed as usual. If a given capability TLV requires different error-handling treatment than described in the previous sentences, its specification should provide specifics.</t>
      </section>
      <section anchor="network-operation-considerations">
        <name>Network Operation Considerations</name>
        <t>In the corner case where multiple nodes use the same IP address as their BGP next hop, such as with anycast nodes as described in <xref target="RFC4786"/>, a BGP speaker <bcp14>MUST NOT</bcp14> advertise a given capability unless all nodes sharing this same IP address support this capability. The network operator operating those anycast nodes is responsible for ensuring that an anycast node does not advertise a capability not supported by all nodes sharing this anycast address.  The means for accomplishing this are beyond the scope of this document.</t>
      </section>
    </section>
    <section anchor="elcv3">
      <name>Entropy Label Capability (ELCv3)</name>
      <t>The foregoing sections define the NHC as a container for capability TLVs. The Entropy Label Capability is one such capability.</t>
      <t>When BGP <xref target="RFC4271"/> is used for distributing labeled NLRI as described in, for example, <xref target="RFC8277"/>, the route may include the ELCv3 as part of the NHC.  The inclusion of this capability with a route indicates that the egress of the associated Label Switched Path (LSP) can process entropy labels as an egress LSR for that route -- see Section 4.1 of <xref target="RFC6790"/>. Below, we refer to this for brevity as being "EL-capable."</t>
      <t>For historical reasons, this capability is referred to as "ELCv3", to distinguish it from the prior Entropy Label Capability (ELC) defined in <xref target="RFC6790"/> and deprecated in <xref target="RFC7447"/>, and the ELCv2 described in <xref target="I-D.scudder-bgp-entropy-label"/>.</t>
      <t>This section (and its subsections) replaces Section 5.2 of <xref target="RFC6790"/>, which was previously deprecated by <xref target="RFC7447"/>.</t>
      <section anchor="encoding-1">
        <name>Encoding</name>
        <t>The ELCv3 has capability code 1, capability length 0, and carries no value:</t>
        <figure>
          <name>ELCv3 TLV Format</name>
          <artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Capability Code = 1      |       Capability Length = 0   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
      </section>
      <section anchor="sending-the-elcv3">
        <name>Sending the ELCv3</name>
        <t>When a BGP speaker S has a route R it wishes to advertise with next hop N to its peer, it <bcp14>SHOULD</bcp14> include the ELCv3 capability if it knows that the egress of the associated LSP L is EL-capable, otherwise it <bcp14>MUST NOT</bcp14> include the ELCv3 capability. Specific conditions where S would know that the egress is EL-capable are if S:</t>
        <ul spacing="normal">
          <li>Is itself the egress, and knows itself to be EL-capable, or</li>
          <li>Is re-advertising a BGP route it received with a valid ELCv3 capability, and is not changing the value of N, or</li>
          <li>Is re-advertising a BGP route it received with a valid ELCv3 capability, and is changing the value of N, and knows (for example, through configuration) that the router represented by N is either the LSP egress and is EL-capable, or that it will simply swap labels without popping the BGP-advertised label stack and processing the label below, as with a transit LSR, or</li>
          <li>Is redistributing a route learned from another protocol, and that other protocol conveyed the knowledge that the egress of L was EL-capable. (For example, this might be known through the Label Distribution Protocol (LDP) ELC TLV, Section 5.1 of <xref target="RFC6790"/>.)</li>
        </ul>
        <t>The ELCv3 <bcp14>MAY</bcp14> be advertised with routes that are labeled, such as those using SAFI 4 <xref target="RFC8277"/>. It <bcp14>MUST NOT</bcp14> be advertised with unlabeled routes.</t>
      </section>
      <section anchor="receiving-the-elcv3">
        <name>Receiving the ELCv3</name>
        <t>(Below, we assume that "includes the ELCv3" implies that the containing NHC has passed the checks specified in <xref target="receiving"/>. If it had not passed, then the NHC would have been discarded and the ELCv3 would be deemed not to have been included.)</t>
        <t>When a BGP speaker receives an unlabeled route that includes the ELCv3, it <bcp14>MUST</bcp14> discard the ELCv3.</t>
        <t>When a BGP speaker receives a labeled route that includes the ELCv3, it indicates the associated LSP supports entropy labels. This implies that the receiving BGP speaker if acting as ingress, <bcp14>MAY</bcp14> insert an entropy label as per Section 4.2 of <xref target="RFC6790"/>.</t>
      </section>
      <section anchor="elcv3-error-handling">
        <name>ELCv3 Error Handling</name>
        <t>The ELCv3 is considered malformed and must be disregarded if its length is other than zero.</t>
      </section>
    </section>
    <section anchor="legacy-elc">
      <name>Legacy ELC</name>
      <t>The ELCv3 functionality introduced in this document replaces the "BGP Entropy Label Capability Attribute" (ELC attribute) that was introduced by <xref target="RFC6790"/>, and deprecated by <xref target="RFC7447"/>. The latter RFC specifies that the ELC attribute, BGP path attribute 28, "<bcp14>MUST</bcp14> be treated as any other unrecognized optional, transitive attribute". This specification revises that requirement.</t>
      <t>As the current specification was developed, it became clear that due to incompatibilities between how the ELC attribute is processed by different fielded implementations, the most prudent handling of attribute 28 is not to propagate it as an unrecognized optional, transitive attribute, but to discard it. Therefore, this specification updates <xref target="RFC7447"/>, by instead requiring that an implementation that receives the ELC attribute <bcp14>MUST</bcp14> discard any received ELC attribute.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>IANA has made a temporary allocation in the BGP Path Attributes registry of the Border Gateway Protocol (BGP) Parameters group. IANA is requested to make this allocation permanent.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Code</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">39</td>
            <td align="left">BGP Next-Hop Dependent Capabilities (NHC)</td>
            <td align="left">(this doc)</td>
          </tr>
        </tbody>
      </table>
      <t>IANA is requested to create a new registry called "BGP Next-Hop Dependent Capability Codes" within the Border Gateway Protocol (BGP) Parameters group. The registry's allocation policy is First Come, First Served, except where designated otherwise in <xref target="preregistry"/>. It is seeded with the following values:</t>
      <table anchor="preregistry">
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
            <th align="left">Change Controller</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0</td>
            <td align="left">reserved</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">1</td>
            <td align="left">ELCv3</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">65400 - 65499</td>
            <td align="left">private use</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">65500 - 65534</td>
            <td align="left">reserved for experimental use</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">65535</td>
            <td align="left">reserved</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <section anchor="Security_NHC">
        <name>Considerations for the NHC</name>
        <t>The header portion of the NHC contains the next hop the attribute's originator included when sending it, or that an intermediate router included when updating the attribute (in the latter case, the "contract" with the intermediate router is that it performed the checks in <xref target="receiving"/> before propagating the attribute). This will typically be an IP address of the router in question. This may be an infrastructure address the network operator does not intend to announce beyond the border of its Autonomous System, and it may even be considered in some weak sense, confidential information.</t>
        <t>A motivating application for this attribute is to convey information between Autonomous Systems that are under the control of the same administrator. In such a case, it would not need to be sent to other Autonomous Systems. At time of writing, work <xref target="I-D.uttaro-idr-bgp-oad"/> is underway to standardize a method of distinguishing between the two categories of external Autonomous Systems, and if such a distinction is available, an implementation can take advantage of it by constraining the NHC and its contained capabilities to only propagate by default to and from the former category of Autonomous Systems. If such a distinction is not available, a network operator may prefer to configure routers peering with Autonomous Systems not under their administrative control to not send or accept the NHC or its contained capabilities, unless there is an identified need to do so.</t>
        <t>The foregoing notwithstanding, control of NHC propagation can't be guaranteed in all cases -- if a border router doesn't implement this specification, the attribute, like all BGP optional transitive attributes, will propagate to neighboring Autonomous Systems. (This can be seen as a specific case of the general "attribute escape" phenomenon discussed in <xref target="I-D.haas-idr-bgp-attribute-escape"/>.) Similarly, if a border router receiving the attribute from an external Autonomous System doesn't implement this specification, it will store and propagate the attribute, the requirements of <xref target="receiving"/> notwithstanding. So, sometimes this information could leak beyond its intended scope. (Note that it will only propagate as far as the first router that does support this specification, at which point it will typically be discarded due to a non-matching next hop, per <xref target="receiving"/>.)</t>
        <t>If the attribute leaks beyond its intended scope, capabilities within it would potentially be exposed.  Specifications for individual capabilities should consider the consequences of such unintended exposure, and should identify any necessary constraints on propagation.</t>
      </section>
      <section anchor="considerations-for-the-elcv3-capability">
        <name>Considerations for the ELCv3 Capability</name>
        <t>Insertion of an ELCv3 by an attacker could cause forwarding to fail. Deletion of an ELCv3 by an attacker could cause one path in the network to be overutilized and another to be underutilized. However, we note that an attacker able to accomplish either of these (below, an "on-path attacker") could equally insert or remove any other BGP path attribute or message. The former attack described above denies service for a given route, which can be accomplished by an on-path attacker in any number of ways even absent ELCv3. The latter attack defeats an optimization but nothing more; it seems dubious that an attacker would go to the trouble of doing so rather than launching some more damaging attack.</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <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="RFC2545">
          <front>
            <title>Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing</title>
            <author fullname="P. Marques" initials="P." surname="Marques"/>
            <author fullname="F. Dupont" initials="F." surname="Dupont"/>
            <date month="March" year="1999"/>
            <abstract>
              <t>BGP-4 Multiprotocol Extensions (BGP-MP) defines the format of two BGP attributes (MP_REACH_NLRI and MP_UNREACH_NLRI) that can be used to announce and withdraw the announcement of reachability information. This document defines how compliant systems should make use of those attributes for the purpose of conveying IPv6 routing information. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2545"/>
          <seriesInfo name="DOI" value="10.17487/RFC2545"/>
        </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="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>
        <reference anchor="RFC6790">
          <front>
            <title>The Use of Entropy Labels in MPLS Forwarding</title>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="S. Amante" initials="S." surname="Amante"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="L. Yong" initials="L." surname="Yong"/>
            <date month="November" year="2012"/>
            <abstract>
              <t>Load balancing is a powerful tool for engineering traffic across a network. This memo suggests ways of improving load balancing across MPLS networks using the concept of "entropy labels". It defines the concept, describes why entropy labels are useful, enumerates properties of entropy labels that allow maximal benefit, and shows how they can be signaled and used for various applications. This document updates RFCs 3031, 3107, 3209, and 5036. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6790"/>
          <seriesInfo name="DOI" value="10.17487/RFC6790"/>
        </reference>
        <reference anchor="RFC7447">
          <front>
            <title>Deprecation of BGP Entropy Label Capability Attribute</title>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <date month="February" year="2015"/>
            <abstract>
              <t>The BGP Entropy Label Capability attribute is defined in RFC 6790. Regrettably, it has a bug: although RFC 6790 mandates that routers incapable of processing Entropy Labels must remove the attribute, fulfillment of this requirement cannot be guaranteed in practice. This specification deprecates the attribute. A forthcoming document will propose a replacement.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7447"/>
          <seriesInfo name="DOI" value="10.17487/RFC7447"/>
        </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>
        <name>Informative References</name>
        <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="July" year="2023"/>
            <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 "optional transitive".
   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 inadvertantly 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, "attribute escape".  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-00"/>
        </reference>
        <reference anchor="I-D.ietf-idr-next-hop-capability">
          <front>
            <title>BGP Next-Hop dependent capabilities</title>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Wim Henderickx" initials="W." surname="Henderickx">
              <organization>Nokia</organization>
            </author>
            <date day="8" month="June" year="2022"/>
            <abstract>
              <t>   RFC 5492 advertises the capabilities of the BGP peer.  When the BGP
   peer is not the same as the BGP Next-Hop, it is useful to also be
   able to advertise the capability of the BGP Next-Hop, in particular
   to advertise forwarding plane features.  This document defines a
   mechanism to advertise such BGP Next Hop dependent Capabilities.

   This document defines a new BGP non-transitive attribute to carry
   Next-Hop Capabilities.  This attribute is guaranteed to be deleted or
   updated when the BGP Next Hop is changed, in order to reflect the
   capabilities of the new BGP Next-Hop.

   This document also defines a Next-Hop capability to advertise the
   ability to process the MPLS Entropy Label as an egress LSR for all
   NLRI advertised in the BGP UPDATE.  It updates RFC 6790 with regard
   to this BGP signaling.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-next-hop-capability-08"/>
        </reference>
        <reference anchor="I-D.scudder-bgp-entropy-label">
          <front>
            <title>BGP Entropy Label Capability, Version 2</title>
            <author fullname="John Scudder" initials="J." surname="Scudder">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
              <organization>Juniper Networks</organization>
            </author>
            <date day="28" month="April" year="2022"/>
            <abstract>
              <t>   RFC 6790 defined the Entropy Label Capability Attribute (ELC); RFC
   7447 deprecated that attribute.  This specification, dubbed "Entropy
   Label Capability Attribute version 2" (ELCv2), was intended to be
   offered for standardization, to replace the ELC as a way to signal
   that a BGP protocol speaker is capable of processing entropy labels.

   Although ultimately a different specification was chosen for that
   purpose, at least one implementation of ELCv2 was shipped by Juniper
   Networks and is currently in use in service provider networks.  This
   document is published in order to document what was implemented.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-scudder-bgp-entropy-label-00"/>
        </reference>
        <reference anchor="I-D.uttaro-idr-bgp-oad">
          <front>
            <title>One Administrative Domain using BGP</title>
            <author fullname="Jim Uttaro" initials="J." surname="Uttaro">
              <organization>Individual Contributor</organization>
            </author>
            <author fullname="Alvaro Retana" initials="A." surname="Retana">
              <organization>Futurewei Technologies, Inc.</organization>
            </author>
            <author fullname="Pradosh Mohapatra" initials="P." surname="Mohapatra">
              <organization>Google</organization>
            </author>
            <author fullname="Keyur Patel" initials="K." surname="Patel">
              <organization>Arrcus, Inc.</organization>
            </author>
            <author fullname="Bin Wen" initials="B." surname="Wen">
              <organization>Comcast</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document defines a new External BGP (EBGP) peering type known as
   EBGP-OAD, which is used between two EBGP peers that belong to One
   Administrative Domain (OAD).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-uttaro-idr-bgp-oad-02"/>
        </reference>
        <reference anchor="RFC4786">
          <front>
            <title>Operation of Anycast Services</title>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="K. Lindqvist" initials="K." surname="Lindqvist"/>
            <date month="December" year="2006"/>
            <abstract>
              <t>As the Internet has grown, and as systems and networked services within enterprises have become more pervasive, many services with high availability requirements have emerged. These requirements have increased the demands on the reliability of the infrastructure on which those services rely.</t>
              <t>Various techniques have been employed to increase the availability of services deployed on the Internet. This document presents commentary and recommendations for distribution of services using anycast. 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="126"/>
          <seriesInfo name="RFC" value="4786"/>
          <seriesInfo name="DOI" value="10.17487/RFC4786"/>
        </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="RFC8277">
          <front>
            <title>Using BGP to Bind MPLS Labels to Address Prefixes</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This document specifies a set of procedures for using BGP to advertise that a specified router has bound a specified MPLS label (or a specified sequence of MPLS labels organized as a contiguous part of a label stack) to a specified address prefix. This can be done by sending a BGP UPDATE message whose Network Layer Reachability Information field contains both the prefix and the MPLS label(s) and whose Next Hop field identifies the node at which said prefix is bound to said label(s). This document obsoletes RFC 3107.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8277"/>
          <seriesInfo name="DOI" value="10.17487/RFC8277"/>
        </reference>
      </references>
    </references>
    <?line 306?>

<section anchor="other-means-of-signaling-el-capability">
      <name>Other Means of Signaling EL Capability</name>
      <t>A router that supports this specification could also have other means to know that an egress is EL-capable, for example, it could support ELCv2 <xref target="I-D.scudder-bgp-entropy-label"/>, or it could know through configuration. If a router learns through any means that an egress is EL-capable, it <bcp14>MAY</bcp14> treat the egress as EL-capable. For example, reception of a valid ELCv2 would be sufficient (even if a valid ELCv3 is not received), and similarly, reception of a valid ELCv3 would be sufficient (even if a valid ELCv2 is not received). The details of which methods are accepted for signaling EL capability are beyond the scope of this specification but <bcp14>SHOULD</bcp14> be configurable by the user.</t>
    </section>
    <section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors of this specification thank Randy Bush, Wes Hardaker, Susan Hares, and Gyan Mishra for their review and comments.</t>
      <t>This specification derives from two earlier documents, <xref target="I-D.ietf-idr-next-hop-capability"/> and <xref target="I-D.scudder-bgp-entropy-label"/>.</t>
      <t><xref target="I-D.ietf-idr-next-hop-capability"/> included the following acknowledgements:</t>
      <artwork><![CDATA[
    The Entropy Label Next-Hop Capability defined in this document is
    based on the ELC BGP attribute defined in section 5.2 of [RFC6790].

    The authors wish to thank John Scudder for the discussions on this
    topic and Eric Rosen for his in-depth review of this document.

    The authors wish to thank Jie Dong and Robert Raszuk for their
    review and comments.
]]></artwork>
      <t><xref target="I-D.scudder-bgp-entropy-label"/> included the following acknowledgements:</t>
      <artwork><![CDATA[
    Thanks to Swadesh Agrawal, Alia Atlas, Bruno Decraene, Martin
    Djernaes, John Drake, Adrian Farrell, Keyur Patel, Toby Rees, and
    Ravi Singh, for their discussion of this issue. 
]]></artwork>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="S." surname="Krier" fullname="Serge Krier">
        <organization>Cisco Systems</organization>
        <address>
          <email>sekrier@cisco.com</email>
        </address>
      </contact>
      <contact initials="K." surname="Wang" fullname="Kevin Wang">
        <organization>Juniper Networks</organization>
        <address>
          <email>kfwang@juniper.net</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+Vd63Ibx5X+zyq9Qy/1w2QCoHShJEuJE9O6WIwpSkvKcaVS
KVdjpgG0OZhBpmdIwZL8LPss+2R7bn0bgDTlOLvZXeUiYDDTffr0uXzn0qPx
eHxrx3W6Lr/XVVObJ6pre3Nrx65a+ui6e3fuPL5z79ZOobsnynUl3N5Pl9Y5
29TdegVPHD1/++LWjm6NfqLabn5r53IOF+vOtLXp1PN6bmtjWlvP1VvtztWL
pi1ghn5V6s64J+rho8d3RurRwcGjWzu3dsqmqPUSRi1bPevG1nSzsS3bsam7
tlmtx5Wemmp89w7e29mugju/+vqNOjHvuvHLZqWemZWpS7hbPdUrPbWV7axx
6rDrWjvtO4PP6em0NRdP1MnLp7d2Kl0Duaa+tXN++eTWjlJjNZ2v+EO9KPiD
zK5odhig7xZNC3ePVdsgCaa0XdPivUz8V21fN0BL0WpTG7zetDDL6xYmo69m
qW31RE3xvkkp933Z0O+TolkOh1Zx7D81i1p9PVFnRV+Wpg2D/6mv7cq0wIru
smnPXTLND3P35Q/88wT2BAfnsb6zS/US+dXa4vxdGOqkObc6ef7SLieLcNuX
Nf7sqeSBvrGtMZ1V3zTLlakqfROqzvmZ7ZSd6W6t1atmoUHKwmhPrSsadbZ2
nVmmQzm8e9ksvizwhpy0P8H/O/Vt1+m2CQMdwWKCoIAgk3DwDnqe9fTEl9YY
M4Fn4oBf2Vp9hwLjiWqWhXZd8izc8T3c8WXBvzA9RZzmiUoWatq5Ud+0NtnK
K5dpzvG+bav8xlwgWSA/N2L97BLuzDl/a6du2qXu7IUhPTh98fTe3buPw+cH
Bw/854N7j+6Gz48e3vGfUZX9Z1To8PnhnYf+8+d3Hx08UcAAW8+y+Y7GzyYL
rR2pO6jgWHudHRtX6FW8KxiFGrV+0azGhdf1dbjJsXrQSJnxCHfwBofpGl3G
NX0e6H1w8PheoP3eI14T8H08VnrqulYXxDv4VeGtSldVc+mUJrPkVkafwxZ0
jdLlhWk764yynVNFapzgV7y2Ais5Ud+BosHTbQMLVxauAuV6DqayVFOzbupS
dQv4YbkEwwBX6akRPI/39s7M+opmQypUATNqEIvhbFOjQBovzBoGnfUtDAgT
g06olQYSi77S24YMC4B9u9RtiRZ9BeYTLhjd9a1xE+TE2wU8Bgsv7MyC0wA3
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
KiH/BSAK0beRaQAA

-->

</rfc>
