rfc-9026

Multicast VPN Fast Upstream Failover

T. Morin (Editor), R. Kebler (Editor), G. Mirsky (Editor)
date2021-04 streamIETF areartg wgbess statusPROPOSED STANDARD pages22 canonicalhttps://www.rfc-editor.org/rfc/rfc9026 doi10.17487/RFC9026
This document defines Multicast Virtual Private Network (VPN) extensions and procedures that allow fast failover for upstream failures by allowing downstream Provider Edges (PEs) to consider the status of Provider-Tunnels (P-tunnels) when selecting the Upstream PE for a VPN multicast flow. The fast failover is enabled by using "Bidirectional Forwarding Detection (BFD) for Multipoint Networks" (RFC 8562) and the new BGP Attribute, BFD Discriminator. Also, this document introduces a new BGP Community, Standby PE, extending BGP Multicast VPN (MVPN) routing so that a C-multicast route can be advertised toward a Standby Upstream PE.

Extracted elements (30)

design-rationale §3.1.8

BFD-based P-tunnel monitoring (Section 3.1.6) was identified as the most accurate and expedient failure-notification method, but operators must weigh the additional state and BFD Control packet load on root PEs against its benefits over simpler methods such as tunnel root tracking.

vpn, multicast, routing

design-rationale §5

The Standby PE community approach was chosen over advertising a single C-multicast join to both primary and secondary PEs because it allows the protection level (cold/warm/hot standby) to be changed by reconfiguring only the secondary Upstream PE, without touching any downstream PEs.

vpn, multicast, bgp, routing

interoperability-note §1

The extensions defined in this document are optional; a BGP implementation that does not recognize or is not configured to support them will continue to provide MVPN multicast service as described in RFC 6513, without fast failover capability.

vpn, multicast, bgp, routing

interoperability-note §3.1.2

When using PE-P upstream link status (Section 3.1.2) in conjunction with fast restoration (e.g., MPLS FRR), it is recommended to use longer detection intervals at higher layers—a multiplier of 3 or larger is suggested (e.g., 10 ms for link, at least 100 ms for tunnel)—to avoid uncorrelated timers causing unnecessary switchovers.

vpn, multicast, routing, mpls

normative-requirement §3.1.6 MUST NOT

A BFD Discriminator attribute is malformed if its length is smaller than 11 octets or if Optional TLVs are not well-formed; the UPDATE message SHALL then be handled via Attribute Discard per RFC 7606.

vpn, bgp, routing

normative-requirement §4.1 MUST

A Standby BGP C-multicast route MUST carry the 'Standby PE' BGP Community (0xFFFF0009), and its LOCAL_PREF attribute MUST be set lower than the LOCAL_PREF of the corresponding non-standby C-multicast route; a value of zero is RECOMMENDED.

vpn, multicast, bgp, routing

normative-requirement §3.1.6 MUST

An implementation that does not recognize the BFD Discriminator attribute MUST follow RFC 4271 Section 5 procedures for unrecognized optional transitive path attributes (propagate with partial bit set).

vpn, multicast, bgp, routing

normative-requirement §3.1.4 MUST

An Upstream PE MUST be removed from the UMH candidate list for a given (C-S,C-G) if the P-tunnel (I-PMSI or S-PMSI) is leaf-triggered (PIM, mLDP) but the upstream one-hop branch from P to PE cannot be built.

vpn, multicast, routing

normative-requirement §3 MUST NOT

If a P-tunnel is Down, the PE that is the root of that P-tunnel MUST NOT be considered for UMH selection; if the status cannot be determined, the tunnel shall be treated as 'not known to be Down' and may be treated as Up.

vpn, multicast, routing, bgp

normative-requirement §3.1.7 MUST

If the Upstream PE detects a PE-CE link failure, it MUST set bfd.LocalDiag to Concatenated Path Down or Reverse Concatenated Path Down (RFC 5880 Section 6.8.17) unless it switches to a new PE-CE link within bfd.DesiredMinTxInterval, signaling downstream PEs to switch to a backup PE.

vpn, multicast, routing

normative-requirement §4 MUST

Revertive behavior — switching back to the Primary Upstream PE when it recovers — MUST be supported; non-revertive behavior MAY be supported via configuration, but the behavior MUST be consistent on all PEs in a given MVPN.

vpn, multicast, bgp, routing

normative-requirement §3.1.6.2 MUST

The downstream PE MUST create a P2MP BFD session as MultipointTail and MUST demultiplex it using the Source IP Address TLV, the BFD Discriminator field value, and the x-PMSI Tunnel Identifier on which the BFD Control packet was received.

vpn, multicast, bgp, routing

normative-requirement §3.1.6 MUST

The Source IP Address TLV (Type=1) MUST be included in the BFD Discriminator attribute when the BFD Mode is P2MP BFD Session; a BFD Discriminator attribute missing this TLV MUST be handled using the 'attribute discard' approach per RFC 7606.

