rfc-9541

Flush Mechanism for Customer MAC Addresses Based on Service Instance Identifier (I-SID) in Provider Backbone Bridging EVPN (PBB-EVPN)

J. Rabadan (Editor), S. Sathappan, K. Nagaraj, M. Miyake, T. Matsuda
date2024-03 streamIETF areartg wgbess statusPROPOSED STANDARD pages11 canonicalhttps://www.rfc-editor.org/rfc/rfc9541 doi10.17487/RFC9541
Provider Backbone Bridging (PBB) can be combined with Ethernet Virtual Private Networks (EVPNs) to deploy Ethernet Local Area Network (E-LAN) services in large Multiprotocol Label Switching (MPLS) networks. That combination is what we refer to as "PBB-EVPN." Single-Active multihoming and per Service Instance Identifier (I-SID) load-balancing can be provided to access devices and aggregation networks. In order to speed up the network convergence in case of failures on Single-Active multihomed Ethernet Segments (ESs), PBB-EVPN defines a flush mechanism for Customer MACs (C-MACs) called "C-MAC flush" that works for different Ethernet Segment Backbone MAC (B-MAC) address allocation models. This document complements those C-MAC flush procedures for cases in which no PBB-EVPN ESs are defined (i.e., the attachment circuit is associated with a zero Ethernet Segment Identifier (ESI)) and the C-MAC flush requires I-SID-level granularity.

Extracted elements (23)

design-rationale §1

Existing C-MAC flush in RFC 7623 operates at B-MAC granularity (B-MAC/0 routes) and, when reused for null-ESI scenarios, causes unnecessary flushing of all I-SIDs associated with a B-MAC rather than only the affected I-SID. This document introduces I-SID-encoded Ethernet Tag in MAC/IP Advertisement routes to achieve per-I-SID flush granularity.

routing, mpls

design-rationale §3

The solution reuses existing BGP attributes (MAC Mobility extended community and EVPN MAC/IP Advertisement route) rather than defining new ones, encoding the I-SID in the Ethernet Tag field. This ensures RRs accept and reflect B-MAC/I-SID routes without modification, providing reliable flush propagation in networks with Route Reflectors.

routing, bgp

interoperability-note §5

Non-supporting PEs (those not implementing this specification) will ignore received B-MAC/I-SID routes because the routes use no new BGP attributes or values. These PEs continue to follow RFC 7623 C-MAC flush procedures using B-MAC/0 routes, ensuring backward compatibility.

routing, bgp

interoperability-note §3

The B-MAC/I-SID route is accepted and reflected by any Route Reflector compliant with RFC 7432 because it introduces no new BGP attributes; only PEs supporting this specification will act on the received B-MAC/I-SID update.

routing, bgp

normative-requirement §4.3 MUST

A PE receiving RFC 7623 C-MAC flush notification messages (B-MAC/0 routes) MUST observe the behavior specified in RFC 7623; those procedures remain valid and unmodified.

routing

normative-requirement §4.3 MUST NOT

A received B-MAC/I-SID route (with a non-zero I-SID) MUST NOT add or remove any B-MAC to or from the MAC-VRF; its sole function is to trigger C-MAC flush.

routing

normative-requirement §4.3 MUST

A received B-MAC/I-SID withdraw (with a non-zero I-SID) MUST flush all C-MACs associated with that B-MAC and I-SID.

routing

normative-requirement §4.2 MUST

An AC going operationally down MUST generate a B-MAC/I-SID route with a higher Sequence Number. If the failure causes the entire local I-SID to go operationally down, the PE MUST withdraw the B-MAC/I-SID route for that I-SID.

routing

normative-requirement §4.2 SHOULD NOT

An AC going operationally up SHOULD NOT generate any B-MAC/I-SID update, unless it activates its corresponding I-SID, in which case the PE advertises the B-MAC/I-SID route.

routing

