<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8279 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8279.xml">
<!ENTITY RFC7684 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7684.xml">
<!ENTITY RFC5120 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5120.xml">
<!ENTITY RFC5305 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5305.xml">
<!ENTITY RFC5308 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5308.xml">
<!ENTITY RFC8401 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8401.xml">
<!ENTITY RFC8444 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8444.xml">
<!ENTITY RFC8277 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8277.xml">
<!ENTITY RFC8362 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8362.xml">
<!ENTITY RFC9793 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9793.xml">
<!ENTITY I-D.ietf-mpls-seamless-mpls PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-mpls-seamless-mpls.xml'>
<!ENTITY I-D.ietf-bier-ospfv3-extensions PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-bier-ospfv3-extensions.xml'>
<!ENTITY I-D.ietf-bier-lsr-non-mpls-extensions PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-bier-lsr-non-mpls-extensions.xml'>
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc strict="no"?>
<?rfc rfcedstyle="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ietf-bier-prefix-redistribute-10" ipr="trust200902">
  <front>
    <title abbrev="BIER Prefix Redistribute">BIER Prefix Redistribute</title>

<author fullname="Zheng(Sandy) Zhang" initials="Z" surname="Zhang">
    <organization>ZTE Corporation</organization>
    <address>
        <email>zhang.zheng@zte.com.cn</email>
    </address>
