RFC 9541: Flush Mechanism for Customer MAC Addresses Based on Service Instance Identifier (I-SID) in Provider Backbone Bridging EVPN (PBB-EVPN)
- J. Rabadan, Ed.,
- S. Sathappan,
- K. Nagaraj,
- M. Miyake,
- T. Matsuda
Abstract
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.¶
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 has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2024 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://
1. Introduction
[RFC7623] defines how Provider Backbone Bridging (PBB) can be combined with Ethernet Virtual Private Networks (EVPNs) to deploy E-LAN services in very large MPLS networks. [RFC7623] also describes how Single-Active multihoming and per-I-SID load-balancing can be provided to access devices and aggregation networks. When Access Ethernet and/or MPLS networks exist, [EVPN-VIRTUAL-ES] describes how virtual Ethernet Segments (ESs) can be associated with a group of Ethernet Virtual Circuits (EVCs) or even pseudowires (PWs). In order to speed up the network convergence in case of failures on Single-Active multihomed ESs, [RFC7623] defines a Customer MAC flush mechanism that works for different ES B-MAC address allocation models.¶
In some cases, the administrative entities that manage the access devices or aggregation networks do not demand multihomed ESs from the PBB-EVPN provider, but simply demand multiple single-homed ESs. Single-homed ESs use null ESIs, whereas multihomed ESs use non-null ESIs. If using single-homed ESs, the PBB-EVPN network is no longer aware of the redundancy offered by the access administrative entity. Figure 1 shows an example where the PBB-EVPN network provides four different Attachment Circuits (ACs) for I-SID1, with those ACs not being part of any ES or virtual ES. (Therefore, they are referred to as null virtual Ethernet Segments.)¶
In the example in Figure 1, CE1, CE2, and CE3 are attached to the same service, identified by I-SID1, in the PBB-EVPN PEs. CE1 and CE2 are connected to the PEs via "Ethernet ring protection switching" as specified in [G.8032], and their ACs to PE1 and PE2 are represented by a port and VLAN identifier. CE3 is dual-homed to PE3 and PE4 through an active/standby PW, and its AC to the PEs is represented by a PW. Each of the four PEs uses a dedicated Backbone MAC address as a source MAC address (B-MAC1, B-MAC2, B-MAC3, and B-MAC4, respectively) when encapsulating customer frames in PBB packets and forwarding those PBB packets to the remote PEs as per [RFC7623]. There are no multihomed ESs defined in the PBB-EVPN network of the example; that is why the four ACs in Figure 1 show the text "ESI null", which means the Ethernet Segment Identifier on those ACs is zero. Since there are no multihomed ESs defined, the PEs keep their ACs active as long as the physical connectivity is established and the CEs are responsible for managing the redundancy, avoiding loops, and providing per-I-SID load-balancing to the PBB-EVPN network. Examples of CEs managing their own redundancy are described in [G.8032], or [RFC4762] for active/standby PWs.¶
For instance, in normal conditions, CE2 will block its link to CE1 and CE3 will block its forwarding path to PE4. In this situation, a failure in one of the redundant ACs will trigger the CEs to start using their redundant paths; however, those failures will not trigger any C-MAC flush procedures in the PEs that implement [RFC7623], since the PEs are not using the PBB-EVPN multihoming procedures. For example:¶
[RFC7623] provides a C-MAC flush solution based on a shared B-MAC update along with the MAC Mobility extended community where the sequence number is incremented. However, the procedure is only used along with multihomed ESs. Even if that procedure could be used for null ESs, as in the example of Figure 1, the Customer MAC flush procedure in [RFC7623] would result in unnecessary flushing of unaffected I-SIDs on the remote PEs, and subsequent flooding of unknown unicast traffic in the network. For instance, in the case that CE3 switches its active PW over to PE4, a potential solution reusing the existing C-MAC flush notifications in [RFC7623] is for PE3 to issue an update for the MAC/IP Advertisement route of B-MAC3 with a higher sequence number. However, this update would cause unnecessary Customer MAC flushing for all the I-SIDs attached to PE3 (supposing multiple I-SIDs in PE3) rather than for only I-SID1.¶
This document describes an extension of the Customer MAC flush procedures in [RFC7623], so that in the failure example above, PE3 can trigger a Customer MAC flush notification that makes PE1, PE2, and PE4 flush all the Customer MACs associated with PE3's B-MAC3 and (only) I-SID1. In order to do so, this specification introduces the encoding of the I-SID in the MAC/IP Advertisement routes advertised for the B-MACs. The C-MAC flush procedure explained in this document is referred to as "PBB-EVPN I-SID-based C-MAC flush" and can be used in PBB-EVPN networks with null or non-null (virtual) ESs.¶
This specification assumes that the reader is familiar with the procedures in [RFC7623].¶
1.1. Abbreviations
- AC:
- Attachment Circuit¶
- B-MAC:
- Backbone MAC¶
- CE:
- Customer Edge¶
- C-MAC:
- Customer MAC¶
- ES:
- Ethernet Segment¶
- ESI:
- Ethernet Segment Identifier¶
- EVI:
- EVPN Instance¶
- EVPN:
- Ethernet Virtual Private Network (as in [RFC7432])¶
- I-SID:
- Service Instance Identifier¶
- MAC:
- Media Access Control¶
- MAC-VRF:
- MAC Virtual Routing and Forwarding¶
- PBB-EVPN:
- Provider Backbone Bridging and EVPN (as in [RFC7623])¶
- PE:
- Provider Edge¶
1.2. Terminology and Conventions
Familiarity with the terminology in [RFC7623] is expected.¶
- B-MAC/0 route:
- This is an EVPN MAC/IP Advertisement route that uses a B-MAC in the MAC address field and a zero Ethernet Tag ID.¶
- B-MAC/I-SID route:
- This is an EVPN MAC/IP Advertisement route that uses a B-MAC in the MAC address field and an I-SID in the Ethernet Tag field. It is used to notify remote PEs about the required C-MAC flush procedure for the C-MACs associated with the advertised B-MAC and I-SID.¶
- G.8032:
- Refers to Ethernet ring protection switching as described in [G.8032].¶
The key words "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.¶
2. Solution Requirements
The following requirements are followed by the C-MAC flush solution described in this document:¶
3. EVPN BGP Encoding for I-SID-Based C-MAC Flush
The solution does not use any new BGP attributes but reuses the MAC Mobility extended community as an indication of C-MAC flush (as in [RFC7623]) and encodes the I-SID in the Ethernet Tag field of the EVPN MAC/IP advertisement route. As a reference, Figure 2 shows the MAC Mobility extended community and the EVPN MAC/IP advertisement route that are used as specified in [RFC7432] and used in this document as a C-MAC flush notification message.¶
Where:¶
All the other fields are set and used as defined in [RFC7623]. This document will refer to this route as the "B-MAC/I-SID route", as opposed to the EVPN MAC/IP Advertisement route used in [RFC7623] that contains a specific B-MAC and the Ethernet Tag ID set to zero. This document uses the term "B-MAC/0 route" to represent a B-MAC route advertised with an Ethernet Tag ID = 0.¶
Note that this B-MAC/I-SID route will be accepted and reflected by any RR as specified in [RFC7432], since no new attributes or values are used. A PE receiving the route will process the received B-MAC/I-SID update only in the case of supporting the procedures described in this document.¶
4. Solution Description
Figure 1 will be used in the description of the solution. CE1, CE2, and CE3 are connected to ACs associated with I-SID1, where no (multihomed) ESs have been enabled, and the ACs and PWs are in active or standby state as per Figure 1.¶
Enabling or disabling I-SID-based C-MAC flush SHOULD be an administrative choice on the system that MAY be configured per I-SID (I-Component, Service Instance Component), as opposed to being configured for all I-SIDs. When enabled on a PE:¶
The PE MUST follow the procedures in [RFC7623] for C-MAC flush. This specification provides some additional procedures when I-SID-based C-MAC flush is enabled.¶
This C-MAC flush specification is described in three sets of procedures:¶
4.1. I-SID-Based C-MAC Flush Activation Procedures
The following behavior MUST be followed by the PBB-EVPN PEs following this specification. Figure 1 is used as a reference.¶
4.2. C-MAC Flush Generation
If, for instance, there is a failure on PE1's AC, PE1 will generate an update including B-MAC1/1 along with the MAC Mobility extended community where the Sequence Number has been incremented. The reception of the B-MAC1/1 with an increment in the sequence number will trigger the C-MAC flush procedures on the receiving PEs.¶
4.3. C-MAC Flush Process upon Receiving a C-MAC Flush Notification
A PE receiving a C-MAC flush notification will follow these procedures:¶
Note that the C-MAC flush procedures described in [RFC7623] for B-MAC/0 routes are still valid and a PE receiving [RFC7623] C-MAC flush notification messages MUST observe the behavior specified in [RFC7623].¶
5. Conclusions
The I-SID-based C-MAC flush solution described in this document has the following benefits:¶
6. Security Considerations
Security considerations described in [RFC7623] apply to this document.¶
In addition, this document suggests additional procedures that can be activated on a per I-SID basis and generate additional EVPN MAC/IP Advertisement routes in the network. The format of these additional EVPN MAC/IP Advertisement routes is backwards compatible with the procedures in [RFC7623] and should not create any issues for receiving PEs that do not follow this specification. However, the additional routes may consume extra memory and processing resources on the receiving PEs. Because of that, it is RECOMMENDED to activate this feature only when necessary (when multihomed networks or devices are attached to the PBB-EVPN PEs), and not by default in any PBB-EVPN PE.¶
7. IANA Considerations
This document has no IANA actions.¶
8. References
8.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [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 , , <https:///RFC7432 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 , , <https:///RFC7623 www >..rfc -editor .org /info /rfc7623 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174
8.2. Informative References
- [EVPN
-VIRTUAL -ES] -
Sajassi, A., Brissette, P., Schell, R., Drake, J., and J. Rabadan, "EVPN Virtual Ethernet Segment", Work in Progress, Internet-Draft, draft
-ietf , , <https://-bess -evpn -virtual -eth -segment -15 datatracker >..ietf .org /doc /html /draft -ietf -bess -evpn -virtual -eth -segment -15 - [G.8032]
-
ITU-T, "Ethernet ring protection switching", ITU-T Recommendation G.8032/Y.1344, , <https://
www >..itu .int /rec /T -REC -G .8032 -202003 -I /en - [RFC4762]
-
Lasserre, M., Ed. and V. Kompella, Ed., "Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling", RFC 4762, DOI 10
.17487 , , <https:///RFC4762 www >..rfc -editor .org /info /rfc4762
Acknowledgments
The authors want to thank Vinod Prabhu, Sriram Venkateswaran, Laxmi Padakanti, and Ranganathan Boovaraghavan for their review and contributions.¶