<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-intarea-extended-icmp-nodeid-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="ICMP Node ID">ICMP Message Extension for Originating Node Identification</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-intarea-extended-icmp-nodeid-06"/>
    <author initials="B." surname="Fenner" fullname="Bill Fenner">
      <organization>Arista Networks</organization>
      <address>
        <postal>
          <street>5453 Great America Parkway</street>
          <city>Santa Clara</city>
          <region>California</region>
          <code>95054</code>
          <country>USA</country>
        </postal>
        <email>fenner@fenron.com</email>
      </address>
    </author>
    <author initials="R." surname="Thomas" fullname="Reji Thomas">
      <organization>Arista Networks</organization>
      <address>
        <postal>
          <street>Global Tech Park</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560103</code>
          <country>India</country>
        </postal>
        <email>reji.thomas@arista.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="28"/>
    <area>Internet</area>
    <workgroup>Internet Area Working Group</workgroup>
    <keyword>ICMP</keyword>
    <keyword>IPv6 next-hops</keyword>
    <keyword>Node identification</keyword>
    <abstract>
      <?line 63?>

<t>RFC5837 describes a mechanism for Extending ICMP for Interface and Next-Hop Identification,
which allows providing additional information in an ICMP error that helps identify
interfaces participating in the path.  This is especially useful in environments
where a given interface may not have a unique IP address to respond to, e.g., a traceroute.</t>
      <t>This document introduces a similar ICMP extension for Node Identification.
It allows providing a unique IP address and/or a textual name for the node, in
the case where each node may not have a unique IP address (e.g., a deployment
in which all interfaces have IPv6 addresses and all next-hops are IPv6 next-hops,
even for IPv4 routes).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://fenner.github.io/icmp-node-id/draft-ietf-intarea-extended-icmp-nodeid.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-intarea-extended-icmp-nodeid/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Internet Area Working Group Working Group mailing list (<eref target="mailto:int-area@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/int-area/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/int-area/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/fenner/icmp-node-id"/>.</t>
    </note>
  </front>
  <middle>
    <?line 76?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In addition to adding incoming interface information to a traceroute
using the mechanisms described in <xref target="RFC5837"/>, a network operator
may be interested in adding information to unambiguously identify nodes themselves.
For example, <xref target="I-D.ietf-intarea-v4-via-v6"/> describes a scenario in which individual
nodes do not have unique IPv4 addresses to use to reply to an IPv4
traceroute, so additional information is needed.
Another scenario is described in <xref target="I-D.ietf-v6ops-icmpext-xlat-v6only-source"/>:
when an IPv6-only node runs the customer-side translator (CLAT, <xref target="RFC6877"/>),
traceroute to an IPv4 destination can not represent intermediate IPv6-only routers
as they do not have IPv4 addresses.</t>
      <t>The goal of this specification is to have a mechanism to provide
additional useful information about the identification of a node
sending an ICMP error, which depends on the actual context and scope
of the message being delivered.  To this end, it is <bcp14>RECOMMENDED</bcp14> to
use a combination of IP Address and Name sub-objects (including
combinations where one of the sub-objects is not used) that is
unique and meaningful in the actual context and scope.  It is
explicitly permitted to use an IP address that may have only local
meaning (e.g., ULA <xref target="RFC4193"/>), since that information can then
be provided to the operator of the domain who can then determine
the local meaning.</t>
      <t>This document defines an ICMP extension that fills that void.</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 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>ICMPv4 is used to refer to Internet Control Message Protocol (ICMP) specified in <xref target="RFC0792"/>.</t>
      <t>ICMPv6 is used to refer to Internet Control Message Protocol (ICMPv6)
for the Internet Protocol Version 6 (IPv6) specified in <xref target="RFC4443"/>.</t>
      <t>ICMP is used to refer to both ICMPv4 and ICMPv6.</t>
    </section>
    <section anchor="nodeid">
      <name>Node Identification Object</name>
      <t>This section defines the Node Identification Object, an ICMP Extension
Object with a Class-Num (Object Class Value) of 5 (see <xref target="sec-iana"/>).</t>
      <t>Similar to <xref section="4" sectionFormat="of" target="RFC5837"/>, this object can be added
to the following messages:</t>
      <ul spacing="normal">
        <li>
          <t>ICMPv4 Time Exceeded</t>
        </li>
        <li>
          <t>ICMPv4 Destination Unreachable</t>
        </li>
        <li>
          <t>ICMPv4 Parameter Problem</t>
        </li>
        <li>
          <t>ICMPv6 Time Exceeded</t>
        </li>
        <li>
          <t>ICMPv6 Destination Unreachable</t>
        </li>
      </ul>
      <t>For reasons described in <xref target="RFC4884"/>, this extension cannot be added
