<?xml version="1.0" encoding="iso-8859-1" ?>
<!--<!DOCTYPE rfc SYSTEM "rfc4748.dtd"> -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
    <!ENTITY rfc2119 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
    <!ENTITY rfc5440 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5440.xml'>
	 <!ENTITY rfc3209 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3209.xml'>  
	<!ENTITY rfc8231 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8231.xml'>  
    <!ENTITY rfc4657 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4657.xml'>   
	<!ENTITY rfc8306 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8306.xml'>
	<!ENTITY rfc8279 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8279.xml'>
	<!ENTITY rfc8296 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8296.xml'>  
	<!ENTITY rfc8408 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8408.xml'> 
	<!ENTITY I-D.ietf-bier-te-arch PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-bier-te-arch.xml'>
]>
	 
<rfc category="std" ipr="trust200902" docName="draft-chen-pce-bier-05">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>

<front>
        <title abbrev="PCEP Ext for BIER"> PCEP Extensions for BIER</title>
		
 <author fullname="Ran Chen" initials="Ran" surname="Chen">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street>No.50 Software Avenue,Yuhuatai District</street>
          
          <city>Nanjing</city>
          
          <region>Jiangsu Province</region>
  
          <code>210012</code>

          <country>China</country>
        </postal>

        <phone>+86 025 88014636</phone>

        <email>chen.ran@zte.com.cn</email>
      </address>
    </author>
	
   <author fullname="Zheng Zhang" initials="Zheng" surname="Zhang">
      <organization>ZTE Corporation</organization>

      <address>
        <postal>
          <street>No.50 Software Avenue,Yuhuatai District</street>
          
          <city>Nanjing</city>
          
          <region>Jiangsu Province</region>
  
          <code>210012</code>

          <country>China</country>
        </postal>
        <email>zhang.zheng@zte.com.cn</email>
      </address>
    </author>
	
	
    <date day='22' month='March' year="2019"/>
  
    <area>Routing</area>
    <workgroup>Networking Working Group</workgroup>

    <keyword>Request for Comments</keyword>
    <keyword>RFC</keyword>
    <keyword>Internet Draft</keyword>
    <keyword>I-D</keyword>

    <abstract>
     <t> 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="I-D.ietf-bier-te-arch"/>.BIER-TE Path can be derived from a Path Computation Element (PCE).</t>
	 <t> This document specifies extensions to the Path Computation Element Protocol (PCEP) that allow a PCE to compute and initiate the path for the BIER-TE.</t>
    </abstract>
    
</front>
  
  <middle>
    <section title="Introduction">
    <t> 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="I-D.ietf-bier-te-arch"/>.BIER-TE Path can be derived from a Path Computation Element (PCE).</t>
	<t><xref target="RFC8231"/> specifies a set of extensions to PCEP that allow a PCE to compute and recommend network paths in compliance with <xref target="RFC4657"/> and defines objects and TLVs for MPLS-TE LSPs.</t>
	<t> This document uses a PCE for computing one or more BIER-TE paths taking into account various constraints and objective functions.</t>
    </section>
   
   
 <section title="Conventions used in this document">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119.</t>     
 </section>
  
   <section title="Overview of PCEP Operation in BIER Networks">
   <t> BIER-TE forwards and replicates packets based on a BitString in the packet header, and every BitPosition of the BitString of a BIER-TE packet indicates one or more adjacencies as described in <xref target="I-D.ietf-bier-te-arch"/>.
   In a PCEP session, An ERO object specified in
   <xref target="RFC5440"/> can be extended to carry a BIER-TE path consists of one or more BIER-ERO subobject(s).  BIER-TE computed by a PCE can be represented in the following forms:
   <list style='symbols'>
   <t> An ordered set of adjacencies BitString(s) in which each bit represents that the adjacencies to which the BFR should replicate
      packets to in the domain.</t>
   </list>
   </t>
   <t> In this document, we define a set of PCEP protocol extensions, including a new PCEP capability,a new Path Setup Type (PST) ,a new BIER END-POINT Object, new ERO subobjects, new PCEP error codes and procedures.</t>
 </section>
 <section title="Object Formats"> 
  <section title="The OPEN Object">
  <section title="The BIER-TE PCE Capability sub-TLV">
 <t><xref target="RFC8408"/>defines the PATH-SETUP-TYPE-CAPABILITY TLV for use in the OPEN object.  The PATH-SETUP-TYPE-CAPABILITY TLV contains an optional list of sub-TLVs which are intended to convey parameters that are
 associated with the path setup types supported by a PCEP speaker.</t>
