idnits 2.17.1 draft-ietf-bess-evpn-mvpn-seamless-interop-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? RFC 2119 keyword, line 289: '... The solution SHALL support optimum ...' RFC 2119 keyword, line 291: '...ple LATAs. The solution SHALL support...' RFC 2119 keyword, line 297: '...ability, the solution SHALL use only a...' RFC 2119 keyword, line 301: '... solution MUST support optimum repli...' RFC 2119 keyword, line 304: '... - Non-IP traffic SHALL be forwarded per EVPN baseline [RFC7432] or...' (45 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 10, 2020) is 1386 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC2119' is mentioned on line 201, but not defined == Missing Reference: 'IEEE802.1Q' is mentioned on line 423, but not defined == Unused Reference: 'RFC4389' is defined on line 1664, but no explicit reference was found in the text == Unused Reference: 'RFC4761' is defined on line 1668, but no explicit reference was found in the text == Unused Reference: 'RFC7080' is defined on line 1673, but no explicit reference was found in the text == Unused Reference: 'RFC7209' is defined on line 1678, but no explicit reference was found in the text == Outdated reference: A later version (-21) exists of draft-ietf-bess-evpn-igmp-mld-proxy-05 == Outdated reference: A later version (-15) exists of draft-ietf-bess-evpn-inter-subnet-forwarding-09 == Outdated reference: A later version (-22) exists of draft-ietf-idr-tunnel-encaps-15 == Outdated reference: A later version (-02) exists of draft-skr-bess-evpn-pim-proxy-01 Summary: 1 error (**), 0 flaws (~~), 11 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BESS WorkGroup A. Sajassi 3 Internet-Draft K. Thiruvenkatasamy 4 Intended status: Standards Track S. Thoria 5 Expires: January 11, 2021 Cisco 6 A. Gupta 7 VMware 8 L. Jalil 9 Verizon 10 July 10, 2020 12 Seamless Multicast Interoperability between EVPN and MVPN PEs 13 draft-ietf-bess-evpn-mvpn-seamless-interop-01 15 Abstract 17 Ethernet Virtual Private Network (EVPN) solution is becoming 18 pervasive for Network Virtualization Overlay (NVO) services in data 19 center (DC) networks and as the next generation VPN services in 20 service provider (SP) networks. 22 As service providers transform their networks in their COs toward 23 next generation data center with Software Defined Networking (SDN) 24 based fabric and Network Function Virtualization (NFV), they want to 25 be able to maintain their offered services including Multicast VPN 26 (MVPN) service between their existing network and their new Service 27 Provider Data Center (SPDC) network seamlessly without the use of 28 gateway devices. They want to have such seamless interoperability 29 between their new SPDCs and their existing networks for a) reducing 30 cost, b) having optimum forwarding, and c) reducing provisioning. 31 This document describes a unified solution based on RFCs 6513 & 6514 32 for seamless interoperability of Multicast VPN between EVPN and MVPN 33 PEs. Furthermore, it describes how the proposed solution can be used 34 as a routed multicast solution in data centers with only EVPN PEs. 36 Status of This Memo 38 This Internet-Draft is submitted in full conformance with the 39 provisions of BCP 78 and BCP 79. 41 Internet-Drafts are working documents of the Internet Engineering 42 Task Force (IETF). Note that other groups may also distribute 43 working documents as Internet-Drafts. The list of current Internet- 44 Drafts is at https://datatracker.ietf.org/drafts/current/. 46 Internet-Drafts are draft documents valid for a maximum of six months 47 and may be updated, replaced, or obsoleted by other documents at any 48 time. It is inappropriate to use Internet-Drafts as reference 49 material or to cite them other than as "work in progress." 51 This Internet-Draft will expire on January 11, 2021. 53 Copyright Notice 55 Copyright (c) 2020 IETF Trust and the persons identified as the 56 document authors. All rights reserved. 58 This document is subject to BCP 78 and the IETF Trust's Legal 59 Provisions Relating to IETF Documents 60 (https://trustee.ietf.org/license-info) in effect on the date of 61 publication of this document. Please review these documents 62 carefully, as they describe your rights and restrictions with respect 63 to this document. Code Components extracted from this document must 64 include Simplified BSD License text as described in Section 4.e of 65 the Trust Legal Provisions and are provided without warranty as 66 described in the Simplified BSD License. 68 Table of Contents 70 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 71 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 5 72 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 73 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 7 74 4.1. Optimum Forwarding . . . . . . . . . . . . . . . . . . . 7 75 4.2. Optimum Replication . . . . . . . . . . . . . . . . . . . 7 76 4.3. All-Active and Single-Active Multi-Homing . . . . . . . . 7 77 4.4. Inter-AS Tree Stitching . . . . . . . . . . . . . . . . . 8 78 4.5. EVPN Service Interfaces . . . . . . . . . . . . . . . . . 8 79 4.6. Distributed Anycast Gateway . . . . . . . . . . . . . . . 8 80 4.7. Selective & Aggregate Selective Tunnels . . . . . . . . 8 81 4.8. Tenants' (S,G) or (*,G) states . . . . . . . . . . . . . 8 82 4.9. Zero Disruption upon BD/Subnet Addition . . . . . . . . . 8 83 4.10. No Changes to Existing EVPN Service Interface Models . . 9 84 4.11. External source and receivers . . . . . . . . . . . . . . 9 85 4.12. Tenant RP placement . . . . . . . . . . . . . . . . . . . 9 86 5. IRB Unicast versus IRB Multicast . . . . . . . . . . . . . . 9 87 5.1. Emulated Virtual LAN Service . . . . . . . . . . . . . . 10 88 6. Solution Overview . . . . . . . . . . . . . . . . . . . . . . 10 89 6.1. Operational Model for EVPN IRB PEs . . . . . . . . . . . 10 90 6.2. Unicast Route Advertisements for IP multicast Source . . 13 91 6.3. Multi-homing of IP Multicast Source and Receivers . . . . 14 92 6.3.1. Single-Active Multi-Homing . . . . . . . . . . . . . 14 93 6.3.2. All-Active Multi-Homing . . . . . . . . . . . . . . . 15 94 6.4. Mobility for Tenant's Sources and Receivers . . . . . . . 17 95 6.5. Intra-Subnet BUM Traffic Handling . . . . . . . . . . . . 18 96 6.6. EVPN and MVPN interworking with gateway model . . . . . . 18 97 7. Control Plane Operation . . . . . . . . . . . . . . . . . . . 19 98 7.1. Intra-ES/Intra-Subnet IP Multicast Tunnel . . . . . . . . 19 99 7.2. Intra-Subnet BUM Tunnel . . . . . . . . . . . . . . . . . 20 100 7.3. Inter-Subnet IP Multicast Tunnel . . . . . . . . . . . . 20 101 7.4. IGMP Hosts as TSes . . . . . . . . . . . . . . . . . . . 21 102 7.5. TS PIM Routers . . . . . . . . . . . . . . . . . . . . . 22 103 8. Data Plane Operation . . . . . . . . . . . . . . . . . . . . 22 104 8.1. Intra-Subnet L2 Switching . . . . . . . . . . . . . . . . 23 105 8.2. Inter-Subnet L3 Routing . . . . . . . . . . . . . . . . . 23 106 9. DCs with only EVPN PEs . . . . . . . . . . . . . . . . . . . 23 107 9.1. Setup of overlay multicast delivery . . . . . . . . . . . 24 108 9.2. Handling of different encapsulations . . . . . . . . . . 26 109 9.2.1. MPLS Encapsulation . . . . . . . . . . . . . . . . . 26 110 9.2.2. VxLAN Encapsulation . . . . . . . . . . . . . . . . . 26 111 9.2.3. Other Encapsulation . . . . . . . . . . . . . . . . . 26 112 10. DCI with MPLS in WAN and VxLAN in DCs . . . . . . . . . . . . 27 113 10.1. Control plane inter-connect . . . . . . . . . . . . . . 27 114 10.2. Data plane inter-connect . . . . . . . . . . . . . . . . 28 115 11. Supporting application with TTL value 1 . . . . . . . . . . . 29 116 11.1. Policy based model . . . . . . . . . . . . . . . . . . . 29 117 11.2. Exercising BUM procedure for VLAN/BD . . . . . . . . . . 29 118 11.3. Intra-subnet bridging . . . . . . . . . . . . . . . . . 29 119 12. Interop with L2 EVPN PEs . . . . . . . . . . . . . . . . . . 31 120 13. Connecting external Multicast networks or PIM routers. . . . 33 121 14. RP handling . . . . . . . . . . . . . . . . . . . . . . . . . 33 122 14.1. Various RP deployment options . . . . . . . . . . . . . 33 123 14.1.1. RP-less mode . . . . . . . . . . . . . . . . . . . . 33 124 14.1.2. Fabric anycast RP . . . . . . . . . . . . . . . . . 33 125 14.1.3. Static RP . . . . . . . . . . . . . . . . . . . . . 34 126 14.1.4. Co-existence of Fabric anycast RP and external RP . 34 127 14.2. RP configuration options . . . . . . . . . . . . . . . . 34 128 15. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 129 16. Security Considerations . . . . . . . . . . . . . . . . . . . 34 130 17. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 35 131 18. References . . . . . . . . . . . . . . . . . . . . . . . . . 35 132 18.1. Normative References . . . . . . . . . . . . . . . . . . 35 133 18.2. Informative References . . . . . . . . . . . . . . . . . 36 134 Appendix A. Use Cases . . . . . . . . . . . . . . . . . . . . . 36 135 A.1. DCs with only IGMP/MLD hosts w/o tenant router . . . . . 36 136 A.2. DCs with mixed of IGMP/MLD hosts & multicast routers 137 running PIM-SSM . . . . . . . . . . . . . . . . . . . . . 37 138 A.3. DCs with mixed of IGMP/MLD hosts & multicast routers 139 running PIM-ASM . . . . . . . . . . . . . . . . . . . . . 38 140 A.4. DCs with mixed of IGMP/MLD hosts & multicast routers 141 running PIM-Bidir . . . . . . . . . . . . . . . . . . . . 38 142 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38 144 1. Introduction 146 Ethernet Virtual Private Network (EVPN) solution is becoming 147 pervasive for Network Virtualization Overlay (NVO) services in data 148 center (DC) networks and as the next generation VPN services in 149 service provider (SP) networks. 151 As service providers transform their networks in their COs toward 152 next generation data center with Software Defined Networking (SDN) 153 based fabric and Network Function Virtualization (NFV), they want to 154 be able to maintain their offered services including Multicast VPN 155 (MVPN) service between their existing network and their new SPDC 156 network seamlessly without the use of gateway devices. There are 157 several reasons for having such seamless interoperability between 158 their new DCs and their existing networks: 160 - Lower Cost: gateway devices need to have very high scalability to 161 handle VPN services for their DCs and as such need to handle large 162 number of VPN instances (in tens or hundreds of thousands) and very 163 large number of routes (e.g., in tens of millions). For the same 164 speed and feed, these high scale gateway boxes are relatively much 165 more expensive than the edge devices (e.g., PEs and TORs) that 166 support much lower number of routes and VPN instances. 168 - Optimum Forwarding: in a given CO, both EVPN PEs and MVPN PEs can 169 be connected to the same fabric/network (e.g., same IGP domain). In 170 such scenarios, the service providers want to have optimum forwarding 171 among these PE devices without the use of gateway devices. Because 172 if gateway devices are used, then the IP multicast traffic between an 173 EVPN and MVPN PEs can no longer be optimum and in some case, it may 174 even get tromboned. Furthermore, when an SPDC network spans across 175 multiple LATA (multiple geographic areas) and gateways are used 176 between EVPN and MVPN PEs, then with respect to IP multicast traffic, 177 only one GW can be designated forwarder (DF) between EVPN and MVPN 178 PEs. Such scenarios not only results in non-optimum forwarding but 179 also it can result in tromboing of IP multicast traffic between the 180 two LATAs when both source and destination PEs are in the same LATA 181 and the DF gateway is elected to be in a different LATA. 183 - Less Provisioning: If gateways are used, then the operator need to 184 configure per-tenant info on the gateways. In other words, for each 185 tenant that is configured, one (or maybe two) additional touch points 186 are needed. 188 This document describes a unified solution based on [RFC6513] and 189 [RFC6514] for seamless interoperability of multicast VPN between EVPN 190 and MVPN PEs. Furthermore, it describes how the proposed solution 191 can be used as a routed multicast solution in data centers with only 192 EVPN PEs (e.g., routed multicast VPN only among EVPN PEs). 194 2. Requirements Language 196 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 197 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to 198 be interpreted as described in [RFC2119] only when they appear in all 199 upper case. They may also appear in lower or mixed case as English 200 words, without any normative meaning. 202 3. Terminology 204 Most of the terminology used in this documents comes from [RFC8365] 206 Broadcast Domain (BD): In a bridged network, the broadcast domain 207 corresponds to a Virtual LAN (VLAN), where a VLAN is typically 208 represented by a single VLAN ID (VID) but can be represented by 209 several VIDs where Shared VLAN Learning (SVL) is used per [802.1Q]. 211 Bridge Table (BT): An instantiation of a broadcast domain on a MAC- 212 VRF. 214 VXLAN: Virtual Extensible LAN 216 POD: Point of Delivery 218 NV: Network Virtualization 220 NVO: Network Virtualization Overlay 222 NVE: Network Virtualization Endpoint 224 VNI: Virtual Network Identifier (for VXLAN) 226 EVPN: Ethernet VPN 228 EVI: An EVPN instance spanning the Provider Edge (PE) devices 229 participating in that EVPN 231 MAC-VRF: A Virtual Routing and Forwarding table for Media Access 232 Control (MAC) addresses on a PE 234 IP-VRF: A Virtual Routing and Forwarding table for Internet Protocol 235 (IP) addresses on a PE 236 Ethernet Segment (ES): When a customer site (device or network) is 237 connected to one or more PEs via a set of Ethernet links, then that 238 set of links is referred to as an 'Ethernet segment'. 240 Ethernet Segment Identifier (ESI): A unique non-zero identifier that 241 identifies an Ethernet segment is called an 'Ethernet Segment 242 Identifier'. 244 Ethernet Tag: An Ethernet tag identifies a particular broadcast 245 domain, e.g., a VLAN. An EVPN instance consists of one or more 246 broadcast domains. 248 PE: Provider Edge device. 250 Single-Active Redundancy Mode: When only a single PE, among all the 251 PEs attached to an Ethernet segment, is allowed to forward traffic 252 to/from that Ethernet segment for a given VLAN, then the Ethernet 253 segment is defined to be operating in Single-Active redundancy mode. 255 All-Active Redundancy Mode: When all PEs attached to an Ethernet 256 segment are allowed to forward known unicast traffic to/from that 257 Ethernet segment for a given VLAN, then the Ethernet segment is 258 defined to be operating in All-Active redundancy mode. 260 PIM-SM: Protocol Independent Multicast - Sparse-Mode 262 PIM-SSM: Protocol Independent Multicast - Source Specific Multicast 264 Bidir PIM: Bidirectional PIM 266 FHR: First Hop Router 268 LHR: Last Hop Router 270 CO: Central Office of a service provider 272 SPDC: Service Provider Data Center 274 LATA: Local Access and Transport Area 276 Border Leafs: A set of EVPN-PE acting as exit point for EVPN fabric. 278 L3VNI: A VNI in the tenant VRF, which is associated with the core 279 facing interface. 281 4. Requirements 283 This section describes the requirements specific in providing 284 seamless multicast VPN service between MVPN and EVPN capable 285 networks. 287 4.1. Optimum Forwarding 289 The solution SHALL support optimum multicast forwarding between EVPN 290 and MVPN PEs within a network. The network can be confined to a CO 291 or it can span across multiple LATAs. The solution SHALL support 292 optimum multicast forwarding with both ingress replication tunnels 293 and P2MP tunnels. 295 4.2. Optimum Replication 297 For EVPN PEs with IRB capability, the solution SHALL use only a 298 single multicast tunnel among EVPN and MVPN PEs for IP multicast 299 traffic, when both PEs use the same tunnel type. Multicast tunnels 300 can be either ingress replication tunnels or P2MP tunnels. The 301 solution MUST support optimum replication for both Intra-subnet and 302 Inter-subnet IP multicast traffic: 304 - Non-IP traffic SHALL be forwarded per EVPN baseline [RFC7432] or 305 [RFC8365] 307 - If a Multicast VPN spans across both Intra and Inter subnets, then 308 for Ingress replication regardless of whether the traffic is Intra or 309 Inter subnet, only a single copy of IP multicast traffic SHALL be 310 sent from the source PE to the destination PE. 312 - If a Multicast VPN spans across both Intra and Inter subnets, then 313 for P2MP tunnels regardless of whether the traffic is Intra or Inter 314 subnet, only a single copy of multicast data SHALL be transmitted by 315 the source PE. Source PE can be either EVPN or MVPN PE and receiving 316 PEs can be a mix of EVPN and MVPN PEs - i.e., a multicast VPN can be 317 spread across both EVPN and MVPN PEs. 319 4.3. All-Active and Single-Active Multi-Homing 321 The solution MUST support multi-homing of source devices and 322 receivers that are sitting in the same subnet (e.g., VLAN) and are 323 multi-homed to EVPN PEs. The solution SHALL allow for both Single- 324 Active and All-Active multi-homing. The solution MUST prevent loop 325 during steady and transient states just like EVPN baseline solution 326 [RFC7432] and [RFC8365] for all multi-homing types. 328 4.4. Inter-AS Tree Stitching 330 The solution SHALL support multicast tree stitching when the tree 331 spans across multiple Autonomous Systems. 333 4.5. EVPN Service Interfaces 335 The solution MUST support all EVPN service interfaces listed in 336 section 6 of [RFC7432]: 338 o VLAN-based service interface 340 o VLAN-bundle service interface 342 o VLAN-aware bundle service interface. 344 4.6. Distributed Anycast Gateway 346 The solution SHALL support distributed anycast gateways for tenant 347 workloads on NVE devices operating in EVPN-IRB mode.. 349 4.7. Selective & Aggregate Selective Tunnels 351 The solution SHALL support selective and aggregate selective P- 352 tunnels as well as inclusive and aggregate inclusive P-tunnels. When 353 selective tunnels are used, then multicast traffic SHOULD only be 354 forwarded to the remote PE which have receivers - i.e., if there are 355 no receivers at a remote PE, the multicast traffic SHOULD NOT be 356 forwarded to that PE and if there are no receivers on any remote PEs, 357 then the multicast traffic SHOULD NOT be forwarded to the core. 359 4.8. Tenants' (S,G) or (*,G) states 361 The solution SHOULD store (C-S,C-G) and (C-*,C-G) states only on PE 362 devices that have interest in such states hence reducing memory and 363 processing requirements - i.e., PE devices that have sources and/or 364 receivers interested in such multicast groups. 366 4.9. Zero Disruption upon BD/Subnet Addition 368 In DC environments, various Bridge Domains are provisioned and 369 removed on regular basis due to host mobility, policy and tenant 370 changes. Such change in BD configuration should not affect existing 371 flows within the same BD or any other BD in the network. 373 4.10. No Changes to Existing EVPN Service Interface Models 375 VLAN-aware bundle service as defined in [RFC7432] typically does not 376 require any VLAN ID translation from one tenant site to another - 377 i.e., the same set of VLAN IDs are configured consistently on all 378 tenant segments. In such scenarios, EVPN-IRB multicast service MUST 379 maintain the same mode of operation and SHALL NOT require any VLAN ID 380 translation. 382 4.11. External source and receivers 384 The solution SHALL support sources and receivers external to the 385 tenant domain. i.e., multicast source inside the tenant domain can 386 have receiver outside the tenant domain and vice versa. 388 4.12. Tenant RP placement 390 The solution SHALL support a tenant to have RP anywhere in the 391 network. RP can be placed inside the EVPN network or MVPN network or 392 external domain. 394 5. IRB Unicast versus IRB Multicast 396 [I-D.ietf-bess-evpn-inter-subnet-forwarding] describes the operation 397 for EVPN PEs in IRB mode for unicast traffic. The same IRB model 398 used for unicast traffic in 399 [I-D.ietf-bess-evpn-inter-subnet-forwarding] , where an IP-VRF in an 400 EVPN PE is attached to one or more bridge tables (BTs) via virtual 401 IRB interfaces, is also applicable for multicast traffic. However, 402 there are some noticeable differences between the IRB operation for 403 unicast traffic described in 404 [I-D.ietf-bess-evpn-inter-subnet-forwarding] versus for multicast 405 traffic described in this document. For unicast traffic, the intra- 406 subnet traffic, is bridged within the MAC-VRF associated with that 407 subnet (i.e., a lookup based on MAC-DA is performed); whereas, the 408 inter-subnet traffic is routed in the corresponding IP-VRF (ie, a 409 lookup based on IP-DA is performed). A given tenant can have one or 410 more IP-VRFs; however, without loss of generality, this document 411 assumes one IP-VRF per tenant. In context of a given tenant's 412 multicast traffic, the intra-subnet traffic is bridged for non-IP 413 traffic and it is Layer-2 switched for IP traffic. Whereas, the 414 tenants's inter-subnet multicast traffic is always routed in the 415 corresponding IP-VRF. The difference between bridging and 416 L2-switching for multicast traffic is that the former uses MAC-DA 417 lookup for forwarding the multicast traffic; whereas, the latter uses 418 IP-DA lookup for such forwarding where the forwarding states are 419 built in the MAC-VRF using IGMP/MLD or PIM snooping. 421 5.1. Emulated Virtual LAN Service 423 EVPN does not provide a Virtual LAN (VLAN) service per [IEEE802.1Q] 424 but rather an emulated VLAN service. This VLAN service emulation is 425 not only done for unicast traffic but also is extended for intra- 426 subnet multicast traffic described in 427 [I-D.ietf-bess-evpn-igmp-mld-proxy] and 428 [I-D.skr-bess-evpn-pim-proxy]. For intra-subnet multicast, an EVPN 429 PE builds multicast forwarding states in its bridge table (BT) based 430 on snooping of IGMP/MLD and/or PIM messages and the forwarding is 431 performed based on destination IP multicast address of the Ethernet 432 frame rather than destination MAC address as noted above. In order 433 to enable seamless integration of EVPN and MVPN PEs, this document 434 extends the concept of an emulated VLAN service for multicast IRB 435 applications such that the intra-subnet IP multicast traffic can get 436 treated same as inter- subnet IP multicast traffic which means intra- 437 subnet IP multicast traffic destined to remote PEs gets routed 438 instead of being L2- switched - i.e., TTL value gets decremented and 439 the Ethernet header of the L2 frame is de-capsulated an encapsulated 440 at both ingress and egress PEs. It should be noted that the non-IP 441 multicast or L2 broadcast traffic still gets bridged and frames get 442 forwarded based on their destination MAC addresses. 444 6. Solution Overview 446 This section describes a multicast VPN solution based on [RFC6513] 447 and [RFC6514] for EVPN PEs operating in IRB mode that want to perform 448 seamless interoperability with their counterparts MVPN PEs. 450 6.1. Operational Model for EVPN IRB PEs 452 Without the loss of generality, this section assumes that all EVPN 453 PEs have IRB capability and operating in IRB mode for both unicast 454 and multicast traffic (e.g., all EVPN PEs are homogenous in terms of 455 their capabilities and operational modes). As it will be seen later, 456 an EVPN network can consist of a mix of PEs where some are capable of 457 multicast IRB and some are not and the multicast operation of such 458 heterogeneous EVPN network will be an extension of an EVPN homogenous 459 network. Therefore, we start with the multicast IRB solution 460 description for the EVPN homogenous network. 462 The EVPN PEs terminate IGMP/MLD messages from tenant host devices or 463 PIM messages from tenant routers on their IRB interfaces, thus avoid 464 sending these messages over MPLS/IP core. A tenant virtual/physical 465 router (e.g., CE) attached to an EVPN PE becomes a multicast routing 466 adjacency of that PE. Furthermore, the PE uses MVPN BGP protocol and 467 procedures per [RFC6513] and [RFC6514]. With respect to multicast 468 routing protocol between tenant's virtual/physical router and the PE 469 that it is attached to, any of the following PIM protocols is 470 supported per [RFC6513]: PIM-SM with Any Source Multicast (ASM) mode, 471 PIM-SM with Source Specific Multicast (SSM) mode, and PIM 472 Bidirectional (BIDIR) mode. Support of PIM-DM (Dense Mode) is 473 excluded in this document per [RFC6513]. 475 The EVPN PEs use MVPN BGP routes defined in [RFC6514] to convey 476 tenant (S,G) or (*,G) states to other MVPN or EVPN PEs and to set up 477 overlay trees (inclusive or selective) for a given MVPN instance. 478 The root or a leaf of such an overlay tree is terminated on an EVPN 479 or MVPN PE. Furthermore, this inclusive or selective overlay tree is 480 terminated on a single IP-VRF of the EVPN or MVPN PE. In case of 481 EVPN PE, these overlay trees never get terminated on MAC-VRFs of that 482 PE. 484 Overlay trees are instantiated by underlay provider tunnels (P- 485 tunnels) - e.g., P2MP, MP2MP, or unicast tunnels per [RFC6513]. When 486 there are several overlay trees mapped to a single underlay P-tunnel, 487 the tunnel is referred to as an aggregate tunnel. 489 Figure-1 below depicts a scenario where a tenant's MVPN spans across 490 both EVPN and MVPN PEs; where all EVPN PEs have multicast IRB 491 capability. An EVPN PE (with multicast IRB capability) can be 492 modeled as a MVPN PE where the virtual IRB interface of an EVPN PE 493 (virtual interface between a BT and IP-VRF) can be considered a 494 routed interface for the MVPN PE. 496 EVPN PE1 497 +------------+ 498 Src1 +----|(MAC-VRF1) | MVPN PE3 499 Rcvr1 +----| \ | +---------+ +--------+ 500 | (IP-VRF)|----| |---|(IP-VRF)|--- Rcvr5 501 | / | | | +--------+ 502 Rcvr2 +---|(MAC-VRF2) | | | 503 +------------+ | | 504 | MPLS/ | 505 EVPN PE2 | IP | 506 +------------+ | | 507 Rcvr3 +---|(MAC-VRF1) | | | MVPN PE4 508 | \ | | | +--------+ 509 | (IP-VRF)|----| |---|(IP-VRF)|--- Rcvr6 510 | / | +---------+ +--------+ 511 Rcvr4 +---|(MAC-VRF3) | 512 +------------+ 514 Figure-1: EVPN & MVPN PEs Seamless Interop 516 Figure 2 depicts the modeling of EVPN PEs based on MVPN PEs where an 517 EVPN PE can be modeled as a PE that consists of a MVPN PE whose 518 routed interfaces (e.g., attachment circuits) are replaced with IRB 519 interfaces connecting each IP-VRF of the MVPN PE to a set of BTs. 520 Similar to a MVPN PE where an attachment circuit serves as a routed 521 multicast interface for an IP-VRF associated with a MVPN instance, an 522 IRB interface serves as a routed multicast interface for the IP-VRF 523 associated with the MVPN instance. Since EVPN PEs run MVPN protocols 524 (e.g., [RFC6513] and [RFC6514] ), for all practical purposes, they 525 look just like MVPN PEs to other PE devices. Such modeling of EVPN 526 PEs, transforms the multicast VPN operation of EVPN PEs to that of 527 MVPN and thus simplifies the interoperability between EVPN and MVPN 528 PEs to that of running a single unified solution based on MVPN. 530 EVPN PE1 531 +------------+ 532 Src1 +----|(MAC-VRF1) | 533 | \ | 534 Rcvr1 +----| +--------+| +---------+ +--------+ 535 | |MVPN PE1||----| |---|MVPN PE3|--- Rcvr5 536 | +--------+| | | +--------+ 537 | / | | | 538 Rcvr2 +---|(MAC-VRF2) | | | 539 +------------+ | | 540 | MPLS/ | 541 EVPN PE2 | IP | 542 +------------+ | | 543 Rcvr3 +---|(MAC-VRF1) | | | 544 | \ | | | 545 | +--------+| | | +--------+ 546 | |MVPN PE2||----| |---|MVPN PE4|--- Rcvr6 547 | +--------+| | | +--------+ 548 | / | +---------+ 549 Rcvr4 +---|(MAC-VRF3) | 550 +------------+ 552 Figure-2: Modeling EVPN PEs as MVPN PEs 554 Although modeling an EVPN PE as a MVPN PE, conceptually simplifies 555 the operation to that of a solution based on MVPN, the following 556 operational aspects of EVPN need to be factored in when considering 557 seamless integration between EVPN and MVPN PEs. 559 o Unicast route advertisements for IP multicast source 561 o Multi-homing of IP multicast sources and receivers 562 o Mobility for Tenant's sources and receivers 564 o non-IP multicast traffic handling 566 6.2. Unicast Route Advertisements for IP multicast Source 568 When an IP multicast source is attached to an EVPN PE, the unicast 569 route for that IP multicast source needs to be advertised. When the 570 source is attached to a Single-Active multi-homed ES, then the EVPN 571 DF PE is the PE that advertises a unicast route corresponding to the 572 source IP address with VRF Route Import extended community which in 573 turn is used as the Route Target for Join (S,G) messages sent toward 574 the source PE by the remote PEs. The EVPN PE advertises this unicast 575 route using EVPN route type 2 and IPVPN unicast route along with VRF 576 Route Import extended community. EVPN route type 2 is advertised 577 with the Route Targets corresponding to both IP-VRF and MAC-VRF/BT; 578 whereas, IPVPN unicast route is advertised with RT corresponding to 579 the IP-VRF. When unicast routes are advertised by MVPN PEs, they are 580 advertised using IPVPN unicast route along with VRF Route Import 581 extended community per [RFC6514]. 583 When the source is attached to an All-Active multi-homed ES, then the 584 PE that learns the source advertises the unicast route for that 585 source using EVPN route type 2 and IPVPN unicast route along with VRF 586 Route Import extended community. EVPN route type 2 is advertised 587 with the Route Targets corresponding to both IP-VRF and MAC-VRF/BT; 588 whereas, IPVPN unicast route is advertised with RT corresponding to 589 the IP-VRF. When the other multi-homing EVPN PEs for that ES receive 590 this unicast EVPN route, they import the route and check to see if 591 they have learned the route locally for that ES, if they have, then 592 they do nothing. But if they have not, then they add the IP and MAC 593 addresses to their IP-VRF and MAC-VRF/BT tables respectively with the 594 local interface corresponding to that ES as the corresponding route 595 adjacency. Furthermore, these PEs advertise an IPVPN unicast route 596 along with VRF Route Import extended community and Route Target 597 corresponding to IP-VRF to other remote PEs for that MVPN. 598 Therefore, the remote PEs learn the unicast route corresponding to 599 the source from all multi-homing PEs associated with that All- Active 600 Ethernet Segment even though one of the multi-homing PEs may only 601 have directly learned the IP address of the source. 603 EVPN-PEs advertise unicast routes as host routes using EVPN route 604 type 2 for sources that are directly attached to a tenant BD that has 605 been extended in the EVPN fabric. EVPN-PE may summarize sources (IP 606 networks) behind a router that are attached to EVPN-PE or sources 607 that are connected to a BD, which is not extended across EVPN fabric 608 and advertises those routes with EVPN route type 5. EVPN host-routes 609 are advertised as IPVPN host-routes to MVPN-PEs only incase of 610 seamless interop mode. 612 Section 6.6 discusses connecting EVPN and MVPN networks with gateway 613 model. Section 9 extends seamless interop procedures to EVPN only 614 fabrics as an IRB solution for multicast. 616 EVPN-PEs only need to advertise unicast routes using EVPN route-type 617 2 or route-type 5 and don't need to advertise IPVPN routes within 618 EVPN only fabric. No L3VPN provisioning is needed between EVPN-PEs. 620 In gateway model, EVPN-PE advertises unicast routes as IPVPN routes 621 along with VRI extended community for all multicast sources attached 622 behind EVPN-PEs. All IPVPN routes SHOULD be summarized while 623 adverting to MVPN-PEs. 625 6.3. Multi-homing of IP Multicast Source and Receivers 627 EVPN [RFC7432] has extensive multi-homing capabilities that allows 628 TSes to be multi-homed to two or more EVPN PEs in Single-Active or 629 All-Active mode. In Single-Active mode, only one of the multi-homing 630 EVPN PEs can receive/transmit traffic for a given subnet (a given BD) 631 for that multi-homed Ethernet Segment (ES). In All-Active mode, any 632 of the multi-homing EVPN PEs can receive/transmit unicast traffic but 633 only one of them (the DF PE) can send BUM traffic to the multi-homed 634 ES for a given subnet. 636 The multi-homing mode (Single-Active versus All-Active) of a TS 637 source can impact the MVPN procedures as described below. 639 6.3.1. Single-Active Multi-Homing 641 When a TS source reside on an ES that is multi-homed to two or more 642 EVPN PEs operating in Single-Active mode, only one of the EVPN PEs 643 can be active for the source subnet on that ES. Therefore, only one 644 of the multi-homing PE learns the unicast route of the TS source and 645 advertises that using EVPN and IPVPN to other PEs as described 646 previously. 648 A downstream PE that receives a Join/Prune message from a TS host/ 649 router, selects a Upstream Multicast Hop (UMH) which is the upstream 650 PE that receives the IP multicast flow in case of Singe- Active 651 multi-homing. An IP multicast flow belongs to either a source- 652 specific tree (S,G) or to a shared tree (*,G). We use the notation 653 (X,G) to refer to either (S,G) or (*,G); where X refers to S in case 654 of (S,G) and X refers to the Rendezvous Point (RP) for G in case of 655 (*,G). Since the active PE (which is also the UMH PE) has advertised 656 unicast route for X along with the VRF Route Import EC, the 657 downstream PEs selects the UMH without any ambiguity based on MVPN 658 procedures described in section 5.1 of [RFC6513]. Any of the three 659 algorithms described in that section works fine. 661 The multi-homing PE that receives the IP multicast flow on its local 662 AC, performs the following tasks: 664 - L2 switches the multicast traffic in its BT associated with the 665 local AC over which it received the flow if there are any interested 666 receivers for that subnet. 668 - L3 routes the multicast traffic to other BTs for other subnets if 669 there are any interested receivers for those subnets. 671 - L3 routes the multicast traffic to other PEs per MVPN procedures. 673 The multicast traffic can be sent on Inclusive, Selective, or 674 Aggregate-Selective tree. Regardless what type of tree is used, only 675 a single copy of the multicast traffic is received by the downstream 676 PEs and the multicast traffic is forwarded optimally from the 677 upstream PE to the downstream PEs. 679 6.3.2. All-Active Multi-Homing 681 When a TS source reside on an ES that is multi-homed to two or more 682 EVPN PEs operating in All-Active mode, then any of the multi-homing 683 PEs can learn the TS source's unicast route; however, that PE may not 684 be the same PE that receives the IP multicast flow. Therefore, the 685 procedures for Single-Active Multi-homing need to be augmented for 686 All-Active scenario as below. 688 The multi-homing EVPN PE that receives the IP multicast flow on its 689 local AC, needs to do the following task in additions to the ones 690 listed in the previous section for Single-Active multi-homing: L2 691 switch the multicast traffic to other multi-homing EVPN PEs for that 692 ES via a multicast tunnel which it is called intra-ES tunnel. There 693 will be a dedicated tunnel for this purpose which is different from 694 inter-subnet overlay tree/tunnel setup by MVPN procedures. 696 When the multi-homing EVPN PEs receive the IP multicast flow via this 697 tunnel, they treat it as if they receive the flow via their local ACs 698 and thus perform the tasks mentioned in the previous section for 699 Single-Active multi-homing. The tunnel type for this intra-ES tunnel 700 can be any of the supported tunnel types such as ingress-replication, 701 P2MP tunnel, BIER, and Assisted Replication; however, given that vast 702 majority of multi-homing ESes are just dual-homing, a simple ingress 703 replication tunnel can serve well. For a given ES, since multicast 704 traffic that is locally received by one multi-homing PE is sent to 705 other multi-homing PEs via this intra-ES tunnel, there is no need for 706 sending the multicast tunnel via MVPN tunnel to these multi-homing 707 PEs - i.e., MVPN multicast tunnels are used only for remote EVPN and 708 MVPN PEs. Multicast traffic sent over this intra-ES tunnel to other 709 multi-homing PEs (only one other in case of dual-homing) for a given 710 ES can be either fixed or on demand basis. If on-demand basis, then 711 one of the other multi-homing PEs that is selected as a UMH upon 712 receiving a join message from a downstream PE, sends a request to 713 receive this multicast flow from the source multi-homing PE over the 714 special intra-ES tunnel. 716 By feeding IP multicast flow received on one of the EVPN multi-homing 717 PEs to the interested EVPN PEs in the same multi-homing group, we 718 have essentially enabled all the EVPN PEs in the multi-homing group 719 to serve as UMH for that IP multicast flow. Each of these UMH PEs 720 advertises unicast route for X in (X,G) along with the VRF Route 721 Import EC to all PEs for that MVPN instance. The downstream PEs 722 build a candidate UMH set based on procedures described in section 723 5.1 of [RFC6513] and pick a UMH from the set. It should be noted 724 that both the default UMH selection procedure based on highest UMH PE 725 IP address and the UMH selection algorithm based on hash function 726 specified in section 5.1.3 of [RFC6513] (which is also a MUST 727 implement algorithm) result in the same UMH PE be selected by all 728 downstream PEs running the same algorithm. However, in order to 729 allow a form of "equal cost load balancing", the hash algorithm is 730 recommended to be used among all EVPN and MVPN PEs. This hash 731 algorithm distributes UMH selection for different IP multicast flows 732 among the multi-homing PEs for a given ES. 734 Since all downstream PEs (EVPN and MVPN) use the same hash-based 735 algorithm for UMH determination, they all choose the same upstream PE 736 as their UMH for a given (X,G) flow and thus they all send their 737 (X,G) join message via BGP to the same upstream PE. This results in 738 one of the multi-homing PEs to receive the join message and thus send 739 the IP multicast flow for (X,G) over its associated overlay tree even 740 though all of the multi-homing PEs in the All-Active redundancy group 741 have received the IP multicast flow (one of them directly via its 742 local AC and the rest indirectly via the associated intra-ES tunnel). 743 Therefore, only a single copy of routed IP multicast flow is sent 744 over the network regardless of overlay tree type supported by the PEs 745 - i.e., the overlay tree can be of type selective or aggregate 746 selective or inclusive tree. This gives the network operator the 747 maximum flexibility for choosing any overlay tree type that is 748 suitable for its network operation and still be able to deliver only 749 a single copy of the IP multicast flows to the egress PEs. In other 750 words, an egress PE only receives a single copy of the IP multicast 751 flow over the network, because it either receives it via the EVPN 752 intra-ES tunnel or MVPN inter-subnet tunnel. Furthermore, if it 753 receives it via MVPN inter-subnet tunnel, then only one of the multi- 754 homing PEs associated with the source ES, sends the IP multicast 755 traffic. 757 Since the network of interest for seamless interoperability between 758 EVPN and MVPN PEs is MPLS, the EVPN handling of BUM traffic for MPLS 759 network needs to be considered. EVPN [RFC7432] uses ESI MPLS label 760 for split-horizon filtering of Broadcast/Unknown unicast/multicast 761 (BUM) traffic from an All-Active multi-homing Ethernet Segment to 762 ensure that BUM traffic doesn't get loop back to the same Ethernet 763 Segment that it came from. This split-horizon filtering mechanism 764 applies as-is for multicast IRB scenario because of using the intra- 765 ES tunnel among multi-homing PEs. Since the multicast traffic 766 received from a TS source on an All-Active ES by a multi-homing PE is 767 bridged to all other multi-homing PEs in that group, the standard 768 EVPN split-horizon filtering described in [RFC7432] applies as-is. 769 Split-horizon filtering for non-MPLS encapsulations such as VxLAN is 770 described in section 9.2.2 that deals with a DC network that consists 771 of only EVPN PEs. 773 6.4. Mobility for Tenant's Sources and Receivers 775 When a tenant system (TS), source or receiver, is multi-homed behind 776 a group of multi-homing EVPN PEs, then TS mobility SHALL be supported 777 among EVPN PEs. Furthermore, such TS mobility SHALL only cause an 778 temporary disruption to the related multicast service among EVPN and 779 MVPN PEs. If a source is moved from one EVPN PE to another one, then 780 the EVPN mobility procedure SHALL discover this move and a new 781 unicast route advertisement (using both EVPN and IP-VPN routes) is 782 made by the EVPN PE where the source has moved to per section 6.3 783 above and unicast route withdraw (for both EVPN and IP-VPN routes) is 784 performed by the EVPN PE where the source has moved from. 786 The move of a source results in disruption of the IP multicast flow 787 for the corresponding (S,G) flow till the new unicast route 788 associated with the source is advertised by the new PE along with the 789 VRF Route Import EC, the join messages sent by the egress PEs are 790 received by the new PE, the multicast state for that flow is 791 installed in the new PE and a new overlay tree is built for that 792 source from the new PE to the egress PEs that are interested in 793 receiving that IP multicast flow. 795 The move of a receiver results in disruption of the IP multicast flow 796 to that receiver only till the new PE for that receiver discovers the 797 source and joins the overlay tree for that flow. 799 6.5. Intra-Subnet BUM Traffic Handling 801 Link local IP multicast traffic consists IPv4 traffic with a 802 destination address prefix of 224/8 and IPv6 traffic with a 803 destination address prefix of FF02/16. Such IP multicast traffic as 804 well as non-IP multicast/broadcast traffic are sent per EVPN 805 [RFC7432] BUM procedures and does not get routed via IP-VRF for 806 multicast addresses. So, such BUM traffic will be limited to a given 807 EVI/VLAN (e.g., a give subnet); whereas, IP multicast traffic, will 808 be locally L2 switched for local interfaces attached on the same 809 subnet and will be routed for local interfaces attached on a 810 different subnet or for forwarding traffic to other EVPN PEs (refer 811 to section 8 for data plane operation). 813 6.6. EVPN and MVPN interworking with gateway model 815 The procedures specified in this document offers optimal multicast 816 forwarding within a data center and also enables seamless 817 interoperability of multicast traffic between EVPN and MVPN networks, 818 when same tunnel types are used in the data plane. 820 There are few other use cases in connecting MVPN networks in the EVPN 821 fabric other than seamless interop model, where gateway model is used 822 to interconnect both networks. 824 Case1: All EVPN-PEs in the fabric can be made as MVPN exit points 825 Case2: MVPN network can be attached behind a EVPN PE or subset of 826 EVPN-PEs 827 Case3: MVPN network (MVPN-PEs) which uses different tunnel model 828 can be directly attached to EVPN fabric. 830 In gateway model, MVPN routes from one domain are terminated at the 831 gateway PE and re-originated for another domain. 833 With use case 1 & 2, All PEs connected to an EVPN fabric can use one 834 data plane to send & receive traffic within the fabric/data center. 835 Also, IPVPN routes need not be advertised inside the fabric. 836 Instead, PE where MVPN is terminated should advertise IPVPN as EVPN 837 routes. 839 With use case 3, Fabric will get two copies per multicast flow, if 840 receivers exist both MVPN and EVPN networks. (Two different data 841 planes are used to send the traffic in the fabric; one for EVPN 842 network and one for MVPN network). 844 7. Control Plane Operation 846 In seamless interop between EVPN and MVPN PEs, the control plane may 847 need to setup the following three types of multicast tunnels. The 848 first two are among EVPN PEs only but the third one is among EVPN and 849 MVPN PEs. 851 1) Intra-ES IP multicast tunnel 853 2) Intra-subnet BUM tunnel 855 3) Inter-subnet IP multicast tunnel 857 7.1. Intra-ES/Intra-Subnet IP Multicast Tunnel 859 As described in section 6.3.2, when a multicast source is sitting 860 behind an All-Active ES, then an intra-subnet multicast tunnel is 861 needed among the multi-homing EVPN PEs for that ES to carry multicast 862 flow received by one of the multi-homing PEs to the other PEs in that 863 ES. We refer to this multicast tunnel as Intra-ES/Intra-Subnet 864 tunnel. Vast majority of All-Active multi-homing for TOR devices in 865 DC networks are just dual-homing which means the multicast flow 866 received by one of the dual-homing PE only needs to be sent to the 867 other dual-homing PE. Therefore, a simple ingress replication tunnel 868 is all that is needed. In case of multi-homing to three or more EVPN 869 PEs, then other tunnel types such as P2MP, MP2MP, BIER, and Assisted 870 Replication can be considered. It should be noted that this intra-ES 871 tunnel is only needed for All-Active multi-homing and it is not 872 required for Single- Active multi-homing. 874 The EVPN PEs belonging to a given All-Active ES discover each other 875 using EVPN Ethernet Segment route per procedures described in 876 [RFC7432]. These EVPN PEs perform DF election per [RFC7432], 877 [I-D.ietf-bess-evpn-df-election-framework], or other DF election 878 algorithms to decide who is a DF for a given BD. If the BD belongs 879 to a tenant that has IRB IP multicast enabled for it, then for fixed- 880 mode, each PE sets up an intra-ES tunnel to forward IP multicast 881 traffic received locally on that BD to other multi-homing PE(s) for 882 that ES. Therefore, IP multicast traffic received via a local 883 attachment circuit is sent on this tunnel and on the associated IRB 884 interface for that BT and other local attachment circuits if there 885 are interested receivers for them. The other multi-homing EVPN PEs 886 treat this intra-ES tunnel just like their local ACs - i.e., the 887 multicast traffic received over this tunnel is treated as if it is 888 received via its local AC. Thus, the multi-homing PEs cannot receive 889 the same IP multicast flow from an MVPN tunnel (e.g., over an IRB 890 interface for that BD) because between a source behind a local AC 891 versus a source behind a remote PE, the PE always chooses its local 892 AC. 894 When ingress replication is used for intra-ES tunnel, every PE in the 895 All-Active multi-homing ES has all the information to setup these 896 tunnels - i.e., a) each PE knows what are the other multi-homing PEs 897 for that ES via EVPN Ethernet Segment route and can use this 898 information to setup intra-ES/Intra-Subnet IP multicast tunnel among 899 themselves. 901 If a source exists behind inter-subnet tunnel, it is possible that 902 more than one multihomed PEs send MVPN join towards remote PE based 903 on incoming join on their local interfaces. When the traffic is 904 received on the inter-subnet tunnel, it is sent towards locally 905 attached receivers. Only DF sends traffic towards multihomed 906 ethernet segment. Traffic received on the inter-subnet tunnel, 907 should not be sent towards intra-ES tunnel. 909 7.2. Intra-Subnet BUM Tunnel 911 As the name implies, this tunnel is setup to carry BUM traffic for a 912 given subnet/BD among EVNP PEs. In [RFC7432] , this overlay tunnel 913 is used for transmission of all BUM traffic including user IP 914 multicast traffic. However, for multicast traffic handling in EVPN- 915 IRB PEs, this tunnel is used for all broadcast, unknown-unicast, non- 916 IP multicast traffic, and link-local IP multicast traffic - i.e., it 917 is used for all BUM traffic except user IP multicast traffic. This 918 tunnel is setup using IMET route for a given EVI/BD. The composition 919 and advertisement of IMET routes are exactly per [RFC7432] . It 920 should be noted that when an EVPN All-Active multi-homing PE uses 921 both this tunnel as well as intra-ES tunnel, there SHALL be no 922 duplication of multicast traffic over the network because they carry 923 different types of multicast traffic - i.e., intra-ES tunnel among 924 multi-homing PEs carries only user IP multicast traffic; whereas, 925 intra-subnet BUM tunnel carries link-local IP multicast traffic and 926 BUM traffic (w/ non-IP multicast). 928 7.3. Inter-Subnet IP Multicast Tunnel 930 As its name implies, this tunnel is setup to carry IP-only multicast 931 traffic for a given tenant across all its subnets (BDs) among EVPN 932 and MVPN PEs. 934 The following NLRIs from [RFC6514] is used for setting up this inter- 935 subnet tunnel in the network. 937 Intra-AS I-PMSI A-D route is used for the setup of default 938 underlay tunnel (also called inclusive tunnel) for a tenant IP- 939 VRF. The tunnel attributes are indicated using PMSI attribute 940 with this route. 942 S-PMSI A-D route is used for the setup of Customer flow specific 943 underlay tunnels. This enables selective delivery of data to PEs 944 having active receivers and optimizes fabric bandwidth 945 utilization. The tunnel attributes are indicated using PMSI 946 attribute with this route. 948 Each EVPN PE supporting a specific MVPN instance discovers the set of 949 other PEs in its AS that are attached to sites of that MVPN using 950 Intra-AS I-PMSI A-D route (route type 1) per [RFC6514]. It can also 951 discover the set of other ASes that have PEs attached to sites of 952 that MVPN using Inter-AS I-PMSI A-D route (route type 2) per 953 [RFC6514]. After the discovery of PEs that are attached to sites of 954 the MVPN, an inclusive overlay tree (I-PMSI) can be setup for 955 carrying tenant multicast flows for that MVPN; however, this is not a 956 requirement per [RFC6514] and it is possible to adopt a policy in 957 which all tenant flows are carried on S-PMSIs. 959 An EVPN-IRB PE sends a user IP multicast flow to other EVPN and MVPN 960 PEs over this inter-subnet tunnel that is instantiated using MVPN I- 961 PMSI or S-PMSI. This tunnel can be considered as being originated 962 and terminated from/to among IP-VRFs of EVPN/MVPN PEs; whereas, 963 intra- subnet tunnel is originated/terminated among MAC-VRFs of EVPN 964 PEs. 966 7.4. IGMP Hosts as TSes 968 If a tenant system which is an IGMP host is multi-homed to two or 969 more EVPN PEs using All-Active multi-homing, then IGMP join and leave 970 messages are synchronized between these EVPN PEs using EVPN IGMP Join 971 Synch route (route type 7) and EVPN IGMP Leave Synch route (route 972 type 8) per [I-D.ietf-bess-evpn-igmp-mld-proxy]. IGMP states are 973 built in the corresponding BDs of the multi-homing EVPN PEs. In 974 [I-D.ietf-bess-evpn-igmp-mld-proxy] the DF PE for that BD originates 975 an EVPN Selective Multicast Tag route (SMET route) route to other 976 EVPN PEs. However, in here there is no need to use SMET because the 977 IGMP messages are terminated by the EVPN-IRB PE and tenant (*,G) or 978 (S,G) join messages are sent via MVPN Shared Tree Join route (route 979 type 6) or Source Tree Join route (route type 7) respectively of 980 MCAST-VPN NLRI per [RFC6514]. In case of a network with only IGMP 981 hosts, the preferred mode of operation is that of Shortest Path 982 Tree(SPT) per section 14 of [RFC6514]. This mode is only supported 983 for PIM-SM and avoids the RP configuration overhead. Such mode is 984 chosen by provisioning/ configuration. 986 7.5. TS PIM Routers 988 Just like a MVPN PE, an EVPN PE runs a separate tenant multicast 989 routing instance (VPN-specific) per MVPN instance and the following 990 tenant multicast routing instances are supported: 992 - PIM Sparse Mode (PIM-SM) with the ASM service model 993 - PIM Sparse Mode with the SSM service model 994 - PIM Bidirectional Mode (BIDIR-PIM), which uses bidirectional 995 tenant-trees to support the ASM service model 997 A given tenant's PIM join messages for (*,G) or (S, G) are processed 998 by the corresponding tenant multicast routing protocol and they are 999 advertised over MPLS/IP network using Shared Tree Join route (route 1000 type 6) and Source Tree Join route (route type 7) respectively of 1001 MCAST-VPN NLRI per [RFC6514]. 1003 8. Data Plane Operation 1005 When an EVPN-IRB PE receives an IGMP/MLD join message over one of its 1006 Attachment Circuits (ACs), it adds that AC to its Layer-2 (L2) OIF 1007 list. This L2 OIF list is associated with the MAC-VRF/BT 1008 corresponding to the subnet of the tenant device that sent the IGMP/ 1009 MLD join. Therefore, tenant (S,G) or (*,G) forwarding entries are 1010 created/updated for the corresponding MAC-VRF/BT based on these 1011 source and group IP addresses. Furthermore, the IGMP/MLD join 1012 message is propagated over the corresponding IRB interface and it is 1013 processed by the tenant multicast routing instance which creates the 1014 corresponding tenant (S,G) or (*,G) Layer-3 (L3) forwarding entries. 1015 It adds this IRB interface to the L3 OIF list. An IRB is removed as 1016 a L3 OIF when all L2 tenant (S,G) or (*,G) forwarding states is 1017 removed for the MAC-VRF/BT associated with that IRB. Furthermore, 1018 tenant (S,G) or (*,G) L3 forwarding state is removed when all of its 1019 L3 OIFs are removed - i.e., all the IRB and L3 interfaces associated 1020 with that tenant (S,G) or (*,G) are removed. 1022 When an EVPN PE receives IP multicast traffic from one of its AC, if 1023 it has any attached receivers for that subnet, it performs L2 1024 switching of the intra-subnet traffic within the BT attached to that 1025 AC. If the multicast flow is received over an AC that belongs to an 1026 All-Active ES, then the multicast flow is also sent over the intra- 1027 ES/Intra-Subnet tunnel among multi-homing PEs. The EVPN PE then 1028 sends the multicast traffic over the corresponding IRB interface. 1029 The multicast traffic then gets routed in the corresponding IP-VRF 1030 and it gets forwarded to interfaces in the L3 OIF list which can 1031 include other IRB interfaces, other L3 interfaces directly connected 1032 to TSes, and the MVPN Inter-Subnet tunnel which is instantiated by an 1033 I-PMSI or S-PMSI tunnel. When the multicast packet is routed within 1034 the IP- VRF of the EVPN PE, its Ethernet header is stripped and its 1035 TTL gets decremented as the result of this IP routing. When the 1036 multicast traffic is received on an IRB interface by the BT 1037 corresponding to that interface, it gets L2 switched and sent over 1038 ACs that belong to the L2 OIF list. 1040 8.1. Intra-Subnet L2 Switching 1042 Rcvr1 in Figure 1 is connected to PE1 in MAC-VRF1 (same as Src1) and 1043 sends IGMP join for (C-S, C-G), IGMP snooping will record this state 1044 in local bridging entry. A routing entry will be formed as well 1045 which will point to MAC-VRF1 as RPF for Src1. We assume that Src1 is 1046 known via ARP or similar procedures. Rcvr1 will get a locally 1047 bridged copy of multicast traffic from Src1. Rcvr3 is also connected 1048 in MAC-VRF1 but to PE2 and hence would send IGMP join which will be 1049 recorded at PE2. PE2 will also form routing entry and RPF will be 1050 assumed as Tenant Tunnel "Tenant1" formed beforehand using MVPN 1051 procedures. Also this would cause multicast control plane to 1052 initiate a BGP MCAST-VPN type 7 route which would include VRI for PE1 1053 and hence be accepted on PE1. PE1 will include Tenant1 tunnel as 1054 Outgoing Interface (OIF) in the routing entry. Now, since it has 1055 knowledge of remote receivers via MVPN control plane it will 1056 encapsulate original multicast traffic in Tenant1 tunnel towards 1057 core. 1059 8.2. Inter-Subnet L3 Routing 1061 Rcvr2 in Figure 1 is connected to PE1 in MAC-VRF2 and hence PE1 will 1062 record its membership in MAC-VRF2. Since MAC-VRF2 is enabled with 1063 IRB, it gets added as another OIF to routing entry formed for (C-S, 1064 C-G). Rcvr2 and Rcvr4 are also in different MAC-VRFs than multicast 1065 speaker Src1 and hence need Inter-subnet forwarding. PE2 will form 1066 local bridging entry in MAC-VRF2 due to IGMP joins received from 1067 Rcvr3 and Rcvr4 respectively. PE2 now adds another OIF 'MAC-VRF2' to 1068 its existing routing entry. But there is no change in control plane 1069 states since its already sent MVPN route and no further signaling is 1070 required. Also since Src1 is not part of MAC-VRF2 subnet, it is 1071 treated as routing OIF and hence MAC header gets modified as per 1072 normal procedures for routing. PE3 forms routing entry very similar 1073 to PE2. It is to be noted that PE3 does not have MAC-VRF1 configured 1074 locally but still can receive the multicast data traffic over Tenant1 1075 tunnel formed due to MVPN procedures 1077 9. DCs with only EVPN PEs 1079 As mentioned earlier, the proposed solution can be used as a routed 1080 multicast solution in data center networks with only EVPN PEs (e.g., 1081 routed multicast VPN only among EVPN PEs). It should be noted that 1082 the scope of intra-subnet forwarding for the solution described in 1083 this document, is limited to a single EVPN PE for Single-Active 1084 multi-homing and to multi-homing PEs for All-Active multi-homing. In 1085 other words, the IP multicast traffic that needs to be forwarded from 1086 the source PE to remote PEs is routed to remote PEs regardless of 1087 whether the traffic is intra-subnet or inter-subnet. As the result, 1088 the TTL value for intra-subnet traffic that spans across two or more 1089 PEs get decremented. 1091 However, if there are applications that require intra-subnet 1092 multicast traffic to be L2 forwarded, Section 11 discusses some 1093 options to support applications having TTL value 1. The procedure 1094 discussed in Section 11 may be used to support applications that 1095 require intra-subnet multicast traffic to be L2 forwarded. 1097 9.1. Setup of overlay multicast delivery 1099 It must be emphasized that this solution poses no restriction on the 1100 setup of the tenant BDs and that neither the source PE, nor the 1101 receiver PEs do not need to know/learn about the BD configuration on 1102 other PEs in the MVPN. The Reverse Path Forwarder (RPF) is selected 1103 per the tenant multicast source and the IP-VRF in compliance with the 1104 procedures in [RFC6514], using the incoming EVPN route type 2 or 5 1105 NLRI per [RFC7432]. 1107 The VRF Route Import (VRI) extended community that is carried with 1108 the IP-VPN routes in [RFC6514] MUST be carried with the EVPN unicast 1109 routes when these routes are used. The construction and processing 1110 of the VRI are consistent with [RFC6514]. The VRI MUST uniquely 1111 identify the PE which is advertising a multicast source and the IP- 1112 VRF it resides in. 1114 VRI is constructed as following: 1116 - The 4-octet Global Administrator field MUST be set to an IP 1117 address of the PE. This address SHOULD be common for all the 1118 IP-VRFs on the PE (e.g., this address may be the PE's loopback 1119 address or VTEP address). 1121 - The 2-octet Local Administrator field associated with a given 1122 IP-VRF contains a number that uniquely identifies that IP-VRF 1123 within the PE that contains the IP-VRF. 1125 EVPN PE MUST have Route Target Extended Community to import/export 1126 MVPN routes. In data center environment, it is desirable to have 1127 this RT configured using auto-generated method than static 1128 configuration. 1130 The following is one recommended model to auto-generate MVPN RT: 1132 - The Global Administrator field of the MVPN RT MAY be set 1133 to BGP AS Number. 1135 - The Local Administrator field of the MVPN RT MAY be set to 1136 the VNI associated with the tenant VRF. 1138 Every PE which detects a local receiver via a local IGMP join or a 1139 local PIM join for a specific source (overlay SSM mode) MUST 1140 terminate the IGMP/PIM signaling at the IP-VRF and generate a (C-S,C- 1141 G) via the BGP MCAST-VPN route type 7 per [RFC6514] if and only if 1142 the RPF for the source points to the fabric. If the RPF points to a 1143 local multicast source on the same MAC-VRF or a different MAC-VRF on 1144 that PE, the MCAST-VPN MUST NOT be advertised and data traffic will 1145 be locally routed/bridged to the receiver as detailed in section 6.2. 1147 The VRI received with EVPN route type 2 or 5 NLRI from source PE will 1148 be appended as an export route-target extended community. More 1149 details about handling of various types of local receivers are in 1150 section 10. The PE which has advertised the unicast route with VRI, 1151 will import the incoming MCAST-VPN NLRI in the IP-VRF with the same 1152 import route-target extended-community and other PEs SHOULD ignore 1153 it. Following such procedure the source PE learns about the 1154 existence of at least one remote receiver in the tenant overlay and 1155 programs data plane accordingly so that a single copy of multicast 1156 data is forwarded into the fabric using tenant VRF tunnel. 1158 If the multicast source is unknown (overlay ASM mode), the MCAST-VPN 1159 route type 6 (C-*,C-G) join SHOULD be targeted towards the designated 1160 overlay Rendezvous Point (RP) by appending the received RP VRI as an 1161 export route-target extended community. Every PE which detects a 1162 local source, registers with its RP PE. That is how the RP learns 1163 about the tenant source(s) and group(s) within the MVPN. Once the 1164 overlay RP PE receives either the first remote (C-RP,C-G) join or a 1165 local IGMP/PIM join, it will trigger an MCAST-VPN route type 7 (C- 1166 S,C-G) towards the actual source PE for which it has received PIM 1167 register message in full compliance with regular PIM procedures. 1168 This involves the source PE to advertise the MCAST-VPN Source Active 1169 A-D route (MCAST-VPN route-type 5) towards all PEs. The Source 1170 Active A- D route is used to inform all PEs in a given MVPN about the 1171 active multicast source for switching from RPT to SPT when MVPNs use 1172 tenant RP-shared trees (i.e., rooted at tenant's RP) per section 13 1173 of [RFC6514]. This is done in order to choose a single forwarder PE 1174 and to suppress receiving duplicate traffic. In such scenarios, the 1175 active multicast source is used by the receiver PEs to join the SPT 1176 if they have not received tenant (S,G) joins and by the RPT PEs to 1177 prune off the tenant (S,G) state from the RPT. The Source Active A-D 1178 route is also used for MVPN scenarios without tenant RP-shared trees. 1179 In such scenarios, the receiver PEs with tenant (*,G) states use the 1180 Source Active A-D route to know which upstream PEs with sources 1181 behind them to join per section 14 of [RFC6514] - i.e., to suppress 1182 joining Overlay shared tree. 1184 9.2. Handling of different encapsulations 1186 Just as in [RFC6514] the MVPN I-PMSI and S-PMSI A-D routes are used 1187 to form the overlay multicast tunnels and signal the tunnel type 1188 using the P-Multicast Service Interface Tunnel (PMSI Tunnel) 1189 attribute. 1191 9.2.1. MPLS Encapsulation 1193 The [RFC6514] assumes MPLS/IP core and there is no modification to 1194 the signaling procedures and encoding for PMSI tunnel formation 1195 therein. Also, there is no need for a gateway to inter-operate with 1196 non-EVPN PEs supporting [RFC6514] based MVPN over IP/MPLS. 1198 9.2.2. VxLAN Encapsulation 1200 In order to signal VXLAN, the corresponding BGP encapsulation 1201 extended community [I-D.ietf-idr-tunnel-encaps] SHOULD be appended to 1202 the MVPN I- PMSI and S-PMSI A-D routes. The MPLS label in the PMSI 1203 Tunnel Attribute MUST be the Virtual Network Identifier (VNI) 1204 associated with the customer MVPN. The supported PMSI tunnel types 1205 with VXLAN encapsulation are: PIM-SSM Tree, PIM-SM Tree, BIDIR-PIM 1206 Tree, Ingress Replication [RFC6514]. Further details are in 1207 [RFC8365]. 1209 In this case, a gateway is needed for inter-operation between the 1210 EVPN PEs and non-EVPN MVPN PEs. The gateway should re-originate the 1211 control plane signaling with the relevant tunnel encapsulation on 1212 either side. In the data plane, the gateway terminates the tunnels 1213 formed on either side and performs the relevant stitching/re- 1214 encapsulation on data packets. 1216 9.2.3. Other Encapsulation 1218 In order to signal a different tunneling encapsulation such as NVGRE, 1219 GPE, or GENEVE the corresponding BGP encapsulation extended community 1220 [I-D.ietf-idr-tunnel-encaps] SHOULD be appended to the MVPN I-PMSI 1221 and S-PMSI A-D routes. If the Tunnel Type field in the encapsulation 1222 extended- community is set to a type which requires Virtual Network 1223 Identifier (VNI), e.g., VXLAN-GPE or NVGRE 1224 [I-D.ietf-idr-tunnel-encaps], then the MPLS label in the PMSI Tunnel 1225 Attribute MUST be the VNI associated with the customer MVPN. Same as 1226 in VXLAN case, a gateway is needed for inter- operation between the 1227 EVPN-IRB PEs and non-EVPN MVPN PEs. 1229 10. DCI with MPLS in WAN and VxLAN in DCs 1231 This section describers the inter-operation between MVPN PEs in WAN 1232 using MPLS encapsulation with EVPN PEs in a DC network using VxLAN 1233 encapsulation. Since the tunnel encapsulation between these networks 1234 are different, we must have at least one gateway in between. 1235 Usually, two or more are required for redundancy and load balancing 1236 purpose. In such scenarios, a DC network can be represented as a 1237 customer network that is multi-homed to two or more MVPN PEs via L3 1238 interfaces and thus standard MVPN multi-homing procedures are 1239 applicable here. It should be noted that a MVPN overlay tunnel over 1240 the DC network is terminated on the IP-VRF of the gateway and not the 1241 MAC-VRF/BTs. Therefore, the considerations for loop prevention and 1242 split-horizon filtering described in [I-D.ietf-bess-dci-evpn-overlay] 1243 are not applicable here. Some aspects of the multi-homing between 1244 VxLAN DC networks and MPLS WAN is in common with 1245 [I-D.ietf-bess-dci-evpn-overlay] . 1247 10.1. Control plane inter-connect 1249 The gateway(s) MUST be setup with the inclusive set of all the IP- 1250 VRFs that span across the two domains. On each gateway, there will 1251 be at least two BGP sessions: one towards the DC side and the other 1252 towards the WAN side. Usually for redundancy purpose, more sessions 1253 are setup on each side. The unicast route propagation follows the 1254 exact same procedures in [I-D.ietf-bess-dci-evpn-overlay]. Hence, a 1255 multicast host located in either domain, is advertised with the 1256 gateway IP address as the next-hop to the other domain. As a result, 1257 PEs view the hosts in the other domain as directly attached to the 1258 gateway and all inter-domain multicast signaling is directed towards 1259 the gateway(s). Received MVPN routes type 1-7 from either side of 1260 the gateway(s), MUST NOT be reflected back to the same side but 1261 processed locally and re-advertised (if needed) to the other side: 1263 o Intra-AS I-PMSI A-D Route: these are distributed within each 1264 domain to form the overlay tunnels which terminate at gateway(s). 1265 They are not passed to the other side of the gateway(s). 1267 o C-Multicast Route: joins are imported into the corresponding IP- 1268 VRF on each gateway and advertised as a new route to the other 1269 side with the following modifications (the rest of NLRI fields and 1270 path attributes remain on-touched): 1272 * Route-Distinguisher is set to that of the IP-VRF 1273 * Route-target is set to the exported route-target list on IP-VRF 1275 * The PMSI tunnel attribute and BGP Encapsulation extended 1276 community will be modified according to section 8 1278 * Next-hop will be set to the IP address which represents the 1279 gateway on either domain 1281 o Source Active A-D Route: same as joins 1283 o S-PMSI A-D Route: these are passed to the other side to form 1284 selective PMSI tunnels per every (C-S,C-G) from the gateway to the 1285 PEs in the other domain provided it contains receivers for the 1286 given (C-S, C-G). Similar modifications made to joins are made to 1287 the newly originated S-PMSI. 1289 In addition, the Originating Router's IP address is set to GW's IP 1290 address. Multicast signaling from/to hosts on local ACs on the 1291 gateway(s) are generated and propagated in both domains (if needed) 1292 per the procedures in section 7 in this document and in [RFC6514] 1293 with no change. It must be noted that for a locally attached source, 1294 the gateway will program an OIF per every domain from which it 1295 receives a remote join in its forwarding plane and different 1296 encapsulation will be used on the data packets. 1298 10.2. Data plane inter-connect 1300 Traffic forwarding procedures on gateways are same as those described 1301 for PEs in section 5 and 6 except that, unlike a non-border leaf PE, 1302 the gateway will not only route the incoming traffic from one side to 1303 its local receivers, but will also send it to the remote receivers in 1304 the the other domain after de-capsulation and appending the right 1305 encapsulation. The OIF and IIF are programmed in FIB based on the 1306 received joins from either side and the RPF calculation to the source 1307 or RP. The de-capsulation and encapsulation actions are programmed 1308 based on the received I-PMSI or S-PMSI A-D routes from either sides. 1309 If there are more than one gateway between two domains, the multi- 1310 homing procedures described in the following section must be 1311 considered so that incoming traffic from one side is not looped back 1312 to the other gateway. 1314 The multicast traffic from local sources on each gateway flows to the 1315 other gateway with the preferred WAN encapsulation. 1317 11. Supporting application with TTL value 1 1319 It is possible that some deployments may have a host on the tenant 1320 domain that sends multicast traffic with TTL value 1. The interested 1321 receiver for that traffic flow may be attached to different PEs on 1322 the same subnet. The procedures specified in section 6 always routes 1323 the traffic between PEs for both intra and inter subnet traffic. 1324 Hence traffic with TTL value 1 is dropped due to the nature of 1325 routing. 1327 This section discusses few possible ways to support traffic having 1328 TTL value 1. Implementation MAY support any of the following model. 1330 11.1. Policy based model 1332 Policies may be used to enforce EVPN BUM procedure for traffic flows 1333 with TTL value 1. Traffic flow that matches the policy is excluded 1334 from seamless interop procedure specified in this document, hence TTL 1335 decrement issue will not apply. 1337 11.2. Exercising BUM procedure for VLAN/BD 1339 Servers/hosts sending the traffic with TTL value 1 may be attached to 1340 a separate VLAN/BD, where multicast routing is disabled. When 1341 multicast routing is disabled, EVPN BUM procedure may be applied to 1342 all traffic ingressing on that VLAN/BD. On the Egress PE, the RPF 1343 for such traffic may be set to BD interface, where the source is 1344 attached. 1346 11.3. Intra-subnet bridging 1348 The procedure specified in the section enables a PE to detect an 1349 attached subnet source (i.e., source that is directly attached in the 1350 tenant BD/VLAN). By applying the following procedure for the 1351 attached source, Traffic flows having TTL value 1 can be supported. 1353 - On the ingress PE, do the bridging on the interface towards the 1354 core interface 1355 - On the egress side, make a decision whether to bridge or route 1356 at the outgoing interface (OIF) based on whether the source is 1357 attached to the OIF's BD/VLAN or not. 1359 Recent ASIC supports single lookup forwarding for brigading and 1360 routing (L2+L3). The procedure mentioned here leverages this ASIC 1361 capability. 1363 PE1 1364 +------------+ 1365 S11 +---+(BD1) | +---------+ 1366 | \ | | | 1367 |(IP-VRF)-(CORE)| | 1368 | / | | | 1369 R12 +---+(BD2) | | | 1370 +------------+ | | 1371 | | 1372 PE2 | VXLAN. | 1373 +------------+ | | 1374 R21 +---+(BD1) | | | 1375 | \ | | | 1376 |(IP-VRF)-(CORE)| | 1377 | / | | | 1378 R22+----+(BD3) | +---------+ 1379 +------------+ 1381 Figure 3 Intra-subnet bridging 1383 Consider the above picture. In the picture 1385 - PE1 and PE2 are seamless interop capable PEs 1386 - S11 is a multicast host directly attached to PE1 in BD1 1387 - Source S11 sends traffic to Group G11 1388 - R21, R22 are IGMP receivers for group G11 1389 - R21 and R22 are attached to BD1 and BD3 respectively at PE2. 1391 When source S11 starts sending the traffic, PE1 learns the source and 1392 announces the source using MVPN procedures to the remote PEs. 1394 At PE2, IGMP joins from R21, R22 result the creation of (*,G11) entry 1395 with outgoing OIF as IRB interface of BD1 and BD3. When PE2 learns 1396 the source information from PE1, it installs the route (S11, G11) at 1397 the tenant VRF with RPF as CORE interface. 1399 PE2 inherits (*, G11) OIFs to (S11, G11) entry. While inheriting 1400 OIF, PE2 checks whether source is attached to OIF's subnet. OIF 1401 matching source subnet is added with flag indicating bridge only 1402 interface. In case of (S11, G11) entry, BD1 is added as the bridge 1403 only OIF, while BD3 is added as normal OIF(L3 OIF). PEs (PE2) sends 1404 MVPN join (S11, G11) towards PE1, since it has local receivers. 1406 At Ingress PE(PE1), CORE interface is added to (S11, G11) entry as an 1407 OIF (outgoing interface) with a flag indicating that bridge only 1408 interface. With this procedure, ingress PE(PE1) bridges the traffic 1409 on CORE interface. (PE1 retains the TTL and source-MAC). The 1410 traffic is encapsulated with VNI associated with CORE 1411 interface(L3VNI). PE1 also routes the traffic for R12 which is 1412 attached to BD2 on the same device. 1414 PE2 decapsulates the traffic from PE1 and does inner lookup on the 1415 tenant VRF associated with incoming VNI. Traffic lookup on the 1416 tenant VRF yields (S11, G11) entry as the matching entry. Traffic 1417 gets bridged on BD1 (PE2 retains the TTL and source-MAC) since the 1418 OIF is marked as bridge only interface. Traffic gets routed on BD2. 1420 12. Interop with L2 EVPN PEs 1422 A gateway device is needed to do interop between EVPN PEs that 1423 support seamless interop procedure specified in this document and 1424 L2EVPN-PEs. A tenant domain can be provisioned with one or more such 1425 gateway devices known as "Seamless interop EVPN Multicast Gateway 1426 (SEMG)". PE that is configured as SEMG must be provisioned with all 1427 BDs that are available in the tenant domain. 1429 When advertising IMET route for a BD, PE configured as SEMG 1430 advertises EVPN Multicast Flags Extended Community with SEMG flag 1431 set. Given set of eligible PEs, one PE is selected as the SEMG 1432 designated forwarder (SEMG-DF). PE should use procedure specified in 1433 [I-D.ietf-bess-evpn-df-election-framework] for the SEMG DF election. 1435 L2EVPN PE may or may not have support for 1436 [I-D.ietf-bess-evpn-igmp-mld-proxy]. Procedure specified in the 1437 section supports both such PEs. 1439 [I-D.ietf-bess-evpn-igmp-mld-proxy] support is recommended for 1440 seamless interop capable PE. The following section describes interop 1441 procedure assuming that seamless interop capable PE supports 1442 [I-D.ietf-bess-evpn-igmp-mld-proxy]. 1444 SEMG-DF has the following special responsibilities on a BD for which 1445 it is the DF 1447 o Process IGMP control packets from remote L2 EVPN PEs that doesn't 1448 support [I-D.ietf-bess-evpn-igmp-mld-proxy]. 1450 o Process EVPN SMET routes from remote L2 EVPN PE that support 1451 [I-D.ietf-bess-evpn-igmp-mld-proxy] and creates L2 multicast 1452 state. (Remote IGMP join and SMET route in-turn triggers creation 1453 of L3 multicast state similar to IGMP join received on local AC) 1455 o Originate SMET(*,*) route towards L2EVPN PEs. This is to attract 1456 traffic from L2EPN PEs that support 1458 [I-D.ietf-bess-evpn-igmp-mld-proxy]. ( L2EVPN PEs that doesn't 1459 support [I-D.ietf-bess-evpn-igmp-mld-proxy] will drop this route ) 1461 o Forward the incoming traffic (S,G) from MVPN side (including non 1462 DF SEMG) to 1464 * Locally attached receivers on all BDs 1466 * Send the traffic via L2 BUM tunnels, if it has L2 forwarding 1467 state due to 1469 + incoming SMET route from remote L2EVPN PEs or 1471 + due to incoming IGMP control packets 1473 (SEMG-DF could send the traffic on multiple BDs, if the PE ends 1474 up being DF for more than one customer BDs and if remote 1475 receivers exist on those BD) 1477 o When it receives traffic from L2 EVPN PE on the intra-subnet 1478 tunnel on BD-X 1480 * Performs FHR functionality 1482 * Should advertise host route with L3 label and VRF Route-Import 1483 corresponds to PE's tenant domain 1485 * Send the traffic towards local attached receivers 1487 * Send the traffic towards MVPN tunnel for the remote L3 1488 receivers 1490 * Send the traffic towards L2EVPN receiver on BDs other than 1491 incoming BD 1493 All seamless interop capable PEs other than SEMG should discard SMET 1494 routes that is coming from L2EVPN PEs and must discard all IGMP 1495 control packets, if any received on the intra-subnet tunnel. SEMG 1496 should discard incoming SMET routes and IGMP joins from L2EVPN PEs, 1497 if it is not the DF for the incoming BD. 1499 If [I-D.ietf-bess-evpn-igmp-mld-proxy] support is not available SEMG- 1500 DF, It should get all multicast traffic from L2EVPN PEs. This may be 1501 achieved by sending IGMP query or PIM hello on the intra-subnet 1502 tunnel. The exact of procedure is outside the scope of this 1503 document. 1505 When [I-D.ietf-bess-evpn-igmp-mld-proxy] is supported both at 1506 seamless interop capable PE and L2EVPN PE, selective forwarding is 1507 done based on receiver interest at the egress-PE, when overlay tunnel 1508 type is Ingress-replication or selective tunnel. 1510 13. Connecting external Multicast networks or PIM routers. 1512 External multicast networks or PIM routers can be attached to any 1513 seamless interop capable EVPN-PEs or set of EVPN-PEs. Multicast 1514 network or PIM router can also be attached to any IRB enabled BDI 1515 interface or L3 enabled interface or set of interfaces. The fabric 1516 can be used as a Transit network. All PIM signaling is terminated at 1517 EVPN-PEs. 1519 No additional procedures are required while connecting external 1520 multicast networks. 1522 14. RP handling 1524 This section describes various RP models for a tenant VRF. The RP 1525 model SHOULD be consistent across all EVPN-PEs for given group/group 1526 range in the tenant VRF. 1528 14.1. Various RP deployment options 1530 14.1.1. RP-less mode 1532 EVPN fabric without having any external multicast network/attached 1533 MVPN network, doesn't need RP configuration. A configuration option 1534 SHALL be provided to the end user to operate the fabric in RP less 1535 mode. When an EVPN-PE is operating in RP-less mode, EVPN-PE MUST 1536 advertise all attached sources to remote EVPN PEs using procedure 1537 specified in [RFC6514]. 1539 In RP less mode, (C-*,C-G) RPF may be set to NULL or may be set to 1540 wild card interface( Any interface on the tenant VRF). In RP-less 1541 mode, traffic is always forwarded based on (C-S,C-G) state. 1543 14.1.2. Fabric anycast RP 1545 In this model, anycast GW IP address is configured as RP in all EVPN- 1546 PE. When an EVPN-PE is operating in Fabric anycast-RP mode, an EVPN- 1547 PE MUST advertise all sources behind that PE to other EVPN PEs using 1548 procedure specified in [RFC6514]. In this model, Sources may be 1549 directly attached to tenant BDs or sources may be attached behind a 1550 PIM router (In that case EVPN-PE learns source information due to PIM 1551 register terminating at RP interface at the tenant VRF side) 1552 In RP-less mode and Fabric anycast RP mode, EVPN-PE operates SPT-only 1553 mode as per section 14 of [RFC6514]. 1555 14.1.3. Static RP 1557 The procedure specified in this document supports configuring EVPN 1558 fabric with static RP. RP can be configured in the EVPN-PE itself in 1559 the tenant VRF or in the external multicast networks connected behind 1560 an EVPN PE or in the MVPN network. When RPF is not local to EVPN-PE, 1561 EVPN-PE operates in rpt-spt mode as PER procedures specified in 1562 section 13 of [RFC6514]. 1564 14.1.4. Co-existence of Fabric anycast RP and external RP 1566 External multicast network using its own RP may be connected to EVPN 1567 fabric operating with Fabric anycast RP mode. In this case, subset 1568 of EVPN-PEs may be designated as border leafs. Anycast RP may be 1569 configured between border leafs and external RP. Border leafs 1570 originates SA-AD routes for external sources towards fabric PEs. 1571 Border leaf acts as FHR for the sources inside the fabric. 1572 Configuration option may be provided to define the PE role as BL. 1574 14.2. RP configuration options 1576 PIM Bidir and PIM-SM ASM mode require Rendezvous point (RP) 1577 configuration, which acts as a shared root for a multicast shared 1578 tree. RP can be configured using static configuration or by using 1579 BSR or Auto-RP procedures on the tenant VRF. This document only 1580 discusses static RP configuration. The use of BSR or Auto-RP 1581 procedure in the EVPN fabric is beyond the scope of this document. 1583 15. IANA Considerations 1585 IANA is requested to assign new flags in the "Multicast Flags 1586 Extended Community Flags" registry for the following. 1588 o Seamless interop capable PE 1590 o SEMG 1592 16. Security Considerations 1594 All the security considerations in [RFC7432] apply directly to this 1595 document because this document leverages [RFC7432] control plane and 1596 their associated procedures. 1598 17. Acknowledgements 1600 The authors would like to thank Niloofar Fazlollahi, Aamod 1601 Vyavaharkar, Raunak Banthia, and Swadesh Agrawal for their 1602 discussions and contributions. 1604 18. References 1606 18.1. Normative References 1608 [I-D.ietf-bess-dci-evpn-overlay] 1609 Rabadan, J., Sathappan, S., Henderickx, W., Sajassi, A., 1610 and J. Drake, "Interconnect Solution for EVPN Overlay 1611 networks", draft-ietf-bess-dci-evpn-overlay-10 (work in 1612 progress), March 2018. 1614 [I-D.ietf-bess-evpn-df-election-framework] 1615 Rabadan, J., satyamoh@cisco.com, s., Sajassi, A., Drake, 1616 J., Nagaraj, K., and S. Sathappan, "Framework for EVPN 1617 Designated Forwarder Election Extensibility", draft-ietf- 1618 bess-evpn-df-election-framework-09 (work in progress), 1619 January 2019. 1621 [I-D.ietf-bess-evpn-igmp-mld-proxy] 1622 Sajassi, A., Thoria, S., Patel, K., Drake, J., and W. Lin, 1623 "IGMP and MLD Proxy for EVPN", draft-ietf-bess-evpn-igmp- 1624 mld-proxy-05 (work in progress), April 2020. 1626 [I-D.ietf-bess-evpn-inter-subnet-forwarding] 1627 Sajassi, A., Salam, S., Thoria, S., Drake, J., and J. 1628 Rabadan, "Integrated Routing and Bridging in EVPN", draft- 1629 ietf-bess-evpn-inter-subnet-forwarding-09 (work in 1630 progress), June 2020. 1632 [I-D.ietf-idr-tunnel-encaps] 1633 Patel, K., Velde, G., and S. Ramachandra, "The BGP Tunnel 1634 Encapsulation Attribute", draft-ietf-idr-tunnel-encaps-15 1635 (work in progress), December 2019. 1637 [I-D.skr-bess-evpn-pim-proxy] 1638 Rabadan, J., Kotalwar, J., Sathappan, S., Zhang, Z., and 1639 A. Sajassi, "PIM Proxy in EVPN Networks", draft-skr-bess- 1640 evpn-pim-proxy-01 (work in progress), October 2017. 1642 [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ 1643 BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February 1644 2012, . 1646 [RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP 1647 Encodings and Procedures for Multicast in MPLS/BGP IP 1648 VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012, 1649 . 1651 [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., 1652 Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based 1653 Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February 1654 2015, . 1656 [RFC8365] Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R., 1657 Uttaro, J., and W. Henderickx, "A Network Virtualization 1658 Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365, 1659 DOI 10.17487/RFC8365, March 2018, 1660 . 1662 18.2. Informative References 1664 [RFC4389] Thaler, D., Talwar, M., and C. Patel, "Neighbor Discovery 1665 Proxies (ND Proxy)", RFC 4389, DOI 10.17487/RFC4389, April 1666 2006, . 1668 [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private 1669 LAN Service (VPLS) Using BGP for Auto-Discovery and 1670 Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007, 1671 . 1673 [RFC7080] Sajassi, A., Salam, S., Bitar, N., and F. Balus, "Virtual 1674 Private LAN Service (VPLS) Interoperability with Provider 1675 Backbone Bridges", RFC 7080, DOI 10.17487/RFC7080, 1676 December 2013, . 1678 [RFC7209] Sajassi, A., Aggarwal, R., Uttaro, J., Bitar, N., 1679 Henderickx, W., and A. Isaac, "Requirements for Ethernet 1680 VPN (EVPN)", RFC 7209, DOI 10.17487/RFC7209, May 2014, 1681 . 1683 Appendix A. Use Cases 1685 A.1. DCs with only IGMP/MLD hosts w/o tenant router 1687 In a EVPN network consisting of only IGMP/MLD hosts, PE's will 1688 receive IGMP (*, G) or (S, G) joins from their locally attached host 1689 and would originate MVPN C-Multicast Route Type 6 and 7 NLRI's 1690 respectively. As described in [RFC6514] these NLRI's are directed 1691 towards RP-PE for Type 6 or Source-PE for Type 7. In case of (*, G) 1692 join a Shared-Path Tree will be built in the core from RP-PE towards 1693 all Receiver-PE's. Once a Source starts to send Multicast data to 1694 specified multicast-group, the PE directly connected to Source will 1695 do PIM-registration with RP. Since there are existing receivers for 1696 the Group, RP will originate a PIM (S, G) join towards Source. This 1697 will be converted to MVPN Type 7 NLRI by RP-PE. Please note that the 1698 router RP-PE would be the PE configured as RP (e.g., using static 1699 configuration or by using BSR or Auto- RP procedures). The detailed 1700 working of such protocols is beyond the scope of this document. Upon 1701 receiving Type 7 NLRI, Source-PE will include MVPN Tunnel in its 1702 Outgoing Interface List. Furthermore, Source-PE will follow the 1703 procedures in [RFC6514] to originate MVPN SA-AD route (RT 5) to avoid 1704 duplicate traffic and allow all Receiver-PE's to shift from Share- 1705 Tree to Shortest-Path-Tree rooted at Source-PE. Section 13 of 1706 [RFC6514] describes it. 1708 However a network operator can chose to have only Shortest-Path-Tree 1709 built in MVPN core as described in section 14 of [RFC6514]. One way 1710 to achieve this, is for all PE's act as RP for its locally connected 1711 hosts and thus avoid sending any Shared-Tree Join (MVPN Type 6) into 1712 the core. In this scenario, there will be no PIM registration needed 1713 since all PE's are first-hop router as well as acting RP. Once a 1714 source starts to send multicast data, the PE directly connected to it 1715 originates Source- Active AD (RT 5) to all other PE's in network. 1716 Upon Receiving Source-Active AD route a PE must cache it in its local 1717 database and also look for any matching interest for (*, G) where G 1718 is the multicast group described in received Source-Active AD route. 1719 If it finds any such matching entry, it must originate a C-Multicast 1720 route (RT 7) in order to start receiving traffic from Source-PE. 1721 This procedure must be repeated on reception of any further Source- 1722 Active AD routes. 1724 A.2. DCs with mixed of IGMP/MLD hosts & multicast routers running PIM- 1725 SSM 1727 This scenario has multicast routers which can send PIM SSM (S, G) 1728 joins. Upon receiving these joins and if source described in join is 1729 learnt to be behind a MVPN peer PE, local PE will originate 1730 C-Multicast Join (RT 7) towards Source-PE. It is expected that PIM 1731 SSM group ranges are kept separate from ASM range for which IGMP 1732 hosts can send (*, G) joins. Hence both ASM and SSM groups shall 1733 operate without any overlap. There is no RP needed for SSM range 1734 groups and Shortest Path tree rooted at Source is built once a 1735 receiver interest is known. 1737 A.3. DCs with mixed of IGMP/MLD hosts & multicast routers running PIM- 1738 ASM 1740 This scenario includes reception of PIM (*, G) joins on PE's local 1741 AC. These joins are handled similar to IGMP (*, G) join as explained 1742 in sections above. Another interesting case can arise here is when 1743 one of the tenant routers can act as RP for some of the ASM Groups. 1744 In such scenario, a Upstream Multicast Hop (UMH) will be elected by 1745 other PE's in order to send C-Multicast Routes (RT 6). All 1746 procedures described in [RFC6513] with respect to UMH should be used 1747 to avoid traffic duplication due to incoherent selection of RP-PE by 1748 different Receiver-PE's. 1750 A.4. DCs with mixed of IGMP/MLD hosts & multicast routers running PIM- 1751 Bidir 1753 Creating Bidirectional (*, G) trees is useful when a customer wants 1754 least amount of control state in network. But on downside all 1755 receivers for a particular multicast group receive traffic from all 1756 sources sending to that group. However for the purpose of this 1757 document, all procedures as described in [RFC6513] and [RFC6514] 1758 apply when PIM-Bidir is used. 1760 Authors' Addresses 1762 Ali Sajassi 1763 Cisco 1764 170 West Tasman Drive 1765 San Jose, CA 95134, US 1767 Email: sajassi@cisco.com 1769 Kesavan Thiruvenkatasamy 1770 Cisco 1771 170 West Tasman Drive 1772 San Jose, CA 95134, US 1774 Email: kethiruv@cisco.com 1776 Samir Thoria 1777 Cisco 1778 170 West Tasman Drive 1779 San Jose, CA 95134, US 1781 Email: sthoria@cisco.com 1782 Ashutosh Gupta 1783 VMware 1784 3401 Hillview Ave, Palo Alto, CA 94304 1786 Email: ashutoshgupta@vmware.com 1788 Luay Jalil 1789 Verizon 1791 Email: luay.jalil@verizon.com