RFC 8560

Seamless Integration of Ethernet VPN (EVPN) with Virtual Private LAN Service (VPLS) and Their Provider Backbone Bridge (PBB) Equivalents

πŸ“… published May 2019, from ietf

RFC 8560: Seamless Integration of EVPN with VPLS and Their PBB Equivalents πŸŽ€

Authors: A. Sajassi (Ed.) (Cisco), S. Salam (Cisco), N. Del Regno (Verizon), J. Rabadan (Nokia) Category: Standards Track ✨ Date: May 2019 πŸ“… ISSN: 2070-1721 Obsoletes / Updates: The title block doesn't list any obsoletes or updates. πŸ™ˆ

Abstract πŸ’–

okay so this doc is all about making sure old and new Layer 2 VPN tech can be besties 🫢. It sets up backward compatibility between EVPN and PBB-EVPN on one side and VPLS and PBB-VPLS on the other. It also shows how these two worlds can hang out in the same MPLS/IP network, on a per-VPN-instance basis. πŸ¦‹

The big payoff is that service providers can drop EVPN/PBB-EVPN Provider Edges (PEs) into their brownfield VPLS/PBB-VPLS networks. No full rebuild needed, which is literally iconic πŸ‘‘. The doc covers the control-plane and forwarding behavior needed for auto-discovery of three things: 1) a VPN instance, 2) multicast and unicast operation, and 3) a Media Access Control (MAC) mobility operation. That's what makes the seamless integration between EVPN and VPLS PEs, and between PBB-VPLS and PBB-EVPN PEs, actually work. πŸ”₯

Status of This Memo πŸ“

This is an Internet Standards Track document. ✨

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It went through public review and got approved for publication by the Internet Engineering Steering Group (IESG). For more on Internet Standards, check out Section 2 of RFC 7841. πŸ’…

For the current status, any errata, and how to send feedback, head to https://www.rfc-editor.org/info/rfc8560. 🌸

Copyright (c) 2019 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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. 🫢

Table of Contents πŸ—ΊοΈ

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
  1.1.  Specification of Requirements . . . . . . . . . . . . . .   4
  1.2.  Abbreviations . . . . . . . . . . . . . . . . . . . . . .   4
  1.3.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   6
2.  Requirements  . . . . . . . . . . . . . . . . . . . . . . . .   6
3.  VPLS Integration with EVPN  . . . . . . . . . . . . . . . . .   7
  3.1.  Capability Discovery  . . . . . . . . . . . . . . . . . .   7
  3.2.  Forwarding Setup and Unicast Operation  . . . . . . . . .   8
  3.3.  MAC Mobility  . . . . . . . . . . . . . . . . . . . . . .   9
  3.4.  Multicast Operation . . . . . . . . . . . . . . . . . . .  10
    3.4.1.  Ingress Replication . . . . . . . . . . . . . . . . .  10
    3.4.2.  P2MP Tunnel . . . . . . . . . . . . . . . . . . . . .  10
4.  PBB-VPLS Integration with PBB-EVPN  . . . . . . . . . . . . .  10
  4.1.  Capability Discovery  . . . . . . . . . . . . . . . . . .  11
  4.2.  Forwarding Setup and Unicast Operation  . . . . . . . . .  11
  4.3.  MAC Mobility  . . . . . . . . . . . . . . . . . . . . . .  12
  4.4.  Multicast Operation . . . . . . . . . . . . . . . . . . .  12
    4.4.1.  Ingress Replication . . . . . . . . . . . . . . . . .  12
    4.4.2.  P2MP Tunnel: Inclusive Tree . . . . . . . . . . . . .  13
5.  Security Considerations . . . . . . . . . . . . . . . . . . .  13
6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  13
7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  14
  7.1.  Normative References  . . . . . . . . . . . . . . . . . .  14
  7.2.  Informative References  . . . . . . . . . . . . . . . . .  15
Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  16

