idnits 2.17.1 draft-ietf-bess-evpn-igmp-mld-proxy-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 : ---------------------------------------------------------------------------- ** There are 3 instances of lines with control characters in the document. ** The abstract seems to contain references ([RFC7432]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack 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? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: This section describes the procedures used to construct the IGMP Join Synch route. Support for this route type is optional. If a PE does not support this route, then it MUST not indicate that it supports 'IGMP proxy' in Multicast Flag extended community for the EVIs corresponding to its multi-homed Ethernet Segments. An IGMP Join Synch route is advertised with an ES-Import Route Target extended community whose value is set to the ESI for the ES on which the IGMP Join was received. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: This section describes the procedures used to construct the IGMP Join Synch route. Support for this route type is optional. If a PE does not support this route, then it MUST not indicate that it supports 'IGMP proxy' in Multicast Flag extended community for the EVIs corresponding to its multi-homed Ethernet Segments. An IGMP Join Synch route is advertised with an ES-Import Route Target extended community whose value is set to the ESI for the ES on which the IGMP Join was received. -- The document date (March 4, 2018) is 2244 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: 'RFC 7432' is mentioned on line 106, but not defined == Missing Reference: 'RFC2119' is mentioned on line 165, but not defined == Missing Reference: 'RFC8174' is mentioned on line 165, but not defined == Missing Reference: 'ES' is mentioned on line 598, but not defined == Missing Reference: 'BD' is mentioned on line 598, but not defined == Missing Reference: 'RFC2236' is mentioned on line 550, but not defined == Missing Reference: 'RFC4364' is mentioned on line 923, but not defined == Missing Reference: 'RFC7153' is mentioned on line 1036, but not defined == Unused Reference: 'KEYWORDS' is defined on line 1051, but no explicit reference was found in the text == Unused Reference: 'RFC4360' is defined on line 1054, but no explicit reference was found in the text == Unused Reference: 'ETREE-FMWK' is defined on line 1062, but no explicit reference was found in the text == Unused Reference: 'PBB-EVPN' is defined on line 1066, but no explicit reference was found in the text == Outdated reference: A later version (-10) exists of draft-ietf-l2vpn-etree-frwk-03 == Outdated reference: A later version (-10) exists of draft-ietf-l2vpn-pbb-evpn-05 Summary: 2 errors (**), 0 flaws (~~), 18 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BESS Working Group Ali Sajassi 3 Internet-Draft Samir Thoria 4 Intended Status: Standards Track Cisco 5 Keyur Patel 6 Derek Yeung 7 Arrcus 8 John Drake 9 Wen Lin 10 Juniper 12 Expires: September 4, 2018 March 4, 2018 14 IGMP and MLD Proxy for EVPN 15 draft-ietf-bess-evpn-igmp-mld-proxy-01 17 Abstract 19 Ethernet Virtual Private Network (EVPN) solution [RFC 7432] is 20 becoming pervasive in data center (DC) applications for Network 21 Virtualization Overlay (NVO) and DC interconnect (DCI) services, and 22 in service provider (SP) applications for next generation virtual 23 private LAN services. 25 This draft describes how to support efficiently endpoints running 26 IGMP for the above services over an EVPN network by incorporating 27 IGMP proxy procedures on EVPN PEs. 29 Status of this Memo 31 This Internet-Draft is submitted to IETF in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF), its areas, and its working groups. Note that 36 other groups may also distribute working documents as 37 Internet-Drafts. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 The list of current Internet-Drafts can be accessed at 45 http://www.ietf.org/1id-abstracts.html 46 The list of Internet-Draft Shadow Directories can be accessed at 47 http://www.ietf.org/shadow.html 49 Copyright and License Notice 51 Copyright (c) 2018 IETF Trust and the persons identified as the 52 document authors. All rights reserved. 54 This document is subject to BCP 78 and the IETF Trust's Legal 55 Provisions Relating to IETF Documents 56 (http://trustee.ietf.org/license-info) in effect on the date of 57 publication of this document. Please review these documents 58 carefully, as they describe your rights and restrictions with respect 59 to this document. Code Components extracted from this document must 60 include Simplified BSD License text as described in Section 4.e of 61 the Trust Legal Provisions and are provided without warranty as 62 described in the Simplified BSD License. 64 Table of Contents 66 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 67 1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 5 68 2 IGMP Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . 6 69 2.1 Proxy Reporting . . . . . . . . . . . . . . . . . . . . . . 6 70 2.1.1 IGMP Membership Report Advertisement in BGP . . . . . . 6 71 2.1.1 IGMP Leave Group Advertisement in BGP . . . . . . . . . 8 72 2.2 Proxy Querier . . . . . . . . . . . . . . . . . . . . . . . 9 73 3 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 74 3.1 PE with only attached hosts/VMs for a given subnet . . . . . 10 75 3.2 PE with mixed of attached hosts/VMs and multicast source . . 11 76 3.3 PE with mixed of attached hosts/VMs, multicast source and 77 router . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 78 4 All-Active Multi-Homing . . . . . . . . . . . . . . . . . . . . 11 79 4.1 Local IGMP Join Synchronization . . . . . . . . . . . . . . 12 80 4.2 Local IGMP Leave Group Synchronization . . . . . . . . . . . 13 81 4.2.1 Remote Leave Group Synchronization . . . . . . . . . . . 13 82 4.2.2 Common Leave Group Synchronization . . . . . . . . . . . 14 83 5 Single-Active Multi-Homing . . . . . . . . . . . . . . . . . . . 14 84 6 Selective Multicast Procedures for IR tunnels . . . . . . . . . 14 85 7 BGP Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . 15 86 7.1 Selective Multicast Ethernet Tag Route . . . . . . . . . . . 15 87 7.1.1 Constructing the Selective Multicast Ethernet Tag 88 route . . . . . . . . . . . . . . . . . . . . . . . . . 17 89 7.2 IGMP Join Synch Route . . . . . . . . . . . . . . . . . . . 18 90 7.2.1 Constructing the IGMP Join Synch Route . . . . . . . . 19 92 7.3 IGMP Leave Synch Route . . . . . . . . . . . . . . . . . . . 20 93 7.3.1 Constructing the IGMP Leave Synch Route . . . . . . . . 22 94 7.4 Multicast Flags Extended Community . . . . . . . . . . . . . 23 95 7.5 EVI-RT Extended Community . . . . . . . . . . . . . . . . . 24 96 8 Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . 24 97 9 Security Considerations . . . . . . . . . . . . . . . . . . . . 24 98 10 IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 99 11 References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 100 11.1 Normative References . . . . . . . . . . . . . . . . . . . 25 101 11.2 Informative References . . . . . . . . . . . . . . . . . . 25 102 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25 104 1 Introduction 106 Ethernet Virtual Private Network (EVPN) solution [RFC 7432] is 107 becoming pervasive in data center (DC) applications for Network 108 Virtualization Overlay (NVO) and DC interconnect (DCI) services, and 109 in service provider (SP) applications for next generation virtual 110 private LAN services. 112 In DC applications, a POD can consist of a collection of servers 113 supported by several TOR and Spine switches. This collection of 114 servers and switches are self contained and may have their own 115 control protocol for intra-POD communication and orchestration. 116 However, EVPN is used as way of standard inter-POD communication for 117 both intra-DC and inter-DC. A subnet can span across multiple PODs 118 and DCs. EVPN provides robust multi-tenant solution with extensive 119 multi-homing capabilities to stretch a subnet (e.g., VLAN) across 120 multiple PODs and DCs. There can be many hosts/VMs (e.g., several 121 hundreds) attached to a subnet that is stretched across several PODs 122 and DCs. 124 These hosts/VMs express their interests in multicast groups on a 125 given subnet/VLAN by sending IGMP membership reports (Joins) for 126 their interested multicast group(s). Furthermore, an IGMP router 127 (e.g., IGMPv1) periodically sends membership queries to find out if 128 there are hosts on that subnet still interested in receiving 129 multicast traffic for that group. The IGMP/MLD Proxy solution 130 described in this draft has three objectives to accomplish: 132 1) Reduce flooding of IGMP messages: just like ARP/ND suppression 133 mechanism in EVPN to reduce the flooding of ARP messages over EVPN, 134 it is also desired to have a mechanism to reduce the flood of IGMP 135 messages (both Queries and Reports) in EVPN. 137 2) Distributed anycast multicast proxy: it is desired for the EVPN 138 network to act as a distributed anycast multicast router with respect 139 to IGMP/MLD proxy function for all the hosts attached to that 140 subnet. 142 3) Selective Multicast: to forward multicast traffic over EVPN 143 network such that it only gets forwarded to the PEs that have 144 interest in the multicast group(s) - i.e., multicast traffic will not 145 be forwarded to the PEs that have no receivers attached to them for 146 that multicast group. This draft shows how this objective may be 147 achieved when Ingress Replication is used to distribute the multicast 148 traffic among the PEs. Procedures for supporting selective multicast 149 using P2MP tunnels can be found in [bum-procedure-updates] 151 The first two objectives are achieved by using IGMP/MLD proxy on the 152 PE and the third objective is achieved by setting up a multicast 153 tunnel (e.g., ingress replication) only among the PEs that have 154 interest in that multicast group(s) based on the trigger from 155 IGMP/MLD proxy processes. The proposed solutions for each of these 156 objectives are discussed in the following sections. 158 1.1 Terminology 160 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL 161 NOT","SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", 162 and "OPTIONAL" in this document are to be interpreted as described in 163 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all 164 capitals, as shown here. 166 POD: Point of Delivery 168 ToR: Top of Rack 170 NV: Network Virtualization 172 NVO: Network Virtualization Overlay 174 VNI: Virtual Network Identifier (for VXLAN) 176 EVPN: Ethernet Virtual Private Network 178 IGMP: Internet Group Management Protocol 180 MLD: Multicast Listener Discovery 182 EVI: An EVPN instance spanning the Provider Edge (PE) devices 183 participating in that EVPN 185 MAC-VRF: A Virtual Routing and Forwarding table for Media Access 186 Control (MAC) addresses on a PE 188 Ethernet Segment (ES): When a customer site (device or network) is 189 connected to one or more PEs via a set of Ethernet links, then that 190 set of links is referred to as an 'Ethernet segment'. 192 Ethernet Segment Identifier (ESI): A unique non-zero identifier that 193 identifies an Ethernet segment is called an 'Ethernet Segment 194 Identifier'. 196 PE: Provider Edge device. 198 BD: Broadcast Domain. As per [RFC7432], an EVI consists of a single 199 or multiple BDs. In case of VLAN-bundle and VLAN-based service models 200 VLAN-aware bundle service model, an EVI contains multiple BDs. Also, 201 in this document, BD and subnet are equivalent terms. 203 Ethernet Tag: An Ethernet tag identifies a particular broadcast 204 domain, e.g., a VLAN. An EVPN instance consists of one or more 205 broadcast domains. 207 Single-Active Redundancy Mode: When only a single PE, among all the 208 PEs attached to an Ethernet segment, is allowed to forward traffic 209 to/from that Ethernet segment for a given VLAN, then the Ethernet 210 segment is defined to be operating in Single-Active redundancy mode. 212 All-Active Redundancy Mode: When all PEs attached to an Ethernet 213 segment are allowed to forward known unicast traffic to/from that 214 Ethernet segment for a given VLAN, then the Ethernet segment is 215 defined to be operating in All-Active redundancy mode. 217 2 IGMP Proxy 219 IGMP Proxy mechanism is used to reduce the flooding of IGMP messages 220 over EVPN network similar to ARP proxy used in reducing the flooding 221 of ARP messages over EVPN. It also provides triggering mechanism for 222 the PEs to setup their underlay multicast tunnels. IGMP Proxy 223 mechanism consist of two components: a) Proxy for IGMP Reports and b) 224 Proxy for IGMP Queries. 226 2.1 Proxy Reporting 228 When IGMP protocol is used between host/VMs and its first hop EVPN 229 router (EVPN PE), Proxy-reporting is used by the EVPN PE to summarize 230 (when possible) reports received from downstream hosts and propagate 231 it in BGP to other PEs that are interested in the info. This is done 232 by terminating IGMP Reports in the first hop PE, translating and 233 exchanging the relevant information among EVPN BGP speakers. The 234 information is again translated back to IGMP message at the recipient 235 EVPN speaker. Thus it helps create an IGMP overlay subnet using BGP. 236 In order to facilitate such an overlay, this document also defines a 237 new EVPN route type NLRI, EVPN Selective Multicast Ethernet Tag 238 route, along with its procedures to help exchange and register IGMP 239 multicast groups [section 5]. 241 2.1.1 IGMP Membership Report Advertisement in BGP 243 When a PE wants to advertise an IGMP membership report (Join) using 244 the BGP EVPN route, it follows the following rules: 246 1) When the first hop PE receives several IGMP membership reports 247 (Joins) , belonging to the same IGMP version, from different attached 248 hosts/VMs for the same (*,G) or (S,G), it only sends a single BGP 249 message corresponding to the very first IGMP Join. This is because 250 BGP is a statefull protocol and no further transmission of the same 251 report is needed. If the IGMP Join is for (*,G), then multicast group 252 address along with the corresponding version flag (v1, v2, or v3) are 253 set. In case of IGMPv3, exclude flag also needs to be set to indicate 254 that no source IP address to be excluded (e.g., include all sources 255 "*"). If the IGMP Join is for (S,G), then besides setting multicast 256 group address along with the version flag v3, the source IP address 257 and the include/exclude flag must be set. It should be noted that 258 when advertising the EVPN route for (S,G), the only valid version 259 flag is v3 (i.e., v1 and v2 flags must be set to zero). 261 2) When the first hop PE receives an IGMPv3 Join for (S,G) on a given 262 BD, it advertises the corresponding EVPN Selective Multicast Ethernet 263 Tag (SMET) route regardless of whether the source (S) is attached to 264 itself or not in order to facilitate the source move in the future. 266 3) When the first hop PE receives an IGMP version-X Join first for 267 (*,G) and then later it receives an IGMP version-Y Join for the same 268 (*,G), then it will re-advertise the same EVPN SMET route with flag 269 for version-Y set in addition to any previously-set version flag(s). 270 In other words, the first hop PE does not withdraw the EVPN route 271 before sending the new route because the flag field is not part of 272 BGP route key processing. 274 4) When the first hop PE receives an IGMP version-X Join first for 275 (*,G) and then later it receives an IGMPv3 Join for the same 276 multicast group address but for a specific source address S, then the 277 PE will advertise a new EVPN SMET route with v3 flag set (and v1 and 278 v2 reset). Include/exclude flag also need to be set accordingly. 279 Since source IP address is used as part of BGP route key processing, 280 it is considered as a new BGP route advertisement. 282 5) When a PE receives an EVPN SMET route with more than one version 283 flag set, it will generate the corresponding IGMP report for (*,G) 284 for each version specified in the flag field. With multiple version 285 flags set, there should be no source IP address in the receive EVPN 286 route. If there is, then an error should be logged. If v3 flag is set 287 (in addition to v1 or v2), then the include/exclude flag needs to 288 indicate "exclude". If not, then an error should be logged. The PE 289 MUST generate an IGMP membership report (Join) for that (*,G) and 290 each IGMP version in the version flag. 292 6) When a PE receives a list of EVPN SMET NLRIs in its BGP update 293 message, each with a different source IP address and the multicast 294 group address, and the version flag is set to v3, then the PE 295 generates an IGMPv3 membership report with a record corresponding to 296 the list of source IP addresses and the group address along with the 297 proper indication of inclusion/exclusion. 299 7) Upon receiving EVPN SMET route(s) and before generating the 300 corresponding IGMP Join(s), the PE checks to see whether it has any 301 CE multicast router for that BD on any of its ES's . The PE provides 302 such check by listening for PIM hellos on that AC (i.e, ). If 303 it has router's ACs, then the generated IGMP Join(s) are sent to 304 those ACs. If it doesn't have any router's AC, then no IGMP Join(s) 305 needs to be generated because sending IGMP Joins to other hosts can 306 result in unintentionally preventing a host from joining a specific 307 multicast group for IGMPv1 and IGMPv2 - i.e., if the PE does not 308 receive a join from the host it will not forward multicast data to 309 it. Per [RFC4541], when an IGMPv1 or IGMPv2 host receives a 310 membership report for a group address that it intends to join, the 311 host will suppress its own membership report for the same group. In 312 other words, an IGMPv1 or IGMPv2 Join MUST NOT be sent on an AC that 313 does not lead to a CE multicast router. This message suppression is a 314 requirement for IGMPv1 and IGMPv2 hosts. This is not a problem for 315 hosts running IGMPv3 because there is no suppression of IGMP 316 Membership reports. 318 2.1.1 IGMP Leave Group Advertisement in BGP 320 When a PE wants to withdraw an EVPN SMET route corresponding to an 321 IGMPv2 Leave Group (Leave) or IGMPv3 "Leave" equivalent message, it 322 follows the following rules: 324 1) For IGMPv1, there is no explicit membership leave; therefore, the 325 PE needs to periodically send out an IGMP membership query to 326 determine whether there is any host left who is interested in 327 receiving traffic directed to this multicast group (this proxy query 328 function will be described in more details in section 2.2). If there 329 is no host left, then the PE re-advertises EVPN SMET route with the 330 v1 version flag reset. If this is the last version flag to be reset, 331 then instead of re-advertising the EVPN route with all version flags 332 reset, the PE withdraws the EVPN route for that (*,G). 334 2) When a PE receives an IGMPv2 Leave Group or its "Leave" equivalent 335 message for IGMPv3 from its attached host, it checks to see if this 336 host is the last host who is interested in this multicast group by 337 sending a query for the multicast group. If the host was indeed the 338 last one, then the PE re-advertises EVPN SMET Multicast route with 339 the corresponding version flag reset. If this is the last version 340 flag to be reset, then instead of re-advertising the EVPN route with 341 all version flags reset, the PE withdraws the EVPN route for that 342 (*,G). 344 3) When a PE receives an EVPN SMET route for a given (*,G), it 345 compares the received version flags from the route with its per-PE 346 stored version flags. If the PE finds that a version flag associated 347 with the (*,G) for the remote PE is reset, then the PE generates IGMP 348 Leave for that (*,G) toward its local interface (if any) attached to 349 the multicast router for that multicast group. It should be noted 350 that the received EVPN route should at least have one version flag 351 set. If all version flags are reset, it is an error because the PE 352 should have received an EVPN route withdraw for the last version 353 flag. If the PE receives an EVPN SMET route withdraw, then it must 354 remove the remote PE from the OIF list associated with that multicast 355 group. 357 4) When a PE receives an EVPN SMET route withdraw, it removes the 358 remote PE from its OIF list for that multicast group and if there are 359 no more OIF entries for that multicast group (either locally or 360 remotely), then the PE MUST stop responding to queries from the 361 locally attached router (if any). If there is a source for that 362 multicast group, the PE stops sending multicast traffic for that 363 source. 365 2.2 Proxy Querier 367 As mentioned in the previous sections, each PE need to have proxy 368 querier functionality for the following reasons: 370 1) To enable the collection of EVPN PEs providing L2VPN service to 371 act as distributed multicast router with Anycast IP address for all 372 attached hosts/VMs in that subnet. 374 2) To enable suppression of IGMP membership reports and queries over 375 MPLS/IP core. 377 3) To enable generation of query messages locally to their attached 378 host. In case of IGMPv1, the PE needs to send out an IGMP membership 379 query to verify that at least one host on the subnet is still 380 interested in receiving traffic directed to that group. When there is 381 no reply to three consecutive IGMP membership queries, the PE times 382 out the group, stops forwarding multicast traffic to the attached 383 hosts for that (*,G), and sends a EVPN SMET route associated with 384 that (*,G) with the version-1 flag reset or withdraws that route. 386 3 Operation 388 Consider the EVPN network of figure-1, where there is an EVPN 389 instance configured across the PEs shown in this figure (namely PE1, 390 PE2, and PE3). Lets consider that this EVPN instance consist of a 391 single bridge domain (single subnet) with all the hosts, sources and 392 the multicast router shown in this figure connected to this subnet. 393 PE1 only has hosts connected to it. PE2 has a mix of hosts and 394 multicast source. PE3 has a mix of hosts, multicast source, and 395 multicast router. Further more, lets consider that for (S1,G1), R1 is 396 used as the multicast router. The following subsections describe the 397 IGMP proxy operation in different PEs with regard to whether the 398 locally attached devices for that subnet are: 400 - only hosts/VMs 401 - mix of hosts/VMs and multicast source 402 - mix of hosts/VMs, multicast source, and multicast router 404 +--------------+ 405 | | 406 | | 407 +----+ | | +----+ 408 H1:(*,G1)v1 ---| | | | | |---- H6(*,G1)v2 409 H2:(*,G1)v1 ---| PE1| | IP/MPLS | | PE2|---- H7(S2,G2)v3 410 H3:(*,G1)v2 ---| | | Network | | |---- S2 411 H4:(S2,G2)v3 --| | | | | | 412 +----+ | | +----+ 413 | | 414 +----+ | | 415 H5:(S1,G1)v3 --| | | | 416 S1 ---| PE3| | | 417 R1 ---| | | | 418 +----+ | | 419 | | 420 +--------------+ 422 Figure 1: 424 3.1 PE with only attached hosts/VMs for a given subnet 426 When PE1 receives an IGMPv1 Join Report from H1, it does not forward 427 this join to any of its other ports (for this subnet) because all 428 these local ports are associated with the hosts/VMs. PE1 sends an 429 EVPN Multicast Group route corresponding to this join for (*,G1) and 430 setting v1 flag. This EVPN route is received by PE2 and PE3 that are 431 the member of the same BD (i.e., same EVI in case of VLAN-based 432 service or in case of VLAN-aware bundle service). PE3 433 reconstructs IGMPv1 Join Report from this EVPN BGP route and only 434 sends it to the port(s) with multicast routers attached to it (for 435 that subnet). In this example, PE3 sends the reconstructed IGMPv1 436 Join Report for (*,G1) to only R1. Furthermore, PE2 although receives 437 the EVPN BGP route, it does not send it to any of its port for that 438 subnet - namely ports associated with H6 and H7. 440 When PE1 receives the second IGMPv1 Join from H2 for the same 441 multicast group (*,G1), it only adds that port to its OIF list but it 442 doesn't send any EVPN BGP route because there is no change in 443 information. However, when it receives the IGMPv2 Join from H3 for 444 the same (*,G1), besides adding the corresponding port to its OIF 445 list, it re-advertises the previously sent EVPN SMET route with the 446 version-2 flag set. 448 Finally when PE1 receives the IMGMPv3 Join from H4 for (S2,G2), it 449 advertises a new EVPN SMET route corresponding to it. 451 3.2 PE with mixed of attached hosts/VMs and multicast source 453 The main difference in here is that when PE2 receives IGMPv3 Join 454 from H7 for (S2,G2), it does not advertises it in BGP because PE2 455 knows that S2 is attached to its local AC. PE2 adds the port 456 associated with H7 to its OIF list for (S2,G2). The processing for 457 IGMPv2 received from H6 is the same as the v2 Join described in 458 previous section. 460 3.3 PE with mixed of attached hosts/VMs, multicast source and router 462 The main difference in here relative to the previous two sections is 463 that Join messages received locally needs to be sent to the port 464 associated with router R1. Furthermore, the Joins received via BGP 465 need to be passed to the R1 port but filtered for all other ports. 467 4 All-Active Multi-Homing 469 Because a CE's LAG flow hashing algorithm is unknown, in an All- 470 Active redundancy mode it must be assumed that the CE can send a 471 given IGMP message to any one of the multi-homed PEs, either DF or 472 non-DF - i.e., different IGMP Join messages can arrive at different 473 PEs in the redundancy group and furthermore their corresponding Leave 474 messages can arrive at PEs that are different from the ones received 475 the Join messages. Therefore, all PEs attached to a given ES must 476 coordinate IGMP Join and Leave Group (x, G) state, where x may be 477 either '*' or a particular source S, for each BD on that ES. This 478 allows the DF for that [ES, BD] to correctly advertise or withdraw a 479 Selective Multicast Ethernet Tag (SMET) route for that (x, G) group 480 in that BD when needed. 482 All-Active multihoming PEs for a given ES MUST support IGMP synch 483 procedures described in this section if they want to perform IGMP 484 proxy for hosts connects to that ES. 486 4.1 Local IGMP Join Synchronization 488 When a PE, either DF or non-DF, receives, on a given multihomed ES 489 operating in All-Active redundancy mode, an IGMP Membership Report 490 for (x, G), it determines the BD to which the IGMP Membership Report 491 belongs. If the PE doesn't already have local IGMP Join (x, G) state 492 for that BD on that ES, it instantiates local IGMP Join (x, G) state 493 and advertises a BGP IGMP Join Synch route for that [ES, BD]. Local 494 IGMP Join (x, G) state refers to IGMP Join (x, G) state that is 495 created as the result of processing an IGMP Membership Report for (x, 496 G). 498 The IGMP Join Synch route carries the ES-Import RT for the ES on 499 which the IGMP Membership Report was received. Thus it may only go 500 to the PEs attached to that ES (and not any other PEs). 502 When a PE, either DF or non-DF, receives an IGMP Join Synch route it 503 installs that route and if it doesn't already have IGMP Join (x, G) 504 state for that [ES, BD], it instantiates that IGMP Join (x,G) state - 505 i.e., IGMP Join (x, G) state is the union of local IGMP Join (x, G) 506 state and installed IGMP Join Synch route. If the DF is not currently 507 advertising (originating) a SMET route for that (x, G) group in that 508 BD, it does so now. 510 When a PE, either DF or non-DF, deletes its local IGMP Join (x, G) 511 state for that [ES, BD], it withdraws its BGP IGMP Join Synch route 512 for that [ES, BD]. 514 When a PE, either DF or non-DF, receives the withdrawal of an IGMP 515 Join Synch route from another PE it removes that route. When a PE 516 has no local IGMP Join (x, G) state and it has no installed IGMP Join 517 Synch routes, it removes IGMP Join (x, G) state for that [ES, BD]. 518 If the DF no longer has IGMP Join (x, G) state for that BD on any ES 519 for which it is DF, it withdraws its SMET route for that (x, G) group 520 in that BD. 522 I.e., A PE advertises an SMET route for that (x, G) group in that BD 523 when it has IGMP Join (x, G) state in that BD on at least one ES for 524 which it is DF and it withdraws that SMET route when it does not have 525 IGMP Join (x, G) state in that BD on any ES for which it is DF. 527 4.2 Local IGMP Leave Group Synchronization 529 When a PE, either DF or non-DF, receives, on a given multihomed ES 530 operating in All-Active redundancy mode, an IGMP Leave Group message 531 for (x, G) from the attached CE, it determines the BD to which the 532 IGMPv2 Leave Group belongs. Regardless of whether it has IGMP Join 533 (x, G) state for that [ES, BD], it initiates the (x, G) leave group 534 synchronization procedure, which consists of the following steps: 536 1) It computes the Maximum Response Time, which is the duration of 537 (x, G) leave group synchronization procedure. This is the product of 538 two locally configured values, Last Member Query Count and Last 539 Member Query Interval (described in Section 3 of [RFC2236]), plus 540 delta, the time it takes for a BGP advertisement to propagate between 541 the PEs attached to the multihomed ES (delta is a consistently 542 configured value on all PEs attached to the multihomed ES). 544 2) It starts the Maximum Response Time timer. Note that the receipt 545 of subsequent IGMP Leave Group messages or BGP Leave Synch routes for 546 (x, G) do not change the value of a currently running Maximum 547 Response Time timer and are ignored by the PE. 549 3) It initiates the Last Member Query procedure described in Section 550 3 of [RFC2236]; viz, it sends a number of Group-Specific Query (x, G) 551 messages (Last Member Query Count) at a fixed interval (Last Member 552 Query Interval) to the attached CE. 554 4) It advertises an IGMP Leave Synch route for that that [ES, BD]. 555 This route notifies the other multihomed PEs attached to the given 556 multihomed ES that it has initiated an (x, G) leave group 557 synchronization procedure; i.e., it carries the ES-Import RT for the 558 ES on which the IGMP Leave Group was received. It also contains the 559 Maximum Response Time and the Leave Group Synchronization Procedure 560 Sequence number. The latter identifies the specific (x, G) leave 561 group synchronization procedure initiated by the advertising PE, 562 which increments the value whenever it initiates a procedure. 564 5) When the Maximum Response Timer expires, the PE that has 565 advertised the IGMP Leave Synch route withdraws it. 567 4.2.1 Remote Leave Group Synchronization 569 When a PE, either DF or non-DF, receives an IGMP Leave Synch route it 570 installs that route and it starts a timer for (x, G) on the specified 571 [ES, BD] whose value is set to the Maximum Response Time in the 572 received IGMP Leave Synch route. Note that the receipt of subsequent 573 IGMPv2 Leave Group messages or BGP Leave Synch routes for (x, G) do 574 not change the value of a currently running Maximum Response Time 575 timer and are ignored by the PE. 577 4.2.2 Common Leave Group Synchronization 579 If a PE attached to the multihomed ES receives an IGMP Membership 580 Report for (x, G) before the Maximum Response Time timer expires, it 581 advertises a BGP IGMP Join Synch route for that [ES, BD]. If it 582 doesn't already have local IGMP Join (x, G) state for that [ES, BD], 583 it instantiates local IGMP Join (x, G) state. If the DF is not 584 currently advertising (originating) a SMET route for that (x, G) 585 group in that BD, it does so now. 587 If a PE attached to the multihomed ES receives an IGMP Join Synch 588 route for (x, G) before the Maximum Response Time timer expires, it 589 installs that route and if it doesn't already have IGMP Join (x, G) 590 state for that BD on that ES, it instantiates that IGMP Join (x,G) 591 state. If the DF is not currently advertising (originating) a SMET 592 route for that (x, G) group in that BD, it does so now. 594 When the Maximum Response Timer expires a PE that has advertised an 595 IGMP Leave Synch route, withdraws it. Any PE attached to the 596 multihomed ES, that started the Maximum Response Time and has no 597 local IGMP Join (x, G) state and no installed IGMP Join Synch routes, 598 it removes IGMP Join (x, G) state for that [ES, BD]. If the DF no 599 longer has IGMP Join (x, G) state for that BD on any ES for which it 600 is DF, it withdraws its SMET route for that (x, G) group in that BD. 602 5 Single-Active Multi-Homing 604 Note that to facilitate state synchronization after failover, the PEs 605 attached to a multihomed ES operating in Single-Active redundancy 606 mode should also coordinate IGMP Join (x, G) state. In this case all 607 IGMP Join messages are received by the DF and distributed to the non- 608 DF PEs using the procedures described above. 610 6 Selective Multicast Procedures for IR tunnels 612 If an ingress PE uses ingress replication, then for a given (x, G) 613 group in a given BD: 615 1) It sends (x, G) traffic to the set of PEs not supporting IGMP 616 Proxy. This set consists of any PE that has advertised an Inclusive 617 Multicast Tag route for the BD without the "IGMP Proxy Support" flag. 619 2) It sends (x, G) traffic to the set of PEs supporting IGMP Proxy 620 and having listeners for that (x, G) group in that BD. This set 621 consists of any PE that has advertised an Inclusive Multicast Tag 622 route for the BD with the "IGMP Proxy Support" flag and that has 623 advertised an SMET route for that (x, G) group in that BD. 625 If an ingress PE's Selective P-Tunnel for a given BD uses P2MP and 626 all of the PEs in the BD support that tunnel type and IGMP, then for 627 a given (x, G) group in a given BD it sends (x, G) traffic using the 628 Selective P-Tunnel for that (x, G) group in that BD. This tunnel 629 will include those PEs that have advertised an SMET route for that 630 (x, G) group on that BD (for Selective P-tunnel) but it may include 631 other PEs as well (for Aggregate Selective P-tunnel). 633 7 BGP Encoding 635 This document defines three new BGP EVPN routes to carry IGMP 636 membership reports. This route type is known as: 638 + 6 - Selective Multicast Ethernet Tag Route 639 + 7 - IGMP Join Synch Route 640 + 8 - IGMP Leave Synch Route 642 The detailed encoding and procedures for this route type is described 643 in subsequent section. 645 7.1 Selective Multicast Ethernet Tag Route 647 An Selective Multicast Ethernet Tag route type specific EVPN NLRI 648 consists of the following: 650 +---------------------------------------+ 651 | RD (8 octets) | 652 +---------------------------------------+ 653 | Ethernet Tag ID (4 octets) | 654 +---------------------------------------+ 655 | Multicast Source Length (1 octet) | 656 +---------------------------------------+ 657 | Multicast Source Address (variable) | 658 +---------------------------------------+ 659 | Multicast Group Length (1 octet) | 660 +---------------------------------------+ 661 | Multicast Group Address (Variable) | 662 +---------------------------------------+ 663 | Originator Router Length (1 octet) | 664 +---------------------------------------+ 665 | Originator Router Address (variable) | 666 +---------------------------------------+ 667 | Flags (1 octets) (optional) | 668 +---------------------------------------+ 670 For the purpose of BGP route key processing, all the fields are 671 considered to be part of the prefix in the NLRI except for the one- 672 octet optional flag field (if included). The Flags fields are defined 673 as follows: 675 0 1 2 3 4 5 6 7 676 +--+--+--+--+--+--+--+--+ 677 | reserved |IE|v3|v2|v1| 678 +--+--+--+--+--+--+--+--+ 680 The least significant bit, bit 7 indicates support for IGMP version 681 1. 683 The second least significant bit, bit 6 indicates support for IGMP 684 version 2. 686 The third least significant bit, bit 5 indicates support for IGMP 687 version 3. 689 The forth least significant bit, bit 4 indicates whether the (S, G) 690 information carried within the route-type is of Include Group type 691 (bit value 0) or an Exclude Group type (bit value 1). The Exclude 692 Group type bit MUST be ignored if bit 5 is not set. 694 This EVPN route type is used to carry tenant IGMP multicast group 695 information. The flag field assists in distributing IGMP membership 696 interest of a given host/VM for a given multicast route. The version 697 bits help associate IGMP version of receivers participating within 698 the EVPN domain. 700 The include/exclude bit helps in creating filters for a given 701 multicast route. 703 7.1.1 Constructing the Selective Multicast Ethernet Tag route 705 This section describes the procedures used to construct the Selective 706 Multicast Ethernet Tag (SMET) route. Support for this route type is 707 optional. 709 The Route Distinguisher (RD) SHOULD be a Type 1 RD [RFC4364]. The 710 value field comprises an IP address of the PE (typically, the 711 loopback address) followed by a number unique to the PE. 713 The Ethernet Tag ID MUST be set as follows: 715 EVI is VLAN-Based or VLAN Bundle service - set to 0 716 EVI is VLAN-Aware Bundle service without translation - set to 717 the customer VID for that BD 718 EVI is VLAN-Aware Bundle service with translation - set to the 719 normalized Ethernet Tag ID - e.g., normalized VID 721 The Multicast Source length MUST be set to length of multicast source 722 address in bits. In case of a (*, G) Join, the Multicast Source 723 Length is set to 0. 725 The Multicast Source is the Source IP address of the IGMP membership 726 report. In case of a (*, G) Join, this field does not exist. 728 The Multicast Group length MUST be set to length of multicast group 729 address in bits. 731 The Multicast Group is the Group address of the IGMP membership 732 report. 734 The Originator Router Length is the length of the Originator Router 735 address in bits. 737 The Originator Router Address is the IP address of Router Originating 738 the prefix. It should be noted that using the "Originating Router's 739 IP address" field is needed for local-bias procedures and may be 740 needed for building inter-AS multicast underlay tunnels where BGP 741 next hop can get over written. 743 The Flags field indicates the version of IGMP protocol from which the 744 membership report was received. It also indicates whether the 745 multicast group had INCLUDE or EXCLUDE bit set. 747 IGMP protocol is used to receive group membership information from 748 hosts/VMs by TORs. Upon receiving the hosts/VMs expression of 749 interest of a particular group membership, this information is then 750 forwarded using Ethernet Multicast Source Group Route NLRI. The NLRI 751 also keeps track of receiver's IGMP protocol version and any "source 752 filtering" for a given group membership. All EVPN SMET routes are 753 announced with per-EVI Route Target extended communities. 755 7.2 IGMP Join Synch Route 757 This EVPN route type is used to coordinate IGMP Join (x,G) state for 758 a given BD between the PEs attached to a given ES operating in All- 759 Active (or Single-Active) redundancy mode and it consists of 760 following: 762 +--------------------------------------------------+ 763 | RD (8 octets) | 764 +--------------------------------------------------+ 765 | Ethernet Segment Identifier (10 octets) | 766 +--------------------------------------------------+ 767 | Ethernet Tag ID (4 octets) | 768 +--------------------------------------------------+ 769 | Multicast Source Length (1 octet) | 770 +--------------------------------------------------+ 771 | Multicast Source Address (variable) | 772 +--------------------------------------------------+ 773 | Multicast Group Length (1 octet) | 774 +--------------------------------------------------+ 775 | Multicast Group Address (Variable) | 776 +--------------------------------------------------+ 777 | Originator Router Length (1 octet) | 778 +--------------------------------------------------+ 779 | Originator Router Address (variable) | 780 +--------------------------------------------------+ 781 | Flags (1 octet) | 782 +--------------------------------------------------+ 784 For the purpose of BGP route key processing, all the fields are 785 considered to be part of the prefix in the NLRI except for the one- 786 octet Flags field, whose fields are defined as follows: 788 0 1 2 3 4 5 6 7 789 +--+--+--+--+--+--+--+--+ 790 | reserved |IE|v3|v2|v1| 791 +--+--+--+--+--+--+--+--+ 793 The least significant bit, bit 7 indicates support for IGMP version 794 1. The second least significant bit, bit 6 indicates support for 795 IGMP version 2. The third least significant bit, bit 5 indicates 796 support for IGMP version 3. The fourth least significant bit, bit 4 797 indicates whether the (S, G) information carried within the route- 798 type is of Include Group type (bit value 0) or an Exclude Group type 799 (bit value 1). The Exclude Group type bit MUST be ignored if bit 5 is 800 not set. 802 The Flags field assists in distributing IGMP membership interest of a 803 given host/VM for a given multicast route. The version bits help 804 associate IGMP version of receivers participating within the EVPN 805 domain. The include/exclude bit helps in creating filters for a 806 given multicast route. 808 7.2.1 Constructing the IGMP Join Synch Route 810 This section describes the procedures used to construct the IGMP Join 811 Synch route. Support for this route type is optional. If a PE does 812 not support this route, then it MUST not indicate that it supports 813 'IGMP proxy' in Multicast Flag extended community for the EVIs 814 corresponding to its multi-homed Ethernet Segments. An IGMP Join 815 Synch route is advertised with an ES-Import Route Target extended 816 community whose value is set to the ESI for the ES on which the IGMP 817 Join was received. 819 The Route Distinguisher (RD) SHOULD be a Type 1 RD [RFC4364]. The 820 value field comprises an IP address of the PE (typically, the 821 loopback address) followed by a number unique to the PE. 823 The Ethernet Segment Identifier (ESI) MUST be set to the 10-octet 824 value defined for the ES. 826 The Ethernet Tag ID MUST be set as follows: 828 EVI is VLAN-Based or VLAN Bundle service - set to 0 829 EVI is VLAN-Aware Bundle service without translation - set to 830 the customer VID for the BD 831 EVI is VLAN-Aware Bundle service with translation - set to the 832 normalized Ethernet Tag ID - e.g., normalized VID 833 The Multicast Source length MUST be set to length of multicast source 834 address in bits. In case of a (*, G) Join, the Multicast Source 835 Length is set to 0. 837 The Multicast Source is the Source IP address of the IGMP membership 838 report. In case of a (*, G) Join, this field does not exist. 840 The Multicast Group length MUST be set to length of multicast group 841 address in bits. 843 The Multicast Group is the Group address of the IGMP membership 844 report. 846 The Originator Router Length is the length of the Originator Router 847 address in bits. 849 The Originator Router Address is the IP address of Router Originating 850 the prefix. 852 The Flags field indicates the version of IGMP protocol from which the 853 membership report was received. It also indicates whether the 854 multicast group had INCLUDE or EXCLUDE bit set. 856 7.3 IGMP Leave Synch Route This EVPN route type is used to coordinate 857 IGMP Leave Group (x,G) state for a given BD between the PEs attached 858 to a given ES operating in All-Active (or Single-Active) redundancy 859 mode and it consists of following: 861 +--------------------------------------------------+ 862 | RD (8 octets) | 863 +--------------------------------------------------+ 864 | Ethernet Segment Identifier (10 octets) | 865 +--------------------------------------------------+ 866 | Ethernet Tag ID (4 octets) | 867 +--------------------------------------------------+ 868 | Multicast Source Length (1 octet) | 869 +--------------------------------------------------+ 870 | Multicast Source Address (variable) | 871 +--------------------------------------------------+ 872 | Multicast Group Length (1 octet) | 873 +--------------------------------------------------+ 874 | Multicast Group Address (Variable) | 875 +--------------------------------------------------+ 876 | Originator Router Length (1 octet) | 877 +--------------------------------------------------+ 878 | Originator Router Address (variable) | 879 +--------------------------------------------------+ 880 | Leave Group Synchronization # (4 octets) | 881 +--------------------------------------------------+ 882 | Maximum Response Time (1 octet) | 883 +--------------------------------------------------+ 884 | Flags (1 octet) | 885 +--------------------------------------------------+ 887 For the purpose of BGP route key processing, all the fields are 888 considered to be part of the prefix in the NLRI except for the 889 Maximum Response Time and the one-octet Flags field, whose fields are 890 defined as follows: 892 0 1 2 3 4 5 6 7 893 +--+--+--+--+--+--+--+--+ 894 | reserved |IE|v3|v2|v1| 895 +--+--+--+--+--+--+--+--+ 897 The least significant bit, bit 7 indicates support for IGMP version 898 1. The second least significant bit, bit 6 indicates support for 899 IGMP version 2. The third least significant bit, bit 5 indicates 900 support for IGMP version 3. The fourth least significant bit, bit 4 901 indicates whether the (S, G) information carried within the route- 902 type is of Include Group type (bit value 0) or an Exclude Group type 903 (bit value 1). The Exclude Group type bit MUST be ignored if bit 5 is 904 not set. 906 The Flags field assists in distributing IGMP membership interest of a 907 given host/VM for a given multicast route. The version bits help 908 associate IGMP version of receivers participating within the EVPN 909 domain. The include/exclude bit helps in creating filters for a 910 given multicast route. 912 7.3.1 Constructing the IGMP Leave Synch Route 914 This section describes the procedures used to construct the IGMP Join 915 Synch route. Support for this route type is optional. If a PE does 916 not support this route, then it MUST not indicate that it supports 917 'IGMP proxy' in Multicast Flag extended community for the EVIs 918 corresponding to its multi-homed Ethernet Segments. An IGMP Join 919 Synch route is advertised with an ES-Import Route Target extended 920 community whose value is set to the ESI for the ES on which the IGMP 921 Join was received. 923 The Route Distinguisher (RD) SHOULD be a Type 1 RD [RFC4364]. The 924 value field comprises an IP address of the PE (typically, the 925 loopback address) followed by a number unique to the PE. 927 The Ethernet Segment Identifier (ESI) MUST be set to the 10-octet 928 value defined for the ES. 930 The Ethernet Tag ID MUST be set as follows: 932 EVI is VLAN-Based or VLAN Bundle service - set to 0 933 EVI is VLAN-Aware Bundle service without translation - set to 934 the customer VID for the BD 935 EVI is VLAN-Aware Bundle service with translation - set to the 936 normalized Ethernet Tag ID - e.g., normalized VID 938 The Multicast Source length MUST be set to length of multicast source 939 address in bits. In case of a (*, G) Join, the Multicast Source 940 Length is set to 0. 942 The Multicast Source is the Source IP address of the IGMP membership 943 report. In case of a (*, G) Join, this field does not exist. 945 The Multicast Group length MUST be set to length of multicast group 946 address in bits. 948 The Multicast Group is the Group address of the IGMP membership 949 report. 951 The Originator Router Length is the length of the Originator Router 952 address in bits. 954 The Originator Router Address is the IP address of Router Originating 955 the prefix. 957 The Flags field indicates the version of IGMP protocol from which the 958 membership report was received. It also indicates whether the 959 multicast group had INCLUDE or EXCLUDE bit set. 961 7.4 Multicast Flags Extended Community 963 The 'Multicast Flags' extended community is a new EVPN extended 964 community. EVPN extended communities are transitive extended 965 communities with a Type field value of 6. IANA will assign a Sub- 966 Type from the 'EVPN Extended Community Sub-Types' registry. 968 A PE that supports IGMP proxy on a given BD MUST attach this extended 969 community to the Inclusive Multicast Ethernet Tag (IMET) route it 970 advertises for that BD and it Must set the IGMP Proxy Support flag to 971 1. Note that an [RFC7432] compliant PE will not advertise this 972 extended community so its absence indicates that the advertising PE 973 does not support IGMP Proxy. 975 The advertisement of this extended community enables more efficient 976 multicast tunnel setup from the source PE specially for ingress 977 replication - i.e., if an egress PE supports IGMP proxy but doesn't 978 have any interest in a given (x, G), it advertises its IGMP proxy 979 capability using this extended community but it does not advertise 980 any SMET route for that (x, G). When the source PE (ingress PE) 981 receives such advertisements from the egress PE, it does not 982 replicate the multicast traffic to that egress PE; however, it does 983 replicate the multicast traffic to the egress PEs that don't 984 advertise such capability even if they don't have any interests in 985 that (x, G). 987 A Multicast Flags extended community is encoded as an 8-octet value, 988 as follows: 990 1 2 3 991 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 992 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 993 | Type=0x06 | Sub-Type=TBD | Flags (2 Octets) | 994 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 995 | Reserved=0 | 996 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 998 The low-order bit of the Flags is defined as the "IGMP Proxy Support" 999 bit. A value of 1 means that the PE supports IGMP Proxy as defined 1000 in this document, and a value of 0 means that the PE does not support 1001 IGMP proxy. The absence of this extended community also means that 1002 the PE doesn not support IGMP proxy. 1004 7.5 EVI-RT Extended Community 1006 The 'EVI-RT' extended community is a new EVPN extended community. 1007 EVPN extended communities are transitive extended communities with a 1008 Type field value of 6. IANA will assign a Sub-Type from the 'EVPN 1009 Extended Community Sub-Types' registry. 1011 A PE that supports IGMP synch procedures for All-Active (or Single- 1012 Active) multi-homed ES, MUST attach this extended community to either 1013 IGMP Join Synch route (sec 7.2) or IGMP Leave Synch route (sec 7.3). 1014 This extended community carries the RT associated with the EVI so 1015 that the receiving PE can identify the EVI properly. The reason 1016 standard format RT is not used, is to avoid distribution of these 1017 routes beyond the group of multihoming PEs for that ES. 1019 1 2 3 1020 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 1021 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1022 | Type=0x06 | Sub-Type=TBD | RT associated with EVI | 1023 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1024 | RT associated with the EVI (cont.) | 1025 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1027 8 Acknowledgement 1029 9 Security Considerations 1031 Same security considerations as [RFC7432]. 1033 10 IANA Considerations 1035 IANA has allocated the following EVPN Extended Community sub-types in 1036 [RFC7153], and this document is the only reference for them. 1038 0x09 Multicast Flags Extended Community [this document] 0x0A 1039 EVI-RT Extended Community [this document] 1041 This document requests the following EVPN route types from IANA 1042 registry. 1044 + 6 - Selective Multicast Ethernet Tag Route + 7 - IGMP Join 1045 Synch Route + 8 - IGMP Leave Synch Route 1047 11 References 1049 11.1 Normative References 1051 [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate 1052 Requirement Levels", BCP 14, RFC 2119, March 1997. 1054 [RFC4360] S. Sangli et al, ""BGP Extended Communities Attribute", 1055 February, 2006. 1057 [RFC7432] Sajassi et al., "BGP MPLS Based Ethernet VPN", February, 1058 2015. 1060 11.2 Informative References 1062 [ETREE-FMWK] Key et al., "A Framework for E-Tree Service over MPLS 1063 Network", draft-ietf-l2vpn-etree-frwk-03, work in progress, September 1064 2013. 1066 [PBB-EVPN] Sajassi et al., "PBB-EVPN", draft-ietf-l2vpn-pbb-evpn- 1067 05.txt, work in progress, October, 2013. 1069 [RFC4541] Christensen, M., Kimball, K., and F. Solensky, 1070 "Considerations for IGMP and MLD snooping PEs", RFC 4541, 2006. 1072 Authors' Addresses 1074 Ali Sajassi 1075 Cisco 1076 Email: sajassi@cisco.com 1077 Samir Thoria 1078 Cisco 1079 Email: sthoria@cisco.com 1081 Keyur Patel 1082 Arrcus 1083 Email: keyur@arrcus.com 1085 Derek Yeung 1086 Arrcus 1087 Email: derek@arrcus.com 1089 John Drake 1090 Juniper 1091 Email: jdrake@juniper.net 1093 Wen Lin 1094 Juniper 1095 Email: wlin@juniper.net