<?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-04" 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-04"/>
    <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 failure detection.</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 detection 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 failure detection.</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", "MAY", and "OPTIONAL" in this
        document are to be interpreted as described in <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>EB: Endpoint Behaviour.</t>
        <t>HMAC: Hashed Message Authentication Code.</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>PM: Performance Measurement.</t>
        <t>PTP: Precision Time Protocol.</t>
        <t>SID: Segment ID.</t>
        <t>SL: Segment List.</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, 
                                              Pop and Forward)
      ]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="sect-3" numbered="true" toc="default">
      <name>Overview</name>
      <section anchor="sect-3.1" toc="default" numbered="true">
        <name>Enhanced Loopback Mode Enabled with Network Programming Function</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 round-trip 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>

    <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 detection 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 specified 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 (SL) of the Candidate-Path 
     <xref target="RFC9256" format="default"/>.
     When a Candidate-Path has more than one Segment Lists, 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 may contain a number of Segment Lists (SLs).
   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>In this document, 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 for "timestamp and forward" the received test packet,
     for unauthenticated mode and authenticated mode. 
     The MNA Sub-Stack carries the MNA Label as defined in <xref target="I-D.ietf-mpls-mna-hdr" format="default"/>
     and it is a base special purpose label  <xref target="RFC9017" format="default"/>. 
     In this document, new MNA Opcode TSF (value TBA2) is defined for the network action.
     The Ancillary Data field of the opcode carries 10-bits of timestamp offset in 
     bytes and 3-bits of timestamp format (FMT) (value 1 for 64-bit PTPv2 or value 0 for NTP).</t>

     <t>In the Session-Sender test packets for SR-MPLS Policies,
     the MNA Sub-Stack with Opcode TSF (value TBA2) 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 this 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) to receive the return test packet on a specific path.</t>

     <t>When a Session-Reflector receives a packet with this MNA Sub-Stack with Opcode TSF (value TBA2),   
     after timestamping the packet at the specified offset in STAMP payload, 
     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 Timestamp Label 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 Opcode=TSF| 10b TS Offset     | FMT |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 .
  .  Protocol = UDP                                               .
  .                                                               .
  +---------------------------------------------------------------+
  | UDP Header                                                    |
  .  Source Port = As chosen by Session-Sender                    .
  .  Destination Port = As chosen by Session-Sender               .
  .                                                               .
  +---------------------------------------------------------------+
  | Payload = Test Packet as specified in Section 3 of RFC 8972   |
  .           in Figure 1 and Figure 3                            .
  .                                                               .
  +---------------------------------------------------------------+
  ]]></artwork>
        </figure>

        <section anchor="sect-4.1.2" toc="default" numbered="true">
          <name>Node Capability for MNA Sub-Stack with Opcode TSF</name>
          <t>The STAMP Session-Sender needs 
      to know if the Session-Reflector can process the MNA Sub-Stack with Opcode 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 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"/>, <xref target="I-D.filsfils-spring-net-pgm-extension-srv6-usid" format="default"/> 
   and <xref target="I-D.ietf-spring-srv6-srh-compression" 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 (EB) for SRv6 nodes.
     In this document, two new Timestamp Endpoint Behaviours 
     are defined for Segment Routing Header (SRH) 
     <xref target="RFC8754" format="default"/> to enable
     "Timestamp and Forward (TSF)" function for the received test packets,
     one for unauthenticated mode and one for authenticated mode.</t>

        <t>In the Session-Sender test packets for SRv6 Policies,
     Timestamp 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 Endpoint (End.TSF) for the target SID which is local, 
     after timestamping the packet at the specified 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 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 = As chosen by Session-Sender                    .
  .  Destination Port = As chosen by Session-Sender               .
  .                                                               .
  +---------------------------------------------------------------+
  | 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 Endpoint Function Assignment</name>
  <t>
  New SRv6 Endpoint Behaviors are defined called "Endpoint Behavior bound to SID with 
  Timestamp and Forward (TSF)" ("End.uTSF" for short when using SRv6 uSID). 
  The End.uTSF is a node SID instantiated at STAMP Session-Reflector node. 
  When the node receives a packet whose IPv6 Destination Address is S and S is a local End.uTEF SID, 
  the node updates the 64-bit receive timestamp in PTPv2 format in the STAMP packet payload 
  and forwards the packet to the next-hop router. 
  The End.uTSF is statically configured on the STAMP Session-Reflector node and not advertised into the routing protocols. 
  </t>
      <t>Following new endpoint behaviours are statically defined on the STAMP Session-Reflector:</t>

      <artwork name="SRv6 Endpoint Behavior" type="" align="left" alt=""><![CDATA[     
 +----------------------------------------------+
 | Endpoint Behaviors                           | 
 +----------------------------------------------+
 | End.TSF16 (Timestamp & Forward) offset 16    |
 |            for STAMP in Unauthenticated Mode |
 +----------------------------------------------+
 | End.TSF32 (Timestamp & Forward) offset 32    |
 |            for STAMP in Authenticated Mode   |
 +----------------------------------------------+
   ]]></artwork>
          
        </section>
        <section anchor="sect-4.2.2" toc="default" numbered="true">
          <name>Node Capability for Timestamp Endpoint Function</name>
          <t>The STAMP Session-Sender needs to know if the Session-Reflector can process 
      the Timestamp Endpoint Function to avoid dropping test packets.
      The signaling extension for this capability exchange is outside the scope of this document.</t>
        </section>
      </section>
    </section>
    <section anchor="sect-6" toc="default" numbered="true">
      <name>Security Considerations</name>
      <t>
   The STAMP protocol is intended for deployment in limited
   domains <xref target="RFC8799" format="default"/>.  As such, it assumes that a node involved in the STAMP 
   protocol operation has previously verified the integrity of the path
   and the identity of the far-end Session-Reflector.</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.  Specifically, the 
   message integrity protection using HMAC, as defined in Section 4.4 of <xref target="RFC8762" format="default"/> 
   also apply to the procedure described in this document.
      </t>
    </section>

    <section anchor="sect-7" toc="default" numbered="true">
      <name>IANA Considerations</name>

     <t>IANA maintains the "MNA Opcode" registry when created from IANA request in <xref target="I-D.ietf-mpls-mna-hdr" format="default"/>. 
      IANA is requested to allocate a value for In-Stack Network Action (NA) Opcode for Timestamp and Forward from this registry: 
      </t>
      <artwork name="MNA Opcode" type="" align="left" alt=""><![CDATA[
  +--------+--------------------------------------+---------------+
  | Value  | Description                          | Reference     |
  +--------+--------------------------------------+---------------+
  | TBA2   | Timestamp and Forward Network Action | This document |
  +--------+--------------------------------------+---------------+
      ]]></artwork>

      
    </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-06.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="Bart Janssens">
              <organization>Colt</organization>
            </author>
            <author fullname="Richard Foote">
              <organization>Nokia</organization>
            </author>
            <date month="February" day="26" year="2023"/>
                      </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-stamp-srpm-06"/>
        </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-01.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-01"/>
        </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="RFC8799" target="https://www.rfc-editor.org/info/rfc8799" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8799.xml">
          <front>
            <title>Limited Domains and Internet Protocols</title>
            <author initials="B." surname="Carpenter" fullname="B. Carpenter">
              <organization/>
            </author>
            <author initials="B." surname="Liu" fullname="B. Liu">
              <organization/>
            </author>
            <date year="2020" month="July"/>
                      </front>
          <seriesInfo name="RFC" value="8799"/>
          <seriesInfo name="DOI" value="10.17487/RFC8799"/>
        </reference>

        <reference anchor="RFC9017" target="https://www.rfc-editor.org/info/rfc9017" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9017.xml">
          <front>
            <title>Special-Purpose Label Terminology</title>
            <author initials="L." surname="Andersson" fullname="L. Andersson">
              <organization/>
            </author>
            <author initials="K." surname="Kompella" fullname="K. Kompella">
              <organization/>
            </author>
            <author initials="A." surname="Farrel" fullname="A. Farrel">
              <organization/>
            </author>
            <date year="2021" month="April"/>
                     </front>
          <seriesInfo name="RFC" value="9017"/>
          <seriesInfo name="DOI" value="10.17487/RFC9017"/>
        </reference>

        <reference anchor="I-D.ietf-spring-srv6-srh-compression" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-srv6-srh-compression.xml" target="https://www.ietf.org/archive/id/draft-ietf-spring-srv6-srh-compression-03.txt">
          <front>
            <title>Compressed SRv6 Segment List Encoding in SRH</title>
            <author fullname="Weiqiang Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Clarence Filsfils">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Zhenbin Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Bruno Decraene">
              <organization>Orange</organization>
            </author>
            <author fullname="Dennis Cai">
              <organization>Alibaba</organization>
            </author>
            <author fullname="Daniel Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Francois Clad">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Shay Zadok">
              <organization>Broadcom</organization>
            </author>
            <author fullname="James N Guichard">
              <organization>Futurewei Technologies Ltd.</organization>
            </author>
            <author fullname="Liu Aihua">
              <organization>ZTE Corporation</organization>
            </author>
            <author fullname="Robert Raszuk">
              <organization>NTT Network Innovations</organization>
            </author>
            <author fullname="Cheng Li">
              <organization>Huawei Technologies</organization>
            </author>
            <date month="January" day="11" year="2023"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-srv6-srh-compression-03"/>
        </reference>

        <reference anchor="I-D.filsfils-spring-net-pgm-extension-srv6-usid" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.filsfils-spring-net-pgm-extension-srv6-usid.xml" target="https://www.ietf.org/archive/id/draft-filsfils-spring-net-pgm-extension-srv6-usid-14.txt">
          <front>
            <title>Network Programming extension: SRv6 uSID instruction</title>
            <author fullname="Clarence Filsfils">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Pablo Camarillo Garvia">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Dennis Cai">
              <organization>Alibaba</organization>
            </author>
            <author fullname="Daniel Voyer">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Israel Meilik">
              <organization>Broadcom</organization>
            </author>
            <author fullname="Keyur Patel">
              <organization>Arrcus, Inc.</organization>
            </author>
            <author fullname="Wim Henderickx">
              <organization>Nokia</organization>
            </author>
            <author fullname="Prem Jonnalagadda">
              <organization>Barefoot Networks</organization>
            </author>
            <author fullname="David Melman">
              <organization>Marvell</organization>
            </author>
            <author fullname="Yisong Liu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="James Guichard">
              <organization>Futurewei</organization>
            </author>
            <date month="December" day="12" year="2022"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-filsfils-spring-net-pgm-extension-srv6-usid-14"/>
        </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>
