<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<rfc
      xmlns:xi="http://www.w3.org/2001/XInclude"
      category="std"
      docName="draft-liu-pce-srv6-msd-consideration-00"
      ipr="trust200902"
      obsoletes=""
      updates="RFC9603"
      submissionType="IETF"
      xml:lang="en"
      tocInclude="true"
      tocDepth="4"
      symRefs="true"
      sortRefs="true"
      version="3">

 <!-- ***** FRONT MATTER ***** -->

 <front>
   <title abbrev="SRv6 MSDs">Considerations for SRv6 MSD Limitation in PCEP</title>
    <seriesInfo name="Internet-Draft" value="draft-liu-pce-srv6-msd-consideration-00"/>
   <author fullname="Yao Liu" surname="Liu">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city></city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <phone></phone>
        <email>liu.yao71@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	
    <date year="2025"/>

   <!-- Meta-data Declarations -->

   <area>Routing</area>
    <workgroup>PCE</workgroup>
    <!-- WG name at the upperleft corner of the doc,
        IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
        which is used by the RFC Editor as a nod to the history of the IETF. -->

   <keyword>PCEP</keyword>
   <keyword>SRv6 MSD</keyword>
    <!-- Keywords will be incorporated into HTML output
        files in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor, the
        keywords will be used for the search engine. -->

   <abstract>
      <t>This document analyzes the impact of different SRv6 MSDs when PCE sends SR-TE paths to the PCE. And it updates the MSD restrictions in RFC9603 based on the analysis. This document also specifies a procedure for optimizing the number of SIDs in an SRv6-TE path that PCE can compute when the reduced SRH mode is used.</t>
    </abstract>
  </front>
  <middle>
  
    <section numbered="true" toc="default">
      <name>Introduction</name>  

<t>As defined in <xref target="RFC8402" format="default"></xref>, Segment Routing (SR) architecture allows the source node to steer a packet through a path indicated by an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based, and it can have a semantic local to an SR node or global within an SR domain.</t>


<t><xref target="RFC8664" format="default"></xref> specifies PCEP extensions for supporting an SR-TE LSP for the MPLS data plane. <xref target="RFC9603" format="default"></xref> extends <xref target="RFC8664" format="default"></xref> to support SR for the IPv6 data plane.</t>


<t>The concept of Maximum SID Depth (MSD)<xref target="RFC8491" format="default"></xref> is first introduced for SR-MPLS to express the number of SIDs supported by a node or a link on a node, and the Base MPLS Imposition MSD is defined to indicate the number of MPLS labels that can be imposed by a router. And the concept is further extended for SRv6 with more types of MSD defined in <xref target="RFC9352" format="default"></xref>. </t> 

<t>MSD may become one of the limitations that need to be considered when computing an SR-TE path for PCE. For SR-MPLS, <xref target="RFC8664" format="default"></xref> section5.1 specified that once an SR-capable PCEP session is established with a non-zero MSD value, the corresponding PCE MUST NOT send SR-TE paths with a number of SIDs exceeding that MSD value. Similarly, for SRv6, a PCE MUST NOT send SRv6 paths that exceed the SRv6 MSD capabilities of the PCC as specified in <xref target="RFC9603" format="default"></xref> section 5.1.</t>

<t>However, not all the SRv6 MSDs defined in <xref target="RFC9352" format="default"></xref> are about the limitation/capability of the head-end node(i.e, PCC), thus some of these SRv6 MSDs are not always necessary restrictions to be followed when sending an SRv6 path to the PCC.</t> 

<t>Besides, when a reduced SRH<xref target="RFC8754" format="default"></xref> is used, a reduced SRH does not contain the first segment of the related SR Policy, so  the limitation of MSD could be loosen to allow one more SID in the SID list that is sent by the PCE.</t>  


<t>This document analyzes the impact of different SRv6 MSDs when PCE sends SR-TE paths to the PCE. And it updates the MSD restrictions in <xref target="RFC9603" format="default"></xref> based on the analysis. This document also specifies a procedure for optimizing the number of SIDs in an SRv6-TE path that PCE can compute when the reduced SRH mode is used.</t>	  	
	  </section>


<section numbered="true" toc="default">
        <name>Terminology</name>	  
<t>The following terminology is used in this document:</t>
<t>MSD: Maximum SID Depth</t>
<t>PCC: Path Computation Client</t>
<t>PCE: Path Computation Element</t>
<t>PCEP: Path Computation Element Communication Protocol</t>
<t>SID: Segment Identifier</t>
<t>SR: Segment Routing</t>
<t>SR-TE: Segment Routing Traffic Engineering</t>
	  
<section 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> <xref target="RFC8174" format="default"></xref> when, and only when, they appear in all capitals, as shown here.</t>
      </section>

</section>


	<section numbered="true" toc="default">
	<name>SRv6 MSDs</name>
<t><xref target="RFC9603" format="default"></xref> defines the SRv6-PCE-CAPABILITY sub-TLV under the PATH-SETUP-TYPE-CAPABILITY TLV in the OPEN object. PCEP speakers use this sub-TLV to exchange information about their SRv6 capability. And the SRv6 MSD information advertised via SRv6-PCE-Capability sub-TLV conveys the SRv6 capabilities of the PCEP speaker.</t>

<t>As in <xref target="RFC9603" format="default"></xref> section 4.1.1, optional (MSD-Type,MSD-Value) pairs are carried in the SRv6-PCE-CAPABILITY sub-TLV, the SRv6 MSD types are as per <xref target="RFC9352" format="default"></xref>, i.e, Maximum Segments Left MSD, Maximum End Pop MSD, Maximum H.Encaps MSD, Maximum End D MSD:</t>

