<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" ipr="trust200902" docName="draft-ietf-mpls-inband-pm-encapsulation-18" number="9714" consensus="true" submissionType="IETF" tocInclude="true" updates="" obsoletes="" symRefs="true" sortRefs="true" xml:lang="en" prepTime="2025-02-14T15:07:30" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-mpls-inband-pm-encapsulation-18" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9714" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Encap for MPLS PM with AMM">Encapsulation for MPLS Performance Measurement with the Alternate-Marking Method</title>
    <seriesInfo name="RFC" value="9714" stream="IETF"/>
    <author fullname="Weiqiang Cheng" initials="W" surname="Cheng" role="editor">
      <organization showOnFrontPage="true">China Mobile</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>chengweiqiang@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Xiao Min" initials="X" surname="Min" role="editor">
      <organization showOnFrontPage="true">ZTE Corp.</organization>
      <address>
        <postal>
          <city>Nanjing</city>
          <country>China</country>
        </postal>
        <email>xiao.min2@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Tianran Zhou" initials="T" surname="Zhou">
      <organization showOnFrontPage="true">Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <phone/>
        <email>zhoutianran@huawei.com</email>
      </address>
    </author>
    <author fullname="Jinyou Dai" initials="J" surname="Dai">
      <organization showOnFrontPage="true">FiberHome</organization>
      <address>
        <postal>
          <city>Wuhan</city>
          <country>China</country>
        </postal>
        <email>djy@fiberhome.com</email>
      </address>
    </author>
    <author fullname="Yoav Peleg" initials="Y" surname="Peleg">
      <organization showOnFrontPage="true">Broadcom</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>yoav.peleg@broadcom.com</email>
      </address>
    </author>
    <date month="02" year="2025"/>
    <area>RTG</area>
    <workgroup>mpls</workgroup>
    <keyword>Flow-ID Label Indicator</keyword>
    <keyword>Flow-ID Label</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document defines the encapsulation for MPLS performance measurement with the Alternate-Marking Method, which performs 
   flow-based packet loss, delay, and jitter measurements on MPLS traffic.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9714" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions-used-in-this-do">Conventions Used in This Document</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-abbreviations">Abbreviations</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-flow-based-pm-encapsulation">Flow-Based PM Encapsulation in MPLS</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-examples-for-applying-flow-">Examples for Applying Flow-ID Label in a Label Stack</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.1.2">
                  <li pn="section-toc.1-1.3.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.1.1"><xref derivedContent="3.1.1" format="counter" sectionFormat="of" target="section-3.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-layout-of-the-flow-id-label">Layout of the Flow-ID Label when Applied to MPLS Transport</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.2.1"><xref derivedContent="3.1.2" format="counter" sectionFormat="of" target="section-3.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-layout-of-the-flow-id-label-">Layout of the Flow-ID Label when Applied to MPLS Service</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.3.1"><xref derivedContent="3.1.3" format="counter" sectionFormat="of" target="section-3.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-layout-of-the-flow-id-label-w">Layout of the Flow-ID Label when Applied to both MPLS Transport and MPLS Service</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-procedures-of-encapsulation">Procedures of Encapsulation, Look-Up, and Decapsulation</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-procedures-of-flow-id-alloc">Procedures of Flow-ID Allocation</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-flc-and-frld-considerations">FLC and FRLD Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-equal-cost-multipath-consid">Equal-Cost Multipath Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1"> <xref target="RFC9341" format="default" sectionFormat="of" derivedContent="RFC9341"/> describes a performance measurement method, which can be used to measure packet loss, delay, and jitter 
   on data traffic. Since this method is based on marking consecutive batches of packets, it is referred to as the Alternate-Marking 
   Method. <xref target="RFC8372" format="default" sectionFormat="of" derivedContent="RFC8372"/> outlines key considerations for developing a solution for MPLS flow identification, intended for 
   use in performance monitoring of MPLS flows.</t>
      <t indent="0" pn="section-1-2"> This document defines the encapsulation for MPLS performance measurement with the Alternate-Marking Method, which performs 
   flow-based packet loss, delay, and jitter measurements on the MPLS traffic. The encapsulation defined in this document supports 
   performance monitoring at the intermediate nodes and MPLS flow identification at both transport and service layers.</t>
      <t indent="0" pn="section-1-3">
  Note that, at the time of writing, there is ongoing
  work on MPLS Network Actions (MNAs) <xref target="RFC9613" format="default" sectionFormat="of" derivedContent="RFC9613"/>. The MPLS performance
  measurement with the Alternate-Marking Method can also be achieved by
  MNA encapsulation. In addition, MNA will provide a broader use-case
  applicability. That means the MNA encapsulation is expected to
  provide a more advanced solution.  The MPLS Working Group has agreed
  that this document will be made Historic when that solution is published as an RFC.
      </t>
    </section>
    <section anchor="conventions" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-conventions-used-in-this-do">Conventions Used in This Document</name>
      <section anchor="abbrevs" numbered="true" removeInRFC="false" toc="include" pn="section-2.1">
        <name slugifiedName="name-abbreviations">Abbreviations</name>
        <dl spacing="normal" newline="false" indent="3" pn="section-2.1-1">
          <dt pn="section-2.1-1.1">ACL:</dt>
          <dd pn="section-2.1-1.2">Access Control List</dd>
          <dt pn="section-2.1-1.3">BoS:</dt>
          <dd pn="section-2.1-1.4">Bottom of Stack</dd>
          <dt pn="section-2.1-1.5">cSPL:</dt>
          <dd pn="section-2.1-1.6">Composite Special Purpose Label, the combination of the Extension Label (value 15) and an Extended Special Purpose Label</dd>
          <dt pn="section-2.1-1.7">DSCP:</dt>
          <dd pn="section-2.1-1.8">Differentiated Services Code Point</dd>
          <dt pn="section-2.1-1.9">ELC:</dt>
          <dd pn="section-2.1-1.10">Entropy Label Capability</dd>
          <dt pn="section-2.1-1.11">ERLD:</dt>
          <dd pn="section-2.1-1.12">Entropy Readable Label Depth</dd>
          <dt pn="section-2.1-1.13">eSPL:</dt>
          <dd pn="section-2.1-1.14">Extended Special Purpose Label, a special-purpose label that is placed in the label stack after the Extension Label (value 15)</dd>
          <dt pn="section-2.1-1.15">FL:</dt>
          <dd pn="section-2.1-1.16">Flow-ID Label</dd>
          <dt pn="section-2.1-1.17">FLC:</dt>
          <dd pn="section-2.1-1.18">Flow-ID Label Capability</dd>
          <dt pn="section-2.1-1.19">FLI:</dt>
          <dd pn="section-2.1-1.20">Flow-ID Label Indicator</dd>
          <dt pn="section-2.1-1.21">FRLD:</dt>
          <dd pn="section-2.1-1.22">Flow-ID Readable Label Depth</dd>
          <dt pn="section-2.1-1.23">IPFIX:</dt>
          <dd pn="section-2.1-1.24">IP Flow Information Export <xref target="RFC7011" format="default" sectionFormat="of" derivedContent="RFC7011"/></dd>
          <dt pn="section-2.1-1.25">LSP:</dt>
          <dd pn="section-2.1-1.26">Label Switched Path</dd>
          <dt pn="section-2.1-1.27">LSR:</dt>
          <dd pn="section-2.1-1.28">Label Switching Router</dd>
          <dt pn="section-2.1-1.29">MPLS:</dt>
          <dd pn="section-2.1-1.30">Multi-Protocol Label Switching</dd>
          <dt pn="section-2.1-1.31">NMS:</dt>
          <dd pn="section-2.1-1.32">Network Management System</dd>
          <dt pn="section-2.1-1.33">PHP:</dt>
          <dd pn="section-2.1-1.34">Penultimate Hop Popping</dd>
          <dt pn="section-2.1-1.35">PM:</dt>
          <dd pn="section-2.1-1.36">Performance Measurement</dd>
          <dt pn="section-2.1-1.37">PW:</dt>
          <dd pn="section-2.1-1.38">Pseudowire</dd>
          <dt pn="section-2.1-1.39">SFL:</dt>
          <dd pn="section-2.1-1.40">Synonymous Flow Label</dd>
          <dt pn="section-2.1-1.41">SID:</dt>
          <dd pn="section-2.1-1.42">Segment ID</dd>
          <dt pn="section-2.1-1.43">SR:</dt>
          <dd pn="section-2.1-1.44">Segment Routing</dd>
          <dt pn="section-2.1-1.45">TC:</dt>
          <dd pn="section-2.1-1.46">Traffic Class</dd>
          <dt pn="section-2.1-1.47">TTL:</dt>
          <dd pn="section-2.1-1.48">Time to Live</dd>
          <dt pn="section-2.1-1.49">VC:</dt>
          <dd pn="section-2.1-1.50">Virtual Channel</dd>
          <dt pn="section-2.1-1.51">VPN:</dt>
          <dd pn="section-2.1-1.52">Virtual Private Network</dd>
          <dt pn="section-2.1-1.53">XL:</dt>
          <dd pn="section-2.1-1.54">Extension Label</dd>
        </dl>
      </section>
      <section anchor="requirements" numbered="true" removeInRFC="false" toc="include" pn="section-2.2">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-2.2-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section anchor="flow-based-pm-encapsulation" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-flow-based-pm-encapsulation">Flow-Based PM Encapsulation in MPLS</name>
      <t indent="0" pn="section-3-1"> This document defines the Flow-based MPLS performance measurement encapsulation with the Alternate-Marking Method, as shown 
	in <xref target="Figure_1" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
      <figure anchor="Figure_1" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-flow-based-pm-encapsulation-">Flow-based PM Encapsulation in MPLS</name>
        <artwork align="left" pn="section-3-2.1">
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Extension Label (15)         |  TC |S|      TTL      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Flow-ID Label Indicator (18)      |  TC |S|      TTL      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Flow-ID Label             |L|D|T|S|      TTL      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
      </figure>
      <t indent="0" pn="section-3-3">
	The Flow-ID Label Indicator (FLI) is an Extended Special Purpose Label (eSPL), which is combined with the Extension
	Label (XL, value 15) to form a Composite Special Purpose Label (cSPL), as defined in <xref target="RFC9017" format="default" sectionFormat="of" derivedContent="RFC9017"/>. The
	FLI is defined in this document as value 18.
      </t>
      <t indent="0" pn="section-3-4">
	The Traffic Class (TC) and Time To Live (TTL) fields of the XL and FLI <bcp14>MUST</bcp14> use the same values of the label immediately 
	preceding the XL. The Bottom of the Stack (BoS) bit <xref target="RFC3032" format="default" sectionFormat="of" derivedContent="RFC3032"/> for the XL and FLI <bcp14>MUST</bcp14> be zero. If any XL or FLI 
	processed by a node has the BoS bit set, the node <bcp14>MUST</bcp14> discard the packet and <bcp14>MAY</bcp14> log an error.
      </t>
      <t indent="0" pn="section-3-5">
	The Flow-ID Label (FL) is used as an MPLS flow identification <xref target="RFC8372" format="default" sectionFormat="of" derivedContent="RFC8372"/>. Its value <bcp14>MUST</bcp14> be unique within the 
	administrative domain. The FL values <bcp14>MAY</bcp14> be allocated by an external NMS or controller based on the measurement 
	object instances (such as LSP or PW). There is a one-to-one mapping between a Flow-ID and a flow. The specific method
	on how to allocate the FL values is described in <xref target="procedures-of-flow-id-alloc" format="default" sectionFormat="of" derivedContent="Section 5"/>.
      </t>
      <t indent="0" pn="section-3-6">
	The FL, preceded by a cSPL, can be placed either at the bottom or in the middle, but not at the top, of the MPLS label stack, 
	and it <bcp14>MAY</bcp14> appear multiple times within a label stack. <xref target="examples-for-flow-id" format="default" sectionFormat="of" derivedContent="Section 3.1"/> of this document provides several examples to illustrate the 
	application of FL in a label stack. The TTL for the FL <bcp14>MUST</bcp14> be zero to ensure that it is not used inadvertently for forwarding. 
	The BoS bit	for the FL depends on whether the FL is placed at the bottom of the MPLS label stack, i.e., the BoS bit for the FL 
	is set only when the FL is placed at the bottom of the MPLS label stack.
      </t>
      <t indent="0" pn="section-3-7">
	Besides the flow identification, a color-marking field is also necessary for the Alternate-Marking Method. To color the MPLS traffic and to distinguish between hop-by-hop measurement and edge-to-edge measurement, the 
	TC for the FL is defined as follows:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3-8">
        <li pn="section-3-8.1">
          <t indent="0" pn="section-3-8.1.1">
	L(oss) bit is used for coloring the MPLS packets for loss measurement. Setting the bit means color 1, and unsetting the bit means 
	color 0.
          </t>
        </li>
        <li pn="section-3-8.2">
          <t indent="0" pn="section-3-8.2.1">
	D(elay) bit is used for coloring the MPLS packets for delay/jitter measurement. Setting the bit means color for delay measurement.
          </t>
        </li>
        <li pn="section-3-8.3">
          <t indent="0" pn="section-3-8.3.1">
    T(ype) bit is used to indicate the measurement type. When the T bit is set to 1, that means edge-to-edge performance
	measurement. When the T bit is set to 0, that means hop-by-hop performance measurement.
          </t>
        </li>
      </ul>
      <t indent="0" pn="section-3-9">
	Considering the FL is not used as a forwarding label, the repurposing of the TC for the FL is feasible and viable.
      </t>
      <section anchor="examples-for-flow-id" numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-examples-for-applying-flow-">Examples for Applying Flow-ID Label in a Label Stack</name>
        <t indent="0" pn="section-3.1-1"> Three examples of different layouts of the FL (4
        octets) are illustrated as follows. Note that more examples may
        exist.</t>
        <section anchor="example-one" numbered="true" removeInRFC="false" toc="include" pn="section-3.1.1">
          <name slugifiedName="name-layout-of-the-flow-id-label">Layout of the Flow-ID Label when Applied to MPLS Transport</name>
          <figure anchor="Figure_2" align="left" suppress-title="false" pn="figure-2">
            <name slugifiedName="name-applying-flow-id-to-mpls-tr">Applying Flow-ID to MPLS Transport</name>
            <artwork align="center" pn="section-3.1.1-1.1">
