<?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.23 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-intarea-extended-icmp-nodeid-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="ICMP Node ID">Adding Extensions to ICMP Errors for Originating Node Identification</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-intarea-extended-icmp-nodeid-01"/>
    <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="2025" month="March" day="01"/>
    <area>Internet</area>
    <workgroup>Internet Area Working Group</workgroup>
    <keyword>ICMP</keyword>
    <keyword>IPv6 nexthops</keyword>
    <keyword>Node identification</keyword>
    <abstract>
      <?line 61?>

<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 nexthops are IPv6 nexthops,
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 74?>

<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.chroboczek-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.equinox-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.</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 appended
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 appended
to any of the currently defined ICMPv4 or ICMPv6 messages other than
those listed above.</t>
      <t>The extension defined herein <bcp14>MAY</bcp14> be appended to any of the above
listed messages and <bcp14>SHOULD</bcp14> be appended whenever required to identify
the node and when local policy or security
considerations do not supersede this requirement.  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 Information 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 within the domain.
The IP Address Sub-Object is defined in <xref target="IPAddr"/> of this memo.</t>
        </li>
        <li>
          <t>A Node 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>The C-Type 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>
          <artwork><![CDATA[
Bit     0       1       2       3       4       5       6       7
    +-------+-------+-------+-------+-------+-------+-------+-------+
    |               Reserved                | IPAddr|  name | Rsvd2 |
    +-------+-------+-------+-------+-------+-------+-------+-------+
]]></artwork>
        </figure>
        <t>The following are bit-field definitions for C-Type:</t>
        <t>Reserved (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>
        <t>IP Addr (bit 5) : When set, a Node IP Address Sub-Object is present.
When clear, an IP Address Sub-Object is not present.  The Node IP Address
Sub-Object is described in <xref target="IPAddr"/> of this memo.</t>
        <t>Node Name (bit 6): When set, a Node Name Sub-Object is
included.  When clear, it is not included.  The Node Name Sub-Object is
described in <xref target="Name"/> of this memo.</t>
        <t>Rsvd2 (bit 7): This bit is reserved for future use
and <bcp14>MUST</bcp14> be set to 0 on transmit and ignored on receipt.</t>
        <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, a Node IP Address Sub-Object <bcp14>MUST</bcp14>
be sent first.  If bit 6 (Name) is set, a Node Name Sub-Object
<bcp14>MUST</bcp14> be sent next.  The information order is thus: IP Address Sub-Object,
Node Name Sub-Object.  Any or all pieces of information may be
present or absent, as indicated by the C-Type.  Any data that follows
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 Information Object where bits 5 and 6
are both 0; this <bcp14>MUST NOT</bcp14> generate a warning or error.</t>
        <section anchor="behavior-when-additional-bits-are-reserved">
          <name>Behavior when additional bits are reserved</name>
          <t>Bit values <bcp14>SHOULD</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 memo.  For example, if bit 0 is assigned to the Fooblewomp,
a packet with bits 0 and 5 set <bcp14>MUST</bcp14> contain the Node 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>Node 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>
          <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              AFI              |            Reserved           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Address...
]]></artwork>
        </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>
          </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>Node Name Sub-Object</name>
        <t><xref target="nodeFig"/> depicts the Node Name Sub-Object:</t>
        <figure anchor="nodeFig">
          <name>Node Name Sub-Object</name>
          <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Length    |                  Node Name...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The Node 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 Node Name Sub-
Object, including the length and the node name 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.</t>
        <t>The node name <bcp14>MUST</bcp14> be represented in the UTF-8 charset <xref target="RFC3629"/>
using the Default Language <xref target="RFC2277"/>.</t>
      </section>
    </section>
    <section anchor="nat">
      <name>Adding 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 appended 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 memo.</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
defaults to off, with 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.equinox-v6ops-icmpext-xlat-v6only-source"/>.
An implementation
may determine what objects may be appended 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.  The corresponding
Class Sub-types Registry is 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">Unallocated - 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">Unallocated - allocatable with Standards Action</td>
            <td align="left">[This document]</td>
          </tr>
        </tbody>
      </table>
    </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/RFC0792"/>
        </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="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="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.chroboczek-intarea-v4-via-v6">
          <front>
            <title>IPv4 routes with an IPv6 next hop</title>
            <author fullname="Juliusz Chroboczek" initials="J." surname="Chroboczek">
              <organization>IRIF, University of Paris</organization>
            </author>
            <author fullname="Warren &quot;Ace&quot; Kumari" initials="W. A." 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="20" month="January" year="2025"/>
            <abstract>
              <t>   This document proposes "v4-via-v6" routing, a technique that uses
   IPv6 next-hop addresses for routing IPv4 packets, thus making it
   possible to route IPv4 packets across a network where routers have
   not been assigned IPv4 addresses.  The document both describes the
   technique, as well as discussing its operational implications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-chroboczek-intarea-v4-via-v6-03"/>
        </reference>
        <reference anchor="I-D.equinox-v6ops-icmpext-xlat-v6only-source">
          <front>
            <title>Using Dummy IPv4 Address and Node Identification Extensions for IP/ICMP translators (XLATs)</title>
            <author fullname="David Lamparter" initials="D." surname="Lamparter">
              <organization>NetDEF, Inc.</organization>
            </author>
            <author fullname="Jen Linkova" initials="J." surname="Linkova">
              <organization>Google</organization>
            </author>
            <date day="23" month="February" 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.

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

<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>
    <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, and David Lamparter.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
HtM0TjgAAA==

-->

</rfc>