1. Introduction ✨

VPLS and PBB-VPLS are the veterans here πŸ‘΅. They're widely deployed Layer 2 VPN (L2VPN) technologies. Lots of service providers are looking at EVPN and Provider Backbone Bridging EVPN (PBB-EVPN), but they want to protect what they've already invested in VPLS and PBB-VPLS. πŸ’Έ So they need a way to bring EVPN and PBB-EVPN into their brownfield VPLS and PBB-VPLS networks without any upgrades, software or hardware. That's the whole mission of this doc. 🎯

This document lays out the procedures for seamless integration of the two technologies in the same MPLS/IP network. Quick terminology note: "(PBB-)EVPN" means both EVPN and PBB-EVPN, and "(PBB-)VPLS" means both VPLS and PBB-VPLS. 🧚 The doc specifies the control-plane and forwarding behavior needed for 1) auto-discovery of a VPN instance, 2) multicast and unicast operations, and 3) a MAC mobility operation. The end result is seamless integration between (PBB-)EVPN Provider Edge (PE) devices and (PBB-)VPLS PEs. πŸ’œ

Here's the picture of what we're working with:

                         VPLS PE
                          +---+
                          |PE1|
                          +---+
                            /
     EVPN/VPLS PE  +---------------+   EVPN/VPLS PE
          +---+    |               |   +---+
          |PE4|----|    MPLS/IP    |---|PE5|
          +---+    |     Core      |   +---+
                   |               |
                   +---------------+
                     /        \
                  +---+     +---+
                  |PE2|     |PE3|
                  +---+     +---+
                VPLS PE     VPLS PE

     Figure 1: Seamless Integration of (PBB-)EVPN and (PBB-)VPLS

Here's the roadmap πŸ—ΊοΈ: Section 2 gives you the requirements in detail. Section 3 covers the procedures for seamless integration of VPLS and EVPN networks. Section 4 covers the procedures for seamless integration of PBB-VPLS and PBB-EVPN networks.

Heads up, though: the mixed scenarios are not covered in this document. That's PBB-VPLS integrating with EVPN, and VPLS integrating with PBB-EVPN. πŸ™… The reason is that service providers haven't asked for them. Deployments that use PBB-VPLS usually need PBB encapsulation for various reasons, so for those networks the expected evolution path is from PBB-VPLS towards PBB-EVPN. Similarly, the evolution path from VPLS is expected to move towards EVPN. πŸ¦‹

The seamless integration solution in this document has these attributes ✨:

  • When ingress replication is used for multi-destination traffic delivery, the solution reduces the scope of MMRP (which is a soft-state protocol defined in Clause 10 of [IEEE.802.1Q]) to only that of existing VPLS PEs, and uses the more robust BGP-based mechanism for multicast pruning among new EVPN PEs. πŸ”₯
  • It is completely backward compatible. 🫢
  • New PEs can leverage the extensive multihoming mechanisms and provisioning simplifications of (PBB-)EVPN:
    • (a) Auto-sensing of Multihomed Networks (MHNs) / Multihomed Devices (MHDs) πŸ‘€
    • (b) Auto-discovery of redundancy groups πŸ”
    • (c) Auto-provisioning of Designated Forwarder election and VLAN carving πŸͺ„

1.1. Specification of Requirements πŸ“œ

Here's how the BCP 14 key words work in this doc. "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. πŸ’…

1.2. Abbreviations πŸ”€

Here's the abbreviation cheat sheet, so you're never lost in the alphabet soup πŸ“:

B-MAC:      Backbone MAC, e.g., the PE's MAC address

C-MAC:      Customer MAC, e.g., a host or CE's MAC address

CE:         A Customer Edge device, e.g., a host, router, or switch

ES:         Ethernet Segment -- refers to the set of Ethernet links
            that connects a customer site (device or network) to one
            or more PEs