to any of the currently defined ICMPv4 or ICMPv6 messages other than
those listed above.</t>
      <t>The extension defined herein, Node Identification Object,
<bcp14>MAY</bcp14> be added to any of the above
listed messages and <bcp14>MUST</bcp14> be added whenever the responding IP
address may not be sufficient to identify
the node, unless local policy or security
considerations supersede this requirement.  (It is permissible
to unconditionally include this extension in all of the above messages.)
See <xref target="security"/> for
suggested configuration regarding including these messages.</t>
      <t>Similarly to the Interface Identification Object defined in <xref target="RFC5837"/>,
there are two different pieces of information that can appear in a
Node Identification Object:</t>
      <ol spacing="normal" type="1"><li>
          <t>An IP Address Sub-Object <bcp14>MAY</bcp14> be included, containing an address
of sufficient scope to identify the node.
The IP Address Sub-Object is defined in <xref target="IPAddr"/> of this document.</t>
        </li>
        <li>
          <t>A Name Sub-Object <bcp14>MAY</bcp14> be included, as specified in <xref target="Name"/>,
containing up to 63 octets of the YANG sys:hostname (<xref target="RFC7317"/>)
or another appropriate name uniquely identifying the node.</t>
        </li>
      </ol>
      <section anchor="c-type-meaning-in-a-node-identification-object">
        <name>C-Type Meaning in a Node Identification Object</name>
        <t>In this object, the C-Type, defined in <xref section="8" sectionFormat="of" target="RFC4884"/>,
contains a bitmask describing what information is included
in this Node Identification Object (<xref target="ctypeFig"/>).  The fields in this
bitmask are chosen so that the IPAddr and name bits overlap
with the same bits as defined in <xref target="RFC5837"/>, so that an implementation
that supports exactly these bits can reuse packet generation and parsing code.</t>
        <figure anchor="ctypeFig">
          <name>C-Type for the Node Identification Object</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="96" width="560" viewBox="0 0 560 96" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 40,48 L 40,80" fill="none" stroke="black"/>
                <path d="M 360,48 L 360,80" fill="none" stroke="black"/>
                <path d="M 424,48 L 424,80" fill="none" stroke="black"/>
                <path d="M 488,48 L 488,80" fill="none" stroke="black"/>
                <path d="M 552,48 L 552,80" fill="none" stroke="black"/>
                <path d="M 40,48 L 552,48" fill="none" stroke="black"/>
                <path d="M 40,80 L 552,80" fill="none" stroke="black"/>
                <g class="text">
                  <text x="16" y="36">Bit</text>
                  <text x="72" y="36">0</text>
                  <text x="136" y="36">1</text>
                  <text x="200" y="36">2</text>
                  <text x="264" y="36">3</text>
                  <text x="328" y="36">4</text>
                  <text x="392" y="36">5</text>
                  <text x="456" y="36">6</text>
                  <text x="520" y="36">7</text>
                  <text x="204" y="68">Unassigned</text>
                  <text x="396" y="68">IPAddr</text>
                  <text x="460" y="68">Name</text>
                  <text x="520" y="68">Un2</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
Bit     0       1       2       3       4       5       6       7
    +-------+-------+-------+-------+-------+-------+-------+-------+
    |               Unassigned              | IPAddr|  Name |  Un2  |
    +-------+-------+-------+-------+-------+-------+-------+-------+
]]></artwork>
          </artset>
        </figure>
        <t>The following are bit-field definitions for C-Type:</t>
        <ul spacing="normal">
          <li>
            <t>Unassigned (bits 0-4): These bits are reserved for future use
  and <bcp14>MUST</bcp14> be set to 0 on transmit and ignored on receipt.</t>
          </li>
          <li>
            <t>IP Addr (bit 5) : When set, an IP Address Sub-Object is present.
  When clear, an IP Address Sub-Object is not present.  The IP Address
  Sub-Object is described in <xref target="IPAddr"/> of this document.</t>
          </li>
          <li>
            <t>Name (bit 6): When set, a Name Sub-Object is
  included.  When clear, it is not included.  The Name Sub-Object is
  described in <xref target="Name"/> of this document.</t>
          </li>
          <li>
            <t>Un2 (bit 7): This bit is reserved for future use
  and <bcp14>MUST</bcp14> be set to 0 on transmit and ignored on receipt.</t>
          </li>
        </ul>
        <t>The information included does not self-identify, so this
