<?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.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-idr-entropy-label-18" category="std" consensus="true" submissionType="IETF" xml:lang="en" updates="6790, 7447" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="NHC">BGP Next Hop Dependent Characteristics Attribute</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-idr-entropy-label-18"/>
    <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>HPE</organization>
      <address>
        <email>jgs@juniper.net</email>
      </address>
    </author>
    <author initials="K." surname="Kompella" fullname="Kireeti Kompella">
      <organization>HPE</organization>
      <address>
        <email>kireeti@juniper.net</email>
      </address>
    </author>
    <author initials="S." surname="Mohanty" fullname="Satya Mohanty">
      <organization>Zscaler</organization>
      <address>
        <email>smohanty@zscaler.com</email>
      </address>
    </author>
    <author initials="B." surname="Wen" fullname="Bin Wen">
      <organization>Comcast</organization>
      <address>
        <email>Bin_Wen@comcast.com</email>
      </address>
    </author>
    <author initials="K." surname="Wang" fullname="Kevin Wang">
      <organization>HPE</organization>
      <address>
        <email>kfwang@juniper.net</email>
      </address>
    </author>
    <author initials="S." surname="Krier" fullname="Serge Krier">
      <organization>Cisco Systems</organization>
      <address>
        <email>sekrier@cisco.com</email>
      </address>
    </author>
    <date year="2025" month="July" day="20"/>
    <area>rtg</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>bgp</keyword>
    <keyword>nhc</keyword>
    <keyword>entropy label</keyword>
    <abstract>
      <?line 76?>

<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 characteristics 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 information, the "Next Hop Dependent Characteristics Attribute," or NHC. Unlike the capabilities defined by RFC 5492, the characteristics 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 characteristic 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 84?>

