<?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.31 (Ruby 3.2.3) -->
<?rfc tocompact="yes"?>
<?rfc tocindent="yes"?>
<?rfc compact="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bonica-6man-crh-helper-opt-07" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="CRH Helper Option">Compact Routing Header (CRH) Helper Option</title>
    <seriesInfo name="Internet-Draft" value="draft-bonica-6man-crh-helper-opt-07"/>
    <author initials="X." surname="Li" fullname="Xing Li">
      <organization>CERNET Center/Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>xing@cernet.edu.cn</email>
      </address>
    </author>
    <author initials="C." surname="Bao" fullname="Congxiao Bao">
      <organization>CERNET Center/Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>congxiao@cernet.edu.cn</email>
      </address>
    </author>
    <author initials="R." surname="Bonica" fullname="Ron Bonica">
      <organization>HPE</organization>
      <address>
        <postal>
          <city>Herndon</city>
          <region>Virginia</region>
          <country>USA</country>
        </postal>
        <email>ronald.bonica@hpe.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="23"/>
    <area>Internet</area>
    <workgroup>6man</workgroup>
    <keyword>IPv6, CRH</keyword>
    <abstract>
      <?line 62?>

<t>This document introduces a new IPv6 Destination Option called the
CRH Helper. The CRH Helper is used with the Compact Routing Header 
(CRH) [RFC 9631]. It contains information required to 
convert a CRH SID to the IPv6 address of a interface on a packet's 
delivery path.</t>
      <t>Because the CRH Helper contains this information, it eliminates the 
need for a CRH-FIB. It also eliminates the need for CRH-FIB support
in the control plane.</t>
      <t>The CRH helper is useful in underlay networks, where all interfaces are numbered