specification defines a specific ordering for sending the information
that must be followed.</t>
        <t>If bit 5 (IP Address) is set, an IP Address Sub-Object <bcp14>MUST</bcp14>
be sent first.  If bit 6 (Name) is set, a Name Sub-Object
<bcp14>MUST</bcp14> be sent next.  The information order is thus: IP Address Sub-Object,
Name Sub-Object.  Any or all pieces of information may be
present or absent, as indicated by the C-Type.  As defined in
<xref target="fooblewomp"/>, future assignments of bits in the C-Type
field will result in additional Sub-Objects being sent after
these objects. If an implementation does not support these
future assignments,
these optional pieces of information <bcp14>MUST</bcp14> be ignored.</t>
        <t>It is valid (though pointless until additional bits are assigned by
IANA) to receive a Node Identification Object where bits 5 and 6
are both 0; this <bcp14>MUST NOT</bcp14> generate a warning or error.
A packet with such a Node Identification Object <bcp14>MUST</bcp14> be treated
as though it contains no Node Identification Object.</t>
        <section anchor="fooblewomp">
          <name>Behavior when additional bits are reserved</name>
          <t>Bit values <bcp14>MUST</bcp14> be assigned from left to right in the diagram
above, i.e., starting at zero.  The sub-objects associated with each
new bit <bcp14>MUST</bcp14> be placed in the packet after the sub-objects defined
in this document.  For example, if bit 0 is assigned to the Fooblewomp,
a packet with bits 0 and 5 set <bcp14>MUST</bcp14> contain the IP Address
Sub-Object, followed by the Fooblewomp sub-object.</t>
          <t>If a bit is set that a receiver does not support, followed by
a bit that the receiver does support, the receiver <bcp14>MUST</bcp14> ignore
all of the additional data, since the length of the unsupported
data is unknown.</t>
        </section>
      </section>
      <section anchor="IPAddr">
        <name>IP Address Sub-Object</name>
        <t>If the Node Identification Object identifies the node by
address, the Object Payload contains an address sufficient
to identify the node within the appropriate scope - global
or as otherwise configured - as depicted in <xref target="addrFig"/>.</t>
        <figure anchor="addrFig">
          <name>IP Address Sub-Object</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="128" width="528" viewBox="0 0 528 128" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,112" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,96" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                <g class="text">
                  <text x="16" y="36">0</text>
                  <text x="176" y="36">1</text>
                  <text x="336" y="36">2</text>
                  <text x="496" y="36">3</text>
                  <text x="16" y="52">0</text>
                  <text x="32" y="52">1</text>
                  <text x="48" y="52">2</text>
                  <text x="64" y="52">3</text>
                  <text x="80" y="52">4</text>
                  <text x="96" y="52">5</text>
                  <text x="112" y="52">6</text>
                  <text x="128" y="52">7</text>
                  <text x="144" y="52">8</text>
                  <text x="160" y="52">9</text>
                  <text x="176" y="52">0</text>
                  <text x="192" y="52">1</text>
                  <text x="208" y="52">2</text>
                  <text x="224" y="52">3</text>
                  <text x="240" y="52">4</text>
                  <text x="256" y="52">5</text>
                  <text x="272" y="52">6</text>
                  <text x="288" y="52">7</text>
                  <text x="304" y="52">8</text>
                  <text x="320" y="52">9</text>
                  <text x="336" y="52">0</text>
                  <text x="352" y="52">1</text>
                  <text x="368" y="52">2</text>
                  <text x="384" y="52">3</text>
                  <text x="400" y="52">4</text>
                  <text x="416" y="52">5</text>
                  <text x="432" y="52">6</text>
                  <text x="448" y="52">7</text>
                  <text x="464" y="52">8</text>
                  <text x="480" y="52">9</text>
                  <text x="496" y="52">0</text>
                  <text x="512" y="52">1</text>
                  <text x="136" y="84">AFI</text>
                  <text x="396" y="84">Reserved</text>
                  <text x="268" y="116">Address...</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              AFI              |            Reserved           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Address...
]]></artwork>
          </artset>
        </figure>
        <t>Payload fields are defined as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Address Family Identifier (AFI): This 16-bit field identifies
the type of address represented by the Address field.
Values for this field represent a subset of values
found in the IANA registry of Address Family Numbers (available
from  <xref target="IANA.address-family-numbers"/>).  Valid values are as
follows:  </t>
            <ul spacing="normal">
              <li>
                <t>1: 32-bit IPv4 address</t>
              </li>
              <li>
                <t>2: 128-bit IPv6 address.</t>
              </li>
            </ul>
            <t>
