<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-mirsky-mpls-bfd-bootstrap-clarify-03" ipr="trust200902" updates="5884" obsoletes="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.6.0 -->
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

  <front>
    <title abbrev="Clarify Bootstrapping BFD over MPLS LSP">Clarifying Use of LSP Ping to Bootstrap BFD over MPLS LSP</title>
    <seriesInfo name="Internet-Draft" value="draft-mirsky-mpls-bfd-bootstrap-clarify-03"/>
    <author fullname="Greg Mirsky" initials="G." surname="Mirsky">
      <organization>Ericsson</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <country/>
        </postal>
        <email>gregimirsky@gmail.com</email>
      </address>
    </author>
    <author fullname="Yanhua Zhao" initials="Y." surname="Zhao">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <phone/>
        <email>zhao.yanhua3@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Gyan Mishra" initials="G. " surname="Mishra">
      <organization>Verizon Inc.</organization>
      <address>
        <email>gyan.s.mishra@verizon.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>
        <phone/>
        <email>rbonica@juniper.net</email>
      </address>
    </author> 
    
    <date year="2023"/>
    <area>Routing</area>
    <workgroup>MPLS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>BFD</keyword>
    <keyword>LSP Ping</keyword>
    <abstract>
      <t>
      This document, if approved, updates RFC 5884 by clarifying 
      procedures for using MPLS LSP ping to bootstrap Bidirectional Forwarding Detection (BFD)
over MPLS Label Switch Path.
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro-section" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
      <xref target="RFC5884" format="default"/> defines how LSP Ping <xref target="RFC8029" format="default"/>
      uses BFD Discriminator TLV to bootstrap Bidirectional Forwarding Detection (BFD) session
      over MPLS Label Switch Path (LSP). Implementation and operational experiences suggest
      that two aspects of using LSP ping to bootstrap BFD session can benefit from clarification. 
      This document updates <xref target="RFC5884" format="default"/> in use of Return Mode field in MPLS LSP
      echo request message and use of BFD Discriminator TLV in MPLS LSP echo reply.
      </t>
    </section>
    <!--
      <section title="Conventions used in this document">
-->
<!--
     <section title="Terminology">     
     <t>MPLS:       Multiprotocol Label Switching</t>
     <t>LSP:        Label Switched Path</t>
     <t>BFD:        Bidirectional Forwarding Detection</t>
     </section>
-->
     
     <section numbered="true" toc="default">
      <name>Requirements Language</name>
      <t>
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
   NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
   "MAY", and "OPTIONAL" in this document are to be interpreted as
   described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> 
   when, and only when, they appear in all capitals, as shown here.
      </t>
    </section>
    <!--
    </section>
-->

    <section anchor="return-mode" numbered="true" toc="default">
      <name>Use of Return Mode Field</name>
      <t>
      <xref target="RFC5884"/> does not define the value for the Return Mode field <xref target="RFC8029"/>
      when LSP ping is used to bootstrap a BFD session of MPLS LSP.  When an LSP echo request is used
      to detect defects in the MPLS data plane and verify consistency between the control plane and the data plane,
      an echo reply is needed to confirm the correct state and provide positive acknowledgment.
      But when an LSP echo request is used to bootstrap a BFD session, the positive acknowledgment,
      according to<xref target="RFC5884"/>, is provided by the egress transmitting BFD control message.
      Thus LSP echo reply is not used to bootstrap the BFD session, and hence the Return Mode field in
      the echo request message SHOULD be set to 1 (Do not reply) <xref target="RFC8029"/> when LSP
      echo request is used to bootstrap a BFD session. If bootstrapping a BFD session is combined with
      the periodic verification of a FEC as described in <xref target="RFC8029"/>, the Return Mode field
      MAY be set to 2 (Reply via an IPv4/IPv6 UDP packet).
      Furthermore, as proposed in <xref target="I-D.kompella-mpls-lspping-norao"/>,
      the value of the Return Mode field in the echo request used to bootstrap a BFD session MUST NOT be set
      to 3 (Reply via an IPv4/IPv6 UDP packet with Router Alert).
      </t>
    </section>
    <section anchor="bfd-disc-echo-reply" numbered="true" toc="default">
      <name>Use of BFD Discriminator TLV in LSP Echo Reply</name>
      <t>
<xref target="RFC5884" format="default"/> in section 6 defines that echo reply  by the egress LSR to BFD bootstrapping echo request MAY include
BFD Discriminator TLV with locally assigned discriminator value for the BFD session. But the <xref target="RFC5884" format="default"/> does not define
how the ingress LSR may use the returned value. From a practical point, as discussed in <xref target="return-mode" format="default"/>, the returned value is
not useful since the egress is required to send the BFD control message right after successfully validating the FEC and before sending an echo reply
message. Secondly, identifying the corresponding BFD session at ingress without returning its discriminator presents an unnecessary challenge for
the implementation. Thus the egress LSR SHOULD NOT include BFD Discriminator TLV if sending an echo reply to BFD bootstrapping echo request.
      </t>
    </section>
    
     <section anchor="dest-ip-sec" numbered="true" toc="default">
      <name>Destination IPv6 Address</name>
      <t>
   <xref target="RFC5884"/> 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 7 of <xref target="RFC5884"/>
   regarding the selection of an IPv6 destination address for a BFD Control message:
   </t>

      <ul spacing="normal">
      <li>For IPv6, the IPv6 loopback address ::1/128 SHOULD be used.</li>
      <li>The sender of an echo request MAY select the IPv6 destination  address from the 0:0:0:0:0:FFFF:7F00/104 range.</li>
      <li>To exercise all paths in an ECMP environment, the entropy other than the IP destination address SHOULD use
      the Entropy Label <xref target="RFC6790"/> to discover multiple alternate paths in an MPLS network.</li>
</ul>   

      </section>
      
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>
This document does not require any action by IANA. This section may be removed.
</t>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
      This document does not introduce new security aspects but inherits all security considerations
      from <xref target="RFC5880" format="default"/>, <xref target="RFC5884" format="default"/>, <xref target="RFC8029" format="default"/>.
      </t>
    </section>
    <section anchor="Acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>
      TBA
      </t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1122.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5880.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5884.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8029.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6790.xml"/>
      <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-kompella-mpls-lspping-norao.xml"/>
    </references>
    <!--
    <references title="Informative References">
      
    </references>
-->
  </back>
</rfc>