vpn, bgp, multicast, routing

normative-requirement §3.1.6.1 MUST

The Upstream PE MUST initiate the P2MP BFD session as MultipointHead (RFC 8562), MUST set the inner IP destination to 127.0.0.1/32 (IPv4) or ::1/128 (IPv6), and MUST include the BFD Discriminator attribute in the x-PMSI A-D Route with the My Discriminator value.

vpn, multicast, bgp, routing

normative-requirement §4.2 MUST

Upstream PEs MUST follow the procedures of Section 9.3.2 of RFC 6513 regarding Source-Active A-D Routes for both normal and Standby C-multicast routes.

vpn, multicast, bgp, routing

normative-requirement §4.1 MUST

When advertising a Standby C-multicast join for a (C-S,C-G), the downstream PE MUST join the corresponding P-tunnel.

vpn, multicast, bgp, routing

normative-requirement §4.4.2 MUST

When an ASBR receives a Standby C-multicast route with LOCAL_PREF=0 over iBGP, it MUST re-advertise it in eBGP with MED set to 0xffff; conversely, if received over eBGP with MED=0xffff, it MUST re-advertise in iBGP with LOCAL_PREF=0.

vpn, multicast, bgp, routing

normative-requirement §3.1.6.2 MUST

When the downstream PE's P2MP BFD session state transitions to Down, the associated P-tunnel MUST be considered down; the PE MAY then initiate a traffic switchover to the Standby Upstream PE if that PE's BFD session is Up.

vpn, multicast, bgp, routing

normative-requirement §3.1.3 MUST

When the signaling state for a P2MP RSVP-TE LSP is removed or transitions from Up to Down (per RFC 4875 procedures), the status of the corresponding P-tunnel MUST be re-evaluated, and the ingress Upstream PE MUST NOT be considered a valid candidate UMH.

vpn, multicast, routing, mpls

normative-requirement §3.1.5 MUST

When using (C-S,C-G) counter information in a context with fast restoration mechanisms, a configurable timer MUST be set on the downstream PE to wait before updating the UMH; a timeout of three seconds is suggested as a suitable default.

vpn, multicast, routing

protocol-element §3.1.6

The BFD Discriminator is a new optional transitive BGP path attribute (codepoint 38) used to carry the discriminator of a P2MP BFD session in an x-PMSI A-D Route, enabling downstream PEs to track P-tunnel health via BFD.

vpn, multicast, bgp, routing

protocol-element §4.1

The Standby PE BGP Well-known Community (0xFFFF0009) is assigned to mark a C-multicast route as a standby route, enabling upstream PEs to distinguish standby from primary joins and apply appropriate forwarding behavior.

vpn, multicast, bgp, routing

registry §7.2

IANA allocated codepoint 38 in the 'BGP Path Attributes' registry for the BFD Discriminator attribute, and created a new 'BFD Mode' subregistry with values 0–175 (IETF Review), 176–249 (FCFS), 250–254 (Experimental); initial assignment: 1 = P2MP BFD Session.

vpn, multicast, bgp, registry

registry §7.1

IANA allocated the BGP Well-known Community value 0xFFFF0009 as the 'Standby PE' community in the 'Border Gateway Protocol (BGP) Well-known Communities' registry, using First Come First Served policy.

vpn, multicast, bgp, registry

registry §7.3

IANA created the 'BFD Discriminator Optional TLV Type' subregistry with the same allocation policies as BFD Mode; initial assignment: Type 1 = Source IP Address.

vpn, multicast, bgp, registry

security-consideration §8

An implementation supporting this specification MUST provide a mechanism to limit the overall capacity used by BFD traffic, considering both the number of active P2MP BFD sessions and the rate of BFD Control packets, to prevent resource exhaustion.

vpn, multicast, security

security-consideration §8

The tunnel-status methods in Section 3.1 may produce false-negative state changes, triggering unnecessary control-plane convergence and negatively impacting multicast VPN service; operators must carefully consider their network environment and tune the detection parameters.

vpn, multicast, security

state-machine §4.2

An Upstream PE that receives a Standby BGP C-multicast route operates in one of three modes: 'cold root standby' (takes no preemptive action), 'warm root standby' (installs VRF PIM state but does not forward on P-tunnel), or 'hot root standby' (installs state and forwards traffic on P-tunnel regardless of primary PE reachability).

vpn, multicast, routing

wire-format §3.1.6

Each Optional TLV within the BFD Discriminator attribute consists of a 1-octet Type, a 1-octet Length (length of Value in octets), and a variable-length Value field; all multibyte fields are in network byte order.

vpn, bgp, routing

wire-format §3.1.6

The BFD Discriminator BGP attribute has a 1-octet BFD Mode field, followed by a 4-octet BFD Discriminator field, followed by optional variable-length TLVs. The attribute is considered malformed if its total length is smaller than 11 octets.

vpn, multicast, bgp, routing