If this field contains any other value not listed above, it
is not possible to determine the size of this variable-length
sub-object, so processing of the Node Identification Object <bcp14>MUST</bcp14> be
stopped, and the packet handled as though this object was not present.
This does not prevent an implementation from handling further
ICMP Extension messages, as the length field defined in <xref target="RFC4884"/>
allows skipping over the partly-handled message.  </t>
            <t>
Updates to AFI values and semantics defined in <xref section="4.2" sectionFormat="of" target="RFC5837"/>
are considered to be updates to this section as well.</t>
          </li>
          <li>
            <t>Reserved: This field <bcp14>MUST</bcp14> be set to 0 and ignored upon
receipt.</t>
          </li>
          <li>
            <t>Address: This variable-length field represents an address
of appropriate scope (global, if none other defined) that
can be used to identify the node.  The length of this field
is derived from the AFI (i.e., 32 bits if the AFI field is set to 1,
and 128 bits if the AFI is set to 2).</t>
          </li>
        </ul>
      </section>
      <section anchor="Name">
        <name>Name Sub-Object</name>
        <t><xref target="nodeFig"/> depicts the Name Sub-Object:</t>
        <figure anchor="nodeFig">
          <name>Name Sub-Object</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="112" width="528" viewBox="0 0 528 112" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,96" fill="none" stroke="black"/>
                <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,80" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 376,96" fill="none" stroke="black"/>
                <g class="text">
                  <text x="16" y="36">0</text>
                  <text x="176" y="36">1</text>
                  <text x="336" y="36">2</text>
                  <text x="496" y="36">3</text>
                  <text x="16" y="52">0</text>
                  <text x="32" y="52">1</text>
                  <text x="48" y="52">2</text>
                  <text x="64" y="52">3</text>
                  <text x="80" y="52">4</text>
                  <text x="96" y="52">5</text>
                  <text x="112" y="52">6</text>
                  <text x="128" y="52">7</text>
                  <text x="144" y="52">8</text>
                  <text x="160" y="52">9</text>
                  <text x="176" y="52">0</text>
                  <text x="192" y="52">1</text>
                  <text x="208" y="52">2</text>
                  <text x="224" y="52">3</text>
                  <text x="240" y="52">4</text>
                  <text x="256" y="52">5</text>
                  <text x="272" y="52">6</text>
                  <text x="288" y="52">7</text>
                  <text x="304" y="52">8</text>
                  <text x="320" y="52">9</text>
                  <text x="336" y="52">0</text>
                  <text x="352" y="52">1</text>
                  <text x="368" y="52">2</text>
                  <text x="384" y="52">3</text>
                  <text x="400" y="52">4</text>
                  <text x="416" y="52">5</text>
                  <text x="432" y="52">6</text>
                  <text x="448" y="52">7</text>
                  <text x="464" y="52">8</text>
                  <text x="480" y="52">9</text>
                  <text x="496" y="52">0</text>
                  <text x="512" y="52">1</text>
                  <text x="76" y="84">Length</text>
                  <text x="284" y="84">Node</text>
                  <text x="324" y="84">Name</text>
                  <text x="352" y="84">.</text>
                  <text x="368" y="84">.</text>
                  <text x="384" y="84">.</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Length    |                Node Name . . .                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </artset>
        </figure>
        <t>The Name Sub-Object <bcp14>MUST</bcp14> have a length that is a multiple
of 4 octets and <bcp14>MUST NOT</bcp14> exceed 64 octets. If the length field
exceeds 64 octets, the receiver <bcp14>MUST</bcp14> ignore the sub-object.</t>
        <t>The Length field represents the length of the Name Sub-Object,
including the length, the node name, and any padding, in octets.  The
maximum valid length is 64 octets.  The length is constrained to
ensure there is space for the start of the original packet and
additional information.</t>
        <t>The second field contains the human-readable node name.  The node