from a few /112 or /96 prefixes.</t>
    </abstract>
  </front>
  <middle>
    <?line 78?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>IPv6 <xref target="RFC8200"/> source nodes use Routing Headers to steer packets through a specified delivery path. <xref target="rtghdr"/> depicts a generic IPv6 Routing Header.</t>
      <figure anchor="rtghdr">
        <name>Generic IPv6 Routing Header</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,32 L 8,88" fill="none" stroke="black"/>
              <path d="M 8,128 L 8,160" fill="none" stroke="black"/>
              <path d="M 136,32 L 136,64" fill="none" stroke="black"/>
              <path d="M 264,32 L 264,64" fill="none" stroke="black"/>
              <path d="M 392,32 L 392,64" fill="none" stroke="black"/>
              <path d="M 520,32 L 520,88" fill="none" stroke="black"/>
              <path d="M 520,128 L 520,160" fill="none" stroke="black"/>
              <path d="M 8,32 L 520,32" fill="none" stroke="black"/>
              <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
              <path d="M 8,160 L 520,160" fill="none" stroke="black"/>
              <g class="text">
                <text x="44" y="52">Next</text>
                <text x="92" y="52">Header</text>
                <text x="168" y="52">Hdr</text>
                <text x="200" y="52">Ext</text>
                <text x="232" y="52">Len</text>
                <text x="312" y="52">Routing</text>
                <text x="364" y="52">Type</text>
                <text x="436" y="52">Segments</text>
                <text x="492" y="52">Left</text>
                <text x="8" y="100">.</text>
                <text x="520" y="100">.</text>
                <text x="8" y="116">.</text>
                <text x="248" y="116">type-specific</text>
                <text x="324" y="116">data</text>
                <text x="520" y="116">.</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Next Header  |  Hdr Ext Len  |  Routing Type | Segments Left |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      .                                                               .
      .                       type-specific data                      .
      .                                                               .
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </artset>
      </figure>
      <t>In <xref target="rtghdr"/>, type-specific data represents a list of interfaces. Depending upon the Routing Type, a packet traverses these interfaces in forward or reverse order. If the packet traverses the interfaces in forward order, the last interface in the list is the packet's ultimate destination. If the packet traverses the interfaces in reverse order, the first packet in the list is the packet's ultimate destination. The packet may also traverse other interfaces that are not in the list.</t>
      <t>The IETF has defined several Routing Types <xref target="V6RTG"/>. <xref target="RFC9631"/> defines two of these. Collectively, they are called the Compact Routing Headers (CRH). Individually, they are called the CRH-16 and CRH-32.  <xref target="CRH16"/> depicts the CRH-16 while <xref target="CRH32"/> depicts the CRH-32.</t>
      <figure anchor="CRH16">
        <name>The CRH-16 Routing Type</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 136,64 L 136,96" fill="none" stroke="black"/>
              <path d="M 232,144 L 232,160" fill="none" stroke="black"/>
              <path d="M 248,144 L 248,160" fill="none" stroke="black"/>
              <path d="M 264,64 L 264,160" fill="none" stroke="black"/>
              <path d="M 280,144 L 280,160" fill="none" stroke="black"/>
              <path d="M 392,64 L 392,96" fill="none" stroke="black"/>
              <path d="M 520,64 L 520,128" 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 512,128" fill="none" stroke="black"/>
              <path d="M 8,160 L 304,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="44" y="84">Next</text>
                <text x="92" y="84">Header</text>
                <text x="168" y="84">Hdr</text>
                <text x="200" y="84">Ext</text>
                <text x="232" y="84">Len</text>
                <text x="304" y="84">Routing</text>
                <text x="356" y="84">Type</text>
                <text x="436" y="84">Segments</text>
                <text x="492" y="84">Left</text>
                <text x="140" y="116">SID[0]</text>
                <text x="372" y="116">SID[1]</text>
                <text x="224" y="148">.</text>
                <text x="240" y="148">.</text>
                <text x="256" y="148">.</text>
                <text x="272" y="148">.</text>
                <text x="288" y="148">.</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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Next Header  |  Hdr Ext Len  | Routing Type  | Segments Left |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             SID[0]            |          SID[1]               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
     |                          .........
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
]]></artwork>
        </artset>
      </figure>
      <figure anchor="CRH32">
        <name>The CRH-32 Routing Type</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="528" viewBox="0 0 528 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,64 L 8,192" fill="none" stroke="black"/>
              <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
              <path d="M 232,176 L 232,192" fill="none" stroke="black"/>
              <path d="M 248,176 L 248,192" fill="none" stroke="black"/>
              <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
              <path d="M 264,176 L 264,192" fill="none" stroke="black"/>
              <path d="M 280,176 L 280,192" fill="none" stroke="black"/>
              <path d="M 392,64 L 392,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"/>
              <path d="M 8,192 L 304,192" 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="44" y="84">Next</text>
                <text x="92" y="84">Header</text>
                <text x="168" y="84">Hdr</text>
                <text x="200" y="84">Ext</text>
                <text x="232" y="84">Len</text>
                <text x="304" y="84">Routing</text>
                <text x="356" y="84">Type</text>
                <text x="436" y="84">Segments</text>
                <text x="492" y="84">Left</text>
                <text x="268" y="116">SID[0]</text>
                <text x="268" y="148">SID[1]</text>
                <text x="224" y="180">.</text>
                <text x="240" y="180">.</text>
                <text x="256" y="180">.</text>
                <text x="272" y="180">.</text>
                <text x="288" y="180">.</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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Next Header  |  Hdr Ext Len  | Routing Type  | Segments Left |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     +                             SID[0]                            +
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     +                             SID[1]                            +
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          .........
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
]]></artwork>
        </artset>
      </figure>
      <t>In the CRH-16 and in the CRH-32, each CRH SID identifies an entry in the CRH 
Forwarding Information Base (CRH-FIB).  Each CRH-FIB entry identifies an 
interface on the packet's delivery path.</t>
      <t>This document introduces a new IPv6 Destination Option called the
CRH Helper. The CRH Helper contains the information required to convert a
CRH SID to the IPv6 address of a interface on a packet's delivery path.
Therefore, the CRH Helper eliminates the need for a CRH-FIB. It also 
eliminates the need for CRH-FIB support in the control plane.</t>
      <t>The CRH helper is useful in underlay networks, where all interfaces are numbered