FEC:        Forwarding Equivalence Class
FIB:        Forwarding Information Base -- an instantiation of a
            forwarding table on a MAC-VRF

I-SID:      Service Instance Identifier

LSP:        Label Switched Path

MAC:        Media Access Control

MAC-VRF:    A Virtual Routing and Forwarding table for Media Access
            Control (MAC) addresses on an EVPN PE

MHD:        Multihomed Device

MHN:        Multihomed Network

MP2P:       Multipoint to Point -- an MP2P LSP typically refers to an
            LSP for unicast traffic as the result of a downstream-
            assigned label

P2MP:       Point to Multipoint -- a P2MP LSP typically refers to an
            LSP for multicast traffic

PBB:        Provider Backbone Bridge

(PBB-)EVPN: Both PBB-EVPN and EVPN -- this document uses this
            abbreviation when a given description applies to both
            technologies

(PBB-)VPLS: Both PBB-VPLS and VPLS -- this document uses this
            abbreviation when a given description applies to both
            technologies

PE:         Provider Edge device

PW:         Pseudowire

RIB:        Routing Information Base -- an instantiation of a routing
            table on a MAC-VRF

VSI:        Virtual Switch Instance

VPLS:       Virtual Private LAN Service

VPLS A-D:   Virtual Private LAN Service with BGP-based auto-discovery
            as in [RFC6074]

1.3. Terminology πŸ’­

Let's decode the key terms 🧠:

  • All-Active redundancy mode: When all PEs attached to an Ethernet segment are allowed to forward known unicast traffic to/from that Ethernet segment for a given VLAN, the Ethernet segment is defined as operating in All-Active redundancy mode. 🌊
  • Bridge table: An instantiation of a broadcast domain on a MAC-VRF (VPN Routing and Forwarding). πŸŒ‰
  • Broadcast domain: In a bridged network, the broadcast domain corresponds to a Virtual LAN (VLAN). A VLAN is typically represented by a single VLAN ID (VID), but it can be represented by several VIDs where Shared VLAN Learning (SVL) is used, per [IEEE.802.1Q]. πŸ“‘
  • Ethernet Tag: An Ethernet Tag identifies a particular broadcast domain, e.g., a VLAN. An EVPN instance consists of one or more broadcast domains. 🏷️
  • Single-Active redundancy mode: When only a single PE, among all the PEs attached to an Ethernet segment, is allowed to forward traffic to/from that Ethernet segment for a given VLAN, the Ethernet segment is defined as operating in Single-Active redundancy mode. πŸ‘‘

2. Requirements ✨

Okay bestie, let's talk about the key requirements for backward compatibility between (PBB-)EVPN and (PBB-)VPLS πŸŽ€ There are six of them, and they're honestly giving a whole vibe:

  1. The solution must allow for staged migration towards (PBB-)EVPN on a site-by-site basis per VPN instance, e.g., new EVPN sites to be provisioned on (PBB-)EVPN Provider Edge devices (PEs). πŸ¦‹
  2. The solution must not require any changes to existing VPLS or PBB-VPLS PEs, not even a software upgrade. πŸ™ˆ
  3. The solution must allow for the coexistence of PE devices running (PBB-)EVPN and (PBB-)VPLS for the same VPN instance and single-homed segments. 🫢
  4. The solution must support single-active redundancy of multihomed networks and multihomed devices for (PBB-)EVPN PEs. πŸ’…
  5. In cases of single-active redundancy, the participant VPN instances may span across both (PBB-)EVPN PEs and (PBB-)VPLS PEs as long as the MHD or MHN is connected to (PBB-)EVPN PEs. 🌸
  6. Support of the All-Active redundancy mode across both (PBB-)EVPN PEs and (PBB-)VPLS PEs is outside the scope of this document. All-Active redundancy is not applicable to VPLS and PBB-VPLS. Therefore, when EVPN (or PBB-EVPN) PEs need to operate seamlessly with VPLS (or PBB-VPLS) PEs, they MUST use a redundancy mode that is applicable to VPLS (or PBB-VPLS). This redundancy mode is Single-Active. πŸ‘‘

