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

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

<section anchor="intro">
      <name>Introduction</name>
      <t><xref target="RFC5492"/> allows a Border Gateway Protocol (BGP) speaker to advertise its capabilities to its peer. When a route is propagated beyond the immediate peer, it is useful to allow certain capabilities to be conveyed further.  In particular, it may be useful to advertise forwarding plane features.</t>
      <t>This specification defines a BGP optional transitive attribute to carry such capability information, the "Next-Hop Dependent Capabilities Attribute", or NHC. (Note that this specification should not be confused with RFC 5492 BGP Capabilities.)</t>
      <t>Since the NHC is intended chiefly for conveying information about forwarding plane features, it needs to be regenerated whenever the BGP route's next hop is changed. Since owing to the properties of BGP transitive attributes this can't be guaranteed (an intermediate router that doesn't implement this specification would be expected to propagate the NHC as opaque data), the NHC encodes the next hop of its originator, or the router that most recently updated the attribute. If the NHC passes through a router that changes the next hop without regenerating the NHC, they will fail to match when later examined, and the recipient can act accordingly. This scheme allows NHC support to be introduced into a network incrementally. Informally, the intent is that,</t>
      <ul spacing="normal">
        <li>If a router is not changing the next hop, it can obliviously propagate the NHC just like any other optional transitive attribute.</li>
        <li>If a router is changing the next hop, then it has to be able to vouch for every capability it includes in the NHC.</li>
      </ul>
      <t>Complete details are provided in <xref target="tbrc"/>.</t>
      <t>An NHC carried in a given BGP UPDATE message conveys information that relates to all Network Layer Reachability Information (NLRI) advertised in that particular UPDATE, and only to those NLRI. A different UPDATE message originated by the same source might not include an NHC, and if so, NLRI carried in that UPDATE would not be affected by the NHC. By implication, if a router wishes to use NHC to describe all NLRI it originates, it needs to include an NHC with each UPDATE it sends. In this respect, despite its similar naming, the NHC is unlike RFC 5492 BGP Capabilities.</t>
      <t>Informally, a capability included in a given NHC should not be thought of as a capability of the next hop, but rather a capability of the path, that depends on the ability of the next hop to support it. Hence it is said to be "dependent on" the next hop.</t>
      <t>This specification also defines an NHC capability, called "ELCv3", to advertise the ability to process the Multiprotocol Label Switching (MPLS) Entropy Label as an egress Label Switching Router (LSR) for all NLRI advertised in the BGP UPDATE.  It updates <xref target="RFC6790"/> and <xref target="RFC7447"/> with regard to this BGP signaling, this is further discussed in <xref target="elcv3"/>. Although ELCv3 is only relevant to labeled NLRI, a future NHC capability might be applicable to non-labeled NLRI, or to both, irrespective of labels.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="tbrc">
      <name>BGP Next-Hop Dependent Capabilities Attribute</name>
      <section anchor="encoding">
        <name>Encoding</name>
        <t>The BGP Next-Hop Dependent Capabilities attribute (NHC attribute, or just NHC) is an optional, transitive BGP path attribute with type code 39. The NHC always includes a network layer address identifying the next hop of the route the NHC accompanies. The NHC signals potentially useful information, so it is desirable to make it transitive; the next hop data is to ensure correctness if it traverses BGP speakers that do not understand the NHC. This is further explained below.</t>
        <t>The Attribute Data field of the NHC attribute is encoded as a header portion that identifies the router that created or most recently updated the attribute, followed by one or more capability Type-Length-Value (TLV) triples:</t>
        <figure anchor="nhcformat">
          <name>NHC Format</name>
          <artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Address Family Identifier   |     SAFI      | Next Hop Len  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~             Network Address of Next Hop (variable)            ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                   Capability TLVs (variable)                  ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The meanings of the header fields (Address Family Identifier, SAFI or Subsequent Address Family Identifier, Length of Next Hop, and Network Address of Next Hop) are as given in Section 3 of <xref target="RFC4760"/>.</t>
        <t>In turn, each Capability is a TLV:</t>
        <figure>
          <name>Capability TLV Format</name>
          <artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Capability Code        |        Capability Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                  Capability Value (variable)                  ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Capability Code: a two-octet unsigned binary integer that indicates the type of capability advertised and unambiguously identifies an individual capability.</t>
        <t>Capability Length: a two-octet unsigned binary integer that indicates the length, in octets, of the Capability Value field.  A length of 0 indicates that the Capability Value field is zero-length, i.e. it has a null value.</t>
        <t>Capability Value: a variable-length field.  It is interpreted according to the value of the Capability Code.</t>
        <t>A BGP speaker <bcp14>MUST NOT</bcp14> include more than one instance of a capability with the same Capability Code, Capability Length, and Capability Value.  Note, however, that processing multiple instances of such a capability does not require special handling, as additional instances do not change the meaning of the announced capability; thus, a BGP speaker <bcp14>MUST</bcp14> be prepared to accept such multiple instances.</t>
        <t>BGP speakers <bcp14>MAY</bcp14> include more than one instance of a capability (as identified by the Capability Code) with different Capability Value.  Processing of these capability instances is specific to the Capability Code and <bcp14>MUST</bcp14> be described in the document introducing the new capability.</t>
        <t>Capability TLVs <bcp14>MUST</bcp14> be placed in the NHC in increasing order of Capability Code. (In the event of multiple instances of a capability with the same Capability Code as discussed above, no further sorting order is defined here.)  Although the major sorting order is mandated, an implementation <bcp14>MUST</bcp14> elect to be prepared to consume capabilities in any order, for robustness reasons.</t>
      </section>
      <section anchor="sending-the-nhc">
        <name>Sending the NHC</name>
        <t>Suppose a BGP speaker S has a route R it wishes to advertise with next hop N to its peer.</t>
        <t>If S is originating R into BGP, it <bcp14>MAY</bcp14> include an NHC attribute with it, that carries capability TLVs that describe aspects of R. S <bcp14>MUST</bcp14> set the next hop depicted in the header portion of the NHC to be equal to N, using the encoding given above.</t>
        <t>If S has received R from some other BGP speaker, two possibilities exist. First, S could be propagating R without changing N. In that case, S need take no special action, it <bcp14>SHOULD</bcp14> simply propagate the NHC unchanged unless specifically configured otherwise. Indeed, we observe that this is no different from the default action a BGP speaker takes with an unrecognized optional transitive attribute -- it is treated as opaque data and propagated.</t>
        <t>Second, S could be changing R in some way, and in particular, it could be changing N. If S has changed N it <bcp14>MUST NOT</bcp14> propagate the NHC unchanged. It <bcp14>SHOULD</bcp14> include a newly-constructed NHC attribute with R, constructed as described above in the "originating R into BGP" case. Any given capability TLV carried by the newly-constructed NHC attribute might use information from the received NHC attribute as input to its construction, possibly as straightforwardly as simply copying the TLV. The details of how the capabilities in the new NHC are constructed are specific to the definition of each capability. Any capability TLVs received by S that are for capabilities not supported by S will not be included in the version of R constructed by S.</t>
        <t>An implementation <bcp14>SHOULD</bcp14> send the NHC and its contained capabilities by default. An implementation <bcp14>SHOULD</bcp14> provide configuration control of whether any given capability is sent. An implementation <bcp14>MAY</bcp14> provide finer-grained control on propagation based on attributes of the peering session, as discussed in <xref target="Security_NHC"/>.</t>
        <t>Due to the nature of BGP optional transitive path attributes, any BGP speaker that does not implement this specification will propagate the NHC, the requirements of this section notwithstanding. Such a speaker will not update the NHC, however.</t>
      </section>
      <section anchor="receiving">
        <name>Receiving the NHC</name>
        <t>An implementation <bcp14>SHOULD</bcp14> accept the NHC and its contained capabilities by default. An implementation <bcp14>SHOULD</bcp14> provide configuration control of whether any given capability is accepted. An implementation <bcp14>MAY</bcp14> provide finer-grained control on propagation based on attributes of the peering session, as discussed in <xref target="Security_NHC"/>.</t>
        <t>When a BGP speaker receives a BGP route that includes the NHC, it <bcp14>MUST</bcp14> compare the address given in the header portion of the NHC and illustrated in <xref target="nhcformat"/> to the next hop of the BGP route. If the two match, the NHC may be further processed. If the two do not match, it means some intermediate BGP speaker that handled the route in transit both does not support NHC, and changed the next hop of the route. In this case, the contents of the NHC cannot be used, and the NHC <bcp14>MUST</bcp14> be discarded without further processing, except that the contents <bcp14>MAY</bcp14> be logged.</t>
        <t>In considering whether the next hop "matches", a semantic match is sought. While bit-for-bit equality is a trivial test of matching, there may be certain cases where the two are not bit-for-bit equal, but still "match". An example is when an MP_REACH Next Hop encodes both a global and a link-local IPv6 address. In that case, the link-local address might be removed during Internal BGP (IBGP) propagation, the two would still be considered to match if they were equal on the global part. See Section 3 of <xref target="RFC2545"/>.</t>
        <t>A BGP speaker receiving a Capability Code that it supports behaves as defined in the document defining the Capability Code.  A BGP speaker receiving a Capability Code that it does not support <bcp14>MUST</bcp14> ignore that Capability Code.  In particular, the receipt of an unrecognized Capability Code <bcp14>MUST NOT</bcp14> be handled as an error.</t>
        <t>The presence of a capability <bcp14>SHOULD NOT</bcp14> influence route selection or route preference, unless tunneling is used to reach the BGP next hop, the selected route has been learned from External BGP (that is, the next hop is in a different Autonomous System), or by configuration (see following).  Indeed, it is in general impossible for a node to know that all BGP routers of the Autonomous System (AS) will understand a given capability, and if different routers within an AS were to use a different preference for a route, forwarding loops could result unless tunneling is used to reach the BGP next hop. Following this reasoning, if the administrator of the network is confident that all routers within the AS will interpret the presence of the capability in the same way, they could relax this restriction by configuration.</t>
      </section>
      <section anchor="attribute-error-handling">
        <name>Attribute Error Handling</name>
        <t>An NHC is considered malformed if the length of the attribute, encoded in the Attribute Length field of the BGP Path Attribute header (Section 4.3 of <xref target="RFC4271"/>), is inconsistent with the lengths of the contained capability TLVs. In other words, the sum of the sizes (Capability Length plus 4) of the contained capability TLVs, plus the length of the NHC header (<xref target="nhcformat"/>), must be equal to the overall Attribute Length.</t>
        <t>A BGP UPDATE message with a malformed NHC <bcp14>SHALL</bcp14> be handled using the approach of "attribute discard" defined in <xref target="RFC7606"/>.</t>
        <t>Unknown Capability Codes <bcp14>MUST NOT</bcp14> be considered to be an error.</t>
        <t>An NHC that contains no capability TLVs <bcp14>MAY</bcp14> be considered malformed, although it is observed that the prescribed behavior of "attribute discard" is semantically no different from that of having no TLVs to process.</t>
        <t>A document that specifies a new NHC Capability should provide specifics regarding what constitutes an error for that NHC Capability.</t>
        <t>If a capability TLV is malformed, that capability TLV <bcp14>SHOULD</bcp14> be ignored and removed.  Other capability TLVs <bcp14>SHOULD</bcp14> be processed as usual. If a given capability TLV requires different error-handling treatment than described in the previous sentences, its specification should provide specifics.</t>
      </section>
      <section anchor="network-operation-considerations">
        <name>Network Operation Considerations</name>
        <t>In the corner case where multiple nodes use the same IP address as their BGP next hop, such as with anycast nodes as described in <xref target="RFC4786"/>, a BGP speaker <bcp14>MUST NOT</bcp14> advertise a given capability unless all nodes sharing this same IP address support this capability. The network operator operating those anycast nodes is responsible for ensuring that an anycast node does not advertise a capability not supported by all nodes sharing this anycast address.  The means for accomplishing this are beyond the scope of this document.</t>
      </section>
    </section>
    <section anchor="elcv3">
      <name>Entropy Label Capability (ELCv3)</name>
      <t>The foregoing sections define the NHC as a container for capability TLVs. The Entropy Label Capability is one such capability.</t>
      <t>When BGP <xref target="RFC4271"/> is used for distributing labeled NLRI as described in, for example, <xref target="RFC8277"/>, the route may include the ELCv3 as part of the NHC.  The inclusion of this capability with a route indicates that the egress of the associated Label Switched Path (LSP) can process entropy labels as an egress LSR for that route -- see Section 4.1 of <xref target="RFC6790"/>. Below, we refer to this for brevity as being "EL-capable."</t>
      <t>For historical reasons, this capability is referred to as "ELCv3", to distinguish it from the prior Entropy Label Capability (ELC) defined in <xref target="RFC6790"/> and deprecated in <xref target="RFC7447"/>, and the ELCv2 described in <xref target="I-D.scudder-bgp-entropy-label"/>.</t>
      <t>This section (and its subsections) replaces Section 5.2 of <xref target="RFC6790"/>, which was previously deprecated by <xref target="RFC7447"/>.</t>
      <section anchor="encoding-1">
        <name>Encoding</name>
        <t>The ELCv3 has capability code 1, capability length 0, and carries no value:</t>
        <figure>
          <name>ELCv3 TLV Format</name>
          <artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Capability Code = 1      |       Capability Length = 0   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
      </section>
      <section anchor="sending-the-elcv3">
        <name>Sending the ELCv3</name>
        <t>When a BGP speaker S has a route R it wishes to advertise with next hop N to its peer, it <bcp14>SHOULD</bcp14> include the ELCv3 capability if it knows that the egress of the associated LSP L is EL-capable, otherwise it <bcp14>MUST NOT</bcp14> include the ELCv3 capability. Specific conditions where S would know that the egress is EL-capable are if S:</t>
        <ul spacing="normal">
          <li>Is itself the egress, and knows itself to be EL-capable, or</li>
          <li>Is re-advertising a BGP route it received with a valid ELCv3 capability, and is not changing the value of N, or</li>
          <li>Is re-advertising a BGP route it received with a valid ELCv3 capability, and is changing the value of N, and knows (for example, through configuration) that the router represented by N is either the LSP egress and is EL-capable, or that it will simply swap labels without popping the BGP-advertised label stack and processing the label below, as with a transit LSR, or</li>
          <li>Is redistributing a route learned from another protocol, and that other protocol conveyed the knowledge that the egress of L was EL-capable. (For example, this might be known through the Label Distribution Protocol (LDP) ELC TLV, Section 5.1 of <xref target="RFC6790"/>.)</li>
        </ul>
        <t>The ELCv3 <bcp14>MAY</bcp14> be advertised with routes that are labeled, such as those using SAFI 4 <xref target="RFC8277"/>. It <bcp14>MUST NOT</bcp14> be advertised with unlabeled routes.</t>
      </section>
      <section anchor="receiving-the-elcv3">
        <name>Receiving the ELCv3</name>
        <t>(Below, we assume that "includes the ELCv3" implies that the containing NHC has passed the checks specified in <xref target="receiving"/>. If it had not passed, then the NHC would have been discarded and the ELCv3 would be deemed not to have been included.)</t>
        <t>When a BGP speaker receives an unlabeled route that includes the ELCv3, it <bcp14>MUST</bcp14> discard the ELCv3.</t>
        <t>When a BGP speaker receives a labeled route that includes the ELCv3, it indicates the associated LSP supports entropy labels. This implies that the receiving BGP speaker if acting as ingress, <bcp14>MAY</bcp14> insert an entropy label as per Section 4.2 of <xref target="RFC6790"/>.</t>
      </section>
      <section anchor="elcv3-error-handling">
        <name>ELCv3 Error Handling</name>
        <t>The ELCv3 is considered malformed and must be disregarded if its length is other than zero.</t>
      </section>
    </section>
    <section anchor="legacy-elc">
      <name>Legacy ELC</name>
      <t>The ELCv3 functionality introduced in this document replaces the "BGP Entropy Label Capability Attribute" (ELC attribute) that was introduced by <xref target="RFC6790"/>, and deprecated by <xref target="RFC7447"/>. The latter RFC specifies that the ELC attribute, BGP path attribute 28, "<bcp14>MUST</bcp14> be treated as any other unrecognized optional, transitive attribute". This specification revises that requirement.</t>
      <t>As the current specification was developed, it became clear that due to incompatibilities between how the ELC attribute is processed by different fielded implementations, the most prudent handling of attribute 28 is not to propagate it as an unrecognized optional, transitive attribute, but to discard it. Therefore, this specification updates <xref target="RFC7447"/>, by instead requiring that an implementation that receives the ELC attribute <bcp14>MUST</bcp14> discard any received ELC attribute.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>IANA has made a temporary allocation in the BGP Path Attributes registry of the Border Gateway Protocol (BGP) Parameters group. IANA is requested to make this allocation permanent.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Code</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">39</td>
            <td align="left">BGP Next-Hop Dependent Capabilities (NHC)</td>
            <td align="left">(this doc)</td>
          </tr>
        </tbody>
      </table>
      <t>IANA is requested to create a new registry called "BGP Next-Hop Dependent Capability Codes" within the Border Gateway Protocol (BGP) Parameters group. The registry's allocation policy is First Come, First Served, except where designated otherwise in <xref target="preregistry"/>. It is seeded with the following values:</t>
      <table anchor="preregistry">
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
            <th align="left">Change Controller</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0</td>
            <td align="left">reserved</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">1</td>
            <td align="left">ELCv3</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">65400 - 65499</td>
            <td align="left">private use</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">65500 - 65534</td>
            <td align="left">reserved for experimental use</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
          <tr>
            <td align="left">65535</td>
            <td align="left">reserved</td>
            <td align="left">(this doc)</td>
            <td align="left">IETF</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <section anchor="Security_NHC">
        <name>Considerations for the NHC</name>
        <t>The header portion of the NHC contains the next hop the attribute's originator included when sending it, or that an intermediate router included when updating the attribute (in the latter case, the "contract" with the intermediate router is that it performed the checks in <xref target="receiving"/> before propagating the attribute). This will typically be an IP address of the router in question. This may be an infrastructure address the network operator does not intend to announce beyond the border of its Autonomous System, and it may even be considered in some weak sense, confidential information.</t>
        <t>A motivating application for this attribute is to convey information between Autonomous Systems that are under the control of the same administrator. In such a case, it would not need to be sent to other Autonomous Systems. At time of writing, work <xref target="I-D.uttaro-idr-bgp-oad"/> is underway to standardize a method of distinguishing between the two categories of external Autonomous Systems, and if such a distinction is available, an implementation can take advantage of it by constraining the NHC and its contained capabilities to only propagate by default to and from the former category of Autonomous Systems. If such a distinction is not available, a network operator may prefer to configure routers peering with Autonomous Systems not under their administrative control to not send or accept the NHC or its contained capabilities, unless there is an identified need to do so.</t>
        <t>The foregoing notwithstanding, control of NHC propagation can't be guaranteed in all cases -- if a border router doesn't implement this specification, the attribute, like all BGP optional transitive attributes, will propagate to neighboring Autonomous Systems. (This can be seen as a specific case of the general "attribute escape" phenomenon discussed in <xref target="I-D.haas-idr-bgp-attribute-escape"/>.) Similarly, if a border router receiving the attribute from an external Autonomous System doesn't implement this specification, it will store and propagate the attribute, the requirements of <xref target="receiving"/> notwithstanding. So, sometimes this information could leak beyond its intended scope. (Note that it will only propagate as far as the first router that does support this specification, at which point it will typically be discarded due to a non-matching next hop, per <xref target="receiving"/>.)</t>
        <t>If the attribute leaks beyond its intended scope, capabilities within it would potentially be exposed.  Specifications for individual capabilities should consider the consequences of such unintended exposure, and should identify any necessary constraints on propagation.</t>
      </section>
      <section anchor="considerations-for-the-elcv3-capability">
        <name>Considerations for the ELCv3 Capability</name>
        <t>Insertion of an ELCv3 by an attacker could cause forwarding to fail. Deletion of an ELCv3 by an attacker could cause one path in the network to be overutilized and another to be underutilized. However, we note that an attacker able to accomplish either of these (below, an "on-path attacker") could equally insert or remove any other BGP path attribute or message. The former attack described above denies service for a given route, which can be accomplished by an on-path attacker in any number of ways even absent ELCv3. The latter attack defeats an optimization but nothing more; it seems dubious that an attacker would go to the trouble of doing so rather than launching some more damaging attack.</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC2545">
          <front>
            <title>Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing</title>
            <author fullname="P. Marques" initials="P." surname="Marques"/>
            <author fullname="F. Dupont" initials="F." surname="Dupont"/>
            <date month="March" year="1999"/>
            <abstract>
              <t>BGP-4 Multiprotocol Extensions (BGP-MP) defines the format of two BGP attributes (MP_REACH_NLRI and MP_UNREACH_NLRI) that can be used to announce and withdraw the announcement of reachability information. This document defines how compliant systems should make use of those attributes for the purpose of conveying IPv6 routing information. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2545"/>
          <seriesInfo name="DOI" value="10.17487/RFC2545"/>
        </reference>
        <reference anchor="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC4760">
          <front>
            <title>Multiprotocol Extensions for BGP-4</title>
            <author fullname="T. Bates" initials="T." surname="Bates"/>
            <author fullname="R. Chandra" initials="R." surname="Chandra"/>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="January" year="2007"/>
            <abstract>
              <t>This document defines extensions to BGP-4 to enable it to carry routing information for multiple Network Layer protocols (e.g., IPv6, IPX, L3VPN, etc.). The extensions are backward compatible - a router that supports the extensions can interoperate with a router that doesn't support the extensions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4760"/>
          <seriesInfo name="DOI" value="10.17487/RFC4760"/>
        </reference>
        <reference anchor="RFC6790">
          <front>
            <title>The Use of Entropy Labels in MPLS Forwarding</title>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="S. Amante" initials="S." surname="Amante"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="L. Yong" initials="L." surname="Yong"/>
            <date month="November" year="2012"/>
            <abstract>
              <t>Load balancing is a powerful tool for engineering traffic across a network. This memo suggests ways of improving load balancing across MPLS networks using the concept of "entropy labels". It defines the concept, describes why entropy labels are useful, enumerates properties of entropy labels that allow maximal benefit, and shows how they can be signaled and used for various applications. This document updates RFCs 3031, 3107, 3209, and 5036. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6790"/>
          <seriesInfo name="DOI" value="10.17487/RFC6790"/>
        </reference>
        <reference anchor="RFC7447">
          <front>
            <title>Deprecation of BGP Entropy Label Capability Attribute</title>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <date month="February" year="2015"/>
            <abstract>
              <t>The BGP Entropy Label Capability attribute is defined in RFC 6790. Regrettably, it has a bug: although RFC 6790 mandates that routers incapable of processing Entropy Labels must remove the attribute, fulfillment of this requirement cannot be guaranteed in practice. This specification deprecates the attribute. A forthcoming document will propose a replacement.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7447"/>
          <seriesInfo name="DOI" value="10.17487/RFC7447"/>
        </reference>
        <reference anchor="RFC7606">
          <front>
            <title>Revised Error Handling for BGP UPDATE Messages</title>
            <author fullname="E. Chen" initials="E." role="editor" surname="Chen"/>
            <author fullname="J. Scudder" initials="J." role="editor" surname="Scudder"/>
            <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <date month="August" year="2015"/>
            <abstract>
              <t>According to the base BGP specification, a BGP speaker that receives an UPDATE message containing a malformed attribute is required to reset the session over which the offending attribute was received. This behavior is undesirable because a session reset would impact not only routes with the offending attribute but also other valid routes exchanged over the session. This document partially revises the error handling for UPDATE messages and provides guidelines for the authors of documents defining new attributes. Finally, it revises the error handling procedures for a number of existing attributes.</t>
              <t>This document updates error handling for RFCs 1997, 4271, 4360, 4456, 4760, 5543, 5701, and 6368.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7606"/>
          <seriesInfo name="DOI" value="10.17487/RFC7606"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.haas-idr-bgp-attribute-escape">
          <front>
            <title>BGP Attribute Escape</title>
            <author fullname="Jeffrey Haas" initials="J." surname="Haas">
              <organization>Juniper Networks</organization>
            </author>
            <date day="9" month="July" year="2023"/>
            <abstract>
              <t>   BGP-4 [RFC 4271] has been very successful in being extended over the
   years it has been deployed.  A significant part of that success is
   due to its ability to incrementally add new features to its Path
   Attributes when they are marked "optional transitive".
   Implementations that are ignorant of a feature for an unknown Path
   Attribute that are so marked will propagate BGP routes with such
   attributes.

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

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-haas-idr-bgp-attribute-escape-00"/>
        </reference>
        <reference anchor="I-D.ietf-idr-next-hop-capability">
          <front>
            <title>BGP Next-Hop dependent capabilities</title>
            <author fullname="Bruno Decraene" initials="B." surname="Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Wim Henderickx" initials="W." surname="Henderickx">
              <organization>Nokia</organization>
            </author>
            <date day="8" month="June" year="2022"/>
            <abstract>
              <t>   RFC 5492 advertises the capabilities of the BGP peer.  When the BGP
   peer is not the same as the BGP Next-Hop, it is useful to also be
   able to advertise the capability of the BGP Next-Hop, in particular
   to advertise forwarding plane features.  This document defines a
   mechanism to advertise such BGP Next Hop dependent Capabilities.

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

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

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

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

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-uttaro-idr-bgp-oad-02"/>
        </reference>
        <reference anchor="RFC4786">
          <front>
            <title>Operation of Anycast Services</title>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="K. Lindqvist" initials="K." surname="Lindqvist"/>
            <date month="December" year="2006"/>
            <abstract>
              <t>As the Internet has grown, and as systems and networked services within enterprises have become more pervasive, many services with high availability requirements have emerged. These requirements have increased the demands on the reliability of the infrastructure on which those services rely.</t>
              <t>Various techniques have been employed to increase the availability of services deployed on the Internet. This document presents commentary and recommendations for distribution of services using anycast. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="126"/>
          <seriesInfo name="RFC" value="4786"/>
          <seriesInfo name="DOI" value="10.17487/RFC4786"/>
        </reference>
        <reference anchor="RFC5492">
          <front>
            <title>Capabilities Advertisement with BGP-4</title>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <author fullname="R. Chandra" initials="R." surname="Chandra"/>
            <date month="February" year="2009"/>
            <abstract>
              <t>This document defines an Optional Parameter, called Capabilities, that is expected to facilitate the introduction of new capabilities in the Border Gateway Protocol (BGP) by providing graceful capability advertisement without requiring that BGP peering be terminated.</t>
              <t>This document obsoletes RFC 3392. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5492"/>
          <seriesInfo name="DOI" value="10.17487/RFC5492"/>
        </reference>
        <reference anchor="RFC8277">
          <front>
            <title>Using BGP to Bind MPLS Labels to Address Prefixes</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This document specifies a set of procedures for using BGP to advertise that a specified router has bound a specified MPLS label (or a specified sequence of MPLS labels organized as a contiguous part of a label stack) to a specified address prefix. This can be done by sending a BGP UPDATE message whose Network Layer Reachability Information field contains both the prefix and the MPLS label(s) and whose Next Hop field identifies the node at which said prefix is bound to said label(s). This document obsoletes RFC 3107.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8277"/>
          <seriesInfo name="DOI" value="10.17487/RFC8277"/>
        </reference>
      </references>
    </references>
    <?line 306?>

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

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

    The authors wish to thank Jie Dong and Robert Raszuk for their
    review and comments.
]]></artwork>
      <t><xref target="I-D.scudder-bgp-entropy-label"/> included the following acknowledgements:</t>
      <artwork><![CDATA[
    Thanks to Swadesh Agrawal, Alia Atlas, Bruno Decraene, Martin
    Djernaes, John Drake, Adrian Farrell, Keyur Patel, Toby Rees, and
    Ravi Singh, for their discussion of this issue. 
]]></artwork>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="S." surname="Krier" fullname="Serge Krier">
        <organization>Cisco Systems</organization>
        <address>
          <email>sekrier@cisco.com</email>
        </address>
      </contact>
      <contact initials="K." surname="Wang" fullname="Kevin Wang">
        <organization>Juniper Networks</organization>
        <address>
          <email>kfwang@juniper.net</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+Vd63Ibx5X+zyq9Qy/1w2QCoERdLSVOTOtiMaYoLSnHlUql
