<?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.4 (Ruby 3.2.2) -->
<?rfc tocompact="yes"?>
<?rfc tocindent="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-fenner-int-probe-clarification-00" category="std" consensus="true" submissionType="IETF" obsoletes="8335" updates="4884" tocDepth="3" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.0 -->
  <front>
    <title abbrev="PROBE">PROBE: A Utility for Probing Interfaces</title>
    <seriesInfo name="Internet-Draft" value="draft-fenner-int-probe-clarification-00"/>
    <author initials="B." surname="Fenner" fullname="Bill Fenner" role="editor">
      <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="Bonica" fullname="Ron Bonica">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <street>2251 Corporate Park Drive</street>
          <city>Herndon</city>
          <region>Virginia</region>
          <code>20171</code>
          <country>USA</country>
        </postal>
        <email>rbonica@juniper.net</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>
    <author initials="J." surname="Linkova" fullname="Jen Linkova">
      <organization>Google</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
          <region>California</region>
          <code>94043</code>
          <country>USA</country>
        </postal>
        <email>furry@google.com</email>
      </address>
    </author>
    <author initials="C." surname="Lenart" fullname="Chris Lenart">
      <organization>Verizon</organization>
      <address>
        <postal>
          <street>22001 Loudoun County Parkway</street>
          <city>Ashburn</city>
          <region>Virginia</region>
          <code>20147</code>
          <country>USA</country>
        </postal>
        <email>chris.lenart@verizon.com</email>
      </address>
    </author>
    <author initials="M." surname="Boucadair" fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <postal>
          <city>Rennes 35000</city>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <date year="2024" month="January" day="08"/>
    <area>Internet</area>
    <workgroup>INTAREA</workgroup>
    <keyword>Ping</keyword>
    <abstract>
      <?line 86?>

<t>This document describes a network diagnostic tool called PROBE. PROBE
is similar to PING in that it can be used to query the status of a
probed interface, but it differs from PING in that it does not require
bidirectional connectivity between the probing and probed interfaces.
Instead, PROBE requires bidirectional connectivity between the probing
interface and a proxy interface. The proxy interface can reside on the
same node as the probed interface, or it can reside on a node to which
the probed interface is directly connected. This document updates RFC
4884 and obsoletes RFC 8335.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/fenner/probe-clarification"/>.</t>
    </note>
  </front>
  <middle>
    <?line 99?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Network operators use <xref target="RFC2151">PING</xref> to test
bidirectional connectivity between two interfaces. For the purposes of
this document, these interfaces are called the probing and probed
interfaces. PING sends an <xref target="RFC0792">ICMP</xref> <xref target="RFC4443"/> Echo Request
message from the probing interface to
the probed interface. The probing interface resides on a probing node
while the probed interface resides on a probed node.</t>
      <t>If the probed interface receives the ICMP Echo Request message, it
returns an ICMP Echo Reply. When the probing interface receives the ICMP
Echo Reply, it has verified bidirectional connectivity between the
probing and probed interfaces. Specifically, it has verified that:</t>
      <ul spacing="normal">
        <li>
          <t>The probing node can reach the probed interface.</t>
        </li>
        <li>
          <t>The probed interface is active.</t>
        </li>
        <li>
          <t>The probed node can reach the probing interface.</t>
        </li>
        <li>
          <t>The probing interface is active.</t>
        </li>
      </ul>
      <t>This document describes a network diagnostic tool called PROBE. PROBE
is similar to PING in that it can be used to query the status of a
probed interface, but it differs from PING in that it does not require
bidirectional connectivity between the probing and probed interfaces.
Instead, PROBE requires bidirectional connectivity between the probing
interface and a proxy interface. The proxy interface can reside on the
same node as the probed interface, or it can reside on a node to which
the probed interface is directly connected. <xref target="usecase"/> of
this document describes scenarios in which this characteristic is
useful.</t>
      <t>Like PING, PROBE executes on a probing node. It sends an ICMP
Extended Echo Request message from a local interface, called the probing
interface, to a proxy interface. The proxy interface resides on a proxy
node.</t>
      <t>The ICMP Extended Echo Request contains an ICMP Extension Structure
and the ICMP Extension Structure contains an Interface Identification
Object. The Interface Identification Object identifies the probed
interface. The probed interface can reside on or
directly connect to the proxy node.</t>
      <t>When the proxy interface receives the ICMP Extended Echo Request, the
proxy node executes access control procedures. If access is granted, the
proxy node determines the status of the probed interface and returns an
ICMP Extended Echo Reply message. The ICMP Extended Echo Reply indicates
the status of the probed interface.</t>
      <t>If the probed interface resides on the proxy node, PROBE determines