name <bcp14>SHOULD</bcp14> be the YANG sys:hostname <xref target="RFC7317"/>, if less than 64 octets,
or the first 63 octets of the sys:hostname, if the sys:hostname is
longer.  The node name <bcp14>MAY</bcp14> be some other human-meaningful name of
the node.  The node name <bcp14>MUST</bcp14> be padded with ASCII NUL characters
if the object would not otherwise terminate on a 4-octet boundary.
An example of truncation of a 66-octet node name, beginning
"HelpMyAscii" and ending "xyzpdqha" would be encoded as follows:</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="528" viewBox="0 0 528 208" 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,128" fill="none" stroke="black"/>
              <path d="M 136,160 L 136,192" fill="none" stroke="black"/>
              <path d="M 264,64 L 264,128" fill="none" stroke="black"/>
              <path d="M 264,160 L 264,192" fill="none" stroke="black"/>
              <path d="M 392,64 L 392,128" fill="none" stroke="black"/>
              <path d="M 392,160 L 392,192" fill="none" stroke="black"/>
              <path d="M 520,64 L 520,192" 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 520,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="76" y="84">64</text>
                <text x="200" y="84">H</text>
                <text x="328" y="84">e</text>
                <text x="456" y="84">l</text>
                <text x="72" y="116">p</text>
                <text x="200" y="116">M</text>
                <text x="328" y="116">y</text>
                <text x="456" y="116">A</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>
                <text x="72" y="180">y</text>
                <text x="200" y="180">z</text>
                <text x="328" y="180">p</text>
                <text x="456" y="180">d</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       64      |       H       |       e       |       l       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       p       |       M       |       y       |       A       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            . . . .                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       y       |       z       |       p       |       d       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </artset>
        <t>The node name <bcp14>MUST</bcp14> be represented in the UTF-8 charset <xref target="RFC3629"/>
using the Default Language <xref target="RFC2277"/>.  When truncating a name
to 63 octets, the truncation <bcp14>MUST</bcp14> occur on a character boundary
(e.g., if the 63rd octet is the first octet of a 2-octet character,
then the truncation will omit that octet altogether, and be padded
with an ASCII NUL character to reach the 4-octet boundary.)</t>
      </section>
    </section>
    <section anchor="nat">
      <name>Addition of Node Identification Object by Intermediate Nodes</name>
      <t>An IP/ICMP translator <bcp14>MAY</bcp14> use this extension when translating
an ICMP message listed above to include the
pre-translation source address of a packet. When doing so, it <bcp14>MUST</bcp14>
include the IP Address Sub-Object.
If an ICMP Extension Structure is already present
in the packet being translated, this Extension Object is added to
the existing ICMP Extension Structure and the checksum is updated.
If an ICMP Extension Structure is not present in the packet being
translated, one is added using the rules of <xref target="RFC4884"/>.
Further details of this mode of operation are outside the
scope of this document.</t>
      <t>If adding this object results in the ICMP message exceeding the
underlying MTU, the translator <bcp14>SHOULD</bcp14> calculate the number of bytes
that need to be removed from the "original datagram" field to
allow this object to fit, and reduce the length field in the ICMP
header by that value, moving any existing ICMP Extension Structure
back in the packet appropriately. If this operation is not possible
(for example, because the "original datagram" field is already at
a minimum size), then the translator <bcp14>MUST NOT</bcp14> add an additional
object. (Note that this number of bytes <bcp14>MUST</bcp14> be rounded up to the
nearest multiple of 4 for ICMPv4 and 8 for ICMPv6 due to the definition
of the length field in the ICMP header; see <xref target="RFC4884"/>)</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>A node name may reveal sensitive information, especially when it
encodes semantic information.
It may not be desirable to allow this information to be sent to
an arbitrary receiver.  The addition of this information to
the ICMP responses listed in <xref target="nodeid"/> is configurable, and
<bcp14>SHOULD</bcp14> be disabled by default, with the exception of IP/ICMP translators <xref target="RFC7915"/>.
Those translators <bcp14>SHOULD</bcp14> add the Node Identification Extension Object
with the IP Address Sub-Object, as described in <xref target="I-D.ietf-v6ops-icmpext-xlat-v6only-source"/>.
An implementation
may determine what objects may be added to a given message
based on the destination IP address of the ICMP message that will
contain the objects.  Access control lists (ACLs) may be used to
filter the destinations to which this information may be communicated.</t>
      <t>This document does not specify an authentication mechanism for the
extension that it defines.  Application developers should be aware
that ICMP messages and their contents are easily spoofed.</t>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>This IANA has allocated the ICMP Extension
Object Class value 5 to the extension described above.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Class Value</th>
            <th align="left">Class Name</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">5</td>
            <td align="left">Node Identification Object</td>
            <td align="left">[This document]</td>
          </tr>
        </tbody>
      </table>
      <t>IANA is requested to create a corresponding
<eref target="https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml#icmp-parameters-ext-classes">Class Sub-types Registry</eref>
 as follows:</t>
      <table>
        <thead>
          <tr>
            <th align="left">C-Type (Value)</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0-4</td>
            <td align="left">Unassigned - allocatable with Standards Action</td>
            <td align="left">[This document]</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">IP Address Sub-object included</td>
            <td align="left">[This document]</td>
          </tr>
          <tr>
            <td align="left">6</td>
            <td align="left">Name Sub-object included</td>
            <td align="left">[This document]</td>
          </tr>
          <tr>
            <td align="left">7</td>
            <td align="left">Unassigned - allocatable with Standards Action</td>
            <td align="left">[This document]</td>
          </tr>
        </tbody>
      </table>
      <t>As indicated in the table above, the remaining bits in the C-Type value
