<?xml version='1.0' encoding='utf-8'?>
<!-- This template is for creating an Internet Draft using xml2rfc,
    which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
    please see http://xml.resource.org/authoring/README.html. -->
<rfc
      xmlns:xi="http://www.w3.org/2001/XInclude"
      category="std"
      docName="draft-chen-pce-controller-bier-te-06"
      ipr="trust200902"
      obsoletes=""
      updates=""
      submissionType="IETF"
      xml:lang="en"
      tocInclude="true"
      tocDepth="4"
      symRefs="true"
      sortRefs="true"
      version="3">
  <!-- xml2rfc v2v3 conversion 2.38.1 -->
  <!-- category values: std, bcp, info, exp, and historic
    ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
       or pre5378Trust200902
    you can add the attributes updates="NNNN" and obsoletes="NNNN" 
    they will automatically be output with "(if approved)" -->

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

 <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
        full title is longer than 39 characters -->

   <title abbrev="PCECC BIER-TE">PCEP Procedures and Protocol Extensions for Using PCE as a Central Controller (PCECC) of BIER-TE</title>
    <seriesInfo name="Internet-Draft" value="draft-chen-pce-controller-bier-te-06"/>
    <!-- add 'role="editor"' below for the editors if appropriate -->

   <!-- Another author who claims to be an editor -->

   <author fullname="Ran Chen" initials="R." surname="Chen">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>chen.ran@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>

 <author fullname="BenChong Xu" initials="B." surname="Xu">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>xu.benchong@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	  <author fullname="Chun Zhu" initials="ch." surname="Zhu">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>zhu.chun@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	
	
	  <author fullname="Huaimo Chen" initials="H." surname="Chen">
      <organization>Futurewei</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>United States of America</country>
        </postal>
        <email>Huaimo.chen@futurewei.com</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
		  <author fullname="Aijun Wang" initials="A." surname="Wang">
      <organization>China Telecom</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>wangaj3@chinatelecom.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	
    <date year="2024"/>
    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
        in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

   <!-- 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>Internet Draft</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 draft specify extensions to PCEP protocol when a PCE-based controller is responsible for allocates the BIER-TE information(BIER subdomain-id, adjacencies BitPosition(s), and Adjacency Types etc), then PCC generate a "Bit Index Forwarding Table"(BIFT).</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
	 <t><xref target="RFC8283"/>introduces the architecture for PCE as a central controller as an extension of the architecture described in<xref target="RFC4655"/> and assumes the continued use of PCEP as the protocol used between PCE and PCC. <xref target="RFC8283"/>further examines the motivations and applicability for PCEP as a Southbound Interface (SBI), and introduces the implications for the protocol.</t> 
	<t><xref target="RFC9050"/>specify the procedures and PCEP protocol extensions for using the PCE as the central controller for static LSPs, where LSPs can be provisioned as explicit label instructions at each hop on the end-to-end path. Each router along the path must be told what label-forwarding instructions to program and what resources to reserve. The PCE-based controller keeps a view of the network and determines the paths of the end-to-end LSPs, and the controller uses PCEP to communicate with each router along the path of the end-to-end LSP.</t>
	<t>Tree Engineering for Bit Index Explicit Replication" (BIER-TE) shares architecture and packet formats with BIER as described in <xref target="RFC8279"/>. BIER-TE forwards and replicates packets based on a BitString in the packet header, but every BitPosition of the BitString of a BIER-TE packet indicates one or more adjacencies as described in <xref target="RFC9262"/>.</t>
	<t>This draft specify extensions to PCEP protocol when a PCE-based controller is responsible for allocates the BIER-TE information(BIER subdomain-id, adjacencies BitPosition(s), and Adjacency Types etc), then PCC generate a "Bit Index Forwarding Table"(BIFT).</t>
	  <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 target="RFC8174"/> when, and only
        when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
   <section numbered="true" toc="default">
   <name>PCECC BIER Requirements</name>
   <t> Following key requirements for PCECC-BIER should be considered when`designing the PCECC based solution:</t>
    <ul spacing="normal">
        <li>PCEP speaker supporting this draft needs to have the capability to advertise its PCECC BIER-TE capability to its peers.</li>
        <li>PCEP speaker not supporting this draft needs to be able to reject PCECC BIER-TE related message with a reason code that indicates no support for PCECC.</li>
		<li>PCEP procedures needs to provide a means to update (or cleanup) the BIER-TE related informations (BIER subdomain-id, adjacencies BitPosition(s), and Adjacency Types etc) to the PCC.</li>
		<li>PCEP procedures needs to provide a means to update (or cleanup) the BIER-TE "Bit Index Forwarding Table" (BIFT) to the PCC.</li>
		<li>PCEP procedures needs to provide a means to synchronize the BIER-TE related informations(BIER subdomain-id, adjacencies BitPosition(s), and Adjacency Types etc) between PCE to PCC in the PCEP messages.</li>
		 </ul>
      </section> 
	  
    <section numbered="true" toc="default">
    <name>Procedures for Using the PCE as the Central Controller (PCECC) in BIER-TE</name>
	 <t>Active stateful PCE is described in <xref target="RFC8231"></xref>. PCE as a central controller (PCECC) reuses existing Active stateful PCE mechanism as much as possible to control the LSP.</t>
	 <t>This document uses the same PCEP messages and its extensions which are described in <xref target="RFC9050"></xref> for PCECC BIER-TE as well.</t>
	 <t>PCEP messages PCRpt, PCInitiate, PCUpd are also used to send LSP Reports, LSP setup and LSP update respectively. The extended PCInitiate message described in <xref target="RFC9050"></xref> is used to download or cleanup central controller's instructions (CCIs) (BIER-TE related informations and "Bit Index Forwarding Table" (BIFT) in scope of this document). The extended PCRpt message described in <xref target="RFC9050"></xref> is also used to report the CCIs (BIER-TE related informations) from PCC to PCE.</t>
	 <t><xref target="RFC9050"></xref> specify an object called CCI for the encoding of central controller's instructions. This document extends the CCI by defining another object-type for BIER-TE.</t>
    <section numbered="true" toc="default"> 
    <name>PCECC Capability Advertisement</name>
    <t>During PCEP Initialization Phase, PCEP Speakers (PCE or PCC) advertise their support of PCECC extensions. A PCEP Speaker includes the "PCECC Capability" sub-TLV, described in <xref target="RFC9050"></xref>.</t>
	<t>This document adds T-bit in PCECC-CAPABILITY sub-TLV for BIER-TE. </t>
    </section>
	<section numbered="true" toc="default"> 
    <name>New BIER Path Setup</name>
	<t>The PCEP messages pertaining to PCECC BIER-TE MUST include PATH-SETUP-TYPE TLV <xref target="RFC8408"/> with PST=TBD in the SRP object to clearly identify the PCECC BIER-TE is intended.</t>
	</section> 
	<section numbered="true" toc="default"> 
    <name>PCECC BIER-TE information allocation and Generation of BFIT</name>
	<t>Each node (PCC) is allocated a node BIER-TE information by the PCECC. The BIER-TE information mainly includes BIER subdomain-id, adjacencies BitPosition(s), and Adjacency Types etc. In scenarios where the IGP protocol is not used/available, Each node (PCC) is allocated its own and neighbor BIER-TE informations by the PCECC, then PCC generates a BIFT based on the informations it receives. The BIFT mainly includes BFR ID, F-BM and BFR nexthop.</t>
	</section>  
	
	<section numbered="true" toc="default"> 
    <name>Redundant PCEs</name>
	   <t><xref target="I-D.ietf-pce-state-sync"/> describes synchronization mechanism between the stateful PCEs. The BIER-TE informations allocated by a PCE MUST also be synchronized among PCEs for PCECC BIER-TE state synchronization.</t>
	   </section> 
	   
	   <section numbered="true" toc="default"> 
       <name>Re Delegation and Cleanup</name>
	   <t><xref target="RFC9050"></xref> describes the action needed for CCIs for the Basic PCECC LSP on this terminated session.Similarly actions should be applied for the BIER-TE information as well.</t>
	   </section> 
	   
	   <section numbered="true" toc="default"> 
       <name>Synchronization of BIER-TE information Allocations</name>
	   <t><xref target="RFC9050"></xref> describes the synchronization of Central Controller's Instructions (CCI) via LSP state synchronization as described in <xref target="RFC8231"></xref> and <xref target="RFC8232"/>.Same procedures should be applied for BIER-TE information and "Bit Index Forwarding Table" (BIFT) allocations as well.</t>
	   </section> 
	    </section> 
		
		<section numbered="true" toc="default"> 
        <name>PCEP extension</name>
		<section numbered="true" toc="default"> 
        <name>The OPEN Object</name>
		<section numbered="true" toc="default"> 
        <name>PCECC Capability sub-TLV</name>
        <t><xref target="RFC9050"></xref> defined the PCECC-CAPABILITY TLV. A new T-bit is defined in PCECC-CAPABILITY sub-TLV for PCECC BIER-TE:</t>
        <artwork align="center" name="Figure 1" type="" alt="">
		<![CDATA[
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type=TBD                  |               Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Flags                                    |T|I|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ]]></artwork>
	  <t>where:</t>
	  <t>T (PCECC BIER-TE CAPABILITY - 1 bit): If set to 1 by a PCEP speaker, it indicates that the PCEP speaker is capable for PCECC BIER-TE capability and PCE would allocate BIER-TE information on this session.</t>
	 </section>
    </section>
	
	<section numbered="true" toc="default"> 
    <name>PATH-SETUP-TYPE TLV</name>
    <t>The PATH-SETUP-TYPE TLV is defined in <xref target="RFC8408"/>. PST = TBD is used when Path is setup via PCECC BIER-TE mode.On a PCRpt/PCUpd/PCInitiate message, the PST=TBD indicates that this path was setup via a PCECC BIER-TE based mechanism where either the BIER-TE informations and BIER-TE "Bit Index Forwarding Table" (BIFT) were allocated/instructed by PCE via PCECC mechanism.</t>
    </section>
	
	<section numbered="true" toc="default"> 
    <name>CCI object</name>
	<t>The Central Control Instructions (CCI) Object is used by the PCE to specify the forwarding instructions is defined in <xref target="RFC9050"></xref>. This document defines another object-type for BIER-TE purpose.</t>
	<t>CCI Object-Type is TBD for BIER-TE as below</t>
        <artwork align="center" name="Figure 2" type="" alt="">
		<![CDATA[
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                CC-ID                          | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| subdomain-ID  |     BSL       |           Flags               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      SI       |adj-t|           BitPosition         | Reserved|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+             
|                                                               |
//                       Optional TLV                          //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ]]></artwork>
	<t>where:</t>
    <t>The field CC-ID is as described in <xref target="RFC9050"></xref>.</t>
    <t>BIER subdomain-ID: Unique value identifying the BIER subdomain. (as defined in <xref target="RFC8401"/>.</t>
   <t>BSL: A 1 octet field encodes the length in bits of the BitString as per <xref target="RFC8296"/>, the maximum length of the BitString is 5,it indicates the length of BitString is 1024.It is used to refer to the number of bits in the BitString.</t>
   <t>SI: Set Identifier (Section 1 of <xref target="RFC8279"/> used in the encapsulation for this BIER subdomain for this BitString length, 1 octet.</t>
   <t>BitPositions: BitPositions indicate adjacencies,16bit.</t>
   <t>The "Reserved" (1 octets) fields are currently unused, and MUST be set to zero on transmission and ignored on reception.</t>
   <t> Adjacency Types:There are three types in this document.</t>
    <ul spacing="normal">
        <li>0b000:Forward Connected.</li>
        <li>0b001:Forward Routed.</li>
		<li>0b010: Local Decap.</li>
        <li>ECMP will discuss in next version.</li>
		 </ul>
   <t>Optional TLV: There are three optional TLV are defined/reused in this draft.</t>
   
	<section numbered="true" toc="default"> 
    <name>BIER Encapsulation Sub TLV</name>  
	 <t>BIER Encapsulation Sub-TLV defined in <xref target="I-D.chen-pce-pcep-extension-pce-controller-bier"/> are used to associate BIER Encapsulation information, so we Reuse BIER Encapsulation Sub-TLV to carry the BIER-TE Encapsulation informations.</t>
	 </section>
	
    <section numbered="true" toc="default"> 
    <name>Address TLVs</name>
	<t>When the adjacency type is 0b000:Forward Connected, the BFR address information (BFR out-interface and nexthop informations) should be carried in the CCI Object.</t>
 <t>Address TLVs described in <xref target="RFC9050"></xref> are used to associate the next-hop information, so we Reuse ADDRESS TLV to carry the BFR out-interface and nexthop informations.</t>
</section>

   <section numbered="true" toc="default"> 
    <name>ROUTE-DISTINGUISHER TLV</name>
 <t>When the adjacency type is 0b001: Forward Routed, a VRF and the next-hop informations should be carried in the CCI Object, so we reuse the ROUTE-DISTINGUISHER TLV defined in <xref target="RFC9168"></xref>
 and Address TLVs defined in <xref target="RFC9050"></xref> to carry the next hop is associated with a specific VPN identified by the RD.</t>
 <t>When the adjacency type is 0b010: Local Decap, only a VRF should be carried in the CCI Object. Reuse the ROUTE-DISTINGUISHER TLV which is defined in <xref target="RFC9168"></xref> carries an RD value, used to identify a VRF.</t>
</section>
</section>	 	

<section numbered="true" toc="default"> 
 <name>FEC Object</name>
 <t>BIER-TE information is always associated with adjacency, so we reuse FEC Object 1'IPv4 Node ID' and FEC Object-Type 2 'IPv6 Node ID' defined in <xref target="RFC8664"/> to clearly identify the adjacency for which a SI: BitPosition is being allocated.</t>
 </section>	
  </section>	
  
    <section anchor="Acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>We would like to thank Dhruv Dhody for their useful comments and suggestions.</t>
    </section>
    <!-- Possibly a 'Contributors' section ... -->

   <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
	  <t>TBD.</t>
      </section>
	
   <section anchor="Security" numbered="true" toc="default">
   <name>Security Considerations</name>
   <t>The PCECC extension are based on the existing PCEP messages and thus the
   security considerations described in </t>
   <t>The PCECC extension are based on the existing PCEP messages and thus the
   security considerations described in <xref target="RFC5440"/> ,<xref target="RFC8231"/> ,<xref target="RFC8281"/>, and <xref target="RFC9050"/> apply to this draft.</t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->

 <back>
    <!-- References split into informative and normative -->

   <!-- There are 2 ways to insert reference entries from the citation libraries:
    1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
    2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
       (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

    Both are cited textually in the same manner: by using xref elements.
    If you use the PI option, xml2rfc will, by default, try to find included files in the same
    directory as the including file. You can also define the XML_LIBRARY environment variable
    with a value containing a set of directories to search.  These can be either in the local
    filing system or remote ones accessed by http (http://domain/dir/... ).-->

 <references>
        <name>Normative References</name>
        <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
      <?rfc include="reference.RFC.2119.xml"?>
	  <?rfc include="reference.RFC.4655.xml"?>
	    <?rfc include="reference.RFC.5440.xml"?>
		  <?rfc include="reference.RFC.8174.xml"?>
		  <?rfc include="reference.RFC.8279.xml"?>
		    <?rfc include="reference.RFC.8296.xml"?>
		    <?rfc include="reference.RFC.8231.xml"?>
		    <?rfc include="reference.RFC.8281.xml"?>
			<?rfc include="reference.RFC.8232.xml"?>
		    <?rfc include="reference.RFC.8283.xml"?>
		    <?rfc include="reference.RFC.8401.xml"?>
		    <?rfc include="reference.RFC.8408.xml"?>
			 <?rfc include="reference.RFC.8664.xml"?>
		    <?rfc include="reference.RFC.9050.xml"?> 
            <?rfc include="reference.RFC.9168.xml"?>	
            <?rfc include="reference.RFC.9262.xml"?>			
			<?rfc include="reference.I-D.ietf-pce-state-sync.xml"?>
			<?rfc include="reference.I-D.chen-pce-pcep-extension-pce-controller-bier.xml"?>
      </references>
       
    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                     v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                     other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                     Modified comments around figure to reflect non-implementation of
                     figure indent control.  Put in reference using anchor="DOMINATION".
                     Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                     added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                     images. Removed meta-characters from comments (causes problems).

v06 2010-04-01 TT     Changed ipr attribute values to latest ones. Changed date to
                     year only, to be consistent with the comments. Updated the 
                     IANA guidelines reference from the I-D to the finished RFC.
v07 2020-01-21 HL    Converted the template to use XML schema version 3.
    -->
 </back>
</rfc>