These requirements collectively allow for the seamless insertion of (PBB-)EVPN technology into brownfield (PBB-)VPLS deployments. It's giving "upgrade without the drama" ✨


3. VPLS Integration with EVPN

Okay so, to get seamless integration with VPLS PEs, this document says VPLS PEs have to support VPLS A-D per [RFC6074]. EVPN PEs have to support both BGP EVPN routes per [RFC7432] and VPLS A-D per [RFC6074]. All the logic for seamless integration shall reside on the EVPN PEs 🧚

If a VPLS instance is set up without VPLS A-D, EVPN PEs can still integrate it, but it's cumbersome 😭 They'd have to manually configure pseudowires (PWs) to all the VPLS PEs in that instance. Just know the integration is no longer seamless in that case.

3.1. Capability Discovery

The EVPN PEs MUST advertise both the BGP VPLS auto-discovery (A-D) route and the BGP EVPN Inclusive Multicast Ethernet Tag (IMET) route for a given VPN instance. The VPLS PEs only advertise the BGP VPLS A-D route, following the procedures in [RFC4761], [RFC4762] and [RFC6074]. πŸ’œ

The operator may decide to use the same Route Target (RT) to identify a VPN on both EVPN and VPLS networks. If they do, and a VPLS PE receives the EVPN IMET route, it MUST ignore it, because it belongs to an unknown Subsequent Address Family Identifier (SAFI). πŸ™ˆ

Or the operator may choose to use two RTs. One identifies the VPN on the VPLS network and the other identifies it on the EVPN network. They can then use RT Constrain mechanisms [RFC4684] to stop BGP EVPN routes from reaching the VPLS PEs. Main character energy for the operator πŸ’…

When an EVPN PE receives both a VPLS A-D route and an EVPN IMET route from a given remote PE for the same VPN instance, it MUST give preference to the EVPN route for discovery. This makes sure that, once the route exchanges are done, all EVPN-capable PEs discover the other EVPN-capable PEs, plus the VPLS-only PEs for that VPN instance 🌈 The VPLS-only PEs will discover the EVPN PEs as if they were standard VPLS PEs.

So when discovery is complete, the EVPN PEs know about all the PEs in the VPN instance along with each one's capability (EVPN or VPLS-only). The VPLS PEs know about all the PEs as if every one of them were VPLS-only PEs. Iconic. πŸ‘‘

3.2. Forwarding Setup and Unicast Operation

The forwarding state setup and unicast operation on the VPLS PE follow [RFC8077], [RFC4761], and [RFC4762].

The forwarding state setup and unicast operation on the EVPN PE go like this:

  • The EVPN PE MUST establish a PW to each remote PE from which it has received only a VPLS A-D route for the corresponding VPN instance, and it MUST set up the label stack corresponding to the PW FEC. For seamless integration between EVPN and VPLS PEs, the PW set up between a pair of VPLS and EVPN PEs runs between the VSI of the VPLS PE and the MAC-VRF of the EVPN PE. πŸ¦‹
  • The EVPN PE MUST set up the label stack corresponding to the MP2P VPN unicast FEC to any remote PE that has advertised an EVPN IMET route. πŸ’–
  • If an EVPN PE receives a VPLS A-D route from a given PE, it sets up a PW to that PE. If it then receives an EVPN IMET route from the same PE, the EVPN PE MUST bring that PW operationally down. Plot twist, and a bit of a glow-up πŸ₯Ή
  • If an EVPN PE receives an EVPN IMET route followed by a VPLS A-D route from the same PE, the EVPN PE will set up the PW but MUST keep it operationally down. 🌸
  • If VPLS A-D isn't used in some VPLS PEs, the EVPN PEs need to be provisioned manually with PWs to those remote VPLS PEs for each VPN instance. In that case, if an EVPN PE receives an EVPN IMET route from a PE that has a PW set up, the EVPN PE MUST bring the PW operationally down. 🫢

