BGP Extensions for BIERAlibaba Inc.xiaohu.xxh@alibaba-inc.comHuaweimach.chen@huawei.comArrcus, Inc.keyur@arrcus.comCiscoice@cisco.comJuniperprz@juniper.netBit Index Explicit Replication (BIER) is a new multicast forwarding
architecture which doesn't require an explicit tree-building protocol
and doesn't require intermediate routers to maintain any multicast
state. BIER is applicable in a multi-tenant data center network
environment for efficient delivery of Broadcast, Unknown-unicast and
Multicast (BUM) traffic while eliminating the need for maintaining a
huge amount of multicast state in the underlay. This document describes
BGP extensions for advertising the BIER-specific information. These
extensions are applicable in those multi-tenant data centers where BGP
instead of IGP is deployed as an underlay for network reachability
advertisement. These extensions may also be applicable in other
scenarios.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 RFC 2119.Bit Index Explicit Replication (BIER) [RFC8279] is a new multicast
forwarding architecture which doesn't require an explicit tree-building
protocol and doesn't require intermediate routers to maintain any
multicast state. BIER is applicable in a multi-tenant data center
network environment for efficient delivery of Broadcast, Unknown-unicast
and Multicast (BUM) traffic while eliminating the need for maintaining a
huge amount of multicast state in the underlay. This document describes
BGP extensions for advertising the BIER-specific information. More
specifically, in this document, we define a new optional, non-
transitive BGP attribute, referred to as the BIER attribute, to convey
the BIER-specific information such as BFR-ID, BitString Length (BSL) and
so on. In addition, this document specifies procedures to prevent the
BIER attribute from "leaking out" of a BIER domain.These extensions are applicable in those multi-tenant data centers
where BGP instead of IGP is used as an underlay [RFC7938]. These
extensions may also be applicable to other BGP based network
scenarios.This memo makes use of the terms defined in [RFC4271] and
[RFC8279].This draft defines a new optional, transitive BGP path attribute,
referred to as the BIER attribute. This attribute can be attached to a
BGP UPDATE message by the originator so as to indicate the BIER-
specific information of a particular BFR which is identified by the /32
or /128 address prefix contained in the NLRI. In other words, if the
BIER path attribute is present, the NLRI is treated by BIER as a
"BFR-prefix". When creating a BIER attribute, a BFR needs to include one
BIER TLV for every <Sub-domain, BFR-ID> pair that it supports. The
attribute type code for the BIER Attribute is TBD. The value field of
the BIER Attribute contains one or more BIER TLV as shown in Figure
1.Type: Two octets encoding the BIER TLV Type: TBD.Length: Two octets encoding the length in octets of the TLV,
including the type and length fields. The length is encoded as an
unsigned binary integer. (Note that the minimum length is 8,
indicating that no sub-TLV is present.)Sub-domain: a one-octet field encoding the sub-domain ID
corresponding to the BFR-ID.BFR-ID: a two-octet field encoding the BFR-ID.Sub-TLVs: contains one or more sub-TLV. The BIER MPLS
Encapsulation sub-TLV is one of such sub-TLVs.The BIER MPLS Encapsulation sub-TLV is encoded as follows:Type:TBDLength:12Label Range Size: a one-octet field indicating the size of the
label range.Label Range Base: a 3-octet field where the 20 rightmost bits
represent the first label in the label range while the other bits
MUST be set to 0 when transmitting, and MUST be ignored upon
receipt.BSL: a one-octet field indicating the length of the Bitstring in
4-octets. The field MUST be filled with one of the valid BSL values
as specified in [RFC8279]. Upon receiving a BSL-TLV containing an
invalid BSL value, it MUST be ignored.An implementation that supports the BIER attribute MUST support a
policy to enable or disable the creation of the BIER attribute and its
attachment to specific BGP routes. An implementation MAY disable the
creation of the BIER attribute unless explicitly configured to do so
otherwise. A BGP speaker MUST only attach the locally created BIER
attribute to a BGP UPDATE message in which at least one of its
BFR-prefixes is contained in the NLRIAn implementation that supports the BIER attribute MUST support a
per-EBGP-session policy, that indicates whether the attribute is enabled
or disabled for use on that session. The BIER attribute MUST NOT be sent
on any EBGP peers for which the session policy is not configured. If an
BIER attribute is received on a BGP session for which session policy is
not configured, then the received attribute MUST be treated exactly as
if it were an unrecognised non-transitive attribute. That is, "it MUST
be quietly ignored and not passed along to other BGP peers".To prevent the BIER attribute from "leaking out" of an BIER domain,
each BGP router on the BIER domain MUST support an outbound route
announcement policy. Such a policy MUST be disabled on each EBGP session
by default unless explicitly configured.It's assumed by this document that the BIER domain is aligned with
the Administrative Domain (AD) which are composed of multiple ASes
(either private or public ASes). Use of the BIER attribute in other
scenarios is outside the scope of this document.Since the BIER attribute is an optional, transitive BGP path
attribute, a non-BFR BGP speakers could still advertise the received
route with a BIER attribute. This is desirable in the incremental
deployment scenario where a BGP speaker could tunnel a BIER packet or
the payload of a BIER packet to a BFER directly if the BGP next-hop of
the route for that BFER is a non-BFR. Furthermore, a BGP speaker is
allowed to tunnel a BIER packet to the BGP next-hop if these two
BFR-capable BGP neighbors are not directly connected (e.g., multi-hop
EBGP).Thanks a lot for Eric Rosen and Peter Psenak for their valuable
comments on this document.IANA is requested to assign a codepoint in the "BGP Path Attributes"
registry to the BIER attribute. IANA shall create a registry for "BGP
BIER Attribute Types". The type field consists of two octets, with
possible values from 1 to 655355 (The value 0 is "reserved".) The
allocation policy for this field is to be "First Come First Serve". Type
codes should be allocated for BIER TLV and BIER MPLS Encapsulation
sub-TLV respectively.This document introduces no new security considerations beyond those
already specified in [RFC4271].