<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-idr-nhc-07" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="NHC">BGP Next Hop Dependent Characteristics Attribute</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-idr-nhc-07"/>
    <author initials="B." surname="Decraene" fullname="Bruno Decraene" role="editor">
      <organization>Orange</organization>
      <address>
        <email>bruno.decraene@orange.com</email>
      </address>
    </author>
    <author initials="K." surname="Kompella" fullname="Kireeti Kompella">
      <organization>HPE</organization>
      <address>
        <email>kireeti.kompella@hpe.com</email>
      </address>
    </author>
    <author initials="S." surname="Krier" fullname="Serge Krier">
      <organization>Cisco Systems</organization>
      <address>
        <email>sekrier@cisco.com</email>
      </address>
    </author>
    <author initials="S." surname="Mohanty" fullname="Satya Mohanty">
      <organization>Zscaler</organization>
      <address>
        <email>smohanty@zscaler.com</email>
      </address>
    </author>
    <author initials="J. G." surname="Scudder" fullname="John G. Scudder" role="editor">
      <organization>HPE</organization>
      <address>
        <email>john.scudder@hpe.com</email>
      </address>
    </author>
    <author initials="K." surname="Wang" fullname="Kevin Wang">
      <organization>HPE</organization>
      <address>
        <email>kevin.wang@hpe.com</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="2026" month="June" day="04"/>
    <area>rtg</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>bgp</keyword>
    <keyword>nhc</keyword>
    <abstract>
      <?line 81?>