the status of the probed interface as it would determine its
<xref target="RFC8343">oper-status</xref>.
If oper-status is equal to 'up' (1),
PROBE reports that the probed interface is active. Otherwise, PROBE
reports that the probed interface is inactive.</t>
      <t>If the probed interface resides on a node that is directly connected
to the proxy node, and the probed interface appears in the <xref target="RFC0826">IPv4
Address Resolution Protocol (ARP) table</xref> or <xref target="RFC4861">IPv6 Neighbor
Cache</xref>, PROBE reports
interface reachability. Otherwise, PROBE reports that the table entry
does not exist.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This document uses the following terms:</t>
        <ul spacing="normal">
          <li>
            <t>Probing interface: The interface that sends the ICMP Extended
Echo Request.</t>
          </li>
          <li>
            <t>Probing node: The node upon which the probing interface
resides.</t>
          </li>
          <li>
            <t>Proxy interface: The interface to which the ICMP Extended Echo
Request message is sent.</t>
          </li>
          <li>
            <t>Proxy node: The node upon which the proxy interface
resides.</t>
          </li>
          <li>
            <t>Probed interface: The interface whose status is being
queried.</t>
          </li>
          <li>
            <t>Probed node: The node upon which the probed interface resides.
If the proxy interface and the probed interface reside upon the
same node, the proxy node is also the probed node. Otherwise, the
proxy node is directly connected to the probed node.</t>
          </li>
        </ul>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="ExtendedEcho">
      <name>ICMP Extended Echo Request</name>
      <t>The ICMP Extended Echo Request message is defined for both ICMPv4 and
ICMPv6. Like any ICMP message, the ICMP Extended Echo Request message is
encapsulated in an IP header. The ICMPv4 version of the Extended Echo
Request message is encapsulated in an IPv4 header, while the ICMPv6
version is encapsulated in an IPv6 header.</t>
      <t><xref target="ICMPEchoFIG"/> depicts the ICMP Extended Echo Request
message.</t>
      <figure anchor="ICMPEchoFIG">
        <name>ICMP Extended Echo Request Message</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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Identifier          |Sequence Number|   Reserved  |L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   ICMP Extension Structure
   +-+-+-+-+-
   |   Data...
]]></artwork>
      </figure>
      <t>IP Header fields:</t>
      <ul spacing="normal">
        <li>
          <t>Source Address: The Source Address identifies the probing
interface. It <bcp14>MUST</bcp14> be a valid IPv4 or IPv6 unicast address.</t>
        </li>
        <li>
          <t>Destination Address: The Destination Address identifies the proxy
interface. It <bcp14>MUST</bcp14> be a unicast address.</t>
        </li>
      </ul>
      <t>ICMP fields:</t>
      <ul spacing="normal">
        <li>
          <t>Type: Extended Echo Request. The value for ICMPv4 is 42.
The value for ICMPv6 is 160.</t>
        </li>
        <li>
          <t>Code: <bcp14>MUST</bcp14> be set to 0 and <bcp14>MUST</bcp14> be ignored upon receipt.</t>
        </li>
        <li>
          <t>Checksum: For ICMPv4, see RFC 792. For ICMPv6, see RFC 4443.</t>
        </li>
        <li>
          <t>Identifier: An Identifier to aid in matching Extended Echo
Replies to Extended Echo Requests. May be 0.</t>
        </li>
        <li>
          <t>Sequence Number: A Sequence Number to aid in matching Extended
Echo Replies to Extended Echo Requests. May be 0.</t>
        </li>
        <li>
          <t>Reserved: This field <bcp14>MUST</bcp14> be set to 0 and ignored upon
receipt.</t>
        </li>
        <li>
          <t>L (local): The L-bit is set if the probed interface resides on
the proxy node. The L-bit is clear if the probed interface is
directly connected to the proxy node.</t>
        </li>
        <li>
          <t>ICMP Extension Structure: The ICMP Extension Structure contains an
Interface Identification Object that identifies the probed interface.
The checksum in the ICMP Extension structure covers the Interface
Identification Object but not any (optional) data that follows.</t>
        </li>
      </ul>
      <t>Section 7 of <xref target="RFC4884"/> defines the ICMP Extension
Structure. As per RFC 4884, the Extension Structure contains exactly one
Extension Header followed by one or more objects. When applied to the
ICMP Extended Echo Request message, the ICMP Extension Structure <bcp14>MUST</bcp14>
contain exactly one instance of the <xref target="IntIdObj">Interface Identification Object</xref>.
The ICMP Extension Structure
does not cover the rest of the packet; it ends at the end of the
single Interface Identification Object, and what follows is simply optional
data.</t>
      <t>If the L-bit is set, the Interface Identification Object can identify
