BESS Working Group M. MacKenzie, Ed. Internet-Draft P. Brissette, Ed. Intended status: Standards Track Cisco Expires: 27 April 2023 S. Matsushima Softbank W. Lin Juniper J. Rabadan Nokia 24 October 2022 EVPN multi-homing support for L3 services draft-mackenzie-bess-evpn-l3mh-proto-01 Abstract This document brings the machinery and solution providing higher network availability and load balancing benefits of EVPN Multi- Chassis Link Aggregation Group (MC-LAG) to various L3 services delivered by EVPN. Requirements Language 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. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 27 April 2023. MacKenzie, et al. Expires 27 April 2023 [Page 1] Internet-Draft EVPN L3MH October 2022 Copyright Notice Copyright (c) 2022 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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Problems with unicast load-balancing from core to CE . . 4 1.2. Problems with multicast from core to CE . . . . . . . . . 4 1.3. Problems with IGP adjacencies over the LAG port . . . . . 5 1.4. Problems with supporting multiple subnets on same ES in all active mode . . . . . . . . . . . . . . . . . . . . . . . 6 1.5. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 6 1.6. Requirements . . . . . . . . . . . . . . . . . . . . . . 8 2. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1. Usage of L3VRF route target . . . . . . . . . . . . . . . 10 2.2. Usage of EVPN instance . . . . . . . . . . . . . . . . . 11 2.3. Mapping for L3 Interface to ESI . . . . . . . . . . . . . 11 2.4. Mapping for L3 Sub-Interface to Attachment Circuit ID . . 12 2.5. Route sync for ARP/ND . . . . . . . . . . . . . . . . . . 12 2.5.1. Local adjacency (ARP/ND) learning . . . . . . . . . . 12 2.5.2. Remote ARP/ND learning . . . . . . . . . . . . . . . 13 2.6. Route sync for IGMP/MLD . . . . . . . . . . . . . . . . . 13 2.6.1. Local IGMP/MLD Join/Leave learning . . . . . . . . . 13 2.6.2. Remote IGMP/MLD Join/Leave learning . . . . . . . . . 14 2.6.3. Upstream PIM Join/Prune . . . . . . . . . . . . . . . 14 2.7. Customer Subnet Route sync using Route-type(5) . . . . . 14 2.7.1. ESI based approach . . . . . . . . . . . . . . . . . 15 2.7.2. IP Gateway based approach . . . . . . . . . . . . . . 16 2.8. Mapping for VLAN to ETAG . . . . . . . . . . . . . . . . 16 3. Extensions to RT-2, RT-5, RT-7 and RT-8 . . . . . . . . . . . 16 4. Convergence Considerations . . . . . . . . . . . . . . . . . 16 5. Overall Advantages . . . . . . . . . . . . . . . . . . . . . 17 6. Security Considerations . . . . . . . . . . . . . . . . . . . 17 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 8.1. Normative References . . . . . . . . . . . . . . . . . . 17 8.2. Informative References . . . . . . . . . . . . . . . . . 18 MacKenzie, et al. Expires 27 April 2023 [Page 2] Internet-Draft EVPN L3MH October 2022 Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 19 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 1. Introduction Resilient L3VPN service to a CE requires multiple service PEs to run a Multi-Chassis Link Aggregation Group mechanism, which previously required a proprietary ICL control plane link between them. This extension to [RFC9135] and to [RFC9136] brings EVPN based MC-LAG all-active multi-homing load-balancing to various services (L2 and L3) delivered by EVPN. Although this solution is also applicable to some L2 service use cases, (example Centralized Gateway) this document focuses on the L3VPN [RFC4364] use case to provide examples. EVPN ESI-LAG is completely transparent to a CE device, and provides link and node level redundancy with load-balancing using the existing BGP control plane required by the L3 services. For example, the L3VPN service can be MPLS, VxLAN or SRv6 based, and does not require EVPN signaling to remote neighbors. The EVPN signaling is limited to the redundant service PEs sharing a Ethernet Segment Identifier (ESI). This is used to synchronize ARP/ND, multicast Join/Leave, and IGP routes replacing need for ICL link. +-----+ | PE3 | +-----+ +-----------+ | MPLS/IP | | CORE | +-----------+ +-----+ +-----+ | PE1 | | PE2 | +-----+ +-----+ | | I1 I2 \ / \ / +---+ |CE1| +---+ Figure 1: EVPN MC-LAG Topology Figure 1 shows a MC-LAG multi-homing topology where PE1 and PE2 are part of the same redundancy group providing multi-homing to CE1 via interfaces I1 and I2. PE1, PE2 and PE3 are attached to the same MacKenzie, et al. Expires 27 April 2023 [Page 3] Internet-Draft EVPN L3MH October 2022 L3VPN thru the core (running [RFC4364] and/or [RFC9136] procedures). Interfaces I1 and I2 are Bundle-Ethernet interfaces running LACP protocol. The CE device can be a layer-2 or layer-3 device connecting to the redundant PEs over a single LACP LAG port. In the case of a layer-3 CE device, this document looks to solve the case of an IGP adjacency between PEs and CE. Further study is needed to support BGP PE to CE protocols. The core, shown as IP or MPLS enabled, provides wide range of L3 services. MC-LAG multi-homing functionality is decoupled from those services in the core and it focuses on providing multi-homing to CE. To deliver resilient layer-3 services and provide traffic load- balancing towards the access, the two service PEs advertise layer-3 reach-ability towards the layer-3 core and both be eligible to receive traffic and forward towards the Access. 1.1. Problems with unicast load-balancing from core to CE The layer-2 hashing performed by CE over its LAG port means that its possible for only one service PE to populate its ARP/ND cache. Take for example PE1 and PE2 from Figure 1. If CE1 ARP/ND response happens to always hash over I1 towards PE1, then PE2 ARP/ND table remains empty. Since unicast traffic from remote PEs can be received by either service PE, traffic that reaches the service PE2 does not find an ARP entry matching the host IP address and traffic is dropped until its ARP/ND table is updated. If the CEs hash implementation always calculates the ARP/ND response towards PE1, the resolution on PE2 never succeeds and traffic load balanced to PE2 is permanently droppped. The route sync solution is described in Section 2.5 1.2. Problems with multicast from core to CE Like the unicast behavior above, multicast IGMP/MLD join messages from CE to LAG link may always hash to a single PE. When PIM runs on both redundant layer-3 PEs, both serving multicast for the same access segment, PIM hello messages [RFC7761] issued by I1 (Figure 1) are not received by I2, and, vice versa; PIM hello messages issued by I2 are not received by I1. This is due to the CE not being able to switch traffic between the two members of the same LAG. Both PEs therefore become PIM Designated Router (DR). The PIM DR is responsible for tracking local multicast listeners and forwarding traffic to those listeners. The PIM DR is also responsible for sending local Join/Prune messages towards the RP or source. However, due to the CE hashing, a particular IGMP join for a MacKenzie, et al. Expires 27 April 2023 [Page 4] Internet-Draft EVPN L3MH October 2022 given multicast group is received by only one of the PEs. Only that PE programs the multicast route for the group and issues a PIM join message. The multicast route sync solution is described in Section 2.6 1.3. Problems with IGP adjacencies over the LAG port A layer-3 CE device/router that connects to the redundant PEs may establish an IGP adjacency on the bundle port. In this case, the adjacency is formed to one of the PEs and IGP customer route(s) is only present on that PE. This prevents the load-balancing benefits of redundant PEs from supporting this use case, as only one PE is aware and advertising the customer routes to the core. <---------+ | IGP Adj +-------+ | | | 1.1.1.1/24 | | PE1 +-----------+ | | | | | | | | + +-------+ | | + | +------+ RT5 | L | | CE +------>H1 Sync | A +->+ | v G | | | | | +------>R1 +-------+ | +------+ | | | 1.1.1.2/2 | PE2 +-----------+ | | 1.1.1.1/24 | | +-------+ Figure 2: IGP Adjacency over LAG Port Figure 2 provides an example of this use case, where CE forms an IGP adjacency with PE1 (example: ISIS or OSPF), and advertises its H1 and R1 routes into the IP-VRF of PE1. PE1 may then redistribute this IGP route into the core as an L3 service. Any remote PEs are only aware of the service from PE1, and cannot load balance through PE2 as well. Further study is required to support the case of BGP PE to CE protocols. MacKenzie, et al. Expires 27 April 2023 [Page 5] Internet-Draft EVPN L3MH October 2022 A solution to this is described in Section 2.7 1.4. Problems with supporting multiple subnets on same ES in all active mode In the case where the L3 service is L3VPN such as [RFC4364], it is likely the CE device could be a layer-2 switch supporting multiple subnets through the use of VLANs. In addition, each VLAN may be associated with a different customer VRF. When ARP/ND routes are synchronized between the PEs for ARP proxy support using RT-2, a similar problem is encountered as described by Section 1.1 of [I-D.sajassi-bess-evpn-ac-aware-bundling]. The PE receiving RT-2 is unable to determine which sub-interface the ARP/ND entry is associated with. When IGMP/MLD routes are synchronized between the PEs using RT-7 and RT-8, a similar problem is encountered as described by Section 1.2 of [I-D.sajassi-bess-evpn-ac-aware-bundling]. The PE receiving RT-7 and RT-8 is unable to determine which sub-interface the IGMP join is associated with. This document proposes to use the solution defined by Section 4 of [I-D.sajassi-bess-evpn-ac-aware-bundling] to solve both these cases. All route sync messages (RT-2, RT-5, RT-7, RT-8) carry an Attachment Circuit Identifier Extended Community to signal which sub-interface the routes were learnt on. This document focuses on configuration models over access-facing interfaces with L3 sub-interfaces. Models with both L2 and L3 sub interfaces on a interface are left for future study. 1.5. Acronyms BD: Broadcast Domain BE: Bundle Ethernet DF: Designated Forwarder DR: Multicast Designated Router EC: BGP Extended Community ES: Ethernet Segment. When a customer site (device or network) is connected to one or more PEs via a set of Ethernet links, then that set of links is referred to as an 'Ethernet Segment'. MacKenzie, et al. Expires 27 April 2023 [Page 6] Internet-Draft EVPN L3MH October 2022 ESI: Ethernet Segment Identifier. A unique non-zero identifier that identifies an Ethernet Segment is called an 'Ethernet Segment Identifier'. ESI-LAG: This refers to multi-homing scenario where peering PEs, connected to same CE, are two, three or more. ETAG: Ethernet Tag. An Ethernet tag identifies a particular broadcast domain, e.g., a VLAN. An EVPN instance consists of one or more broadcast domains. EVI: An EVPN instance spanning the Provider Edge (PE) devices participating in that EVPN. It is used to assist a L3 VRF for route synchronization. GRT: Global Routing Table ICL: Inter Chassis Link IGMP: Internet Group Management Protocol IP-VRF: A VPN Routing and Forwarding table for IP routes on an PE. The IP routes could be populated by EVPN and IP-VPN address families. An IP-VRF is also an instantiation of a layer 3 VPN in an PE. L3AA All-Active Redundancy Mode for Layer 3 services. When all PEs attached to an Ethernet segment are allowed to forward known unicast traffic to/from that Ethernet segment for a given VLAN, then the Ethernet segment is defined to be operating in All-Active redundancy mode. MAC-VRF: A Virtual Routing and Forwarding table for Media Access Control (MAC) addresses on a PE. A MAC-VRF is also an instantiation of an EVI in a PE MC-LAG: Multi-Chassis Link Aggregation Group (MC-LAG). MLD: Multicast Listener Discovery. PE: Provider Edge. PIM: Protocol Independent Multicast. RD: Route Distinguisher used in BGP. RP: Multicast Rendezvous Point. MacKenzie, et al. Expires 27 April 2023 [Page 7] Internet-Draft EVPN L3MH October 2022 RT: Route-Targets used in BGP RT-2: EVPN route type 2, i.e., MAC/IP advertisement route, as defined in [RFC7432]. RT-5: EVPN route type 5, i.e., IP Prefix route, as defined in Section 3 of [RFC9136]. RT-7: EVPN route type 7, i.e., Multicast Join Synch Route, as defined in Section 9.2 of [RFC9251]. RT-8: EVPN route type 8, i.e., Multicast Leave Synch Route, as defined in Section 9.3 of [RFC9251]. 1.6. Requirements 1. The multi-homing solution MUST support Layer-3 access interface 2. The multi-homing solution MUST support Layer-3 access sub- interface 3. The solution MUST support unicast and multicast VPN services 4. The solution SHOULD support igp synchronization 5. The solution SHOULD support unicast and multicast GRT services 6. The solution MUST support all-active load-balancing mode 7. The solution MAY support single-active load-balancing mode 8. The solution MUST support port-active load-balancing mode 2. Solution MacKenzie, et al. Expires 27 April 2023 [Page 8] Internet-Draft EVPN L3MH October 2022 +------ | +-------+ BE1.1 (10.0.0.1/24) | PE1 || BE1 +---------------------------------+ | || ESI-1| | | || | BE1.2 (10.0.0.1/24) | | || +-------------------------+ | | +-------+ | | | | | | | +-------+ BE2 (10.0.1.1/24) | | | || BE2 +------------------+ | | | || ESI-2| | | | | || | +v----+ | | | || | |CE1 | | | | +-------+ |.2 | | | +------ |CUST1| | | +^----+ | | +------ | +v-----+-v----+ | +-------+ BE2 (10.0.1.1/24)| |SW1 | +-->H1(.2) | PE2 || BE2 +------------------+ |CUST2 |CUST1 | | || ESI-2| +^-----+-^----+ | || | | | | || | | | | +-------+ | | | | | | | +-------+ BE1.2 (10.0.0.1/24) | | | || BE1 +-------------------------+ | | || ESI-1| | | || | BE1.1 (10.0.0.1/24) | | || +---------------------------------+ | +-------+ +------ PE(1,2): CUST1-VRF (IP-VRF1) CUST2-VRF (IP-VRF2) SW1: CUST1-Subnet1: 10.0.0.2/24 (VLAN 1) CUST2-Subnet1: 10.0.0.2/24 (VLAN 2) CE1: CUST1-Subnet2 10.0.1.2/24 Figure 3: ARP/ND synchronization over different VRF(s) Consider the Figure 3 topology, where two AC aware bundling service interfaces are supported. On first bundling interface BE1, PE1 and PE2 share a LAG interface with switch 1 (SW1) and have two separate MacKenzie, et al. Expires 27 April 2023 [Page 9] Internet-Draft EVPN L3MH October 2022 (but overlapping) customer 1 and customer 2 subnets. CUST1 Subnet 1 is resolving over sub-interface VLAN 1 (.1), and CUST2 Subnet 1 is resolving over sub-interface VLAN 2 (.2). On second bundling interface BE2, both PEs share a LAG interface with Customer Edge device 1 (CE1) and only a single Customer (CUST1) subnet on native VLAN. Main interface BE1 on PE1 and PE2 is shared by customer 1 and 2, and represented by ESI-1. Main interface BE2 on PE1 and PE2 is only used by customer 1, and represented by ESI-2. If we focus on CUST1, there are 2 cases visible. Case 1: For CE1, if its ARP requests hash towards PE2, then PE1 is unaware of its presence. For PE2 to synchronize this information to PE1, in addition to CE1 IP address (10.0.1.2) and MAC address (m1), two additional unique identifiers are needed: 1. IP-VRF. CUST 1 VRF is represented by associated L3 route targets (IP-VRF RT(s)) 2. Interface. BE2 Interface is represented by ESI-2 Case 2: For Host 1 (H1), if its ARP request hash towards PE2, then PE1 is unaware of its presence. For PE2 to synchronize this information to PE1, then in addition to H1 IP address (10.0.0.2) and MAC address (m2), three additional unique identifiers are required. 1. IP-VRF. CUST 1 VRF is represented by corresponding L3 route target (IP-VRF RT(s)) 2. Main Interface. BE1 Interface is represented by ESI-1 3. Sub-Interface. Subnet/VLAN 1 is represented by Attachment Circuit ID 1. 2.1. Usage of L3VRF route target The synchronization of information between peering PEs is done via various EVPN route types. For instance, adjacencies in ARP/ND tables are synchronized by leveraging EVPN route type-2. When dealing with Layer-3 interface, basic principles described in [RFC9136] are leverage. By default, any routes used for synchronization are advertised with IP-VRF route targets. MacKenzie, et al. Expires 27 April 2023 [Page 10] Internet-Draft EVPN L3MH October 2022 Alternatively, EVPN routes may be advertised with ES-import route targets along with EVI-RT EC equal to associated IP-VRF route target. This allows BGP to distribute the route(s) to only the PEs attached to the associated ESI, and also allows routes to be applied to the respective IP-VRF(s) at receiving end. In the example Figure 3, route synchronization from CUST1 has IP-VRF1 RT(s) and CUST2 has IP-VRF2 RT(s). As an optimization, route synchronization uses ES-import RT(s). On top of that, CUST1 has EVI- RT BGP Extended Community (EC) with IP-VRF1 RT(s), and CUST2 EVI-RT BGP Extended Community (EC) has IP-VRF2 RT(s). 2.2. Usage of EVPN instance [RFC7432] eases the auto-generation of BGP constructs such as route- distinguisher and route targets per MAC-VRF, based on a unique value for the Broadcast Domain that, in this document, we referred to as EVI. Similarly as in [RFC9136], the usage of EVI is not required when dealing with L3VPN multi-homing scenarios. The RD may be auto- generated locally with a unique Id and associated RT(s) may be taken from the IP-VRF The synchronization over GRT is different. In that specific situation, an EVPN instance may be assigned to support non-VPN layer-3 services. The assignment is only serving the purpose of providing route targets as requested by [RFC7432]; where RT(s) are mandatory per EVPN route. EVPN enhances the multi-homing layer 3 service with the following synchronization routes: * ARP/ND * IGMP/MLD * IP (for customer subnets learned from IGP adjacency) 2.3. Mapping for L3 Interface to ESI The ESI represents the L3 LAG interface between PE and CEs. This ESI is signaled using RT-4 with the ES-Import Route Target as described in Section 8.1.1 of [RFC7432] so that the service PE peers can discover each other's common ES. In the example Figure 3, route-syncs from interface BE1 have IP-VRF RT(s) or ES-Import RT and EVI-RT EC with ESI 1 as an optimization. MacKenzie, et al. Expires 27 April 2023 [Page 11] Internet-Draft EVPN L3MH October 2022 2.4. Mapping for L3 Sub-Interface to Attachment Circuit ID The Attachment Circuit ID represents the sub-interface subnet on the L3 LAG interface between PE and CEs. The AC-ID is signaled using RT- 2, RT-5, RT-7 and RT-8 by attaching Attachment Circuit ID Extended community as described in Section 6.1 of [I-D.sajassi-bess-evpn-ac-aware-bundling]. In the example Figure 3, route-syncs from sub-interface BE1.1 (VLAN1) have Attachment-Circuit-ID EC with ID 1 2.5. Route sync for ARP/ND This document proposes solving the issue described in Section 1.1 using RT-2 IP/MAC route sync as described in Section 10 of [RFC7432] with a modification described below. 2.5.1. Local adjacency (ARP/ND) learning In EVPN or/and EVPN-IRB ([RFC7432] or/and [RFC9135]) where multi- homing is enabled through L2 access interfaces, peering PEs learn local adjacencies upon receiving ARP and/or ND messages. Using EVPN route type-2 (MAC/IP), adjacencies are synchronized between peering PE sharing common Ethernet Segments. This allows for proper layer-2 forwarding chain establishment based on configured load-balancing mode. Locally learned MAC may also be synchronized for some Layer-2 services. Similarly with L3 interfaces, local ARP/ND learning triggers an EVPN route type-2 synchronization to any peer PE. However, there is no need for local MAC learning or synchronization since there is no layer-2 service being offer. The MAC-only RT-2 route is NOT advertised to peer PE and L2 forwarding chains should not be programmed. Section 9.1 of [RFC7432] describes different mechanisms to learn adjacency routes locally. ARP/ND route synchronization (refer as ARP/ND sync route in this document), uses EVPN non-zero ESI EVPN type-2 (MAC/IP) routes to exchange between peering PE all locally learned adjacencies. Few more add-ons are needed to allow proper behavior: * An ARP/ND Sync route SHOULD carry the IP-VRF Route Target of associated VRF MacKenzie, et al. Expires 27 April 2023 [Page 12] Internet-Draft EVPN L3MH October 2022 * Optionally, an ARP/ND Sync route MAY carry exactly one ES-Import Route Target extended community, the one that corresponds to the ES on which the ARP or ND was received. This is in replacement of the IP-VRF RT(s) mentioned previously. Moreover, if an ES-Import Route Target extended community is used instead of the IP-VRF Route target, the ARP/ND Sync route MUST also carry exactly one EVI-RT extended community corresponding to the associated IP-VRF on which the ARP or ND was received. See Section 9.5 of [RFC9251] for details on how to construct the EVI-RT extended community. * In the case where PE supports AC aware bundling, it MUST also carry one Attachment Circuit ID Extended Community. The circuit ID maps the sub-interface (or subnet) where this route was received. For details on how to encode and construct this Extended Community, see section 6.1 of [I-D.sajassi-bess-evpn-ac-aware-bundling]. 2.5.2. Remote ARP/ND learning When consuming a remote EVPN route type-2 synchronization route: * BGP only imports layer-3 sync route(s) based on IP-VRF Route- targets or optionally when both ES-Import and EVI-RT extended communities match those locally configured * The main interface is derived from the ESI * The VLAN / sub-interface is derived from the AC-ID provided in the Attachment-Circuit-ID extended community 2.6. Route sync for IGMP/MLD This document proposes solving the issue described in Section 1.2 using RT-7 and RT-8 route sync as described by [RFC9251]. Local IGMP/MLD join and leave triggers a RT-7/8 route sync to peer PE. 2.6.1. Local IGMP/MLD Join/Leave learning An IGP Join or Leave triggers a RT-7/8 route sync to any peer PE. Section 9.1 of [RFC7432] describes different mechanisms to learn adjacency routes locally. * As per unicast, multicast routes SHOULD carry associated IP-VRF route targets. MacKenzie, et al. Expires 27 April 2023 [Page 13] Internet-Draft EVPN L3MH October 2022 * Optionally, an Multicast Join or Leave Sync route MAY carry exactly one ES-Import Route Target extended community, the one that corresponds to the ES on which the IGMP/MLD Join or Leave was received. * It MAY also carry exactly one EVI-RT EC, the one that corresponds to the associated VRF on which the IGMP Join or Leave was received. See Section 9.5 of [RFC9251] for details on how to encode and construct the EVI-RT EC. * In case where the PE supports multiple subinterfaces within the same Ethernet Segment, the Multicast Sync routes MUST also carry one Attachment Circuit ID extended community. The circuit ID maps the sub-interface (or subnet) this route was received. For details on how to encode and construct this Extended Community, see section 6.1 of [I-D.sajassi-bess-evpn-ac-aware-bundling]. 2.6.2. Remote IGMP/MLD Join/Leave learning When consuming a remote multicast RT-7 or RT-8 sync route: * A PE only imports Multicast Sync routes received with either a Route Target or an EVI-RT that matches one of the local IP-VRF(s) (assuming the ES-import Route Target matches the Route Target of one of the local Ethernet Segments). * The layer-3 VRF is derived from the matching EVI. * The main interface is derived from the ESI. * The VLAN / sub-interface is derived from the AC-ID provided in the Attachment-Circuit-ID extended community. 2.6.3. Upstream PIM Join/Prune With the IGMP join/leave sync routes, both the PEs have the membership request from a multi-homed receiver. Both the PEs are DR and send a PIM join/prune message to the RP. Both the PEs are added as leaf nodes in the multicast distribution tree. Hence, both the PEs get traffic. The PE that is the DF for the multicast flow will send the traffic on the Ethernet Segment to the receiver. The NDF PE will drop the traffic. 2.7. Customer Subnet Route sync using Route-type(5) Section 3 of [RFC9136] provides a mechanism to synchronize layer-3 customer subnets between the PEs in order to solve problem described in Section 1.3. MacKenzie, et al. Expires 27 April 2023 [Page 14] Internet-Draft EVPN L3MH October 2022 Using Figure 2 as example, if PE1 forms the IGP adjacency with CE, it is the only PE with knowledge of the customer subnet R1. BGP on PE1 advertises R1 to remote PEs using L3-VPN signaling, either based on [RFC4364] IP-VPN routes or [RFC9136] EVPN IP Prefix routes. Although PE2 has the same ES connection to the CE, and could provide load balancing to remote PEs, since it has not formed an IGP adjacency with CE, it is not aware of the customer subnet R1. This is solved by PE1 signaling R1 to PE2 using a RT-5 synchronization route. PE2 can then advertise this customer subnet R1 towards the core as if it was locally learned through IGP, and provide load-balancing from the remote PEs. There are two possible options to achieve synchronization: 1. ESI based approach. 2. IP Gateway based approach. 2.7.1. ESI based approach The procedures differ depending on whether the core is running [RFC4364] IP-VPN or the [RFC9136] EVPN IP-VRF-to-IP-VRF model: * If the core is running [RFC4364] IP-VPN, the PE receiving the R1 IGP route from the CE advertises R1 in a RT-5 with the ESI of the Ethernet Segment, and also in an IP-VPN route. Both routes carry the IP-VRF Route Target(s). The peer PE attached to the same Ethernet Segment (PE2 in Figure 2) imports both routes for R1, but treats the non-zero ESI RT-5 as if it was a local route associated to the local Ethernet Segment. Therefore the RT-5 route is selected over the IP-VPN route for R1, and PE2 advertises a new IP-VPN route for R1 so that the remote PEs in the IP-VPN network can load balance R1 traffic to both, PE1 and PE2. * If the core is running [RFC9136] EVPN (IP-VRF-to-IP-VRF model), the PE with the IGP adjacency (PE1) advertises R1 in a RT-5 with the corresponding ESI as before, and PE2 synchronizes the route as per section 4.2 of [I-D.sajassi-bess-evpn-ip-aliasing]. The advertisement of the IP A-D routes (for the ESI) from PE1 and PE2 guarantees that the remote EVPN PEs load balance the R1 traffic to both PEs attached to the Ethernet Segment (section 4 of [I-D.sajassi-bess-evpn-ip-aliasing]). MacKenzie, et al. Expires 27 April 2023 [Page 15] Internet-Draft EVPN L3MH October 2022 2.7.2. IP Gateway based approach The procedures is very similar depending on whether the core is running [RFC4364] IP-VPN or the [RFC9136] EVPN IP-VRF-to-IP-VRF model: * If the core is running [RFC4364] IP-VPN, the PE receiving the R1 IGP route from the CE advertises R1 in a RT-5 with the IP gateway field equal to the R1 nexthop, and also a corresponding IP-VPN route. Both routes carry the IP-VRF Route Target(s). The peer PE imports both routes for R1 where the RT-5 route is selected over the IP-VPN route for R1. Due to the adjacency synchronization done via EVPN RT-2, peer PE resolves R1 over the IP gateway pointing to the local interface. Peering PE advertises a new IP- VPN route for R1 so that the remote PEs in the IP-VPN network can load balance R1 traffic to both, PE1 and PE2. * If the core is running [RFC9136] EVPN (IP-VRF-to-IP-VRF model), the mechanism works exactly like before without the need to select EVPN RT-5 over IP-VPN route. Furthermore, there is no need to generate IP-VPN route but only EVPN-RT5 for R1 so that the remote PEs can load balance R1 traffic to both, PE1 and PE2. 2.8. Mapping for VLAN to ETAG [I-D.sajassi-bess-evpn-ac-aware-bundling] proposes the use of an Attachment Circuit ID Extended Community to carry specific VLAN identification. To avoid the usage of EC, the Ethernet-tag field may be used to signal VLAN/sub-interface identification between service PE peers in RT-2, RT-5, RT-7 and RT-8 as opposed to the Attachment Circuit Extended Community. 3. Extensions to RT-2, RT-5, RT-7 and RT-8 This document proposes extending the use case of Extended communities already defined in other drafts for the route types RT-2, RT-5, RT-7 and RT-8. * EVI-RT Extended Community as defined in Section 9.5 of [RFC9251]. * Attachment Circuit ID Extended Community as defined in Section 6.1 of [I-D.sajassi-bess-evpn-ac-aware-bundling]. 4. Convergence Considerations Left for future study. MacKenzie, et al. Expires 27 April 2023 [Page 16] Internet-Draft EVPN L3MH October 2022 5. Overall Advantages The use of EVPN ESI-LAG all active multi-homing brings the following benefits to L3 BGP services: * Open standards based per interface all-active redundancy mechanism that eliminates the need to run ICCP and LDP. * Agnostic of underlay technology (MPLS, VXLAN, SRv6) and associated services (L3, L3-VPN). * Replaces legacy MC-LAG ICCP-based solution, and offers following additional benefits: - Fast convergence with mass-withdraw is possible with EVPN. - Avoid the need of a dedicated ICCP channel between peering PEs. * Requires signaling already defined in existing EVPN RFCs [RFC7432], [RFC9136], [RFC9251] and draft [I-D.sajassi-bess-evpn-ac-aware-bundling]. * Removes the burden of having the need for ICL link and any proprietary protocols. 6. Security Considerations The same Security Considerations described in [RFC7432] are valid for this document. 7. IANA Considerations There are no IANA considerations. 8. References 8.1. Normative References [I-D.sajassi-bess-evpn-ac-aware-bundling] Sajassi, A., Brissette, P., Mishra, M., Thoria, S., Rabadan, J., and J. Drake, "AC-Aware Bundling Service Interface in EVPN", Work in Progress, Internet-Draft, draft-sajassi-bess-evpn-ac-aware-bundling-06, 12 September 2022, . MacKenzie, et al. Expires 27 April 2023 [Page 17] Internet-Draft EVPN L3MH October 2022 [I-D.sajassi-bess-evpn-ip-aliasing] Sajassi, A., Badoni, G., Warade, P., Pasupula, S., Krattiger, L., Drake, J., and J. Rabadan, "EVPN Support for L3 Fast Convergence and Aliasing/Backup Path", Work in Progress, Internet-Draft, draft-sajassi-bess-evpn-ip- aliasing-05, 2 September 2022, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC9135] Sajassi, A., Salam, S., Thoria, S., Drake, J., and J. Rabadan, "Integrated Routing and Bridging in Ethernet VPN (EVPN)", RFC 9135, DOI 10.17487/RFC9135, October 2021, . [RFC9136] Rabadan, J., Ed., Henderickx, W., Drake, J., Lin, W., and A. Sajassi, "IP Prefix Advertisement in Ethernet VPN (EVPN)", RFC 9136, DOI 10.17487/RFC9136, October 2021, . [RFC9251] Sajassi, A., Thoria, S., Mishra, M., Patel, K., Drake, J., and W. Lin, "Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Proxies for Ethernet VPN (EVPN)", RFC 9251, DOI 10.17487/RFC9251, June 2022, . 8.2. Informative References [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 2006, . [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, . MacKenzie, et al. Expires 27 April 2023 [Page 18] Internet-Draft EVPN L3MH October 2022 [RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I., Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March 2016, . Appendix A. Contributors The following people has contributed substantially to this document: Jiri Chaloupka Cisco EMail: jichalou@cisco.com Jayashree Subramanian Cisco EMail: jays@cisco.com Authors' Addresses Michael MacKenzie (editor) Cisco Systems Email: mimacken@cisco.com Patrice Brissette (editor) Cisco Systems Email: pbrisset@cisco.com Satoru Matsushima Softbank Email: satoru.matsushima@g.softbank.co.jp Wen Lin Juniper Email: wlin@juniper.com Jorge Rabadan Nokia Email: jorge.rabadan@nokia.com MacKenzie, et al. Expires 27 April 2023 [Page 19]