<?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.6.5 (Ruby 2.7.0) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC6790 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6790.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8402 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8660 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8660.xml">
<!ENTITY RFC8754 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml">
<!ENTITY RFC8986 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
<!ENTITY I-D.filsfils-spring-path-tracing SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.filsfils-spring-path-tracing.xml">
<!ENTITY I-D.decraene-mpls-slid-encoded-entropy-label-id SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.decraene-mpls-slid-encoded-entropy-label-id.xml">
<!ENTITY RFC9197 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9197.xml">
<!ENTITY I-D.kumar-ippm-ifa SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.kumar-ippm-ifa.xml">
<!ENTITY I-D.song-opsawg-ifit-framework SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.song-opsawg-ifit-framework.xml">
]>


<rfc ipr="trust200902" docName="draft-filsfils-spring-path-tracing-srmpls-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Path Tracing in SR-MPLS networks">Path Tracing in SR-MPLS networks</title>

    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>Belgium</country>
        </postal>
        <email>cf@cisco.com</email>
      </address>
    </author>
    <author initials="A." surname="Abdelsalam" fullname="Ahmed Abdelsalam" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>Italy</country>
        </postal>
        <email>ahabdels@cisco.com</email>
      </address>
    </author>
    <author initials="P." surname="Camarillo" fullname="Pablo Camarillo Garvia" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>Spain</country>
        </postal>
        <email>pcamaril@cisco.com</email>
      </address>
    </author>
    <author initials="I." surname="Meilik" fullname="Israel Meilik">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <country>Israel</country>
        </postal>
        <email>israel.meilik@broadcom.com</email>
      </address>
    </author>
    <author initials="M." surname="Valentine" fullname="Mike Valentine">
      <organization>Goldman Sachs</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>michael.j.valentine@gs.com</email>
      </address>
    </author>
    <author initials="R." surname="Geib" fullname="Ruediger Geib">
      <organization>Deutsche Telekom</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>Ruediger.Geib@telekom.de</email>
      </address>
    </author>
    <author initials="J." surname="Desmarais" fullname="Jonathan Desmarais">
      <organization>Colt Technology Services</organization>
      <address>
        <postal>
          <country>UK</country>
        </postal>
        <email>Jonathan.Desmarais@colt.net</email>
      </address>
    </author>

    <date year="2024" month="May" day="13"/>

    <area>General</area>
    <workgroup>SPRING</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>Path Tracing provides a record of the packet path as a sequence of interface ids. In addition, it provides a record of end-to-end delay, per-hop delay, and load on each interface that forwards the packet.</t>

<t>Path Tracing has the lowest MTU overhead compared to alternative proposals such as <xref target="INT"/>, <xref target="RFC9197"/>, <xref target="I-D.song-opsawg-ifit-framework"/>, and <xref target="I-D.kumar-ippm-ifa"/>.</t>

<t>Path Tracing supports fine grained timestamp. It has been designed for linerate hardware implementation in the base pipeline.</t>

<t>This document defines the Path Tracing specification for the SR-MPLS dataplane. The Path Tracing specification for the SRv6 dataplane is defined in <xref target="I-D.filsfils-spring-path-tracing"/>.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>Path Tracing provides a record of the packet path as a sequence of interface ids. In addition, it provides a record of end-to-end delay, per-hop delay, and load on each interface that forwards the packet.</t>

<t>Path Tracing has the lowest MTU overhead compared to alternative proposals such as <xref target="INT"/>, <xref target="RFC9197"/>, <xref target="I-D.song-opsawg-ifit-framework"/>, and <xref target="I-D.kumar-ippm-ifa"/>.</t>

<t>Path Tracing supports fine grained timestamp. It has been designed for linerate hardware implementation in the base pipeline.</t>

<t>Path Tracing is applicable to both SR-MPLS <xref target="RFC8660"/>, as well as SRv6 <xref target="RFC8986"/>. This document defines the Path Tracing specification for the SR-MPLS dataplane. The SRv6 dataplane is detailed in <xref target="I-D.filsfils-spring-path-tracing"/>.</t>

</section>
<section anchor="terminology"><name>Terminology</name>
<t>The following terms used within this document are defined in <xref target="RFC6790"/>, <xref target="RFC8402"/>, <xref target="RFC8754"/>, <xref target="RFC8986"/>, <xref target="I-D.decraene-mpls-slid-encoded-entropy-label-id"/> and <xref target="I-D.filsfils-spring-path-tracing"/>: Segment Routing (SR), SR Domain, Segment Identifier (SID), SR-MPLS SID, SR Policy, Segment Routing Header (SRH), SR source node, transit node, SR Endpoint, SA, DA, EL, ELI, ELC, PT, PT Probing Instance, PT Source, PT Midpoint, PT Sink, RC, MCD, SRH PT-TLV, TEF.</t>

<t>The following terms are used in this document as defined below:</t>

<t>MPLS HbH-PT: MPLS Hop-by-Hop Path Tracing Option used for Path Tracing. It contains a stack of MCDs. It is defined in <xref target="sec-hbh-pt"/> of this document.</t>

