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-2026 | 2026-04-23 14:29:21 |