<?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-scudder-idr-nhc-00" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="NHC">BGP Next Hop Dependent Characteristics Attribute</title>
    <seriesInfo name="Internet-Draft" value="draft-scudder-idr-nhc-00"/>
    <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@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>
    <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>jgs@juniper.net</email>
      </address>
    </author>
    <author initials="K." surname="Wang" fullname="Kevin Wang">
      <organization>HPE</organization>
      <address>
        <email>kfwang@juniper.net</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="2025" month="October" day="14"/>
    <area>rtg</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>bgp</keyword>
    <keyword>nhc</keyword>
    <abstract>
      <?line 70?>

<t>RFC 5492 allows a BGP speaker to advertise its capabilities to its peer. When a route is propagated beyond the immediate peer, it is useful to allow certain 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>
  </front>
  <middle>
    <?line 76?>

<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, 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>
    <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 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_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 yield 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.</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 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_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 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>
      </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="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-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"/>, 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 that 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="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">draft-scudder-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-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 the 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>
  </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="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="14" month="October" 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-07"/>
        </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="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 321?>

<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+Vd6VYcR5b+zzl6hxj0QzBdVUerZcltt0uALGyEGMDtXk4f
n6jMqCJMVmZ1RiYII/ws8yzzZHO3iIxcCiH3eE7PNN0WVbnEcuMu310iGI/H
9zZcpfP0R50VuXmpqrI29zbsqqSPrnr88OGLh4/vbSS6eqlclcLj9WxpnbNF
Xl2t4I39vdPX9zZ0afRLVVaLexuXC7iYV6bMTaX28oXNjSltvlCn2p2r10WZ
QA/3NtIiyfUSGkhLPa/GLqnT1JRjm5bj/CwZP3yID1W2yuCRV98cqUPzvlJv
ipXaNSuTpyav1M6ZLnUCPVlX2cSpaVWVdlZX1L6ezUpz8VIdvtm5t5HpHEZl
8nsb55cv720oNVazxYo/QG/wdF2dFSXcGquywC5NaquixCd4lK/KOi+g76TU
Jjd4vSihyXcltExfzVLb7KWa4XOTVJ77uqD7k6RYYtPc1He2NKay6rtiuTJZ
pkNjb472opbO+bGvf6pzuzLlBMjZtHFiyoVR35XWlOH1HeuSQp1cucosXdSQ
M+f43NcJ3m8P5URXV1q9Lc40rGZo6C8u0Rk37JtY8iNf/8y3fCsxrVRDrG+L
s1x9M1EnvKhrJvjTwg1P7jtzYXP1A1BuHWnml3Bz+OVX+CqutKdKsUy0q6K3
4Ykf4YmvE77Dc0mAn4l5gAtU09oPdqneILuVNjl/Hxo9LM6tjpq8tMvJWXjs
6xxvtyn9Lfzr1PdVpcsiNLMPbwRmbgYQ06imN762xpgJvIOcnRflUlf2whAn
H7/eefzo0Yvw+dnTZ/7z08fPH4XPzz976D9/9vjzz8Ln5y+e+M/wSLj++aPn
T18qoITN563+9se7kzOtHUkqCNFYe6kbG2COVfOUNdWc5RlEd3xWrMZwW89s
Zqur8JCXe2wJyFAWq6txpmcmC08wBUJ3hU6bOTXzePbwszDvZ09fPA5zev4w
XP/8xTP+DMsyHis9cxXqD6Qp3FX4mtJZVlw6pUnnuJXR56ZUVaF0emHKyjqj
bOVUmIiFRYW7eG0Fam6ifgA2gLfLAgiiLFyFGemFrkyqZuaqyFNVncGN5RKE
Bq7SWyN4H5+tnZnXGfWGo1AJ9KiBnZOOnoMHZkYBx16YK2h3XpfQJvQN/KRW
GkaZ1JkeajXMAZb0UpcpauUV6Ea4YHRVl8ZNkBinZ/AazD2xcwuKH1S9Ss0c
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
WpyNIiFsFjGsAilXNpj/Dcy1o5xHcgAA

-->

</rfc>