are to be allocated via Standards Action <xref target="RFC8126"/>.</t>
      <t>As mentioned in <xref target="fooblewomp"/>, IANA is requested to assign additional
bits starting at zero.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC0792">
          <front>
            <title>Internet Control Message Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="September" year="1981"/>
          </front>
          <seriesInfo name="STD" value="5"/>
          <seriesInfo name="RFC" value="792"/>
          <seriesInfo name="DOI" value="10.17487/RFC792"/>
        </reference>
        <reference anchor="RFC3629">
          <front>
            <title>UTF-8, a transformation format of ISO 10646</title>
            <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="63"/>
          <seriesInfo name="RFC" value="3629"/>
          <seriesInfo name="DOI" value="10.17487/RFC3629"/>
        </reference>
        <reference anchor="RFC2277">
          <front>
            <title>IETF Policy on Character Sets and Languages</title>
            <author fullname="H. Alvestrand" initials="H." surname="Alvestrand"/>
            <date month="January" year="1998"/>
            <abstract>
              <t>This document is the current policies being applied by the Internet Engineering Steering Group (IESG) towards the standardization efforts in the Internet Engineering Task Force (IETF) in order to help Internet protocols fulfill these requirements. 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="18"/>
          <seriesInfo name="RFC" value="2277"/>
          <seriesInfo name="DOI" value="10.17487/RFC2277"/>
        </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="RFC4884">
          <front>
            <title>Extended ICMP to Support Multi-Part Messages</title>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <author fullname="D. Gan" initials="D." surname="Gan"/>
            <author fullname="D. Tappan" initials="D." surname="Tappan"/>
            <author fullname="C. Pignataro" initials="C." surname="Pignataro"/>
            <date month="April" year="2007"/>
            <abstract>
              <t>This document redefines selected ICMP messages to support multi-part operation. A multi-part ICMP message carries all of the information that ICMP messages carried previously, as well as additional information that applications may require.</t>
              <t>Multi-part messages are supported by an ICMP extension structure. The extension structure is situated at the end of the ICMP message. It includes an extension header followed by one or more extension objects. Each extension object contains an object header and object payload. All object headers share a common format.</t>
              <t>This document further redefines the above mentioned ICMP messages by specifying a length attribute. All of the currently defined ICMP messages to which an extension structure can be appended include an "original datagram" field. The "original datagram" field contains the initial octets of the datagram that elicited the ICMP error message. Although the original datagram field is of variable length, the ICMP message does not include a field that specifies its length. Therefore, in order to facilitate message parsing, this document allocates eight previously reserved bits to reflect the length of the "original datagram" field.</t>
              <t>The proposed modifications change the requirements for ICMP compliance. The impact of these changes on compliant implementations is discussed, and new requirements for future implementations are presented.</t>
              <t>This memo updates RFC 792 and RFC 4443. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4884"/>
          <seriesInfo name="DOI" value="10.17487/RFC4884"/>
        </reference>
        <reference anchor="RFC5837">
          <front>
            <title>Extending ICMP for Interface and Next-Hop Identification</title>
            <author fullname="A. Atlas" initials="A." role="editor" surname="Atlas"/>
            <author fullname="R. Bonica" initials="R." role="editor" surname="Bonica"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="N. Shen" initials="N." surname="Shen"/>
            <author fullname="JR. Rivers" initials="JR." surname="Rivers"/>
            <date month="April" year="2010"/>
            <abstract>
              <t>This memo defines a data structure that can be appended to selected ICMP messages. The ICMP extension defined herein can be used to identify any combination of the following: the IP interface upon which a datagram arrived, the sub-IP component of an IP interface upon which a datagram arrived, the IP interface through which the datagram would have been forwarded had it been forwardable, and the IP next hop to which the datagram would have been forwarded.</t>
              <t>Devices can use this ICMP extension to identify interfaces and their components by any combination of the following: ifIndex, IPv4 address, IPv6 address, name, and MTU. ICMP-aware devices can use these extensions to identify both numbered and unnumbered interfaces. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5837"/>
          <seriesInfo name="DOI" value="10.17487/RFC5837"/>
        </reference>
        <reference anchor="RFC7317">
          <front>
            <title>A YANG Data Model for System Management</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="August" year="2014"/>
            <abstract>
              <t>This document defines a YANG data model for the configuration and identification of some common system properties within a device containing a Network Configuration Protocol (NETCONF) server. This document also includes data node definitions for system identification, time-of-day management, user management, DNS resolver configuration, and some protocol operations for system management.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7317"/>
          <seriesInfo name="DOI" value="10.17487/RFC7317"/>
        </reference>
        <reference anchor="RFC7915">
          <front>
            <title>IP/ICMP Translation Algorithm</title>
            <author fullname="C. Bao" initials="C." surname="Bao"/>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="T. Anderson" initials="T." surname="Anderson"/>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <date month="June" year="2016"/>
            <abstract>
              <t>This document describes the Stateless IP/ICMP Translation Algorithm (SIIT), which translates between IPv4 and IPv6 packet headers (including ICMP headers). This document obsoletes RFC 6145.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7915"/>
          <seriesInfo name="DOI" value="10.17487/RFC7915"/>
        </reference>
        <reference anchor="IANA.address-family-numbers" target="https://www.iana.org/assignments/address-family-numbers">
          <front>
            <title>Address Family Numbers</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <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="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="RFC4193">
          <front>
            <title>Unique Local IPv6 Unicast Addresses</title>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <date month="October" year="2005"/>
            <abstract>
              <t>This document defines an IPv6 unicast address format that is globally unique and is intended for local communications, usually inside of a site. These addresses are not expected to be routable on the global Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4193"/>
          <seriesInfo name="DOI" value="10.17487/RFC4193"/>
        </reference>
        <reference anchor="RFC6877">
          <front>
            <title>464XLAT: Combination of Stateful and Stateless Translation</title>
            <author fullname="M. Mawatari" initials="M." surname="Mawatari"/>
            <author fullname="M. Kawashima" initials="M." surname="Kawashima"/>
            <author fullname="C. Byrne" initials="C." surname="Byrne"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>This document describes an architecture (464XLAT) for providing limited IPv4 connectivity across an IPv6-only network by combining existing and well-known stateful protocol translation (as described in RFC 6146) in the core and stateless protocol translation (as described in RFC 6145) at the edge. 464XLAT is a simple and scalable technique to quickly deploy limited IPv4 access service to IPv6-only edge networks without encapsulation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6877"/>
          <seriesInfo name="DOI" value="10.17487/RFC6877"/>
        </reference>
        <reference anchor="I-D.ietf-intarea-v4-via-v6">
          <front>
            <title>IPv4 routes with an IPv6 next hop</title>
            <author fullname="Juliusz Chroboczek" initials="J." surname="Chroboczek">
              <organization>IRIF, Université Paris-Cité</organization>
            </author>
            <author fullname="Warren Kumari" initials="W." surname="Kumari">
              <organization>Google, LLC</organization>
            </author>
            <author fullname="Toke Høiland-Jørgensen" initials="T." surname="Høiland-Jørgensen">
              <organization>Red Hat</organization>
            </author>
            <date day="17" month="April" year="2026"/>
            <abstract>
              <t>   V4-via-v6 routing is a technique that uses IPv6 next-hop addresses
   for routing IPv4 packets, and thus makes it possible to route IPv4
   packets across a network where some routers have not been assigned
   IPv4 addresses.  This document describes v4-via-v6 routing, and
   defines related operational procedures, notably the origination of
   ICMPv4 packets by nodes that might not have an IPv4 address.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-intarea-v4-via-v6-08"/>
        </reference>
        <reference anchor="I-D.ietf-v6ops-icmpext-xlat-v6only-source">
          <front>
            <title>Using Dummy IPv4 Address and Node Identification Extensions for IP/ICMP translators (XLATs)</title>
            <author fullname="David 'equinox' Lamparter" initials="D. E." surname="Lamparter">
              <organization>NetDEF, Inc.</organization>
            </author>
            <author fullname="Jen Linkova" initials="J." surname="Linkova">
              <organization>Google</organization>
            </author>
            <date day="6" month="November" year="2025"/>
            <abstract>
              <t>   This document suggests that when a source IPv6 address of an ICMPv6
   message can not be translated to an IPv4 address, the protocol
   translators use the dummy IPv4 address (192.0.0.8) to translate the
   IPv6 source address, and utilize the ICMP extension for Node
   Identification (draft-ietf-intarea-extended-icmp-nodeid) to carry the
   original IPv6 source address of ICMPv6 messages.  This document
   obsoletes RFC6791, Stateless Source Address Mapping for ICMPv6
   Packets and updates IP/ICMP Translation Algorithm (RFC7915).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-v6ops-icmpext-xlat-v6only-source-01"/>
        </reference>
      </references>
    </references>
    <?line 428?>