<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 characteristics 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 information, the "Next Hop Dependent Characteristics Attribute", or NHC.</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>
          <t>If a router is not changing the next hop, it can obliviously propagate the NHC just like any other optional transitive attribute.</t>
        </li>
        <li>
          <t>If a router is changing the next hop, then it has to be able to vouch for every characteristic it includes in the NHC.</t>
        </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.</t>
      <t>Informally, a characteristic included in a given NHC should not be thought of as a characteristic of the next hop, but rather a characteristic 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 characteristic, 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, a future NHC characteristic might be applicable to non-labeled NLRI, or to both, irrespective of labels. (The term "labeled address family" is defined in the first paragraph of Section 3.5 of <xref target="RFC9012"/>. In this document, we use the term "labeled NLRI" as a short form of "NLRI of a labeled 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 Characteristics Attribute</name>
      <section anchor="encoding">
        <name>Encoding</name>
        <t>The BGP Next Hop Dependent Characteristics 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 related to the forwarding plane features, so it is desirable to make it transitive to ensure propagation across BGP speakers (e.g., route reflectors) that do not change the next hop and are therefore not in the forwarding path. 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 Type-Length-Value (TLV) triples:</t>
        <figure anchor="nhcformat">
          <name>NHC Format</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="528" viewBox="0 0 528 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,112" fill="none" stroke="black"/>
                <path d="M 8,144 L 8,176" fill="none" stroke="black"/>
                <path d="M 8,208 L 8,224" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 392,64 L 392,96" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,112" fill="none" stroke="black"/>
                <path d="M 520,144 L 520,176" fill="none" stroke="black"/>
                <path d="M 520,208 L 520,224" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                <path d="M 8,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,224 L 520,224" 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="496" y="36">3</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="400" y="52">4</text>
                  <text x="416" y="52">5</text>
                  <text x="432" y="52">6</text>
                  <text x="448" y="52">7</text>
                  <text x="464" y="52">8</text>
                  <text x="480" y="52">9</text>
                  <text x="496" y="52">0</text>
                  <text x="512" y="52">1</text>
                  <text x="64" y="84">Address</text>
                  <text x="124" y="84">Family</text>
                  <text x="196" y="84">Identifier</text>
                  <text x="324" y="84">SAFI</text>
                  <text x="420" y="84">Next</text>
                  <text x="456" y="84">Hop</text>
                  <text x="488" y="84">Len</text>
                  <text x="8" y="132">~</text>
                  <text x="144" y="132">Network</text>
                  <text x="208" y="132">Address</text>
                  <text x="252" y="132">of</text>
                  <text x="284" y="132">Next</text>
                  <text x="320" y="132">Hop</text>
                  <text x="380" y="132">(variable)</text>
                  <text x="520" y="132">~</text>
                  <text x="8" y="196">~</text>
                  <text x="204" y="196">Characteristic</text>
                  <text x="284" y="196">TLVs</text>
                  <text x="348" y="196">(variable)</text>
                  <text x="520" y="196">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![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)            ~
   |                                                               |
   +---------------------------------------------------------------+
   |                                                               |
   ~                 Characteristic TLVs (variable)                ~
   |                                                               |
   +---------------------------------------------------------------+
]]></artwork>
          </artset>
        </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 Characteristic is a TLV:</t>
        <figure>
          <name>Characteristic TLV Format</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="528" viewBox="0 0 528 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,112" fill="none" stroke="black"/>
                <path d="M 8,144 L 8,160" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,112" fill="none" stroke="black"/>
                <path d="M 520,144 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                <path d="M 8,160 L 520,160" 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="496" y="36">3</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="400" y="52">4</text>
                  <text x="416" y="52">5</text>
                  <text x="432" y="52">6</text>
                  <text x="448" y="52">7</text>
                  <text x="464" y="52">8</text>
                  <text x="480" y="52">9</text>
                  <text x="496" y="52">0</text>
                  <text x="512" y="52">1</text>
                  <text x="116" y="84">Characteristic</text>
                  <text x="196" y="84">Code</text>
                  <text x="372" y="84">Characteristic</text>
                  <text x="460" y="84">Length</text>
                  <text x="8" y="132">~</text>
                  <text x="196" y="132">Characteristic</text>
                  <text x="280" y="132">Value</text>
                  <text x="348" y="132">(variable)</text>
                  <text x="520" y="132">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Characteristic Code      |      Characteristic Length    |
   +-------------------------------+-------------------------------+
   |                                                               |
   ~                Characteristic Value (variable)                ~
   |                                                               |
   +---------------------------------------------------------------+
]]></artwork>
          </artset>
        </figure>
        <t>Characteristic Code: a two-octet unsigned integer that indicates the type of characteristic advertised and unambiguously identifies an individual characteristic.</t>
        <t>Characteristic Length: a two-octet unsigned integer that indicates the length, in octets, of the Characteristic Value field.  A length of 0 indicates that the Characteristic Value field is zero-length, i.e. it has a null value.</t>
        <t>Characteristic Value: a variable-length field.  It is interpreted according to the value of the Characteristic Code.</t>
        <t>A BGP speaker <bcp14>MUST NOT</bcp14> include more than one instance of a characteristic with the same Characteristic Code, Characteristic Length, and Characteristic Value.  Note, however, that processing multiple instances of such a characteristic does not require special handling, as additional instances do not change the meaning of the announced characteristic; 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 characteristic (as identified by the Characteristic Code) with different Characteristic Value.  Processing of these characteristic instances is specific to the Characteristic Code and <bcp14>MUST</bcp14> be described in the document introducing the new characteristic.</t>
        <t>Characteristic TLVs <bcp14>MUST</bcp14> be placed in the NHC in increasing order of Characteristic Code. (In the event of multiple instances of a characteristic with the same Characteristic 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 characteristics in any order, for robustness reasons.</t>
      </section>
      <section anchor="sending">
        <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 characteristic 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 does not need to take any 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 characteristic 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 characteristics in the new NHC are constructed are specific to the definition of each characteristics. Any characteristic TLVs received by S that are for characteristics not supported by S will not be included in the newly-constructed NHC attribute S includes with R.</t>
        <t>An implementation <bcp14>SHOULD</bcp14> propagate the NHC and its contained characteristics by default. An implementation <bcp14>SHOULD</bcp14> provide configuration control of whether any given characteristic is propagated. 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>
        <t>Certain NLRI formats do not include a next hop at all, one example being the Flow Specification NLRI <xref target="RFC8955"/>. The NHC <bcp14>MUST NOT</bcp14> be sent with such NLRI.</t>
        <section anchor="llnh">
          <name>Link-Local-Only Next Hops</name>
          <t>In some cases, the BGP speaker sending a route might encode only a link-local address and no global address. In such a case, a problem arises because there is no expectation of global uniqueness of such an address, and the "semantic match" discussed in <xref target="receiving"/> could yeild a false positive. An illustration is provided in <xref target="falsepos"/>.</t>
          <t>To mitigate this problem, if a BGP speaker originates a route whose next hop has no global part, it <bcp14>MUST</bcp14> include a BGPID TLV (<xref target="bgpid"/>).</t>
        </section>
        <section anchor="nhcaggregation">
          <name>Aggregation</name>
          <t>When aggregating routes, the above rules for constructing a new NHC <bcp14>MUST</bcp14> be followed. The decision of whether to include the NHC with the aggregate route and what its form will be, depends in turn on whether any characteristics are eligible to be included with the aggregate route.  If there are no eligible characteristics, the NHC <bcp14>MUST NOT</bcp14> be included.</t>
          <t>The specification for an individual characteristic must define how that characteristic is to be aggregated. If no rules are defined for a given characteristic, that characteristic <bcp14>MUST NOT</bcp14> be aggregated. Rules for aggregating the ELCv3 are found in <xref target="elcv3aggregation"/>.</t>
          <t>(Route aggregation is described in <xref target="RFC4271"/>. Although prefix aggregation -- combining two or more more-specific prefixes to form one less-specific prefix -- is one application of aggregation, we note that another is when two or more routes for the same prefix are selected to be used for multipath forwarding.)</t>
        </section>
      </section>
      <section anchor="receiving">
        <name>Receiving the NHC</name>
        <t>An implementation receiving routes with a NHC <bcp14>SHOULD NOT</bcp14> discard the attribute or its contained characteristics by default. An implementation <bcp14>SHOULD</bcp14> provide configuration control of whether any given characteristic is processed. 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"/>. In other cases, only a link-local address might be present. This is discussed in <xref target="llnh"/>; in such a case further information is required to permit matching, this is discussed in <xref target="bgpid"/>.</t>
        <t>A BGP speaker receiving a Characteristic Code that it supports behaves as defined in the document defining the Characteristic Code.  A BGP speaker receiving a Characteristic Code that it does not support <bcp14>MUST</bcp14> ignore that Characteristic Code.  In particular, the receipt of an unrecognized Characteristic Code <bcp14>MUST NOT</bcp14> be handled as an error.</t>
        <t>The presence of a characteristic <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 characteristic, 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 characteristic 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 characteristic TLVs. In other words, the sum of the sizes (Characteristic Length plus 4) of the contained characteristic 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 Characteristic Codes <bcp14>MUST NOT</bcp14> be considered to be an error.</t>
        <t>An NHC that contains no characteristic 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. There is no reason to propagate an NHC that contains no characteristic TLVs.</t>
        <t>A document that specifies a new NHC Characteristic should provide specifics regarding what constitutes an error for that NHC Characteristic.</t>
        <t>If a characteristic TLV is malformed, that characteristic TLV <bcp14>SHOULD</bcp14> be ignored and removed.  Other characteristic TLVs <bcp14>SHOULD</bcp14> be processed as usual. If a given characteristic 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 characteristic unless all nodes sharing this same IP address support this characteristic. The network operator operating those anycast nodes is responsible for ensuring that an anycast node does not advertise a characteristic not supported by all nodes sharing this anycast address.  The means for accomplishing this are beyond the scope of this document.</t>
        <t>In cases where a BGP speaker receives a route for some prefix P with next hop N that carries an NHC, and receives a different route for P, N that carries no NHC or a NHC with conflicting content, that could be indicative of a configuration error as described above. In such a case, an implementation <bcp14>MAY</bcp14> log an error to help diagnose the potential problem.</t>
      </section>
    </section>
    <section anchor="elcv3">
      <name>Entropy Label Characteristic (ELCv3)</name>
      <t>The foregoing sections define the NHC as a container for characteristic TLVs. The Entropy Label Characteristic is one such characteristic.</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 characteristic 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 characteristic 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 characteristic code 1, characteristic length 0, and carries no value:</t>
        <figure>
          <name>ELCv3 TLV Format</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="128" width="528" viewBox="0 0 528 128" 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 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,96" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 520,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="496" y="36">3</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="400" y="52">4</text>
                  <text x="416" y="52">5</text>
                  <text x="432" y="52">6</text>
                  <text x="448" y="52">7</text>
                  <text x="464" y="52">8</text>
                  <text x="480" y="52">9</text>
                  <text x="496" y="52">0</text>
                  <text x="512" y="52">1</text>
                  <text x="100" y="84">Characteristic</text>
                  <text x="180" y="84">Code</text>
                  <text x="208" y="84">=</text>
                  <text x="224" y="84">1</text>
                  <text x="348" y="84">Characteristic</text>
                  <text x="436" y="84">Length</text>
                  <text x="472" y="84">=</text>
                  <text x="488" y="84">0</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Characteristic Code = 1    |   Characteristic Length = 0   |
   +-------------------------------+-------------------------------+
]]></artwork>
          </artset>
        </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>MAY</bcp14> include the ELCv3 characteristic if it knows that the egress of the associated LSP L is EL-capable, otherwise it <bcp14>MUST NOT</bcp14> include the ELCv3 characteristic. Specific conditions where S would know that the egress is EL-capable are if S:</t>
        <ul spacing="normal">
          <li>
            <t>Is itself the egress, and knows itself to be EL-capable, or</t>
          </li>
          <li>
            <t>Is re-advertising a BGP route it received with a valid ELCv3 characteristic, and is preserving the value of N as received, or</t>
          </li>
          <li>
            <t>Is re-advertising a BGP route it received with a valid ELCv3 characteristic, and is changing the next hop that it has received to N, and knows that this new next hop (normally itself) is EL-capable, or</t>
          </li>
          <li>
            <t>Is re-advertising a BGP route it received with a valid ELCv3 characteristic, and is changing the next hop that it has received to N, and knows (for example, through configuration) that  the new next hop (normally itself) even if not EL-capable will simply swap labels without popping the BGP-advertised label stack and processing the label below, as with a transit LSR, or</t>
          </li>
          <li>
            <t>Knows by implementation-specific means that the egress is EL-capable, or</t>
          </li>
          <li>
            <t>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"/>.)</t>
          </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 anchor="elcv3aggregation">
          <name>Aggregation</name>
          <t>When forming an aggregate (see <xref target="nhcaggregation"/>), the aggregate route thus formed <bcp14>MUST NOT</bcp14> include the ELCv3 unless each constituent route would be eligible to include the ELCv3 according to the criteria given above.</t>
        </section>
      </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 that it can safely insert an entropy label into the label stack of the associated LSP. 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>
        <t>If more than one instance of the ELCv3 is included in an NHC, instances beyond the first <bcp14>MUST</bcp14> be disregarded.</t>
      </section>
    </section>
    <section anchor="bgpid">
      <name>BGP Identifier Characteristic</name>
      <t>As discussed in <xref target="llnh"/>, it might be possible that a route could be originated that has no global part in its next hop. To provide uniqueness in this case, it is sufficient to associate the BGP Identifier and AS Number of the route's sender. The BGP Identifier Characteristic (BGPID) provides a way to convey this information if required.</t>
      <section anchor="encoding-2">
        <name>Encoding</name>
        <t>The BGPID has characteristic code 3, characteristic length 8, and carries as its value the BGP Identifier and Autonomous System Number of its sender:</t>
        <figure>
          <name>BGPID TLV Format</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="528" viewBox="0 0 528 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,160" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 8,160 L 520,160" 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="496" y="36">3</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="400" y="52">4</text>
                  <text x="416" y="52">5</text>
                  <text x="432" y="52">6</text>
                  <text x="448" y="52">7</text>
                  <text x="464" y="52">8</text>
                  <text x="480" y="52">9</text>
                  <text x="496" y="52">0</text>
                  <text x="512" y="52">1</text>
                  <text x="100" y="84">Characteristic</text>
                  <text x="180" y="84">Code</text>
                  <text x="208" y="84">=</text>
                  <text x="224" y="84">3</text>
                  <text x="348" y="84">Characteristic</text>
                  <text x="436" y="84">Length</text>
                  <text x="472" y="84">=</text>
                  <text x="488" y="84">8</text>
                  <text x="216" y="116">BGP</text>
                  <text x="276" y="116">Identifier</text>
                  <text x="228" y="148">AS</text>
                  <text x="268" y="148">Number</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Characteristic Code = 3    |   Characteristic Length = 8   |
   +-------------------------------+-------------------------------+
   |                        BGP Identifier                         |
   +---------------------------------------------------------------+
   |                          AS Number                            |
   +---------------------------------------------------------------+
]]></artwork>
          </artset>
        </figure>
        <t>BGP Identifier: The BGP Identifier (Section 4.2 of <xref target="RFC4271"/>, and <xref target="RFC6286"/>) of the route's sender.</t>
        <t>AS Number: The Autonomous System Number <xref target="RFC6793"/> of the route's sender. In cases where the sender might represent different Autonomous System Numbers to different peers (for example, <xref target="RFC5065"/>, <xref target="RFC7705"/>), the value used is the one that was in the sender's BGP OPEN to the peer concerned.</t>
      </section>
      <section anchor="sending-the-bgpid">
        <name>Sending the BGPID</name>
        <t>Under the circumstances described in <xref target="llnh"/> the BGPID <bcp14>MUST</bcp14> be included. Under other circumstances, the BGPID <bcp14>MAY</bcp14> be included.</t>
        <section anchor="aggregation">
          <name>Aggregation</name>
          <t>Since the BGPID, by definition, is regenerated whenever the next hop is changed and provides context to disambiguate the next hop carried in the NHC header, there is no case in which it might need to be aggregated.</t>
        </section>
      </section>
      <section anchor="rcv_bgpid">
        <name>Receiving the BGPID</name>
        <t>Under the circumstances described in <xref target="llnh"/>, a NEXT_HOP received from a given peer <bcp14>MUST NOT</bcp14> be considered a "semantic match" for the NHC unless the BGP Identifier and Autonomous System of that peer match the BGP Identifier and Autonomous System carried in the BGPID.</t>
        <t>Since the only case in which the BGPID might be needed to disambiguate the next hop carried in the NHC involves the immediate peer (see <xref target="falsepos"/> for more detail), the BGP Identifier and Autonomous System of the peer are readily derived, they are the values that were received in that peer's OPEN message.</t>
        <t>Other uses of the BGPID are beyond the scope of this document. In particular, if a route is received that has a global part to its NEXT_HOP and thus, does not match the circumstances described in <xref target="llnh"/>, but which nonetheless has a BGPID, this specification requires no specific action. In such a case, the BGPID can be disregarded.</t>
        <section anchor="not-receiving-the-bgpid">
          <name>Not Receiving the BGPID</name>
          <t>Under the circumstances described in <xref target="llnh"/>, if a BGPID is not present in the NHC, the next hop match described in <xref target="receiving"/> <bcp14>MUST</bcp14> be considered to have failed.</t>
        </section>
      </section>
      <section anchor="bgpid-error-handling">
        <name>BGPID Error Handling</name>
        <t>The BGPID is considered malformed and must be disregarded if its length is other than eight.</t>
        <t>If more than one instance of the BGPID is included in an NHC, instances beyond the first <bcp14>MUST</bcp14> be disregarded.</t>
        <t>The situation where a route is received which fails the test described in <xref target="rcv_bgpid"/> is not an error. However, it might indicate a misconfiguration in the network, and a message <bcp14>MAY</bcp14> be logged.</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, and to update its name and reference as shown below.</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 Characteristic (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 Characteristic 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">2</td>
            <td align="left">NNHN</td>
            <td align="left">draft-wang-idr-next-next-hop-nodes-01</td>
            <td align="left">kfwang@juniper.net</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">BGPID</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">IFIT</td>
            <td align="left">draft-ietf-idr-bgp-ifit-capabilities-05</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">AMetric</td>
            <td align="left">draft-ietf-idr-bgp-generic-metric-01</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 characteristic 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 characteristic, 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, characteristics within it would potentially be exposed.  Specifications for individual characteristics should consider the consequences of such unintended exposure, and should identify any necessary constraints on propagation.</t>
      </section>
      <section anchor="considerations-for-the-elcv3-characteristic">
        <name>Considerations for the ELCv3 Characteristic</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 anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-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="RFC6286">
          <front>
            <title>Autonomous-System-Wide Unique BGP Identifier for BGP-4</title>
            <author fullname="E. Chen" initials="E." surname="Chen"/>
            <author fullname="J. Yuan" initials="J." surname="Yuan"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>To accommodate situations where the current requirements for the BGP Identifier are not met, this document relaxes the definition of the BGP Identifier to be a 4-octet, unsigned, non-zero integer and relaxes the "uniqueness" requirement so that only Autonomous-System-wide (AS-wide) uniqueness of the BGP Identifiers is required. These revisions to the base BGP specification do not introduce any backward compatibility issues. This document updates RFC 4271. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6286"/>
          <seriesInfo name="DOI" value="10.17487/RFC6286"/>
        </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="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="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>
        <reference anchor="RFC9012">
          <front>
            <title>The BGP Tunnel Encapsulation Attribute</title>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="G. Van de Velde" initials="G." surname="Van de Velde"/>
            <author fullname="S. Sangli" initials="S." surname="Sangli"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>This document defines a BGP path attribute known as the "Tunnel Encapsulation attribute", which can be used with BGP UPDATEs of various Subsequent Address Family Identifiers (SAFIs) to provide information needed to create tunnels and their corresponding encapsulation headers. It provides encodings for a number of tunnel types, along with procedures for choosing between alternate tunnels and routing packets into tunnels.</t>
              <t>This document obsoletes RFC 5512, which provided an earlier definition of the Tunnel Encapsulation attribute. RFC 5512 was never deployed in production. Since RFC 5566 relies on RFC 5512, it is likewise obsoleted. This document updates RFC 5640 by indicating that the Load-Balancing Block sub-TLV may be included in any Tunnel Encapsulation attribute where load balancing is desired.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9012"/>
          <seriesInfo name="DOI" value="10.17487/RFC9012"/>
        </reference>
      </references>
      <references anchor="sec-informative-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="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 "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 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, "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-03"/>
        </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="24" month="February" year="2025"/>
            <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-06"/>
        </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="RFC5065">
          <front>
            <title>Autonomous System Confederations for BGP</title>
            <author fullname="P. Traina" initials="P." surname="Traina"/>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>The Border Gateway Protocol (BGP) is an inter-autonomous system routing protocol designed for Transmission Control Protocol/Internet Protocol (TCP/IP) networks. BGP requires that all BGP speakers within a single autonomous system (AS) must be fully meshed. This represents a serious scaling problem that has been well documented in a number of proposals.</t>
              <t>This document describes an extension to BGP that may be used to create a confederation of autonomous systems that is represented as a single autonomous system to BGP peers external to the confederation, thereby removing the "full mesh" requirement. The intention of this extension is to aid in policy administration and reduce the management complexity of maintaining a large autonomous system.</t>
              <t>This document obsoletes RFC 3065. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5065"/>
          <seriesInfo name="DOI" value="10.17487/RFC5065"/>
        </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="RFC7705">
          <front>
            <title>Autonomous System Migration Mechanisms and Their Effects on the BGP AS_PATH Attribute</title>
            <author fullname="W. George" initials="W." surname="George"/>
            <author fullname="S. Amante" initials="S." surname="Amante"/>
            <date month="November" year="2015"/>
            <abstract>
              <t>This document discusses some existing commonly used BGP mechanisms for Autonomous System Number (ASN) migration that are not formally part of the BGP4 protocol specification. It is necessary to document these de facto standards to ensure that they are properly supported in future BGP protocol work.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7705"/>
          <seriesInfo name="DOI" value="10.17487/RFC7705"/>
        </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>
        <reference anchor="RFC8955">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author fullname="C. Loibl" initials="C." surname="Loibl"/>
            <author fullname="S. Hares" initials="S." surname="Hares"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="M. Bacher" initials="M." surname="Bacher"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>This document defines a Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute (intra-domain and inter-domain) traffic Flow Specifications for IPv4 unicast and IPv4 BGP/MPLS VPN services. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix.</t>
              <t>It also specifies BGP Extended Community encoding formats, which can be used to propagate Traffic Filtering Actions along with the Flow Specification NLRI. Those Traffic Filtering Actions encode actions a routing system can take if the packet matches the Flow Specification.</t>
              <t>This document obsoletes both RFC 5575 and RFC 7674.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8955"/>
          <seriesInfo name="DOI" value="10.17487/RFC8955"/>
        </reference>
      </references>
    </references>
    <?line 401?>

<section anchor="falsepos">
      <name>A Case Where a Link-Local Next Hop Could Lead to a False Positive</name>
      <t>Consider a simple BGP peering topology, with four routers, in three Autonomous Systems:</t>
      <figure>
        <name>A Trivial Peering Topology</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="144" width="248" viewBox="0 0 248 144" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,96" fill="none" stroke="black"/>
              <path d="M 48,32 L 48,56" fill="none" stroke="black"/>
              <path d="M 48,72 L 48,96" fill="none" stroke="black"/>
              <path d="M 64,32 L 64,56" fill="none" stroke="black"/>
              <path d="M 64,72 L 64,96" fill="none" stroke="black"/>
              <path d="M 168,32 L 168,56" fill="none" stroke="black"/>
              <path d="M 168,72 L 168,96" fill="none" stroke="black"/>
              <path d="M 184,32 L 184,56" fill="none" stroke="black"/>
              <path d="M 184,72 L 184,96" fill="none" stroke="black"/>
              <path d="M 224,32 L 224,96" fill="none" stroke="black"/>
              <path d="M 8,32 L 48,32" fill="none" stroke="black"/>
              <path d="M 64,32 L 168,32" fill="none" stroke="black"/>
              <path d="M 184,32 L 224,32" fill="none" stroke="black"/>
              <path d="M 40,64 L 72,64" fill="none" stroke="black"/>
              <path d="M 104,64 L 128,64" fill="none" stroke="black"/>
              <path d="M 160,64 L 192,64" fill="none" stroke="black"/>
              <path d="M 8,96 L 48,96" fill="none" stroke="black"/>
              <path d="M 64,96 L 168,96" fill="none" stroke="black"/>
              <path d="M 184,96 L 224,96" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="200,64 188,58.4 188,69.6" fill="black" transform="rotate(0,192,64)"/>
              <polygon class="arrowhead" points="168,64 156,58.4 156,69.6" fill="black" transform="rotate(180,160,64)"/>
              <polygon class="arrowhead" points="136,64 124,58.4 124,69.6" fill="black" transform="rotate(0,128,64)"/>
              <polygon class="arrowhead" points="112,64 100,58.4 100,69.6" fill="black" transform="rotate(180,104,64)"/>
              <polygon class="arrowhead" points="80,64 68,58.4 68,69.6" fill="black" transform="rotate(0,72,64)"/>
              <polygon class="arrowhead" points="48,64 36,58.4 36,69.6" fill="black" transform="rotate(180,40,64)"/>
              <g class="text">
                <text x="24" y="68">A</text>
                <text x="88" y="68">B</text>
                <text x="144" y="68">C</text>
                <text x="208" y="68">D</text>
                <text x="20" y="116">AS</text>
                <text x="40" y="116">X</text>
                <text x="108" y="116">AS</text>
                <text x="128" y="116">Y</text>
                <text x="196" y="116">AS</text>
                <text x="216" y="116">Z</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 +----+ +------------+ +----+
 |    | |            | |    |
 | A <---> B <--> C <---> D |
 |    | |            | |    |
 +----+ +------------+ +----+
  AS X       AS Y       AS Z   
]]></artwork>
        </artset>
      </figure>
      <t>Suppose A and D support NHC. B and C do not support NHC. In this case, when A originates a route with an attached NHC, if B propagates it to C, and C updates the NEXT_HOP when propagating it to D, D will follow the procedures of <xref target="receiving"/> and will discard the NHC without further processing.</t>
      <t>However, now suppose that on the peerings between A and B, and between C and D, only link-local addresses are used. Further, suppose that A uses link-local address L as its local address on its peering with B, and C also uses the same address, L, as its local address on its peering with D. In the situation described in the previous paragraph, D would have no way of detecting that C had violated the correctness assumptions of this specification, due to the collision between its address and A's.</t>
      <t>It can be seen that since the scope of a link-local address is, of course, only the local link, the problem to be solved is restricted to knowing whether an immediate peer whose link-local address appears in the NHC is truly the originator of that NHC, or if it might be an NHC-incapable speaker that has propagated an NHC that originated elsewhere, with a colliding address.</t>
      <t>It can further be seen that if the procedures of <xref target="bgpid"/> are followed, this issue is resolved since A will attach a BGPID TLV containing its own BGP Identifier and its AS Number, X. Even if C's BGP Identifier is the same as A's, its AS Number is different, and thus D will discard the NHC without further processing.</t>
    </section>
    <section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors of this specification thank Randy Bush, Mach Chen, Wes Hardaker, Jeff Haas, Susan Hares, Ketan Talaulikar, 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="W." surname="Henderickx" fullname="Wim Henderickx">
        <organization>Nokia</organization>
        <address>
          <email>wim.henderickx@nokia.com</email>
        </address>
      </contact>
      <contact initials="J." surname="Uttaro" fullname="James Uttaro">
        <organization>Independent Contributor</organization>
        <address>
          <email>juttaro@ieee.org</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+V96XLcRprgf0XoHXKpHyKnqyp0X32MKVJqsU1RXJEed8/E