When the EVPN PE receives traffic over the VPLS PWs, it learns the associated C-MAC addresses in the data plane. The C-MAC addresses learned over these PWs MUST be injected into the bridge table of the associated MAC-VRF on that EVPN PE. The learned C-MAC addresses MAY also be injected into the RIB/FIB tables of the associated MAC-VRF on that EVPN PE. ✨

For seamless integration between EVPN and VPLS PEs, these PWs belong to the same split-horizon group (see [RFC4761] and [RFC4762]) as the MP2P EVPN service tunnels. So the C-MAC addresses learned and associated with the PWs MUST NOT be advertised in the control plane to any remote EVPN PEs. Why? Because every EVPN PE can send and receive traffic directly to and from every VPLS PE in the same VPN instance. That means every EVPN PE can learn the C-MAC addresses over the matching PWs directly. Efficient and slay πŸ’…

The C-MAC addresses learned over local Attachment Circuits (ACs) by an EVPN PE are learned in the data plane. For EVPN PEs, these C-MAC addresses MUST be injected into the corresponding MAC-VRF and advertised in the control plane using BGP EVPN routes. The C-MAC addresses learned in the control plane through the BGP EVPN routes sent by remote EVPN PEs get injected into the corresponding MAC-VRF table too πŸ¦‹

If there's a link failure in a single-active Ethernet segment, the EVPN PEs MUST perform both of the following tasks:

  1. send a BGP mass withdraw to the EVPN peers
  2. follow existing VPLS MAC Flush procedures with the VPLS peers

Two tasks, zero chill. 😭

3.3. MAC Mobility

In EVPN, host addresses (C-MAC addresses) can move around among EVPN PEs, or even between EVPN and VPLS PEs 🌈

When a C-MAC address moves from an EVPN PE to a VPLS PE, the moment Broadcast, Unknown Unicast, and Multicast (BUM) traffic starts from that MAC address, it gets flooded to all the other PEs (both VPLS and EVPN PEs). The receiving PEs then update their MAC tables (VSI or MAC-VRF). The EVPN PEs don't advertise the C-MAC addresses learned over the PW to each other, because every EVPN PE learns them directly over its own PW to that VPLS PE 🧚

Here's the catch 😬 If only known unicast traffic starts from the moved C-MAC address toward a known C-MAC, traffic destined to the moved C-MAC can get black-holed. That keeps happening until BUM traffic comes from the moved C-MAC address as the source MAC address (for example, when the MAC age-out timer expires). This black-holing hits traffic destined to the moved C-MAC from both EVPN and VPLS PEs, and it's typical for VPLS PEs.

When a C-MAC address moves from a VPLS PE to an EVPN PE, then the moment any traffic starts from that C-MAC address, the C-MAC is learned and advertised in BGP to the other EVPN PEs, and the MAC mobility procedure runs among the EVPN PEs. For BUM traffic, both EVPN and VPLS PEs learn the new location of the moved C-MAC address. But if there's only known unicast traffic, only the EVPN PEs learn the new location of the moved C-MAC, and the VPLS PEs don't. That can black-hole traffic sent from VPLS PEs to the moved C-MAC until BUM traffic from the moved C-MAC address shows up (for example, when the MAC age-out timer expires). This black-holing happens only for VPLS PEs and not for EVPN PEs, and it's typical for VPLS PEs. πŸ₯€

3.4. Multicast Operation

3.4.1. Ingress Replication

The multicast operation on the VPLS PE using ingress replication follows [RFC4761], [RFC4762], and [RFC7080].