<t>SEL: Structured Entropy Label as defined in <xref target="I-D.decraene-mpls-slid-encoded-entropy-label-id"/>.</t>

<t>TEF Label: MPLS Label bound to Timestamp, Encapsulation and Forward (TEF) behavior. The allocation of the TEF Label is out of scope of this document.</t>

<t>PTI: PT Indicator is a flag bit used to indicate the presence of the MPLS HbH-PT after the BoS Label and triggers PT behavior at a PT Midpoint.</t>

<section anchor="requirements-language"><name>Requirements Language</name>
<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;, &quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; 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>

</section>
</section>
<section anchor="pt-source-node-dataplane-behavior"><name>PT Source Node Dataplane Behavior</name>

<t>For each configured PT Probing Instance, according to the probe-rate, the PT Source generates a PT probe packet as follows:</t>

<figure><artwork><![CDATA[
S01. Generate a new packet
S02. Push an SRH PT-TLV
S03. Set the session ID field of the SRH PT-TLV as per
     PT Probing Instance configuration
S04. Set the Sequence Number field of SRH PT-TLV and
     increase local counter
S05. Push an MPLS HbH-PT header
S06. Set all bits of MCD Stack of the MPLS HbH-PT header to zero
S07. Set the VER field of the MPLS HbH-PT to 0x2
S08. Set the value of Opt Data Len field as per
     the PT Probing Instance configuration
S09. Push an MPLS Structured Entropy Label (SEL)
S10. Set the PTI flag in the ELC field of the SEL
S11. Set the value of the SEL entropy field as per
     the PT Probing Instance configuration
S12. Set Bottom of Stack bit (S) of the SEL to 1
S13. Push an MPLS Entropy Indicator Label (ELI)
S14. Push an MPLS TEF Label as per the PT Probing
     Instance configuration
S15. Set the TC and TTL value of the TEF Label as per
     PT Probing Instance configuration
S16. Push an SR-MPLS transport Label stack as per the
     PT Probing Instance configuration
S17. Set the TC and TTL value of the SR-MPLS transport Labels
     as per PT Probing Instance configuration
S18. Add padding bytes after SRH PT-TLV to reach the desired
     packet size as per the MTU sweeping range configuration in
     the PT Probing Instance configuration
S19. Perform MPLS lookup using the topmost label to
     determine the Outgoing Interface (IFACE-OUT)
S20. Record Transmit 64-bit timestamp (SRC.T64) in the
     T64 field of the SRH PT-TLV
S21. Record IFACE-OUT ID (SRC.OIF) in the IF_ID field
     of the SRH PT-TLV
S22. Record IFACE-OUT Load (SRC.OIL) in the IF_LD field
     of the SRH PT-TLV
S23. Forward the packet via IFACE-OUT
]]></artwork></figure>

<t>Notes:</t>

<t><list style="symbols">
  <t>The pseudocode describes local processing at a node. An implementation of the pseudocode is compliant as long as the externally observable wire protocol is as described in the pseudocode.</t>
</list></t>

</section>
<section anchor="pt-midpoint-node-dataplane-behavior"><name>PT Midpoint Node Dataplane Behavior</name>
<t>When an MPLS LSR router receives an MPLS packet with SEL, the MPLS LSR router processes the SEL as follows:</t>

<figure><artwork><![CDATA[
S01. When processing SEL {
S02.    Use Entropy field to compute ECMP hash and decide IFACE-OUT
S03.    IF (SEL[ELC].PTI == 1 and SEL[BOS] == 1) {
S04.       Compute the Midpoint MCD for IFACE-OUT
S05.       Locate the MPLS HbH-PT immediately after SEL
S06.       MPLS_HbH-PT.MCD_Stack[3:Opt_Data_Len -1] =
           MPLS_HbH-PT.MCD_Stack[0:Opt_Data_Len -4]
              //Shift MCD Stack 3Bytes to the right
S07.       MPLS_HbH-PT.MCD_Stack[0:2] = MCD[0:2]
             //i.e., Push the MCD at the beginning of the Stack
S08.    }
S09. }
]]></artwork></figure>

<t>Notes:</t>

<t><list style="symbols">
  <t>The PT Midpoint behavior MUST be implemented in the normal pipeline to experience the regular datapath (i.e., linerate). Offloading the processing of this option to either the slow-path or a co-processors is not acceptable and yields invalid results.</t>
</list></t>

</section>
<section anchor="pt-sink-node-dataplane-behavior"><name>PT Sink Node Dataplane Behavior</name>
<t>We define a new MPLS Label bound to an SRv6 Policy with Timestamp, Encapsulation and Forward (&quot;TEF Label&quot; for short).
When Node N receives an MPLS packet with topmost Label is TEF Label, N performs the TEF behavior to the MPLS packet.</t>

