<?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-lsp-extended-flags-03"
     ipr="trust200902">
  <front>
    <title abbrev="LSP Object Flag Extn">Label Switched Path (LSP) Object Flag Extension of Stateful PCE</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>
    
   <date year="2022"/>	
    <area>Routing</area>
    <workgroup>PCE</workgroup>
    <keyword>PCEP</keyword>
    <abstract>
	     <t>RFC 8231 describes a set of extensions to Path Computation Element Communication 
		 Protocol (PCEP) to enable stateful control of MPLS-TE and GMPLS Label Switched 
		 Paths (LSPs) via PCEP. One of the extensions is the LSP object which includes 
		 a Flag field of the length of 12 bits. However, all bits of the Flag field have 
		 already been assigned in RFC 8231, RFC 8281, RFC 8623 and I-D.ietf-pce-binding-label-sid.</t>

     <t>[Note to RFC Editor - Replace I-D.ietf-pce-binding-label-sid to RFC XXXX, once the RFC number is assigned.]</t>

         <t>This document proposes to define a new LSP-EXTENDED-FLAG TLV for the 
		 LSP object for an extended flag field.</t>
    </abstract>
  </front>

  <middle>
  
    <section title="Introduction">
	
	<t><xref target="RFC5440"></xref> describes the Path Computation Element (PCE) 
	Communication Protocol (PCEP) which is used between a 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). </t>
	
	<t>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. One of the extensions is the LSP object
	which contains a flag field; bits in the flag field are used to indicate delegation, synchronization, removal, etc.</t>
	
	<t>As defined in <xref target="RFC8231"></xref>, the length of the flag field is
	12 bits and the value from bit 5 to bit 11 is used for operational, administrative, 
	remove, synchronize and delegate bits respectively. The bit value 4 is assigned in <xref target="RFC8281"></xref> 
	for create for PCE-Initiated LSPs. The bits from 1 to 3 is assigned in <xref target="RFC8623"></xref> for Explicit Route Object (ERO)-compression, 
	fragmentation and Point-to-Multipoint (P2MP) respectively. The bit 0 is assigned in 
   <xref target="I-D.ietf-pce-binding-label-sid"></xref> to PCE-allocation. All bits of the Flag field has been
   assigned already. Thus, it is required to extend the flag field for the LSP Object 
   for future use.</t>
	
    <t>This document proposes to define a new LSP-EXTENDED-FLAG TLV for an extended flag field in the LSP object.</t>
  
   </section>

    <section title="Conventions used in this document">	 	
    <section title="Terminology">
	<t>The terminology is defined as <xref target="RFC5440"></xref> and <xref target="RFC8231"></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="PCEP Extension">
  
    <t>The LSP Object is defined in Section 7.3 of <xref target="RFC8231"></xref>.
	This document proposes to define a new LSP-EXTENDED-FLAG TLV for an extended flag field in the LSP object.</t>

   <section title="The LSP-EXTENDED-FLAG TLV">
   
    <t>The format of the LSP-EXTENDED-FLAG TLV follows the format of
   all PCEP TLVs as defined in <xref target="RFC5440"></xref> and is shown in the <xref target="fig1"/>. </t>
   
   
   <figure title="Figure 1: LSP-EXTENDED-FLAG TLV Format" align="center" anchor="fig1">
     <artwork align="center"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Type=TBD1           |           Length              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