The multicast operation on the EVPN PE for ingress replication goes like this:

  • The EVPN PE builds a replication sub-list to all the remote EVPN PEs per EVPN instance, from the exchange of EVPN IMET routes per [RFC7432]. This is called sub-list A. It's made up of MP2P service tunnels (for ingress replication) used to deliver EVPN BUM traffic [RFC7432]. πŸ’–
  • The EVPN PE builds a replication sub-list per VPLS instance to all the remote VPLS PEs. This is called sub-list B. It's made up of PWs from the EVPN PE in question to all the remote VPLS PEs in the same VPLS instance. 🌸

The replication list, maintained per VPN instance on a given EVPN PE, is the union of sub-list A and sub-list B. The EVPN PE MUST enable split horizon over all the entries in the replication list, across both PWs and MP2P service tunnels. Split horizon, but make it iconic πŸ‘‘

3.4.2. P2MP Tunnel

Multicast operation on EVPN PEs using P2MP tunnels is outside the scope of this document. πŸ¦‹


4. PBB-VPLS Integration with PBB-EVPN

To support seamless integration between PBB-VPLS and PBB-EVPN PEs, this document requires that PBB-VPLS PEs support VPLS A-D per [RFC6074]. PBB-EVPN PEs have to support both BGP EVPN routes per [RFC7432] and VPLS A-D per [RFC6074]. All the logic for this seamless integration shall reside on the PBB-EVPN PEs. ✨

4.1. Capability Discovery

The capability discovery procedures follow Section 3.1. Same vibes, just with PBB 🧚

4.2. Forwarding Setup and Unicast Operation ✨

okay so for the PBB-VPLS PE, forwarding state setup and unicast operation just follow [RFC8077] and [RFC7080] πŸŽ€. easy.

the PBB-EVPN PE is where it gets spicy 🌢️. here's the vibe:

  • The PBB-EVPN PE MUST establish a PW to each remote PBB-VPLS PE from which it has received only a VPLS A-D route for the corresponding VPN instance, and it MUST set up the label stack corresponding to the PW FEC. For seamless integration between PBB-EVPN and PBB-VPLS PEs, the PW that gets set up between a pair of PBB-VPLS and PBB-EVPN PEs is between the B-components of the PBB-EVPN PE and the PBB-VPLS PE, per Section 4 of [RFC7041] 🧚
  • The PBB-EVPN PE MUST set up the label stack corresponding to the MP2P VPN unicast FEC to any remote PBB-EVPN PE that has advertised an EVPN IMET route. πŸ’œ
  • If a PBB-EVPN PE receives a VPLS A-D route from a given PE, it sets up a PW to that PE. If it then receives an EVPN IMET route from the same PE, the PBB-EVPN PE MUST bring that PW operationally down. not the PW you wanted, bestie πŸ’€
  • If a PBB-EVPN PE receives an EVPN IMET route followed by a VPLS A-D route from the same PE, then the PBB-EVPN PE will set up the PW but MUST keep it operationally down. πŸ™ˆ
  • In case VPLS A-D is not used in some PBB-VPLS PEs, the PBB-EVPN PEs need to be provisioned manually with PWs to those remote PBB-VPLS PEs for each VPN instance. In that case, if a PBB-EVPN PE receives an EVPN IMET route from a PE to which a PW exists, the PBB-EVPN PE MUST bring the PW operationally down. πŸŽ€
  • When the PBB-EVPN PE receives traffic over the PBB-VPLS PWs, it learns the associated B-MAC addresses in the data plane. The B-MAC addresses learned over these PWs MUST be injected into the bridge table of the associated MAC-VRF on that PBB-EVPN PE. The learned B-MAC addresses MAY also be injected into the RIB/FIB tables of the associated MAC-VRF on that PBB-EVPN PE. For seamless integration between PBB-EVPN and PBB-VPLS PEs, these PWs belong to the same split-horizon group as the MP2P EVPN service tunnels, so the B-MAC addresses learned and associated with the PWs MUST NOT be advertised in the control plane to any remote PBB-EVPN PEs. Why? Because every PBB-EVPN PE can send and receive traffic directly to and from every PBB-VPLS PE belonging to the same VPN instance. smart, right? 🌸
  • The C-MAC addresses learned over local Attachment Circuits (ACs) by a PBB-EVPN PE are learned in the data plane. For PBB-EVPN PEs, these C-MAC addresses are learned in the I-component of the PBB-EVPN PE and are not advertised in the control plane, per [RFC7623]. πŸ¦‹
  • The B-MAC addresses learned in the control plane via the BGP EVPN routes sent by remote PBB-EVPN PEs are injected into the corresponding MAC-VRF table. πŸ’…