normative-requirement §4.2 MAY

An AC receiving a G.8032 flush notification or a flush message from any other access network protocol MAY propagate it to remote PEs by generating a B-MAC/I-SID route update with a higher Sequence Number.

routing

normative-requirement §4.3 MUST

An update of a previously received B-MAC/I-SID route with an incremented Sequence Number MUST flush all C-MACs associated with that I-SID and B-MAC. C-MACs associated with the same I-SID but a different B-MAC MUST NOT be flushed.

routing

normative-requirement §2 SHOULD

Enabling or disabling I-SID-based C-MAC flush SHOULD be an administrative choice and MAY be configured per I-SID (I-Component), rather than being enabled globally for all I-SIDs.

routing

normative-requirement §2 MUST

In case of failure on the egress PE, the solution MUST provide a C-MAC flush notification at B-MAC and I-SID granularity level, limiting unnecessary flushing to only the affected I-SID.

routing

normative-requirement §4.1 MUST NOT

Receiving PEs MUST use B-MAC/I-SID routes only for C-MAC flush procedures and MUST NOT use them to add or withdraw any B-MAC entry in the MAC-VRFs; only B-MAC/0 routes may add or withdraw B-MACs.

routing

normative-requirement §2 MUST

The I-SID-based C-MAC flush extension MUST work with Single-Active non-null ESs and virtual ESs, irrespective of the PE B-MAC address assignment model (dedicated per-ES B-MAC or shared B-MAC).

routing

normative-requirement §2 MUST

The solution MUST coexist in RFC 7623 networks where some PEs do not support this specification; non-supporting PEs ignore B-MAC/I-SID routes but still follow RFC 7623 C-MAC flush procedures.

routing

normative-requirement §2 MUST

The solution MUST prevent packet-loss scenarios in case of failures on null ES Attachment Circuits (ESI = zero) where the access device or access network is responsible for redundancy.

routing

normative-requirement §2 MUST

The solution MUST provide reliable C-MAC flush notification in PBB-EVPN networks using Route Reflectors, ensuring MAC flushing reaches all affected I-SIDs even when BGP flush notification messages are aggregated at the RR.

routing, bgp

protocol-element §3

The B-MAC/0 route is an EVPN MAC/IP Advertisement route with a B-MAC in the MAC address field and Ethernet Tag ID set to zero, used as in RFC 7623 to add or withdraw B-MAC entries in the MAC-VRFs. It is distinct from the B-MAC/I-SID route introduced by this document.

routing, bgp

protocol-element §3

The B-MAC/I-SID route is an EVPN MAC/IP Advertisement route that encodes a B-MAC address in the MAC address field and an I-SID value in the Ethernet Tag field (instead of zero). It is used exclusively as a C-MAC flush notification for C-MACs associated with the specified B-MAC and I-SID.

routing, bgp

security-consideration §6 RECOMMENDED

Security considerations from RFC 7623 apply. Additionally, the extra B-MAC/I-SID routes generated by this feature may consume additional memory and processing resources on receiving PEs, including non-supporting ones. It is RECOMMENDED to activate the feature only when necessary (when multihomed networks or devices are attached), and not by default on any PBB-EVPN PE.

security, routing

state-machine §4.1

I-SID-based C-MAC flush activation transitions a PE between inactive (not generating or processing B-MAC/I-SID routes) and active states on a per-I-SID basis. Activation is triggered administratively; deactivation removes the capability per I-SID. When active, the PE generates flush notifications on AC-down events and processes incoming B-MAC/I-SID routes.

routing

wire-format §3

The C-MAC flush notification reuses the MAC Mobility extended community (Type=0x06, Sub-Type=0x03) with an incremented Sequence Number, combined with an EVPN MAC/IP Advertisement route where ESI=0, Ethernet Tag ID = I-SID, MAC Address Length = 48 bits (B-MAC), and IP Address Length = 0.

routing, bgp