the probed interface by name, index, or address. If the L-bit is clear,
the Interface Identification Object <bcp14>MUST</bcp14> identify the probed interface
by address.</t>
      <t>If the Interface Identification Object identifies the probed
interface by address, that address can be a member of any address
family. For example, an ICMPv4 Extended Echo Request message can carry
an Interface Identification Object that identifies the probed interface
by IPv4, IPv6, or IEEE 802 address. Likewise, an ICMPv6 Extended Echo
Request message can carry an Interface Identification Object that
identifies the probed interface by IPv4, IPv6, or IEEE 802 address.</t>
      <t>The Interface Identification Object <bcp14>MAY</bcp14> be followed by an optional
data section, which is not interpreted but is simply present to be
copied to the ICMP Extended Echo Reply.</t>
      <section anchor="IntIdObj">
        <name>Interface Identification Object</name>
        <t>The Interface Identification Object identifies the probed interface
by name, index, or address. Like any other ICMP Extension Object, it
contains an Object Header and Object Payload. The Object Header
contains the following fields:</t>
        <ul spacing="normal">
          <li>
            <t>Class-Num: Interface Identification Object. The value is 3.</t>
          </li>
          <li>
            <t>C-Type: Values are (1) Identifies Interface by Name, (2)
Identifies Interface by Index, and (3) Identifies Interface by
Address.</t>
          </li>
          <li>
            <t>Length: Length of the object, measured in octets, including the
Object Header and Object Payload.</t>
          </li>
        </ul>
        <t>If the Interface Identification Object identifies the probed
interface by name, the Object Payload <bcp14>MUST</bcp14> be the interface name as
defined in <xref target="RFC8343"/>. If the Object Payload would not otherwise
terminate on a 32-bit boundary, it <bcp14>MUST</bcp14> be padded with ASCII NULL
characters.</t>
        <t>If the Interface Identification Object identifies the probed
interface by index, the length is equal to 8 and the payload contains
the if-index <xref target="RFC8343"/>.</t>
        <t>If the Interface Identification Object identifies the probed
interface by address, the payload is as depicted in <xref target="addrFig"/>.</t>
        <figure anchor="addrFig">
          <name>Interface Identification Object - C-Type 3 Payload</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                | Address Length|   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. All values
found in the IANA registry of Address Family Numbers (available
from <xref target="IANA.address-family-numbers"/>)
are valid in this field.</t>
          </li>
          <li>
            <t>Address Length: Number of significant bytes contained by the
Address field. (The Address field contains significant bytes and
padding bytes.)</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
associated with the probed interface. If the address field would
not otherwise terminate on a 32-bit boundary, it <bcp14>MUST</bcp14> be padded
with zeroes.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="ExtendedEchoReply">
      <name>ICMP Extended Echo Reply</name>
      <t>The ICMP Extended Echo Reply message is defined for both ICMPv4 and
ICMPv6. Like any ICMP message, the ICMP Extended Echo Reply message is
encapsulated in an IP header. The ICMPv4 version of the Extended Echo
Reply message is encapsulated in an IPv4 header, while the ICMPv6
version is encapsulated in an IPv6 header.</t>
      <t><xref target="ICMPEchoReplyFIG"/> depicts the ICMP Extended Echo
Reply message.</t>
      <figure anchor="ICMPEchoReplyFIG">
        <name>ICMP Extended Echo Reply Message</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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Identifier          |Sequence Number|State|Res|A|4|6|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   ICMP Extension Structure
   +-+-+-+-+-
   |   Data...
]]></artwork>
      </figure>
      <t>IP Header fields:</t>
      <ul spacing="normal">
        <li>
          <t>Source Address: Copied from the Destination Address field of the
invoking Extended Echo Request message.</t>
        </li>
        <li>
          <t>Destination Address: Copied from the Source Address field of the
invoking Extended Echo Request message.</t>
        </li>
      </ul>
      <t>ICMP fields:</t>
      <ul spacing="normal">
        <li>
          <t>Type: Extended Echo Reply. The value for ICMPv4 is 43.
The value for ICMPv6 is 161.</t>
        </li>
        <li>
          <t>Code: Values are (0) No Error, (1) Malformed Query, (2) No Such Interface,
