<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.6 -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>
<rfc category="std" docName="draft-ietf-bier-bgp-ls-bier-ext-21"
     ipr="trust200902">
  <front>
     <title abbrev="BGP-LS extensions for BIER">BGP Link-State extensions for BIER</title>
	 
    <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="Zheng Zhang" initials="Z." surname="Zhang">
      <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>zhang.zheng@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	<author fullname="Vengada Prasad Govindan" initials="V. " surname="Govindan">
      <organization>Cisco</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city></city>
          <region/>
          <code/>
          <country></country>
        </postal>
        <email>venggovi@cisco.com</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	<author fullname="IJsbrand Wijnands" initials="IJ." surname="Wijnands">
      <organization>Individual</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city></city>
          <region/>
          <code/>
          <country></country>
        </postal>
        <email>ice@braindump.be</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	  
	<author fullname="Zhaohui Zhang" initials="Z." surname="Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city></city>
          <region/>
          <code/>
          <country></country>
        </postal>
        <email>zzhang@juniper.net</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
		
     <date day="7" month="January" year="2026"/>

    <workgroup>BIER Working Group</workgroup>


   <abstract>
       <t> Bit Index Explicit Replication (BIER) is an architecture that provides optimal multicast forwarding through a &quot;BIER domain&quot; without requiring intermediate routers to maintain any multicast related per-flow state. BIER also does not require any explicit tree-building protocol for its operation.  A multicast data packet enters a BIER domain at a &quot;Bit-Forwarding Ingress Router&quot; (BFIR), and leaves the BIER domain at one or more &quot;Bit-Forwarding Egress Routers&quot; (BFERs). The BFIR router adds a BIER header to the packet.  The BIER header contains a bitstring in which each bit represents exactly one BFER to forward the packet to. The set of BFERs to which the multicast packet needs to be forwarded is expressed by setting the bits that correspond to those routers in the BIER header.</t>
	 <t>BGP Link-State (BGP-LS) enables the collection of various topology informations from the network, and the topology informations are used by the controller to calculate the fowarding tables and then propagate them onto the BFRs(instead of having each node to calculate on its own) and that can be for both inter-as and intra-as situations.</t>
	 <t>This document specifies extensions to the BGP Link-state address-family in order to advertise the BIER informations.</t>
    </abstract>
  </front>
  <middle>
     <section anchor="introduction" title="Introduction">
	 <t> Bit Index Explicit Replication (BIER) is an architecture that provides optimal multicast forwarding through a &quot;BIER domain&quot; without requiring intermediate routers to maintain any multicast related per-flow state. BIER also does not require any explicit tree-building protocol for its operation.  A multicast data packet enters a BIER domain at a &quot;Bit-Forwarding Ingress Router&quot; (BFIR), and leaves the BIER domain at one or more &quot;Bit-Forwarding Egress Routers&quot; (BFERs). The BFIR router adds a BIER header to the packet.  The BIER header contains a bitstring in which each bit represents exactly one BFER to forward the packet to. The set of BFERs to which the multicast packet needs to be forwarded are expressed by setting the bits that correspond to those routers in the BIER header.</t>
	 <t> The BGP-LS address-family/sub-address-family have been defined to allow BGP to carry Link-State informations. This document specifies extensions to the BGP Link-state address-family in order to advertise BIER-specific informations, Similar to BGP-LS Advertisement of IGP Traffic Engineering Performance Metric Extensions(<xref target="RFC8571"/>). An external component (e.g., a controller/a PCE(see <xref target="RFC4655"/> for PCE-Based Architecture ,<xref target="RFC5440"/> for PCEP and <xref target="RFC5376"/> for Inter-AS Requirements for the PCEP.))then can learn the BIER informations in the &quot;northbound&quot; direction and calculate BIRT/BIFT and then propagate them onto BFRs (instead of having each BFR to calculate on its own), and that can be for both inter-as and intra-as situations. </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" format="default"/> <xref target="RFC8174" format="default"/>
        when, and only when, they appear in all capitals, as shown here.</t>
      </section>
	</section>
      
	   <section title="BGP-LS Extensions for BIER">
		<t><xref target="RFC8279"/> defines the BFR - A router that supports BIER is known as a "Bit-Forwarding Router"(BFR), and each BFR MUST be assigned a "BFR-Prefix".  A BFR's Prefix MUST be an IP address (either IPv4 or IPv6) of the BFR, and MUST be unique and routable within the BIER domain as described in section 2 of <xref target="RFC8279"/>, and then external component (e.g., a controller) need to collect BIER informations of BIER routers are associated with the BFR-Prefix in the &quot;northbound&quot; direction within the BIER domain.</t>
       <t> Given that the BIER informations are associated with the prefix, the Prefix Attribute TLV <xref target="RFC9552"/> can be used to carry the BIER informations. The new Prefix Attribute TLVs are defined for the encoding of BIER informations.</t>
	   
	   <section title="Prefix Attributes TLVs">
       <t>The following Prefix Attribute TLVs are defined:</t>
       <artwork><![CDATA[  
+======+=============================+=============+
| Type |         Description         |   Section   |
+======+=============================+=============+
| TBD1 |       BIER information      | section 3.2 |
+------+-----------------------------+-------------+
| TBD2 |   BIER MPLS Encapsulation   | section 3.3 |
+------+-----------------------------+-------------+
| TBD3 | BIER non-MPLS Encapsulation | section 3.4 |
+------+-----------------------------+-------------+
       Table 1: The new Prefix Attribute TLVs
	   
	   ]]></artwork>
		 </section>
		 
   <section title="The BIER information TLV"> 
    <t> A new Prefix Attribute TLV (defined in <xref target="RFC9552"/> is defined for distributing BIER informations. The new TLV is called the BIER information TLV. The BIER information TLV may appear multiple times.</t>
   <t>The following BIER information TLV is defined:</t>
   <artwork><![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  |             BFR-ID            |  Reserved     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    BAR        |    IPA        |            Reserved           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             Figure 1: The BIER information TLV
  ]]></artwork>
 
 <t> Type: A 2-octet field with value TBD, see IANA Considerations section.</t>
 <t> Length: 2 octets.</t>
 <t> Subdomain-id: Unique value identifying the BIER sub-domain, 1 octet.</t>  
 <t> BFR-ID: A 2-octet field encoding the BFR-ID, as documented in <xref target="RFC8279"/>. If the BFR-ID is zero, it means, the advertising router is not advertising any BIER-id.In some environment, BFR-ID can be configured by NMS, The BFR-ID should be sent to a controller.</t>  
 <t> BAR: A 1-octet field encoding the BIER Algorithm, used to calculate underlay paths to reach BFERs.  Values are allocated from the "BIER Algorithms" registry which are defined in <xref target="RFC8401"/>, <xref target="RFC8444"/>and <xref target="I-D.ietf-bier-ospfv3-extensions"/>. </t>
 <t> IPA: A 1-octet field encoding the IGP Algorithm, used to either modify,enhance, or replace the calculation of underlay paths to reach BFERs as defined by the BAR value. Values are from the "IGP Algorithm" registry. </t>
 <t> Reserved: MUST be 0 on transmission, ignored on reception. May be used in future versions. </t>
 </section>
 
  <section title="The BIER MPLS Encapsulation TLV"> 
     <t>The BIER MPLS Encapsulation TLV is used in order to advertise MPLS specific informations used for BIER. It MAY appear multiple times.</t>
     <t>In some environment, each router allocates its labels, and advertises it to the controller. That solution is simpler as the controller does not need to deal with label allocation. If the controller has to deal with Label allocation , there needs to be a (global) range carved out such there are no conflicts.  We can avoid all that by having the router allocate the BIER Label range and advertise it to the controller.</t>
     <t>The following the BIER MPLS Encapsulation Sub-TLV is defined:</t>
	 <artwork><![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         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Max SI   |BS Len |              Label                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Reserved                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          Figure 2: The BIER MPLS Encapsulation TLV
   ]]></artwork>
    <t> Type: A 2-octet field with value TBD, see IANA Considerations section.</t> 
	<t> Length: 2 octets.</t>
    <t> Max SI: A 1-octet field encoding the maximum Set Identifier(as defined in <xref target="RFC8279"/>), used in the encapsulation for this BIER subdomain for this BitString length.</t>
    <t> Label: First label of the range, 20 bits.  The labels are as defined in <xref target="RFC8296"/>.</t>
    <t> BS Len: A 4-bit field field encoding the Bitstring length as per <xref target="RFC8296"/>.</t>
	<t> BS length in multiple BIER MPLS Encapsulation Sub-TLV associated with the same BIER Sub-TLV MUST NOT repeat, otherwise only the first BIER MPLS Encapsulation Sub-TLV with such BS length MUST be used and any subsequent BIER MPLS Encapsulation Sub-TLVs with the same BS length MUST be ignored.</t>
	 </section>
	
     <section title="The BIER non-MPLS Encapsulation TLV"> 	
	 <t>The BIER non-MPLS Encapsulation TLV is used in order to advertise non-MPLS encapsulation(e.g. ethernet encapsulation ) capability and other associated parameters of the encapsulation.It MAY appear multiple times.</t>
	 <t>The following the BIER non-MPLS Encapsulation Sub-TLV is defined:</t>
	 <artwork><![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            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Max SI    |BS Len |               BIFT-id                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Reserved                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       Figure 3: The BIER non-MPLS Encapsulation TLV
   ]]></artwork> 
    <t> Type: A 2-octet field with value TBD, see IANA Considerations section.</t> 
	<t> Length: 2 octets.</t>
    <t> Max SI: A 1-octet field encoding the maximum Set Identifier(as defined in <xref target="RFC8279"/>), used in the encapsulation for this BIER subdomain for this BitString length.</t>
    <t> BIFT-id: A 20 bit field encoding the first BIFT-id of the BIFT-id range.</t>
	<t> The "BIFT-id range" is the set of 20-bit values beginning with the BIFT-id and ending with (BIFT-id + (Max SI)).  A unique BIFT-id range is allocated for each BitString length and sub-domain-id.  These BIFT-id's are used for BIER forwarding as described in <xref target="RFC8279"/>)and <xref target="RFC8296"/>.</t>
    <t> Local BitString Length (BS Len): A 4-bit field encoding the Bitstring length as per <xref target="RFC8296"/>. </t>
	<t> Reserved:SHOULD be set to 0 on transmission and MUST be ignored on reception.</t>
	 </section> 
  </section> 
  
   <section title="Equivalent IS-IS BIER TLVs/Sub-TLVs"> 	
	 <t>This section illustrates the IS-IS BIER Extensions Sub-TLVs/Sub-Sub-TLVs mapped to the ones defined in this document.</t>
     <t> The following table illustrates for each BGP-LS TLV, and its equivalence in IS-IS.</t>
	  <artwork><![CDATA[  
+=============+=============+=======================================+
| Description |  IS-IS TLV/ |               Reference               |
|             |   Sub-TLV   |                                       |
+=============+=============+=======================================+
|     BIER    |  BIER info  |               [RFC8401]               |
| information |   Sub-TLV   |                                       |
+-------------+-------------+---------------------------------------+
|  BIER MPLS  |  BIER MPLS  |               [RFC8401]               |
|Encapsulation|Encapsulation|                                       |
|             | Sub-Sub-TLV |                                       |
+-------------+-------------+---------------------------------------+
|BIER non-MPLS|BIER non-MPLS|[I-D.ietf-bier-lsr-non-mpls-extensions]|
|Encapsulation|Encapsulation|                                       |
|             | Sub-Sub-TLV |                                       |
+-------------+-------------+---------------------------------------+
     Table 2: IS-IS BIER Extensions Sub-TLVs/Sub-Sub-TLVs
	   
	   ]]></artwork>
 </section> 
 
  <section title="Equivalent OSPFv2/OSPFV3 BIER TLVs/Sub-TLVs"> 
	 <t> This section illustrates the BIER Extensions TLVs/Sub-TLVs mapped to the ones defined in this document.</t>
     <t> The following table illustrates for each BGP-LS TLV, and its equivalence in OSPFv2/OSPFV3.</t>
	 <artwork><![CDATA[  
+=============+=============+=======================================+
| Description |OSPFv2/OSPFV3|           Reference                   |
|             | sub-TLV/Sub-|                                       |
|             |   Sub-TLV   |                                       |
+=============+=============+=======================================+
|     BIER    | BIER Sub-TLV|[RFC8444],                             |
| information |             |[I-D.ietf-bier-ospfv3-extensions]      |                                       
+-------------+-------------+---------------------------------------+
|  BIER MPLS  |  BIER MPLS  |[RFC8444],                             |
|Encapsulation|Encapsulation|[I-D.ietf-bier-ospfv3-extensions]      |
|             |   Sub-TLV   |                                       |
+-------------+-------------+---------------------------------------+
|BIER non-MPLS|BIER non-MPLS|[I-D.ietf-bier-lsr-non-mpls-extensions]|
|Encapsulation|Encapsulation|                                       |
|             |   Sub-TLV   |                                       |
+-------------+-------------+---------------------------------------+
                 Table 3: OSPFv2/OSPFV3 BIER TLVs/Sub-TLVs
	   ]]></artwork>
 </section> 
	
	<section anchor="iana-considerations" title="IANA Considerations">
    <t>IANA maintains a registry group called "Border Gateway Protocol - Link State (BGP-LS) Parameters" with a registry called "BGP-LS NLRI and Attribute TLVs". The following TLV codepoints are suggested (for early allocation by IANA): </t>
	 <artwork><![CDATA[  
+============+=============================+==================+
| Code Point |         Description         | Value defined in |
+============+=============================+==================+
|    TBD1    |       BIER information      |  this document   |
+------------+-----------------------------+------------------+
|    TBD2    |   BIER MPLS Encapsulation   |  this document   |
+------------+-----------------------------+------------------+
|    TBD3    | BIER non-MPLS Encapsulation |  this document   |
+------------+-----------------------------+------------------+
           Table 4: The new Prefix Attribute TLVs
	   ]]></artwork>