<t>This document defines a new Path Setup Type (PST) for BIER as follows:
<list style='symbols'>
   <t> PST = TBD2: Path is setup using BIER Traffic Engineering technique.</t>
	  </list>
	  </t>
 <t>A PCEP speaker SHOULD indicate its support of the function described
   in this document by sending a PATH-SETUP-TYPE-CAPABILITY TLV in the
   OPEN object with this new PST included in the PST list.</t> 
  <t> This document also defines the BIER-TE-PCE-CAPABILITY sub-TLV. PCEP speakers use this sub-TLV to exchange BIER capability.  If a PCEP speaker includes PST=TBD1 in the PST List of the PATH-SETUP-TYPE-CAPABILITY TLV then it MUST also include the BIER-TE-PCE-
  CAPABILITY sub-TLV inside the PATH-SETUP-TYPE-CAPABILITY TLV.</t>
  <t>The format of the BIER-TE-PCE-CAPABILITY sub-TLV is shown in the following figure:</t>
	<figure title="Figure 1" >
  <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             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Reserved              |            Flags              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ]]></artwork>
 </figure>	
    <t> The code point for the TLV type is to be defined by IANA.</t> 
	<t> Length: 4 bytes.</t>
    <t> The &quot;Reserved&quot; (2 octet) and "Flags" (2 octet) fields are currently unused, and MUST be set to zero on transmission and ignored on reception.</t>
	 </section>
	 </section>
   <section title="The SRP Object"> 
<t>In order to setup an BIER-TE, a new PATH-SETUP-TYPE TLV MUST be contained in RP/SRP object.  This document defines a new Path Setup Type (PST=TBD2) for BIER-TE. </t>
    </section>
	<section title="END-POINTS object">
	<section title="P2MP END-POINTS object">
	<t> The END-POINTS object which is defined in <xref target="RFC8306"/>is used in a PCReq message to specify the BIER information of the path for which a path computation is requested. To represent the end points for a BIER path efficiently, we reuse the P2MP END-POINTS object body for IPv4(Object-Type 3) and END-POINTS object body for IPv6 (Object-Type 4) which is defined in <xref target="RFC8306"/>. </t>
	</section>
	<section title="The New BIER END-POINT Object"> 
	<t>In the case of BIER and BIER-TE coexistence scenario, we reuse the BFR-id where is assigned  </t>
	<t> For each sub-domain to which a given BFR belongs, if the BFR is capable of acting as a BFIR or a BFER, it MUST be provisioned with a
   "BFR-id" that is unique within the sub-domain which is defined in <xref target="RFC8279"/>, so in this scenario, we define a new BIER END-POINT Object.It is optional.</t>
   <t> The format of the new END-POINTS Object for BFR-id is as follows:</t>
   <figure title="Figure 2" >
  <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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Leaf type                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |         Source BFR-id         |                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Destination  BFR-id         ~        ...                    ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~        ...                    ~   Destination BFR-id          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	
   ]]></artwork>
 </figure>	
	<t> leaf type: It is the same with the type which is defined in <xref target="RFC8306"/>.</t>
	<t> Source BFR-id:A 2 octet field encoding the source BFR-id, A BFR-id is just a number in the range [1,65535], identifies a BFIR uniquely in a BIER subdomain.If no BFR-id has been assigned, the value of this
      field is set to "Invalid BFR-id", which is defined as illegal in
    <xref target="RFC8279"/>.</t>
	<t> Destniation BFR-id:A 2 octet field encoding the destniation BFR-id.A BFR-id is just a number in the range [1,65535], identifies a BFER uniquely.If no BFR-id has been assigned, the value of this
    field is set to "Invalid BFR-id", which is defined as illegal in
    <xref target="RFC8279"/>.</t>
 </section>
 </section>
 <section title="ERO Object"> 
	<t> BIER-TE consists of one or more adjacencies BitStrings where every
   BitPosition of the BitString indicates one or more adjacencies, as
   described in(<xref target="RFC8279"/>).</t>
   <t>  The ERO object specified in <xref target="RFC5440"/> is used to encode the path of a TE LSP through the network.The ERO is carried within a PCRep message to provide the computed TE LSP if the path computation was successful.In order to carry BIER-TE explicit paths, this document defines a new ERO subobjects referred to as "BIER-ERO subobjects" whose formats are specified in the following section.  An BIER-ERO subobjects carrying a adjacencies BitStrings consists of one or more BIER-ERO subobject(s).</t>
 <section title="BIER-ERO Subobject"> 
 
  <figure title="Figure 3" >
  <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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |L|   Type=TBD4 |      Length   |
	 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   
     |    BS Length  | subdomain-id  |       SI      |   Reserved    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	 |             Adjacency BitString  (first 32 bits)              ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                                                               ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~            Adjacency BitString  (last 32 bits)                |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   ]]></artwork>
 </figure>