</author>

    <author fullname="Bo Wu" initials="B" surname="Wu">
      <organization>Individual</organization>
      <address>
        <email>w1973941761@163.com</email>
      </address>
    </author>

    <author fullname="Zhaohui Zhang" initials="Z" surname="Zhang" role="editor">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>

    <author fullname="IJsbrand Wijnands" initials="IJ" surname="Wijnands">
      <organization>Individual</organization>
      <address>
        <email>ice@braindump.be</email>
      </address>
    </author>
    
    <author fullname="Yisong Liu" initials="Y" surname="Liu">
      <organization>China Mobile</organization>
      <address>
        <email>liuyisong.ietf@gmail.com</email>
      </address>
    </author>
    
    <author fullname="Hooman Bidgoli" initials="H." surname="Bidgoli">
      <organization>Nokia</organization>
      <address>
        <email>hooman.bidgoli@nokia.com</email>
      </address>
    </author>

    <date year="2026"/>

    <workgroup>BIER</workgroup>

    <abstract>
      <t>This document defines a BIER proxy function to support one single
	  BIER sub-domain over multiple underlay routing protocol regions
	  (Autonomous Systems or IGP areas). A new BIER proxy range sub-TLV is
		defined to redistribute BIER BFR-id information across the routing
		regions.
      </t>
    </abstract>

    <note title="Requirements Language">
      <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>
    </note>
  </front>

  <middle>
    <section title="Introduction">
    <t><xref target="RFC8279"/> introduces a novel 
    multicast architecture. It does not require a signaling
    protocol to explicitly build multicast distribution trees, nor does it require intermediate nodes to
    maintain any per-flow state. 
    </t>
    <t>OSPF/ISIS/BGP signaling for BIER
	  <xref target= "RFC8401"/>, <xref target= "RFC8444"/>, <xref target="RFC9793"/>,
		<xref target="I-D.ietf-bier-ospfv3-extensions"/>, <xref target="I-D.ietf-bier-lsr-non-mpls-extensions"/> 
    define the extensions to support BIER information distribution in BIER domains. 
    </t>
    <t>This document defines a BIER proxy function to support one single
	  BIER sub-domain over multiple underlay routing protocol regions
	  (Autonomous Systems or IGP areas).
    </t>
    </section>
  
    <section title="Terminology" anchor="terminology">
	  <t>The terminologies are the same with the definition in 
	  BIER architecture <xref target= "RFC8279"/>, OSPF/ISIS/BGP signaling for BIER
	  <xref target= "RFC8401"/>, <xref target= "RFC8444"/>, <xref target="RFC9793"/>,
		<xref target="I-D.ietf-bier-ospfv3-extensions"/>. 
	  </t>
	</section>	  
    <section title="Problem statement">
      <t>BIER <xref target= "RFC8279"/> is a new multicast architecture
	  that does not need per-tree state inside a network for multicast
	  forwarding. 
	  BIER forwarding state (which is not per-tree) is built according
	  to a routing underlay, which is defaulted to an IGP domain
	  though not limited to that. In this routing underlay, BIER information
	  like BIER-prefix, BFR-id, subdomain-id, and encapsulation is propagated
	  using IGP or BGP as specified 
		in documents such as <xref target= "RFC8401"/>, 
		<xref target= "RFC8444"/>, 
		<xref target="RFC9793"/>,
		<xref target="I-D.ietf-bier-ospfv3-extensions"/>, 
    <xref target="I-D.ietf-bier-lsr-non-mpls-extensions"/>.
	  </t>    

      <t>In some deployment situations, different routing protocols may
	  be used in differet parts of a network yet there are just small 
	  number of BFERs in each protocol domain, so one single BIER sub-domain
	  is desired. This requires BIER information redistribution among
	  different regions or protocols, as described in the following two sections.
        </t>
	 <section title="Multipe IGP domains" anchor="multi-igp">
     <figure  align="center">
            <artwork align="center"><![CDATA[			
            +----+             +----+
       +----+ R1 +-------------+ R2 +-----+
       |    +----+             +----+     |
       |          OSPF / ISIS             |
       |           domain 1               |
       |                                  |
       |     +----+            +----+     |
       +-----+    +------------+    +-----+
+------------+ R3 +---+    +---+ R4 +------------+
|            +----+   |    |   +----+            |
|        OSPF         |    |        OSPF         |
|                     |    |                     |
|     domain 2        |    |       domain 3      |
|  +----+     +----+  |    |   +----+    +----+  |
+--+ Rm +-----+ Rn +--+    +---+ Rx +----+ Ry +--+
   +----+     +----+           +----+    +----+
                     Figure 1
            ]]></artwork>
       <postamble></postamble>
      </figure>	 

      <t>While one could treat each IGP domain in the above network
	  as one separate BIER sub-domain, the border routers R3/R4 would need
	  decapsulate incoming BIER header in one BIER sub-domain,
	  forward based on flow overlay per-tree state,
	  and re-ecapsulate with a BIER header for forwarding in
	  one next BIER sub-domain. This not only is inefficient in forwarding, 
      but also require per-tree state on the border routers,
	  which is undesired.</t>

        <t>A better solution is to treat the entire network of
		multiple IGP domains as one single BIER sub-domain with one single
		routing underlay.
		</t>
	 </section>
	 <section title="Seamless MPLS Network" anchor="seamless">
	   <t>Figure 1 could also depict a Seamless MPLS
	   <xref target="I-D.ietf-mpls-seamless-mpls"/> network, where
	   BGP-LU <xref target= "RFC8277"/> is used to distribute routes
	   for edge routers (e.g. R1/R2/Rm/Rn/Rx/Ry) among the edge
	   routers and border routers (e.g. R3/R4), but those routes
	   are not redistributed into
	   other IGP areas/domains. With that, internal routers in
	   an area/domain will only have routes to local nodes, yet they still
	   need to build BIER forwarding state for BFERs in other areas/domains.
	   </t>
	 </section>
	</section>
	<section title="Proposed Solution">
	  <t>For the multiple IGP domains scenario in <xref target="multi-igp"/>,
	  BIER information
		from one domain needs to be redistributed into another
		domain, like that BIER information is redistributed
		from one IGP area to another as specified in <xref target= "RFC8401"/>, 
		<xref target= "RFC8444"/>, and <xref target="I-D.ietf-bier-ospfv3-extensions"/>.
        </t>

		<t>Specifically, when an ASBR redistributes BIER prefixes
		for BFERs from one protocol domain to another, BIER
		information is also	redistributed except the encapsulation
		information (because BFRs in one domain will not directly
		send BIER packets to BFRs in the other domain so
		only the BFR-IDs of the BFERs matters). When BIER prefixes
		for non-BFIR/BFER (i.e. whose BFR-ID is 0) are redistributed,
		BIER information is not redistributed.
		</t>
		<t>
		  If route summarization is used, because a summarized prefix
		  may cover many BFERs, the BFR-IDs of those covered BFERs needs
		  to be explicitly listed in proxy range sub-TLV
		  (see <xref target="proxy-range"/>).
		  In case of Seamless MPLS (<xref target="seamless"/>),
		  when a border router advertises BIER information for itself in
		  one area/domain, it also explicitly lists the BFIRs/BFERs
		  in other areas/domains that are reachable via itself in the
		  proxy range sub-TLV.
		</t>
        <t>In figure 1, R3/R4 connects two routing domains. After R3 receives 
		BIER information for Rm/Rn from domain 2 and redistribute to 
		domain 1, BFRs in domain 1 can build
		BIER forwarding state for BFERs in domain 2 through R3. 
		Similarly, R3 receives BIER information for R1/R2 from domain 1
		and redistribute into domain 2. BFRs in domain 2 can build 
		BIER forwarding state for BFERs in domain 1 through R3.
		</t>
		
		<t>For example, in this network, suppose that Rm and Rn have 
		the prefix of 203.0.113.1/32, 203.0.113.2/32. In order to build 
		one BIER sub-domain which includes these three IGP domains, R3 
		advertises the BFR-ids of Rm/Rn with associated prefixes 
		(203.0.113.1/32, 203.0.113.2/32) into the upper domain. Similarly, 
		R4 advertises the BFR-ids of Rx/Ry with associated prefixes 
		(198.51.100.1/32, 198.51.100.2/32) into the upper domain too.</t>
		
		<t>And R3/R4 advertises the prefixes of R1 and R2 (suppose 
		that the prefixes are 192.0.2.1/32 and 192.0.2.2/32) with associated BFR-ids into 
		IGP domain 1 and domain 2. Also, R3 advertises the prefixes learned from R4 
		(198.51.100.1/32, 198.51.100.2/32) with associated BFR-ids into IGP 
		domain 1. R4 also advertises the prefixes (203.0.113.1/32, 203.0.113.2/32) 
		with associated BFR-ids into IGP domain 2.</t>
		
		<t>Obviously, in order to build one large BIER sub-domain, the 
		BFR-id of edge router in each IGP domain MUST NOT overlap.</t>

    </section>

	<section title="Specifications">
	  <section title="Redistribution of BIER Information">
	  <t>Consider one BIER sub-domain that spans multiple routing domains.
	  The procedures in this section apply if a border router, which is also
	  a BFR, redistribute routing information from one routing domain
	  into another.
	  </t>
	  <t>If a redistributed route is for a host route for a BFIR/BFER
	  (i.e. the BFR-ID is not zero) in one same sub-domain,
	  BIER information for the BFIR/BFERs MUST be advertised in the
	  target routing domain as following:
      <list style="symbols">
		<t>If the target routing domain is OSPFv2, a BIER Sub-TLV
		<xref target="RFC8444"/> is attached to the OSPFv2 Extended
		Prefix TLV in the OSPFv2 Extended Prefix Opaque LSA <xref target="RFC7684"/>
		corresponding to the redistributed host route.</t>
		<t>If the target routing domain is OSPFv3, a BIER Sub-TLV
		<xref target="I-D.ietf-bier-ospfv3-extensions"/> is attached to the OSPFv3 Extended LSA TLVs
    in the Intra-Area-Prefix TLV <xref target="RFC8362"/>.
		corresponding to the redistributed host route.</t>
		<t>If the target routing domain is ISIS, a BIER Info Sub-TLV
		<xref target="RFC8401"/> is attached to the TLVs of 235, 237,
    <xref target="RFC5120"/>, 135 <xref target="RFC5305"/>, or 236 <xref target="RFC5308"/>.</t>
		<t>If the target routing domain is BGP, a BIER TLV
		<xref target="RFC9793"/> is attached to BGP Path Attribute. </t>
	  </list>
	  </t>
	  <t>The BIER Sub-TLV (in case of OSPF2 and OSPFv3), BIER Info Sub-TLV (in case of IS-IS) and BIER TLV (in case of BGP) are encoded as
	  specified in <xref target= "RFC8444"/>, 
	  <xref target="I-D.ietf-bier-ospfv3-extensions"/>, 
	  and <xref target= "RFC8401"/>, and <xref target="RFC9793"/>.
      The encapsulation sub-TLV SHOULD NOT be included because it
      would not be used.
	  </t>
	  <t>If a redistributed route is for a host route for a transit BFR
	  (i.e. the BFR-ID is zero), BIER information for the BFR SHOULD
	  NOT be redistributed, because it would not be used.
	  </t>

	  <t>If the redistributed route is a summary or default route that covers
	  some BFIR/BFERs, a BIER Sub-TLV (for OSPFv2 and OSPFv3), 
	  or a BIER Info Sub-TLV (in case of IS-IS), or a BIER TLV (in case of BGP) MUST be
	  used to advertise the covered BFIRs/BFERs via the
	  BIER proxy range sub-TLV as specified in the following section.
	  The proxy range sub-TLV MAY also be used when the BIER prefix
	  is for a border router via which multiple BFERs can be reached.
