<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.6 -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC8029 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8029.xml">
<!ENTITY RFC6398 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6398.xml">
<!ENTITY RFC7506 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7506.xml">
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC1122 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1122.xml">
<!ENTITY RFC4291 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml">
<!ENTITY RFC8126 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
]>
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<rfc category="std" docName="draft-ietf-mpls-lspping-norao-01" ipr="trust200902" updates="7506, 8029">
  <front>
    <title abbrev="RAO-less LSP Ping">Deprecating the Use of Router Alert in
    LSP Ping</title>

    <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
      <organization>Juniper Networks</organization>

      <address>
        <postal>
          <street>1133 Innovation Way</street>

          <city>Sunnyvale</city>

          <region>CA</region>

          <code>94089</code>

          <country>United States</country>
        </postal>

        <email>kireeti.ietf@gmail.com</email>
      </address>
    </author>

    <author fullname="Ron Bonica" initials="R." surname="Bonica">
      <organization>Juniper Networks</organization>

      <address>
        <postal>
          <street>1133 Innovation Way</street>

          <city>Sunnyvale</city>

          <region>CA</region>

          <code>94089</code>

          <country>United States</country>
        </postal>

        <email>rbonica@juniper.net</email>
      </address>
    </author>

    <author fullname="Greg Mirsky" initials="G." surname="Mirsky" role="editor">
      <organization>Ericsson</organization>

      <address>
        <email>gregimirsky@gmail.com</email>
      </address>
    </author>

    <date year="2023"/>

    <area>Routing</area>

    <workgroup>MPLS WG</workgroup>

    <keyword>LSP ping, router alert</keyword>

    <abstract>
      <t>LSP ping messages (RFC 8029) are encapsulated in IP headers that
      include a Router Alert Option (RAO). The rationale for including an RAO
      is questionable. Furthermore, RFC6398 identifies security
      vulnerabilities associated with the RAO.</t>

      <t>Therefore, this document removes the RAO from LSP ping message
      encapsulations. It updates RFCs 7506 and 8029.</t>

      <t>This document also recommends the use of an IPv6 loopback address
      (:::1/128) and discourages the use of an IPv4 loopback address mapped to
      IPv6.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="introduction" title="Introduction">
      <t>LSP ping <xref target="RFC8029"/> detects data-plane failures in MPLS
      Label Switched Paths (LSPs). It can operate in &ldquo;ping mode&rdquo;
      or &ldquo;traceroute mode&rdquo;. When operating in ping mode, it
      verifies end-to-end LSP continuity. When operating in traceroute mode,
      it can localize failures to a particular node along an LSP.</t>

      <t>LSP ping defines a probe message, called the &ldquo;MPLS echo
      request&rdquo;. It also defines a response message, called the
      &ldquo;MPLS echo reply&rdquo;. Both messages are encapsulated in UDP and
      IP. The echo request message is further encapsulated in an MPLS label
      stack.</t>

      <t>When operating in ping mode, LSP ping sends a single echo request
      message, with the MPLS TTL set to a high value (e.g., 255). This message
      is intended to reach the egress Label Switching Router (LSR). When
      operating in traceroute mode, MPLS ping sends multiple echo request
      messages. It manipulates the MPLS TTL so that the first message expires
      on the first LSR along the path and subsequent messages expire on
      subsequent LSRs.</t>

      <t>The IP header that encapsulates an echo request message must include
      a Router Alert Option (RAO), while the IP header that encapsulates an
      echo reply message may include an RAO. In both cases, the rationale for
      including an RAO is questionable. Furthermore, <xref target="RFC6398"/>
      identifies security vulnerabilities associated with the RAO and
      recommends against its use outside of controlled environments.</t>

      <t>Therefore, this document removes the RAO from both LSP ping message
      encapsulations. It updates RFCs 7506 <xref target="RFC7506"/> and
      8029.</t>

      <section anchor="terminology" title="Terminology">
        <t>The key words &ldquo;MUST&rdquo;, &ldquo;MUST NOT&rdquo;,
        &ldquo;REQUIRED&rdquo;, &ldquo;SHALL&rdquo;, &ldquo;SHALL NOT&rdquo;,
        &ldquo;SHOULD&rdquo;, &ldquo;SHOULD NOT&rdquo;,
        &ldquo;RECOMMENDED&rdquo;, &ldquo;NOT RECOMMENDED&rdquo;,
        &ldquo;MAY&rdquo;, and &ldquo;OPTIONAL&rdquo; in this document are to
        be interpreted as described in BCP&nbsp;14 <xref target="RFC2119"/>
        <xref target="RFC8174"/> when, and only when, they appear in all
        capitals, as shown here.</t>

        <t><list style="hanging">
            <t hangText="LSP:">Label Switched Path</t>

            <t hangText="LSR:">Label Switching Router</t>

            <t hangText="RAO:">Router Alert Option</t>
          </list></t>
      </section>
    </section>

    <section anchor="router-alert-for-lsp-ping-rfc-8029" title="Router Alert for LSP Ping (RFC 8029)">
      <section anchor="echo-request" title="Echo Request">
        <t>While the MPLS echo request message must traverse every node in the
        LSP under test, it must not traverse any other node. Specifically, the
        message must not be forwarded beyond the egress Label Switching Router
        (LSR).</t>

        <t>To achieve this, RFC 8029 proposes the following:</t>

        <t><list style="numbers">
            <t>When the echo request message is encapsulated in IPv4, the IPv4
            destination address must be chosen from the subnet 127/8. When the
            echo request message is encapsulated in IPv6, the IPv6 destination
            address must be chosen from the subnet
            0:0:0:0:0:FFFF:7F00:0/104.</t>

            <t>When the echo request message is encapsulated in IPv4, the IPv4
            TTL must be equal to 1. When the echo request message is
            encapsulated in IPv6, the IPv6 Hop Limit must be equal to 1.</t>

            <t>When the echo request message is encapsulated in IPv4, the IPv4
            header must include an RAO. When the echo request message is
            encapsulated in IPv6, the IPv6 header chain must include a
            Hop-by-hop extension header and the Hop-by-hop extension header
            must include an RAO.</t>
          </list></t>

        <t>Currently, ALL of these are required. However, any one is
        sufficient to prevent forwarding the packet beyond the egress LSR.</t>

        <t>Therefore, this document changes RFC 8029 in that Requirement 3 is
        removed.</t>

        <t>The authors are not aware of any implementation that relies on the
        RAO to prevent packets from being forwarded beyond the egress LSR.</t>
      </section>

      <section anchor="echo-reply" title="Echo Reply">
        <t>An LSP ping replies to the MPLS echo message with an MPLS echo
        reply message. It has four reply modes:</t>

        <t><list style="numbers">
            <t>Do not reply</t>

            <t>Reply via an IPv4/IPv6 UDP packet</t>

            <t>Reply via an IPv4/IPv6 UDP packet with Router Alert</t>

            <t>Reply via application-level control channel</t>
          </list></t>

        <t>The rationale for mode 3 is questionable, if not wholly misguided.
        According to RFC 8029, &ldquo;If the normal IP return path is deemed
        unreliable, one may use 3 (Reply via an IPv4/IPv6 UDP packet with
        Router Alert).&rdquo;</t>

        <t>However, it is not clear that the use of the RAO increases the
        reliability of the return path. In fact, one can argue it decreases
        the reliability in many instances, due to the additional burden of
        processing the RAO. This document changes RGC 8020 in that mode 3 are
        removed.</t>

        <t>The authors are not aware of any implementations of mode 3.</t>

        <t/>
      </section>
    </section>

    <section anchor="update-to-rfc-7506" title="Update to RFC 7506">
      <t>RFC 7506 defines the IPv6 Router Alert Option for MPLS Operations,
      Administration, and Management. This document reclassifies RFC 7506 as
      Historic.</t>
    </section>

    <section title="Update to RFC 8029">
      <t><xref target="RFC8029"/> requires that the IPv6 Destination Address
      used in IP/UDP encapsulation of an echo request packet is selected from
      the IPv4 loopback address range mapped to IPv6. Such packets do not have
      the same behavior as prescribed in<xref target="RFC1122"/> for an IPv4
      loopback addressed packet.</t>

      <t><xref target="RFC4291"/> defines ::1/128 as the single IPv6 loopback
      address. Considering that this specification updates section 2.1 of
      <xref target="RFC8029"/> regarding the selection of an IPv6 destination
      address for an echo request message:</t>

      <t><list style="symbols">
          <t>For IPv6, the IPv6 loopback address ::1/128 SHOULD be used.</t>

          <t>The sender of an echo request MAY select the IPv6 destination
          address from the 0:0:0:0:0:FFFF:7F00/104 range.</t>

          <t>To exercise all paths in an ECMP environment, the entropy other
          than the IP destination address SHOULD be used.</t>
        </list></t>

      <t>LSP Ping implementations SHOULD ignore RAO options when they arrive
      on incoming echo request and echo reply messages.</t>
    </section>

    <section anchor="backwards-compatibility" title="Backwards Compatibility">
      <t>LSP Ping implementations SHOULD ignore RAO options when they arrive
      on incoming echo request and echo reply messages.</t>

      <t>This document requests that the IPv6 RAO value for MPLS OAM (69) in 
      <xref target="IANA-IPV6-RAO"/> is marked as "Deprecated". It also requests tha that
      Reply Mode 3 ("Reply via an IPv4/IPv6 UDP packet with Router Alert") in
      <xref target="IANA-LSP-PING"/> is marked as "Deprecated".</t>

      <t>We interpret "DEPRECATED" in this context to mean that the deprecated
      values should not be used in new implementations, and that deployed
      implementations that use these values continue to work seamlessly.</t>
    </section>

    <section anchor="iana-considerations" title="IANA Considerations">
      <t>If this document is approved, mark the IPv6 RAO value of MPLS OAM
      (69) in <xref target="IANA-IPV6-RAO"/> as &ldquo;Deprecated&rdquo;.
      <xref target="RFC8126"/> offers a formal description of the word
      "Deprecated".</t>

      <t>Also, mark Reply Mode 3 (&ldquo;Reply via an IPv4/IPv6 UDP packet
      with Router Alert&rdquo;) in <xref target="IANA-LSP-PING"/> as
      &ldquo;Deprecated&rdquo;.</t>
    </section>

    <section anchor="security-considerations" title="Security Considerations">
      <t>The recommendations this document makes do not compromise
      security.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <reference anchor="IANA-IPV6-RAO" target="https://www.iana.org/assignments/ipv6-routeralert-values">
        <front>
          <title>IPv6 Router Alert Option Values</title>

          <author>
            <organization>IANA</organization>
          </author>

          <date year="n.d."/>
        </front>
      </reference>

      <reference anchor="IANA-LSP-PING" target="https://www.iana.org/assignments/mpls-lsp-ping-parameters/mpls-lsp-ping-parameters.xml">
        <front>
          <title>Multiprotocol Label Switching (MPLS) Label Switched Paths
          (LSPs) Ping Parameters</title>

          <author>
            <organization>IANA</organization>
          </author>

          <date year="n.d."/>
        </front>
      </reference>

      &RFC8029;

      &RFC6398;

      &RFC7506;

      &RFC2119;

      &RFC8174;

      &RFC4291;

      &RFC1122;

      &RFC8126;
    </references>
  </back>

</rfc>