from a few /112 or /96 prefixes.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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 BCP14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="the-crh-helper">
      <name>The CRH Helper</name>
      <t>The CRH Helper is IPv6 Destination Option. It <bcp14>MAY</bcp14> occur in packets that contain a CRH. It <bcp14>SHOULD NOT</bcp14> occur in packets that do not contain a CRH. If it occurs in a packet that does not include a CRH, it <bcp14>MUST</bcp14> be ignored by the receiver.</t>
      <t>The CRH Helper <bcp14>MAY</bcp14> occur in a Destination Option Header that precedes a Routing Header. If it occurs in any other IPv6 extension header, it <bcp14>MUST</bcp14> be ignored by the receiver.</t>
      <t><xref target="CRHHO"/> depicts the CRH Helper option.</t>
      <figure anchor="CRHHO">
        <name>The CRH Helper Option</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="96" width="408" viewBox="0 0 408 96" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
              <path d="M 136,32 L 136,64" fill="none" stroke="black"/>
              <path d="M 264,32 L 264,64" fill="none" stroke="black"/>
              <path d="M 8,32 L 272,32" fill="none" stroke="black"/>
              <path d="M 8,64 L 272,64" fill="none" stroke="black"/>
              <g class="text">
                <text x="288" y="36">-</text>
                <text x="304" y="36">-</text>
                <text x="320" y="36">-</text>
                <text x="336" y="36">-</text>
                <text x="352" y="36">-</text>
                <text x="368" y="36">-</text>
                <text x="384" y="36">-</text>
                <text x="400" y="36">-</text>
                <text x="52" y="52">Option</text>
                <text x="100" y="52">Type</text>
                <text x="168" y="52">Opt</text>
                <text x="204" y="52">Data</text>
                <text x="240" y="52">Len</text>
                <text x="312" y="52">Helpers</text>
                <text x="288" y="68">-</text>
                <text x="304" y="68">-</text>
                <text x="320" y="68">-</text>
                <text x="336" y="68">-</text>
                <text x="352" y="68">-</text>
                <text x="368" y="68">-</text>
                <text x="384" y="68">-</text>
                <text x="400" y="68">-</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - -
     |  Option Type  |  Opt Data Len |  Helpers
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - -
]]></artwork>
        </artset>
      </figure>
      <ul spacing="normal">
        <li>
          <t>Option Type - (8 bits) RFC3692-style Experiment. Value Ox9E. See NOTE below.</t>
        </li>
        <li>
          <t>Opt Data Len - (8 bits) Length of the option, in octets, excluding the Option Type and Option Length fields.</t>
        </li>
        <li>
          <t>Helpers - (variable length). One or more single helper fields, as depicted in <xref target="CRHH"/>. Helper fields 
<bcp14>MUST</bcp14> be sorted in by their High SID value, in ascending order. See below. If they are not sorted correctly, the receiver <bcp14>MUST</bcp14> discard the packet and send an ICMPv6 <xref target="RFC4443"/> Parameter Problem message, Code 0, to the source,
pointing to the first incorrectly sorted Helper field.</t>
        </li>
      </ul>
      <t><xref target="CRHH"/> depicts a single helper field.</t>
      <figure anchor="CRHH">
        <name>A Single Helper Field</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="96" width="408" viewBox="0 0 408 96" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
              <path d="M 120,32 L 120,64" fill="none" stroke="black"/>
              <path d="M 216,32 L 216,64" fill="none" stroke="black"/>
              <path d="M 8,32 L 272,32" fill="none" stroke="black"/>
              <path d="M 8,64 L 272,64" fill="none" stroke="black"/>
              <g class="text">
                <text x="288" y="36">-</text>
                <text x="304" y="36">-</text>
                <text x="320" y="36">-</text>
                <text x="336" y="36">-</text>
                <text x="352" y="36">-</text>
                <text x="368" y="36">-</text>
                <text x="384" y="36">-</text>
                <text x="400" y="36">-</text>
                <text x="52" y="52">Helper</text>
                <text x="96" y="52">Len</text>
                <text x="156" y="52">High</text>
                <text x="192" y="52">SID</text>
                <text x="364" y="52">Prefix</text>
                <text x="288" y="68">-</text>
                <text x="304" y="68">-</text>
                <text x="320" y="68">-</text>
                <text x="336" y="68">-</text>
                <text x="352" y="68">-</text>
                <text x="368" y="68">-</text>
                <text x="384" y="68">-</text>
                <text x="400" y="68">-</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - -
     |  Helper Len |  High SID |               Prefix
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - -
]]></artwork>
        </artset>
      </figure>
      <ul spacing="normal">
        <li>
          <t>Helper Len - (8 bits) Length of the Helper, in octets, excluding the Helper Length field. <bcp14>MUST</bcp14> be 
greater than 2 and less than 16.</t>
        </li>
        <li>
          <t>High SID - (8 bits) The index of the highest CRH SID to which this helper applies.</t>
        </li>
        <li>
          <t>Prefix - (Variable length) The high-order bits of an IPv6 address.</t>
        </li>
      </ul>
      <t>NOTE: For this experiment, the Option Type is set to '10011110', i.e.,