hCMLyCrCRAE1SIAULcnPss8yTzbflReAoii3vdG7rW5LVQUgjy+/+8J0Or19
y7a6yn/QZV2ZF6ptOnP7VrFu6KNtH9y79/zeg9u3Mt2+ULbN4fZuviqsLeqq
vVrDEwevTl/fvqUbo1+opl3evnW5hB+r1jSVadWrallUxjRFtVSn2p6r13WT
wQzdOtetsS/Uk6fP703U00ePnt6+dftWXmeVXsGoeaMX7bQw7WJa5M3UVG1T
r6+mpZ6bcnr/Gd7bFm0Jd77887E6Mh9a9aZeq32zNlUOd6u9M93oDFZR2LbI
rNpt26aYd63BR/V83piLF+rozd7tW6WuYMWmun3r/PLF7VtKTdV8ueYP1VnG
H2QBihYAA3TtWd3A3VPV1LgKkxdt3eC9vP6XTVfVsJys0aYy+HvdwCzvGpiM
vpqVLsoXao73zXK575uars+yetUfWoWx/1KfVerPM3WSdXluGj/4m+NX0cg/
Lu03P3ZVsTbNDE4Cx+PHvy0aY9pCfVuv1qYs9Ybnz/m28TFOdHul1dv6TAMW
+AH+3Wa65AXJIHbFt3zzE19yOxMgFZX6HgEvz+/Vq0zbNnoe7vgB7vgm4yvp
49+aCxwAILZpC4tLuLhhB6ZZGvVtU0QA3CtsVquTK9ualY13Yc7xvm8yvM5r
yAD9CZ8AC1QY9ftipd4gBjZFdv7BD3xUnxc6GvCyWM3O/G3fVHg53dtf4G+r
vmtb3dR+mAN4wuN3WEB86B098U1hjJnBM4jsVd2sdFtcGELu96/3Hty//9x/
fvzosfv86MHT+/7z0yf33OcnD5498Z+BXKPPD91nJGD/+ck9f/+z+08fvVBK
vj2/d/8BXCmqRbKmg+n+7ExrS6QOtDfVjlinBvBmHe7yDKECip+e1espXNbz
oizaK3+TZbqgkRLG4e9gKPnpap2HfYe9Pr73xMPm8aPnD/z+nt7zvz978NTv
+9nzx/w7HON0qvTctsiC8AzgqsIhlC7L+tIqTWzLro0+N41qa6XzC9O0hTWq
aK3ymyoACeAq/rYGLjpT3wPawNNNDcBRBfwKu9NLYKW5mpuruspVewYXVivg
GvArPTWB5/HezppFV9JsuAqVwYwaKCjrsUq4YW4UYPiFuYJxF10DY8LcgH9q
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
2/CJ+OmNAAA=

-->

</rfc>
