<?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" submissionType="IETF" docName="draft-ietf-mpls-rfc6374-sr-08" category="std" ipr="trust200902" obsoletes="" updates="" xml:lang="en" sortRefs="false" symRefs="true" tocInclude="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.3 -->
  <!-- Generated by id2xml 1.5.0 on 2020-03-06T17:47:05Z -->
    <front>
    <title abbrev="Using RFC 6374 for SR-MPLS Networks">Performance Measurement Using RFC 6374 for Segment Routing Networks with MPLS Data Plane</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-mpls-rfc6374-sr-08"/>
    <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="Daniel Voyer" initials="D." surname="Voyer">
      <organization>Bell Canada</organization>
      <address>
        <email>daniel.voyer@bell.ca</email>
      </address>
    </author>
    <author fullname="Stefano Salsano" initials="S." surname="Salsano">
      <organization>Universita di Roma "Tor Vergata"</organization>
      <address>
        <postal>
          <street>Italy</street>
        </postal>
        <email>stefano.salsano@uniroma2.it</email>
      </address>
    </author>
    <author fullname="Mach(Guoyi) Chen" initials="M." surname="Chen">
      <organization>Huawei</organization>
      <address>
        <email>mach.chen@huawei.com</email>
      </address>
    </author>
    <date day="08" month="August" year="2023"/>
    <workgroup>MPLS Working Group</workgroup>
    <abstract>
      <t>
   Segment Routing (SR) leverages the source routing paradigm.   
   SR is applicable to Multiprotocol Label Switching
   data plane (SR-MPLS) as specified in RFC 8402. 
   RFC 6374 specifies protocol mechanisms to enable the efficient and accurate
   measurement of packet loss, one-way and two-way delay, as well as
   related metrics such as delay variation in MPLS networks.  
   This document utilizes these mechanisms for Performance
   Delay and Loss Measurements in SR-MPLS networks,
   for both SR-MPLS links and end-to-end 
   SR-MPLS paths including Policies.  In addition, this document defines 
   Return Path TLV and Block Number TLV extensions for RFC 6374.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="sect-1" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
   Segment Routing (SR) leverages the source routing paradigm 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 takes advantage of the
   Equal-Cost Multipaths (ECMPs) between source and transit nodes,
   between transit nodes and between transit and destination nodes.  SR
   Policies as defined in <xref target="RFC9256" format="default"/> are used
   to steer traffic through a specific, user-defined paths using a list 
   of Segments.  A comprehensive SR Performance Measurement toolset is one of the
   essential requirements to measure network performance to provide
   Service Level Agreements (SLAs).</t>
      <t>
   <xref target="RFC6374" format="default"/> specifies protocol mechanisms to enable 
   the efficient and accurate measurement of performance metrics 
   in MPLS networks using query and response messages. 
   <xref target="RFC7876" format="default"/> specifies mechanisms for sending and
   processing out-of-band responses over an UDP return path when 
   receiving RFC 6374 based query messages. 
   These mechanisms are also well-suited in SR-MPLS networks.</t>
      <t>
   This document utilizes the mechanisms defined in <xref target="RFC6374" format="default"/> 
   for Performance Delay and Loss Measurements in SR-MPLS networks,
   for both SR-MPLS links and end-to-end SR-MPLS paths including Policies.
   In addition, this document defines Return Path TLV and Block Number TLV
   extensions for <xref target="RFC6374" format="default"/>.</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>
   ACH: Associated Channel Header.</t>
        <t>
   DM: Delay Measurement.</t>
        <t>
   ECMP: Equal Cost Multi-Path.</t>
        <t>
   G-ACh: Generic Associated Channel (G-ACh).</t>
        <t>
   GAL: Generic Associated Channel (G-ACh) Label.</t>
        <t>
   LM: Loss Measurement.</t>
        <t>
   MPLS: Multiprotocol Label Switching.</t>
        <t>
   PSID: Path Segment Identifier.</t>
        <t>
   SID: Segment Identifier.</t>
        <t>
   SL: Segment List.</t>
        <t>
   SR: Segment Routing.</t>
        <t>
   SR-MPLS: Segment Routing with MPLS data plane.</t>
        <t>
   TC: Traffic Class.</t>
        <t>
   TE: Traffic Engineering.</t>
        <t>
   TTL: Time-To-Live.</t>
        <t>
   URO: UDP Return Object.</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 querier node Q1
   initiates a query message and the responder node R1 transmits 
   a response message for the query message received.  The
   response message may be sent back to the querier node Q1 in-band 
   on the same path (same set of links and nodes) or a different 
   path in the reverse direction.
   The T1 is a transmit timestamp and T4 is a receive timestamp, both added by node Q1 in
   the probe message.  The T2 is a receive timestamp and T3 is a
   transmit timestamp, both added by node R1 in the probe message.
    </t>

        <t>SR is enabled with MPLS data plane on nodes Q1 and R1.
   The nodes Q1 and R1 may be directly connected via a link enabled with MPLS 
   (Section 2.9.1 of <xref target="RFC6374" format="default"/>) or a Point-to-Point (P2P) 
   SR-MPLS path <xref target="RFC8402" format="default"/>.
   The link may be a physical interface, virtual link,    
   or Link Aggregation Group (LAG) <xref target="IEEE802.1AX" format="default"/>, or 
   LAG member link.  The SR-MPLS path may be an SR-MPLS Policy 
   <xref target="RFC9256" format="default"/> on node Q1 
   (called head-end) with destination to node R1 (called tail-end).</t>
        <figure anchor="ure-reference-topology">
          <name>Reference Topology</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[

                       T1                T2
                      /                   \
             +-------+       Query         +-------+
             |       | - - - - - - - - - ->|       |
             |   Q1  |=====================|   R1  |
             |       |<- - - - - - - - - - |       |
             +-------+       Response      +-------+
                      \                   /
                       T4                T3
              Querier                       Responder
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="sect-3" numbered="true" toc="default">
      <name>Overview</name>
      <t>For delay and loss measurement in SR-MPLS networks, the procedures 
    defined in <xref target="RFC6374" format="default"/> are used in this document. Note that 
    the one-way, two-way and round-trip delay measurements are 
    defined in Section 2.4 of <xref target="RFC6374" format="default"/> and are further 
    described in this document for SR-MPLS networks. Similarly,
    the packet loss measurement is defined in Section 2.2 of <xref target="RFC6374" format="default"/> 
    and is further described in this document for SR-MPLS networks.</t>
      <t>In SR-MPLS networks, the query and response messages 
    defined in <xref target="RFC6374" format="default"/> are sent as following:</t>
      <ul spacing="normal">
        <li>For delay measurement, the query 
    messages MUST be sent in-band (i.e., on the same path as data traffic) 
    for SR-MPLS links and end-to-end SR-MPLS paths 
    to collect transmit and receive timestamps.</li>
        <li>For loss measurement, the query messages MUST be 
    sent in-band (i.e., on the same path as data traffic) 
    for SR-MPLS links and end-to-end SR-MPLS paths 
    to collect transmit and receive traffic counters 
    (e.g., for traffic received on the incoming link for the 
    link packet loss and for the incoming Path Segment Identifier (PSID) <xref target="I-D.ietf-spring-mpls-path-segment" format="default"/> for 
    the end-to-end SR-MPLS path packet loss).</li>
      </ul>
      <t>It may be desired in SR-MPLS networks that the same path 
    (same set of links and nodes) between the querier and 
    responder be used in both directions of the measurement.  
    This is achieved by using the SR-MPLS Return Path TLV 
    extension defined in this document.</t>
      <t>The packet loss measurement using Alternate-Marking Method 
    defined in <xref target="RFC9341" format="default"/> requires collecting 
    Block Number of the traffic counters. This is achieved by 
    using the Block Number TLV extension defined in this document.</t>
      <t>The performance measurement procedure for SR-MPLS links can be used to compute
    extended Traffic Engineering (TE) metrics for delay and loss as described in
    this document. The metrics are advertised in the network using the routing protocol extensions
    defined in <xref target="RFC7471" format="default"/>, <xref target="RFC8570" format="default"/>, and <xref target="RFC8571" format="default"/>.</t>
    </section>
    <section anchor="sect-4" numbered="true" toc="default">
      <name>Query and Response Messages</name>
      <t>As described in Section 2.9.1 of <xref target="RFC6374" format="default"/>, the query and
    response messages flow over an MPLS Generic Associated Channel
    (G-ACh).  These query and response messages contain G-ACh Label (GAL)
    (value 13, with S=1).  The GAL is followed by an Associated Channel Header
    (ACH), where Channel Type identifies the measurement 
    message type, and the message payload
    following the ACH as shown in Figure 2.</t>
      <figure anchor="ure-header-for-an-sr-mpls-link">
        <name>RFC 6374 Query and Response Message Header</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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |             GAL (value 13)            | TC  |1|      TTL      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0 0 0 1|Version| Reserved      |       Channel Type            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <section anchor="sect-4.1" numbered="true" toc="default">
        <name>Query Message for SR-MPLS Links and Policies</name>
        <section anchor="sect-4.1.1" numbered="true" toc="default">
          <name>Query Message for SR-MPLS Links</name>
          <t>
   A query message as shown in Figure 2 is sent over the SR-MPLS links
   for both delay and loss measurement using the procedures described 
   in <xref target="RFC6374" format="default"/>.  For SR-MPLS links, the TTL value MUST be set to 255 
   in the SR-MPLS header.
   SR-MPLS encapsulation (e.g., using adjacency SID of the link)
   can be added for transmitting the query messages for SR-MPLS links.</t>
        </section>
        <section anchor="sect-4.1.2" numbered="true" toc="default">
          <name>Query Message for SR-MPLS Policies</name>
          <t>
   An SR-MPLS Policy Candidate-Path may contain a number of Segment Lists (SLs) (i.e., stack of MPLS labels)
   <xref target="RFC9256" format="default"/>.  The 
   query messages MUST be transmitted using each SL of the SR-MPLS Policy Candidate-Path.  
   A query message for an end-to-end SR-MPLS Policy, used for delay and/or loss measurement,
   contains SR-MPLS label stack of the Segment List(s) of the Candidate-Path,
   with the G-ACh Label (GAL) at the bottom of the stack (with S=1) as shown in Figure 3.
   For SR-MPLS, the TTL value MUST be set to 255 in the SR-MPLS header.</t>
          <figure anchor="ure-header-for-an-end-to-end-sr-mpls-policy">
            <name>Example Query Message Header for an End-to-end SR-MPLS Policy</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      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                  GAL (value 13)       | TC  |1|      TTL      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0 0 0 1|Version| Reserved      |       Channel Type            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>
   The SR-MPLS label stack can be empty (header format as shown in Figure 2) 
   in the case of one hop SR-MPLS Policy with Implicit NULL label.</t>
          <t>For an SR-MPLS Policy, to ensure that the
    query message is processed by the intended responder,
    Destination Address TLV (Type 129) <xref target="RFC6374" format="default"/> 
    containing the address of the responder can be sent in the query
    messages.  The responder that supports this TLV MUST return Success in "Control Code" <xref target="RFC6374" format="default"/> if it is the intended
    destination for the query. 
    Otherwise, it MUST return 0x15: Error - Invalid Destination Node Identifier <xref target="RFC6374" format="default"/>.
    The Destination Address TLV is applicable to P2P SR-MPLS Policy only.</t>
        </section>
      </section>
      <section anchor="sect-4.2" numbered="true" toc="default">
        <name>Response Message for SR-MPLS Links and Policies</name>
        <section anchor="sect-4.2.1" numbered="true" toc="default">
          <name>One-way Measurement Mode</name>
          <t>
   In one-way measurement mode defined in 
   Section 2.4 of <xref target="RFC6374" format="default"/>, the querier
   can receive "out-of-band" response messages with IP/UDP header by properly setting the UDP
   Return Object (URO) TLV in the query message.  The URO TLV
   (Type=131) is defined in <xref target="RFC7876" format="default"/> and includes the
   UDP-Destination-Port and IP Address.  When the querier
   sets an IP address and an UDP port in the URO TLV, the response message MUST be sent
   to that IP address as the destination address and UDP port as the destination port.
   In addition, the "Control Code" in the 
   query message MUST be set to "out-of-band response requested" <xref target="RFC6374" format="default"/>.</t>
          <t>In one-way delay measurement mode, as per Reference Topology in Figure 1, the timestamps 
   T1 and T2 are collected by the query and response messages. Both these timestamps 
   are used to measure one-way delay as (T2 - T1)
   The one-way measurement mode requires the clocks on the querier and the responder to be synchronized.
	 </t>
        </section>
        <section anchor="sect-4.2.2" numbered="true" toc="default">
          <name>Two-way Measurement Mode</name>
          <t>
   In two-way measurement mode defined in Section 2.4 of <xref target="RFC6374" format="default"/>, 
   the response messages are preferred to be sent back in-band on 
   the same link or the same end-to-end SR-MPLS path (same set of 
   links and nodes) in the reverse direction to the querier.</t>
          <t>For SR-MPLS links, the response message (format as shown in Figure 2) 
   is sent back on the same incoming link where the query 
   message is received.  In this case, the "Control Code" 
   in the query message MUST be set to "in-band response requested" <xref target="RFC6374" format="default"/>.</t>
          <t>For end-to-end SR-MPLS paths, the responder transmits
   the response message (example as shown in Figure 3) 
   on a specific return SR-MPLS path 
   <xref target="I-D.ietf-pce-sr-bidir-path" format="default"/>.  The querier 
   can request in the query message to the responder to
   send the response message back on a given return path using the 
   SR-MPLS Segment List sub-TLV in the Return Path TLV defined in this document.</t>
          <t>In two-way delay measurement mode, as per Reference Topology in Figure 1, 
   all four timestamps T1, T2, T3, and T4 are collected by the query and 
   response messages.  All four timestamps are used to measure two-way 
   delay as ((T4 - T1) - (T3 - T2)).</t>
        </section>
        <section anchor="sect-4.2.3" numbered="true" toc="default">
          <name>Loopback Measurement Mode</name>
          <t>
   The Loopback measurement mode defined in Section 2.8 of <xref target="RFC6374" format="default"/> is
   used to measure round-trip delay for a bidirectional circular SR-MPLS path
   <xref target="I-D.ietf-pce-sr-bidir-path" format="default"/>.  
   In this mode, the received query messages MUST NOT be punted
   out of the fast path in forwarding (i.e., to slow path or control-
   plane) at the responder.  In other words, the responder
   does not process the payload and generate response messages. 
   The loopback function simply returns the received
   query message to the querier without responder 
   modifications <xref target="RFC6374" format="default"/>.</t>
          <t>
   The loopback mode is done by
   generating "queries" with the Response flag set to 1 and 
   adding the Loopback Request object (Type 3) <xref target="RFC6374" format="default"/>.
   The label stack in query messages in this case carry both the forward and reverse 
   paths in the MPLS header.  
   The GAL is still 
   carried at the bottom of the label stack (with S=1) (example as shown in Figure 3).</t>
          <t>In loopback delay measurement mode, as per Reference Topology in Figure 1, 
   the timestamps T1 and T4 are collected by the query messages.  Both these 
   timestamps are used to measure round-trip delay as (T4 - T1).
   In this mode, the round-trip delay includes the processing delay on
   the responder.  The responder processing delay
   component includes only the time required to loop the test packet
   from the incoming interface to the outgoing interface in forwarding plane.
          </t>
        </section>
      </section>
    </section>
    <section anchor="sect-5" numbered="true" toc="default">
      <name>Delay Measurement</name>
      <section anchor="sect-5.1" numbered="true" toc="default">
        <name>Delay Measurement Message Format</name>
        <t>
   As defined in <xref target="RFC6374" format="default"/>, MPLS DM query and response messages
   use Associated Channel Header (ACH) (value 0x000C for delay
   measurement) <xref target="RFC6374" format="default"/>, which identifies the message type, and the
   message payload following the ACH.  For both SR-MPLS links and end-to-end
   SR-MPLS Policies, the same MPLS DM ACH value MUST be used.</t>
        <t>
   The DM message payload as defined in Section 3.2 of <xref target="RFC6374" format="default"/> is used
   for delay measurement, for both SR-MPLS links and end-to-end SR-MPLS Policies.</t>
      </section>
      <section anchor="sect-5.2" numbered="true" toc="default">
        <name>Timestamps</name>
        <t>
   The Section 3.4 of <xref target="RFC6374" format="default"/> defines timestamp format that can be
   used for delay measurement.  The IEEE 1588 Precision Time Protocol
   (PTP) timestamp format <xref target="IEEE1588" format="default"/> is used by default as described in
   Appendix A of <xref target="RFC6374" format="default"/>.</t>
      </section>
    </section>
    <section anchor="sect-6" numbered="true" toc="default">
      <name>Loss Measurement</name>
      <t>
   The LM protocol can perform two distinct kinds of loss measurement as
   described in Section 2.9.8 of <xref target="RFC6374" format="default"/>.</t>
      <ul spacing="normal">
        <li>In inferred mode, LM will measure the loss of specially generated
      test messages to infer the approximate data plane loss
      level.  Inferred mode LM provides only approximate loss
      accounting.</li>
        <li>In direct mode, LM will directly measure data plane packet loss.
      Direct mode LM provides perfect loss accounting, but may require
      hardware support.</li>
      </ul>
      <section anchor="sect-6.1" numbered="true" toc="default">
        <name>Loss Measurement Message Format</name>
        <t>
   As defined in <xref target="RFC6374" format="default"/>, MPLS LM query and response messages
   use Associated Channel Header (ACH) (value 0x000A for direct loss
   measurement or value 0x000B for inferred loss measurement), which
   identifies the message type, and the message payload following the
   ACH.  For both SR-MPLS links and end-to-end 
   SR-MPLS Policies, the same MPLS LM ACH value MUST be used.</t>
        <t>The LM message payload as defined in Section 3.1 of <xref target="RFC6374" format="default"/> 
   is used for loss measurement, for both SR-MPLS links and end-to-end 
   SR-MPLS Policies.</t>
      </section>
      <section anchor="sect-6.3" numbered="true" toc="default">
        <name>Combined Loss/Delay Measurement Message Format</name>
        <t>
   As defined in <xref target="RFC6374" format="default"/>, Combined DM+LM query and response messages
   use Associated Channel Header (ACH) (value 0x000D for direct loss
   and delay measurement or value 0x000E for inferred loss and delay measurement), which
   identifies the message type, and the message payload following the
   ACH.  For both SR-MPLS links and end-to-end 
   SR-MPLS Policies, the same MPLS DM+LM ACH value MUST be used.</t>
        <t>
   The message payload as defined in Section 3.3 of <xref target="RFC6374" format="default"/> is used
   for combined delay and loss measurement, for both SR-MPLS links and end-to-end 
   SR-MPLS Policies.</t>
      </section>
      <section anchor="sect-6.4" numbered="true" toc="default">
        <name>Counters</name>
        <t>
   The PSID <xref target="I-D.ietf-spring-mpls-path-segment" format="default"/> 
   carried in the received data packet for the traffic flow    
   under measurement can be used for accounting received traffic 
   on the egress node of the SR-MPLS Policy.
   In direct mode, the PSID in the received query message 
   as shown in Figure 4 can be used to associate the receive 
   traffic counter on the responder to detect the transmit packet 
   loss for the end-to-end SR-MPLS Policy.</t>
        <t>In inferred mode, the PSID in the received query messages as 
   shown in Figure 4 can be used to count the received query 
   messages on the responder to detect the transmit packet loss
   for an end-to-end SR-MPLS Policy.</t>
        <figure anchor="ure-with-path-segment-identifier-for-sr-mpls-policy">
          <name>Example with Path Segment Identifier for SR-MPLS Policy</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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                  PSID                 | TC  |S|      TTL      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                  GAL (value 13)       | TC  |1|      TTL      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0 0 0 1|Version| Reserved      |       Channel Type            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Different values of PSID can be used to measure packet loss per
   SR-MPLS Policy, per Candidate Path or per Segment List of the 
   SR-MPLS Policy <xref target="RFC9256" format="default"/>.</t>
      </section>
    </section>
    <section anchor="sect-7" numbered="true" toc="default">
      <name>TLV Extensions</name>
      <section anchor="sect-7.1" numbered="true" toc="default">
        <name>Return Path TLV Extension</name>
        <t>
   In two-way measurement mode, the responder may transmit 
   the response message on a specific return path, for example, in an ECMP environment.  The querier
   can request in the query message to the responder to
   send a response message back on a given return path (e.g., co-routed
   SR-MPLS bidirectional path). This allows the responder to 
   avoid creating and maintaining additional states (containing return paths)
   for the sessions.</t>
        <t>The querier may not be directly reachable from the responder in a network.  The querier in this
   case MUST send its reachability path information to the responder
   using the Return Path TLV.</t>
        <t><xref target="RFC6374" format="default"/> defines query and response messages those can include
   or more optional TLVs.  New TLV Type (TBA1) is defined in this
   document for Return Path TLV to carry return path information in query
   messages.  The format of the Return Path TLV is shown in Figure 5:</t>
        <figure anchor="ure-return-path-tlv">
          <name>Return Path TLV</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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  Type = TBA1  |    Length     |      Reserved                 |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                    Return Path Sub-TLV                        |
 .                                                               .
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>

   <t>
   The Length is a one-byte field and is equal to the length of the Return Path Sub-TLV and the Reserved field in bytes. Length MUST NOT be 0.
   </t>

   <t>
   The Return Path TLV is a Mandatory TLV Type.  The querier MUST 
   only insert one Return Path TLV in the query message. 
   The responder that supports this TLV, MUST only process the first Return Path TLV
   and ignore the other Return Path TLVs if present.  
   The responder that supports this TLV, also MUST send response message back on 
   the return path specified in the Return Path TLV.  The responder
   also MUST NOT add Return Path TLV in the response message. 
   The Reserved field MUST be set to 0 and MUST be ignored on the receive side.
        </t>
        <section anchor="sect-7.1.1" numbered="true" toc="default">
          <name>Return Path Sub-TLV Extension</name>
          <t>The Return Path TLV contains a Sub-TLV to carry the return path. 
   The format of the SR-MPLS Segment List Sub-TLV is shown in Figure 6. 
   The SR-MPLS Segment List Sub-TLV contains SR-MPLS Label Stack. 
   The Label entries in the Segment List MUST be in network order. The SR-MPLS Segment List Sub-TLV 
   in the Return Path TLV is of the following Type:</t>
          <ul spacing="normal">
            <li>Type (value 1): SR-MPLS Segment List of the Return Path</li>
          </ul>
          <figure anchor="ure-segment-list-sub-tlv-in-return-path-tlv">
            <name>SR-MPLS Segment List Sub-TLV in Return Path TLV</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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    Type=1     |    Length     |      Reserved                 |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                  Label(1)             | TC  |S|      TTL      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 .                                                               .
 .                                                               .
 .                                                               .
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                  Label(n)             | TC  |1|      TTL      |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>

   <t>The SR-MPLS Label Stack contains a list of 32-bit Label Stack Entry
   (LSE) that includes a 20-bit label value, 8-bit TTL value, 3-bit TC
   value and 1-bit EOS (S) field.
   An SR-MPLS Segment List Sub-TLV may carry only Binding SID label  
   <xref target="I-D.ietf-pce-binding-label-sid" format="default"/> of the Return SR-MPLS Policy.</t>

   <t>
   The Length is a one-byte field and is equal to the length of the label stack field and the Reserved field in bytes. Length MUST NOT be 0.
   </t>

   <t>The Return Path TLV MUST carry only one Return Path Sub-TLV and Segment List in Return Path Sub-TLV MUST contain at least one Segment. 
   The responder that supports this Sub-TLV, MUST only process the 
   first Return Path Sub-TLV and ignore the other Return Path Sub-TLVs if present.  
   The responder that supports this Sub-TLV, MUST send response message back on 
   the return path specified in the Return Path Sub-TLV.
   The Reserved field MUST be set to 0 and MUST be ignored on the receive side.
          </t>
          <t>Note that in addition to the P2P SR-MPLS paths, the SR-MPLS Segment List    
   Sub-TLV is also applicable to the P2MP SR-MPLS paths.  For example, for    
   P2MP SR-MPLS paths, it may only carry the Node Segment Identifier of the    
   querier in order for the response to follow an SR-MPLS     
   path back to the querier.</t>
        </section>
      </section>
      <section anchor="sect-7.2" numbered="true" toc="default">
        <name>Block Number TLV Extension</name>
        <t>
   The direct mode loss measurement using Alternate-Marking Method 
   defined in <xref target="RFC9341" format="default"/> requires collecting Block 
   Number of the counters for the data traffic flow under measurement.
   To be able to correlate the transmit and receive traffic counters 
   of the matching Block Number, the Block Number of the traffic 
   counters is carried in the LM query and response messages.</t>
        <t>
   <xref target="RFC6374" format="default"/> defines query and response messages those can include
   one or more optional TLVs.  New TLV Type (value TBA2) is defined in
   this document to carry the Block Number (8-bit) of the traffic
   counters in the LM query and response messages.  
   The format of the Block Number TLV is shown in Figure 7:</t>
        <figure anchor="ure-block-number-tlv">
          <name>Block Number TLV</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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  Type = TBA2  |    Length     | Reserved    |R| Block Number  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
   <t>
   The Length is a one-byte field and is equal to 2 bytes. 
   </t>

        <t>
   The Block Number TLV is a Mandatory TLV Type. 
   The querier MUST only insert one Block Number TLV in the query 
   message to identify the Block Number for the traffic counters in the forward direction.  
   The responder that supports this TLV, MUST only inert one Block 
   Number TLV in the response message to identify the Block 
   Number for the traffic counters in the reverse direction.
   The responder also MUST return the first Block Number TLV from the 
   query message and ignore the other Block Number TLVs if present.
   The R Flag MUST be clear in the query message and set in the response message.
   The Reserved field MUST be set to 0 and MUST be ignored on the receive side.
        </t>
      </section>
    </section>

    <section anchor="sect-8" numbered="true" toc="default">
      <name>Performance Measurement for P2MP SR-MPLS Policies</name>
      <t>
   The Point-to-Multipoint (P2MP) SR-MPLS path that originates from a 
   root node terminates on multiple destinations called leaf nodes 
   (e.g., P2MP SR-MPLS Policy <xref target="I-D.ietf-pim-sr-p2mp-policy" format="default"/>).</t>

      <t>The procedure for delay and loss measurement described in this
   document for end-to-end P2P SR-MPLS Policies  
   is also equally applicable to the P2MP SR-MPLS Policies. 
   The procedure for one-way measurement is defined as following:</t>

      <ul spacing="normal">

    <li>
    The querier root node MUST transmit the query messages using the
    Segment Lists of the P2MP SR-MPLS Policy Candidate-Path, and that may contain replication 
    SIDs <xref target="I-D.ietf-spring-sr-replication-segment" format="default"/>.
    </li>

        <li>Each responder leaf node MUST send its node address in the "Source Address" TLV (Type 130)
    <xref target="RFC6374" format="default"/> in the response messages.
    This TLV allows the querier root node to identify the responder
    leaf nodes of the P2MP SR-MPLS Policy.</li>

        <li>The P2MP root node measures the delay and loss
    performance for each P2MP leaf node individually.</li>
      </ul>

      <t>The considerations for two-way measurement mode (e.g., for co-routed bidirectional SR-MPLS path)
   and loopback measurement mode for P2MP SR-MPLS Policy
   are outside the scope of this document.</t>
    </section>
    <section anchor="sect-9" numbered="true" toc="default">
      <name>ECMP for SR-MPLS Policies</name>
      <t>
   An SR-MPLS Policy can have ECMPs between the source and transit nodes,
   between transit nodes and between transit and destination nodes.
   Usage of Anycast SID <xref target="RFC8402" format="default"/> by an SR-MPLS Policy can result in ECMP
   paths via transit nodes part of that Anycast group.  The query and response 
   messages SHOULD be sent to traverse different ECMP paths to measure
   delay of each of the ECMP path of a Segment List of an SR-MPLS Policy Candidate-Path.</t>
      <t>
   Forwarding plane has various hashing functions available to forward
   packets on specific ECMP paths.  For SR-MPLS Policy, sweeping of
   entropy label <xref target="RFC6790" format="default"/> values can be used in query 
   and response messages to take advantage of the hashing function in 
   forwarding plane to influence the ECMP path taken by them.</t>
      <t>
   The considerations for loss measurement for different
   ECMP paths of an SR-MPLS Policy are outside the scope of this document.</t>
    </section>
    <section anchor="sect-10" numbered="true" toc="default">
      <name>SR-MPLS Link Extended TE Metrics Advertisements</name>
      <t>
    The extended TE metrics for SR-MPLS link delay and loss can be 
    computed using the performance measurement procedures described
    in this document to advertise in the routing domain as follows:</t>
      <ul spacing="normal">
        <li>For OSPF, ISIS, and BGP-LS, protocol extensions 
    defined in <xref target="RFC7471" format="default"/>, <xref target="RFC8570" format="default"/>, 
    and <xref target="RFC8571" format="default"/>, respectively, are used for
    advertising the extended TE link delay and loss metrics in the network.</li>
        <li>The extended TE link delay and loss metrics are advertised for
    Layer-2 LAG bundle member links in OSPF <xref target="RFC9356" format="default"/> 
    and ISIS <xref target="RFC8668" format="default"/> using the same protocol extensions defined in
    <xref target="RFC7471" format="default"/> and <xref target="RFC8570" format="default"/>, respectively.</li>
        <li>The advertised delay-variance metric, Packet Delay Variation (PDV)
    is computed as described in Section 4.2 of <xref target="RFC5481" format="default"/>.</li>
        <li>In the absence of one-way delay measurement,
    the extended TE link one-way delay metrics can be computed using
    the two-way and round-trip delay values by dividing the values by 2.</li>
      </ul>
    </section>
    <section anchor="sect-11" numbered="true" toc="default">
      <name>Backwards Compatibility</name>
      <t>
   The procedures defined in this document are backwards compatible with 
   the procedures defined in <xref target="RFC6374" format="default"/> at both querier and responder. 
   If the responder does not support the new Mandatory 
   TLV Types defined in this document, 
   it MUST return Error 0x17: Unsupported Mandatory TLV Object as per <xref target="RFC6374" format="default"/>.
      </t>
    </section>
    <section anchor="sect-13" numbered="true" toc="default">
      <name>Security Considerations</name>

      <t>
   This document describes the procedures for performance delay and loss
   measurement for SR-MPLS networks, for both SR-MPLS links and end-to-end 
   SR-MPLS Policies using the mechanisms defined in <xref target="RFC6374" format="default"/> and <xref target="RFC7876" format="default"/>.
   The security considerations covered in <xref target="RFC6374" format="default"/>, <xref target="RFC7471" format="default"/>,
   <xref target="RFC8570" format="default"/>, <xref target="RFC8571" format="default"/>, and <xref target="RFC7876" format="default"/>
   also apply to the procedures in this document.</t>

      <t>
   The procedure defined in this document is intended for deployment in a single operator administrative domain.
   As such, querier node, responder node, forward path and return path for a probe session are provisioned by the operator.
   It is assumed that the operator has verified the integrity of the forward path, return path and the identity of the far-end responder.</t>

      <t>
   The "Return Path" TLV defined in this document may be used for potential
   "proxying" attacks.  For example, a query message may carry a return path
   that has destination not local at the querier. 
   To prevent such possible attacks, the responder MAY drop the
   query messages when it cannot determine whether the return path has
   the destination local at the querier.  The querier may send a
   proper source address in the "Source Address" TLV that responder can use to make that determination,
   for example, by checking the provisioned access control list.
    </t>

    </section>

    <section anchor="sect-14" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate values for the following Mandatory
   TLV Types for <xref target="RFC6374" format="default"/> from the "MPLS Loss/Delay Measurement TLV Object" 
   registry contained within the "Generic Associated Channel (G-ACh) Parameters" registry set:</t>
      <table anchor="iana-tlv-type-tbl" align="center">
        <name>MPLS Loss/Delay Measurement TLV Types</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="center">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBA1</td>
            <td align="center">Return Path TLV</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">TBA2</td>
            <td align="center">Block Number TLV</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
      <t>The Block Number TLV is carried in the query and response messages 
   and Return Path TLV is carried in the query messages.</t>
      <t>
   IANA is requested to create a sub-registry for "Return Path Sub-TLV Type".
   All code points in the range 0 through 175 in this registry shall be
   allocated according to the "IETF Review" procedure as specified in
   <xref target="RFC8126" format="default"/>.  Code points in the range 176 through 239 in this
   registry shall be allocated according to the "First Come, First
   Served" procedure as specified in <xref target="RFC8126" format="default"/>. 
   Remaining code points are allocated according to <xref target="iana-return-path-tbl" format="default"/>:
      </t>
      <table anchor="iana-return-path-tbl" align="center">
        <name>Return Path Sub-TLV Type Registry</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="center">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0 - 175</td>
            <td align="center">IETF Review</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">176 - 239</td>
            <td align="center">First Come First Served</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">240 - 251</td>
            <td align="center">Experimental Use</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">252 - 255</td>
            <td align="center">Private Use</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
      <t>This document defines the following values in the Return Path Sub-TLV Type sub-registry:</t>
      <table anchor="iana-return-path-type-tbl" align="center">
        <name>Return Path Sub-TLV Types</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="center">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0</td>
            <td align="center">Reserved</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">1</td>
            <td align="center">SR-MPLS Segment List of the Return Path</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">255</td>
            <td align="center">Reserved</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
    </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="RFC6374" target="https://www.rfc-editor.org/info/rfc6374" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6374.xml">
          <front>
            <title>Packet Loss and Delay Measurement for MPLS Networks</title>
            <author initials="D." surname="Frost" fullname="D. Frost">
              <organization/>
            </author>
            <author initials="S." surname="Bryant" fullname="S. Bryant">
              <organization/>
            </author>
            <date year="2011" month="September"/>
          </front>
          <seriesInfo name="RFC" value="6374"/>
          <seriesInfo name="DOI" value="10.17487/RFC6374"/>
        </reference>

        <reference anchor="RFC7876" target="https://www.rfc-editor.org/info/rfc7876" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7876.xml">
          <front>
            <title>UDP Return Path for Packet Loss and Delay Measurement for MPLS Networks</title>
            <author initials="S." surname="Bryant" fullname="S. Bryant">
              <organization/>
            </author>
            <author initials="S." surname="Sivabalan" fullname="S. Sivabalan">
              <organization/>
            </author>
            <author initials="S." surname="Soni" fullname="S. Soni">
              <organization/>
            </author>
            <date year="2016" month="July"/>
          </front>
          <seriesInfo name="RFC" value="7876"/>
          <seriesInfo name="DOI" value="10.17487/RFC7876"/>
        </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>
      </references>

      <references>
        <name>Informative References</name>
        <reference anchor="IEEE1588">
          <front>
            <title>1588-2008 IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date month="March" year="2008"/>
          </front>
        </reference>

        <reference anchor="RFC5481" target="https://www.rfc-editor.org/info/rfc5481" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5481.xml">
          <front>
            <title>Packet Delay Variation Applicability Statement</title>
            <author initials="A." surname="Morton" fullname="A. Morton">
              <organization/>
            </author>
            <author initials="B." surname="Claise" fullname="B. Claise">
              <organization/>
            </author>
            <date year="2009" month="March"/>
          </front>
          <seriesInfo name="RFC" value="5481"/>
          <seriesInfo name="DOI" value="10.17487/RFC5481"/>
        </reference>

        <reference anchor="RFC6790" target="https://www.rfc-editor.org/info/rfc6790" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6790.xml">
          <front>
            <title>The Use of Entropy Labels in MPLS Forwarding</title>
            <author initials="K." surname="Kompella" fullname="K. Kompella">
              <organization/>
            </author>
            <author initials="J." surname="Drake" fullname="J. Drake">
              <organization/>
            </author>
            <author initials="S." surname="Amante" fullname="S. Amante">
              <organization/>
            </author>
            <author initials="W." surname="Henderickx" fullname="W. Henderickx">
              <organization/>
            </author>
            <author initials="L." surname="Yong" fullname="L. Yong">
              <organization/>
            </author>
            <date year="2012" month="November"/>
          </front>
          <seriesInfo name="RFC" value="6790"/>
          <seriesInfo name="DOI" value="10.17487/RFC6790"/>
        </reference>

        <reference anchor="RFC7471" target="https://www.rfc-editor.org/info/rfc7471" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7471.xml">
          <front>
            <title>OSPF Traffic Engineering (TE) Metric Extensions</title>
            <author initials="S." surname="Giacalone" fullname="S. Giacalone">
              <organization/>
            </author>
            <author initials="D." surname="Ward" fullname="D. Ward">
              <organization/>
            </author>
            <author initials="J." surname="Drake" fullname="J. Drake">
              <organization/>
            </author>
            <author initials="A." surname="Atlas" fullname="A. Atlas">
              <organization/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi">
              <organization/>
            </author>
            <date year="2015" month="March"/>
          </front>
          <seriesInfo name="RFC" value="7471"/>
          <seriesInfo name="DOI" value="10.17487/RFC7471"/>
        </reference>

        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization/>
            </author>
            <date year="2017" month="June"/>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>

        <reference anchor="RFC9341" target="https://www.rfc-editor.org/info/rfc9341" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9341.xml">
          <front>
            <title>Alternate-Marking Method</title>
            <author initials="G." surname="Fioccola" fullname="G. Fioccola" role="editor">
              <organization/>
            </author>
            <author initials="M." surname="Cociglio" fullname="M. Cociglio">
              <organization/>
            </author>
            <author initials="G." surname="Mirsky" fullname="G. Mirsky">
              <organization/>
            </author>
            <author initials="T." surname="Mizrahi" fullname="T. Mizrahi">
              <organization/>
            </author>
            <date year="2022" month="December"/>
          </front>
          <seriesInfo name="RFC" value="9341"/>
          <seriesInfo name="DOI" value="10.17487/RFC9341"/>
        </reference>

        <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="RFC8570" target="https://www.rfc-editor.org/info/rfc8570" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8570.xml">
          <front>
            <title>IS-IS Traffic Engineering (TE) Metric Extensions</title>
            <author initials="L." surname="Ginsberg" fullname="L. Ginsberg" role="editor">
              <organization/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi" role="editor">
              <organization/>
            </author>
            <author initials="S." surname="Giacalone" fullname="S. Giacalone">
              <organization/>
            </author>
            <author initials="D." surname="Ward" fullname="D. Ward">
              <organization/>
            </author>
            <author initials="J." surname="Drake" fullname="J. Drake">
              <organization/>
            </author>
            <author initials="Q." surname="Wu" fullname="Q. Wu">
              <organization/>
            </author>
            <date year="2019" month="March"/>
          </front>
          <seriesInfo name="RFC" value="8570"/>
          <seriesInfo name="DOI" value="10.17487/RFC8570"/>
        </reference>

        <reference anchor="RFC8571" target="https://www.rfc-editor.org/info/rfc8571" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8571.xml">
          <front>
            <title>BGP - Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions</title>
            <author initials="L." surname="Ginsberg" fullname="L. Ginsberg" role="editor">
              <organization/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi">
              <organization/>
            </author>
            <author initials="Q." surname="Wu" fullname="Q. Wu">
              <organization/>
            </author>
            <author initials="J." surname="Tantsura" fullname="J. Tantsura">
              <organization/>
            </author>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils">
              <organization/>
            </author>
            <date year="2019" month="March"/>
          </front>
          <seriesInfo name="RFC" value="8571"/>
          <seriesInfo name="DOI" value="10.17487/RFC8571"/>
        </reference>

        <reference anchor="RFC8668" target="https://www.rfc-editor.org/info/rfc8668" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8668.xml">
          <front>
            <title>Advertising Layer 2 Bundle Member Link Attributes in IS-IS</title>
            <author initials="L." surname="Ginsberg" fullname="L. Ginsberg" role="editor">
              <organization/>
            </author>
            <author initials="A." surname="Bashandy" fullname="A. Bashandy">
              <organization/>
            </author>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils">
              <organization/>
            </author>
            <author initials="M." surname="Nanduri" fullname="M. Nanduri">
              <organization/>
            </author>
            <author initials="E." surname="Aries" fullname="E. Aries">
              <organization/>
            </author>
            <date year="2019" month="December"/>
          </front>
          <seriesInfo name="RFC" value="8668"/>
          <seriesInfo name="DOI" value="10.17487/RFC8668"/>
        </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"/>
        </reference>

        <reference anchor="I-D.ietf-pim-sr-p2mp-policy" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pim-sr-p2mp-policy.xml" target="https://www.ietf.org/archive/id/draft-ietf-pim-sr-p2mp-policy-06.txt">
          <front>
            <title>Segment Routing Point-to-Multipoint Policy</title>
            <author fullname="Daniel Voyer (editor)">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Clarence Filsfils">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Rishabh Parekh">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Hooman Bidgoli">
              <organization>Nokia</organization>
            </author>
            <author fullname="Zhaohui Zhang">
              <organization>Juniper Networks</organization>
            </author>
            <date month="April" day="13" year="2023"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pim-sr-p2mp-policy-06"/>
        </reference>

        <reference anchor="I-D.ietf-spring-sr-replication-segment" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-sr-replication-segment.xml" target="https://www.ietf.org/archive/id/draft-ietf-spring-sr-replication-segment-16.txt">
          <front>
            <title>SR Replication Segment for Multi-point Service Delivery</title>
            <author fullname="Daniel Voyer (editor)">
              <organization>Bell Canada</organization>
            </author>
            <author fullname="Clarence Filsfils">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Rishabh Parekh">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Hooman Bidgoli">
              <organization>Nokia</organization>
            </author>
            <author fullname="Zhaohui Zhang">
              <organization>Juniper Networks</organization>
            </author>
            <date month="July" day="31" year="2023"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-sr-replication-segment-16"/>
        </reference>

        <reference anchor="I-D.ietf-pce-binding-label-sid" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pce-binding-label-sid.xml" target="https://www.ietf.org/archive/id/draft-ietf-pce-binding-label-sid-16.txt">
          <front>
            <title>Carrying Binding Label/Segment Identifier (SID) in PCE-based Networks.</title>
            <author fullname="Siva Sivabalan">
              <organization>Ciena Corporation</organization>
            </author>
            <author fullname="Clarence Filsfils">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Jeff Tantsura">
              <organization>Microsoft Corporation</organization>
            </author>
            <author fullname="Stefano Previdi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Cheng Li (editor)">
              <organization>Huawei Technologies</organization>
            </author>
            <date month="March" day="27" year="2023"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-binding-label-sid-16"/>
        </reference>

        <reference anchor="I-D.ietf-spring-mpls-path-segment" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-mpls-path-segment.xml" target="https://www.ietf.org/archive/id/draft-ietf-spring-mpls-path-segment-10.txt">
          <front>
            <title>Path Segment in MPLS Based Segment Routing Network</title>
            <author fullname="Weiqiang Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Han Li">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Mach(Guoyi) Chen">
              <organization>Huawei</organization>
            </author>
            <author fullname="Rakesh Gandhi">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Royi Zigler">
              <organization>Broadcom</organization>
            </author>
            <date month="July" day="31" year="2023"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-mpls-path-segment-10"/>
        </reference>

        <reference anchor="RFC9356" target="https://www.rfc-editor.org/info/rfc9356" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9356.xml">
          <front>
            <title>Advertising L2 Bundle Member Link Attributes in OSPF</title>
            <author fullname="Ketan Talaulikar">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Peter Psenak">
              <organization>Cisco Systems</organization>
            </author>
            <date month="January" year="2023"/>
          </front>
          <seriesInfo name="RFC" value="9356"/>
        </reference>

        <reference anchor="I-D.ietf-pce-sr-bidir-path" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-pce-sr-bidir-path.xml" target="https://www.ietf.org/archive/id/draft-ietf-pce-sr-bidir-path-11.txt">
          <front>
            <title>Path Computation Element Communication Protocol (PCEP) Extensions for Associated Bidirectional Segment Routing (SR) Paths</title>
            <author fullname="Cheng Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Mach(Guoyi) Chen">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Weiqiang Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Rakesh Gandhi">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Quan Xiong">
              <organization>ZTE Corporation</organization>
            </author>
            <date month="March" day="08" year="2023"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pce-sr-bidir-path-11"/>
        </reference>

        <reference anchor="IEEE802.1AX">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks - Link Aggregation</title>
            <author>
              <organization>
       IEEE Std. 802.1AX
              </organization>
            </author>
            <date month="November" year="2008"/>
          </front>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments" toc="default">
      <name>Acknowledgments</name>
      <t>
   The authors would like to thank Thierry Couture and Ianik Semco for the discussions
   on the use-cases for the performance measurement in segment routing
   networks.  Authors would like to thank Patrick Khordoc, Ruby Lin and Haowei Shi for 
   implementing the mechanisms defined in this document.
   The authors would like to thank Greg Mirsky for providing
   many useful comments and suggestions.  The authors would also like to
   thank Stewart Bryant, Sam Aldrin, Tarek Saad, and Rajiv Asati for
   their review comments. Thanks to Huaimo Chen, Yimin Shen, and Xufeng Liu for MPLS-RT expert review.</t>
    </section>
    <section numbered="false" anchor="contributors" toc="default">
      <name>Contributors</name>
      <artwork name="" type="" align="left" alt=""><![CDATA[
Sagar Soni
Cisco Systems, Inc.
Email: sagsoni@cisco.com

Zafar Ali
Cisco Systems, Inc.
Email: zali@cisco.com

Pier Luigi Ventre
CNIT
Italy
Email: pierluigi.ventre@cnit.it
]]></artwork>
    </section>
  </back>
</rfc>
