One document matched: draft-ietf-bier-isis-extensions-01.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="no"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ietf-bier-isis-extensions-01"
     ipr="trust200902" obsoletes="" submissionType="IETF" updates=""
     xml:lang="en">
  <front>
    <title abbrev="draft-ietf-bier-isis-extensions-01">BIER support via
    ISIS</title>

    <author fullname="Les Ginsberg" initials="L." role="editor"
            surname="Ginsberg">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>510 McCarthy Blvd.</street>

          <city>Milpitas</city>

          <region>CA</region>

          <code>95035</code>

          <country>USA</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>ginsberg@cisco.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Tony Przygienda" initials="A." surname="Przygienda">
      <organization>Ericsson</organization>

      <address>
        <postal>
          <street>300 Holger Way</street>

          <city>San Jose</city>

          <region>CA</region>

          <code>95134</code>

          <country>USA</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>antoni.przygienda@ericsson.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Sam Aldrin" initials="S." surname="Aldrin">
      <organization>Google</organization>

      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>

          <city>Mountain View</city>

          <region>CA</region>

          <country>USA</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>aldrin.ietf@gmail.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Jeffrey (Zhaohui) Zhang" initials="J." surname="Zhang">
      <organization>Juniper Networks, Inc.</organization>

      <address>
        <postal>
          <street>10 Technology Park Drive</street>

          <city>Westford</city>

          <region>MA</region>

          <code>01886</code>

          <country>USA</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>zzhang@juniper.net</email>

        <uri/>
      </address>
    </author>

    <date day="17" month="Oct" year="2015"/>

    <workgroup>Internet Engineering Task Force</workgroup>

    <abstract>
      <t>Specification of an ISIS extension to support BIER domains and
      sub-domains.</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 <xref format="default"
      pageno="false" target="RFC2119">RFC 2119</xref> .</t>
    </note>
  </front>

  <middle>
    <section title="Introduction" toc="default">
      <t>Bit Index Explicit Replication (BIER) <xref format="default"
      pageno="false" target="I-D.draft-ietf-bier-architecture-02"/> defines an
      architecture where all intended multicast receivers are encoded as
      bitmask in the Multicast packet header within different encapsulations
      such as <xref format="default" pageno="false"
      target="I-D.draft-ietf-bier-mpls-encapsulation-02"/>. A router that
      receives such a packet will forward the packet based on the Bit Position
      in the packet header towards the receiver(s), following a precomputed
      tree for each of the bits in the packet. Each receiver is represented by
      a unique bit in the bitmask.</t>

      <t>This document presents necessary extensions to the currently deployed
      ISIS for IP <xref format="default" pageno="false" target="RFC1195"/>
      protocol to support distribution of information necessary for operation
      of BIER domains and sub-domains. This document defines a new TLV to be
      advertised by every router participating in BIER signaling.</t>
    </section>

    <section title="Terminology" toc="default">
      <t>Some of the terminology specified in <xref format="default"
      pageno="false" target="I-D.draft-ietf-bier-architecture-02"/> is
      replicated here and extended by necessary definitions:</t>

      <t><list style="hanging">
          <t hangText="BIER:">Bit Index Explicit Replication (The overall
          architecture of forwarding multicast using a Bit Position).</t>

          <t hangText="BIER-OL:">BIER Overlay Signaling. (The method for the
          BFIR to learn about BFER's).</t>

          <t hangText="BFR:">Bit Forwarding Router (A router that participates
          in Bit Index Multipoint Forwarding). A BFR is identified by a unique
          BFR-prefix in a BIER domain.</t>

          <t hangText="BFIR:">Bit Forwarding Ingress Router (The ingress
          border router that inserts the BM into the packet).</t>

          <t hangText="BFER:">Bit Forwarding Egress Router. A router that
          participates in Bit Index Forwarding as leaf. Each BFER must be a
          BFR. Each BFER must have a valid BFR-id assigned.</t>

          <t hangText="BFT:">Bit Forwarding Tree used to reach all BFERs in a
          domain.</t>

          <t hangText="BIFT:">Bit Index Forwarding Table.</t>

          <t hangText="BMS:">Bit Mask Set. Set containing bit positions of all
          BFER participating in a set.</t>

          <t hangText="BMP:">Bit Mask Position, a given bit in a BMS.</t>

          <t hangText="Invalid BMP:">Unassigned Bit Mask Position, consisting
          of all 0s.</t>

          <t hangText="IGP signalled BIER domain:">A BIER underlay where the
          BIER synchronization information is carried in IGP. Observe that a
          multi-topology is NOT a separate BIER domain in IGP.</t>

          <t hangText="BIER sub-domain:">A further distinction within a BIER
          domain identified by its unique sub-domain identifier. A BIER
          sub-domain can support multiple BitString Lengths.</t>

          <t hangText="BFR-id:">An optional, unique identifier for a BFR
          within a BIER sub-domain.</t>

          <t hangText="Invalid BFR-id:">Unassigned BFR-id, consisting of all
          0s.</t>

          <!--
				<t hangText="BIER service-id:">Identifier of a specific service carried within a BIER domain.</t>							
				<t hangText="MI-PMSI:">Multidirectional Inclusive PMSI per 
					<xref format="default" pageno="false" target="RFC6513"/>.</t>
				<t hangText="S-PMSI:">Selective PMSI per <xref format="default" pageno="false" target="RFC6513"/>.</t>				
							-->
        </list></t>
    </section>

    <section anchor="IANA" title="IANA Considerations" toc="default">
      <t>This document adds the following new sub-TLVs to the registry of sub-
      TLVs for TLVs 235, 237 <xref format="default" pageno="false"
      target="RFC5120"/> and TLVs 135,236 <xref format="default"
      pageno="false" target="RFC5305"/>,<xref format="default" pageno="false"
      target="RFC5308"/>.</t>

      <t>Value: 32 (suggested - to be assigned by IANA)</t>

      <t>Name: BIER Info</t>
    </section>

    <section title="Concepts">
      <section title="BIER Domains and Sub-Domains">
        <t>An ISIS signalled BIER domain is aligned with the scope of
        distribution of BFR-prefixes that identify the BFRs within ISIS. ISIS
        acts in such a case as the according BIER underlay.</t>

        <t>Within such a domain, ISIS extensions are capable of carrying BIER
        information for multiple BIER sub-domains. Each sub-domain is uniquely
        identified by its subdomain-id and each subdomain can reside in any of
        the ISIS topologies <xref format="default" pageno="false"
        target="RFC5120"/>. The mapping of sub-domains to topologies is a
        local decision of each BFR currently but is advertised throughout the
        domain to ensure routing consistency. <!--, each of them capable of carrying 
				multiple "services" distinguished in BIER Info sub-TLV   
						(<xref target="S2L">
				</xref>)		
				by a "service-id". 
				This allows to run many disjoint BIER supported "services" within
				the same
				<xref format="default" pageno="false" target="RFC5120">Multi-Topology</xref>
				easily instead of always forcing different multicast overlays to share the exactly
				same set of BFRs and resources such as MPLS labels or alternately, 
				enforce one multi-topology for every 
				service. Multi topology
				<xref format="default" pageno="false" target="RFC5120"/>
				support for anything but default topology 
					should remain optional to deploy BIER and other topologies should be   
					 intended for the purpose of restricting
				links that can be used or change metrics of such links.
				A BIER domain in ISIS is therefore
				always uniquely identified by the tuple of multi-topology MT and bitmask
				length M it belongs to and can be  
					further distinguished by the service 
					S it carries denoted as <T,S,ML>. A domain
				can moreover specify its source BFIR-id to support both auto-derivation of
				domain identifiers as well as use of BIER domains that encapsulate traffic without
				using the optional BFIR-id per
				<xref format="default" pageno="false" 
				target="I-D.draft-wijnands-mpls-bier-encapsulation-00"/>.	
				A BIER domain in ISIS is
				currently always uniquely identified by the tuple of multi-topology MT and bitmask
				length ML it belongs to denoted as <MT,ML>.
							--></t>

        <t>Each BIER sub-domain has as its unique attributes the encapsulation
        used and the type of tree it is using to forward BIER frames
        (currently always SPF). Additionally, per supported bitstring length
        in the sub-domain, each router will advertise the necessary label
        ranges to support it.</t>

        <t>This RFC introduces a sub-TLV in the extended reachability TLVs to
        distribute such information about BIER sub-domains. To satisfy the
        requirements for BIER prefixes per <xref format="default"
        pageno="false" target="I-D.draft-ietf-bier-architecture-02"/>
        additional information will be carried in <xref format="default"
        pageno="false"
        target="I-D.draft-ietf-isis-prefix-attributes-01"/>.</t>
      </section>
    </section>

    <section title="Procedures">
      <!--
		<section title="Enabling a Service as a BIER Domain">
			-->

      <section title="Enabling a BIER Sub-Domain">
        <t><!--
				A given service S with masklength M in a multi-topology MT
				<xref format="default" pageno="false" target="RFC5120"/>
				(denoted as <T,S,ML>) is normally not advertised to preserve the scaling of the
				protocol (i.e. ISIS carries no TLVs containing any of the elements related to
				<T,S,ML>) and is enabled by a first BIER sub-TLV (<xref target="S2L">
				</xref>) containing <T,S,ML> being advertised into the area. The trigger itself is outside
				the scope of this draft but can be .e.g. a VPN desiring to initiate a BIER layer
				as MI-PMSI tree or a MS-PMSI. It is outside the scope of this document to describe
				what trigger for a router capable of participating <T,S,ML> is used to start
				to originate the necessary information to participate in it.
							--> A given sub-domain with identifier SD with supported bitstring
        lengths MLs in a multi-topology MT <xref format="default"
        pageno="false" target="RFC5120"/> is denoted further as
        <MT,SD,MLs> and dos not have to be advertised by by default by
        BFRs to preserve the scaling of the protocol (i.e. ISIS carries no
        TLVs containing any of the elements related to <MT,SD>). The
        advertisement may be triggered e.g. by a first BIER sub-TLV (<xref
        target="S2L"> </xref>) containing <MT,SD> advertised into the
        area. The specific trigger itself is outside the scope of this RFC but
        can be for example a VPN desiring to initiate a BIER sub-domain as
        MI-PMSI <xref format="default" pageno="false" target="RFC6513"/> tree
        or a pre-configured BFER (since BFERs will always advertise the BIER
        sub-TLV to make sure they can be reached). It is outside the scope of
        this document to describe what trigger for a router capable of
        participating in <MT,SD> is used to start the origination of the
        necessary information to join into it.</t>
      </section>

      <section anchor="MTOPSUB" title="Multi Topology and Sub-Domain">
        <t>All routers in the flooding scope of the BIER sub-TLVs MUST
        advertise a sub-domain within the same multi-topology. A router
        discovering a sub-domain advertised within a topology that is
        different from its own MUST report a misconfiguration of a specific
        sub-domain. Each router MUST compute BFTs for a sub-domain using only
        routers advertising it in the same multi-topology.</t>
      </section>

      <section anchor="MENC" title="Encapsulation">
        <t>All routers in the flooding scope of the BIER TLVs MUST advertise
        the same encapsulation for a given <MT<!--,S-->,SD>. A router
        discovering encapsulation advertised that is different from its own
        MUST report a misconfiguration of a specific <MT<!--,S-->,SD>.
        Each router MUST compute BFTs for <MT<!--,S-->,SD> using only
        routers having the same encapsulation as its own advertised
        encapsulation in BIER sub-TLV for <MT<!--,S-->,SD>.</t>

        <!-- section title="Special Consideration"> t> The same router MAY advertise for different
				<T,S,ML> combinations two different encapsulations. This allows to cleanly
				delineate domains crossing the same router but using different encapsulations
				in the encoding, even within the same topology. /t> /section> -->
      </section>

      <section title="Tree Type">
        <t>All routers in the flooding scope of the BIER TLVs MUST advertise
        the same tree type for a given <MT<!--,S-->,SD>. In case of
        mismatch the behavior is analogous to <xref target="MENC">
        </xref>.</t>
      </section>

      <!--
		<section title="Optional source BFIR-id">
<t>
	In deployments where a BIER domain is operating as MS-PMSI with a single source 
	it may be superfluous to 
	 encapsulate traffic 
				using the optional BFIR-id in
				<xref format="default" pageno="false" 
				target="I-D.draft-ietf-bier-mpls-encapsulation-02"/>. In such case the 
					domain sub-TLV MUST carry the optional source BFIR-id. 
					</t>
					<t>In case of same 
					<T,S,ML> with different BFIR-ids is advertised, the BFRs MUST allocate
					disjoint label ranges for each combination UNLESS it is clearly implied by 
					the multicast OL that the encapsulation carries the according BFIR-id on 
					every BIER packet (which makes however advertising the BFIR-id in the sub-TLV
					superfluous). An missing source BFIR-id always implies a MI-PMSI BIER domain. 
</t>
<t>
	If a same <T,S,ML> is advertised with multiple optional source BFID-ids ALL participating 
	BFERs MUST use the same originator BFR-id in all such sub-TLVs. In any other case, the offending 
	BFERs MUST be excluded from computation for all <T,S,ML>. 
</t>
		</section>
		-->

      <section title="Label Advertisements for MPLS encapsulated BIER sub-domains">
        <t>Each router MAY advertise within the BIER MPLS Encapsulation
        sub-sub-TLV (<xref target="MS2L"> </xref>) of a BIER Info sub-TLV
        (<xref target="S2L"> </xref>) for <MT<!--,S-->,SD> (denoted as
        TLV<MT<!--,S-->,SD>) for every supported bitstring length a
        valid starting label value and a non-zero range length. It MUST
        advertise at least one valid label value and a non-zero range length
        for the required bitstring lengths per <xref format="default"
        pageno="false" target="I-D.draft-ietf-bier-architecture-02"/> in case
        it has computed itself as being on the BFT rooted at any of the BFRs
        with valid BFR-ids (except itself if it does NOT have a valid BFR-id)
        participating in <MT<!--,S-->,SD>.</t>

        <t>A router MAY decide to not advertise the BIER Info sub-TLV (<xref
        target="S2L"> </xref>) for <MT<!--,S-->,SD> if it does not want
        to participate in the sub-domain due to resource constraints, label
        space optimization, administrative configuration or any other
        reasons.</t>

        <!--
			<t> Observe that a BF_E_R can advertise without further detrimental effect  for several
				services in a domain <T,*,ML> the same label range if it has other means within
				the frame (such as service labels) 
				to determine the service upon the frame exiting the BIER domain. 
				</t>
			-->

        <section title="Special Consideration">
          <t>A router that desires to participate in <MT<!--,S-->,SD>
          MUST advertise for each bitstring length it supports in <MT<!--,S-->,SD>
          a label range size that guarantees to cover the maximum BFR-id
          injected into <MT<!--,S-->,SD> (which implies a certain
          maximum set id per bitstring length as described in <xref
          format="default" pageno="false"
          target="I-D.draft-ietf-bier-architecture-02"/>). Any router that
          violates this condition MUST be excluded from BIER BFTs for
          <MT<!--,S-->,SD>.</t>
        </section>
      </section>

      <section title="BFR-id Advertisements">
        <t>Each BFER MAY advertise with its TLV<MT<!--,S-->,SD> the
        BFR-id that it has administratively chosen.</t>

        <t>If a router discovers that two BFRs it can reach advertise the same
        value for BFR-id for <MT<!--,S-->,SD>, it MUST report a
        misconfiguration and disregard those routers for all BIER calculations
        and procedures for <MT<!--,S-->,SD> to align with <xref
        format="default" pageno="false"
        target="I-D.draft-ietf-bier-architecture-02"/>. It is worth observing
        that based on this procedure routers with colliding BFR-id assignments
        in <MT<!--,S-->,SD> MAY still act as BFIRs in <MT<!--,S-->,SD>
        but will be never able to receive traffic from other BFRs in
        <MT<!--,S-->,SD>.</t>
      </section>

      <section title="Flooding">
        <t>BIER domain <!-- and service  --> information SHOULD change and
        force flooding infrequently<!-- only when a new 
				service is introduced into the network or a new BFER that originates a S-PMSI domain -->.
        Especially, the router SHOULD make every possible attempt to bundle
        all the changes necessary to sub-domains and ranges advertised with
        those into least possible updates.</t>
      </section>

      <!--
			<section title="Version">
				<t>
					This RFC specifies Version 0 of the BIER extension encodings. Packet encoding supports introduction of future, higher
					versions with e.g. new sub-sub-TLVs or redefining reserved bits that can maintain the compatiblity
					to Version 0 or choose to indicate that the compatibility cannot be maintained
					anymore (changes that cannot work with the provided encoding would necessitate obviously introduction of
					completely new sub-TLV for BIER).
				</t>
				<t>
					This kind of 'versioning' allows to introduce e.g. backwards-compatible 
								   automatic assignment of unique BFR-ids within sub-domains or
					addition of optional sub-sub-TLVs that can be ignored by version 0 BIER routers without the danger of
					incompatiblity.
				</t>
				<t>
					This is a quite common technique
					in software development today to maintain and extend backwards compatible APIs.
				</t>

			</section>
					 -->
    </section>

    <!--
			
	<section title="Examples">
			<section title="Single I-PMSI without any service separations, a.k.a single BIER domain for them all">
				<t>
				Only a single BIER Info sub-TLV  is advertised on every router. 
				Service-ID is 0 and 
				BFERs include their originator BFR-ids. Bitmask length is the same in all cases.
					</t>
					
<figure align="left" alt="" height="" suppress-title="false" title="" width="">
				
				<artwork align="left" alt="" height="" name="" type="" width="" xml:space="preserve">
					<![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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    32         |   Length      |        0      | BM Len|0|0|XXX|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    0          |   Length      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Lbl Range Size|                    Label                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+				
																]]>
				</artwork>
			</figure>					
					
				</section>
				
			<section title="I-PMSI per service with separation">
				<t>
				A BIER Info sub-TLV per service is advertised on every router containing 
					for each service an entry with according service-id and no source BFR-id. 
					Each of those sub-TLV contains a different label range. 
				BFERs include their originator BFER-ids (same for all services). 
					Bitmask length is the same in all cases.			
					</t>
				
				<figure align="left" alt="" height="" suppress-title="false" title="" width="">
				
				<artwork align="left" alt="" height="" name="" type="" width="" xml:space="preserve">
					<![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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    32         |   Length      |   service-id  | BM Len|0|0|XXX|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    0          |   Length      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Lbl Range Size|                    Label for service-id       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+				
						
																]]>
				</artwork>
			</figure>		
				
				</section>

			<section title="S-PMSI per service with separation with a single source">
				<t>
				A BIER Info sub-TLV per service is advertised on every router containing 
					for each service an entry with according service-id and according source BFR-id. 
					Each of those sub-TLVs contains a different label range. 
				BFERs include their originator BFER-ids (same for all services). 	
					Bitmask length is the same in all cases.		
					</t>
				
				<figure align="left" alt="" height="" suppress-title="false" title="" width="">
				
				<artwork align="left" alt="" height="" name="" type="" width="" xml:space="preserve">
					<![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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    32         |   Length      |   service-id  | BM Len|0|1|XXX|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	  |    optional source BFR-id     |						
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    0          |   Length      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Lbl Range Size|                    Label for service-id       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+				
						
																]]>
				</artwork>
			</figure>		
				</section>
							
				</section>
	-->

    <section title="Packet Formats" toc="default">
      <t>All ISIS BIER information is carried within the TLVs 235, 237 <xref
      format="default" pageno="false" target="RFC5120"/> and TLVs 135,236
      <xref format="default" pageno="false" target="RFC5305"/>, <xref
      format="default" pageno="false" target="RFC5308"/>.</t>

      <section anchor="S2L" title="BIER Info sub-TLV">
        <t>This sub-TLV carries the information for the BIER sub-domains that
        the router participates in as BFR. It can repeat multiple times for
        different multi-topology and sub-domain <MT,SD>
        combinations.</t>

        <t>The sub-TLV carries a single <MT,SD> combination followed by
        optional sub-sub-TLVs specified within its context such as e.g. BIER
        MPLS Encapsulation per <xref target="MS2L"> </xref>. If the same
        <MT,SD> combination is advertised more than once, only the first
        occurence of the sub-TLV MUST be used.</t>

        <t>On violation of any of the following conditions, the receiving
        router SHOULD signal a misconfiguration condition. Further results are
        unspecified unless described in the according section of this RFC:
        <list style="symbols">
            <t>The subdomain-id MUST be included only within a single
            topology.</t>
          </list></t>

        <figure align="left" alt="" height="" suppress-title="false" title=""
                width="">
          <artwork align="left" alt="" height="" name="" type="" width=""
                   xml:space="preserve"><![CDATA[
								
					]]><!--
					<![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      |  service-id   | BM Len|A|I|XXX|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    optional originator BFR-id |    optional source BFR-id     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+											

																]]>
																   --><![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      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Reserved    | subdomain-id  |   BFR-id                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+										

																
					
				]]></artwork>
        </figure>

        <t><list style="hanging">
            <t hangText="Type:">as indicated in IANA section.</t>

            <t hangText="Length:">1 octet.</t>

            <!--
					<t hangText="service-id:">Unique identifier for a service S, 1 octet. Reserved values:</t>
						<t>
							<list style="hanging">
								<t hangText="0:">unspecified, any kind of service may be carried by this service-id</t>
								<t hangText="1:">mVPN autoconfiguration</t>
								<t hangText="2:">eVPN autoconfiguration</t>
								<t hangText="3-128:">for future assignment</t>
								<t hangText="129-255:">for private use</t>
																							</list>
						</t>
	-->

            <!--
				    <t hangText="A">if set, the sub-TLV includes the optional originator BFR-id. 1 bit.</t>
					<t hangText="I">if set, the sub-TLV includes the optional source BFR-id. 1 bit.</t>
					<t hangText="XXX">reserved, must be 0 on transmission, ignored on reception. 2 bits</t>
					
					<t hangText="originator BFR-id:">
						BFR-id of the originator, only present if A bit is set. Always present for a BFER, may be 
						present for a BFR that is not BFER. 2 octets. 
					</t>
					<t hangText="originator BFR-id:">
						BFR identifier of the source implied on all BIER traffic in this domain/service combination, 
						only present if I bit is set. 2 octets.										  
					</t>									
																

						<t hangText="C-BIT:">
							Compatibility bit indicating that the TLV can be interpreted by routers implementing lower than the advertised version.
							Router implementing this version of the RFC MUST set it to 1. On reception, IF the version of the protocol is higher than 0 AND the bit is set (i.e. its value is 1), the TLV MUST be processed
							normally, IF the bit is clear (i.e. its value is 0), the TLV MUST be ignored for further processing completely independent of the advertised version. When processing this sub-TLV with compatibility
							bit set, all sub-sub-TLV of unknown type MUST and CAN be safely ignored. 1 bit
						</t>
								-->

            <t hangText="Reserved:">reserved, must be 0 on transmission,
            ignored on reception. May be used in future versions. 8 bits</t>

            <t hangText="subdomain-id:">Unique value identifying the BIER
            sub-domain. 1 octet</t>

            <t hangText="BFR-id:">A 2 octet field encoding the BFR-id, as
            documented in <xref format="default" pageno="false"
            target="I-D.draft-ietf-bier-architecture-02"/>. If set to the
            invalid BFR-id advertising router is not owning a BFR-id in the
            sub-domain.</t>
          </list></t>
      </section>

      <section anchor="MS2L" title="BIER MPLS Encapsulation sub-sub-TLV">
        <t>This sub-sub-TLV carries the information for the BIER MPLS
        encapsulation and the necessary label ranges per bitstring length for
        a certain <MT<!--,S-->,SD> and is carried within the BIER Info
        sub-TLV (<xref target="S2L"> </xref>) that the router participates in
        as BFR.</t>

        <t>On violation of any of the following conditions, the receiving
        router SHOULD signal a misconfiguration condition. Further results are
        by default unspecified unless explicitly described: <list
            style="symbols">
            <t>The sub-sub-TLV MUST be included once AND ONLY once within the
            sub-TLV. If such a sub-sub-TLV is included more than once, only
            the first instance MUST be processed.</t>

            <t>Label ranges within the sub-sub-TLV MUST NOT overlap, otherwise
            the whole sub-sub-TLV MUST be disregarded and the violating
            routers are treated per further procedures in <xref target="MENC">
            </xref>.</t>

            <t>Bitstring lengths within the sub-sub-TLV MUST NOT repeat,
            otherwise the whole sub-sub-TLV MUST be disregarded and the
            violating routers are treated per further procedures in <xref
            target="MENC"> </xref>.</t>

            <t>The sub-sub-TLV MUST include the required bitstring lengths
            encoded in precisely the same way as in <xref format="default"
            pageno="false" target="I-D.draft-ietf-bier-architecture-02"/>.</t>

            <t>All label range sizes MUST be greater than 0.</t>

            <t>All labels MUST represent valid label values, otherwise the
            whole sub-sub-TLV MUST be disregarded and the violating routers
            are treated per further procedures in <xref target="MENC">
            </xref>.</t>
          </list></t>

        <figure align="left" alt="" height="" suppress-title="false" title=""
                width="">
          <artwork align="left" alt="" height="" name="" type="" width=""
                   xml:space="preserve"><![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      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Lbl Range Size|BS Len |                    Label              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              ~~ (number repetitions derived from TLV length) ~~       
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Lbl Range Size|BS Len |                    Label              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
			
						
					
				]]></artwork>
        </figure>

        <t><list style="hanging">
            <t hangText="Type:">value of 0 indicating MPLS encapsulation.</t>

            <t hangText="Length:">1 octet.</t>

            <t hangText="Local BitString Length (BS Len):">Bitstring length
            for the label range that this router is advertising per <xref
            format="default" pageno="false"
            target="I-D.draft-ietf-bier-mpls-encapsulation-02"/>. 4 bits.</t>

            <t hangText="Label Range Size:">Number of labels in the range used
            on encapsulation for this BIER sub-domain for this bitstring
            length, 1 octet. This MUST never be advertised as 0 (zero) and
            otherwise, this sub-sub-TLV must be treated as if not present for
            BFT calculations and a misconfiguration SHOULD be reported by the
            receiving router.</t>

            <t hangText="Label:">First label of the range used on
            encapsulation for this BIER sub-domain for this bitstring length,
            20 bits. The label is used for example by <xref format="default"
            pageno="false"
            target="I-D.draft-ietf-bier-mpls-encapsulation-02"/> to forward
            traffic to sets of BFERs.</t>
          </list></t>
      </section>

      <section anchor="MS2T"
               title="Optional BIER sub-domain Tree Type sub-sub-TLV">
        <t>This sub-sub-TLV carries the information of the BIER tree type for
        a <MT<!--,S-->,SD> combination. It is carried within the BIER
        Info sub-TLV (<xref target="S2L"> </xref>) that the router
        participates in as BFR. This sub-sub-TLV is optional and its absence
        has the same semantics as its presence with Tree Type value 0 (SPF).
        BIER implementation following this version of the RFC SHOULD NOT
        advertise this TLV.</t>

        <t>On violation of any of the following conditions, the receiving
        router implementing this RFC SHOULD signal a misconfiguration
        condition. Further results are unspecified unless described further:
        <list style="symbols">
            <t>The sub-sub-TLV MUST NOT be included more than once.</t>

            <t>The Tree Type MUST be 0 (SPF).</t>
          </list></t>

        <figure align="left" alt="" height="" suppress-title="false" title=""
                width="">
          <artwork align="left" alt="" height="" name="" type="" width=""
                   xml:space="preserve"><![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      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Tree Type     |	  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Tree Type specific opaque data|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         ~~ up to TLV Length ~~ 
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Tree Type specific opaque data|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
						
					
				]]></artwork>
        </figure>

        <t><list style="hanging">
            <t hangText="Type:">value of 1 indicating BIER Tree Type.</t>

            <t hangText="Length:">1 octet.</t>

            <t hangText="Tree Type:">The only supported value in this
            specification is 0 and indicates that BIER uses normal SPF
            computed reachability to construct BIFT. BIER implementation
            following this RFC MUST ignore the node for purposes of the
            sub-domain <MT<!--,S-->,SD> if this field has any value
            except 0.</t>

            <t hangText="Tree type specific opaque data:">Opaque data up to
            the length of the TLV carrying tree type specific parameters. For
            Tree Type 0 (SPF) no such data is included and therefore TLV
            Length is 1.</t>
          </list></t>
      </section>

      <section anchor="MS2C"
               title="Optional BIER sub-domain BSL conversion sub-sub-TLV">
        <t>This sub-sub-TLV indicates whether the BFR is capable of imposing a
        different Bit String Length (BSL) than the one it received in a BIER
        encapsulated packet. Such a capability may allow future, advanced tree
        types which ensure simple migration procedures from one BSL to another
        in a given <MT<!--,S-->,SD> or prevent stable blackholes in
        scenarios where not all routers support the same set of BSLs in a
        given <MT<!--,S-->,SD>. It is carried within the BIER Info
        sub-TLV (<xref target="S2L"> </xref>). This sub-sub-TLV is optional
        and its absence indicates that the router is NOT capable of imposing
        different BSLs but will always forward the packet with the BSL
        unchanged.</t>

        <t>On violation of any of the following conditions, the receiving
        router implementing this RFC SHOULD signal a misconfiguration
        condition. Further results are unspecified unless described further:
        <list style="symbols">
            <t>The sub-sub-TLV MUST NOT be included more than once.</t>
          </list></t>

        <figure align="left" alt="" height="" suppress-title="false" title=""
                width="">
          <artwork align="left" alt="" height="" name="" type="" width=""
                   xml:space="preserve"><![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>

        <t><list style="hanging">
            <t hangText="Type:">value of 2 indicating BIER BSL conversion.</t>

            <t hangText="Length:">1 octet.</t>
          </list></t>
      </section>
    </section>

    <section anchor="Security" title="Security Considerations" toc="default">
      <t>Implementations must assure that malformed TLV and Sub-TLV
      permutations do not result in errors which cause hard protocol
      failures.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements" toc="default">
      <t>The RFC is aligned with the <xref format="default" pageno="false"
      target="I-D.draft-ietf-bier-ospf-bier-extensions-00"/> draft as far as
      the protocol mechanisms overlap.</t>

      <t>Many thanks for comments from (in no particular order) Hannes
      Gredler, Ijsbrand Wijnands, Peter Psenak and Chris Bowers.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.1195"?>

      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.5120"?>

      <?rfc include="reference.RFC.6513"?>

      <?rfc include="reference.RFC.5305"?>

      <?rfc include="reference.RFC.5308"?>

      <reference anchor="I-D.draft-ietf-bier-architecture-02">
        <front>
          <title>Stateless Multicast using Bit Index Explicit Replication
          Architecture</title>

          <author initials="IJ" surname="Wijnands et al.">
            <organization/>
          </author>

          <date month="July" year="2015"/>
        </front>

        <seriesInfo name="internet-draft"
                    value="draft-ietf-bier-architecture-02.txt"/>

        <format target="http://tools.ietf.org/id/draft-ietf-bier-architecture-02.txt"
                type="TXT"/>
      </reference>

      <reference anchor="I-D.draft-ietf-bier-mpls-encapsulation-02">
        <front>
          <title>Bit Index Explicit Replication using MPLS
          encapsulation</title>

          <author initials="IJ" surname="Wijnands et al.">
            <organization/>
          </author>

          <date month="Aug" year="2015"/>
        </front>

        <seriesInfo name="internet-draft"
                    value="draft-ietf-bier-mpls-encapsulation-02.txt"/>

        <format target="http://tools.ietf.org/id/draft-ietf-bier-mpls-encapsulation-02.txt"
                type="TXT"/>
      </reference>

      <reference anchor="I-D.draft-ietf-isis-prefix-attributes-01">
        <front>
          <title>IS-IS Prefix Attributes for Extended IP and IPv6
          Reachability</title>

          <author initials="U" surname="Ginsberg et al.">
            <organization/>
          </author>

          <date month="June" year="2015"/>
        </front>

        <seriesInfo name="internet-draft"
                    value="draft-ietf-isis-prefix-attributes-01.txt"/>

        <format target="http://tools.ietf.org/id/draft-isis-prefix-attributes-01.txt"
                type="TXT"/>
      </reference>

      <reference anchor="I-D.draft-ietf-bier-ospf-bier-extensions-00">
        <front>
          <title>OSPF Extension for Bit Index Explicit Replication</title>

          <author initials="P" surname="Psenak et al.">
            <organization/>
          </author>

          <date month="October" year="2014"/>
        </front>

        <seriesInfo name="internet-draft"
                    value="draft-ietf-bier-ospf-bier-extensions-00.txt"/>

        <format target="http://tools.ietf.org/id/draft-ietf-bier-ospf-bier-extensions-00.txt"
                type="TXT"/>
      </reference>
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 14:29:21