XI2ZBtDmYAaZniEFS/Kz7LPsk+259W0A0pTj7GZ3lYuAwUz36dPn8p1Lj8bj
8a0d1+m6/F5XTW2eqK7tza0du2rpo+vu3rnz+M7dWzuF7p4o15Vwez9dWuds
U3frFTxx9Pzti1s7ujX6iWq7+a2dyzlcrDvT1qZTz+u5rY1pbT1Xb7U7Vy+a
toAZ+lWpO+OeqIePHt8ZqUf37z+6tXNrp2yKWi9h1LLVs25sTTcb27Idm7pr
m9V6XOmpqcYHB3hvZ7sK7vzq6zfqxLzrxi+blXpmVqYu4W71VK/01Fa2s8ap
w65r7bTvDD6np9PWXDxRJy+f3tqpdA3kmvrWzvnlk1s7So3VdL7iD/Wi4A8y
u6LZYYC+WzQt3D1WbYMkmNJ2TYv3MvFftX3dAC1Fq01t8HrTwiyvW5iMvpql
ttUTNcX7JqXc92VDv0+KZjkcWsWx/9QsavX1RJ0VfVmaNgz+p762K9MCK7rL
pj13yTQ/zN2XP/DPE9gTHJzH+s4u1UvkV2uL83dhqJPm3Ork+Uu7nCzCbV/W
+LOnkgf6xrbGdFZ90yxXpqr0Tag652e2U3amu7VWr5qFBikLoz21rmjU2dp1
ZpkO5fDuZbP4ssAbctL+BP/v1Lddp9smDHQEiwmCAoJMwsE76HnW0xNfWmPM
BJ6JA35la/UdCownqlkW2nXJs3DH93DHlwX/wvQUcZonKlmoaedGfdPaZCuv
XKY5x/u2rfIbc4FkgfzciPWzS7gz5/ytnbppl7qzF4b04PTF07sHB4/D5wf3
H/jP9+8+OgifHz284z+jKvvPqNDh88M7D/3nzw8e3X+igAG2nmXzHY2fTRZa
O1J3UMGx9jo7Nq7Qq3hXMAo1av2iWY0Lr+vrcJNj9aCRMuMR7uANDtM1uoxr
+jzQ++D+47uB9ruPeE3A9/FY6anrWl0Q7+BXhbcqXVXNpVOazJJbGX0OW9A1
SpcXpu2sM8p2ThWpcYJf8doKrOREfQeKBk+3DSxcWbgKlOs5mMpSTc26qUvV
LeCH5RIMA1ylp0bwPN7bOzPrK5oNqVAFzKhBLIazTY0Cabwwaxh01rcwIEwM
OqFWGkgs+kpvGzIsAPbtUrclWvQVmE+4YHTXt8ZNkBNvF/AYLLywMwtOA9yE
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
evvJ7Qs/27EwYtAiD8usWwp5k+yVqFTcSl5dC7IglF9LsRzbpiRsWs0a1LGy
Mhba51UwBEnV8m6sfrh+Bnylt9jukRDa2aDAaf27ITiTty9GMTr1K6e5d/Np
7m5Ms3FOlDWNIwPu1PLnxmg7XSpZ6atUrmvpyuUK9Si2M4Y9RLWQc7ZgLdtQ
LDgsQpGR0cL728NLHyl9wbpuyi92ZyC0ZjckGvgfE3FXkIN6d65Ogdtr9VXv
FiP1Hdiil2Dt+fz6We9AXOC7kejm6zWewQHr02rvZGxLGXZzya0pzZLIuvoN
4S0ldjn4gPAKZLWyhG65vOFGohbX/TsM4X2YN+n4udFwIRmSZ+/0gNuUx/OZ
o80+uZDgTNKa2ZmatI5jXRwqHCn0CW/0K0kbcRzD5T1Jf5Vyzd8mQ8r8zmNP
CZtg3Gv6913kH3cJMEEwN0GHhsmMY3UN4Ddi9/MWPpwCPuKsAgPRcQkKsvAi
sLWR8QZUWaOeNchvfK1/M0Vve6rdj/15lLI4zlXi9rPi8At3GSgkq392qcF7
Q4A6b/Ul1kwOK6vVYVdpENr8H+UZqVd4VKmOwzz7AWMM1CPagmctaBiMULYW
NOqFbltTwYjfmHXfYpXBwJe3Df7DEUZ0Lw51qi8svuB9vhglShg3MeyCda6X
Ssh/AVHL186LaQAA

-->

</rfc>
