<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-gandhi-spring-enhanced-srpm-05" ipr="trust200902" consensus="true" submissionType="IETF" obsoletes="" updates="" xml:lang="en" sortRefs="false" symRefs="true" tocInclude="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.1 -->
  <!-- Generated by id2xml 1.5.0 on 2020-02-06T01:41:26Z -->

  <front>
    <title abbrev="Enhanced Performance Measurement in SR">
    Enhanced Performance Measurement Using Simple TWAMP in Segment Routing Networks</title>
    <seriesInfo name="Internet-Draft" value="draft-gandhi-spring-enhanced-srpm-05"/>
    <author fullname="Rakesh Gandhi" initials="R." role="editor" surname="Gandhi">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>Canada</street>
        </postal>
        <email>rgandhi@cisco.com</email>
      </address>
    </author>
    <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>cfilsfil@cisco.com</email>
      </address>
    </author>
    <author fullname="Navin Vaghamshi" initials="N." surname="Vaghamshi">
      <organization>Reliance</organization>
      <address>
        <email>Navin.Vaghamshi@ril.com</email>
      </address>
    </author>
    <author fullname="Moses Nagarajah" initials="M." surname="Nagarajah">
      <organization>Telstra</organization>
      <address>
        <email>Moses.Nagarajah@team.telstra.com</email>
      </address>
    </author>
    <author fullname="Richard Foote" initials="R." surname="Foote">
      <organization>Nokia</organization>
      <address>
        <email>footer.foote@nokia.com</email>
      </address>
    </author>
    <author fullname="Mach(Guoyi) Chen" initials="M." surname="Chen">
      <organization>Huawei</organization>
      <address>
        <email>mach.chen@huawei.com</email>
      </address>
    </author>
    <author fullname="Amit Dhamija" initials="A." surname="Dhamija">
      <organization>Rakuten</organization>
      <address>
        <email>amit.dhamija@rakuten.com</email>
      </address>
    </author>
    <date year="2023"/>
    <workgroup>SPRING Working Group</workgroup>
    <abstract>
      <t>Segment Routing (SR) leverages the source routing paradigm. SR is
      applicable to both Multiprotocol Label Switching (SR-MPLS) and IPv6
      (SRv6) data planes.  This document defines procedure for 
      Enhanced Performance Measurement 
      of end-to-end SR paths including SR Policies for both SR-MPLS and SRv6 data planes 
      using Simple Two-Way Active Measurement Protocol (STAMP) defined in RFC 8762.
      The procedure allows to improve the scale for number of sessions and the interval for measurement.</t>
    </abstract>
  </front>
  <middle>

    <section anchor="sect-1" numbered="true" toc="default">
      <name>Introduction</name>
      <t>Segment Routing (SR) leverages the source routing paradigm and
      greatly simplifies network operations for Software Defined Networks
      (SDNs). SR is applicable to both Multiprotocol Label Switching (SR-MPLS)
      and IPv6 (SRv6) data planes <xref target="RFC8402" format="default"/>. SR
      Policies as defined in <xref format="default" target="RFC9256"/> are used to steer
      traffic through a specific, user-defined paths using a stack of Segments. 
      A comprehensive SR Performance Measurement (PM) for delay and packet loss as well as 
      Connectivity Verification (CV) is one of the
      essential requirements to measure network performance to provide Service Level Agreements (SLAs).</t>

      <t>The Simple Two-Way Active Measurement Protocol (STAMP) provides
      capabilities for the measurement of various performance
      metrics in IP networks <xref target="RFC8762" format="default"/> 
      without the use of a control channel to pre-signal session parameters.
      As described in <xref format="default" target="I-D.ietf-spring-stamp-srpm"/>, 
      STAMP can be used for performance measurement of one-way, two-way or round-trip delay and packet loss of end-to-end SR paths.</t>

      <t>STAMP requires RFC8762 protocol support on the Session-Reflector to process
      the received test packets, and hence the received test packets need to be punted 
      from the forwarding fast path and return test packets need to be generated. 
      This limits the scale for number test sessions and the ability to provide faster measurement interval.
      The loopback measurement mode defined in <xref format="default" target="I-D.ietf-spring-stamp-srpm"/>
      does not require STAMP test packet processing on Session-Reflector, however, it does not provide accurate one-way delay.</t>

      <t>This document defines procedure for Enhanced Performance Measurement 
      of end-to-end SR paths including SR Policies for both SR-MPLS and SRv6 data planes, 
      using Simple Two-Way Active Measurement Protocol (STAMP) defined in <xref target="RFC8762" format="default"/>.
      The procedure allows to improve the scale for number of sessions and the interval for measurement.</t>
    </section>

    <section anchor="sect-2" numbered="true" toc="default">
      <name>Conventions Used in This Document</name>
      <section anchor="sect-2.1" 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 anchor="sect-2.2" numbered="true" toc="default">
        <name>Abbreviations</name>
        <t>BSID: Binding Segment ID.</t>
        <t>ECMP: Equal Cost Multi-Path.</t>
        <t>I2E: Ingress-To-Egress.</t>
        <t>IHS: Ingress-To-Egress, Hop-By-Hop or Select Scope.</t>
        <t>MBZ: Must be Zero.</t>
        <t>MNA: MPLS Network Action.</t>
        <t>MPLS: Multiprotocol Label Switching.</t>
        <t>PTP: Precision Time Protocol.</t>
        <t>SID: Segment ID.</t>
        <t>SR: Segment Routing.</t>
        <t>SRH: Segment Routing Header.</t>
        <t>SR-MPLS: Segment Routing with MPLS data plane.</t>
        <t>SRv6: Segment Routing with IPv6 data plane.</t>
        <t>STAMP: Simple Two-way Active Measurement Protocol.</t>
        <t>TC: Traffic Class.</t>
        <t>TS: Timestamp.</t>
        <t>TSF: Timestamp and Forward.</t>
        <t>TTL: Time To Live.</t>
      </section>
      <section anchor="sect-2.3" numbered="true" toc="default">
        <name>Reference Topology</name>
        <t>
   In the reference topology shown in Figure 1, the STAMP <xref target="RFC8762" format="default"/> Session-Sender S1 initiates a
   Session-Sender test packet and the Session-Reflector R1
   returns the test packet.  The return test packet may be 
   transmitted back to the Session-Sender S1 
   on the same path (same set of links and nodes) or a different path 
   in the reverse direction from the path taken towards the Session-Reflector R1.</t>
        <t>The Session-Sender S1 and Session-Reflector R1 are
   connected via an SR path <xref target="RFC8402" format="default"/>.  
   The SR path can be an SR Policy <xref target="RFC9256" format="default"/> 
   on node S1 (called head-end) with destination to node R1 (called tail-end).</t>
        <figure anchor="ure-loopback-mode-enabled-with-network-programming">
          <name>Loopback Mode Enabled with Network Programming Function</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
                         T1                  T2
                        /                     \
               +-------+   STAMP Test Packet   +-------+
               |       | - - - - - - - - - - - |       |
               |   S1  |======================||  R1   |
               |       |<- - - - - - - - - - - |       |
               +-------+   Return Test Packet  +-------+
                        \  
                         T4 

             Session-Sender                 Session-Reflector
                                             (Timestamp, 
                                              and Forward)
      ]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="sect-3" numbered="true" toc="default">
      <name>Overview</name>

         <t>As described in <xref format="default" target="I-D.ietf-spring-stamp-srpm"/>, in loopback mode, 
    the STAMP Session-Sender S1 initiates Session-Sender test packets and 
    the Session-Reflector R1 forwards them back to the Session-Sender S1. 
    The received STAMP test packets are not punted out of the fast 
    path in forwarding at the Session-Reflector. 
    At the Session-Reflector, the loopback function simply 
    makes the necessary changes to the encapsulation including IP and UDP headers 
    to return the STAMP test packet to the Session-Sender S1.  
    No STAMP test session is created on the Session-Reflector R1. 
    As described in <xref format="default" target="I-D.ietf-spring-stamp-srpm"/>, only loopback delay
    can be measured in the loopback mode. In SR networks, there is also a need
    to measure the one-way delay metric to provide low latency services. </t>
     
      <section anchor="sect-3.1" toc="default" numbered="true">
        <name>Enhanced Loopback Mode Enabled with Network Programming Function</name>

    <t>This document defines a new STAMP measurement mode, called enhanced loopback mode, 
    that is loopback mode enabled with network programming function.
    In this mode, both transmit (T1) and receive (T2) timestamps in data plane are collected
    by the Session-Sender test packets as shown in Figure 1.
    The network programming function optimizes the "operations of punt 
    test packet and generate return test packet" on the Session-Reflector 
    as timestamping is implemented in forwarding fast path in hardware. This helps to achieve 
    higher number of STAMP test session scale and faster measurement interval.</t>
        <t>The Session-Sender adds transmit 
    timestamp (T1) in the payload of the Session-Sender test packet. 
    The Session-Reflector adds the receive timestamp (T2) in the 
    payload of the received test packet in forwarding fast path in 
    hardware without punting the test packet (e.g., to slow path or control-plane).
    The network programming function carried by the test packet enables the Session-Reflector to 
    add the receive timestamp (T2) at the specific offset in the 
    payload of the test packet.</t>

    </section>

     </section>
    <section anchor="sect-4" numbered="true" toc="default">
      <name>Enhanced Performance Measurement Procedure</name>
      <t>For enhanced performance monitoring of an end-to-end SR path including SR Policy, 
     STAMP Session-Sender test packets are transmitted in loopback mode enabled with network programming function
     to timestamp and forward the packet.</t>

      <t>For SR Policy, the Session-Sender test packets are transmitted 
     using the Segment List of the Candidate-Path 
     <xref target="RFC9256" format="default"/>.
     When a Candidate-Path has more than one Segment List, multiple
     Session-Sender test packets MUST be transmitted, one using each Segment List as described in <xref format="default" target="I-D.ietf-spring-stamp-srpm"/>. </t>

      <section anchor="sect-4.1" toc="default" numbered="true">
        <name>Enhanced Performance Measurement Procedure for SR-MPLS Policies</name>

    <t>
    An SR-MPLS Policy Candidate-Path may contain a number of Segment Lists.
    A Session-Sender test packet MUST be transmitted using each Segment List of the SR-MPLS Policy.
    The content of an example Session-Sender test packet for an
    end-to-end SR-MPLS Policy is shown in Figure 3.</t>
 
    <t>The loopback measurement mode for SR-MPLS Policies defined in Section 4.2.3.3 of <xref format="default" target="I-D.ietf-spring-stamp-srpm"/> 
    is used and enhanced as described below. </t>

    <t>MPLS Network Action (MNA) Sub-Stack defined in <xref target="I-D.ietf-mpls-mna-hdr" format="default"/>
    is used for SR-MPLS data plane to enable network programming
    function of "timestamp and forward" for the received test packet.
    The MNA Sub-Stack carries the MNA Label (value TBA1) as defined in <xref target="I-D.ietf-mpls-mna-hdr" format="default"/>.
    A new MNA Opcode (value MNA.TSF) is defined for the Timestamp and Forward network action.
    </t>

    <t>In the Session-Sender test packets for SR-MPLS Policies,
    the MNA Sub-Stack with Opcode  MNA.TSF is added in the MPLS header as shown in Figure 3, to
    collect "Receive Timestamp" field in the payload of the test packet. 
    The Ingress-to-Egress (I2E), Hop-By-Hop (HBH), Select scope (IHS) is set to "I2E" when 
    return path is IP/UDP and set to "Select" when the return path is SR-MPLS.
    The Network Action Sub-Stack Length (NASL) is set to 0 when there is no Label Stack Entry (LSE) after the MNA.TSF Opcode in the MNA Sub-Stack.
    The U flag is set to skip the network action and forward the packet (and not drop the packet).
    The Label Stack for the reverse direction SR-MPLS path can be added after the MNA Sub-Stack
    (not shown in the Figure 3) to receive the return test packet on a specific path.</t>

    <t>When a Session-Reflector receives a packet with MNA Sub-Stack with Opcode MNA.TSF,   
    after timestamping the packet in STAMP payload at the specific offset, 
    the Session-Reflector pops the MNA Sub-Stack (after completing any other network actions) and forwards the
    packet using the next label or IP header in the packet (just like the 
    data packets for the normal traffic).</t>

        <figure anchor="ure-test-packet-header-for-sr-mpls-with-timestamp-label">
          <name>Example STAMP Test Packet with MNA for TSF for SR-MPLS</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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |            Label(1)                   | TC  |S|      TTL      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  .                                                               .
  .                                                               .
  .                                                               .
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |            Label(n)                   | TC  |S|      TTL      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |            MNA Label (value TBA1)     | TC  |S|      TTL      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |7b MNA.TSF   |  0x0                    |R|IHS|S| RES |U|NASL=0 |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | IP Header                                                     |
  .  Source IP Address = Session-Sender IPv4 or IPv6 Address      .
  .  Destination IP Address = Session-Sender IPv4 or IPv6 Address .
  .  IPv4 Protocol or IPv6 Next header = UDP (17)                 .
  .                                                               .
  +---------------------------------------------------------------+
  | UDP Header                                                    |
  .  Source Port = Dynamically chosen by Session-Sender           .
  .  Destination Port = Source Port                               .
  .                                                               .
  +---------------------------------------------------------------+
  | Payload = Test Packet as specified in Section 3 of RFC 8972   |
  .           in Figure 1 and Figure 3                            .
  .                                                               .
  +---------------------------------------------------------------+
  ]]></artwork>
        </figure>

        <section anchor="sect-4.1.1" toc="default" numbered="true">
          <name>Timestamp and Forward Network Action Assignment</name>
    <t>
    New MPLS Network Action Opcode is defined called "Timestamp and Forward Network Action, MNA.TSF".
    The MNA.TSF Opcode is statically configured on the STAMP Session-Reflector node with a value from "Private Use from Range 111-126". 
    The timestamp format for 64-bit PTPv2 and NTP to be added in the STAMP payload is statically configured for MNA.TSF.
    The offset in the STAMP payload (e.g., for unauthenticated mode (value 16)) is also statically configured for MNA.TSF.
    </t>
          
        </section>

        <section anchor="sect-4.1.2" toc="default" numbered="true">
          <name>Node Capability for MNA Sub-Stack with Opcode MNA.TSF</name>
         <t>The STAMP Session-Sender needs 
    to know if the Session-Reflector can process the MNA Sub-Stack with Opcode MNA.TSF to avoid dropping the test packets. 
    The signaling extension for this capability exchange or local configuration are outside the scope of this document.</t>
        </section>
      </section>
      <section anchor="sect-4.2" numbered="true" toc="default">
        <name>Enhanced Performance Measurement Procedure for SRv6 Policies</name>

           <t>
    An SRv6 Policy Candidate-Path may contain a number of Segment Lists.
    Each Segment List may contain a number of SRv6 SIDs as defined in  
    <xref target="RFC8986" format="default"/>. 
    A Session-Sender test packet MUST be transmitted using each Segment List of the SRv6 Policy.
    An SRv6 Policy may contain an SRv6 Segment Routing Header (SRH) carrying 
    a Segment List as described in <xref target="RFC8754" format="default"/>. 
    The content of an example Session-Sender test packet for an end-to-end 
    SRv6 Policy using an SRH is shown in Figure 4.</t>

    <t>The loopback measurement mode for SRv6 Policies defined in Section 4.2.3.4 
    of <xref format="default" target="I-D.ietf-spring-stamp-srpm"/> is used 
    and enhanced as described below. </t>

    <t>The <xref target="RFC8986" format="default"/> defines 
    SRv6 Endpoint Behaviours for SRv6 nodes.
    A new Timestamp and Forward Endpoint Behaviour is  
    defined for Segment Routing Header (SRH) 
    <xref target="RFC8754" format="default"/> to enable
    "Timestamp and Forward (TSF)" function for the received test packets.
    </t>

       <t>In the Session-Sender test packets for SRv6 Policies,
    Timestamp and Forward Endpoint Function (End.TSF) is carried with the target Segment 
    Identifier (SID) in SRH <xref target="RFC8754" format="default"/> as shown in Figure 4,
    to collect "Receive Timestamp" field in the payload of the test packet. 
    The Segment List for the reverse direction path can be added after the target SID 
    to receive the return test packet on a specific path.
    When a Session-Reflector receives a packet with
    Timestamp and Forward Endpoint (End.TSF) for the target SID, which is local, 
    after timestamping the packet at the specific offset,
    the Session-Reflector forwards the packet using the next SID 
    in the SRH or inner IPv6 header in the packet (just like 
    the data packets for the normal traffic).</t>
        <figure anchor="ure-test-packet-header-for-srv6-with-endpoint-function">
          <name>Example STAMP Test Packet with Endpoint Function for TSF for SRv6</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
  +---------------------------------------------------------------+
  | IP Header                                                     |
  .  Source IP Address = Session-Sender IPv6 Address              .
  .  Destination IP Address = Session-Reflector IPv6 Address |    .
  .                Segment List[Segments Left]                    . 
  .  Next-Header = 43, Routing Type = SRH (4)                     .
  .                                                               .
  +---------------------------------------------------------------+
  | SRH as specified in RFC 8754                                  |
  .     <Segment List>                                            .
  .     <SRv6 Endpoint End.TSF>                                   .
  .                                                               .
  +---------------------------------------------------------------+
  | IP Header                                                     |
  .  Source IP Address = Session-Sender IPv6 Address              .
  .  Destination IP Address = Session-Sender IPv6 Address         .
  .  Next-Header = UDP (17)                                       .
  .                                                               .
  +---------------------------------------------------------------+
  | UDP Header                                                    |
  .  Source Port = Dynamically chosen by Session-Sender           .
  .  Destination Port = Source Port                               .
  .                                                               .
  +---------------------------------------------------------------+
  | Payload = Test Packet as specified in Section 3 of RFC 8972   |
  .           in Figure 1 and Figure 3                            .
  .                                                               .
  +---------------------------------------------------------------+
  ]]></artwork>
        </figure>

    <section anchor="sect-4.2.1" toc="default" numbered="true">
          <name>Timestamp and Forward Endpoint Function Assignment</name>
    <t>
    New SRv6 Endpoint Behavior is defined called "Endpoint Behavior bound to SID with 
    Timestamp and Forward (End.TSF)". 
    The End.TSF is a node SID instantiated at STAMP Session-Reflector node. 
    The End.TSF is statically configured on the STAMP Session-Reflector node and not advertised into the routing protocols. 
    The timestamp format for 64-bit PTPv2 and NTP to be added in the STAMP payload is statically configured for End.TSF.
    The offset in the STAMP payload (e.g., for unauthenticated mode (value 16)) is also statically configured for End.TSF.
    </t>
           
        </section>

    <section anchor="sect-4.2.2" toc="default" numbered="true">
          <name>Node Capability for Timestamp and Forward Endpoint Function</name>
       <t>The STAMP Session-Sender needs to know if the Session-Reflector can process 
    the Timestamp and Forward Endpoint Function to avoid dropping test packets.
    The signaling extension for this capability exchange or local configuration are outside the scope of this document.</t>
        </section>

      </section>
    </section>

    <section anchor="sect-5" toc="default" numbered="true">
      <name>Security Considerations</name>

      <t>The procedures defined in this document is intended for deployment in a single operator network domain.
    As such, the Session-Sender address, Session-Reflector address, and IP and SR forward and return paths are provisioned by the operator for the STAMP session.
    It is assumed that the operator has verified the integrity of the IP and SR forward and return paths used to transmit STAMP test packets.</t>

      <t>The Security Considerations specified in <xref target="RFC8762" format="default"/>
    and <xref target="RFC8972" format="default"/> also apply to the procedures defined in this document.</t>

      <t>The Security Considerations specified in <xref target="I-D.ietf-spring-stamp-srpm" format="default"/> 
    are also applicable to the procedures defined in this document.</t>     

      <t>The Security Considerations specified in <xref target="I-D.ietf-mpls-mna-hdr" format="default"/> 
    are also applicable to the procedures defined in this document.</t>     

      <t>The Security Considerations specified in <xref target="RFC8986" format="default"/> 
    are also applicable to the procedures defined in this document.</t>     

    </section>

    <section anchor="sect-6" toc="default" numbered="true">
      <name>IANA Considerations</name>
      <t>
    This document does not require any IANA action.</t>

    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
                     </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <date year="2017" month="May"/>
                      </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8762" target="https://www.rfc-editor.org/info/rfc8762" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8762.xml">
          <front>
            <title>Simple Two-Way Active Measurement Protocol</title>
            <author initials="G." surname="Mirsky" fullname="G. Mirsky">
              <organization/>
            </author>
            <author initials="G." surname="Jun" fullname="G. Jun">
              <organization/>
            </author>
            <author initials="H." surname="Nydell" fullname="H. Nydell">
              <organization/>
            </author>
            <author initials="R." surname="Foote" fullname="R. Foote">
              <organization/>
            </author>
            <date year="2020" month="March"/>
                     </front>
          <seriesInfo name="RFC" value="8762"/>
          <seriesInfo name="DOI" value="10.17487/RFC8762"/>
        </reference>
        <reference anchor="RFC8972" target="https://www.rfc-editor.org/info/rfc8972" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8972.xml">
          <front>
            <title>Simple Two-Way Active Measurement Protocol Optional Extensions</title>
            <author initials="G." surname="Mirsky" fullname="G. Mirsky">
              <organization/>
            </author>
            <author initials="X." surname="Min" fullname="X. Min">
              <organization/>
            </author>
            <author initials="H." surname="Nydell" fullname="H. Nydell">
              <organization/>
            </author>
            <author initials="R." surname="Foote" fullname="R. Foote">
              <organization/>
            </author>
            <author initials="A." surname="Masputra" fullname="A. Masputra">
              <organization/>
            </author>
            <author initials="E." surname="Ruffini" fullname="E. Ruffini">
              <organization/>
            </author>
            <date year="2021" month="January"/>
                     </front>
          <seriesInfo name="RFC" value="8972"/>
          <seriesInfo name="DOI" value="10.17487/RFC8972"/>
        </reference>
        <reference anchor="RFC8986" target="https://www.rfc-editor.org/info/rfc8986" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils" role="editor">
              <organization/>
            </author>
            <author initials="P." surname="Camarillo" fullname="P. Camarillo" role="editor">
              <organization/>
            </author>
            <author initials="J." surname="Leddy" fullname="J. Leddy">
              <organization/>
            </author>
            <author initials="D." surname="Voyer" fullname="D. Voyer">
              <organization/>
            </author>
            <author initials="S." surname="Matsushima" fullname="S. Matsushima">
              <organization/>
            </author>
            <author initials="Z." surname="Li" fullname="Z. Li">
              <organization/>
            </author>
            <date year="2021" month="February"/>
                      </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>

        <reference anchor="I-D.ietf-spring-stamp-srpm" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-stamp-srpm.xml" target="https://www.ietf.org/archive/id/draft-ietf-spring-stamp-srpm-09.txt">
          <front>
            <title>Performance Measurement Using Simple TWAMP (STAMP) for Segment Routing Networks</title>
            <author fullname="Rakesh Gandhi">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Clarence Filsfils">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Daniel Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Mach(Guoyi) Chen">
              <organization>Huawei</organization>
            </author>
            <author fullname="Richard Foote">
              <organization>Nokia</organization>
            </author>
            <date month="August" day="07" year="2023"/>
                      </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-stamp-srpm-09"/>
        </reference>

    <reference anchor="I-D.ietf-mpls-mna-hdr" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-mpls-mna-hdr.xml" target="https://www.ietf.org/archive/id/draft-ietf-mpls-mna-hdr-02.txt">
          <front>
            <title>MPLS Network Action Sub-Stack Solution</title>
            <author fullname="Jaganbabu Rajamanickam" role="editor" >
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Rakesh Gandhi" role="editor">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Royi Zigler" role="editor" >
              <organization>Broadcom</organization>
            </author>
            <author fullname="Haoyu Song" role="editor">
              <organization>Futurewei Technologies</organization>
            </author>
           <author fullname="Kireeti Kompella" role="editor">
             <organization>Juniper Networks</organization>
           </author>
            <date month="March" year="2023"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mpls-mna-hdr-02"/>
        </reference>

      </references>

      <references>
        <name>Informative References</name>
       
        <reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
          <front>
            <title>Segment Routing Architecture</title>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils" role="editor">
              <organization/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi" role="editor">
              <organization/>
            </author>
            <author initials="L." surname="Ginsberg" fullname="L. Ginsberg">
              <organization/>
            </author>
            <author initials="B." surname="Decraene" fullname="B. Decraene">
              <organization/>
            </author>
            <author initials="S." surname="Litkowski" fullname="S. Litkowski">
              <organization/>
            </author>
            <author initials="R." surname="Shakir" fullname="R. Shakir">
              <organization/>
            </author>
            <date year="2018" month="July"/>
                     </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>

        <reference anchor="RFC8754" target="https://www.rfc-editor.org/info/rfc8754" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml">
          <front>
            <title>IPv6 Segment Routing Header (SRH)</title>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils" role="editor">
              <organization/>
            </author>
            <author initials="D." surname="Dukes" fullname="D. Dukes" role="editor">
              <organization/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi">
              <organization/>
            </author>
            <author initials="J." surname="Leddy" fullname="J. Leddy">
              <organization/>
            </author>
            <author initials="S." surname="Matsushima" fullname="S. Matsushima">
              <organization/>
            </author>
            <author initials="D." surname="Voyer" fullname="D. Voyer">
              <organization/>
            </author>
            <date year="2020" month="March"/>
          </front>
          <seriesInfo name="RFC" value="8754"/>
          <seriesInfo name="DOI" value="10.17487/RFC8754"/>
        </reference>

        <reference anchor="RFC9256" target="https://www.rfc-editor.org/info/rfc9256" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9256.xml">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="Clarence Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ketan Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Daniel Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Alex Bogdanov">
              <organization>British Telecom</organization>
            </author>
            <author fullname="Paul Mattes">
              <organization>Microsoft</organization>
            </author>
            <date month="July" year="2022"/>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>

      </references>
    </references>
    <section numbered="false" anchor="acknowledgments" toc="default">
      <name>Acknowledgments</name>
      <t>
   The authors would like to thank Greg Mirsky, Kireeti Kompella, and Adrian Farrel for providing
   useful comments.</t>
    </section>
  </back>
</rfc>