(3) No Such Table Entry, and (4) Multiple Interfaces Satisfy Query.</t>
        </li>
        <li>
          <t>Checksum: For ICMPv4, see RFC 792. For ICMPv6, see RFC 4443.</t>
        </li>
        <li>
          <t>Identifier: Copied from the Identifier field of the invoking
Extended Echo Request packet.</t>
        </li>
        <li>
          <t>Sequence Number: Copied from the Sequence Number field of the
invoking Extended Echo Request packet.</t>
        </li>
        <li>
          <t>State: If Code is not equal to 0, this field <bcp14>MUST</bcp14> be set to 0
and ignored upon receipt. Likewise, if the probed interface resides
upon the proxy node, this field <bcp14>MUST</bcp14> be set to 0 and ignored upon
receipt. Otherwise, this field reflects the state of the ARP table
or Neighbor Cache entry associated with the probed interface. Values
are (0) Reserved, (1) Incomplete, (2) Reachable, (3) Stale, (4) Delay,
(5) Probe, and (6) Failed.</t>
        </li>
        <li>
          <t>Res: This field <bcp14>MUST</bcp14> be set to 0 and ignored upon receipt.</t>
        </li>
        <li>
          <t>A (Active): The A-bit is set if the Code is equal to 0, the
probed interface resides on the proxy node, and the probed interface
is active. Otherwise, the A-bit is clear.</t>
        </li>
        <li>
          <t>4 (IPv4): The 4-bit is set if the A-bit is also set and IPv4 is
running on the probed interface. Otherwise, the 4-bit is clear.</t>
        </li>
        <li>
          <t>6 (IPv6): The 6-bit is set if the A-bit is also set and IPv6 is
running on the probed interface. Otherwise, the 6-bit is clear.</t>
        </li>
      </ul>
    </section>
    <section anchor="proc">
      <name>ICMP Message Processing</name>
      <t>When a node receives an ICMP Extended Echo Request message and any of
the following conditions apply, the node <bcp14>MUST</bcp14> silently discard the
incoming message:</t>
      <ul spacing="normal">
        <li>
          <t>The node does not recognize ICMP Extended Echo Request
messages.</t>
        </li>
        <li>
          <t>The node has not explicitly enabled ICMP Extended Echo
functionality.</t>
        </li>
        <li>
          <t>The incoming ICMP Extend Echo Request carries a Source Address
that is not explicitly authorized for the L-bit setting of the
incoming ICMP Extended Echo Request.</t>
        </li>
        <li>
          <t>The incoming ICMP Extend Echo Request carries a Source Address
that is not explicitly authorized for the incoming ICMP Extended
Echo Request type (i.e., by ifName, by IfIndex, or by Address).</t>
        </li>
        <li>
          <t>The Source Address of the incoming message is not a unicast
address.</t>
        </li>
        <li>
          <t>The Destination Address of the incoming message is a multicast
address.</t>
        </li>
      </ul>
      <t>Otherwise, when a node receives an ICMPv4 Extended Echo Request, it
<bcp14>MUST</bcp14> format an ICMP Extended Echo Reply as follows:</t>
      <ul spacing="normal">
        <li>
          <t>Don't Fragment (DF) flag is 1</t>
        </li>
        <li>
          <t>More Fragments flag is 0</t>
        </li>
        <li>
          <t>Fragment Offset is 0</t>
        </li>
        <li>
          <t>TTL is 255</t>
        </li>
        <li>
          <t>Protocol is ICMP</t>
        </li>
      </ul>
      <t>When a node receives an ICMPv6 Extended Echo Request, it <bcp14>MUST</bcp14>
format an ICMPv6 Extended Echo Reply as follows:</t>
      <ul spacing="normal">
        <li>
          <t>Hop Limit is 255</t>
        </li>
        <li>
          <t>Next Header is ICMPv6</t>
        </li>
      </ul>
      <t>In either case, the responding node <bcp14>MUST</bcp14> do the following:</t>
      <ul spacing="normal">
        <li>
          <t>Copy the Source Address from the Extended Echo Request message to
the Destination Address of the Extended Echo Reply.</t>
        </li>
        <li>
          <t>Copy the Destination Address from the Extended Echo Request
message to the Source Address of the Extended Echo Reply.</t>
        </li>
        <li>
          <t>Set the DiffServ codepoint to <xref target="RFC4594">CS0</xref>.</t>
        </li>
        <li>
          <t>Set the ICMP Type to Extended Echo Reply.</t>
        </li>
        <li>
          <t>Copy the Identifier from the Extended Echo Request message to the
Extended Echo Reply.</t>
        </li>
        <li>
          <t>Copy the Sequence Number from the Extended Echo Request message