<!--	  and those BFER's BIER prefixes are not re-distributed or
	  covered in some summary/default routes.-->
	  </t>
<!-- BIER info sub-TLV defined in 
	<xref target= "RFC8401"/> and BIER sub-TLV defined in 
	<xref target= "RFC8444"/>, 
	<xref target="I-D.ietf-bier-ospfv3-extensions"/> is reused to 
	convey the BFR-id information. OSPF extended Prefix Opaque LSA 
	<xref target="RFC7684"/> and TLVs 235, 237 defined in 
	<xref target="RFC5120"/>, or TLVs 135 <xref target="RFC5305"/>, 
	or TLV 236 <xref target="RFC5308"/> are still used to carry the 
	BFR-id/ BFR-prefix information, etc. 
    </t>

    <t>The key parameters got from the original routing protocol should 
	be adapted to the format of next routing protocol, such as 
	BFR-prefix, BFR-id, subdomain-id, and so on. Some parameters like 
	BAR, MT-ID has local significance, So they should be set to same 
	values with BIER proxy own advertisement when BIER proxy advertise 
	them to the next routing area.
    </t>
	
    <t>And as the two BIER info sub-sub-TLVs (sub-TLVs) including MPLS 
	encapsulation and BSL conversion also have local significance. The 
	information carried in these two sub-sub-TLV need not, but MAY, be 
	advertised to next routing area.
    </t>
	
	<t>In the same example, when R3 advertises the prefixes of Rm and 
	Rn into the upper area, R3 may advertise the prefixes one by one, 
	that is R3 advertises 203.0.113.1/32 with associated BFR-id, and R3 
	advertises 203.0.113.2/32 with associated BFR-id. If there is dozens 
	of edge routers in area 1, R3 advertises dozens of prefixes and 
	associated BFR-ids into the upper area. When R3 advertises the 
	prefixes from the upper area into area 1, R3 advertises the 
	prefixes of R1 and R2 with associated BFR-ids separately, and R3 
	advertises the prefixes of Rx and Ry which come from R4 into area 
	1 one by one. R4 does it as well.</t-->

	  </section>
    <section title="BIER proxy range sub-TLV" anchor="proxy-range">
      <t>The BIER Sub-TLV can include a proxy range sub-TLV, which
	  lists BFIRs/BFERs covered by a prefix or a summary/default route or
	  reachable via a BFR.
	  </t>    
    <!--t>In some cases unicast default route and aggregated/ summarized routes
   are used in some routing areas and routers in next area can not see
   the specific BFR-prefix routes from original area.  Like in figure 3,
   in case R3/R4 is not allowed to advertise specific ISIS unicast routes to OSPF
   area and only advertises unicast default route or aggregated/
   summarized route to OSPF area 1/2, when R3/R4 advertises BIER info
   sub-TLV to OSPF area 1/2, R3 MUST advertise the prefix with default
   route or aggregated/ summarized route.  In that case, multiple BFR-
   ids will be mapped to one prefix.  In order to advertise BFR-ids
   optimally, we define a new BIER proxy range sub-TLV to advertise the
   information of BFR-ids.
    </t-->
	<t>
     <figure  align="center">
       <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       |   Length      |              resv             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           BFR-id              |          BFR-id range         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                            ...                                |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           BFR-id              |          BFR-id range         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                              figure 2
       ]]></artwork>
       <postamble></postamble>
     </figure>
	</t>
	<t>
    <list style="symbols">
	
	<t>Type: 8-bit unsigned integer. TBD to indicate the BIER proxy 
	range sub-TLV.</t>
	
	<t>Length: 8-bit unsigned integer. Length of the BIER proxy range 
	sub-TLV in 4-octet units, not including the first 4 octets.</t>
	
    <t>resv: 16-bit unsigned integer. The reserved field.</t>

    <t>BFR-id: 16-bit unsigned integer. The first BFR-id from original 
	advertisement.</t>

    <t>BFR-id range: 16-bit unsigned integer. The range of BFR-ids 
	with one subdomain-id.</t>

	</list>
    </t>

    <t>
      The BIER proxy range sub-TLV is included in the BIER Sub-TLV
	  for an aggregated/summary route prefix or default route prefix,
	  or in the BIER Sub-TLV for a BIER prefix (i.e., a border router in
	  a Seamless MPLS network). Multiple BIER proxy range sub-TLVs MAY be
	  included in the BIER Sub-TLV.     <!--For example, the BFR-ids covered
	  by the prefix may be from different ranges (even if they are from a single range but 
	some BFR-ids in the range map to the BIER prefixes that are 
	covered by a different summarized/ aggregated prefix, then that 
	single large range needs to be broken into smaller ranges).-->
    </t>

    <t>
    The range in the BIER proxy range sub-TLV can be as granular as to
   advertise individual BFR-ids.  Though a larger range can increase
   advertisement efficiency, that requires careful planning for BFR-id
   assignment.
    </t>

    <t>
    When the proxy range sub-TLV is used, 
	the mapping between a BIER prefix and its BFR-id is no longer 
	conveyed in the routing underlay. As a result, the mapping must 
	be provided by other means, e.g. in the multicast overlay.
    </t>
	
	<t> There may be multiple border routers connecting two regions 
   and the same BFR-ID may be advertised in Proxy Range sub-TLVs 
   from multiple border routers. This is fine because the border routers 
   are just advertising that the BFER represented by the BFR-ID 
   can be reached through them.</t>
	  
	</section>
	<section title="BIRT/BIFT Calculation">
	<t>If a BFR receives a BIER prefix whose BIER Sub-TLV includes
	a proxy range sub-TLV (i.e., the Seamless MPLS scenario),
	it treats as if that the originator advertised a default route
	with the proxy range sub-TLV.  Note that this imaginary default
	route is only for the purpose of building BIRT/BIFT entries
	and not used for unicast forwarding.
	</t>
	<t>With the BIER prefixes originated in the local routing area/domain,
	the BIER prefixes and summary/default routes redistributed into the
	local routing area/domain, and the imaginary default route mentioned
	above, a BFR builds BIRTs as specified in <xref target= "RFC8279"/> with entries including
	host/summary/default prefixes.
	</t>
	<t>BIFT entries are then derived from a corresponding BIRT.
	For a BFER covered by the proxy range sub-TLVs associated with
	the summary/default prefixes (whether or not the deafult prefix is the
	imaginary one as mentioned above), its BIFT entry is derived from
	the summary/default prefix entry in the BIRT.
   It is possible that a BFR-ID for a BFER is listed in the proxy
   range sub-TLV of multiple prefixes. if one prefix is less specific than another,
   it is not considered for the BFER. Of all the remaining prefixes whose proxy range sub-TLV
   covers a BFR-ID, the one with the preferred cost/metric MUST be used to derive
   the BIFT entry for the BFER. When there is a tie, ECMP or tie-breaker MAY be used.</t>
    
    <!--t>
     The proxy range sub-TLV can also be attached to a host BIER prefix
   itself.  Consider the situation where BGP-LU <xref target= "RFC8277"/> is used for a
   seamless MPLS <xref target="I-D.ietf-mpls-seamless-mpls"/> environment.  An ABR/ASBR
   advertises BIER prefixes via BGP over an area/AS to other ABR/ASBRs
   but the BIER prefixes are not advertised into the IGP for the area/
   AS.  The ABR/ASBR does advertise the BIER prefix for itself into the
   IGP for the area/AS, with a BIER proxy range sub-TLV to cover the
   BFR-IDs for BFRs that the ABR/ASBR has learned (either through IGP or
   through BGP signaling).  When an internal BFR receives it, it treats
   as if a default summary route had been received with the proxy range
   sub-TLV.  Note that this imaginary default summary route is only for
   the purpose of building BIRT/BIFT entries and not used for unicast
   forwarding.
    </t-->
    
    <t>
      With this scheme, even though the BIER prefixes are not advertised
	  into the IGP for an area/domain in a Seamless MPLS network and unicast
	  traffic for those BIER prefixes are tunneled through, corresponding BIFT entries are
   maintained inside the area/domain for the purpose of efficient BIER
   forwarding.  Otherwise, BIER forwarding through the area/domain would be
   tunneled just like unicast case.
    </t>

	</section>
  </section>

  <section title="IANA Considerations">
    <t>IANA is requested to set up new types of sub-TLV (TLV) registry value
    for BIER proxy range advertisement in OSPF, ISIS, BGP, etc.</t>
  </section>

  <section title="Security Considerations">
    <t>Implementations must assure that malformed TLV and Sub-TLV
	permutations do not result in errors which cause hard protocol
	failures.</t>
  </section>
  
  <section title="Acknowledgements"> 
    <t>The authors would like to thank Stig Venaas for his valuable comments and suggestions.</t>
  </section>