<figure><artwork><![CDATA[
S01. Record Rx 64-bit timestamp (SNK.T64)
S02. Record incoming interface ID (Sink.IIF)
S03. Record incoming interface Load (Sink.IIL)
S04. Push a new IPv6 header
S05. Set the IPv6 SA to the Sink node loopback
S06. Set the IPv6 DA to the first SID in the SRv6 SID List
S07. Set the IPv6 Next Header field to 43 (SRH)
S08. Append an SRH
S09. Set the SRH Next Header field to 137 (MPLS)
S10. Write the SID list in the SRH
S11. Append an SRH PT-TLV
S12. Set the session ID field of the SRH PT-TLV to zero
S13. Set the Sequence Number field of the SRH PT-TLV to zero
S14. Write Sink.T64 in the T64 field of the SRH PT-TLV
S15. Write Sink.IIF in the IF_ID field of the SRH PT-TLV
S16. Write Sink.IIL in the IF_LD field of the SRH PT-TLV
S17. Perform an IPv6 lookup and forward the packet
]]></artwork></figure>

<t>Notes:</t>

<t><list style="symbols">
  <t>The pseudocode describes local processing at a node. An implementation of the pseudocode is compliant as long as the externally observable wire protocol is as described in the pseudocode.</t>
</list></t>

</section>
<section anchor="pt-headers"><name>PT Headers</name>

<section anchor="sec-hbh-pt"><name>MPLS Hop-by-Hop Path Tracing Option</name>
<t>We define a new header called MPLS Hop-by-Hop Path Tracing option (&quot;MPLS HbH-PT&quot; for short). The header is used to collect the MCD of each PT Midpoint on the packet path. The MPLS HbH-PT has the following format:</t>

<figure><artwork><![CDATA[
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  VER  |  RSVD |  Opt Data Len |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
~                           MCD Stack                           ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 1: IPv6 Hop-by-Hop Path Tracing Option Format
]]></artwork></figure>

<t>Where:</t>

<t><list style="symbols">
  <t>VER: In MPLS, the first nibble after the Label stack indicates the packet IP protocol version. VER is set to 0x2.</t>
  <t>RSVD: Reserved 4-bits. Currently not used.</t>
  <t>Opt Data Len: carries the length of MCD stack (in bytes). Used by PT Midpoint to determine the MCD stack shift value.</t>
  <t>MCD Stack: used to collect the MCDs from PT Midpoints</t>
</list></t>

<t>Note: The MPLS Hop-by-Hop Path Tracing option has a variable length. The operator, upon configuring the Source node behavior, MUST select an option length that is supported by all the routers in the network.</t>

</section>
</section>
<section anchor="benefits"><name>Benefits</name>
<t><list style="symbols">
  <t>Insignificant MTU overhead:
  <list style="symbols">
      <t>PT has the lowest MTU overhead compared to alternative solutions such as <xref target="INT"/>, <xref target="RFC9197"/>, <xref target="I-D.song-opsawg-ifit-framework"/>, and <xref target="I-D.kumar-ippm-ifa"/>.</t>
    </list></t>
  <t>Linerate and HW friendliness:
  <list style="symbols">
      <t>Designed for linerate hardware implementation, using the regular forwarding pipeline. No offloading to co-processors whose databases might defer from forwarding pipeline.</t>
      <t>Leverages mature hardware capabilities (basic shift operation); no packet resizing at every node along the path</t>
    </list></t>
  <t>Scalable Fine-grained Timestamp:
  <list style="symbols">
      <t>64-bits timestamp at PT SRC and PT SNK</t>
      <t>8-bits truncated timestamp at PT Midpoint leveraging flexible per-outgoing-link template allowing diverse link types in the same measurement (e.g., DC, metro, WAN)</t>
    </list></t>
  <t>Scalable Load measurement</t>
</list></t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>TBD</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>TBD</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC2119;
&RFC6790;
&RFC8174;
&RFC8402;
&RFC8660;
&RFC8754;
&RFC8986;
&I-D.filsfils-spring-path-tracing;
&I-D.decraene-mpls-slid-encoded-entropy-label-id;


    </references>

    <references title='Informative References'>

&RFC9197;
&I-D.kumar-ippm-ifa;
&I-D.song-opsawg-ifit-framework;
<reference anchor="INT" target="https://github.com/p4lang/p4-applications/blob/master/docs/INT_v2_1.pdf">
  <front>
    <title>In-band Network Telemetry (INT) Dataplane Specification</title>
    <author >
      <organization></organization>
    </author>
    <date year="2020"/>
  </front>
</reference>


    </references>


    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="J." surname="Bhattacharya" fullname="Jisu Bhattacharya">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>jisu@cisco.com</email>
      </address>
    </contact>
    <contact initials="R." surname="Gandhi" fullname="Rakesh Gandhi">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>rgandhi@cisco.com</email>
      </address>
    </contact>
    <contact initials="S." surname="Zadok" fullname="Shay Zadok">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <country>Israel</country>
        </postal>
        <email>shay.zadok@broadcom.com</email>
      </address>
    </contact>
    <contact initials="M." surname="Yufit" fullname="Mark Yufit">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <country>Israel</country>
        </postal>
        <email>mark.yufit@broadcom.com</email>
      </address>
    </contact>
    <contact initials="B." surname="Janssens" fullname="Bart Janssens">
      <organization>Colt Technology Services</organization>
      <address>
        <postal>
          <country>Belgium</country>
        </postal>
        <email>Bart.Janssens@colt.net</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
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

-->

</rfc>

