<?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-02" 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="2023" month="May" day="17"/>

    <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>