</middle>

<back>

    <references title="Normative References">
    &RFC5120;
    &RFC5305;
    &RFC5308;
    &RFC7684;        
    &RFC8279;
    &RFC8362;
    &RFC8401;
    &RFC8444;
    &RFC9793;
    &I-D.ietf-bier-ospfv3-extensions;
    &I-D.ietf-bier-lsr-non-mpls-extensions;
    </references>

    <references title='Informative References'>
    &RFC8277;
    &I-D.ietf-mpls-seamless-mpls;
    </references>

    <section title="Proxy range sub-TLV usage">
    <t>This appendix is to make the function understood more easily.
    Except for inter-area case, the function is also suitable for inter-as case.    
    In the same example of figure 1, in case there are 40 edge routers in domain 1, 
	the BFR-ids of domain 1 start from 51 to 90, and the prefixes of 
	these routers start from 203.0.113.1/32 to 203.0.113.40/32. These 
	assigned BFR-IDs are not overlapped with the BFR-IDs in any other domain.
    </t>

    <t>
    In order to build one BIER sub-domain across these areas, the two advertisement methods 
    defined in <xref target="proxy-range"/> can be used: </t>
    <t>
    <list style="symbols">
    <t>As a transit node, R3 advertises the BIER sub-TLV with BFR-ID set to 0. 
    When R3 is not allowed to advertise the summary or specific prefixes into the upper domain, 
  R3 can advertise the proxy range sub-TLV with the host prefix directly. 
  So there are two sub-TLVs advertisement associated with the host prefix of R3.</t>
    <t>As a transit node, R3 advertises the BIER sub-TLV with BFR-ID set to 0. 
    When R3 is allowed to advertise the summary prefix into the upper domain, 
	R3 can advertise the proxy range sub-TLV with the summarized prefix, 203.0.113.0/24, with the BFR-id set 
	to 51, the BFR-id range set to 40, into the upper domain. In this case, there are two prefixes advertised by R3. 
  But the summary prefix can not be used to encapsulate BIER packet directly in case of tunneling case. 
  The summary prefix is only used to generate the BIFT.</t>
    </list>
    </t>

	<t>Then the router in the uppler domain can build the BIER forwarding table, the nexthops of BFR-IDs 
  in the proxy range sub-TLV are set to R3.</t>
  <t>The same function is also applied to R4 when it advertises the BFR-IDs to the upper domain. 
  This method is also applied to R3/R4 when it advertises the BFR-IDs to the lower domain. 
  When R3 advertises the prefixes from the upper domain and domain 2 
	into domain 1, except the host prefix of R3 with BFR-ID set to 0, 
  R3 may advertise only the default route 
	into domain 1 if one or more continuous BFR-id range can be 
	attached. Suppose that the BFR-id in the upper domain starts from 
	1001 to 1050, the BFR-id in domain 2 starts from 201 to 250, and 
	these ranges are not overlapped with the ranges in any other 
	domain. Suppose that the sub-domain ID is 1, the BIER proxy range 
	sub-TLV may be advertised like this:
    </t>

    <figure  align="center">
      <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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     TBD       |       2        |       1      |       0       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           1001                 |              50              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           201                  |              50              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                         figure 3
   ]]></artwork>
      <postamble></postamble>
  </figure>	 
	
	<t>Then the BIER overlay is built among R1, R2, Rm, Rn, Rx and Ry. 
	R3 and R4 need not maintain the multicast overlay states. 
  The optimized summary/ aggregated or default prefix can be 
	generated by the operation policy which is configured by the 
	network administrator.</t>
	
  <t>If two or more ABRs in one domain are used to reistribute the prefix, for example in figure 4 below:</t>
       <figure  align="center">
            <artwork align="center"><![CDATA[			
+-------------------------------------------------------+
|              +----+             +----+         BIER   |
|  +-----------+ R1 +-------------+ R2 +-----+ domain 1 |
|  |           +----+             +----+     |          |
|  |                   OSPF/ISIS             |          |
|  |                                         |          |
|  |  +----+    +----+            +----+     |          |
|  +--+    +----+    +------------+    +-----+          |
|  +--+ R5 +----+ R3 +---+    +---+ R4 +------------+   |
|  |  +----+    +----+   |    |   +----+            |   |
|  |                     |    |                     |   |
|  |    OSPF domain 1    |    |    OSPF domain 2    |   |
|  |                     |    |                     |   |
|  |  +----+     +----+  |    |   +----+    +----+  |   |
|  +--+ Rm +-----+ Rn +--+    +---+ Rx +----+ Ry +--+   |
|     +----+     +----+           +----+    +----+      |
+-------------------------------------------------------+
                       Figure 4
            ]]></artwork>
       <postamble></postamble>
      </figure>	 
  
  <t>As the ABRs, except the host prefixes of R3 and R5 advertisement, 
  R3 and R5 can both advertise the proxy range sub-TLV with their host prefix, 
  the routers can select one of them as the nexthop, or select both of them for ECMP.</t>
  <t>If R3 and R5 are allowed to advertise the summary prefix received from the upper domain. 
  They can advertise the same summary prefixes or the different prefixes according to the operation policy. 
  When they advertise the same summary prefixes, the R3 and R5 can also be used for ECMP. 
  When they advertise the different summary prefixes, the more specific prefixes are used to generate 
  the BIER forwarding table. 
  Whatever the same or different prefixes are advertised, the nexthop is set to R3/R5.</t>  

  <t>In case the range of BFR-ids in one domain is overlapped with the 
	BFR-ids in any other domain, the proxy range sub-TLV may not be used. 
	In the same example above, if the BFR-ids in domain 1 are 21, 31, 41, 
	etc., the BFR-ids in domain 2 are 22, 32, 42, etc., even if the 
	summarized prefixes are not overlapped with the prefixes in any 
	other domain, when R3 advertises the summarized prefixes in domain 1 
	into the upper domain, the proxy range sub-TLV may not optimize the 
	advertisement.</t>

	<t>After the forwarding plane is built, 
  the nexthop of the range BFR-IDs is set to the ABR router. 
  For example, when R1 receives multicast 
	packet, and the receivers of this flow are connected by Rm and Rx, 
	R1 encapsulates BIER header in front of the flow packet with 
	BFR-ids set to Rm and Rx. The routers in the upper domain forward the packet to the ABR routers: R3, R4 and R5.   
  When R3/R4/R5 receives the packet, R3/R4/R5 needs 
	not decapsulate and re-encapsulate the packet. R3/R4/R5 just forwards 
	the packet according to the BIER forwarding table. 
  Similar with the upper domain, the routers in lower domain forward the packet to the edge routers: Rm and Rx.
  When the packet reaches Rm and Rx, Rm and Rx remove the BIER header and forward it to receivers.</t>
  
    </section>
  </back>
</rfc>