now the link failure part, which is kinda serious. in case of a link failure in a single-active Ethernet segment, the PBB-EVPN PEs MUST do both of these things:

  1. send a BGP B-MAC withdraw message to the PBB-EVPN peers or a MAC advertisement with the MAC Mobility extended community
  2. follow existing VPLS MAC Flush procedures with the PBB-VPLS peers

4.3. MAC Mobility

okay, mobility in PBB-EVPN is a little different πŸ¦‹. a given B-MAC address can be learned either over the BGP control plane from a remote PBB-EVPN PE, or in the data plane over a PW from a remote PBB-VPLS PE. there's no mobility associated with B-MAC addresses in this context. so if the same B-MAC address shows up behind both a remote PBB-VPLS PE and a PBB-EVPN PE, the local PE can deduce that it's an anomaly, and it SHOULD notify the operator. 🚨 not normal, bestie 😭


4.4. Multicast Operation

4.4.1. Ingress Replication

multicast on the PBB-VPLS PE using ingress replication is per [RFC7041] and [RFC7080] ✨.

for the PBB-EVPN PE doing ingress replication:

  • The PBB-EVPN PE builds a replication sub-list per I-SID to all the remote PBB-EVPN PEs in a given VPN instance, from the exchange of EVPN IMET routes, as described in [RFC7623]. We'll call this sub-list A. It's made of MP2P service tunnels used for delivering PBB-EVPN BUM traffic. 🧚
  • The PBB-EVPN PE builds a replication sub-list per VPN instance to all the remote PBB-VPLS PEs. We'll call this sub-list B. It's made of PWs from the PBB-EVPN PE in question to all the remote PBB-VPLS PEs in the same VPN instance. πŸŽ€
  • The PBB-EVPN PE may further prune sub-list B on a per-I-SID basis by running MMRP (see Clause 10 of [IEEE.802.1Q]) over the PBB-VPLS network. We'll call this sub-list C. It's a pruned set of the PWs in sub-list B. βœ‚οΈ

so the replication list kept per I-SID on a PBB-EVPN PE is the union of sub-list A and sub-list B if MMRP is not used, and the union of sub-list A and sub-list C if MMRP is used. one more thing, and it's a big one πŸ‘‘: the PE MUST enable split horizon over all the entries in the replication list, across both pseudowires and MP2P service tunnels. no exceptions, periodt πŸ’…

4.4.2. P2MP Tunnel: Inclusive Tree

the procedures for multicast operation on PBB-EVPN PEs using P2MP tunnels are outside the scope of this document. not covered here, bestie 🫢


5. Security Considerations πŸ”₯

this part is SERIOUS, so pay attention πŸ’€. all the security considerations in [RFC4761], [RFC4762], [RFC7080], [RFC7432], and [RFC7623] apply directly to this document, because it leverages the control-plane and data-plane procedures described in those RFCs. no skipping them, no cap.

this document doesn't introduce any new security considerations beyond those of the above RFCs. why? because the advertisements and processing of MAC addresses in BGP follow [RFC7432], and the processing of MAC addresses learned over PWs follows [RFC4761], [RFC4762], and [RFC7080]. so it's all covered, and that's the whole point πŸ›‘οΈβœ¨