</section>

    <section anchor="security-considerations" title="Security Considerations">
    <t> Procedures and protocol extensions defined in this document do not
   affect the BGP security model.  See the "Security Considerations"section of <xref target="RFC4271"/> for a discussion of BGP security.Security considerations for acquiring and distributing BGP-LS information are discussed in <xref target="RFC9552"/>.</t>
    <t> The TLVs introduced in this document are used to propagate the
   Bit Index Explicit Replication (BIER) defined in <xref target="RFC8401"/>, <xref target="RFC8444"/> , <xref target="I-D.ietf-bier-ospfv3-extensions"/>, and <xref target="I-D.ietf-bier-lsr-non-mpls-extensions"/>. These TLVs represent the bier information associated with the prefix. It is assumed that the IGP instances originating these TLVs will support all the required security and authentication mechanisms in <xref target="RFC8401"/>, <xref target="RFC8444"/>, <xref target="I-D.ietf-bier-ospfv3-extensions"/> ,and <xref target="I-D.ietf-bier-lsr-non-mpls-extensions"/> in order to prevent any security issues when propagating the TLVs into BGP-LS.  The advertisement of the link attribute information defined in this document present no additional risk beyond that associated with the existing link attribute informations already supported in <xref target="RFC9552"/>.</t>
   </section>
	
	 <section anchor="acknowledgments" title="Acknowledgments">
      <t> The authors thank Peter Psenak, Ketan Talaulikar, Gyan Mishra and Benchong Xu and many others for their suggestions and comments.</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 title="Normative References">
  
        <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
     <?rfc include='reference.RFC.2119'?>
	 <?rfc include='reference.RFC.9552'?>
	 <?rfc include='reference.RFC.8174'?>
	 <?rfc include='reference.RFC.8279'?>
	 <?rfc include='reference.RFC.8296'?>
	 <?rfc include='reference.RFC.8401'?>
	 <?rfc include='reference.RFC.8444'?>
	 <?rfc include='reference.RFC.8571'?>
	 <?rfc include='reference.I-D.ietf-bier-ospfv3-extensions'?>
	 <?rfc include='reference.I-D.ietf-bier-lsr-non-mpls-extensions'?>
    </references>
	<references title="Informative References">
	 <?rfc include='reference.RFC.4271'?>
	 <?rfc include='reference.RFC.4655'?>
	 <?rfc include='reference.RFC.5440'?>
	 <?rfc include='reference.RFC.5376'?>
	 
      </references>
   
 </back>
</rfc>
