Using Multipoint LDP When the Backbone Has No Route to the Root
Extracted elements (15)
For non-segmented inter-AS P-tunnels in option B VPN interconnect, ASBR1 may itself lack a route to PE2. The procedures allow ASBR1 to forward the VPN-Recursive FEC element unchanged but substitute the next-hop ASBR (ASBR2) as the new outer root, propagating the unchanged inner VPN-Recursive value hop by hop until a router with a route to PE2 is reached.
The BGP-free core problem arises when the root node address of an MP LSP is reachable only via a BGP route, but intermediate P routers have no BGP routes and therefore cannot forward mLDP messages toward that root. The recursive opaque value mechanism solves this by temporarily substituting the BGP next-hop PE as the root in messages traversing the BGP-free core.
The VPN-Recursive Opaque Value was defined separately from the plain Recursive Opaque Value because in MVPN and Carrier's Carrier scenarios the recursion-terminating router must look up the inner root in a specific VRF, not the global table; embedding the Route Distinguisher alongside the inner FEC provides the VRF identifier needed at that point.
The limited Carrier's Carrier function using VPN-Recursive Opaque Values is only applicable when both the inner and outer carrier use non-segmented mLDP P-tunnels, and the inner carrier is not aggregating the outer carrier's P-tunnels. The inter-AS and Carrier's Carrier cases are distinguished by whether mLDP messages are exchanged on VRF or non-VRF interfaces.
Interior routers that receive an mLDP FEC element with a Recursive or VPN-Recursive Opaque Value MUST NOT interpret the opaque value at all; they treat the FEC as if it were simply an LSP rooted at the intermediate PE node.
When a router receives an mLDP message where it is identified as the root node and the opaque value is a Recursive Opaque Value, it MUST replace the received FEC element with the contents of the Recursive Opaque Value (i.e., the embedded FEC element) before any further processing.
When an mLDP Label Mapping message arrives at a PE router over a VRF interface and that PE is identified as the root with a VPN-Recursive Opaque Value, the PE MUST replace the received FEC element with the contents of the VPN-Recursive Opaque Value (i.e., the embedded FEC element) before any further processing, and MUST use the VRF to look up the path to the inner root.
In the non-segmented inter-AS P-tunnel scenario, PE1 constructs an FEC of the form <root=ASBR1, opaque_value=<root=PE2, RD, opaque_value=Q>>. ASBR1, on receiving this FEC, extracts PE2 and the RD from the VPN-Recursive Opaque Value and either uses a direct route to PE2 (substituting <root=PE2, opaque_value=Q>) or re-wraps with the next ASBR as the new outer root.
The Recursive Opaque Value (Type 7) is a new mLDP opaque value type whose value field encodes an entire P2MP or MP2MP FEC element. It enables a PE router to embed the original FEC (with the true root) inside an outer FEC whose root is a BGP next-hop reachable by the BGP-free core.
The VPN-Recursive Opaque Value (Type 8) is a new mLDP opaque value type whose value field consists of an 8-octet Route Distinguisher followed by an entire P2MP or MP2MP FEC element. It is used in MVPN inter-AS and Carrier's Carrier scenarios where an RD is required to locate the correct VRF at the recursion termination point.
RFC 6512 assigns two new code points in the IANA 'LDP MP Opaque Value Element Basic Type' registry defined by mLDP (RFC 6388): Type 7 for the Recursive Opaque Value (an mLDP FEC TLV) and Type 8 for the VPN-Recursive Opaque Value (an 8-octet RD followed by an mLDP FEC TLV).
Unauthorized modification of the Recursive or VPN-Recursive FEC elements can disrupt MP LSP creation or cause multipoint LSPs to traverse unintended network segments, potentially enabling illegitimate insertion or interception of multicast traffic. The document notes these FEC elements are not inherently more vulnerable than previously defined FEC elements, so no new security vulnerabilities are introduced beyond those in RFC 5036 (LDP) and RFC 6388 (mLDP).
The mLDP FEC element encoding consists of a 1-octet Type field, 2-octet Address Family, 1-octet Address Length, variable-length Root Node Address, 2-octet Opaque Length, and variable-length Opaque Value. A P2MP or MP2MP LSP is identified by the combination of root node address and opaque value.
The Recursive Opaque Value is a basic type identified by Type=7 (1-octet), followed by a 2-octet Length field, and a value field that is itself a complete P2MP or MP2MP FEC element (type, length, value) as defined in mLDP. The length includes the type, length, and value fields of the embedded FEC element.
The VPN-Recursive Opaque Value is a basic type identified by Type=8 (1-octet), followed by a 2-octet Length field, an 8-octet Route Distinguisher (RD), and a P2MP or MP2MP FEC element. The total length includes the 8 octets of RD plus the type, length, and value fields of the embedded FEC element.