//                 LSP Extended Flags                          //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             
    ]]></artwork>
   <postamble></postamble>
   </figure> 
   
      <t>Type (16 bits): the value is TBD1 by IANA.</t>
	  
      <t>Length (16 bits): multiple of 4 octets.</t>
	  
      <t>LSP Extended Flags: this contains an array of units of 32-bit flags
      numbered from the most significant as bit zero, where each bit 
	  represents one LSP flag (for operation, feature, or state). 
	  Currently no bits are assigned. Unassigned bits MUST be set to zero 
	  on transmission and MUST be ignored on receipt.</t>
    <t>As an example of usage 
    of the LSP-EXTENDED-FLAG TLV, the E-flag is requested for entropy 
    label configuration as proposed in <xref target="I-D.peng-pce-entropy-label-position"></xref>.</t>


   </section>
   
   <section title="Processing">
   
   <t>The LSP Extended Flags field is an array of units of 32 flags and to be 
   allocated starting from the most significant bit. No bits are currently assigned 
   in this document and the bits of the LSP Extended Flags field will be assigned 
   by future documents. </t>
   
   <t>Note that, PCEP peers MAY encounter different length of the
   LSP-EXTENDED-FLAG TLV.</t>
   
   <t>If a PCEP speaker receives the LSP-EXTENDED-FLAG TLV
     of a length more than it currently supports or understands,
     it will simply ignore the bits beyond that length.</t>

   <t>If a PCEP speaker receives the LSP-EXTENDED-FLAG TLV of
     a length less than the one supported by the implementation,
     it will consider the bits beyond the length to be unset.</t>
   
   </section>
   
   </section>
   
   <section title="Backward Compatibility">

    <t>The LSP-EXTENDED-FLAG TLV defined in this document does not introduce 
	any interoperability issues.</t>

    <t>A router that does not understand or support the LSP-EXTENDED-FLAG TLV will silently 
	ignore the TLV as per <xref target="RFC5440"></xref>. It is expected that future document that define bits in the LSP-EXTENDED-FLAG TLV would also define the error case handling required for missing LSP-EXTENDED-FLAG TLV if it MUST be present.</t>
	

   </section>
	
	<section anchor="IANA" title="IANA Considerations">
	
    <section title="LSP Object"> 
	
	<section title="PCEP TLV Type Indicators">
 <t>IANA is requested to allocate the following TLV Type Indicator value within
   the "PCEP TLV Type Indicators" subregistry of the "Path Computation
   Element Protocol (PCEP) Numbers" registry:</t>

	
     <texttable anchor="table1" style="none" suppress-title="true">
     <ttcol align = 'left'> Value </ttcol>
     <ttcol align = 'left'> Description </ttcol>
     <ttcol align = 'left'> Reference </ttcol>
	 <c>TBD1</c>
     <c>LSP-EXTENDED-FLAG</c>
     <c>[This document]</c>
     </texttable>
     </section>
	 
	<section title="LSP Extended Flags Field">

   <t>IANA is requested to create a new subregistry called "LSP-EXTENDED-FLAG TLV Flag Field", 
   within the "Path Computation Element Protocol (PCEP) Numbers"
   registry to manage the LSP Extended Flags field of the LSP-EXTENDED-FLAG TLV.  New values are
   assigned by Standards Action <xref target="RFC8126"></xref>.  Each bit should be tracked
   with the following qualities:<list style="symbols">

   <t>Bit number (counting from bit 0 as the most significant bit)</t>

   <t>Capability description</t>

   <t>Defining RFC</t>
 </list></t>

 <t></t>	

 <t>No values are currently defined.</t>
	
    </section>
	</section>
	 
    </section>
	
	
	<section title="Implementation Status">
   <t>[NOTE TO RFC EDITOR : This whole section and the reference to 
   <xref target="RFC7942"></xref> 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 <xref target="RFC7942"></xref>.
   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 <xref target="RFC7942"></xref>, "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 TLV.  It is believed that this would
   be implemented along side the documents that allocate flags in the
   TLV. </t>
	</section>
	
  <section title="Management Considerations">
    <t>
   Implementations receiving set LSP Extended Flags that they do not recognize
   MAY log this.  That could be helpful for diagnosing backward
   compatibility issues with future features that utilize those flags.</t>
 </section>
	<section title="Security Considerations">
	<t><xref target="RFC8231"></xref> sets out security considerations for PCEP when used for communication with a stateful PCE.  This document does not change
   those considerations. For LSP Object processing, see <xref target="RFC8231"></xref>.</t>
	
    <t>This document provides for future extension of PCEP. No additional security issues are raised in this document beyond
    those that exist in the referenced documents. </t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
	
	<t>The authors would like to thank Loa Andersson, Adrian Farrel, Aijun Wang, and Gyan Mishra for their review, suggestions and comments to this document.</t>
		
	</section>
    <section title="Contributors">
    <t>The following people have substantially contributed to this document:</t>
    
<t>
<figure>
<artwork>
	Dhruv Dhody
	Huawei Technologies
	EMail: dhruv.ietf@gmail.com
	
	Greg Mirsky 
	Ericsson 
	Email: gregimirsky@gmail.com
</artwork>
</figure>
</t>
	</section>
	
	
  </middle>


  <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.8126'?>
    </references>
    <references title="Informative References">
    <?rfc include='reference.RFC.5088'?>
    <?rfc include='reference.RFC.5089'?>  
	  <?rfc include='reference.RFC.7942'?>
      <?rfc include='reference.RFC.8281'?>
      <?rfc include='reference.RFC.8623'?>
	  <?rfc include='reference.I-D.ietf-pce-binding-label-sid'?>
	  <?rfc include='reference.I-D.peng-pce-entropy-label-position'?>
	
    </references>
    <section title="WG Discussion">
      <t>
           The WG discussed the idea of a fixed length (with 32 bits) for LSP-
   EXTENDED-FLAG TLV.  Though 32 bits would be sufficient for quite a
   while, the use of variable length with a multiple of 32-bits allows
   for future extensibility where we would never run out of flags and
   there would not be a need to define yet another TLV in the future.
   Further, note that <xref target="RFC5088"></xref> and <xref target="RFC5089"></xref> use the same approach for
   the PCE-CAP-FLAGS Sub-TLV and are found to be useful.
      </t>
    </section>    
  </back>
</rfc>