to the Extended Echo Reply.</t>
        </li>
        <li>
          <t>Set the Code field as described in <xref target="code"/>.</t>
        </li>
        <li>
          <t>Set the State field to 0.</t>
        </li>
        <li>
          <t>Clear the A-bit, the 4-bit, and the 6-bit.</t>
        </li>
        <li>
          <t>If (1) the Code Field is equal to (0) No Error, (2) the L-bit is set,
and (3) the probed interface is active, set the A-bit. Also, set the
4-bit and the 6-bit as appropriate.</t>
        </li>
        <li>
          <t>If the Code field is equal to (0) No Error and the L-bit is
clear, then set the State field to reflect the state of the ARP table or
Neighbor Cache entry that represents the probed interface.</t>
        </li>
        <li>
          <t>Copy the ICMP Extension Structure, ICMP Extension Object, and Data
(if any) from the Extended Echo Request message.</t>
        </li>
        <li>
          <t>Set the Checksum appropriately.</t>
        </li>
        <li>
          <t>Forward the ICMP Extended Echo Reply to its destination.</t>
        </li>
      </ul>
      <section anchor="code">
        <name>Code Field Processing</name>
        <t>The Code field <bcp14>MUST</bcp14> be set to (1) Malformed Query if any of the
following conditions apply:</t>
        <ul spacing="normal">
          <li>
            <t>The ICMP Extended Echo Request does not include an ICMP
Extension Structure.</t>
          </li>
          <li>
            <t>The ICMP Extension Structure does not include exactly one
Interface Identification Object.</t>
          </li>
          <li>
            <t>The ICMP Extension Structure checksum is 0 or incorrect.</t>
          </li>
          <li>
            <t>The L-bit is clear and the Interface Identification Object
identifies the probed interface by ifName or ifIndex.</t>
          </li>
          <li>
            <t>The query is otherwise malformed.</t>
          </li>
        </ul>
        <t>The Code field <bcp14>MUST</bcp14> be set to (2) No Such Interface if the
L-bit is set and the ICMP Extension Structure does not identify an
interface that resides on the proxy node.</t>
        <t>The Code field <bcp14>MUST</bcp14> be set to (3) No Such Table Entry if the L-bit
is clear and the address found in the Interface Identification Object
does not appear in the IPv4 Address Resolution Protocol (ARP) table or
the IPv6 Neighbor Cache.</t>
        <t>The Code field <bcp14>MUST</bcp14> be set to (4) Multiple Interfaces Satisfy Query
if any of the following conditions apply:</t>
        <ul spacing="normal">
          <li>
            <t>The L-bit is set and the ICMP Extension Structure identifies
more than one interface that resides in the proxy node.</t>
          </li>
          <li>
            <t>The L-bit is clear and the address found in the Interface
Identification Object maps to multiple IPv4 ARP or IPv6 Neighbor
Cache entries.</t>
          </li>
        </ul>
        <t>Otherwise, the Code field <bcp14>MUST</bcp14> be set to (0) No Error.</t>
      </section>
    </section>
    <section anchor="usecase">
      <name>Use Cases</name>
      <t>In the scenarios listed below, network operators can use PROBE to
determine the status of a probed interface but cannot use PING for the
same purpose. In all scenarios, assume bidirectional connectivity
between the probing and proxy interfaces. However, bidirectional
connectivity between the probing and probed interfaces is lacking.</t>
      <ul spacing="normal">
        <li>
          <t>The probed interface is unnumbered.</t>
        </li>
        <li>
          <t>The probing and probed interfaces are not directly connected to
one another. The probed interface has an IPv6 link-local address
but does not have a more globally scoped address.</t>
        </li>
        <li>
          <t>The probing interface runs IPv4 only while the probed interface
runs IPv6 only.</t>
        </li>
        <li>
          <t>The probing interface runs IPv6 only while the probed interface
runs IPv4 only.</t>
        </li>
        <li>
          <t>For lack of a route, the probing node cannot reach the probed
interface.</t>
        </li>
      </ul>
    </section>
    <section anchor="updates-to-rfc-4884">
      <name>Updates to RFC 4884</name>
      <t>Section 4.6 of <xref target="RFC4884"/> provides a list of extensible ICMP messages
(i.e., messages that can carry the ICMP Extension Structure). This
document adds the ICMP Extended Echo Request message and the ICMP
Extended Echo Reply message to that list.</t>
    </section>
    <section anchor="changes-from-rfc-8335">
      <name>Changes from RFC 8335</name>
      <t>This document updates <xref target="RFC8335"/> to clarify the handling of