0x9E. The highest-order two bits are set to 10 indicating that the
required action by a destination node that does not recognize the option
is to discard the packet and send an ICMP message. The third highest-order bit is set to 0 
indicating that Option Data cannot be modified along the path between
the packet's source and its destination. The remaining low-order bits
are set to '11110' to indicate the single IPv6 Destination Option Type
code point available in the registry for experimentation.</t>
    </section>
    <section anchor="crh-processing">
      <name>CRH Processing</name>
      <section anchor="in-the-absence-of-the-crh-helper-option">
        <name>In The Absence Of The CRH Helper Option</name>
        <t>In the absence of the CRH helper option, CRH processing is as described in <xref target="RFC9631"/>.</t>
      </section>
      <section anchor="in-the-presence-of-the-crh-helper-option">
        <name>In The Presence Of the CRH Helper Option</name>
        <t>In the presence of the CRH helper option is as follows:</t>
        <ul spacing="normal">
          <li>
            <t>If Hdr Ext Len indicates that the CRH is larger than the implementation can process, 
discard the packet and send an ICMPv6 Parameter Problem, Code 0, message to the 
Source Address, pointing to the Hdr Ext Len field.</t>
          </li>
          <li>
            <t>Compute L, the minimum CRH length as described in section 5.1 of <xref target="RFC9631"/>.</t>
          </li>
          <li>
            <t>If L is greater than Hdr Ext Len, discard the packet and send an ICMPv6 Parameter Problem, 
Code 6, message to the Source Address, pointing to the Segments Left field.</t>
          </li>
          <li>
            <t>Decrement Segments Left.</t>
          </li>
          <li>
            <t>Search the CRH Helper Option for a CRH Helper that applies to the 
current CRH SID"  In this document, the "current CRH SID" is the CRH SID list
entry referenced by the Segments Left field.</t>
          </li>
          <li>
            <t>If the search does not return a CRH Helper, discard the packet and send an ICMPv6 
Parameter Problem, Code 0, message to the Source Address, pointing to the current SID.</t>
          </li>
          <li>
            <t>Set the Destination Address field in the IPv6 header to ::0.</t>
          </li>
          <li>
            <t>Overwrite the high-order bits of the Destination Address field in the IPv6 header with the prefix from the CRH Helper.</t>
          </li>
          <li>
            <t>Overwrite the low-order bits of the Destination Address field in the IPv6 header with the current CRH.</t>
          </li>
          <li>
            <t>If Segments Left is greater than 0 and the Destination Address is a multicast address, 
discard the packet and send an ICMPv6 Parameter Problem, Code 0, message to the Source Address, pointing
to the current SID.  (This prevents packet storms.)</t>
          </li>
          <li>
            <t>Forward the packet</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="relationship-to-rho">
      <name>Relationship To RHO</name>
      <t>When used with the CRH Helper, the CRH is functionally identical to the deprecated Type 0
Routing Header (RH0) <xref target="RFC5095"/>. It differs only in that its encoding is more compact when used
in common underlay numbering schemes.</t>
      <t>For example, assume the following:</t>
      <ul spacing="normal">
        <li>
          <t>An underlay network numbers all of its interfaces from a /112.</t>
        </li>
        <li>
          <t>An IPv6 delivery path traverses 5 of those interfaces.</t>
        </li>
      </ul>
      <t>RH0 required 88 bytes to encode that delivery path. The same delivery path can be encoded with a 16 byte CRH-16 and a 20 byte CRH Helper (total: 36 bytes).</t>
      <t>When used with the CRH Helper option, the CRH inherits security considerations from RH0. See <xref target="security"/> for details.</t>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <t>Some networks discard packets that include IPv6 Destination Options. 
This is an impediment to deployment.</t>
      <t>Because the CRH Helper Option uses an experimental code point, there
is a risk of collisions with other experiments.  Specifically, the
egress PE may process packets from another experiment that uses the
same code point.</t>
      <t>It is expected that, as with all experiments with IETF protocols,
care is taken by the operator to ensure that all nodes participating
in an experiment are carefully configured.</t>
      <t>Because the CRH Helper  Destination Option uses an experimental code point,
processing of this option <bcp14>MUST</bcp14> be disabled by default. Explicit configuration
is required to enable processing of the option.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document does not make any IANA requests.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t><xref target="RFC9631"/> inherits security considerations from <xref target="RFC5095"/> and this document inherits
security considerations from <xref target="RFC9631"/>. <xref target="RFC9631"/> addresses the security considerations
inheritted from <xref target="RFC5095"/> by restricting CRH deployment to a community of trusted nodes.
It also describes several methods by which trust can be verified.</t>
      <t>Because the CRH Helper is processed only in the presence of the CRH, it introduces no security