<section anchor="change-history">
      <name>Change history</name>
      <t>This section is to be removed before publishing as an RFC.</t>
      <section anchor="changes-since-draft-fenner-intarea-extended-icmp-hostid-00">
        <name>Changes since draft-fenner-intarea-extended-icmp-hostid-00</name>
        <ul spacing="normal">
          <li>
            <t>Instead of having two different messages with the same Class Value
and different CType values, we copy the bitmap implementation
from <xref target="RFC5837"/>.  The re-use of bit positions means that packet
parsing and generation code can be largely reused from existing
<xref target="RFC5837"/> code.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-since-draft-fenner-intarea-extended-icmp-hostid-01">
        <name>Changes since draft-fenner-intarea-extended-icmp-hostid-01</name>
        <ul spacing="normal">
          <li>
            <t>Fixed several copy-pasta errors that still referred to
interface names instead of node name.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-since-draft-fenner-intarea-extended-icmp-hostid-02">
        <name>Changes since draft-fenner-intarea-extended-icmp-hostid-02</name>
        <ul spacing="normal">
          <li>
            <t>Renamed to draft-ietf-intarea-extended-icmp-nodeid-00 to reflect
adoption by WG</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-since-draft-ietf-intarea-extended-icmp-nodeid-00">
        <name>Changes since draft-ietf-intarea-extended-icmp-nodeid-00</name>
        <ul spacing="normal">
          <li>
            <t>Several edits suggested by Med Boucadair</t>
          </li>
          <li>
            <t>Added <xref target="nat"/> to address the needs of XLAT</t>
          </li>
          <li>
            <t>Changed title to "Adding Extensions to ICMP Errors for