<t>RFC 5492 allows a BGP speaker to advertise its capabilities to a 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>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-idr-nhc/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        IDR Working Group mailing list (<eref target="mailto:idr@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/idr/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/idr/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 87?>

<section anchor="intro">
      <name>Introduction</name>
      <t><xref target="RFC5492"/> allows a Border Gateway Protocol (BGP) speaker to advertise its capabilities to a 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 support 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, the 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, which depends on the ability of the next hop to support it. Hence, it is said to be "dependent on" the next hop.</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 anchor="terminology">
        <name>Terminology</name>
        <t>Throughout this document, "NHC" is used both to refer to the Next Hop Dependent Characteristics Attribute itself and, when used adjectivally, to the framework and individual characteristics carried within that attribute.</t>
        <t>Throughout this document, requirements directed at a "BGP speaker" mean a BGP speaker that supports this specification. A BGP speaker can be said to support this specification if support is present in the implementation, and is enabled (or, not disabled) in its configuration.</t>
      </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 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, Subsequent Address Family Identifier ("SAFI"), Length of Next Hop Network Address ("Next Hop Len"), 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. Values are taken from the registry (<xref target="iana"/>).</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 Values.  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> 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 characteristic. 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"/>.</t>
        <t>Due to the nature of BGP optional transitive path attributes, any BGP speaker that does not support 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 yield a false positive. An illustration is provided in <xref target="falsepos"/>.</t>
          <t>To mitigate this problem, if a BGP speaker constructs 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.</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 anchor="when-next-hop-resolution-is-irrelevant-to-forwarding">
          <name>When Next Hop Resolution is Irrelevant to Forwarding</name>
          <t>In some cases, forwarding routes can be derived from a BGP route without regard to its next hop. One example is when the Tunnel Encapsulation Attribute <xref target="RFC9012"/> Tunnel Egress Endpoint Sub-TLV is used to point to a remote router. (The final paragraph of Section 7.2 of RFC 9012 includes a warning about this case.)</t>
          <t>The use of NHC is not completely precluded in such scenarios. The principle to be followed is that the router that attaches the attribute needs to have reliable knowledge that the information it includes with the NHC accurately depicts the forwarding plane that packets will encounter when forwarded according to the route. If the router cannot accurately make that determination, it <bcp14>MUST NOT</bcp14> attach the NHC.</t>
          <t>A remaining concern pertains to intermediate routers. It's possible that such a router might not support this specification and might change some aspect of the route that affects forwarding, without changing the next hop. An example is if a route carried a Tunnel Encapsulation Attribute that was stripped by an intermediate router. Such scenarios are fraught with danger even in the absence of the NHC, but are not precluded by the protocol.</t>
          <t>Owing to these considerations, use of NHC in situations where forwarding is, or might be, noncongruent with the next hop, should be done with care.</t>
        </section>
        <section anchor="anycast">
          <name>Anycast Next Hops</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>
        </section>
      </section>
      <section anchor="receiving">
        <name>Receiving the NHC</name>
        <t>An implementation receiving routes with an 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"/>.</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. (An exception is discussed in <xref target="rcv_bgpid"/>.) If the two match, the NHC may be further processed. If the two do not match, it means that 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, but 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>
        <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 in <xref target="anycast"/>, although that is only one of many possible causes. In such a case, an implementation <bcp14>MAY</bcp14> log an error to help diagnose the potential problem.</t>
        <section anchor="receiving-private-or-experimental-characteristics">
          <name>Receiving Private or Experimental Characteristics</name>
          <t>The characteristic code point space includes ranges designated for Private and Experimental uses (<xref target="iana"/>). When receiving routes that include the NHC from an external peer, the local BGP speaker <bcp14>SHOULD</bcp14> disregard and remove any characteristics from these ranges unless it has been explicitly configured to accept them. In this context, "external peer" means an EBGP peer located in a neighboring autonomous system (that is not a member of the local confederation, if confederations <xref target="RFC5065"/> are in use).</t>
        </section>
      </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"/>), <bcp14>MUST</bcp14> 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"/>. ("Attribute discard" is warranted since Characteristics are expected not to influence route selection; see <xref target="receiving"/> for a more detailed analysis.)</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.</t>
        <t>There is no reason to propagate an NHC that contains no characteristic TLVs, and so such NHCs <bcp14>MUST NOT</bcp14> be further propagated.</t>
        <t>A document that specifies a new NHC Characteristic should provide specifics regarding what constitutes an error for that new characteristic TLV.</t>
        <t>If a characteristic TLV is malformed, that characteristic TLV <bcp14>SHOULD</bcp14> be ignored and removed.  Other characteristic TLVs <bcp14>MUST</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 about any differences compared to the defaults described above.</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 constructed 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 router that constructs such a route. The BGP Identifier Characteristic (BGPID) provides a way to convey this information if required. In the following subsection, the term "sender" means the router that has constructed the next hop and is constructing the BGPID.</t>
      <section anchor="encoding-1">
        <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"/>, when a route includes only a link-local address and no global address, the BGPID is included, per the requirement in <xref target="llnh"/>.</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"/>, when a route includes only a link-local address and no global address, a next hop received from a given peer <bcp14>MUST NOT</bcp14> be considered a "semantic match" (as discussed in <xref target="receiving"/>) for the NHC unless the BGP Identifier and Autonomous System of that peer match the BGP Identifier and Autonomous System Number 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>
        <section anchor="not-receiving-the-bgpid">
          <name>Not Receiving the BGPID</name>
          <t>Under the circumstances described in <xref target="llnh"/>, when a route includes only a link-local address and no global address, 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 <bcp14>MUST</bcp14> be disregarded if its length is other than eight, or if the BGP Identifier field contains the value zero.</t>
        <t>If more than one instance of the BGPID is included in an NHC, instances beyond the first <bcp14>MUST</bcp14> be disregarded and <bcp14>MUST NOT</bcp14> be propagated further.</t>
      </section>
    </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">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 "Next Hop Dependent Characteristic Codes" within the Border Gateway Protocol (BGP) Parameters group. The registry's allocation policy is First Come, First Served, except that values 0 and 65535 are reserved, the range 65400-65499 is designated for private use, and the range 65500-65534 is reserved for experimental use. This is also indicated 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">draft-ietf-idr-elc-00</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">NNHN</td>
            <td align="left">draft-ietf-idr-next-next-hop-nodes-00</td>
            <td align="left">IETF</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">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>
      <t>The current versions of the above-referenced documents can be found at <xref target="I-D.ietf-idr-elc"/>, <xref target="I-D.ietf-idr-next-next-hop-nodes"/>, <xref target="I-D.ietf-idr-bgp-ifit-capabilities"/>, and <xref target="I-D.ietf-idr-bgp-generic-metric"/>, respectively.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <aside>
        <t>RFC Editor: Please remove this entire section before publication, as well 
as the reference to RFC 7942.</t>
      </aside>
      <t>This section refers the reader to the status of known implementations of the
protocol defined by this specification at the time of posting of
this Internet-Draft, and is based on a proposal described in
<xref target="RFC7942"/>.  The description of implementations referenced by this section is
intended to assist the IETF in its decision processes in
progressing drafts to RFCs.  Please note that the listing of any
individual implementation does not imply endorsement by the
IETF.  Furthermore, no effort has been spent to verify the
information presented that was supplied by IETF contributors.
This is not intended as, and must not be construed to be, a
catalog of available implementations or their features.  Readers
are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working
groups to assign due consideration to documents that have the
benefit of running code, which may serve as evidence of valuable
experimentation and feedback that have made the implemented
protocols more mature.  It is up to the individual working groups
to use this information as they see fit".</t>
      <t>Implementations are reported at <eref target="https://wiki.ietf.org/group/idr/implementations/draft-ietf-idr-nhc">the IDR implementation status Wiki</eref>.</t>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>The header portion of the NHC contains the next hop that was included by the attribute's originator 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 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. A network operator may prefer to configure routers peering with Autonomous Systems not under their administrative control not to send or accept the NHC or its contained characteristics, 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 support 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 support 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>
      <t><xref target="RFC8799"/> discusses Limited Domains and Internet Protocols. The functionality defined in this document might be useful in realizing the control plane of some kinds of limited domains.</t>
    </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="RFC6793">
          <front>
            <title>BGP Support for Four-Octet Autonomous System (AS) Number Space</title>
            <author fullname="Q. Vohra" initials="Q." surname="Vohra"/>
            <author fullname="E. Chen" initials="E." surname="Chen"/>
            <date month="December" year="2012"/>
            <abstract>
              <t>The Autonomous System number is encoded as a two-octet entity in the base BGP specification. This document describes extensions to BGP to carry the Autonomous System numbers as four-octet entities. This document obsoletes RFC 4893 and updates RFC 4271. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6793"/>
          <seriesInfo name="DOI" value="10.17487/RFC6793"/>
        </reference>
        <reference anchor="RFC7606">
          <front>
            <title>Revised Error Handling for BGP UPDATE Messages</title>
            <author fullname="E. Chen" initials="E." role="editor" surname="Chen"/>
            <author fullname="J. Scudder" initials="J." role="editor" surname="Scudder"/>
            <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <date month="August" year="2015"/>
            <abstract>
              <t>According to the base BGP specification, a BGP speaker that receives an UPDATE message containing a malformed attribute is required to reset the session over which the offending attribute was received. This behavior is undesirable because a session reset would impact not only routes with the offending attribute but also other valid routes exchanged over the session. This document partially revises the error handling for UPDATE messages and provides guidelines for the authors of documents defining new attributes. Finally, it revises the error handling procedures for a number of existing attributes.</t>
              <t>This document updates error handling for RFCs 1997, 4271, 4360, 4456, 4760, 5543, 5701, and 6368.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7606"/>
          <seriesInfo name="DOI" value="10.17487/RFC7606"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references 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="Jeff Haas" initials="J." surname="Haas">
              <organization>HPE</organization>
            </author>
            <date day="29" month="May" year="2026"/>
            <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-04"/>
        </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="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="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC8799">
          <front>
            <title>Limited Domains and Internet Protocols</title>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="B. Liu" initials="B." surname="Liu"/>
            <date month="July" year="2020"/>
            <abstract>
              <t>There is a noticeable trend towards network behaviors and semantics that are specific to a particular set of requirements applied within a limited region of the Internet. Policies, default parameters, the options supported, the style of network management, and security requirements may vary between such limited regions. This document reviews examples of such limited domains (also known as controlled environments), notes emerging solutions, and includes a related taxonomy. It then briefly discusses the standardization of protocols for limited domains. Finally, it shows the need for a precise definition of "limited domain membership" and for mechanisms to allow nodes to join a domain securely and to find other members, including boundary nodes.</t>
              <t>This document is the product of the research of the authors. It has been produced through discussions and consultation within the IETF but is not the product of IETF consensus.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8799"/>
          <seriesInfo name="DOI" value="10.17487/RFC8799"/>
        </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>
        <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>
        <reference anchor="I-D.ietf-idr-elc">
          <front>
            <title>BGP Entropy Label Characteristic</title>
            <author fullname="Bin Wen" initials="B." surname="Wen">
              <organization>Comcast</organization>
            </author>
            <author fullname="Kevin Wang" initials="K." surname="Wang">
              <organization>HPE</organization>
            </author>
            <author fullname="John Scudder" initials="J." surname="Scudder">
              <organization>HPE</organization>
            </author>
            <author fullname="SATYA R MOHANTY" initials="M. R." surname="Satya">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Serge Krier" initials="S." surname="Krier">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
              <organization>HPE</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <date day="2" month="November" year="2025"/>
            <abstract>
              <t>   The BGP Next Hop Dependent Characteristics Attribute (NHC) provides a
   way for a BGP speaker to advertise certain characteristics of routes.
   In particular, it is useful to advertise forwarding plane features.

   This specification 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>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-elc-00"/>
        </reference>
        <reference anchor="I-D.ietf-idr-next-next-hop-nodes">
          <front>
            <title>BGP Next-next Hop Nodes</title>
            <author fullname="Kevin Wang" initials="K." surname="Wang">
              <organization>HPE</organization>
            </author>
            <author fullname="Jeff Haas" initials="J." surname="Haas">
              <organization>HPE</organization>
            </author>
            <author fullname="Changwang Lin" initials="C." surname="Lin">
              <organization>New H3C Technologies</organization>
            </author>
            <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
              <organization>Nvidia</organization>
            </author>
            <date day="26" month="May" year="2026"/>
            <abstract>
              <t>   BGP speakers learn their next hop addresses for NLRI in RFC 4271 in
   the NEXT_HOP field and in RFC 4760 in the "Network Address of Next
   Hop" field.  Under certain circumstances, it might be desirable for a
   BGP speaker to know both the next hops and the next-next hops of NLRI
   to make optimal forwarding decisions.  One such example is global
   load balancing (GLB) in a Clos network.

   Draft-ietf-idr-nhc defines the "Next Hop Dependent Characteristics
   Attribute" (NHC) which allows a BGP speaker to signal the forwarding
   characteristics associated with a given next hop.

   This document defines a new NHC characteristic, the Next-next Hop
   Nodes (NNHN) characteristic, which can be used to advertise the next-
   next hop nodes associated with a given next hop.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-next-next-hop-nodes-01"/>
        </reference>
        <reference anchor="I-D.ietf-idr-bgp-ifit-capabilities">
          <front>
            <title>Advertising In-situ Flow Information Telemetry (IFIT) Capabilities in BGP</title>
            <author fullname="Giuseppe Fioccola" initials="G." surname="Fioccola">
              <organization>Huawei</organization>
            </author>
            <author fullname="Ran Pang" initials="R." surname="Pang">
              <organization>China Unicom</organization>
            </author>
            <author fullname="Subin Wang" initials="S." surname="Wang">
              <organization>China Telecom</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Shunwan Zhuang" initials="S." surname="Zhuang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Haibo Wang" initials="H." surname="Wang">
              <organization>Huawei</organization>
            </author>
            <date day="17" month="April" year="2026"/>
            <abstract>
              <t>   In-situ Flow Information Telemetry (IFIT) refers to network OAM data
   plane on-path telemetry techniques, in particular In-situ OAM (IOAM)
   and Alternate Marking.  This document defines a new Characteristic to
   advertise the In-situ Flow Information Telemetry (IFIT) capabilities.
   Within an IFIT domain, the IFIT capabilities advertisement from the
   tail node to the head node assists the head node to determine whether
   a particular IFIT Option type can be encapsulated in data packets.
   Such advertisement helps mitigating the leakage threat and
   facilitating the deployment of IFIT measurements on a per-service and
   on-demand basis.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-ifit-capabilities-09"/>
        </reference>
        <reference anchor="I-D.ietf-idr-bgp-generic-metric">
          <front>
            <title>Accumulated Metric in NHC attribute</title>
            <author fullname="Srihari R. Sangli" initials="S. R." surname="Sangli">
              <organization>Juniper Networks Inc.</organization>
            </author>
            <author fullname="Shraddha Hegde" initials="S." surname="Hegde">
              <organization>Juniper Networks Inc.</organization>
            </author>
            <author fullname="Reshma Das" initials="R." surname="Das">
              <organization>Juniper Networks Inc.</organization>
            </author>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Bin Wen" initials="B." surname="Wen">
              <organization>Comcast</organization>
            </author>
            <author fullname="Marcin Kozak" initials="M." surname="Kozak">
              <organization>Comcast</organization>
            </author>
            <author fullname="Jie Dong" initials="J." surname="Dong">
              <organization>Huawei</organization>
            </author>
            <author fullname="Luay Jalil" initials="L." surname="Jalil">
              <organization>Verizon</organization>
            </author>
            <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
              <organization>Cisco</organization>
            </author>
            <date day="6" month="January" year="2026"/>
            <abstract>
              <t>   RFC7311 describes mechanism for carrying accumulated IGP cost across
   BGP domains however it limits to IGP-metric only.  There is a need to
   accumulate and propagate different types of metrics as it will aid in
   intent-based end-to-end path across BGP domains.  This document
   defines BGP extensions for generic metric sub-types that enable
   different types of metrics to be accumulated and carried in BGP.
   This is applicable when multiple domains exchange BGP routing
   information.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-generic-metric-02"/>
        </reference>
      </references>
    </references>
    <?line 381?>

<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>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>The authors of the present specification thank Donatas Abraitis, Mohamed Boucadair, Randy Bush, Mach Chen, Giuseppe Fioccola, Wes Hardaker, Jeff Haas, Susan Hares, Mahesh Jethanandani, Gyan Mishra, Ketan Talaulikar, Gunter van de Velde, and Eric Vyncke for their review and comments. Thanks are also due to Eric Rosen, Jie Dong, and Robert Raszuk for their review and comments on <xref target="I-D.ietf-idr-next-hop-capability"/>, and to Swadesh Agrawal, Alia Atlas, Martin Djernaes, John Drake, Adrian Farrell, Keyur Patel, Toby Rees, and Ravi Singh for their review and comments on <xref target="I-D.scudder-bgp-entropy-label"/>.</t>
    </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+V963LcRnrof1bpHTqjHyKzM2PdZcm7jimSsmhLFA9Jr7NJ
pbZ6Bj3DNjHABA2Qoin5Wc6znCc7360b3QCGkjZxsqk4WZsDNPry9Xe/dE8m
kztbrtZF9ledl4V5oeqqMXe27LqiP1398P795/cf3tma6/qFcnUGzZvZyjpn
y6K+XsMXhwdnr+5s6croF6qql3e2rpbwsKhNVZhaHRRLWxhT2WKpzrS7UK/K
ag4j3NnKynmhV9BBVulFPbGmXkxsVk2K8/nk/jNsUds6h/cvvz9WR+Z9rV6X
a7Vv1qbITFGrvXNd6TkMY11t507t1nVlZ01NnevZrDKXL9TR6707W7kuYEqm
uLN1cfXizpZSEzVbrvkPGO3O1qUpGkNvllXZrF+o0eH+yQh/8xJHP5fVBa7g
e3xNL1ba5vACJvwdznxaVkt6rqv5OTw/r+u1e/HVV9gMH9lLM/XtvsIHX82q
8sqZr6CDr+BD3dTnZQVTmKiqxEWbzNZlhT0ykF5WTVHC6ueVNoXB59DTC/Wu
grXRT8MzmmG7aSbtvivp/XRerrBr7upHWxlTW/VjuVqbPNehs9fHB1FPF9xs
eiHNvjtfdzo6NdXSqB8ra6rQx55181KdXrvarFzUmzMX2O67Ob7vdKPra63e
lucaMCp09C9urnPu2Hex4ibf/cqvfC8xwFQLsR/K80J9P1Wn8ybLohmmq/wF
Wk0dN+mv8EdzaQv1M8BwE5CwwfQKGvQ/fomfItZ50JSruXZ19DW0+Cu0+G7O
b/jzORAWITLgg2p7+9mu1GtE/crOL96HTo/KC6ujLq/sanoemn1X4Ot0Wj/A
v536qa51VYZuDuGLQFjtBGJANfQFYLsxiMVIZUVZrXQNuE20c/Jq7+GDB8/D
308eP/F/P3747EH4+9nT+/7vpw+/fhr+fvb8kf8bmoTnXz949viFAkjYYpGM
dzjZn55r7YhrAEFPtOcAEwMYsm5btbwF2MjkvFxP4LWe2dzW16GRIAH1BGCo
yvX1JNczk7cTbyf75P7TsLgnj58/DBN/dj88f/b8cXj+9bPnATBfP38S2jy/
/+Bhf5omn2+Ye1hAUWbG9Rvh5O3C1u0C7aZmS+APgCSTlQGo8XiAJJOJ0jNX
I2fFHYYpKlyf0nkO/Epp4sZubfSFqVRdKp1dmqq2zihbOxWPSm/VGnj/VP0M
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

-->

</rfc>