+----------------------+
|          LSP         |
|         Label        |
+----------------------+ &lt;--+
|       Extension      |    |
|         Label        |    |
+----------------------+    |--- cSPL
|     Flow-ID Label    |    |
|       Indicator      |    |
+----------------------+ &lt;--+
|        Flow-ID       |
|         Label        |
+----------------------+
|      Application     |
|         Label        |
+----------------------+ &lt;= Bottom of stack
|                      |
|        Payload       |
|                      |
+----------------------+</artwork>
          </figure>
          <t indent="0" pn="section-3.1.1-2"> With penultimate hop popping (PHP <xref sectionFormat="of" section="3.16" target="RFC3031" format="default" derivedLink="https://rfc-editor.org/rfc/rfc3031#section-3.16" derivedContent="RFC3031"/>), the top label is "popped at the
        penultimate LSR of the LSP, rather than at the LSP Egress". The final bullet of 
        <xref target="procedures-of-encap" format="default" sectionFormat="of" derivedContent="Section 4"/> of the present document requires that "[t]he processing node <bcp14>MUST</bcp14> pop the
        XL, FLI, and FL from the MPLS label stack when it needs to pop the
        preceding forwarding label", which implies that the penultimate Label
        Switching Router (LSR) needs to follow the requirement of <xref target="procedures-of-encap" format="default" sectionFormat="of" derivedContent="Section 4"/> in order to support this
        specification. If this is done, the egress LSR is excluded from
        the performance measurement. Therefore, when this specification is in
        use, PHP should be disabled, unless the penultimate LSR is known to
        have the necessary support and unless it's acceptable to exclude the
        egress LSR.</t>
          <t indent="0" pn="section-3.1.1-3"> Also note that in other examples of applying Flow-ID to MPLS
        transport, one LSP label can be substituted by multiple SID labels in
        the case of using SR Policy, and the combination of cSPL and FL can be placed between SID labels, as specified in <xref target="flc-frld-considerations" format="default" sectionFormat="of" derivedContent="Section 6"/>.</t>
        </section>
        <section anchor="example-two" numbered="true" removeInRFC="false" toc="include" pn="section-3.1.2">
          <name slugifiedName="name-layout-of-the-flow-id-label-">Layout of the Flow-ID Label when Applied to MPLS Service</name>
          <figure anchor="Figure_3" align="left" suppress-title="false" pn="figure-3">
            <name slugifiedName="name-applying-flow-id-to-mpls-se">Applying Flow-ID to MPLS Service</name>
            <artwork align="center" pn="section-3.1.2-1.1">