<t> The 'L' Flag:  Indicates whether the subobject represents a loose-hop
      in the LSP<xref target="RFC3209"/>. If the bit is not set, the subobject represents a strict hop in the explicit route.</t> 
 <t> Type: TBD4</t>
  <t> Length: 1 octet (<xref target="RFC3209"/>). Contains the total length of the subobject in octets. The Length MUST be at least 8, and MUST be a multiple of 4.</t>
  <t> BS Length: 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> subdomain-id: Unique value identifying the BIER subdomain. 1 octet.</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> The "Reserved" (1 octets) fields are currently unused, and MUST be set to zero on transmission and ignored on reception.</t>
  <t> Adjacency BitString: a variable length field encoding the Adjacency
   BitString where every BitPosition of the BitString indicates one or
   more adjacencies.the length of this field is according the BS length.
   The minimum value of this field is 64 bits, and the maximum value of this field is 1024 bits.</t>
  <t>Notice:</t>
  <t>The maximum value of BS Length is limited to the 1024 bits, in case the BIER-ERO Subobject is too long.</t>
  </section>
    <section title="BIER-ERO Processing">
    <t> The ERO and SR-ERO subobject processing remains as per  <xref target="RFC5440"/>.
    </t>
	<t> If a PCC receives an BIER-ERO subobject in which either
   BitStringLength or Adjacency BitString or SI is absent, it MUST consider
   the entire BIER-ERO subobject invalid and send a PCErr message with
   Error-Type = 10 ("Reception of an invalid object"), Error-Value =
   TBD5 ("BitStringLength is absent ") or Error-Value = TBD6 ("Adjacency BitString is absent")or Error-Value = TBD7("SI is absent ").
   </t>
	<t> If a PCC receives an BIER-ERO subobject in which BitStringLength
   values are not chosen from: 64, 128, 256, 512, 1024,
   as it described in ( <xref target="RFC8279"/>).  The PCC MUST send
   a PCErr message with Error-Type =10 ("Reception of an invalid object") and Error-Value = TBD8 ("Invalid BitStringLength").</t>
</section>
</section>	 
   </section>		
  
    <section title="Security Considerations"> 
	<t>TBD.</t>
	 </section>
  <section title="IANA Considerations"> 
  <section title="PCEP Objects"> 
<t> IANA has made the following Object-Type allocations from
   the "PCEP Objects" sub-registry.</t>
   <section title="BIER-TE-PCE-CAPABILITY Sub-TLV Type Indicators"> 
	<figure>
            <artwork align="left">
			<![CDATA[		
             vlaue             Meaning                  Reference
          --------------  -----------------------      -------------
             TBD1         BIER-TE-PCE-CAPABILITY       This Document
      

   ]]></artwork>
 </figure>	
 </section>
 
   <section title="New Path Setup Type"> 
	<figure>
            <artwork align="left">
			<![CDATA[		
           vlaue             Meaning                         Reference
          --------------  -----------------------         -------------
             TBD2         Path is setup using BIER 
			              Traffic Engineering technique    This Document
      

   ]]></artwork>
 </figure>	
 </section>
 
   <section title="New BIER END-POINT Object"> 
	<figure>
            <artwork align="left">
			<![CDATA[		
           vlaue             Meaning                         Reference
          --------------  -----------------------         -------------
             TBD3        END-POINTS Object for BFR-id     This Document
      

   ]]></artwork>
 </figure>	
 </section>
 
 <section title="BIER-ERO Subobject"> 
<t>This document defines a new subobject type for the BIER explicit
   route object (ERO),The code points for subobject types of these
   objects is maintained in the RSVP parameters registry. </t>
   <figure>
            <artwork align="left">
			<![CDATA[		
           
             Object            Sub-Object            Sub-Object Type
        -----------------  -----------------------   -----------------
         EXPLICIT_ROUTE    BIER-ERO (PCEP-specific)          TBD4

   ]]></artwork>
 </figure>	
 </section>
  <section title="PCEP-Error Objects and Types"> 
<t> IANA is requested to allocate code-points in the "PCEP-ERROR Object
   Error Types and Values" subregistry for the following new error-types
   and error-values:</t>
	<figure>
            <artwork align="left">
			<![CDATA[		
              
   Error-Type           Meaning                    Reference
    ---------   ---------------------------    ----------------       
       10      Reception of an invalid object      RFC5440 
	   
	           Error-value = TBD5                 This document
			   BitStringLength is absent
			   
               Error-value = TBD6                 This document
			   Adjacency BitString is absent
   
               Error-value = TBD7                 This document     
			   SI is absent
			   
			   Error-value =  TBD8                This document
               Invalid BitStringLength         

   ]]></artwork>
 </figure>	
 </section>
</section>
</section>


  </middle>

  <back>

    <references title="Normative references">
	 &rfc2119;
	 &rfc5440;
	 &rfc3209;
	 &rfc8231;
	 &rfc4657;
	 &rfc8306;
	 &rfc8279;
	 &rfc8296;
	 &rfc8408;
	 &I-D.ietf-bier-te-arch;
	</references>
	
	


  </back>
</rfc>
