<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.10 (Ruby 2.6.8) -->


<!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 I-D.ietf-ippm-ioam-data SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ippm-ioam-data.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-00" 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>
          <street></street>
          <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>
          <street></street>
          <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>
          <street></street>
          <country>Spain</country>
        </postal>
        <email>pcamaril@cisco.com</email>
      </address>
    </author>
    <author initials="I." surname="Meilik" fullname="Israel Meilik">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <street></street>
          <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>
          <street></street>
          <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>
          <street></street>
          <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>
          <street></street>
          <country>UK</country>
        </postal>
        <email>Jonathan.Desmarais@colt.net</email>
      </address>
    </author>

    <date year="2022" month="May" day="30"/>

    <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="I-D.ietf-ippm-ioam-data"/>, <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="I-D.ietf-ippm-ioam-data"/>, <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="I-D.ietf-ippm-ioam-data"/>, <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'>

&I-D.ietf-ippm-ioam-data;
&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>
          <street></street>
          <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>
          <street></street>
          <country>Canada</country>
        </postal>
        <email>rgandhi@cisco.com</email>
      </address>
    </contact>
    <contact initials="S." surname="Zadok" fullname="Shay Zadok">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <street></street>
          <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>
          <street></street>
          <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>
          <street></street>
          <country>Belgium</country>
        </postal>
        <email>Bart.Janssens@colt.net</email>
      </address>
    </contact>
    </section>

  </back>

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

-->

</rfc>