+----------------------+
|          LSP         |
|         Label        |
+----------------------+
|      Application     |
|         Label        |
+----------------------+ &lt;--+
|       Extension      |    |
|         Label        |    |
+----------------------+    |--- cSPL
|     Flow-ID Label    |    |
|       Indicator      |    |
+----------------------+ &lt;--+
|        Flow-ID       |
|         Label        |
+----------------------+ &lt;= Bottom of stack
|                      |
|        Payload       |
|                      |
+----------------------+</artwork>
          </figure>
          <t indent="0" pn="section-3.1.2-2"> Note that in this case, the application label can be an MPLS PW
        label, MPLS Ethernet VPN label, or MPLS IP VPN label, and it is also
        called a VC label as defined in <xref target="RFC4026" format="default" sectionFormat="of" derivedContent="RFC4026"/>.</t>
        </section>
        <section anchor="example-three" numbered="true" removeInRFC="false" toc="include" pn="section-3.1.3">
          <name slugifiedName="name-layout-of-the-flow-id-label-w">Layout of the Flow-ID Label when Applied to both MPLS Transport and MPLS Service</name>
          <figure anchor="Figure_4" align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-applying-flow-id-to-both-mp">Applying Flow-ID to both MPLS Transport and MPLS Service</name>
            <artwork align="center" pn="section-3.1.3-1.1">