<ul spacing="normal">
		<li>For Maximum H.Encaps MSD, which indicates the maximum number of SIDs that can be added to the segment list of an SRH as part of the "H.Encaps" behavior, if Maximum H.Encaps MSD is n, actually the PCE can send n+1 SIDs when reduced SRH is used.</li>
		<li>For Maximum Segments Left MSD, when reduced SRH is used, it is not affected since Maximum Segments Left MSD indicates the maximum value of the "Segments Left" field <xref target="RFC8754" format="default"></xref> in the SRH, and it is not related with whether the first SID is in the SRH, i.e, the segments Left is set to n-1 at the headend node(n is the number of elements in the SR Policy) regardless of reduced SRH is used.</li>
		<li>For Maximum End Pop MSD Type, it signals the maximum number of SIDs in the SRH to which the router can apply "Penultimate Segment Pop (PSP)" as the the penultimate SR Segment Endpoint Node or "Ultimate Segment Pop (USP) " as the ultimate SR Segment Endpoint Node, as defined in "Flavors" (Section 4.16 of <xref target="RFC8986" format="default"></xref>). So usually this limitation does not apply for the head-end node(acting as a PCC), unless the head-end nodes is also the penultimate or the ultimate node in the same SID-list.</li>
		<li>For Maximum End D MSD, it specifies the maximum number of SIDs present in an SRH when performing decapsulation(e.g, End.DX6, End.DT4, End.DT46, End with USD, and End.X with USD <xref target="RFC8986" format="default"></xref>). Similar with Maximum End Pop MSD, the head-end node of an SRv6 path normally would not perform decapsulation.</li>
		</ul>	
<t>To conclude, when appears in the SRv6-PCE-CAPABILITY sub-TLV, the Maximum End Pop MSD and Maximum End D MSD only indicates the limitation when the PCC node acts as the penultimate or ultimate SR Segment Endpoint Node. So the Maximum End Pop MSD or  Maximum End D MSD is not a "MUST" for PCE when sending the SRv6 path to PCC/ head-end node. And the limitation of Maximum H.Encaps MSD could be loosen when reduced SRH is used.</t>

</section>

	<section numbered="true" toc="default">
	<name>Updates to RFC9603</name>
	<t>section 5.1 of <xref target="RFC9603" format="default"></xref> specified that "A PCE MUST NOT send SRv6 paths that exceed the SRv6 MSD capabilities of the PCC."</t>
	<t>Based on the analysis in section 3. This document updates section 5.1 of RFC9603 to state that:</t>
	<t>A PCE MUST NOT send SRv6 paths that exceed the SRv6 Maximum H.Encaps MSD and Maximum Segments Left MSD capabilities of the PCC.</t>
	
	
</section>	
	
<section numbered="true" toc="default">
	<name>New Flag in SRv6-PCE-CAPABILITY sub-TLV</name>
	
<t>This section proposes an R-Flag (Reduced SRH for MSD consideration flag) in the SRv6-PCE-CAPABILITY sub-TLV defined in <xref target="RFC9603" format="default"></xref>. The bit position for the flag in the SRv6 Capability Flag Field registry is to be defined by IANA.</t>
<t>R-flag (Reduced SRH for MSD consideration flag) - 1 bit (Bit Position TBD1):</t>
<ul spacing="normal">
		<li>If set to 1, it indicates support for the R-flag by the PCEP peer.</li>
		</ul>
</section>
	
<section numbered="true" toc="default">
	<name>Operational Considerations</name>	
<t>When both the PCE and PCC have advertised support for the capability by setting the R-flag in their respective  SRv6-PCE-CAPABILITY sub-TLVs <xref target="RFC9603" format="default"></xref>, the PCE MUST NOT send SR-TE paths with a number of SIDs exceeding the (Maximum H.Encaps MSD+1) value.</t>
	</section> 

	


<section numbered="true" toc="default">
	<name>Security Considerations</name>
		
		<t>Security considerations in <xref target="RFC9603" format="default"></xref> apply to this document.</t>	
</section>	

<section numbered="true" toc="default">
	<name>IANA Considerations</name>
		<t>This document requests IANA to assign a R-Flag in the "SRv6 Capability Flag Field" registry.</t>
		
		  <artwork align="center" name=""><![CDATA[
  Bit     Description                         Reference
  --------------------------------------------------------
  TBD1     Reduced SRH for MSD consideration  [this document]
    

           ]]></artwork>		
	
	

	</section>



	
  </middle>
  <!--  *****BACK MATTER ***** -->

 <back>

   <references>
      <name>References</name>
      <references>
        <name>Normative References</name>

		<?rfc include="reference.RFC.2119.xml"?>
		<?rfc include="reference.RFC.8174.xml"?>		
		<?rfc include="reference.RFC.9603.xml"?>
	  
      </references>
      <references>
        <name>Informative References</name>
	<?rfc include="reference.RFC.8402.xml"?>
	<?rfc include="reference.RFC.8664.xml"?>
	<?rfc include="reference.RFC.8491.xml"?>
	<?rfc include="reference.RFC.9352.xml"?>
	<?rfc include="reference.RFC.8754.xml"?>
	<?rfc include="reference.RFC.8986.xml"?>	
      </references>
    </references>


 </back>
</rfc>