extra data beyond the ICMP Extension Structure, that data is
echoed in the response packet, and checksum handling in the ICMP
Extension Structure.</t>
      <t>Specifically,</t>
      <ul spacing="normal">
        <li>
          <t>Updated <xref target="ICMPEchoFIG"/> to reflect the presence of the ICMP Extension Object
and additional data.</t>
        </li>
        <li>
          <t>Updated <xref target="ExtendedEcho"/> to mention the ICMP Extension Structure checksum,
and extra verbosity about how the Extension Structure does not cover the
rest of the packet.</t>
        </li>
        <li>
          <t>Updated <xref target="ICMPEchoReplyFIG"/> to reflect the presence of the ICMP Extension
Structure and additional data.</t>
        </li>
        <li>
          <t>Added a step in <xref target="proc"/> about copying data from the request to the
response.</t>
        </li>
        <li>
          <t>Added a step in <xref target="code"/> about validating the ICMP Extension Structure checksum.</t>
        </li>
      </ul>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>IANA has performed the following actions:</t>
      <ul spacing="normal">
        <li>
          <t>Added the following to the "ICMP Type Numbers" registry:  </t>
          <artwork><![CDATA[
   42 Extended Echo Request
]]></artwork>
          <t>
Added the following to the "Type 42 - Extended Echo Request"
subregistry:  </t>
          <artwork><![CDATA[
   (0) No Error
]]></artwork>
        </li>
        <li>
          <t>Added the following to the "ICMPv6 'type' Numbers" registry:  </t>
          <artwork><![CDATA[
   160 Extended Echo Request

   As ICMPv6 distinguishes between informational and error
   messages, and this is an informational message, the value has
   been assigned from the range 128-255.
]]></artwork>
          <t>
Added the following to the "Type 160 - Extended Echo Request"
subregistry:  </t>
          <artwork><![CDATA[
   (0) No Error
]]></artwork>
        </li>
        <li>
          <t>Added the following to the "ICMP Type Numbers" registry:  </t>
          <artwork><![CDATA[
   43 Extended Echo Reply
]]></artwork>
          <t>
Added the following to the "Type 43 - Extended Echo Reply"
subregistry:  </t>
          <artwork><![CDATA[
   (0) No Error
   (1) Malformed Query
   (2) No Such Interface
   (3) No Such Table Entry
   (4) Multiple Interfaces Satisfy Query
]]></artwork>
        </li>
        <li>
          <t>Added the following to the "ICMPv6 'type' Numbers" registry:  </t>
          <artwork><![CDATA[
   161 Extended Echo Reply

   As ICMPv6 distinguishes between informational and error
   messages, and this is an informational message, the value has
   been assigned from the range 128-255.
]]></artwork>
          <t>
Added the following to the "Type 161 - Extended Echo Reply"
subregistry:  </t>
          <artwork><![CDATA[
   (0) No Error
   (1) Malformed Query
   (2) No Such Interface
   (3) No Such Table Entry
   (4) Multiple Interfaces Satisfy Query
]]></artwork>
        </li>
        <li>
          <t>Added the following to the "ICMP Extension Object Classes and
Class Sub-types" registry:  </t>
          <artwork><![CDATA[
   (3) Interface Identification Object
]]></artwork>
          <t>
Added the following C-types to the "Sub-types - Class 3 -
Interface Identification Object" subregistry:  </t>
          <artwork><![CDATA[
   (0) Reserved
   (1) Identifies Interface by Name
   (2) Identifies Interface by Index
   (3) Identifies Interface by Address
]]></artwork>
          <t>
C-Type values are assigned on a First Come First Serve (FCFS)
basis with a range of 0-255.</t>
        </li>
      </ul>
      <t>All codes mentioned above are assigned on an FCFS basis with a range
of 0-255.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The following are legitimate uses of PROBE:</t>
      <ul spacing="normal">
        <li>
          <t>to determine the operational status of an interface.</t>
        </li>
        <li>
          <t>to determine which protocols (e.g., IPv4 or IPv6) are active on an
interface.</t>
        </li>
      </ul>
      <t>However, malicious parties can use PROBE to obtain additional
information. For example, a malicious party can use PROBE to discover
interface names. Having discovered an interface name, the malicious
party may be able to infer additional information. Additional
information may include:</t>
      <ul spacing="normal">
        <li>
          <t>interface bandwidth</t>
        </li>
        <li>
          <t>the type of device that supports the interface (e.g., vendor
identity)</t>
        </li>
        <li>
          <t>the operating system version that the above-mentioned device