+----------------------+
|          LSP         |
|         Label        |
+----------------------+ &lt;--+
|       Extension      |    |
|         Label        |    |
+----------------------+    |--- cSPL
|     Flow-ID Label    |    |
|       Indicator      |    |
+----------------------+ &lt;--+
|        Flow-ID       |
|         Label        |
+----------------------+
|      Application     |
|         Label        |
+----------------------+ &lt;--+
|       Extension      |    |
|         Label        |    |
+----------------------+    |--- cSPL
|     Flow-ID Label    |    |
|       Indicator      |    |
+----------------------+ &lt;--+
|        Flow-ID       |
|         Label        |
+----------------------+ &lt;= Bottom of stack
|                      |
|        Payload       |
|                      |
+----------------------+</artwork>
          </figure>
          <t indent="0" pn="section-3.1.3-2">Note that for this example, the two FL values appearing
        in a label stack must be different. In other words, the FL
        applied to the MPLS transport and the FL applied to the
        MPLS service must be different. Also, note that the two FL
        values are independent of each other. For example, two packets can
        belong to the same VPN flow but different LSP flows, or two packets
        can belong to different VPN flows but the same LSP flow.</t>
        </section>
      </section>
    </section>
    <section anchor="procedures-of-encap" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-procedures-of-encapsulation">Procedures of Encapsulation, Look-Up, and Decapsulation</name>
      <t indent="0" pn="section-4-1">
    The procedures for FL encapsulation, look-up, and decapsulation are summarized as follows:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4-2">
        <li pn="section-4-2.1">
          <t indent="0" pn="section-4-2.1.1">
    The MPLS ingress node <xref target="RFC3031" format="default" sectionFormat="of" derivedContent="RFC3031"/> inserts the XL, FLI, and FL into the MPLS label stack. At the same time,
	the ingress node sets the FL value, the two color-marking bits, and the T bit, as defined in <xref target="flow-based-pm-encapsulation" format="default" sectionFormat="of" derivedContent="Section 3"/>.
          </t>
        </li>
        <li pn="section-4-2.2">
          <t indent="0" pn="section-4-2.2.1">
    If edge-to-edge measurement is applied, i.e., the T bit is set to 1, then only the MPLS ingress/egress node <xref target="RFC3031" format="default" sectionFormat="of" derivedContent="RFC3031"/>
	is the processing node; otherwise, all the MPLS nodes along the LSP are the processing nodes. The processing node looks
	up the FL with the help of the XL and FLI, and exports the collected data (such as the Flow-ID, block counters, and timestamps)
	to an external NMS/controller, referring to the Alternate-Marking Method. Section 6 of <xref target="I-D.ietf-ippm-alt-mark-deployment" format="default" sectionFormat="of" derivedContent="ALT-MARK"/>
	describes protocols for collected data export; the details on how to export the collected data are outside the scope
	of this document. Note that
      while looking up the FL, the transit node needs to
      inspect beyond the label at the top
      of the label stack used to make forwarding decisions.
          </t>
        </li>
        <li pn="section-4-2.3">
          <t indent="0" pn="section-4-2.3.1">
    The processing node <bcp14>MUST</bcp14> pop the XL, FLI, and FL from the MPLS label stack when it needs to pop the preceding forwarding label. 
	The egress node <bcp14>MUST</bcp14> pop the whole MPLS label stack. This document doesn't introduce any new process to the decapsulated packet.
          </t>
        </li>
      </ul>
    </section>
    <section anchor="procedures-of-flow-id-alloc" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-procedures-of-flow-id-alloc">Procedures of Flow-ID Allocation</name>
      <t indent="0" pn="section-5-1">
    There are at least two ways of allocating Flow-ID. One way is to allocate Flow-ID by a manual trigger from the network
	operator, and the other way is to allocate Flow-ID by an automatic trigger from the ingress node. Details are as follows:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-2">
        <li pn="section-5-2.1">
          <t indent="0" pn="section-5-2.1.1">
    In the case of a manual trigger, the network operator manually inputs the characteristics (e.g., IP five
	tuples and IP DSCP) of the measured flow; then the NMS/controller generates one or two
	Flow-IDs based on the input from the network operator and provisions the ingress node with the characteristics
	of the measured flow and the corresponding allocated Flow-ID(s).
          </t>
        </li>
        <li pn="section-5-2.2">
          <t indent="0" pn="section-5-2.2.1">
    In the case of an automatic trigger, the ingress node identifies the flow entering the measured path and
	exports the characteristics of the identified flow to the NMS/controller by IPFIX <xref target="RFC7011" format="default" sectionFormat="of" derivedContent="RFC7011"/>;
	then the NMS/controller generates one or two Flow-IDs based on the characteristics exported from the ingress node
	and provisions the ingress node with the characteristics of the identified flow and the corresponding allocated Flow-ID(s).
          </t>
        </li>
      </ul>
      <t indent="0" pn="section-5-3">
    The policy preconfigured at the NMS/controller decides whether one Flow-ID or two Flow-IDs are generated.
	If the performance measurement on the MPLS service is enabled, then one Flow-ID applied to the MPLS service is generated.
	If the performance measurement on the MPLS transport is enabled, then one Flow-ID applied to the MPLS transport is generated.
	If both of them are enabled, then two Flow-IDs are respectively applied to the MPLS service and the MPLS transport are generated. 
	In this case, a transit node needs to look up both of the two Flow-IDs by default. However, this behavior can be changed through 
	configuration, such as by setting it to look up only the Flow-ID applied to the MPLS transport.
      </t>
      <t indent="0" pn="section-5-4">
    Whether using the two methods mentioned above or other methods to allocate Flow-ID, the NMS/controller <bcp14>MUST</bcp14> ensure that every
	generated Flow-ID is unique within the administrative domain and <bcp14>MUST NOT</bcp14> have any value in the reserved label space
	(0-15) <xref target="RFC3032" format="default" sectionFormat="of" derivedContent="RFC3032"/>. Specifically, the statement of "Flow-ID is unique" means that the values of Flow-ID are distinct 
	and non-redundant for any flow at any given time within an administrative domain, such that no two flows share the same Flow-ID. 
	This uniqueness ensures that each flow can be individually identified, tracked, and differentiated from others for accurate performance 
	monitoring and management.
      </t>
    </section>
    <section anchor="flc-frld-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-flc-and-frld-considerations">FLC and FRLD Considerations</name>
      <t indent="0" pn="section-6-1"> Analogous to the Entropy Label Capability (ELC) defined in <xref sectionFormat="of" section="5" target="RFC6790" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6790#section-5" derivedContent="RFC6790"/> and the
  Entropy Readable Label Depth (ERLD) defined in <xref sectionFormat="of" section="4" target="RFC8662" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8662#section-4" derivedContent="RFC8662"/>, the Flow-ID Label
  Capability (FLC) and the Flow-ID Readable Label Depth (FRLD) are defined in this document. Both FLC and FRLD have
  similar semantics with the ELC and ERLD to a router, except that the Flow-ID is used in its flow identification
  function while the Entropy is used in its load-balancing function.</t>
      <t indent="0" pn="section-6-2"> The ingress node <bcp14>MUST</bcp14> insert each FL at an appropriate depth, which ensures the node to which the
  FL is exposed has the FLC. The ingress node <bcp14>SHOULD</bcp14> insert each FL within an appropriate FRLD, which is the
  minimum FRLD of all the on-path nodes that need to read and use the FL in question. How the ingress node knows
  the FLC and FRLD of all the on-path nodes is outside the scope of this document.</t>
      <t indent="0" pn="section-6-3"> When the SR paths are used for transport, the label stack grows as the number of on-path segments increases. If
  the number of on-path segments is high, that may become a challenge for the FL to be placed within an
  appropriate FRLD. To overcome this potential challenge, an implementation <bcp14>MAY</bcp14> allow
  the ingress node to place FL between SID labels. This means that multiple identical FLs at different depths <bcp14>MAY</bcp14> be
  interleaved with SID labels. When this occurs, sophisticated network planning may be needed, which is beyond the scope of this document.</t>
    </section>
    <section anchor="ecmp" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-equal-cost-multipath-consid">Equal-Cost Multipath Considerations</name>
      <t indent="0" pn="section-7-1"> Analogous to what's described in <xref sectionFormat="of" section="5" target="RFC8957" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8957#section-5" derivedContent="RFC8957"/>, under conditions of equal-cost multipath, the introduction of the FL may lead to the same problem that is caused by the Synonymous Flow Label (SFL) <xref target="RFC8957" format="default" sectionFormat="of" derivedContent="RFC8957"/>. 
  The two solutions proposed for SFL also apply here. Specifically, adding FL to an existing flow may cause that flow to take a different
  path. If the operator expects to resolve this problem, they can choose to apply entropy labels <xref target="RFC6790" format="default" sectionFormat="of" derivedContent="RFC6790"/> or add FL to all flows.</t>
    </section>
    <section anchor="sec-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-8-1"> As specified in <xref sectionFormat="of" section="7.1" target="RFC9341" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9341#section-7.1" derivedContent="RFC9341"/>, "for security reasons, the Alternate-Marking Method <bcp14>MUST</bcp14> only be applied 
  to controlled domains." This requirement applies when the MPLS performance measurement with Alternate-Marking Method is taken into 
  account, which means the MPLS encapsulation and related procedures defined in this document <bcp14>MUST</bcp14> only be applied to controlled domains; 
  otherwise, the potential attacks discussed in <xref sectionFormat="of" section="10" target="RFC9341" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9341#section-10" derivedContent="RFC9341"/> may be applied to the deployed MPLS networks. </t>
      <t indent="0" pn="section-8-2"> As specified in <xref target="flow-based-pm-encapsulation" format="default" sectionFormat="of" derivedContent="Section 3"/>, the value of an FL <bcp14>MUST</bcp14> be unique within the administrative domain. In other words, the 
  administrative domain is the scope of an FL. The method for achieving multi-domain performance measurement with the same 
  FL is outside the scope of this document. The FL <bcp14>MUST NOT</bcp14> be signaled and distributed outside the administrative 
  domain. Improper configuration that allows the FL to be passed from one administrative domain to another would result in 
  Flow-ID conflicts. </t>
      <t indent="0" pn="section-8-3"> To prevent packets carrying FLs from leaking from one domain to another, domain boundary
  nodes <bcp14>MUST</bcp14> deploy policies (e.g., ACL) to filter out these packets.  Specifically, at the sending edge,
  the domain boundary node <bcp14>MUST</bcp14> filter out the packets that carry the FLI and are sent
  to other domains. At the receiving edge, the domain boundary node <bcp14>MUST</bcp14> drop the packets that carry the
  FLI and are from other domains. Note that packet leakage is neither breaching privacy 
  nor a source of DoS.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-9-1">IANA has assigned the following value in the "Extended Special-Purpose MPLS Label Values" registry within the "Special-Purpose Multiprotocol Label Switching (MPLS) Label Values" registry group: </t>
      <table anchor="Table_1" align="center" pn="table-1">
        <name slugifiedName="name-new-extended-special-purpos">New Extended Special-Purpose MPLS Label Value for Flow-ID Label Indicator</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Value</th>
            <th align="left" colspan="1" rowspan="1">Description</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">18</td>
            <td align="left" colspan="1" rowspan="1">Flow-ID Label Indicator (FLI)</td>
            <td align="left" colspan="1" rowspan="1">RFC 9714</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-ippm-alt-mark-deployment" to="ALT-MARK"/>
    <references pn="section-10">
      <name slugifiedName="name-references">References</name>
      <references pn="section-10.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3031" target="https://www.rfc-editor.org/info/rfc3031" quoteTitle="true" derivedAnchor="RFC3031">
          <front>
            <title>Multiprotocol Label Switching Architecture</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="A. Viswanathan" initials="A." surname="Viswanathan"/>
            <author fullname="R. Callon" initials="R." surname="Callon"/>
            <date month="January" year="2001"/>
            <abstract>
              <t indent="0">This document specifies the architecture for Multiprotocol Label Switching (MPLS). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3031"/>
          <seriesInfo name="DOI" value="10.17487/RFC3031"/>
        </reference>
        <reference anchor="RFC3032" target="https://www.rfc-editor.org/info/rfc3032" quoteTitle="true" derivedAnchor="RFC3032">
          <front>
            <title>MPLS Label Stack Encoding</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="D. Tappan" initials="D." surname="Tappan"/>
            <author fullname="G. Fedorkow" initials="G." surname="Fedorkow"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="D. Farinacci" initials="D." surname="Farinacci"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="A. Conta" initials="A." surname="Conta"/>
            <date month="January" year="2001"/>
            <abstract>
              <t indent="0">This document specifies the encoding to be used by an LSR in order to transmit labeled packets on Point-to-Point Protocol (PPP) data links, on LAN data links, and possibly on other data links as well. This document also specifies rules and procedures for processing the various fields of the label stack encoding. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3032"/>
          <seriesInfo name="DOI" value="10.17487/RFC3032"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9017" target="https://www.rfc-editor.org/info/rfc9017" quoteTitle="true" derivedAnchor="RFC9017">
          <front>
            <title>Special-Purpose Label Terminology</title>
            <author fullname="L. Andersson" initials="L." surname="Andersson"/>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="April" year="2021"/>
            <abstract>
              <t indent="0">This document discusses and recommends terminology that may be used when MPLS Special-Purpose Labels (SPLs) are specified and documented.</t>
              <t indent="0">This document applies that terminology change to the relevant IANA registry and also clarifies the use of the Entropy Label Indicator (7) when immediately preceded by the Extension Label (15).</t>
              <t indent="0">This document updates RFCs 3032 and 7274.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9017"/>
          <seriesInfo name="DOI" value="10.17487/RFC9017"/>
        </reference>
      </references>
      <references pn="section-10.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-ippm-alt-mark-deployment" target="https://datatracker.ietf.org/doc/html/draft-ietf-ippm-alt-mark-deployment-02" quoteTitle="true" derivedAnchor="ALT-MARK">
          <front>
            <title>Alternate Marking Deployment Framework</title>
            <author initials="G." surname="Fioccola" fullname="Giuseppe Fioccola">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author initials="K." surname="Zhu" fullname="Keyi Zhu">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author initials="T." surname="Graf" fullname="Thomas Graf">
              <organization showOnFrontPage="true">Swisscom</organization>
            </author>
            <author initials="M." surname="Nilo" fullname="Massimo Nilo">
              <organization showOnFrontPage="true">Telecom Italia</organization>
            </author>
            <author initials="L." surname="Zhang" fullname="Lin Zhang">
              <organization showOnFrontPage="true">China Mobile</organization>
            </author>
            <date month="October" day="9" year="2024"/>
            <abstract>
              <t indent="0">   This document provides a framework for Alternate Marking deployment
   and includes considerations and guidance for the deployment of the
   methodology.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ippm-alt-mark-deployment-02"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC4026" target="https://www.rfc-editor.org/info/rfc4026" quoteTitle="true" derivedAnchor="RFC4026">
          <front>
            <title>Provider Provisioned Virtual Private Network (VPN) Terminology</title>
            <author fullname="L. Andersson" initials="L." surname="Andersson"/>
            <author fullname="T. Madsen" initials="T." surname="Madsen"/>
            <date month="March" year="2005"/>
            <abstract>
              <t indent="0">The widespread interest in provider-provisioned Virtual Private Network (VPN) solutions lead to memos proposing different and overlapping solutions. The IETF working groups (first Provider Provisioned VPNs and later Layer 2 VPNs and Layer 3 VPNs) have discussed these proposals and documented specifications. This has lead to the development of a partially new set of concepts used to describe the set of VPN services.</t>
              <t indent="0">To a certain extent, more than one term covers the same concept, and sometimes the same term covers more than one concept. This document seeks to make the terminology in the area clearer and more intuitive. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4026"/>
          <seriesInfo name="DOI" value="10.17487/RFC4026"/>
        </reference>
        <reference anchor="RFC6790" target="https://www.rfc-editor.org/info/rfc6790" quoteTitle="true" derivedAnchor="RFC6790">
          <front>
            <title>The Use of Entropy Labels in MPLS Forwarding</title>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="S. Amante" initials="S." surname="Amante"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="L. Yong" initials="L." surname="Yong"/>
            <date month="November" year="2012"/>
            <abstract>
              <t indent="0">Load balancing is a powerful tool for engineering traffic across a network. This memo suggests ways of improving load balancing across MPLS networks using the concept of "entropy labels". It defines the concept, describes why entropy labels are useful, enumerates properties of entropy labels that allow maximal benefit, and shows how they can be signaled and used for various applications. This document updates RFCs 3031, 3107, 3209, and 5036. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6790"/>
          <seriesInfo name="DOI" value="10.17487/RFC6790"/>
        </reference>
        <reference anchor="RFC7011" target="https://www.rfc-editor.org/info/rfc7011" quoteTitle="true" derivedAnchor="RFC7011">
          <front>
            <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information</title>
            <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
            <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell"/>
            <author fullname="P. Aitken" initials="P." surname="Aitken"/>
            <date month="September" year="2013"/>
            <abstract>
              <t indent="0">This document specifies the IP Flow Information Export (IPFIX) protocol, which serves as a means for transmitting Traffic Flow information over the network. In order to transmit Traffic Flow information from an Exporting Process to a Collecting Process, a common representation of flow data and a standard means of communicating them are required. This document describes how the IPFIX Data and Template Records are carried over a number of transport protocols from an IPFIX Exporting Process to an IPFIX Collecting Process. This document obsoletes RFC 5101.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="77"/>
          <seriesInfo name="RFC" value="7011"/>
          <seriesInfo name="DOI" value="10.17487/RFC7011"/>
        </reference>
        <reference anchor="RFC8372" target="https://www.rfc-editor.org/info/rfc8372" quoteTitle="true" derivedAnchor="RFC8372">
          <front>
            <title>MPLS Flow Identification Considerations</title>
            <author fullname="S. Bryant" initials="S." surname="Bryant"/>
            <author fullname="C. Pignataro" initials="C." surname="Pignataro"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <author fullname="G. Mirsky" initials="G." surname="Mirsky"/>
            <date month="May" year="2018"/>
            <abstract>
              <t indent="0">This document discusses aspects to consider when developing a solution for MPLS flow identification. The key application that needs this solution is in-band performance monitoring of MPLS flows when MPLS is used to encapsulate user data packets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8372"/>
          <seriesInfo name="DOI" value="10.17487/RFC8372"/>
        </reference>
        <reference anchor="RFC8662" target="https://www.rfc-editor.org/info/rfc8662" quoteTitle="true" derivedAnchor="RFC8662">
          <front>
            <title>Entropy Label for Source Packet Routing in Networking (SPRING) Tunnels</title>
            <author fullname="S. Kini" initials="S." surname="Kini"/>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <date month="December" year="2019"/>
            <abstract>
              <t indent="0">Segment Routing (SR) leverages the source-routing paradigm. A node steers a packet through an ordered list of instructions, called segments. Segment Routing can be applied to the Multiprotocol Label Switching (MPLS) data plane. Entropy labels (ELs) are used in MPLS to improve load-balancing. This document examines and describes how ELs are to be applied to Segment Routing MPLS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8662"/>
          <seriesInfo name="DOI" value="10.17487/RFC8662"/>
        </reference>
        <reference anchor="RFC8957" target="https://www.rfc-editor.org/info/rfc8957" quoteTitle="true" derivedAnchor="RFC8957">
          <front>
            <title>Synonymous Flow Label Framework</title>
            <author fullname="S. Bryant" initials="S." surname="Bryant"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <author fullname="S. Sivabalan" initials="S." surname="Sivabalan"/>
            <author fullname="G. Mirsky" initials="G." surname="Mirsky"/>
            <date month="January" year="2021"/>
            <abstract>
              <t indent="0">RFC 8372 ("MPLS Flow Identification Considerations") describes the requirement for introducing flow identities within the MPLS architecture. This document describes a method of accomplishing this by using a technique called "Synonymous Flow Labels" in which labels that mimic the behavior of other labels provide the identification service. These identifiers can be used to trigger per-flow operations on the packet at the receiving label switching router.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8957"/>
          <seriesInfo name="DOI" value="10.17487/RFC8957"/>
        </reference>
        <reference anchor="RFC9341" target="https://www.rfc-editor.org/info/rfc9341" quoteTitle="true" derivedAnchor="RFC9341">
          <front>
            <title>Alternate-Marking Method</title>
            <author fullname="G. Fioccola" initials="G." role="editor" surname="Fioccola"/>
            <author fullname="M. Cociglio" initials="M." surname="Cociglio"/>
            <author fullname="G. Mirsky" initials="G." surname="Mirsky"/>
            <author fullname="T. Mizrahi" initials="T." surname="Mizrahi"/>
            <author fullname="T. Zhou" initials="T." surname="Zhou"/>
            <date month="December" year="2022"/>
            <abstract>
              <t indent="0">This document describes the Alternate-Marking technique to perform packet loss, delay, and jitter measurements on live traffic. This technology can be applied in various situations and for different protocols. According to the classification defined in RFC 7799, it could be considered Passive or Hybrid depending on the application. This document obsoletes RFC 8321.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9341"/>
          <seriesInfo name="DOI" value="10.17487/RFC9341"/>
        </reference>
        <reference anchor="RFC9613" target="https://www.rfc-editor.org/info/rfc9613" quoteTitle="true" derivedAnchor="RFC9613">
          <front>
            <title>Requirements for Solutions that Support MPLS Network Actions (MNAs)</title>
            <author fullname="M. Bocci" initials="M." role="editor" surname="Bocci"/>
            <author fullname="S. Bryant" initials="S." surname="Bryant"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <date month="August" year="2024"/>
            <abstract>
              <t indent="0">This document specifies requirements for the development of MPLS Network Actions (MNAs) that affect the forwarding or other processing of MPLS packets. These requirements are informed by a number of proposals for additions to the MPLS information in the labeled packet to allow such actions to be performed, either by a transit or terminating Label Switching Router (i.e., the Label Edge Router - LER).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9613"/>
          <seriesInfo name="DOI" value="10.17487/RFC9613"/>
        </reference>
      </references>
    </references>
    <section anchor="acknowledgements" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1"> The authors acknowledge <contact fullname="Loa       Andersson"/>, <contact fullname="Tarek Saad"/>, <contact fullname="Stewart Bryant"/>, <contact fullname="Rakesh Gandhi"/>,
      <contact fullname="Greg Mirsky"/>, <contact fullname="Aihua Liu"/>,
      <contact fullname="Shuangping Zhan"/>, <contact fullname="Ming Ke"/>,
      <contact fullname="Wei He"/>, <contact fullname="Ximing Dong"/>,
      <contact fullname="Darren Dukes"/>, <contact fullname="Tony Li"/>,
      <contact fullname="James Guichard"/>, <contact fullname="Daniele       Ceccarelli"/>, <contact fullname="Éric Vyncke"/>, <contact fullname="John Scudder"/>, <contact fullname="Gunter van de Velde"/>,
      <contact fullname="Roman Danyliw"/>, <contact fullname="Warren       Kumari"/>, <contact fullname="Murray Kucherawy"/>, <contact fullname="Deb Cooley"/>, <contact fullname="Zaheduzzaman Sarker"/>, and
      <contact fullname="Deborah Brungard"/> for their careful review and
      very helpful comments.</t>
      <t indent="0" pn="section-appendix.a-2"> They also acknowledge <contact fullname="Italo Busi"/> and
      <contact fullname="Chandrasekar Ramachandran"/> for their insightful
      MPLS-RT review and constructive comments.</t>
      <t indent="0" pn="section-appendix.a-3"> Additionally, the authors thank <contact fullname="Dhruv Dhody"/> for the English grammar review.</t>
    </section>
    <section anchor="contrib" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact fullname="Minxue Wang">
        <organization showOnFrontPage="true">China Mobile</organization>
        <address>
          <email>wangminxue@chinamobile.com</email>
        </address>
      </contact>
      <contact fullname="Wen Ye">
        <organization showOnFrontPage="true">China Mobile</organization>
        <address>
          <email>yewen@chinamobile.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Weiqiang Cheng" initials="W" surname="Cheng" role="editor">
        <organization showOnFrontPage="true">China Mobile</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>chengweiqiang@chinamobile.com</email>
        </address>
      </author>
      <author fullname="Xiao Min" initials="X" surname="Min" role="editor">
        <organization showOnFrontPage="true">ZTE Corp.</organization>
        <address>
          <postal>
            <city>Nanjing</city>
            <country>China</country>
          </postal>
          <email>xiao.min2@zte.com.cn</email>
        </address>
      </author>
      <author fullname="Tianran Zhou" initials="T" surname="Zhou">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <phone/>
          <email>zhoutianran@huawei.com</email>
        </address>
      </author>
      <author fullname="Jinyou Dai" initials="J" surname="Dai">
        <organization showOnFrontPage="true">FiberHome</organization>
        <address>
          <postal>
            <city>Wuhan</city>
            <country>China</country>
          </postal>
          <email>djy@fiberhome.com</email>
        </address>
      </author>
      <author fullname="Yoav Peleg" initials="Y" surname="Peleg">
        <organization showOnFrontPage="true">Broadcom</organization>
        <address>
          <postal>
            <country>United States of America</country>
          </postal>
          <email>yoav.peleg@broadcom.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
