Internet-Draft | M-LDP Signaling Through BIER Core | March 2023 |
Bidgoli, et al. | Expires 8 September 2023 | [Page] |
Consider an end-to-end Multipoint LDP (mLDP) network, where it is desirable to deploy BIER in a segment of this network. It might be desirable to deploy BIER with minimal disruption to the mLDP network or a redesign of the network.¶
This document describes a procedure needed for mLDP tunnels to be signaled over and stitched through a BIER core, allowing LDP routers to run traditional mLDP services through a BIER core.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 8 September 2023.¶
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Some operators that are using mLDP P2MP LSPs for their multicast transport would like to deploy BIER technology in some segments of their network. This draft explains a method to signal mLDP services through a BIER domain, with minimal disruption and operational impact to the mLDP domain.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].¶
Some of the terminology specified in [RFC8279]is replicated here and extended by necessary definitions:¶
BIER:¶
Bit Index Explicit Replication, The overall architecture of forwarding multicast using a Bit Position.¶
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.¶
BFIR:¶
Bit-Forwarding Ingress Router, The ingress border router that inserts the Bit Map into the packet. Each BFIR must have a valid BFR-id assigned. BFIR is a term used for data plane packet forwarding.¶
BFER:¶
Bit-Forwarding Egress Router, A router that participates in Bit Index Forwarding as leaf. Each BFER must have a valid BFR-id assigned. BFER is a term used for data plane packet forwarding.¶
BBR:¶
BIER Boundary router. The router between the LDP domain and BIER domain.¶
IBBR:¶
Ingress BIER Boundary Router. The ingress router from a signaling point of view. It maintains mLDP adjacency toward the LDP domain and determines if the Multipoint LDP FEC needs to be signaled across the BIER domain via Targeted LDP.¶
EBBR:¶
Egress BIER Boundary Router. The egress router in a BIER domain from signaling point of view. It terminates the targeted LDP signaling through the BIER domain. It also keeps track of all IBBRs that are part of this P2MP tree¶
BIFT:¶
Bit Index Forwarding Table.¶
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.¶
BFR-id:¶
An optional, unique identifier for a BFR within a BIER sub-domain, all BFERs and BFIRs need to be assigned a BFR-id.¶
ILM:¶
MPLS Incoming Label Map.¶
As per figure 1, point-to-multipoint and multipoint-to-multipoint LSPs established via mLDP [RFC6388] can be signaled through a bier domain via Targeted LDP sessions. This procedure is explained in [RFC7060] (Using LDP Multipoint Extension on Targeted LDP Sessions).¶
This document provides details and defines some needed procedures.¶
.¶
In Figure 1, the Ingress BBR (IBBR) is connected to the mLDP domain on downstream and a BIER domain on the upstream. To connect the LDP domains via BIER domain, IBBR needs to establish a targeted LDP session with EBBR closest to the root of the P2MP or MP2MP LSP. To do so IBBR will follow procedures in [RFC7060] in particular section 6 "Targeted mLDP with Multicast Tunneling".¶
The Target LDP session can be established manually via configuration or via automated mechanism.¶
tLDP sessions can be signaled automatically from every IBBR to the appropriate EBBR. When mLDP FEC arrives at the IBBR from LDP domain, IBBR can automatically start a tLDP session to the EBBR closest to the root node. Both IBBR and EBBR should be in auto-discovery mode and react to the arriving tLDP signaling packets (i.e. targeted hellos, keep- alives etc...) to establish the session automatically.¶
The root node address in the mLDP FEC can be used to find the EBBR. To identify the EBBR, the same procedures as [RFC7060] section 2.1 can be used or the procedures as explained in the [draft-ietf-bier-pim-signaling] appendix A.¶
If the IBBR finds multiple equal cost EBBRs on the path to the root, it can use a vendor specific algorithm to choose between the EBBRs. These algorithms are beyond the scope of this draft. As an example the IBBR can use the lowest EBBR IP address to establish its mLDP signaling to.¶
The Egress BBR (EBBR) is connected to the upstream mLDP domain. The EBBR should accept the tLDP session generated form the IBBR. It should assign a unique "upstream assigned label" for each arriving FEC generated by the IBBRs.¶
The EBBR should follow the [RFC7060] procedures with the following modifications:¶
The EBBR will also generate a new label and FEC toward the root in the LDP domain. The EBBR Should stitch this generated label with the "upstream assigned label" to complete the P2MP or MP2MP LSP.¶
With the same token the EBBR should track all the arriving FECs and the IBBRs that are generating these FECs. The EBBR will use this information to build the bier header for each set of common FEC arriving from the IBBRs.¶
Upon receiving the "upstream assigned label", the IBBR should create its own stitching instruction between the "upstream assigned label" and the downstream signaled label.¶
As per [RFC6389] when LDP is used for upstream label assignment,the Interface ID TLV is used for signaling the Tunnel Identifier and it carries sub-TLVs. This document defines two new Interface ID sub-TLVs for BIER.¶
Below is the Interface ID BIER sub-TLV for IPv4 BIER prefix:¶
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 (TBD1) | 15 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IBBR Prefix IPv4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sub-domain-id| BFR-id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ artwork¶
Below is the Interface ID BIER sub-TLV for IPv6 BIER prefix:¶
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 (TBD2) | 23 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IBBR Prefix IPv6 | ~ ........ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sub-domain-id| BFR-id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ artwork¶
On the BFIR when the MPLS label for P2MP/MP2MP LSP arrives from upstream, a lookup in ILM table is done and the label is swapped with tLDP upstream assigned label. The BFIR will note all the BFERs that are interested in specific P2MP/MP2MP LSP (as per section 3.2). BFIR will put the corresponding BIER header with bit index set for all the IBBRs interested in this stream. BFIR will set the BIERHeader.Proto = MPLS and will forward the BIER packet into BIER domain.¶
In the BIER domain, normal BIER forwarding procedure will be done, as per [RFC8279]¶
The BFERs will receive the BIER packet and will look at the protocol of BIER header, indicating MPLS protocol. The BFER will remove the BIER header and will do a lookup in the ILM table for the upstream assigned label and perform its corresponding action.¶
It should be noted that these procedures are also valid if BFIR is the ILER and/or BFER is the ELER as per [RFC7060]¶
The procedures above also valid for mLDP recursive FEC. The root used to determine the EBBR is the outer root of the FEC. The entire recursive FEC needs to be preserved when it is forwarded via tLDP and the label request.¶
IANA maintains a registry of Interface ID Types for use in GMPLS in the registry "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Parameters" and sub-registry "Interface_ID Types"¶
This document defines and requests a new Interface_ID Type for BIER.¶
NA¶
Acknowledgments Authors would like to acknowledge Jingrong Xie for his comments and help on this draft.¶