<?xml version='1.0'?>   
    <!DOCTYPE rfc SYSTEM 'rfc2629.dtd' [ 
    	<!ENTITY rfc2629 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml'> 
		]>
<?rfc strict="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ietf-pce-entropy-label-position-04"
     ipr="trust200902">
  <!-- ***** FRONT MATTER ***** -->
  <front>
    <title abbrev="PCEP for Entropy Label Positions">Path Computation Element Communication Protocol (PCEP) Extension for SR-MPLS Entropy Label Positions</title>
	
	
	 <author fullname="Quan Xiong" initials="Q" surname="Xiong">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street>No.6 Huashi Park Rd</street>
          
          <city>Wuhan</city>
          
          <region>Hubei</region>
  
          <code>430223</code>

          <country>China</country>
        </postal>

        <phone></phone>

        <email>xiong.quan@zte.com.cn</email>
      </address>
    </author>
	
	<author fullname="Shaofu Peng" initials="S" surname="Peng">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street>No.50 Software Avenue</street>
          
          <city>Nanjing</city>
          
          <region>Jiangsu</region>
  
          <code>210012</code>

          <country>China</country>
        </postal>

        <phone></phone>

        <email>peng.shaofu@zte.com.cn</email>
      </address>
    </author>
	
	
	<author fullname="Fengwei Qin" initials="F" surname="Qin">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street></street>
          
          <city>Beijing</city>
          
          <region></region>
  
          <code></code>

          <country>China</country>
        </postal>

        <phone></phone>

        <email>qinfengwei@chinamobile.com</email>
      </address>
    </author>
	
	<author fullname="Junfeng Zhao" initials="J" surname="Zhao">
      <organization>CAICT</organization>

      <address>
        <postal>
          <street></street>
          
          <city>Beijing</city>
          
          <region></region>
  
          <code></code>

          <country>China</country>
        </postal>

        <phone></phone>

        <email>zhaojunfeng@caict.ac.cn</email>
      </address>
    </author>
	
    <date year="2025"/>	
    <area>Routing</area>
    <workgroup>PCE</workgroup>
    <keyword></keyword>
    <abstract>
	 <t>Entropy label (EL) can be used in the SR-MPLS data plane to improve 
	 load-balancing and multiple Entropy Label Indicator (ELI)/EL pairs may
	 be inserted in the SR-MPLS label stack as per RFC8662.</t>
	
     <t>This document proposes a set of extensions for Path Computation Element 
	 Communication Protocol (PCEP) to configure the Entropy Label Positions (ELP) 
	 for SR-MPLS networks.</t>
    </abstract>
  </front>

  <!-- ***** MIDDLE MATTER ***** -->

  <middle>
  
    <section title="Introduction">
	
	<t><xref target="RFC5440"></xref> describes the Path Computation Element 
    Computation Protocol (PCEP) which is used between a Path Computation Element (PCE) 
    and a Path Computation Client (PCC) (or other PCE) to enable computation 
    of Multi-protocol Label Switching (MPLS) for Traffic Engineering Label 
    Switched Path (TE LSP). PCEP Extensions for the Stateful PCE Model <xref target="RFC8231"></xref> 
	describes a set of extensions to PCEP to enable active control of MPLS-TE and 
	Generalized MPLS (GMPLS) tunnels. <xref target="RFC8281"></xref> describes the setup and teardown of 
    PCE-initiated LSPs under the active stateful PCE model, without the need 
    for local configuration on the PCC, thus allowing for dynamic centralized
    control of a network.</t>
	
	<t>Segment Routing (SR) leverages the source routing paradigm. Segment 
	Routing can be instantiated on MPLS data plane which is referred to as 
	SR-MPLS <xref target="RFC8660"></xref>. SR-MPLS leverages the 
	MPLS label stack to construct the SR path. PCEP Extensions for Segment 
	Routing <xref target="RFC8664"></xref> specifies extensions to the PCEP 
	that allow a stateful PCE to compute and initiate TE paths, as well as
	a PCC to request a path subject to certain constraint(s) and optimization
	criteria in SR networks.</t>
	
	<t>Entropy label (EL) <xref target="RFC6790"></xref> is a technique used in the MPLS data plane 
	to improve load-balancing. Entropy Label Indicator (ELI) can be
	immediately preceding an EL in the MPLS label stack. The idea behind the EL
	is that the ingress router computes a hash based on several fields from 
	a given packet and places the result in an additional label, named 
	"entropy label". Then, this entropy label can be used as part of the hash 
	keys used by an Label Switch Router (LSR). Using the entropy label as 
	part of the hash keys reduces the need for deep packet inspection in 
	the LSR while keeping a good level of entropy in the load-balancing.  
	When the entropy label is used, the keys used in the hashing functions 
	are still a local configuration matter and an LSR may use solely the 
	entropy label or a combination of multiple fields from the incoming packet.</t>
	
	<t><xref target="RFC8662"></xref> proposes to use entropy labels for 
	SR-MPLS networks and multiple &lt;ELI, EL&gt; pairs SHOULD be inserted 
	in the SR-MPLS label stack. The ingress node may decide the number and
    place of the ELI/ELs which need to be inserted into the label stack. 
	The Entropy Label Position (ELP) is used to indicate the positions of
	the ELI/ELs which need to be inserted into the label stack as per 
	<xref target="I-D.ietf-idr-bgp-srmpls-elp"></xref>.</t>
	
	<t>In some cases, the controller(e.g. PCE) could be used to perform 
	the TE path computation as well as ELP information which is useful for 
	inter-domain scenarios. This document proposes a set of extensions for 
	PCEP to configure the ELP information for SR-MPLS networks.</t>
  
   </section>

    <section title="Conventions used in this document">	 	
    <section title="Terminology">
	<t>The terminology is defined as <xref target="RFC5440"></xref>, <xref target="RFC6790"></xref>, <xref target="RFC8664"></xref>
	and <xref target="RFC8662"></xref>.</t>
   </section>
   
   <section title="Requirements Language">
    <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"></xref> <xref target="RFC8174"></xref> when,
    and only when, they appear in all capitals, as shown here.</t>
    </section>
	
   </section>
   <section title="Entropy Labels in SR-MPLS Scenario with PCE ">
   
   <t><xref target="RFC8662"></xref> proposes to use entropy labels 
	for SR-MPLS networks. The Entropy Readable Label Depth (ERLD) is defined 
	as the number of labels which means that the router will perform 
	load-balancing using the ELI/EL in <xref target="RFC8662"></xref> section 4.</t>
	
	<t>As described in <xref target="RFC8662"></xref> section 7.2.1, the ELRD value
	is an important consideration when inserting ELI/EL and the minimum ELRD
	must be evaluated for each node along a computed path. This necessary step 
	adds additional complexity in the ELI/EL insertion process and it may not 
	be feasible for an ingress router to compute the appropriate ERLD for each
	node in the path, since a SR-MPLS path may contain segments the ingress 
	router can resolve such as inter-domain scenarios. As the Figure 1 shown, in 
	SR-MPLS inter-domain scenario, the ingress node of the first domain could 
	not get the ERLD information of other nodes of other domains.</t>
   
   
   <figure title="Entropy Labels in SR-MPLS Inter-Domain Scenario" align="center">
         <artwork align="center"><![CDATA[
 

          +-----+                +-----+                 +-----+              
          |PCE-1|                |PCE-2|                 |PCE-3|            
          +--+--+                +--+--+                 +--+--+              
             |                      |                       |
    .........+..........   .........+..........    .........+...........
    .                  .   .                  .    .                   .
    .+---+       +---+ .   . +---+      +---+ .    .+---+      +----+  .
    .| A |-------| B |------ | C |------| X |-------| Y |------| Z  |  .
    .+---+       +---+ .   . +---+      +---+ .    .+---+      +----+  .
    .    SR-AS 1       .   .   SR-AS 2        .    .     SR-AS 3       .
    ....................   ....................    .....................			
	
	   ]]></artwork>
  <postamble></postamble>
 </figure>	
 
    <t>When computing the ELI/EL positions, the PCE MUST take into 
	consideration Maximum SID Depth (MSD) imposition. The PCEs could
	get the information of all nodes such as MSD (e.g. Base MPLS 
	Imposition MSD (BMI-MSD) or ERLD-MSD) through Interior Gateway 
	Protocol (IGP) and can compute the minimum ERLD along the 
	end-to-end path. IS-IS <xref target="RFC8491"></xref> and OSPF <xref target="RFC8476"></xref> 
	provide examples of advertisement of the MSD. The ERLD value 
	can be collected via IS-IS <xref target="RFC9088"></xref>, and OSPF <xref target="RFC9089"></xref>. 
	Moreover, the PCEs also can compute the ELP information including 
	the number and the places of the ELI/ELs. Then the ingress 
	nodes MAY be required to support the capabilities of inserting 
	multiple ELI/ELs and need to advertise the capabilities to the PCEs. </t>
	
	<t>This document proposes the extensions for PCE to perform the 
	computation of the end-to-end path as well as the positions of 
	entropy labels in SR-MPLS networks. The ingress nodes can directly
	insert the ELI/ELs based on the positions.</t>
   
   </section>
   <section title="PCEP Extensions">
   
   <section title="The OPEN Object">
   <t>As defined in <xref target="RFC8664"></xref>, PCEP speakers use SR 
   PCE Capability sub-TLV to exchange information about their SR capability
   when PST=1 in the PST List of the PATH-SETUP-TYPE-CAPABILITY TLV carried 
   in Open object. This document defines a new flag (E-flag) for SR PCE 
   Capability sub-TLV.</t>
 
   <t> E (ELP Configuration is supported) : A PCE sets this flag bit
   to 1 carried in Open message to indicate that it supports the computation
   of SR path with ELP information. A PCC sets this flag to 1 to indicate 
   that it supports the capability of inserting multiple ELI/EL pairs and 
   and supports the results of SR path with ELP from PCE.</t>
   </section>
    
  <section title="The LSP-EXTENDED-FLAG TLV">
  
  <t>The LSP Object is defined in Section 7.3 of <xref target="RFC8231"></xref>.  
   This document defines a new flag (E-flag) for the LSP-EXTENDED-FLAG 
   TLV carried in LSP Object as defined in <xref target="RFC9357"></xref>. </t>
   
   <t> E (Request for ELP Configuration) : If the bit is set to 1, it 
   indicates that the PCC requests PCE to compute the SR path with ELP 
   information. The PCE SHOULD set this bit to 1 to indicate that 
   the ELP information is included by PCE and encoded in the Path 
   Computation Reply (PCRep) message as per <xref target="RFC5440"></xref>. And in a stateful
   PCE model, it also CAN be carried in Path Computation Update 
   Request (PCUpd) message as per <xref target="RFC8231"></xref> or LSP Initiate Request 
   (PCInitiate) message as per <xref target="RFC8281"></xref>.</t>
   
   </section>

  
   <section title="The SR-ERO Object">
   
    <t>SR-ERO subobject is used for SR-TE path which consists of one or more
	SIDs as defined in <xref target="RFC8664"></xref>. This document defined 
	a new flag (E-flag) for the SR-ERO subobject.</t>

    <t> E (ELP Configuration) : If this flag is set, the PCC SHOULD
	insert &lt;ELI, EL&gt; into the position after this SR-ERO subobject, 
	otherwise it SHOULD not insert &lt;ELI, EL&gt; after this segment.</t>

 
   </section>
   
   </section>
   
   <section title="Operational Example">
   
   <t>A PCC can request the computation of SR path and a PCE may 
   respond with PCRep message. And the SR path can also be initiated 
   by PCE with PCInitiate or PCUpd message in stateful PCE mode. 
   When the E bit in LSP object is set to 1 within the message, 
   it indicates to request the ELP configuration with the SR path.
   The SR path being received by PCC encoded in SR-ERO, 
   for example, &lt;S1, S2, S3, S4, S5, S6&gt;, especially S3 and S6
   with E-flag set. It indicates that two &lt;ELI, EL&gt; pairs SHOULD
   be inserted into the label stack of the SR forwarding entry, 
   respectively after the label for S3 and label for S6. With EL information, 
   the label stack for SR-MPLS would be &lt;label1, label2, label3, ELI, EL, 
   label4, label5, label6, ELI, EL&gt;.</t>
   </section>
   
    <section title="Implementation Status">

   <t>[NOTE TO RFC EDITOR : This whole section and the reference to RFC
   7942 is to be removed before publication as an RFC]</t>
   
  <t> This section records the status of known implementations of the
   protocol defined by this specification at the time of posting of this
   Internet-Draft, and is based on a proposal described in [RFC7942].
   The description of implementations in this section is intended to
   assist the IETF in its decision processes in progressing drafts to
   RFCs.  Please note that the listing of any individual implementation
   here does not imply endorsement by the IETF.  Furthermore, no effort
   has been spent to verify the information presented here that was
   supplied by IETF contributors.  This is not intended as, and must not
   be construed to be, a catalog of available implementations or their
   features.  Readers are advised to note that other implementations may
   exist.</t>

   <t>According to [RFC7942], "this will allow reviewers and working groups
   to assign due consideration to documents that have the benefit of
   running code, which may serve as evidence of valuable experimentation
   and feedback that have made the implemented protocols more mature.
   It is up to the individual working groups to use this information as
   they see fit".</t>

   <t>At the time of posting this version of this document, there are no
   known implementations of this mechanism.  It is believed that some
   vendor are considering prototype implementations, but these plans are
   too vague to make any further assertions.</t>
	
    </section> 
    
   <section title="Security Considerations">
    <t>This document defines a new E bit for entropy label, which do not 	
 	introduce any new security considerations beyond those already listed	
 	in <xref target="RFC9357"></xref>, <xref target="RFC8662"></xref> 
	and <xref target="RFC8664"></xref>.</t>
   </section>
	
	<section anchor="IANA" title="IANA Considerations">
	<section title="New SR PCE Capability Flag Registry">
	
	<t>SR PCE Capability TLV is defined in <xref target="RFC8664"></xref>,
    and the registry to manage the Flag field of the SR PCE Capability
    TLV is requested in <xref target="RFC8664"></xref>. IANA is requested to 
    make allocations from the registry, as follows: </t>
	
     <texttable anchor="table1">
     <ttcol align = 'center'> Value </ttcol>
     <ttcol align = 'center'> Name </ttcol>
     <ttcol align = 'center'> Reference </ttcol>
     <c> TBD1 </c>
     <c> ELP Configuration is supported (E) </c>
     <c>[this document] </c>
     </texttable>
     </section>
	 
	 <section title="New LSP-EXTENDED-FLAG Flag Registry">
	
	<t><xref target="RFC9357"></xref> defines the LSP-EXTENDED-FLAG TLV.
	IANA is requested to make allocations from the Flag field registry, as follows: </t>
	
     <texttable anchor="table2">
     <ttcol align = 'center'> Value </ttcol>
     <ttcol align = 'center'> Name </ttcol>
     <ttcol align = 'center'> Reference </ttcol>
     <c> TBD2 </c>
     <c> Request for ELP Configuration (E) </c>
     <c>[this document] </c>
     </texttable>
     </section>
	 
	 <section title="New SR-ERO Flag Registry">
	
	<t>SR-ERO subobject is defined in <xref target="RFC8664"></xref>,
    and the registry to manage the Flag field of SR-ERO is requested 
	in <xref target="RFC8664"></xref>. IANA is requested to make 
	allocations from the registry, as follows: </t>
	
     <texttable anchor="table3">
     <ttcol align = 'center'> Value </ttcol>
     <ttcol align = 'center'> Name </ttcol>
     <ttcol align = 'center'> Reference </ttcol>
     <c> TBD3 </c>
     <c> ELP Configuration (E) </c>
     <c>[this document] </c>
     </texttable>
     </section>
	 
	 
    </section>
	
    <section title="Manageability Considerations">

   <t>All manageability requirements and considerations listed in
   [RFC5440], [RFC8231], and [RFC8664] apply to PCEP protocol extensions
   defined in this document.  In addition, requirements and
   considerations listed in this section also should be applied.</t>

   <section title="Control of Function and Policy">
   
   <t>A PCEP implementation supporting this document SHOULD allow configuration
   of the capability to support the entropy label position in the stateful 
   PCEP message exchange. </t>
   
   <t>A PCC implementation SHOULD allow the operator to configure the
   policy the PCC needs to apply when configuring the entropy label position.</t>
   </section>

   <section title="Information and Data Models">

   <t>A PCEP implementation supporting this document SHOULD allow the operator
   to view the entropy label position capability defined in this document.</t> 
   
   <t>The PCEP YANG module is defined in [I-D.ietf-pce-pcep-yang].  In
   future, this YANG module should be extended or augmented to provide
   the following additional information relating to entropy label position.</t>
   </section>

   <section title="Liveness Detection and Monitoring">

   <t>Mechanisms defined in this document do not imply any new liveness
   detection and monitoring requirements in addition to those already
   listed in [RFC5440].</t>
   </section>

   <section title="Verify Correct Operations">

   <t>Mechanisms defined in this document do not imply any new operation
   verification requirements in addition to those already listed in
   [RFC5440], [RFC8231], and [RFC8664] .</t>
    </section>

   <section title="Requirements On Other Protocols">

   <t>Mechanisms defined in this document do not imply any new requirements
   on other protocols.</t>
    </section>

   <section title="Impact On Network Operations">
   
   <t>Mechanisms defined in this document do not have any impact 
   on network operations in addition to those already listed in
   [RFC5440], [RFC8231], and [RFC8664].</t>
    </section>
    </section>

	
    <section anchor="Acknowledgements" title="Acknowledgements">
    <t>The authors would like to thank Stephane Litkowski, Dhruv Dhody,
	Tarek Saad, Zhenbin Li, Jeff Tantsura, Andrew Stone, Xuesong Geng, 
	Ran Chen, Gyan Mishra, Weiqiang Cheng and Samuel Sidor for their review, 
	suggestions and comments to this document.</t>
	  
    </section>
	
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
  
    <references title="Normative References">
    <?rfc include='reference.RFC.2119'?>
	<?rfc include='reference.RFC.5440'?>
	<?rfc include='reference.RFC.8174'?>
	<?rfc include='reference.RFC.8231'?>
    <?rfc include='reference.RFC.8281'?>
	<?rfc include='reference.RFC.6790'?>
	<?rfc include='reference.RFC.8660'?>
	<?rfc include='reference.RFC.8664'?>
    <?rfc include='reference.RFC.8662'?>
    <?rfc include='reference.RFC.8476'?>
	<?rfc include='reference.RFC.8491'?>
	<?rfc include='reference.RFC.9088'?>
	<?rfc include='reference.RFC.9089'?>
	<?rfc include='reference.RFC.9357'?>
    </references>
    <references title="Informative References">
	<?rfc include='reference.I-D.ietf-idr-bgp-srmpls-elp'?>
    </references>
        
  </back>
</rfc>
