<?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. -->
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema validation and schema-aware editing -->
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> -->
<!-- This third-party XSLT can be enabled for direct transformations in XML processors, including most browsers -->

<rfc
      xmlns:xi="http://www.w3.org/2001/XInclude"
      category="std"
      docName="draft-zwx-bier-te-extensions-00"
      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="Abbreviated Title">IS-IS and OSPF extensions for BIER-TE (Tree Engineering for Bit Index Explicit Replication) with MPLS and non-MPLS Encapsulation</title>
    <seriesInfo name="Internet-Draft" value="draft-zwx-bier-te-extensions-00"/>
    <!-- add 'role="editor"' below for the editors if appropriate -->

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

   <author fullname="Zheng Zhang" initials="Z" surname="Zhang">
      <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>zhang.zheng@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
    
    <author fullname="Yuehua Wei" initials="Y" surname="Wei">
      <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>wei.yuehua@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></city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <phone></phone>
        <email>xu.benchong@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
    <date year="2022"/>
    <!-- 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>BIER</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>BIER TE BIFT-ID</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 describes the IS-IS and OSPF protocol extensions that are required for BIER-TE with MPLS and non-MPLS encapsulation.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t><xref target="RFC9262" format="default"/> describes per-packet stateless strict and loose path steered replication and forwarding for "Bit Index Explicit Replication" (BIER, <xref target="RFC8279" format="default"/>) packets.  It is called BIER Tree Engineering (BIER-TE) and is intended to be used as the path steering mechanism for Traffic Engineering with BIER.</t>
      <t>BIER-TE introduces a new semantic for "bit positions" (BP) of link. <xref target="I-D.ietf-bier-te-isis" format="default"/>, <xref target="I-D.ietf-bier-te-ospf" format="default"/>, and <xref target="I-D.ietf-bier-te-ospfv3" format="default"/> describe IS-IS, OSPF, OSPFv3 extensions respectively for distributing BitPositions configured on the links in "Bit Index Explicit Replication Traffic Engineering" (BIER-TE) domain.</t>
      
      <t>As described in section 2.4 in <xref target="RFC9262" format="default"/>, BIER-TE inherits the encapsulation supporting from BIER unchanged. The encapsulation defined in <xref target="RFC8296" format="default"/>, which specifies a common header format for both MPLS and non-MPLS networks, though the first 20-bits (referred to as BIFT-id) of the header is an "MPLS Label" in case of MPLS networks and is a local 20-bit opaque value in case of non-MPLS networks.</t>
      <t>As described in section 4.3 of <xref target="RFC9262" format="default"/>, it is necessary to distinguish the BIER and BIER-TE packet and forwarding. like <xref target="RFC8401" format="default"/>, <xref target="RFC8444" format="default"/>, <xref target="I-D.ietf-bier-ospfv3-extensions" format="default"/>, and <xref target="I-D.ietf-bier-lsr-non-mpls-extensions" format="default"/>, the MPLS and non-MPLS encapsulation needs to be advertised for BIER-TE packet encapsulation.</t>
      
      <t>The advertisement can follow the BIER-TE BP advertisement, like the description in <xref target="I-D.zwx-bier-te-isis-extensions" format="default"/>, <xref target="I-D.zwx-bier-te-ospf-extensions" format="default"/>, and <xref target="I-D.zwx-bier-te-ospfv3-extensions" format="default"/>. But it does not work well if there are many BIER-TE links need to be advertised. Too many octets in the advertisement will be consumed even if the same BIFT-id is used for different links.</t>
      
      <t>This document describes the IS-IS and OSPF protocol extensions that are required for BIER-TE with MPLS and non-MPLS encapsulation associated with prefix distributing.</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", "MAY", and "OPTIONAL" in this
       document are to be interpreted as described in <xref target="RFC2119" format="default"/>.</t>
      </section>
    </section>
    
    <section numbered="true" toc="default">
      <name>Terminology</name>
      <t>This document does not introduce more terminologies than <xref target="RFC8279" format="default"/>, <xref target="RFC8296" format="default"/>, <xref target="RFC8401" format="default"/>, <xref target="RFC9262" format="default"/> and <xref target="I-D.ietf-bier-te-isis" format="default"/>,  <xref target="I-D.ietf-bier-te-ospf" format="default"/>,  <xref target="I-D.ietf-bier-te-ospfv3" format="default"/>.</t>
    </section>
    
    <section numbered="true" toc="default">
      <name>Flooding of the BIER-TE Encapsulation Information in IS-IS</name>
      <t>A configured or selected prefix is used for the advertisement. When the associated prefix reachability is advertised, the BIER-TE Encapsulation sub-TLV and associated MPLS or non-MPLS Encapsulation Sub-sub-TLV is carried.</t>
      <t>In case both of the two encapsulation sub-sub-TLVs are advertised by one node, the label in MPLS encapsulation sub-sub-TLV and BIFT-id in non-MPLS encapsulation sub-sub-TLV SHOULD NOT be overlapped.</t>
      <t>The format is defined in <xref target="tlv-formats"/>. The flooding scope is the same with section 5 in <xref target="RFC8401" format="default"/>.</t>
    </section>
    
    <section numbered="true" toc="default">
      <name>Flooding of the BIER-TE Encapsulation Information in OSPF</name>
      <t>Same with IS-IS, a configured or selected prefix is used for the advertisement. When the associated OSPFv2 Extend Prefix TLV is advertised, the BIER-TE Encapsulation sub-TLV and associated MPLS or non-MPLS Encapsulation Sub-sub-TLV is carried.</t>
      <t>It is similar for OSPFv3, When the associated OSPFv3 Extend Prefix TLV for a configured or selected prefix is advertised, the BIER-TE Encapsulation sub-TLV and associated MPLS or non-MPLS Encapsulation Sub-sub-TLV is carried.</t>
      <t>In case both of the two encapsulation sub-sub-TLVs are advertised by one node, the label in MPLS encapsulation sub-sub-TLV and BIFT-id in non-MPLS encapsulation sub-sub-TLV SHOULD NOT be overlapped.</t>
      <t>The format defined in <xref target="tlv-formats" format="default"/> works for both OSPFv2 and OSPFv3. The flooding scope for OSPFv2 is the same with section 2.3 in <xref target="RFC8444" format="default"/>. The flooding scope for OSPFv3 is the same with section 2.2 in <xref target="I-D.ietf-bier-ospfv3-extensions" format="default"/>.</t>
    </section>
    
    <section anchor="tlv-formats" numbered="true" toc="default">
    <name>Formats</name>
      <t>As described in section 4.3 in <xref target="RFC9262" format="default"/>, the label for MPLS encapsulation or the BIFT-ID for non-MPLS encapsulation is allocatd per SD:BSL.</t>
      <t>A BIER-TE encapsulation sub-tlv is defined for indicating the following MPLS or non-MPLS encapsulation sub-sub-tlv.</t>
      
      <figure anchor="Fig0">
        <artwork align="left" name="Figure 0" 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              |             Length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          MPLS / non-MPLS encapsulation sub-tlv                |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ]]></artwork>
      </figure>
      
      <dl newline="true" spacing="normal" indent="8">
      <dt>Type: TBD0 (To be assigned by IANA).</dt>
      <dd></dd>
      <dt>Length: 2-octet. This field indicates the total length of the following MPLS or non-MPLS encapsulation sub-sub-tlvs.</dt>
      <dd></dd>
      </dl> 
      
      <section numbered="true" toc="default">
      <name>BIER-TE MPLS Encapsulation Sub-sub-TLV</name>
  
        <figure anchor="Fig1">
        <artwork align="left" 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              |             Length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | subdomain-id  | BS Len|      resv     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 label                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     sub-sub-sub-tlv                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ]]></artwork>
      </figure>
        
        <dl newline="true" spacing="normal" indent="8">
        <dt>Type: TBD1 (To be assigned by IANA).</dt>
        <dd></dd>
        <dt>Length: 2-octet. This field indicates the following encapsulation information and potential sub-sub-sub-tlvs.</dt>
        <dd></dd>
        <dt>subdomain-id: A 1-octet field encoding the Unique value identifying the BIER subdomain. The values allowed in this field are specified in Section 1 of <xref target="RFC8279" format="default"/>.</dt>
        <dd></dd>
        <dt>BS Len (BitString Length):  A 4-bit field encoding the supported BitString length associated with this BFR-prefix. The values allowed in this field are specified in Section 2 of <xref target="RFC8296" format="default"/>.</dt>
        <dd></dd>
        <dt>resv: A 8-bit field encoding for the reserving. The bit may be used to indicated the following sub-sub-sub-tlv.</dt>
        <dd></dd>
        <dt>Label: A 3-octet field, where the 20 rightmost bits represent the value of label. The 4 leftmost bits MUST be ignored. The labels are as defined in <xref target="RFC8296" format="default"/>.</dt>
        <dd></dd>
        </dl> 
        
        <t>The BIER-TE MPLS encapsulation sub-sub-TLV may be advertised many times for different subdomain-id or BS Len.</t>
      </section>
      
      <section numbered="true" toc="default">
        <name>BIER-TE Non-MPLS Encapsulation Sub-sub-TLV</name>
        
                <figure anchor="Fig2">
        <artwork align="left" 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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |             Type              |             Length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | subdomain-id  | BS Len|      resv     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                 BIFT-ID                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         sub-sub-tlv                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ]]></artwork>
      </figure>
        
        <dl newline="true" spacing="normal" indent="8">
        <dt>Type: TBD2 (To be assigned by IANA).</dt>
        <dd></dd>
        <dt>Length: 2-octet. This field indicates the following encapsulation information and potential sub-sub-sub-tlvs.</dt>
        <dd></dd>
        <dt>subdomain-id: A 1-octet field encoding the Unique value identifying the BIER subdomain. The values allowed in this field are specified in Section 1 of <xref target="RFC8279" format="default"/>.</dt>
        <dd></dd>
        <dt>BS Len (BitString Length):  A 4-bit field encoding the supported BitString length associated with this BFR-prefix. The values allowed in this field are specified in Section 2 of <xref target="RFC8296" format="default"/>.</dt>
        <dd></dd>
        <dt>resv: A 8-bit field encoding for the reserving. Now the leftmost bit is defined for indicating the existing of BIER-TE IPv6 Encapsulation sub-sub-sub-tlv.</dt>
        <dd></dd>
        <dt>BIFT-ID: A 3-octet field, where the 20 rightmost bits represent the BIFT-ID. The 4 leftmost bits MUST be ignored. The BIFT-ID is as defined in <xref target="RFC8296" format="default"/>.</dt>
        <dd></dd>
        </dl> 
        
        <t>The BIER-TE non-MPLS encapsulation sub-sub-TLV may be advertised many times for different subdomain-id or BS Len.</t>

        <section numbered="true" toc="default">
          <name>BIER-TE IPv6 Encapsulation sub-sub-sub-tlv</name>
          <t>As described in section 4 of <xref target="I-D.ietf-bier-bierin6" format="default"/>, which describes how the existing BIER encapsulation specified in <xref target="RFC8296" format="default"/> works in a non-MPLS IPv6 network, a node that requires IPv6 encapsulation MUST advertise the BIER-TE IPv6 encapsulation sub-sub-sub-TLV, which follows the associated Non-MPLS Encapsulation, according to local configuration or policy in the BIER domain to request other BFRs to always use IPv6 encapsulation.</t>
          <figure anchor="Fig3">
          <artwork align="left" name="Figure 3" 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       |   Length      |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ]]></artwork>
          </figure>
        
          <dl newline="true" spacing="normal" indent="8">
          <dt>Type: TBD3 (To be assigned by IANA).</dt>
          <dd></dd>
          <dt>Length: 0.</dt>
          <dd></dd>
          </dl> 
        </section>
      </section>
    </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>This document does not introduce more security considerations than <xref target="RFC9262" format="default"/> and <xref target="I-D.ietf-bier-te-isis" format="default"/>, <xref target="I-D.ietf-bier-te-ospf" format="default"/>, and <xref target="I-D.ietf-bier-te-ospfv3" format="default"/>.</t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->

 <back>

   <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <?rfc include="reference.RFC.2119.xml"?>	
        <?rfc include="reference.RFC.8279.xml"?>
        <?rfc include="reference.RFC.8296.xml"?>
        <?rfc include="reference.RFC.8401.xml"?>
        <?rfc include="reference.RFC.8444.xml"?>
        <?rfc include="reference.RFC.9262.xml"?>
        <?rfc include="reference.I-D.ietf-bier-ospfv3-extensions.xml"?>
        <?rfc include="reference.I-D.ietf-bier-te-isis.xml"?>
        <?rfc include="reference.I-D.ietf-bier-te-ospf.xml"?>
        <?rfc include="reference.I-D.ietf-bier-te-ospfv3.xml"?>
        <?rfc include="reference.I-D.ietf-bier-lsr-non-mpls-extensions.xml"?>        
        <?rfc include="reference.I-D.ietf-bier-bierin6.xml"?>
      </references>
      <references title="Informative References">
	      <?rfc include="reference.I-D.zwx-bier-te-isis-extensions.xml"?>
        <?rfc include="reference.I-D.zwx-bier-te-ospf-extensions.xml"?>
        <?rfc include="reference.I-D.zwx-bier-te-ospfv3-extensions.xml"?>
    </references>
    </references>
 </back>
</rfc>