executes</t>
        </li>
      </ul>
      <t>Understanding this risk, network operators establish policies that
restrict access to ICMP Extended Echo functionality. In order to enforce
these policies, nodes that support ICMP Extended Echo functionality <bcp14>MUST</bcp14>
support the following configuration options:</t>
      <ul spacing="normal">
        <li>
          <t>Enable/disable ICMP Extended Echo functionality. By default, ICMP
Extend Echo functionality is disabled.</t>
        </li>
        <li>
          <t>Define enabled L-bit settings. By default, the option to set the L-bit
is enabled and the option to clear the L-bit is disabled.</t>
        </li>
        <li>
          <t>Define enabled query types (i.e., by name, by index, or by address);
by default, all query types are disabled.</t>
        </li>
        <li>
          <t>For each enabled query type, define the prefixes from which ICMP
Extended Echo Request messages are permitted.</t>
        </li>
        <li>
          <t>For each interface, determine whether ICMP Echo Request messages
are accepted.</t>
        </li>
      </ul>
      <t>When a node receives an ICMP Extended Echo Request message that it is
not configured to support, it <bcp14>MUST</bcp14> silently discard the message. See <xref target="proc"/> for details.</t>
      <t>PROBE must not leak information about one Virtual Private Network
(VPN) into another. Therefore, when a node receives an ICMP Extended
Echo Request and the proxy interface is in a different VPN than the
probed interface, the node <bcp14>MUST</bcp14> return an ICMP Extended Echo Reply with
error code equal to (2) No Such Interface.</t>
      <t>In order to protect local resources, implementations <bcp14>SHOULD</bcp14>
rate-limit incoming ICMP Extended Echo Request messages.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC0826">
          <front>
            <title>An Ethernet Address Resolution Protocol: Or Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware</title>
            <author fullname="D. Plummer" initials="D." surname="Plummer"/>
            <date month="November" year="1982"/>
            <abstract>
              <t>The purpose of this RFC is to present a method of Converting Protocol Addresses (e.g., IP addresses) to Local Network Addresses (e.g., Ethernet addresses). This is an issue of general concern in the ARPA Internet Community at this time. The method proposed here is presented for your consideration and comment. This is not the specification of an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="37"/>
          <seriesInfo name="RFC" value="826"/>
          <seriesInfo name="DOI" value="10.17487/RFC0826"/>
        </reference>
        <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="RFC4861">
          <front>
            <title>Neighbor Discovery for IP version 6 (IPv6)</title>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <author fullname="H. Soliman" initials="H." surname="Soliman"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document specifies the Neighbor Discovery protocol for IP Version 6. IPv6 nodes on the same link use Neighbor Discovery to discover each other's presence, to determine each other's link-layer addresses, to find routers, and to maintain reachability information about the paths to active neighbors. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4861"/>
          <seriesInfo name="DOI" value="10.17487/RFC4861"/>
        </reference>
        <reference anchor="RFC8343">
          <front>
            <title>A YANG Data Model for Interface Management</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model for the management of network interfaces. It is expected that interface-type-specific data models augment the generic interfaces data model defined in this document. The data model includes definitions for configuration and system state (status information and counters for the collection of statistics).</t>
              <t>The YANG data model in this document conforms to the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
              <t>This document obsoletes RFC 7223.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8343"/>
          <seriesInfo name="DOI" value="10.17487/RFC8343"/>
        </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="RFC8335">
          <front>
            <title>PROBE: A Utility for Probing Interfaces</title>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <author fullname="R. Thomas" initials="R." surname="Thomas"/>
            <author fullname="J. Linkova" initials="J." surname="Linkova"/>
            <author fullname="C. Lenart" initials="C." surname="Lenart"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <date month="February" year="2018"/>
            <abstract>
              <t>This document describes a network diagnostic tool called PROBE. PROBE is similar to PING in that it can be used to query the status of a probed interface, but it differs from PING in that it does not require bidirectional connectivity between the probing and probed interfaces. Instead, PROBE requires bidirectional connectivity between the probing interface and a proxy interface. The proxy interface can reside on the same node as the probed interface, or it can reside on a node to which the probed interface is directly connected. This document updates RFC 4884.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8335"/>
          <seriesInfo name="DOI" value="10.17487/RFC8335"/>
        </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="RFC2151">
          <front>
            <title>A Primer On Internet and TCP/IP Tools and Utilities</title>
            <author fullname="G. Kessler" initials="G." surname="Kessler"/>
            <author fullname="S. Shepard" initials="S." surname="Shepard"/>
            <date month="June" year="1997"/>
            <abstract>
              <t>This memo is an introductory guide to many of the most commonly- available TCP/IP and Internet tools and utilities. It also describes discussion lists accessible from the Internet, ways to obtain Internet and TCP/IP documents, and some resources that help users weave their way through the Internet. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="30"/>
          <seriesInfo name="RFC" value="2151"/>
          <seriesInfo name="DOI" value="10.17487/RFC2151"/>
        </reference>
        <reference anchor="RFC4594">
          <front>
            <title>Configuration Guidelines for DiffServ Service Classes</title>
            <author fullname="J. Babiarz" initials="J." surname="Babiarz"/>
            <author fullname="K. Chan" initials="K." surname="Chan"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>This document describes service classes configured with Diffserv and recommends how they can be used and how to construct them using Differentiated Services Code Points (DSCPs), traffic conditioners, Per-Hop Behaviors (PHBs), and Active Queue Management (AQM) mechanisms. There is no intrinsic requirement that particular DSCPs, traffic conditioners, PHBs, and AQM be used for a certain service class, but as a policy and for interoperability it is useful to apply them consistently. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4594"/>
          <seriesInfo name="DOI" value="10.17487/RFC4594"/>
        </reference>
        <reference anchor="IANA.address-family-numbers" target="http://www.iana.org/assignments/address-family-numbers">
          <front>
            <title>Address Family Numbers</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
    </references>
    <?line 755?>

