<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC1195 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1195.xml">
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5120 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5120.xml">
<!ENTITY RFC5304 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5304.xml">
<!ENTITY RFC5305 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5305.xml">
<!ENTITY RFC5308 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5308.xml">
<!ENTITY RFC5310 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5310.xml">
<!ENTITY RFC7794 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7794.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8279 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8279.xml">
<!ENTITY RFC8296 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8296.xml">
<!ENTITY RFC8401 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8401.xml">
<!ENTITY I-D.ietf-bier-non-mpls-bift-encoding SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-bier-non-mpls-bift-encoding-01.xml">
<!ENTITY RFC8126 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
]>
<rfc submissionType="IETF" docName="draft-dhanaraj-bier-isis-non-mpls-extensions-00" category="std"><?rfc compact="yes"?>
	<?rfc text-list-symbols="o*+-"?>
	<?rfc subcompact="no"?>
	<?rfc sortrefs="yes"?>
	<?rfc symrefs="yes"?>
	<?rfc strict="yes"?>
	<?rfc toc="yes"?>
	
	<front>
	   <title abbrev="ISIS Extensions for BIER in Non-MPLS">ISIS Extensions for BIER in Non-MPLS Networks</title>
	   <author fullname="Senthil Dhanaraj" initials="S" role="editor" surname="Dhanaraj">
	     <organization>Huawei</organization>
	     <address>
	       <email>senthil.dhanaraj.ietf@gmail.com</email>
	     </address>
	   </author>
	   <author fullname="IJsbrand Wijnands" initials="IJ" surname="Wijnands">
	     <organization>Cisco Systems, Inc.</organization>
	     <address>
	       <email>ice@cisco.com</email>
	     </address>
	   </author>
	   <author fullname="Peter Psenak" initials="P" surname="Psenak">
	     <organization>Cisco Systems, Inc.</organization>
	     <address>
	       <email>ppsenak@cisco.com</email>
	     </address>
	   </author>
	   <author fullname="Gang Yan" initials="G" surname="Yan">
	     <organization>Huawei</organization>
	     <address>
	       <email>yangang@huawei.com</email>
	     </address>
	   </author>
	   <author fullname="Jingrong Xie" initials="J" surname="Xie">
	     <organization>Huawei</organization>
	     <address>
	       <email>xiejingrong@huawei.com</email>
	     </address>
	   </author>
	   <date day="23" month="November" year="2018"/>
	   <workgroup>Internet Engineering Task Force</workgroup>
	   <abstract>
	     <t>Bit Index Explicit Replication (BIER) <xref target="RFC8279"/> is an 
       architecture that provides multicast forwarding through a "BIER domain"
       without requiring intermediate routers to maintain multicast related per-flow
       state. BIER can be supported in MPLS and non-MPLS networks. The common 
       BIER header format and encapsulation for MPLS and non-MPLS networks is
       specified in <xref target="RFC8296"/>.</t>
     
       <t>BIER in Ethernet encapsulation is an example of BIER encapsulation in non-MPLS networks.</t>
     
       <t><xref target="RFC8401"/> specifies the required extensions to the IS-IS <xref target="RFC1195"/>
       protocol for the distribution of BIER sub-domain information including the Sub-sub-TLV required
       to support BIER in MPLS encapsulation for MPLS networks.</t>
     
       <t>This document specifies the required extensions to the IS-IS <xref target="RFC1195"/> protocol for 
       supporting BIER in non-MPLS networks using BIER in Ethernet encapsulation.</t>
	   </abstract>
	</front>

	<middle>
	<section title="Introduction" anchor="section-1">
	   
	     <t>Bit Index Explicit Replication (BIER) <xref target="RFC8279"/> is an 
       architecture that provides multicast forwarding through a "BIER domain"
       without requiring intermediate routers to maintain multicast related per-flow
       state. BIER can be supported in MPLS and non-MPLS networks. The common 
       BIER header format and encapsulation for MPLS and non-MPLS networks is
       specified in <xref target="RFC8296"/>.</t>
   
       <t>As stated in <xref target="RFC8296"/>, the encapsulation of Initial Four Octets
       in BIER header for MPLS and non-MPLS networks are different. In particular, the
       first 20-bits of the BIER header (referred as BIFT-id) is a "MPLS Label" in case
       of MPLS networks and is a "domain-wide-unique-value" representing the combination
       of SD-BSL-SI in case of non-MPLS networks.</t>

       <t>BIER in Ethernet encapsulation is an example of BIER encapsulation in non-MPLS networks.</t>
  
       <t>
	     <list hangIndent="3" style="hanging">
       <t>BIER in Ethernet encapsulation(BIER-ETH):
       <vspace blankLines="0"/> 
       Ethernet header is immediately followed by the BIER header. In this type of encapsulation, the 
       EtherType field in the Ethernet header is set to 0xAB37 which is assigned by IEEE for non-MPLS 
       BIER packets as stated in <xref target="RFC8279"/>.</t>        
	     </list>
	     </t>	

       <t>Processing and forwarding of multicast packets using the BIER-ETH encapsulation requires
       special software and hardware capabilities. The BFRs supporting this encapsulation type MUST 
       advertise this capability (along with the other required parameters specific to the encapsulation)
	   to the other routers in BIER domain. This advertisement, for example, will enable the other BFRs in the 
	   BIER domain in deciding, whether to include or exclude the advertising router from the BAR and/or IPA 
	   algorithm while computing the multicast path for a specific encapsulation type.</t>
  
       <t><xref target="RFC8401"/> specifies the required extensions to the IS-IS <xref target="RFC1195"/> protocol for
       the distribution of BIER sub-domain information including the Sub-sub-TLVs required to support
       BIER in MPLS encapsulation for MPLS networks.</t>
   
       <t>This document specifies the required extensions to the IS-IS <xref target="RFC1195"/> protocol for 
       supporting BIER in non-MPLS networks using BIER in Ethernet encapsulation.</t>
   
       <t>Support for other encapsulation types are outside the scope of this document. In case
       of multiple encapsulation types supported by a BFR in a BIER sub-domain, the selection of a
       encapsulation type to be used for a BIER sub-domain is outside the scope of this document.</t>

	</section>
	<section title="Terminology" anchor="section-2">
		 
		   <t>Some of the terminology specified in <xref target="RFC8279"/> is replicated here and
		   extended by necessary definitions:</t>
		
			 <t>
			 <list style="hanging" hangIndent="3">
			 
			   <t hangText="BIER:">
			   Bit Index Explicit Replication
			   <vspace blankLines="0"/>
			   (The overall architecture of forwarding multicast using a Bit Position).</t>
		
			   <t hangText="BIER-MPLS:">
			   BIER in MPLS encapsulation.
			   <vspace blankLines="0"/>
			    (Encapsulation of BIER header inside MPLS header in MPLS networks).
			   </t>

			   <t hangText="BIER-ETH:">
			   BIER in Ethernet encapsulation.
			   <vspace blankLines="0"/>
			   (Encapsulation of BIER header inside Ethernet header (EtherType=0xAB37) in non-MPLS networks).
			   </t>

			   <t hangText="BFR:">
			   Bit Forwarding Router (A router that participates in Bit Index
			   <vspace blankLines="0"/>
			   Multipoint Forwarding).  A BFR is identified by a unique BFR-
		         prefix in a BIER domain.
			   </t>
		
			   <t hangText="BIFT:">
			   Bit Index Forwarding Table used to forward the BIER packets in a domain.
			   <vspace blankLines="0"/>
			   </t>
		
			   <t hangText="BAR:">
			   BIER Algorithm.  Used to calculate underlay nexthops
			   <vspace blankLines="0"/>
			   as defined by the BAR value.
			   </t>

			   <t hangText="IPA:">
			   IGP Algorithm.  May be used to modify, enhance or replace the
			   <vspace blankLines="0"/>
			   calculation of underlay paths as defined by the BAR value
			   </t>
		
			 </list>
			 </t>
			 
			 <section title="Requirements Language" anchor="section-2.1">
 		     <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 title="Procedure and Packet Formats" anchor="section-3">

		   <t> BIER Info sub-TLV defined in <xref target="RFC8401"/> is used to advertise the sub-domain id,
           and other associated parameters of the sub-domain like BFR-id, MT, BAR, IPA.</t>

		   <t> This document introduces new sub-sub-TLVs under BIER Info sub-TLV to advertise the 
		   encapsulation capability and other associated parameters of the encapsulation.</t>
		   
		   <t> A BIER sub-domain MAY support multiple BIER encapsulation types like BIER-MPLS,
		   BIER-ETH. Within a BIER sub-domain, it is very well possible and allowable to 
		   share the same BFR-id for a BFR across different encapsulation types. If the operator
		   wishes to use different BFR-id for different encapsulation types, then he MUST provision
		   different BIER sub-domain for each encapsulation type.</t>
		   
		   <t>The selection of encapsulation type to be used by a BFIR or BFR for a sub-domain could be a
		    matter of local policy and is outside the scope of this document.</t>

		   <t>As described in Section 2.2.1.1 of <xref target="RFC8296"/>, In non-MPLS 
		   networks, a BIFT-id MUST be assigned for every combination of &lt;SD, SI, BSL&gt;
		   that is to be used in that network. Two possible means by which the BIFT-ids
		   are assigned for a &lt;SD, SI, BSL&gt; are described in <xref target="I-D.ietf-bier-non-mpls-bift-encoding"/>.</t>
		   
		   <t>As an example, suppose a particular BIER domain contains a SD
		   (SD 0), supports two BSLs (256 and 512), and contains
		   1024 BFRs.  A BFR that is provisioned for above SD, and that supports
		   both BSLs, would have to advertise the following set of BIFT-id's:</t>
           
		   <t><list style="hanging" hangIndent="3">
		   <t hangText="">BIFT-id 1:   corresponding to SD 0, BSL 256, SI 0.</t>
		   <t hangText="">BIFT-id 2:   corresponding to SD 0, BSL 256, SI 1.</t>
		   <t hangText="">BIFT-id 3:   corresponding to SD 0, BSL 256, SI 2.</t>
		   <t hangText="">BIFT-id 4:   corresponding to SD 0, BSL 256, SI 3.</t>
		   <t hangText="">BIFT-id 5:   corresponding to SD 0, BSL 512, SI 0.</t>
		   <t hangText="">BIFT-id 6:   corresponding to SD 0, BSL 512, SI 1.</t>
		   </list></t>
           
		   <t>In such case, a BFR MUST assign a contiguous range of BIFT-ids as,</t>
		   
		   <t><list style="hanging" hangIndent="3">
		   <t hangText=""> BIFT-id range [1 to 4] correspond to &lt;SD 0, BSL 256&gt;. The first BIFT-id
		   in the range correspond to SI=0, the second correspond to SI=1, and so on.</t>
		   
		   <t hangText="">BIFT-id range [5 to 6] correspond to &lt;SD 0, BSL 512&gt;. The first BIFT-id
		   in the range correspond to SI=0, the second correspond to SI=1.</t>
		   </list></t>

  	   <section title="BIER Ethernet Encapsulation Sub-sub TLV" anchor="section-3.1">

			   <t>This sub-sub-TLV carries the information for the BIER Ethernet
			   encapsulation including the BitString length supported for a certain &lt;MT,SD&gt; pair.</t>
			   
			   <t>It is advertised within the BIER Info sub-TLV defined in <xref target="RFC8401"/> which
			   in-turn is carried within the TLVs 235, 237 <xref target="RFC5120"/> or TLVs 135 <xref target="RFC5305"/>,
			   or TLV 236 <xref target="RFC5308"/>.</t>
			   
			   <t>This sub-sub-TLV MAY appear multiple times within a single BIER Info sub-TLV.
			   If the same BitString length is repeated in multiple BIER Ethernet encapsulation
			   sub-sub-TLVs inside the same BIER Info sub-TLV, the BIER Info sub-TLV MUST be
			   ignored.</t>

				 <figure><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              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
				 ]]></artwork>
				 </figure>
				
				 <t><list style="hanging" hangIndent="-1">
				 
					<t hangText="Type:">
					2 (suggested value - To be assigned by IANA).
					<vspace blankLines="0"/>
					</t>
				
					<t hangText="Length:">
					4
					<vspace blankLines="0"/>
					</t>
				
					<t hangText="Max SI:">
					1 octet. Maximum Set Identifier (Section 1 of [RFC8279]) used in the
					encapsulation for this BIER subdomain for this BitString length. The
					first BIFT-id is for SI=0, the second BIFT-id is for SI=1, etc.  If
					the BIFT-id associated with the Maximum Set Identifier exceeds the
					20-bit range, the sub-sub-TLV MUST be ignored..
					</t>
				
					<t hangText="Local BitString Length (BS Len):">
					4 bits. Encoded bitstring length as per	<xref target="RFC8296"/>.
					</t>
				
					<t hangText="BIFT-id:">
					20 bits. 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>The size of the BIFT-id range is determined by the number of SI's
					(Section 1 of <xref target="RFC8279"/>) that are used in the network.  Each SI maps
					to a single BIFT-id in the BIFT-id range: the first BIFT-id is for SI=0,
					the second BIFT-id is for SI=1, etc.</t>

					<t>If the BIFT-id associated with the Maximum Set Identifier exceeds the
					20-bit range, the BIER Ethernet Encapsulation Sub-sub-TLV containing the
					error MUST be ignored.</t>
				
				</list></t>
		</section>
  	   </section>
  	<section title="Security Considerations" anchor="section-4">
  	 
	     <t>Security concerns for IS-IS are addressed in <xref target="RFC5304"/> and <xref target="RFC5310"/> and
       the security concerns for IS-IS extensions for BIER are addressed in <xref target="RFC8401"/>.</t>
       
	     <t>This document introduces new sub-sub-TLV for the already existing IS-IS TLVs defined for
       distributing the BIER sub-domain information in <xref target="RFC8401"/>.  It does not
       introduce any new security risks to IS-IS.</t> 

	</section>
	<section title="IANA Considerations" anchor="section-5">
	   
			 <t>The document requests new allocations from the IS-IS registries as
		   follows</t>
		
			 <section title="IS-IS sub-sub-TLVs for BIER Info sub-TLV Registry" anchor="section-5.1">
			   <t>
			   <list hangIndent="3" style="hanging">
			     <t>BIER Ethernet Encapsulation sub-sub-TLV: 2 (suggested)</t>
			   </list>
			   </t>				
			 </section>

	   </section>
	<section title="Acknowledgments" anchor="section-6">
	     <t>The author wants to thank Jeffrey (Zhaohui) Zhang and Antonie Przygienda for their
            comments and suggestions.</t>
	   </section>
	</middle>

	<back>
	  <references title="Normative References">
	  &RFC1195;
	  &RFC2119;
	  &RFC5120;
	  &RFC5304;
	  &RFC5305;
	  &RFC5308;
	  &RFC5310;
	  &RFC7794;
	  &RFC8174;
	  &RFC8279;
	  &RFC8296;
	  &RFC8401;
	  &I-D.ietf-bier-non-mpls-bift-encoding;
	  </references>	
	  <references title="Informative References">
	  &RFC8126;
	  </references>
	</back>

	</rfc>