considerations beyond those described in <xref target="RFC9631"/>.</t>
    </section>
    <section anchor="experimental-results">
      <name>Experimental Results</name>
      <t>Parties participating in this experiment should publish experimental results within one year of the publication of this document. Experimental results should address the following:</t>
      <ul spacing="normal">
        <li>
          <t>Effort required to deploy
          </t>
          <ul spacing="normal">
            <li>
              <t>Was deployment incremental or network-wide?</t>
            </li>
            <li>
              <t>Was there a need to synchronize configurations at each node or could nodes be configured independently?</t>
            </li>
            <li>
              <t>Did the deployment require hardware upgrade?</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Effort required to secure
          </t>
          <ul spacing="normal">
            <li>
              <t>Performance impact</t>
            </li>
            <li>
              <t>Effectiveness of risk mitigation with ACLs</t>
            </li>
            <li>
              <t>Cost of risk mitigation with ACLs</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Mechanism used to populate the FIB</t>
        </li>
        <li>
          <t>Scale of deployment</t>
        </li>
        <li>
          <t>Interoperability
          </t>
          <ul spacing="normal">
            <li>
              <t>Did you deploy two interoperable implementations?</t>
            </li>
            <li>
              <t>Did you experience interoperability problems?</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Effectiveness and sufficiency of OAM mechanisms
          </t>
          <ul spacing="normal">
            <li>
              <t>Did PING work?</t>
            </li>
            <li>
              <t>Did TRACEROUTE work?</t>
            </li>
            <li>
              <t>Did Wireshark work?</t>
            </li>
            <li>
              <t>Did TCPDUMP work?</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC4443">
          <front>
            <title>Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification</title>
            <author fullname="A. Conta" initials="A." surname="Conta"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="M. Gupta" initials="M." role="editor" surname="Gupta"/>
            <date month="March" year="2006"/>
            <abstract>
              <t>This document describes the format of a set of control messages used in ICMPv6 (Internet Control Message Protocol). ICMPv6 is the Internet Control Message Protocol for Internet Protocol version 6 (IPv6). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="89"/>
          <seriesInfo name="RFC" value="4443"/>
          <seriesInfo name="DOI" value="10.17487/RFC4443"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8200">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="86"/>
          <seriesInfo name="RFC" value="8200"/>
          <seriesInfo name="DOI" value="10.17487/RFC8200"/>
        </reference>
        <reference anchor="RFC9631">
          <front>
            <title>The IPv6 Compact Routing Header (CRH)</title>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <author fullname="Y. Kamite" initials="Y." surname="Kamite"/>
            <author fullname="A. Alston" initials="A." surname="Alston"/>
            <author fullname="D. Henriques" initials="D." surname="Henriques"/>
            <author fullname="L. Jalil" initials="L." surname="Jalil"/>
            <date month="August" year="2024"/>
            <abstract>
              <t>This document describes an experiment in which two new IPv6 Routing headers are implemented and deployed. Collectively, they are called the Compact Routing Header (CRH). Individually, they are called CRH-16 and CRH-32.</t>
              <t>One purpose of this experiment is to demonstrate that the CRH can be implemented and deployed in a production network. Another purpose is to demonstrate that the security considerations described in this document can be addressed with Access Control Lists (ACLs). Finally, this document encourages replication of the experiment.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9631"/>
          <seriesInfo name="DOI" value="10.17487/RFC9631"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5095">
          <front>
            <title>Deprecation of Type 0 Routing Headers in IPv6</title>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="P. Savola" initials="P." surname="Savola"/>
            <author fullname="G. Neville-Neil" initials="G." surname="Neville-Neil"/>
            <date month="December" year="2007"/>
            <abstract>
              <t>The functionality provided by IPv6's Type 0 Routing Header can be exploited in order to achieve traffic amplification over a remote path for the purposes of generating denial-of-service traffic. This document updates the IPv6 specification to deprecate the use of IPv6 Type 0 Routing Headers, in light of this security concern. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5095"/>
          <seriesInfo name="DOI" value="10.17487/RFC5095"/>
        </reference>
        <reference anchor="V6RTG">
          <front>
            <title>Routing Types</title>
            <author>
              <organization>Internet Assigned Numbers Authority (IANA)</organization>
            </author>
            <date/>
          </front>
          <seriesInfo name="Web" value="&lt;https://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml#ipv6-parameters-3&gt;"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
pikINAAA

-->

</rfc>