<section anchor="application">
      <name>The PROBE Application</name>
      <t>The PROBE application accepts input parameters, sets a counter, and
enters a loop to be exited when the counter is equal to 0. On each
iteration of the loop, PROBE emits an ICMP Extended Echo Request,
decrements the counter, sets a timer, and waits. The ICMP Extended Echo
Request includes an Identifier and a Sequence Number.</t>
      <t>If an ICMP Extended Echo Reply carrying the same Identifier and
Sequence Number arrives, PROBE relays information returned by that
message to its user. However, on each iteration of the loop, PROBE waits
for the timer to expire regardless of whether an Extended Echo Reply
message arrives.</t>
      <t>PROBE accepts the following parameters:</t>
      <ul spacing="normal">
        <li>
          <t>Count</t>
        </li>
        <li>
          <t>Wait</t>
        </li>
        <li>
          <t>Probing Interface Address</t>
        </li>
        <li>
          <t>Hop Count</t>
        </li>
        <li>
          <t>Proxy Interface Address</t>
        </li>
        <li>
          <t>Local</t>
        </li>
        <li>
          <t>Probed Interface Identifier</t>
        </li>
      </ul>
      <t>Count is a positive integer whose default value is 3. Count
determines the number of times that PROBE iterates through the
above-mentioned loop.</t>
      <t>Wait is a positive integer whose minimum and default values are 1.
Wait determines the duration of the above-mentioned timer, measured in
seconds.</t>
      <t>Probing Interface Address specifies the Source Address of the ICMP
Extended Echo Request. The Probing Interface Address <bcp14>MUST</bcp14> be a unicast
address and <bcp14>MUST</bcp14> identify an interface that resides on the probing
node.</t>
      <t>The Proxy Interface Address identifies the interface to which the
ICMP Extended Echo Request message is sent. It must be an IPv4 or IPv6
unicast address. If it is an IPv4 address, PROBE emits an ICMPv4 message. If it
is an IPv6 address, PROBE emits an ICMPv6 message.</t>
      <t>Local is a boolean value. It is TRUE if the proxy and probed
interfaces both reside on the same node. Otherwise, it is FALSE.</t>
      <t>The Probed Interface Identifier identifies the probed interface. It
is one of the following:</t>
      <ul spacing="normal">
        <li>
          <t>an interface name;</t>
        </li>
        <li>
          <t>an address from any address family (e.g., IPv4, IPv6, IEEE 802,
48-bit MAC, or 64-bit MAC); or</t>
        </li>
        <li>
          <t>an if-index.</t>
        </li>
      </ul>
      <t>If the Probed Interface Identifier is an address, it does not need to
be of the same address family as the proxy interface address. For
example, PROBE accepts an IPv4 Proxy Interface Address and an IPv6
Probed Interface Identifier.</t>
    </section>
    <section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgments</name>
      <t>Thanks to Sowmini Varadhan, Jeff Haas, Carlos Pignataro, Jonathan
Looney, Dave Thaler, Mikio Hara, Joel Halpern, Yaron Sheffer, Stefan
Winter, Jean-Michel Combes, Amanda Barber, and Joe Touch for their
thoughtful review of this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