Originating Node Identification"</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-since-draft-ietf-intarea-extended-icmp-nodeid-01">
        <name>Changes since draft-ietf-intarea-extended-icmp-nodeid-01</name>
        <ul spacing="normal">
          <li>
            <t>Added the request to assign bits starting at 0 to the IANA
Considerations</t>
          </li>
          <li>
            <t>Updated IANA Considerations wording based on RFC8126</t>
          </li>
          <li>
            <t>Shortened sub-object names to "IP Address" and "Name", eliminating
"Node".</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-since-draft-ietf-intarea-extended-icmp-nodeid-02">
        <name>Changes since draft-ietf-intarea-extended-icmp-nodeid-02</name>
        <ul spacing="normal">
          <li>
            <t>Added table to reflect Object Class assignment to IANA Considerations</t>
          </li>
          <li>
            <t>Use SVG for packet figures</t>
          </li>
          <li>
            <t>Add example of an encoded, truncated node name</t>
          </li>
          <li>
            <t>Be explicit on treatment of a packet with no bits set</t>
          </li>
          <li>
            <t>Clarified "defaults to off" in security considerations</t>
          </li>
          <li>
            <t>Clarified use of IP address and names</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-since-draft-ietf-intarea-extended-icmp-nodeid-03">
        <name>Changes since draft-ietf-intarea-extended-icmp-nodeid-03</name>
        <ul spacing="normal">
          <li>
            <t>Added Standards Action sentence to IANA Considerations</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-since-draft-ietf-intarea-extended-icmp-nodeid-04">
        <name>Changes since draft-ietf-intarea-extended-icmp-nodeid-04</name>
        <ul spacing="normal">
          <li>
            <t>Changes from AD Review
see https://mailarchive.ietf.org/arch/msg/int-area/jhtF0oqj3O0IoKBmb4Q_jwYEzA8/</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-since-draft-ietf-intarea-extended-icmp-nodeid-05">
        <name>Changes since draft-ietf-intarea-extended-icmp-nodeid-05</name>
        <ul spacing="normal">
          <li>
            <t>To address Richard Scheffenegger's TSVdir review and Mohit Sethi's
Secdir review, make it explicit that the extension <bcp14>MUST</bcp14> not be
processed if the AFI is unknown, but also add that additions to
AFI handling in RFC5837 should be considered to be additions to this
document.</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document derives text heavily from <xref target="RFC5837"/>, since the
underlying mechanism is identical, and only the semantics of the
message differs.  Thanks are therefore due to that document's
authors: Alia K. Atlas, Ronald P. Bonica, Carlos Pignataro,
Naiming Shen, and JR. Rivers.</t>
      <t>Further thanks are due to the following who have provided
valuable contributions to this document: Med Boucadair,
Jen Linkova, David Lamparter, and Luigi Iannone.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
