<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [
<!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<?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="exp" ipr="trust200902" docName="draft-ietf-spring-bfd-13" obsoletes="" updates="" 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="BFD in SPRING MPLS">Bidirectional Forwarding Detection (BFD) in Segment Routing Networks Using MPLS Dataplane</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-spring-bfd-13"/>
    <author initials="G." surname="Mirsky" fullname="Greg Mirsky">
      <organization>Ericsson</organization>
      <address>
        <email>gregimirsky@gmail.com</email>
      </address>
    </author>
    <author initials="J." surname="Tantsura" fullname="Jeff  Tantsura">
      <organization>NVIDIA</organization>
      <address>
        <email>jefftant.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="I." surname="Varlashkin" fullname="Ilya Varlashkin">
      <organization>Google</organization>
      <address>
        <email>imv@google.com</email>
      </address>
    </author>
    <author fullname="Mach(Guoyi) Chen" initials="M." surname="Chen">
      <organization>Individual</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <country/>
        </postal>
        <email>mach.chen@outlook.com</email>
      </address>
    </author>
    <author fullname="Jiang Wenying" initials="J." surname="Wenying">
      <organization>CMCC</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <country/>
        </postal>
        <email>jiangwenying@chinamobile.com</email>
      </address>
    </author>
    
    <date year="2026"/>
    
    <area>Routing</area>
    <workgroup>SPRING Working Group</workgroup>
    
    <keyword>Internet-Draft</keyword>
    <keyword>LSP Ping</keyword>
    <keyword>BFD </keyword>
    <abstract>
      <t>
   The Segment Routing (SR) architecture leverages the paradigm of source routing. It
   can be realized in the Multiprotocol Label Switching (MPLS) network without any changes to the data plane.
   This document describes using Bidirectional Forwarding Detection (BFD) for monitoring individual
segment lists of candidate paths of an SR Policy. It documents the
use of various BFD modes and features such as BFD Demand mode,
Seamless BFD, and BFD Echo function with the BFD Control packet payload in the Segment Routing over MPLS domain.
Also, this document defines how to use Label Switched Path Ping to bootstrap a BFD session, with optional control of selecting
a segment list in the reverse direction of the BFD session.
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
 <xref target="RFC5880" format="default"/>, <xref target="RFC5881" format="default"/>, and <xref target="RFC5883" format="default"/> 
 define the operation of the Bidirectional Forwarding Detection (BFD) protocol
 between two systems over IP networks.
 <xref target="RFC5884" format="default"/> and <xref target="RFC7726" format="default"/> set rules 
 for using BFD Asynchronous mode over point-to-point (p2p) Multiprotocol Label Switching (MPLS)
 Label Switched Path (LSP). These latter standards implicitly assume that the remote 
 BFD system, which is at the egress Label Edge Router (LER),
 will use the shortest path route to periodically transmit its BFD Control messages regardless of the path the BFD system at the ingress LER
 uses to send BFD Control packets towards it.
      </t>
      <t>
      <xref target="RFC9256"/> defines the SR Policy architecture. When analyzing the
   applicability of a BFD-based mechanism for detecting network failures
   in a Segment Routing domain, it is essential to identify the monitored SR Policy elements.
      </t>
      <t>
   This document describes the use of BFD for monitoring individual
segment lists of candidate paths of an SR Policy. It documents the
use of various BFD modes and features such as BFD Demand mode,
Seamless BFD, and BFD Echo function with the BFD Control packet payload. in the Segment Routing over MPLS (SR-MPLS) domain.
Also, this document defines the use of LSP Ping for Segment Routing networks over the MPLS
 data plane <xref target="RFC8287" format="default"/> to bootstrap 
 and control path of a BFD session from the egress LER to the ingress LER
 using Segment Routing segment list with MPLS data plane (SR-MPLS).
      </t>

      <section numbered="true" toc="default">
        <name>Conventions</name>
        <section numbered="true" toc="default">
          <name>Terminology and Abbreviations</name>
  <t>Throughout this document, references to
 ingress LER and egress LER are used, respectively, as a shortened version of the "BFD system at the ingress/egress
 LER".</t>
          <t>BFD:         Bidirectional Forwarding Detection</t>
          <t>FEC:         Forwarding Equivalence Class</t>
          <t>MPLS:         Multiprotocol Label Switching</t>
          <t>SR-MPLS:   Segment Routing over MPLS</t>
          <t>LSP:         Label Switched Path</t>
          <t>LER:          Label Edge Router</t>
          <t>p2p:           Point-to-point</t>
          <t>p2mp:         Point-to-multipoint</t>
          <t>SID:           Segment Identifier</t>
          <t>SR:            Segment Routing</t>
          <t>S-BFD:      Seamless BFD</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>
    <section anchor="seg-rout-oper" numbered="true" toc="default">
      <name>Initialization of a BFD Session Over a Segment List with MPLS Data Plane</name>
      <t>
   LSP Ping SHOULD be used to bootstrap the BFD sessions <xref target="RFC5884"/>
   unless other means are available, e.g., using an extension to a
   dynamic routing protocol as described in <xref target="RFC9026"/> and <xref target="RFC9186"/>.
</t>
<t>
The procedures specified in <xref target="RFC8287"/> for using LSP Ping with an MPLS data plane SHOULD be used.
In some scenarios, e.g., when a Binding SID is the last segment of the SR Policy, procedures using Egress TLV <xref target="RFC9655"/>
MAY be used to bootstrap a BFD session for the given SR Policy.
</t>

      <t>
To support a BFD session for each candidate path of the given SR Policy, ingress and egress LERs
MUST conform to the procedures specified in Section 2 of <xref target="RFC7726"/>.
</t>

      <t>
Encapsulation of a BFD Control packet in Segment Routing network with MPLS data plane
MUST follow Section 7 <xref target="RFC5884" format="default"/> when the IP/UDP header is used.
The encapsulation MUST follow Section 3.4 <xref target="RFC6428" format="default"/> if the IP/UDP header is not used. 
</t>
    </section>
    <section anchor="seg-rout-return" numbered="true" toc="default">
      <name>Using BFD Reverse Path TLV over SR Policy's Segment List</name>
      <t>
For the BFD over MPLS LSP case, the egress LER MUST send BFD
   Control packets to the ingress LER as specified in <xref target="RFC5884"/>.
   For the case of BFD over a p2p SR-MPLS segment list, the egress LER
   MUST send BFD Control Packets to the ingress LER either using an
   IP encapsulation as specified in Section 5 of <xref target="RFC5883"/>, or
   encapsulated in an MPLS label stack as specified in Section 7 of <xref target="RFC5884"/>.
</t>
<t>
   The mechanisms mentioned above don't ensure that both directions
   of the BFD session use co-routed paths, which may contribute to
   false positive defect notifications <xref target="RFC9612"/>. To instruct the
   egress BFD system to use an explicit path for the BFD Control
   Packets associated with a particular BFD session, the procedures
   defined in <xref target="RFC9612"/> MUST be used.
   </t>

    <section anchor="non-fec-tlv" numbered="true" toc="default">
      <name>Use of Non-FEC Path TLV</name>
      <t>
 For the case of MPLS data plane, 
Segment Routing Architecture <xref target="RFC8402" format="default"/> 
explains that "a segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels." 
<!--
YANG Data Model for MPLS Static LSPs <xref target="I-D.ietf-mpls-static-yang"/>
models outgoing MPLS labels to be imposed as leaf-list <xref target="RFC6020"/>,
i.e., as array of rt-types:mpls-label <xref target="RFC8294"/>.
-->
</t>
      <t>
This document defines a new optional Non-FEC Path TLV.
The format of the Non-FEC Path TLV is presented in <xref target="non-fec-tlv-fig" format="default"/>.
      </t>
      <figure anchor="non-fec-tlv-fig">
        <name>Non-FEC Path TLV Format</name>
        <artwork name="" type="" align="left" alt=""><![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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Non-FEC Path TLV Type      |           Length              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                          Non-FEC Path                         ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>
Non-FEC Path TLV Type field is two octets in length and has a value of TBD1.
      </t>
      <t>
   The Length field is two octets long and defines the length in octets of the
   Non-FEC Path field.
      </t>
      <t>
  The Non-FEC Path field MUST contain at most one Non-FEC Path sub-TLV.
  If no sub-TLV has been found in the Non-FEC Path TLV, the
   egress LER MUST revert to using the reverse path selected
   based on its local policy. If there is more than one sub-TLV, then
   the Return Code in an MPLS echo reply MUST be set to value TBD3 "Too Many TLVs Detected".
 If the receiver of the MPLS echo request doesn't recognize Non-FEC Path TLV, it MUST set the
 Return Code in an MPLS echo reply to 2 ("One or more of the TLVs was not understood").
      </t>
    <section anchor="sr-policy-seg-list-sec" numbered="true" toc="default">
      <name>SR Policy's Segment List sub-TLV</name>
      <t>
This document defines the SR Policy's Segment List sub-TLV that MAY be used with the Non-FEC Path TLV.
The format of the sub-TLV is presented in <xref target="spring-mpls-sub-tlv" format="default"/>.
</t>
      <figure anchor="spring-mpls-sub-tlv">
        <name>SR Policy's Segment List sub-TLV</name>
        <artwork name="" type="" align="left" alt=""><![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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   Segment List sub-TLV Type   |           Length              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |               Label Stack Entry 1 (Top of Stack)              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                       Label Stack Entry 2                     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ~                                                               ~
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |               Label Stack Entry N (Bottom of Stack)           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
      </figure>
      <t>
The SR Policy's Segment List sub-TLV Type is two octets in length, and has a value of 1.
</t>
<t>The Length field is two octets long and defines the length in octets of Label Stack Entries listed in that sub-TLV.</t>
<t>The Label Stack Entry  field is four octets long and is the label stack entry as defined in Section 2.1 of <xref target="RFC3032"/>.
Label Stack Entries MUST be in network order.
The egress LER MUST use the Label fields of the Label Stack Entry field as label stack for BFD Control packets
for the BFD session identified by the source IP address of the MPLS LSP Ping packet
and the value in the BFD Discriminator TLV. 
</t>
</section>
    </section>
    
    <section anchor="dynamic-protocol" numbered="true" toc="default">
      <name>BFD Reverse Path TLV over SR Policy's Segment List with Dynamic Control Plane</name>
      <t>
Target FEC Stack sub-TLVs defined in <xref target="RFC8287" format="default"/>
are applicable in SR domains that are in the scope of <xref target="RFC8287" format="default"/>.
</t>
    </section>
    </section>
    
    <section anchor="demand-bfd" numbered="true" toc="default">
      <name>Applicability of BFD Demand Mode in SR-MPLS Domain</name>
      <t>
Sections 6.6 and 6.18.4 of <xref target="RFC5880" format="default"/> define how Demand mode of BFD
can be used to monitor uni-directional MPLS LSP. Similar procedures can be followed in SR-MPLS to monitor uni-directional SR tunnels:
</t>
      <ul spacing="normal">
        <li>an ingress SR node bootstraps the BFD session over SR-MPLS in Asynchronous BFD mode;</li>
        <li>once the BFD session is Up, the ingress SR node switches the egress LER into the Demand mode by setting D field in BFD Control packet it transmits;</li>
        <li>if the egress LER detects the failure of the BFD session, it sends its BFD Control packet
        to the ingress SR node over the IP network with a Poll sequence (Section 6.5 of <xref target="RFC5880"/>);</li>
        <li>if the ingress SR node receives a BFD Control packet from the remote node in a Demand mode 
with Poll sequence and Diag field indicating the failure, the ingress SR node transmits BFD Control packet with Final over IP and switches the BFD over SR-MPLS
back into Asynchronous mode, sending BFD Control packets one per second.</li>
      </ul>
    </section>
    <section anchor="sr-p2mp-bfd-sec" numbered="true" toc="default">
      <name>Using BFD to Monitor Point-to-Multipoint SR Policy</name>
      <t>
Segment Routing Replication for Multipoint Service Delivery <xref target="RFC9524"/>
defined variants of SR Policy to deliver point-to-multipoint (p2mp) services.
For the given segment list of an p2mp SR Policy, BFD for Multipoint Networks  <xref target="RFC8562"/> can be used if, for example, leaves have an
alternative source of the multicast service flow to select. In such a scenario, a leaf may switch to using the alternative flow
after p2mp BFD detects the failure in the working multicast path. For scenarios where it is required for the root to
monitor the state of the multicast tree BFD Multipoint Active Tails <xref target="RFC8563"/> can be used. The root may use the detection of the failure
of the multicast tree to the particular leaf to restore the path for that leaf or re-instantiate the whole multicast tree.
</t>
      <t>
An essential part of using p2mp BFD is the bootstrapping the BFD session at all the leaves. The root, acting as the MultipointHead,
MAY use LSP Ping <xref target="I-D.ietf-mpls-p2mp-bfd"/> and <xref target="I-D.ietf-pim-p2mp-policy-ping"/> with the BFD Discriminator TLV.
Also, the BGP-BFD Attribute <xref target="RFC9026"/> MAY be used to bootstrap a multipoint BFD session on a tail.
Furthermore, other extensions to routing protocols or the management plane could
be defined in the future to serve similar purposes, but such work is out of the scope of this document.
</t>
    </section>
    <section anchor="echo-bfd-sec" numbered="true" toc="default">
      <name>Use of BFD Echo in SR-MPLS</name>
      <t>
BFD Echo <xref target="RFC5880"/> can be used to monitor a segment list of the particular SR Policy between the local and the remote BFD peers.
As defined in <xref target="RFC5880" format="default"/>, the remote BFD system does not process the payload of a BFD Echo packet. Thus,
the local system demultiplexes the BFD Echo packet. matches it to the appropriate BFD session, and detects
missing BFD Echo packets. A BFD Control packet MAY be used as the payload of the BFD Echo packet.
This specification defines the use of the BFD Echo function in the SR-MPLS
network with BFD Control packet as the payload. The use of the BFD Echo function in modes other than defined in <xref target="RFC5880"/>,
e.g., <xref target="I-D.ietf-bfd-unaffiliated-echo"/>, and other types of BFD Echo payload are outside the scope of this document.
</t>
<t>
Because the remote BFD system
does not process Echo BFD, the value of the Your Discriminator field MUST be set to the discriminator of the local BFD system
assigned to the given BFD session. My Discriminator field MUST be zeroed.
To ensure that the BFD Echo packet is returned to the sender without being processed, the sender MAY use
a Binding SID<xref target="RFC8402"/> that has been bound with the SR Policy that ensures the return of a packet to that particular node.
</t>
    </section>
        <section anchor="s-bfd-sec" numbered="true" toc="default">
      <name>Use of S-BFD in SR-MPLS</name>
      <t>
      Seamless BFD (S-BFD), defined in <xref target="RFC7880"/>, maintains essential characteristics
      and elements of the base BFD mechanism described in <xref target="RFC5880"/> with a lighter approach
      to instantiating a BFD session between BFD peers. Similar to the BFD Asynchronous mode, S-BFD
      is capable of monitoring a segment list of a p2p SR Policy.
      </t>
      <t>
         Considering that a particular SR Policy can include multiple
   candidate paths, which, in turn, have one or more segment lists, it could be beneficial to monitor each segment list
   independently.  To achieve that, the S-BFD Reflector advertises My
   Discriminator value.  Then, the S-BFD Initiator uses the advertised My
   Discriminator value as Your Discriminator value in the BFD Control
   messages transmitted over the segment list of the SR Policy.
   Furthermore, the S-BFD Initiator assigns a unique My Discriminator for
   each S-BFD session monitoring a segment list.  S-BFD Reflector
   transmits BFD Control messages as IP/UDP packets, taking
   advantage of the available resilience mechanisms of the IP network.
   From that point, to minimize the detection of failures in the IP network that
   do not affect the monitored segment list, it is reasonable
   not to use defect detection intervals that are close to the IP network
   repair time. Instead, having an S-BFD a detection
   interval three times longer than the IP network repair time is practical.



      </t>
      </section>
  
    <section anchor="iana-consider" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section anchor="iana-non-fec-tlv" numbered="true" toc="default">
        <name>Non-FEC Path TLV</name>
        <t>
IANA is requested to assign a new TLV type from the 16384-31739 range
of the registry "Sub-TLVs for TLV Types 1, 16, and 21" of the "Multiprotocol Label Switching Architecture (MPLS)
Label Switched Paths (LSPs) Ping Parameters" group as defined in <xref target="spring-non-fec-tlv-table" format="default"/>.
</t>
        <table anchor="spring-non-fec-tlv-table" align="center">
          <name>New Non-FEC Path TLV</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">TLV Name</th>
              <th align="left">Reference</th>
              <th align="left">Sub-TLV Registry</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">&nbsp;TBD1</td>
              <td align="left">Non-FEC Path TLV</td>
              <td align="left">This&nbsp;document</td>
              <td align="left">Path sub-TLV</td>
            </tr>
          </tbody>
        </table>
        <t>
IANA is requested to create new Non-FEC Path sub-TLV registry for the Non-FEC Path TLV, as described in <xref target="iana-non-fec-sub-tlv-reg-tbl" format="default"/>.
</t>
        <table anchor="iana-non-fec-sub-tlv-reg-tbl" align="center">
          <name>Non-FEC Path sub-TLV registry</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="center">Registration Procedures</th>
              <th align="left">Note</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-16383</td>
              <td align="center">Standards Action</td>
              <td align="left">This range is for sub-TLVs that require an error message if not recognized (Section 4.1 of <xref target="RFC9041"/>).</td>
            </tr>
            <tr>
              <td align="left">16384-31739</td>
              <td align="center">RFC Required</td>
              <td align="left">This range is for sub-TLVs that require an error message if not recognized (Section 4.1 of <xref target="RFC9041"/>).</td>
            </tr>
            <tr>
              <td align="left">31740-31743</td>
              <td align="center">Experimental Use. Reserved, not to be assigned. </td>
              <td align="left">This range is for sub-TLVs that require an error message if not recognized (Section 4.1 of <xref target="RFC9041"/>).</td>
            </tr>
            <tr>
              <td align="left">31744-32767</td>
              <td align="center">First Come First Served</td>
              <td align="left">This range is for sub-TLVs that require an error message if not recognized (Section 4.1 of <xref target="RFC9041"/>).</td>
            </tr>
            <tr>
              <td align="left">32768-49161</td>
              <td align="center">Standards Action</td>
              <td align="left">This range is for optional TLVs that can be silently dropped if not recognized.</td>
            </tr>
            <tr>
              <td align="left">49162-64507</td>
              <td align="center">RFC Required</td>
              <td align="left">This range is for optional TLVs that can be silently dropped if not recognized.</td>
            </tr>
            <tr>
              <td align="left">64508-64511</td>
              <td align="center">Experimental Use. Reserved, not to be assigned. </td>
              <td align="left">This range is for optional TLVs that can be silently dropped if not recognized.</td>
            </tr>
            <tr>
              <td align="left">64512-65535</td>
              <td align="center">First Come First Served</td>
              <td align="left">This range is for optional TLVs that can be silently dropped if not recognized.</td>
            </tr>
          </tbody>
        </table>
        <t>IANA is requested to allocate the following values from the Non-FEC Path sub-TLV registry as defined in <xref target="spring-sub-tlv-table" format="default"/>.</t>
        <table anchor="spring-sub-tlv-table" align="center">
          <name>New SR Segment List sub-TLV</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">Reserved</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">&nbsp;1</td>
              <td align="left">SR Policy's Segment List sub-TLV</td>
              <td align="left">This&nbsp;document</td>
            </tr>
            <tr>
              <td align="left">65535</td>
              <td align="left">Reserved</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-return-code" numbered="true" toc="default">
        <name>Return Code</name>
        <t>
IANA is requested to create Non-FEC Path sub-TLV sub-registry for
the new Non-FEC Path TLV and assign a new Return Code value from the "Multi-Protocol Label Switching (MPLS)
Label Switched Paths (LSPs) Ping Parameters" registry, "Return Codes" sub-registry, as follows using a
value from the RFC Required range.
</t>
        <table anchor="return-code-iana" align="center">
          <name>New Return Code</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">&nbsp;TBD3</td>
              <td align="left">Too Many TLVs Detected.</td>
              <td align="left">This&nbsp;document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Implementation Status</name>
           <t>Note to RFC Editor: This section MUST be removed before publication of the document.</t>
      <t>
    This section records the status of known implementations of the
     protocol defined by this specification at the time of posting of
     this Internet-Draft, and is based on a proposal described in
     <xref target="RFC7942"/>.  The description of implementations in this section is
     intended to assist the IETF in its decision processes in
     progressing drafts to RFCs.  Please note that the listing of any
     individual implementation here does not imply endorsement by the
     IETF.  Furthermore, no effort has been spent to verify the
     information presented here that was supplied by IETF contributors.
     This is not intended as, and must not be construed to be, a
     catalog of available implementations or their features.  Readers
     are advised to note that other implementations may exist.
      </t>
            <t>
      According to <xref target="RFC7942"/>, "this will allow reviewers and working
     groups to assign due consideration to documents that have the
     benefit of running code, which may serve as evidence of valuable
     experimentation and feedback that have made the implemented
     protocols more mature. It is up to the individual working groups
     to use this information as they see fit".
      </t>
      <t>-  The organization responsible for the implementation: ZTE Corporation.</t>
      <t>-  The implementation's name ROSng SW empowers traditional routers, e.g., ZXCTN 6000.</t>
      <t>-  A brief general description: A list of SIDs can be specified as the Return Path for an SR-MPLS segment list.</t>
      <t> -  The implementation's level of maturity: production.</t>
      <t>-  Coverage: complete</t>
      <t>-  Version compatibility: draft-mirsky-spring-bfd-06.</t>
      <t>-  Licensing: proprietary.</t>
      <t>-  Implementation experience: Appreciate Early Allocation of values for Non-FEC TLV and SR Policy's Segment List sub-TLV (using First Come First Served code points).</t>
      <t>-  Contact information: Qian Xin qian.xin2@zte.com.cn</t>
      <t>-  The date when information about this particular implementation was last updated: 12/16/2019</t>
    </section>
    
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
      This document describes the specifics of using MPLS LSP Ping, BFD,
      and BFD for multipoint networks for the Segment Routing network with
      the MPLS data plane. Since all the discussed tools have been used in MPLS networks, there are no additional security risks.
 The security considerations discussed in <xref target="RFC5880"/>, 
 <xref target="RFC5884"/>, <xref target="RFC8562"/>, <xref target="RFC8563"/>,
 <xref target="RFC7726"/>, <xref target="RFC8029"/>,
 <xref target="RFC6428"/>, <xref target="RFC7880"/>, <xref target="RFC8287"/>,
 <xref target="RFC8402"/>, <xref target="RFC9524"/>, <xref target="RFC9612"/>,
 and <xref target="RFC9256"/>
 apply to this document. 
      </t>
    </section>
    
    <section anchor="oper-sec" numbered="true" toc="default">
      <name>Operational Considerations</name>
<t>
      BFD <xref target="RFC5880"/> provided 
</t>
      </section>
    
       <section anchor="experiment" numbered="true" toc="default">
      <name>The Scope of the Experiment</name>
      <t>
      The experimental part included in this document is limited to the use of Non-FEC Path TLV in BFD Reverse Path TLV <xref target="RFC9612"/>.
      The goal of the experiment with the Non-FEC Path TLV is validation that its use does not adversely affect the defect detection
      in the forward direction while reducing the number of BFD sessions between a pair of label switching routers without reporting additional false-negative events.
      </t>
      </section>
      
    <section anchor="contr-sec" numbered="true" toc="default">
      <name>Contributors</name>
      <artwork name="" type="" align="left" alt=""><![CDATA[    
   Xiao Min
   ZTE Corp.
   Email: xiao.min2@zte.com.cn
       ]]></artwork>
    </section>
    <section numbered="true" toc="default">
      <name>Acknowledgments</name>
      <t>
      Authors express their sincere gratitude to Alexander "Sasha" Vainshtein for his helpful comments
      and thought-inspiring discussion of SR Policies and BFD-based mechanisms.
         Authors greatly appreciate the help of Qian Xin, who provided the information about the implementation of this specification.
      </t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <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.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.5881.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5883.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.7726.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6428.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8287.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8562.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8563.xml"/>
        <!-- <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8660.xml"/> -->
        <!--   <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6790.xml"/> -->
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9524.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9612.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3032.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7880.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9256.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9041.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9655.xml"/>
      </references>
      <references>
        <name>Informative References</name>
<!-- <?rfc include="reference.RFC.6020"?>  -->
  <!-- <?rfc include='reference.RFC.8294'?>  -->

      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml"/>
        <!-- <?rfc include="reference.RFC.7110"?> -->
    <!-- <?rfc include='reference.I-D.ietf-mpls-static-yang'?> -->
<!--  <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-ietf-spring-mpls-anycast-segments.xml"/> -->
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9026.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9186.xml"/>

        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-ietf-pim-p2mp-policy-ping.xml"/>
        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-ietf-mpls-p2mp-bfd.xml"/>
        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-ietf-bfd-unaffiliated-echo.xml"/>
      </references>
    </references>
  </back>
</rfc>