6. IANA Considerations 🌈

this document has no IANA actions. nothing to register, nothing to update 🫢


7. References πŸ“š

7.1. Normative References

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119,
           DOI 10.17487/RFC2119, March 1997,
           <https://www.rfc-editor.org/info/rfc2119>.

[RFC4761]  Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private
           LAN Service (VPLS) Using BGP for Auto-Discovery and
           Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007,
           <https://www.rfc-editor.org/info/rfc4761>.

[RFC4762]  Lasserre, M., Ed. and V. Kompella, Ed., "Virtual Private
           LAN Service (VPLS) Using Label Distribution Protocol (LDP)
           Signaling", RFC 4762, DOI 10.17487/RFC4762, January 2007,
           <https://www.rfc-editor.org/info/rfc4762>.

[RFC6074]  Rosen, E., Davie, B., Radoaca, V., and W. Luo,
           "Provisioning, Auto-Discovery, and Signaling in Layer 2
           Virtual Private Networks (L2VPNs)", RFC 6074,
           DOI 10.17487/RFC6074, January 2011,
           <https://www.rfc-editor.org/info/rfc6074>.

[RFC7041]  Balus, F., Ed., Sajassi, A., Ed., and N. Bitar, Ed.,
           "Extensions to the Virtual Private LAN Service (VPLS)
           Provider Edge (PE) Model for Provider Backbone Bridging",
           RFC 7041, DOI 10.17487/RFC7041, November 2013,
           <https://www.rfc-editor.org/info/rfc7041>.

[RFC7432]  Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
           Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
           Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February
           2015, <https://www.rfc-editor.org/info/rfc7432>.

[RFC7623]  Sajassi, A., Ed., Salam, S., Bitar, N., Isaac, A., and
           W. Henderickx, "Provider Backbone Bridging Combined with
           Ethernet VPN (PBB-EVPN)", RFC 7623, DOI 10.17487/RFC7623,
           September 2015, <https://www.rfc-editor.org/info/rfc7623>.

[RFC8077]  Martini, L., Ed. and G. Heron, Ed., "Pseudowire Setup and
           Maintenance Using the Label Distribution Protocol (LDP)",
           STD 84, RFC 8077, DOI 10.17487/RFC8077, February 2017,
           <https://www.rfc-editor.org/info/rfc8077>.

[RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
           2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
           May 2017, <https://www.rfc-editor.org/info/rfc8174>.

7.2. Informative References

[IEEE.802.1Q]
           IEEE, "IEEE Standard for Local and Metropolitan Area
           Network -- Bridges and Bridged Networks", IEEE
           Standard 802.1Q, DOI 10.1109/IEEESTD.2018.8403927, July
           2018.

[RFC4684]  Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk,
           R., Patel, K., and J. Guichard, "Constrained Route
           Distribution for Border Gateway Protocol/MultiProtocol
           Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual
           Private Networks (VPNs)", RFC 4684, DOI 10.17487/RFC4684,
           November 2006, <https://www.rfc-editor.org/info/rfc4684>.

[RFC7080]  Sajassi, A., Salam, S., Bitar, N., and F. Balus, "Virtual
           Private LAN Service (VPLS) Interoperability with Provider
           Backbone Bridges", RFC 7080, DOI 10.17487/RFC7080,
           December 2013, <https://www.rfc-editor.org/info/rfc7080>.

Authors' Addresses 🫢

  • Ali Sajassi (editor), Cisco, Email: sajassi@cisco.com
  • Samer Salam, Cisco, Email: ssalam@cisco.com
  • Nick Del Regno, Verizon, Email: nick.delregno@verizon.com
  • Jorge Rabadan, Nokia, Email: jorge.rabadan@nokia.com

that's the whole RFC, bestie πŸŒˆπŸ’–βœ¨

πŸ“¦ where this page comes from