idnits 2.17.1 draft-ietf-bess-evpn-redundant-mcast-source-00.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 private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (January 18, 2021) is 1192 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) == Outdated reference: A later version (-21) exists of draft-ietf-bess-evpn-igmp-mld-proxy-05 == Outdated reference: A later version (-11) exists of draft-ietf-bess-evpn-irb-mcast-05 Summary: 0 errors (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BESS Workgroup J. Rabadan, Ed. 3 Internet-Draft J. Kotalwar 4 Intended status: Standards Track S. Sathappan 5 Expires: July 22, 2021 Nokia 6 Z. Zhang 7 W. Lin 8 Juniper 9 E. Rosen 10 Individual 11 January 18, 2021 13 Multicast Source Redundancy in EVPN Networks 14 draft-ietf-bess-evpn-redundant-mcast-source-00 16 Abstract 18 EVPN supports intra and inter-subnet IP multicast forwarding. 19 However, EVPN (or conventional IP multicast techniques for that 20 matter) do not have a solution for the case where: a) a given 21 multicast group carries more than one flow (i.e., more than one 22 source), and b) it is desired that each receiver gets only one of the 23 several flows. Existing multicast techniques assume there are no 24 redundant sources sending the same flow to the same IP multicast 25 group, and, in case there were redundant sources, the receiver's 26 application would deal with the received duplicated packets. This 27 document extends the existing EVPN specifications and assumes that IP 28 Multicast source redundancy may exist. It also assumes that, in case 29 two or more sources send the same IP Multicast flows into the tenant 30 domain, the EVPN PEs need to avoid that the receivers get packet 31 duplication by following the described procedures. 33 Status of This Memo 35 This Internet-Draft is submitted in full conformance with the 36 provisions of BCP 78 and BCP 79. 38 Internet-Drafts are working documents of the Internet Engineering 39 Task Force (IETF). Note that other groups may also distribute 40 working documents as Internet-Drafts. The list of current Internet- 41 Drafts is at https://datatracker.ietf.org/drafts/current/. 43 Internet-Drafts are draft documents valid for a maximum of six months 44 and may be updated, replaced, or obsoleted by other documents at any 45 time. It is inappropriate to use Internet-Drafts as reference 46 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on July 22, 2021. 50 Copyright Notice 52 Copyright (c) 2021 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (https://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the Simplified BSD License. 65 Table of Contents 67 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 68 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 69 1.2. Background on IP Multicast Delivery in EVPN Networks . . 6 70 1.2.1. Intra-subnet IP Multicast Forwarding . . . . . . . . 6 71 1.2.2. Inter-subnet IP Multicast Forwarding . . . . . . . . 7 72 1.3. Multi-Homed IP Multicast Sources in EVPN . . . . . . . . 8 73 1.4. The Need for Redundant IP Multicast Sources in EVPN . . . 10 74 2. Solution Overview . . . . . . . . . . . . . . . . . . . . . . 10 75 3. BGP EVPN Extensions . . . . . . . . . . . . . . . . . . . . . 12 76 4. Warm Standby (WS) Solution for Redundant G-Sources . . . . . 13 77 4.1. WS Example in an OISM Network . . . . . . . . . . . . . . 15 78 4.2. WS Example in a Single-BD Tenant Network . . . . . . . . 17 79 5. Hot Standby (HS) Solution for Redundant G-Sources . . . . . . 18 80 5.1. Use of BFD in the HS Solution . . . . . . . . . . . . . . 21 81 5.2. HS Example in an OISM Network . . . . . . . . . . . . . . 22 82 5.3. HS Example in a Single-BD Tenant Network . . . . . . . . 26 83 6. Security Considerations . . . . . . . . . . . . . . . . . . . 26 84 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 85 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 86 8.1. Normative References . . . . . . . . . . . . . . . . . . 26 87 8.2. Informative References . . . . . . . . . . . . . . . . . 27 88 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 28 89 Appendix B. Contributors . . . . . . . . . . . . . . . . . . . . 28 90 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28 92 1. Introduction 94 Intra and Inter-subnet IP Multicast forwarding are supported in EVPN 95 networks. [I-D.ietf-bess-evpn-igmp-mld-proxy] describes the 96 procedures required to optimize the delivery of IP Multicast flows 97 when Sources and Receivers are connected to the same EVPN BD 98 (Broadcast Domain), whereas [I-D.ietf-bess-evpn-irb-mcast] specifies 99 the procedures to support Inter-subnet IP Multicast in a tenant 100 network. Inter-subnet IP Multicast means that IP Multicast Source 101 and Receivers of the same multicast flow are connected to different 102 BDs of the same tenant. 104 [I-D.ietf-bess-evpn-igmp-mld-proxy], [I-D.ietf-bess-evpn-irb-mcast] 105 or conventional IP multicast techniques do not have a solution for 106 the case where a given multicast group carries more than one flow 107 (i.e., more than one source) and it is desired that each receiver 108 gets only one of the several flows. Multicast techniques assume 109 there are no redundant sources sending the same flows to the same IP 110 multicast group, and, in case there were redundant sources, the 111 receiver's application would deal with the received duplicated 112 packets. 114 As a workaround in conventional IP multicast (PIM or MVPN networks), 115 if all the redundant sources are given the same IP address, each 116 receiver will get only one flow. The reason is that, in conventional 117 IP multicast, (S,G) state is always created by the RP (Rendezvous 118 Point), and sometimes by the Last Hop Router (LHR). The (S,G) state 119 always binds the (S,G) flow to a source-specific tree, rooted at the 120 source IP address. If multiple sources have the same IP address, one 121 may end up with multiple (S,G) trees. However, the way the trees are 122 constructed ensures that any given LHR or RP is on at most one of 123 them. The use of an anycast address assigned to multiple sources may 124 be useful for warm standby redundancy solutions. However, on one 125 hand, it's not really helpful for hot standby redundancy solutions 126 and on the other hand, configuring the same IP address (in particular 127 IPv4 address) in multiple sources may bring issues if the sources 128 need to be reached by IP unicast traffic or if the sources are 129 attached to the same Broadcast Domain. 131 In addition, in the scenario where several G-sources are attached via 132 EVPN/OISM, there is not necessarily any (S,G) state created for the 133 redundant sources. The LHRs may have only (*,G) state, and there may 134 not be an RP (creating (S,G) state) either. Therefore, this document 135 extends the above two specifications and assumes that IP Multicast 136 source redundancy may exist. It also assumes that, in case two or 137 more sources send the same IP Multicast flows into the tenant domain, 138 the EVPN PEs need to avoid that the receivers get packet duplication. 140 The solution provides support for Warm Standby (WS) and Hot Standby 141 (HS) redundancy. WS is defined as the redundancy scenario in which 142 the upstream PEs attached to the redundant sources of the same 143 tenant, make sure that only one source of the same flow can send 144 multicast to the interested downstream PEs at the same time. In HS 145 the upstream PEs forward the redundant multicast flows to the 146 downstream PEs, and the downstream PEs make sure only one flow is 147 forwarded to the interested attached receivers. 149 1.1. Terminology 151 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 152 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 153 "OPTIONAL" in this document are to be interpreted as described in BCP 154 14 [RFC2119] [RFC8174] when, and only when, they appear in all 155 capitals, as shown here. 157 o PIM: Protocol Independent Multicast. 159 o MVPN: Multicast Virtual Private Networks. 161 o OISM: Optimized Inter-Subnet Multicast, as in 162 [I-D.ietf-bess-evpn-irb-mcast]. 164 o Broadcast Domain (BD): an emulated ethernet, such that two systems 165 on the same BD will receive each other's link-local broadcasts. 166 In this document, BD also refers to the instantiation of a 167 Broadcast Domain on an EVPN PE. An EVPN PE can be attached to one 168 or multiple BDs of the same tenant. 170 o Designated Forwarder (DF): as defined in [RFC7432], an ethernet 171 segment may be multi-homed (attached to more than one PE). An 172 ethernet segment may also contain multiple BDs, of one or more 173 EVIs. For each such EVI, one of the PEs attached to the segment 174 becomes that EVI's DF for that segment. Since a BD may belong to 175 only one EVI, we can speak unambiguously of the BD's DF for a 176 given segment. 178 o Upstream PE: in this document an Upstream PE is referred to as the 179 EVPN PE that is connected to the IP Multicast source or closest to 180 it. It receives the IP Multicast flows on local ACs (Attachment 181 Circuits). 183 o Downstream PE: in this document a Downstream PE is referred to as 184 the EVPN PE that is connected to the IP Multicast receivers and 185 gets the IP Multicast flows from remote EVPN PEs. 187 o G-traffic: any frame with an IP payload whose IP Destination 188 Address (IP DA) is a multicast group G. 190 o G-source: any system sourcing IP multicast traffic to G. 192 o SFG: Single Flow Group, i.e., a multicast group address G which 193 represents traffic that contains only a single flow. However, 194 multiple sources - with the same or different IP - may be 195 transmitting an SFG. 197 o Redundant G-source: a host or router that transmits an SFG in a 198 tenant network where there are more hosts or routers transmitting 199 the same SFG. Redundant G-sources for the same SFG SHOULD have 200 different IP addresses, although they MAY have the same IP address 201 when in different BDs of the same tenant network. Redundant 202 G-sources are assumed NOT to be "bursty" in this document (typical 203 example are Broadcast TV G-sources or similar). 205 o P-tunnel: Provider tunnel refers to the type of tree a given 206 upstream EVPN PE uses to forward multicast traffic to downstream 207 PEs. Examples of P-tunnels supported in this document are Ingress 208 Replication (IR), Assisted Replication (AR), Bit Indexed Explicit 209 Replication (BIER), multicast Label Distribution Protocol (mLDP) 210 or Point to Multi-Point Resource Reservation protocol with Traffic 211 Engineering extensions (P2MP RSVP-TE). 213 o Inclusive Multicast Tree or Inclusive Provider Multicast Service 214 Interface (I-PMSI): defined in [RFC6513], in this document it is 215 applicable only to EVPN and refers to the default multicast tree 216 for a given BD. All the EVPN PEs that are attached to a specific 217 BD belong to the I-PMSI for the BD. The I-PMSI trees are signaled 218 by EVPN Inclusive Multicast Ethernet Tag (IMET) routes. 220 o Selective Multicast Tree or Selective Provider Multicast Service 221 Interface (S-PMSI): defined in [RFC6513], in this document it is 222 applicable only to EVPN and refers to the multicast tree to which 223 only the interested PEs of a given BD belong to. There are two 224 types of EVPN S-PMSIs: 226 * EVPN S-PMSIs that require the advertisement of S-PMSI AD routes 227 from the upstream PE, as in [EVPN-BUM]. The interested 228 downstream PEs join the S-PMSI tree as in [EVPN-BUM]. 230 * EVPN S-PMSIs that don't require the advertisement of S-PMSI AD 231 routes. They use the forwarding information of the IMET 232 routes, but upstream PEs send IP Multicast flows only to 233 downstream PEs issuing Selective Multicast Ethernet Tag (SMET) 234 routes for the flow. These S-PMSIs are only supported with the 235 following P-tunnels: Ingress Replication (IR), Assisted 236 Replication (AR) and BIER. 238 This document also assumes familiarity with the terminology of 239 [RFC7432], [RFC4364], [RFC6513], [RFC6514], 240 [I-D.ietf-bess-evpn-igmp-mld-proxy], [I-D.ietf-bess-evpn-irb-mcast], 241 [EVPN-RT5] and [EVPN-BUM]. 243 1.2. Background on IP Multicast Delivery in EVPN Networks 245 IP Multicast is all about forwarding a single copy of a packet from a 246 source S to a group of receivers G along a multicast tree. That 247 multicast tree can be created in an EVPN tenant domain where S and 248 the receivers for G are connected to the same BD or different BD. In 249 the former case, we refer to Intra-subnet IP Multicast forwarding, 250 whereas the latter case will be referred to as Inter-subnet IP 251 Multicast forwarding. 253 1.2.1. Intra-subnet IP Multicast Forwarding 255 When the source S1 and receivers interested in G1 are attached to the 256 same BD, the EVPN network can deliver the IP Multicast traffic to the 257 receivers in two different ways (Figure 1): 259 S1 + S1 + 260 (a) + | (b) + | 261 | | (S1,G1) | | (S1,G1) 262 PE1 | | PE1 | | 263 +-----+ v +-----+ v 264 |+---+| |+---+| 265 ||BD1|| ||BD1|| 266 |+---+| |+---+| 267 +-----+ +-----+ 268 +-------|-------+ +-------| 269 | | | | | 270 v v v v v 271 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ 272 |+---+| |-----| |-----| |+---+| |+---+| |+---+| 273 ||BD1|| ||BD1|| ||BD1|| ||BD1|| ||BD1|| ||BD1|| 274 |+---+| |-----| |-----| |+---+| |+---+| |+---+| 275 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ 276 PE2| PE3| PE4| PE2| PE3| PE4 277 - | - - - | - | - | - - - | - 278 | | | | | | | | | 279 v v v v v 280 | R1 R2 | R3 | R1 R2 | R3 281 - - - G1- - - - - - G1- - - 283 Figure 1: Intra-subnet IP Multicast 285 Model (a) illustrated in Figure 1 is referred to as "IP Multicast 286 delivery as BUM traffic". This way of delivering IP Multicast 287 traffic does not require any extensions to [RFC7432], however, it 288 sends the IP Multicast flows to non-interested receivers, such as 289 e.g., R3 in Figure 1. In this example, downstream PEs can snoop 290 IGMP/MLD messages from the receivers so that layer-2 multicast state 291 is created and, for instance, PE4 can avoid sending (S1,G1) to R3, 292 since R3 is not interested in (S1,G1). 294 Model (b) in Figure 1 uses an S-PMSI to optimize the delivery of the 295 (S1,G1) flow. For instance, assuming PE1 uses IR, PE1 sends (S1,G1) 296 only to the downstream PEs that issued an SMET route for (S1,G1), 297 that is, PE2 and PE3. In case PE1 uses any P-tunnel different than 298 IR, AR or BIER, PE1 will advertise an S-PMSI A-D route for (S1,G1) 299 and PE2/PE2 will join that tree. 301 Procedures for Model (b) are specified in 302 [I-D.ietf-bess-evpn-igmp-mld-proxy]. 304 1.2.2. Inter-subnet IP Multicast Forwarding 306 If the source and receivers are attached to different BDs of the same 307 tenant domain, the EVPN network can also use Inclusive or Selective 308 Trees as depicted in Figure 2, models (a) and (b) respectively. 310 S1 + S1 + 311 (a) + | (b) + | 312 | | (S1,G1) | | (S1,G1) 313 PE1 | | PE1 | | 314 +-----+ v +-----+ v 315 |+---+| |+---+| 316 ||BD1|| ||BD1|| 317 |+---+| |+---+| 318 +-----+ +-----+ 319 +-------|-------+ +-------| 320 | | | | | 321 v v v v v 322 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ 323 |+---+| |+---+| |+---+| |+---+| |+---+| |+---+| 324 ||SBD|| ||SBD|| ||SBD|| ||SBD|| ||SBD|| ||SBD|| 325 |+-|-+| |+-|-+| |+---+| |+-|-+| |+-|-+| |+---+| 326 | VRF | | VRF | | VRF | | VRF | | VRF | | VRF | 327 |+-v-+| |+-v-+| |+---+| |+-v-+| |+-v-+| |+---+| 328 ||BD2|| ||BD3|| ||BD4|| ||BD2|| ||BD3|| ||BD4|| 329 |+-|-+| |+-|-+| |+---+| |+-|-+| |+-|-+| |+---+| 330 +--|--+ +--|--+ +-----+ +--|--+ +--|--+ +-----+ 331 PE2| PE3| PE4 PE2| PE3| PE4 332 - | - - - | - - | - - - | - 333 | | | | | | | | 334 v v v v 335 | R1 R2 | R3 | R1 R2 | R3 336 - - - G1- - - - - - G1- - - 338 Figure 2: Inter-subnet IP Multicast 340 [I-D.ietf-bess-evpn-irb-mcast] specifies the procedures to optimize 341 the Inter-subnet Multicast forwarding in an EVPN network. The IP 342 Multicast flows are always sent in the context of the source BD. As 343 described in [I-D.ietf-bess-evpn-irb-mcast], if the downstream PE is 344 not attached to the source BD, the IP Multicast flow is received on 345 the SBD (Supplementary Broadcast Domain), as in the example in 346 Figure 2. 348 [I-D.ietf-bess-evpn-irb-mcast] supports Inclusive or Selective 349 Multicast Trees, and as explained in Section 1.2.1, the Selective 350 Multicast Trees are setup in a different way, depending on the 351 P-tunnel being used by the source BD. As an example, model (a) in 352 Figure 2 illustrates the use of an Inclusive Multicast Tree for BD1 353 on PE1. Since the downstream PEs are not attached to BD1, they will 354 all receive (S1,G1) in the context of the SBD and will locally route 355 the flow to the local ACs. Model (b) uses a similar forwarding 356 model, however PE1 sends the (S1,G1) flow in a Selective Multicast 357 Tree. If the P-tunnel is IR, AR or BIER, PE1 does not need to 358 advertise an S-PMSI A-D route. 360 [I-D.ietf-bess-evpn-irb-mcast] is a superset of the procedures in 361 [I-D.ietf-bess-evpn-igmp-mld-proxy], in which sources and receivers 362 can be in the same or different BD of the same tenant. 363 [I-D.ietf-bess-evpn-irb-mcast] ensures every upstream PE attached to 364 a source will learn of all other PEs (attached to the same Tenant 365 Domain) that have interest in a particular set of flows. This is 366 because the downstream PEs advertise SMET routes for a set of flows 367 with the SBD's Route Target and they are imported by all the Upstream 368 PEs of the tenant. As a result of that, inter-subnet multicasting 369 can be done within the Tenant Domain, without requiring any 370 Rendezvous Points (RP), shared trees, UMH selection or any other 371 complex aspects of conventional multicast routing techniques. 373 1.3. Multi-Homed IP Multicast Sources in EVPN 375 Contrary to conventional multicast routing technologies, multi-homing 376 PEs attached to the same source can never create IP Multicast packet 377 duplication if the PEs use a multi-homed Ethernet Segment (ES). 378 Figure 3 illustrates this by showing two multi-homing PEs (PE1 and 379 PE2) that are attached to the same source (S1). We assume that S1 is 380 connected to an all-active ES by a layer-2 switch (SW1) with a Link 381 Aggregation Group (LAG) to PE1 and PE2. 383 S1 384 | 385 v 386 +-----+ 387 | SW1 | 388 +-----+ 389 +---- | | 390 (S1,G1)| +----+ +----+ 391 IGMP | | all-active | 392 J(S1,G1) PE1 v | ES-1 | PE2 393 +----> +-----------|---+ +---|-----------+ 394 | +---+ +---+ | | +---+ | 395 R1 <-----|BD2| |BD1| | | |BD1| | 396 | +---+---+---+ | | +---+---+ | 397 +----| |VRF| | | | |VRF| |----+ 398 | | +---+---+ | | | +---+---+ | | 399 | | |SBD| | | | |SBD| | | 400 | | +---+ | | | +---+ | | 401 | +------------|--+ +---------------+ | 402 | | | 403 | | | 404 | | | 405 | EVPN | ^ | 406 | OISM v PE3 | SMET | 407 | +---------------+ | (*,G1) | 408 | | +---+ | | | 409 | | |SBD| | | 410 | | +---+---+ | | 411 +--------------| |VRF| |----------------+ 412 | +---+---+---+ | 413 | |BD2| |BD3| | 414 | +-|-+ +-|-+ | 415 +---|-------|---+ 416 ^ | | ^ 417 IGMP | v v | IGMP 418 J(*,G1) | R2 R3 | J(S1,G1) 420 Figure 3: All-active Multi-homing and OISM 422 When receiving the (S1,G1) flow from S1, SW1 will choose only one 423 link to send the flow, as per [RFC7432]. Assuming PE1 is the 424 receiving PE on BD1, the IP Multicast flow will be forwarded as soon 425 as BD1 creates multicast state for (S1,G1) or (*,G1). In the example 426 of Figure 3, receivers R1, R2 and R3 are interested in the multicast 427 flow to G1. R1 will receive (S1,G1) directly via the IRB interface 428 as per [I-D.ietf-bess-evpn-irb-mcast]. Upon receiving IGMP reports 429 from R2 and R3, PE3 will issue an SMET (*,G1) route that will create 430 state in PE1's BD1. PE1 will therefore forward the IP Multicast flow 431 to PE3's SBD and PE3 will forward to R2 and R3, as per 432 [I-D.ietf-bess-evpn-irb-mcast] procedures. 434 When IP Multicast source multi-homing is required, EVPN multi-homed 435 Ethernet Segments MUST be used. EVPN multi-homing guarantees that 436 only one Upstream PE will forward a given multicast flow at the time, 437 avoiding packet duplication at the Downstream PEs. In addition, the 438 SMET route for a given flow creates state in all the multi-homing 439 Upstream PEs. Therefore, in case of failure on the Upstream PE 440 forwarding the flow, the backup Upstream PE can forward the flow 441 immediately. 443 This document assumes that multi-homing PEs attached to the same 444 source always use multi-homed Ethernet Segments. 446 1.4. The Need for Redundant IP Multicast Sources in EVPN 448 While multi-homing PEs to the same IP Multicast G-source provides 449 certain level of resiliency, multicast applications are often 450 critical in the Operator's network and greater level of redundancy is 451 required. This document assumes that: 453 a. Redundant G-sources for an SFG may exist in the EVPN tenant 454 network. A Redundant G-source is a host or a router that sends 455 an SFG in a tenant network where there is another host or router 456 sending traffic to the same SFG. 458 b. Those redundant G-sources may be in the same BD or different BDs 459 of the tenant. There must not be restrictions imposed on the 460 location of the receiver systems either. 462 c. The redundant G-sources can be single-homed to only one EVPN PE 463 or multi-homed to multiple EVPN PEs. 465 d. The EVPN PEs must avoid duplication of the same SFG on the 466 receiver systems. 468 2. Solution Overview 470 An SFG is represented as (*,G) if any source that issues multicast 471 traffic to G is a redundant G-source. Alternatively, this document 472 allows an SFG to be represented as (S,G), where S is a prefix of any 473 length. In this case, a source is considered a redundant G-source 474 for the SFG if it is contained in the prefix. This document allows 475 variable length prefixes in the Sources advertised in S-PMSI A-D 476 routes only for the particular application of redundant G-sources. 478 There are two redundant G-source solutions described in this 479 document: 481 o Warm Standby (WS) Solution 483 o Hot Standby (HS) Solution 485 The WS solution is considered an upstream-PE-based solution (since 486 downstream PEs do not participate in the procedures), in which all 487 the upstream PEs attached to redundant G-sources for an SFG 488 represented by (*,G) or (S,G) will elect a "Single Forwarder" (SF) 489 among themselves. Once a SF is elected, the upstream PEs add an 490 Reverse Path Forwarding (RPF) check to the (*,G) or (S,G) state for 491 the SFG: 493 o A non-SF upstream PE discards any (*,G)/(S,G) packets received 494 over a local AC. 496 o The SF accepts and forwards any (*,G)/(S,G) packets it receives 497 over a single local AC (for the SFG). In case (*,G)/(S,G) packets 498 for the SFG are received over multiple local ACs, they will be 499 discarded in all the local ACs but one. The procedure to choose 500 the local AC that accepts packets is a local implementation 501 matter. 503 A failure on the SF will result in the election of a new SF. The 504 Election requires BGP extensions on the existing EVPN routes. These 505 extensions and associated procedures are described in Section 3 and 506 Section 4 respectively. 508 In the HS solution the downstream PEs are the ones avoiding the SFG 509 duplication. The upstream PEs are aware of the locally attached 510 G-sources and add a unique Ethernet Segment Identifier label (ESI- 511 label) per SFG to the SFG packets forwarded to downstream PEs. The 512 downstream PEs pull the SFG from all the upstream PEs attached to the 513 redundant G-sources and avoid duplication on the receiver systems by 514 adding an RPF check to the (*,G) state for the SFG: 516 o A downstream PE discards any (*,G) packets it receives from the 517 "wrong G-source". 519 o The wrong G-source is identified in the data path by an ESI-label 520 that is different than the ESI-label used for the selected G- 521 source. 523 o Note that the ESI-label is used here for "ingress filtering" (at 524 the egress/downstream PE) as opposed to the [RFC7432] "egress 525 filtering" (at the egress/downstream PE) used in the split-horizon 526 procedures. In [RFC7432] the ESI-label indicates what egress ACs 527 must be skipped when forwarding BUM traffic to the egress. In 528 this document, the ESI-label indicates what ingress traffic must 529 be discarded at the downstream PE. 531 The use of ESI-labels for SFGs forwarded by upstream PEs require some 532 control plane and data plane extensions in the procedures used by 533 [RFC7432] for multi-homing. Upon failure of the selected G-source, 534 the downstream PE will switch over to a different selected G-source, 535 and will therefore change the RPF check for the (*,G) state. The 536 extensions and associated procedures are described in Section 3 and 537 Section 5 respectively. 539 An operator should use the HS solution if they require a fast fail- 540 over time and the additional bandwidth consumption is acceptable (SFG 541 packets are received multiple times on the downstream PEs). 542 Otherwise the operator should use the WS solution, at the expense of 543 a slower fail-over time in case of a G-source or upstream PE failure. 544 Besides bandwidth efficiency, another advantage of the WS solution is 545 that only the upstream PEs attached to the redundant G-sources for 546 the same SFG need to be upgraded to support the new procedures. 548 This document does not impose the support of both solutions on a 549 system. If one solution is supported, the support of the other 550 solution is OPTIONAL. 552 3. BGP EVPN Extensions 554 This document makes use of the following BGP EVPN extensions: 556 1. SFG flag in the Multicast Flags Extended Community 558 The Single Flow Group (SFG) flag is a new bit requested to IANA 559 out of the registry Multicast Flags Extended Community Flag 560 Values. This new flag is set for S-PMSI A-D routes that carry a 561 (*,G)/(S,G) SFG in the NLRI. 563 2. ESI Label Extended Community is used in S-PMSI A-D routes 565 The HS solution requires the advertisement of one or more ESI 566 Label Extended Communities [RFC7432] that encode the Ethernet 567 Segment Identifier(s) associated to an S-PMSI A-D (*,G)/(S,G) 568 route that advertises the presence of an SFG. Only the ESI Label 569 value in the extended community is relevant to the procedures in 570 this document. The Flags field in the extended community will be 571 advertised as 0x00 and ignored on reception. [RFC7432] specifies 572 that the ESI Label Extended Community is advertised along with 573 the A-D per ES route. This documents extends the use of this 574 extended community so that it can be advertised multiple times 575 (with different ESI values) along with the S-PMSI A-D route. 577 4. Warm Standby (WS) Solution for Redundant G-Sources 579 The general procedure is described as follows: 581 1. Configuration of the upstream PEs 583 Upstream PEs (possibly attached to redundant G-sources) need to 584 be configured to know which groups are carrying only flows from 585 redundant G-sources, that is, the SFGs in the tenant domain. 586 They will also be configured to know which local BDs may be 587 attached to a redundant G-source. The SFGs can be configured for 588 any source, E.g., SFG for "*", or for a prefix that contains 589 multiple sources that will issue the same SFG, i.e., 590 "10.0.0.0/30". In the latter case sources 10.0.0.1 and 10.0.0.2 591 are considered as Redundant G-sources, whereas 10.0.0.10 is not 592 considered a redundant G-source for the same SFG. 594 As an example: 596 * PE1 is configured to know that G1 is an SFG for any source and 597 redundant G-sources for G1 may be attached to BD1 or BD2. 599 * Or PE1 can also be configured to know that G1 is an SFG for 600 the sources contained in 10.0.0.0/30, and those redundant 601 G-sources may be attached to BD1 or BD2. 603 2. Signaling the location of a G-source for a given SFG 605 Upon receiving G-traffic for a configured SFG on a BD, an 606 upstream PE configured to follow this procedure, e.g., PE1: 608 * Originates an S-PMSI A-D (*,G)/(S,G) route for the SFG. An 609 (*,G) route is advertised if the SFG is configured for any 610 source, and an (S,G) route is advertised (where the Source can 611 have any length) if the SFG is configured for a prefix. 613 * The S-PMSI A-D route is imported by all the PEs attached to 614 the tenant domain. In order to do that, the route will use 615 the SBD-RT (Supplementary Broadcast Domain Route-Target) in 616 addition to the BD-RT of the BD over which the G-traffic is 617 received. The route SHOULD also carry a DF Election Extended 618 Community (EC) and a flag indicating that it conveys an SFG. 619 The DF Election EC and its use is specified in [RFC8584]. 621 * The above S-PMSI A-D route MAY be advertised with or without 622 PMSI Tunnel Attribute (PTA): 624 + With no PTA if an I-PMSI or S-PMSI A-D with IR/AR/BIER are 625 to be used. 627 + With PTA in any other case. 629 * The S-PMSI A-D route is triggered by the first packet of the 630 SFG and withdrawn when the flow is not received anymore. 631 Detecting when the G-source is no longer active is a local 632 implementation matter. The use of a timer is RECOMMENDED. 633 The timer is started when the traffic to G1 is not received. 634 Upon expiration of the timer, the PE will withdraw the route 636 3. Single Forwarder (SF) Election 638 If the PE with a local G-source receives one or more S-PMSI A-D 639 routes for the same SFG from a remote PE, it will run a Single 640 Forwarder (SF) Election based on the information encoded in the 641 DF Election EC. Two S-PMSI A-D routes are considered for the 642 same SFG if they are advertised for the same tenant, and their 643 Multicast Source Length, Multicast Source, Multicast Group Length 644 and Multicast Group fields match. 646 1. A given DF Alg can only be used if all the PEs running the DF 647 Alg have consistent input. For example, in an OISM network, 648 if the redundant G-sources for an SFG are attached to BDs 649 with different Ethernet Tags, the Default DF Election Alg 650 MUST NOT be used. 652 2. In case the there is a mismatch in the DF Election Alg or 653 capabilities advertised by two PEs competing for the SF, the 654 lowest PE IP address (given by the Originator Address in the 655 S- PMSI A-D route) will be used as a tie-breaker. 657 4. RPF check on the PEs attached to a redundant G-source 659 All the PEs with a local G-source for the SFG will add an RPF 660 check to the (*,G)/(S,G) state for the SFG. That RPF check 661 depends on the SF Election result: 663 1. The non-SF PEs discard any (*,G)/(S,G) packets for the SFG 664 received over a local AC. 666 2. The SF accepts any (*,G)/(S,G) packets for the SFG it 667 receives over one (and only one) local AC. 669 The solution above provides redundancy for SFGs and it does not 670 require an upgrade of the downstream PEs (PEs where there is 671 certainty that no redundant G-sources are connected). Other 672 G-sources for non-SFGs may exist in the same tenant domain. This 673 document does not change the existing procedures for non-SFG 674 G-sources. 676 The redundant G-sources can be single-homed or multi-homed to a BD in 677 the tenant domain. Multi-homing does not change the above 678 procedures. 680 Section 4.1 and Section 4.2 show two examples of the WS solution. 682 4.1. WS Example in an OISM Network 684 Figure 4 illustrates an example in which S1 and S2 are redundant G- 685 sources for the SFG (*,G1). 687 S1 (Single S2 688 | Forwarder) | 689 (S1,G1)| (S2,G1)| 690 | | 691 PE1 | PE2 | 692 +--------v---+ +--------v---+ 693 S-PMSI | +---+ | | +---+ | S-PMSI 694 (*,G1) | +---|BD1| | | +---|BD2| | (*,G1) 695 Pref200 | |VRF+---+ | | |VRF+---+ | Pref100 696 |SFG |+---+ | | | |+---+ | | SFG| 697 | +----|SBD|--+ | |-----------||SBD|--+ |---+ | 698 v | |+---+ | | |+---+ | | v 699 | +---------|--+ +------------+ | 700 SMET | | | SMET 701 (*,G1) | | (S1,G1) | (*,G1) 702 | +--------+------------------+ | 703 ^ | | | | ^ 704 | | | EVPN | | | 705 | | | OISM | | | 706 | | | | | | 707 PE3 | | PE4 | | PE5 708 +--------v---+ +------------+ | +------------+ 709 | +---+ | | +---+ | | | +---+ | 710 | +---|SBD| |-------| +---|SBD| |--|---| +---|SBD| | 711 | |VRF+---+ | | |VRF+---+ | | | |VRF+---+ | 712 |+---+ | | |+---+ | | | |+---+ | | 713 ||BD3|--+ | ||BD4|--+ | +--->|BD1|--+ | 714 |+---+ | |+---+ | |+---+ | 715 +------------+ +------------+ +------------+ 716 | ^ | ^ 717 | | IGMP | | IGMP 718 R1 | J(*,G1) R3 | J(*,G1) 720 Figure 4: WS Solution for Redundant G-Sources 722 The WS solution works as follows: 724 1. Configuration of the upstream PEs, PE1 and PE2 726 PE1 and PE2 are configured to know that G1 is an SFG for any 727 source and redundant G-sources for G1 may be attached to BD1 or 728 BD2, respectively. 730 2. Signaling the location of S1 and S2 for (*,G1) 732 Upon receiving (S1,G1) traffic on a local AC, PE1 and PE2 733 originate S-PMSI A-D (*,G1) routes with the SBD-RT, DF Election 734 Extended Community (EC) and a flag indicating that it conveys an 735 SFG. 737 3. Single Forwarder (SF) Election 739 Based on the DF Election EC content, PE1 and PE2 elect an SF for 740 (*,G1). Assuming both PEs agree on e.g., Preference based 741 Election as the algorithm to use [DF-PREF], and PE1 has a higher 742 preference, PE1 becomes the SF for (*,G1). 744 4. RPF check on the PEs attached to a redundant G-source 746 A. The non-SF, PE2, discards any (*,G1) packets received over a 747 local AC. 749 B. The SF, PE1 accepts (*,G1) packets it receives over one (and 750 only one) local AC. 752 The end result is that, upon receiving reports for (*,G1) or (S,G1), 753 the downstream PEs (PE3 and PE5) will issue SMET routes and will pull 754 the multicast SFG from PE1, and PE1 only. Upon a failure on S1, the 755 AC connected to S1 or PE1 itself will trigger the S-PMSI A-D (*,G1) 756 withdrawal from PE1 and PE2 will be promoted to SF. 758 4.2. WS Example in a Single-BD Tenant Network 760 Figure 5 illustrates an example in which S1 and S2 are redundant 761 G-sources for the SFG (*,G1), however, now all the G-sources and 762 receivers are connected to the same BD1 and there is no SBD. 764 S1 (Single S2 765 | Forwarder) | 766 (S1,G1)| (S2,G1)| 767 | | 768 PE1 | PE2 | 769 +--------v---+ +--------v---+ 770 S-PMSI | +---+ | | +---+ | S-PMSI 771 (*,G1) | |BD1| | | |BD1| | (*,G1) 772 Pref200 | +---+ | | +---+ | Pref100 773 |SFG | | | | | SFG| 774 | +---| | |-----------| |---+ | 775 v | | | | | | | v 776 | +---------|--+ +------------+ | 777 SMET | | | SMET 778 (*,G1) | | (S1,G1) | (*,G1) 779 | +--------+------------------------+ | 780 ^ | | | | ^ 781 | | | EVPN | | | 782 | | | | | | 783 | | | | | | 784 PE3 | | PE4 | | PE5 785 +--------v---+ +------------+ +-|----------+ 786 | +---+ | | +---+ | | | +---+ | 787 | |BD1| |-------| |BD1| |------| +--->|BD1| | 788 | +---+ | | +---+ | | +---+ | 789 | | | | | | 790 | | | | | | 791 | | | | | | 792 +------------+ +------------+ +------------+ 793 | ^ | ^ 794 | | IGMP | | IGMP 795 R1 | J(*,G1) R3 | J(*,G1) 797 Figure 5: WS Solution for Redundant G-Sources in the same BD 799 The same procedure as in Section 4.1 is valid here, being this a sub- 800 case of the one in Section 4.1. Upon receiving traffic for the SFG 801 G1, PE1 and PE2 advertise the S-PMSI A-D routes with BD1-RT only, 802 since there is no SBD. 804 5. Hot Standby (HS) Solution for Redundant G-Sources 806 If fast-failover is required upon the failure of a G-source or PE 807 attached to the G-source and the extra bandwidth consumption in the 808 tenant network is not an issue, the HS solution should be used. The 809 procedure is as follows: 811 1. Configuration of the PEs 812 As in the WS case, the upstream PEs where redundant G-sources may 813 exist need to be configured to know which groups (for any source 814 or a prefix containing the intended sources) are carrying only 815 flows from redundant G-sources, that is, the SFGs in the tenant 816 domain. 818 In addition (and this is not done in WS mode), the individual 819 redundant G-sources for an SFG need to be associated with an 820 Ethernet Segment (ES) on the upstream PEs. This is irrespective 821 of the redundant G-source being multi-homed or single-homed. 822 Even for single-homed redundant G-sources the HS procedure relies 823 on the ESI labels for the RPF check on downstream PEs. The term 824 "S-ESI" is used in this document to refer to an ESI associated to 825 a redundant G-source. 827 Contrary to what is specified in the WS method (that is 828 transparent to the downstream PEs), the support of the HS 829 procedure is required not only on the upstream PEs but also on 830 all downstream PEs connected to the receivers in the tenant 831 network. The downstream PEs do not need to be configured to know 832 the connected SFGs or their ESIs, since they get that information 833 from the upstream PEs. The downstream PEs will locally select an 834 ESI for a given SFG, and will program an RPF check to the 835 (*,G)/(S,G) state for the SFG that will discard (*,G)/(S,G) 836 packets from the rest of the ESIs. The selection of the ESI for 837 the SFG is based on local policy. 839 2. Signaling the location of a G-source for a given SFG and its 840 association to the local ESIs 842 Based on the configuration in step 1, an upstream PE configured 843 to follow the HS procedures: 845 A. Advertises an S-PMSI A-D (*,G)/(S,G) route per each 846 configured SFG. These routes need to be imported by all the 847 PEs of the tenant domain, therefore they will carry the BD-RT 848 and SBD-RT (if the SBD exists). The route also carries the 849 ESI Label Extended Communities needed to convey all the 850 S-ESIs associated to the SFG in the PE. 852 B. The S-PMSI A-D route will convey a PTA in the same cases as 853 in the WS procedure. 855 C. The S-PMSI A-D (*,G)/(S,G) route is triggered by the 856 configuration of the SFG and not by the reception of 857 G-traffic. 859 3. Distribution of DCB (Domain-wide Common Block) ESI-labels and 860 G-source ES routes 862 An upstream PE advertises the corresponding ES, A-D per EVI and 863 A-D per ES routes for the local S-ESIs. 865 A. ES routes are used for regular DF Election for the S-ES. 866 This document does not introduce any change in the procedures 867 related to the ES routes. 869 B. The A-D per EVI and A-D per ES routes MUST include the SBD-RT 870 since they have to be imported by all the PEs in the tenant 871 domain. 873 C. The A-D per ES routes convey the S-ESI labels that the 874 downstream PEs use to add the RPF check for the (*,G)/(S,G) 875 associated to the SFGs. This RPF check requires that all the 876 packets for a given G-source are received with the same S-ESI 877 label value on the downstream PEs. For example, if two 878 redundant G-sources are multi-homed to PE1 and PE2 via S-ES-1 879 and S-ES-2, PE1 and PE2 MUST allocate the same ESI label "Lx" 880 for S-ES-1 and they MUST allocate the same ESI label "Ly" for 881 S-ES-2. In addition, Lx and Ly MUST be different. These ESI 882 labels are Domain-wide Common Block (DCB) labels and follow 883 the allocation procedures in 884 [I-D.zzhang-bess-mvpn-evpn-aggregation-label]. 886 4. Processing of A-D per ES/EVI routes and RPF check on the 887 downstream PEs 889 The A-D per ES/EVI routes are received and imported in all the 890 PEs in the tenant domain. The processing of the A-D per ES/EVI 891 routes on a given PE depends on its configuration: 893 A. The PEs attached to the same BD of the BD-RT that is included 894 in the A-D per ES/EVI routes will process the routes as in 895 [RFC7432] and [RFC8584]. If the receiving PE is attached to 896 the same ES as indicated in the route, [RFC7432] split- 897 horizon procedures will be followed and the DF Election 898 candidate list may be modified as in [RFC8584] if the ES 899 supports the AC-DF capability. 901 B. The PEs that are not attached to the BD-RT but are attached 902 to the SBD of the received SBD-RT, will import the A-D per 903 ES/EVI routes and use them for redundant G-source mass 904 withdrawal, as explained later. 906 C. Upon importing A-D per ES routes corresponding to different 907 S-ESes, a PE MUST select a primary S-ES and add an RPF check 908 to the (*,G)/(S,G) state in the BD or SBD. This RPF check 909 will discard all ingress packets to (*,G)/(S,G) that are not 910 received with the ESI-label of the primary S-ES. The 911 selection of the primary S-ES is a matter of local policy. 913 5. G-traffic forwarding for redundant G-sources and fault detection 915 Assuming there is (*,G) or (S,G) state for the SFG with OIF 916 (Ouput Interface) list entries associated to remote EVPN PEs, 917 upon receiving G-traffic on a S-ES, the upstream PE will add a 918 S-ESI label at the bottom of the stack before forwarding the 919 traffic to the remote EVPN PEs. This label is allocated from a 920 DCB as described in step 3. If P2MP or BIER PMSIs are used, this 921 is not adding any new data path procedures on the upstream PEs 922 (except that the ESI-label is allocated from a DCB). However, if 923 IR/AR are used, this document extends the [RFC7432] procedures by 924 pushing the S-ESI labels not only on packets sent to the PEs that 925 shared the ES but also to the rest of the PEs in the tenant 926 domain. This allows the downstream PEs to receive all the 927 multicast packets from the redundant G-sources with a S-ESI label 928 (irrespective of the PMSI type and the local ESes), and discard 929 any packet that conveys a S-ESI label different from the primary 930 S-ESI label (that is, the label associated to the selected 931 primary S-ES), as discussed in step 4. 933 If the last A-D per EVI or the last A-D per ES route for the 934 primary S-ES is withdrawn, the downstream PE will immediately 935 select a new primary S-ES and will change the RPF check. Note 936 that if the S-ES is re-used for multiple tenant domains by the 937 upstream PEs, the withdrawal of all the A-D per-ES routes for a 938 S-ES provides a mass withdrawal capability that makes a 939 downstream PE to change the RPF check in all the tenant domains 940 using the same S-ES. 942 The withdrawal of the last S-PMSI A-D route for a given 943 (*,G)/(S,G) that represents a SFG SHOULD make the downstream PE 944 remove the S-ESI label based RPF check on (*,G)/(S,G). 946 5.1. Use of BFD in the HS Solution 948 In addition to using the state of the A-D per EVI, A-D per ES or 949 S-PMSI A-D routes to modify the RPF check on (*,G)/(S,G) as discussed 950 in Section 5, Bidirectional Forwarding Detection (BFD) protocol MAY 951 be used to find the status of the multipoint tunnels used to forward 952 the SFG from the redundant G-sources. 954 The BGP-BFD Attribute is advertised along with the S-PMSI A-D or IMET 955 routes (depending on whether I-PMSI or S-PMSI trees are used) and the 956 procedures described in [EVPN-BFD] are used to bootstrap multipoint 957 BFD sessions on the downstream PEs. 959 5.2. HS Example in an OISM Network 961 Figure 6 illustrates the HS model in an OISM network. Consider S1 962 and S2 are redundant G-sources for the SFG (*,G1) in BD1 (any source 963 using G1 is assumed to transmit an SFG). S1 and S2 are (all-active) 964 multi-homed to upstream PEs, PE1 and PE2. The receivers are attached 965 to downstream PEs, PE3 and PE5, in BD3 and BD1, respectively. S1 and 966 S2 are assumed to be connected by a LAG to the multi-homing PEs, and 967 the multicast traffic can use the link to either upstream PE. The 968 diagram illustrates how S1 sends the G-traffic to PE1 and PE1 969 forwards to the remote interested downstream PEs, whereas S2 sends to 970 PE2 and PE2 forwards further. In this HS model, the interested 971 downstream PEs will get duplicate G-traffic from the two G-sources 972 for the same SFG. While the diagram shows that the two flows are 973 forwarded by different upstream PEs, the all-active multi-homing 974 procedures may cause that the two flows come from the same upstream 975 PE. Therefore, finding out the upstream PE for the flow is not 976 enough for the downstream PEs to program the required RPF check to 977 avoid duplicate packets on the receiver. 979 S1(ESI-1) S2(ESI-2) 980 | | 981 | +----------------------+ 982 (S1,G1)| | (S2,G1)| 983 +----------------------+ | 984 PE1 | | PE2 | | 985 +--------v---+ +--------v---+ 986 | +---+ | | +---+ | S-PMSI 987 S-PMSI | +---|BD1| | | +---|BD1| | (*,G1) 988 (*,G1) | |VRF+---+ | | |VRF+---+ | SFG 989 SFG |+---+ | | | |+---+ | | | ESI1,2 990 ESI1,2 +---||SBD|--+ | |-----------||SBD|--+ | |---+ | 991 | | |+---+ | | EVPN |+---+ | | | v 992 v | +---------|--+ OISM +---------|--+ | 993 | | | | 994 | | (S1,G1) | | 995 SMET | +---------+------------------+ | | SMET 996 (*,G1) | | | | | (*,G1) 997 ^ | | +----------------------------+---+ | ^ 998 | | | | (S2,G1) | | | | 999 | | | | | | | | 1000 PE3 | | | PE4 | | | PE5 1001 +-------v-v--+ +------------+ | | +------------+ 1002 | +---+ | | +---+ | | | | +---+ | 1003 | +---|SBD| +-------| +---|SBD| |--|-|-| +---|SBD| | 1004 | |VRF+---+ | | |VRF+---+ | | | | |VRF+---+ | 1005 |+---+ | | |+---+ | | | | |+---+ | | 1006 ||BD3|--+ | ||BD4|--+ | | +->|BD1|--+ | 1007 |+---+ | |+---+ | +--->+---+ | 1008 +------------+ +------------+ +------------+ 1009 | ^ | ^ 1010 | | IGMP | | IGMP 1011 R1 | J(*,G1) R3 | J(*,G1) 1013 Figure 6: HS Solution for Multi-homed Redundant G-Sources in OISM 1015 In this scenario, the HS solution works as follows: 1017 1. Configuration of the upstream PEs, PE1 and PE2 1019 PE1 and PE2 are configured to know that G1 is an SFG for any 1020 source (a source prefix length could have been configured 1021 instead) and the redundant G-sources for G1 use S-ESIs ESI-1 and 1022 ESI-2 respectively. Both ESes are configured in both PEs and the 1023 ESI value can be configured or auto-derived. The ESI-label 1024 values are allocated from a DCB 1025 [I-D.zzhang-bess-mvpn-evpn-aggregation-label] and are configured 1026 either locally or by a centralized controller. We assume ESI-1 1027 is configured to use ESI-label-1 and ESI-2 to use ESI-label-2. 1029 The downstream PEs, PE3, PE4 and PE5 are configured to support HS 1030 mode and select the G-source with e.g., lowest ESI value. 1032 2. PE1 and PE2 advertise S-PMSI A-D (*,G1) and ES/A-D per ES/EVI 1033 routes 1035 Based on the configuration of step 1, PE1 and PE2 advertise an 1036 S-PMSI A-D (*,G1) route each. The route from each of the two PEs 1037 will include TWO ESI Label Extended Communities with ESI-1 and 1038 ESI-2 respectively, as well as BD1-RT plus SBD-RT and a flag that 1039 indicates that (*,G1) is an SFG. 1041 In addition, PE1 and PE2 advertise ES and A-D per ES/EVI routes 1042 for ESI-1 and ESI-2. The A-D per ES and per EVI routes will 1043 include the SBD-RT so that they can be imported by the downstream 1044 PEs that are not attached to BD1, e.g., PE3 and PE4. The A-D per 1045 ES routes will convey ESI-label-1 for ESI-1 (on both PEs) and 1046 ESI-label-2 for ESI-2 (also on both PEs). 1048 3. Processing of A-D per ES/EVI routes and RPF check 1050 PE1 and PE2 received each other's ES and A-D per ES/EVI routes. 1051 Regular [RFC7432] [RFC8584] procedures will be followed for DF 1052 Election and programming of the ESI-labels for egress split- 1053 horizon filtering. PE3/PE4 import the A-D per ES/EVI routes in 1054 the SBD. Since PE3 has created a (*,G1) state based on local 1055 interest, PE3 will add an RPF check to (*,G1) so that packets 1056 coming with ESI-label-2 are discarded (lowest ESI value is 1057 assumed to give the primary S-ES). 1059 4. G-traffic forwarding and fault detection 1061 PE1 receives G-traffic (S1,G1) on ES-1 that is forwarded within 1062 the context of BD1. Irrespective of the tunnel type, PE1 pushes 1063 ESI-label-1 at the bottom of the stack and the traffic gets to 1064 PE3 and PE5 with the mentioned ESI-label (PE4 has no local 1065 interested receivers). The G-traffic with ESI-label-1 passes the 1066 RPF check and it is forwarded to R1. In the same way, PE2 sends 1067 (S2,G1) with ESI-label-2, but this G-traffic does not pass the 1068 RPF check and gets discarded at PE3/PE5. 1070 If the link from S1 to PE1 fails, S1 will forward the (S1,G1) 1071 traffic to PE2 instead. PE1 withdraws the ES and A-D routes for 1072 ESI-1. Now both flows will be originated by PE2, however the RPF 1073 checks don't change in PE3/PE5. 1075 If subsequently, the link from S1 to PE2 fails, PE2 also 1076 withdraws the ES and A-D routes for ESI-1. Since PE3 and PE5 1077 have no longer A-D per ES/EVI routes for ESI-1, they immediately 1078 change the RPF check so that packets with ESI-label-2 are now 1079 accepted. 1081 Figure 7 illustrates a scenario where S1 and S2 are single-homed to 1082 PE1 and PE2 respectively. This scenario is a sub-case of the one in 1083 Figure 6. Now ES-1 only exists in PE1, hence only PE1 advertises the 1084 A-D per ES/EVI routes for ESI-1. Similarly, ES-2 only exists in PE2 1085 and PE2 is the only PE advertising A-D routes for ESI-2. The same 1086 procedures as in Figure 6 applies to this use-case. 1088 S1(ESI-1) S2(ESI-2) 1089 | | 1090 (S1,G1)| (S2,G1)| 1091 | | 1092 PE1 | PE2 | 1093 +--------v---+ +--------v---+ 1094 | +---+ | | +---+ | S-PMSI 1095 S-PMSI | +---|BD1| | | +---|BD2| | (*,G1) 1096 (*,G1) | |VRF+---+ | | |VRF+---+ | SFG 1097 SFG |+---+ | | | |+---+ | | | ESI2 1098 ESI1 +---||SBD|--+ | |-----------||SBD|--+ | |---+ | 1099 | | |+---+ | | EVPN |+---+ | | | v 1100 v | +---------|--+ OISM +---------|--+ | 1101 | | | | 1102 | | (S1,G1) | | 1103 SMET | +---------+------------------+ | | SMET 1104 (*,G1) | | | | | (*,G1) 1105 ^ | | +--------------------------------+----+ | ^ 1106 | | | | (S2,G1) | | | | 1107 | | | | | | | | 1108 PE3 | | | PE4 | | | PE5 1109 +-------v-v--+ +------------+ | +------v-----+ 1110 | +---+ | | +---+ | | | +---+ | 1111 | +---|SBD| |-------| +---|SBD| |--|---| +---|SBD| | 1112 | |VRF+---+ | | |VRF+---+ | | | |VRF+---+ | 1113 |+---+ | | |+---+ | | | |+---+ | | 1114 ||BD3|--+ | ||BD4|--+ | +--->|BD1|--+ | 1115 |+---+ | |+---+ | |+---+ | 1116 +------------+ +------------+ +------------+ 1117 | ^ | ^ 1118 | | IGMP | | IGMP 1119 R1 | J(*,G1) R3 | J(*,G1) 1121 Figure 7: HS Solution for single-homed Redundant G-Sources in OISM 1123 5.3. HS Example in a Single-BD Tenant Network 1125 Irrespective of the redundant G-sources being multi-homed or single- 1126 homed, if the tenant network has only one BD, e.g., BD1, the 1127 procedures of Section 5.2 still apply, only that routes do not 1128 include any SBD-RT and all the procedures apply to BD1 only. 1130 6. Security Considerations 1132 The same Security Considerations described in 1133 [I-D.ietf-bess-evpn-irb-mcast] are valid for this document. 1135 From a security perspective, out of the two methods described in this 1136 document, the WS method is considered lighter in terms of control 1137 plane and therefore its impact is low on the processing capabilities 1138 of the PEs. The HS method adds more burden on the control plane of 1139 all the PEs of the tenant with sources and receivers. 1141 7. IANA Considerations 1143 IANA is requested to allocate a Bit in the Multicast Flags Extended 1144 Community to indicate that a given (*,G) or (S,G) in an S-PMSI A-D 1145 route is associated with an SFG. 1147 8. References 1149 8.1. Normative References 1151 [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., 1152 Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based 1153 Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February 1154 2015, . 1156 [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ 1157 BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February 1158 2012, . 1160 [RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP 1161 Encodings and Procedures for Multicast in MPLS/BGP IP 1162 VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012, 1163 . 1165 [I-D.ietf-bess-evpn-igmp-mld-proxy] 1166 Sajassi, A., Thoria, S., Patel, K., Drake, J., and W. Lin, 1167 "IGMP and MLD Proxy for EVPN", draft-ietf-bess-evpn-igmp- 1168 mld-proxy-05 (work in progress), April 2020. 1170 [I-D.ietf-bess-evpn-irb-mcast] 1171 Lin, W., Zhang, Z., Drake, J., Rosen, E., Rabadan, J., and 1172 A. Sajassi, "EVPN Optimized Inter-Subnet Multicast (OISM) 1173 Forwarding", draft-ietf-bess-evpn-irb-mcast-05 (work in 1174 progress), October 2020. 1176 [RFC8584] Rabadan, J., Ed., Mohanty, S., Ed., Sajassi, A., Drake, 1177 J., Nagaraj, K., and S. Sathappan, "Framework for Ethernet 1178 VPN Designated Forwarder Election Extensibility", 1179 RFC 8584, DOI 10.17487/RFC8584, April 2019, 1180 . 1182 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1183 Requirement Levels", BCP 14, RFC 2119, 1184 DOI 10.17487/RFC2119, March 1997, 1185 . 1187 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1188 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1189 May 2017, . 1191 [I-D.zzhang-bess-mvpn-evpn-aggregation-label] 1192 Zhang, Z., Rosen, E., Lin, W., Li, Z., and I. Wijnands, 1193 "MVPN/EVPN Tunnel Aggregation with Common Labels", draft- 1194 zzhang-bess-mvpn-evpn-aggregation-label-01 (work in 1195 progress), April 2018. 1197 8.2. Informative References 1199 [EVPN-RT5] 1200 Rabadan, J., Henderickx, W., Drake, J., Lin, W., and A. 1201 Sajassi, "IP Prefix Advertisement in EVPN", internet- 1202 draft ietf-bess-evpn-prefix-advertisement-11.txt, May 1203 2018. 1205 [EVPN-BUM] 1206 Zhang, Z., Lin, W., Rabadan, J., and K. Patel, "Updates on 1207 EVPN BUM Procedures", internet-draft ietf-bess-evpn-bum- 1208 procedure-updates-06, June 2019. 1210 [DF-PREF] Rabadan, J., Sathappan, S., Przygienda, T., Lin, W., 1211 Drake, J., Sajassi, A., and S. Mohanty, "Preference-based 1212 EVPN DF Election", internet-draft ietf-bess-evpn-pref-df- 1213 04.txt, June 2019. 1215 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 1216 Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 1217 2006, . 1219 [EVPN-BFD] 1220 Govindan, V., Mallik, M., Sajassi, A., and G. Mirsky, 1221 "Fault Management for EVPN networks", internet-draft ietf- 1222 bess-evpn-bfd-01.txt, October 2020. 1224 Appendix A. Acknowledgments 1226 The authors would like to thank Mankamana Mishra and Ali Sajassi for 1227 their review and valuable comments. 1229 Appendix B. Contributors 1231 Authors' Addresses 1233 Jorge Rabadan (editor) 1234 Nokia 1235 777 Middlefield Road 1236 Mountain View, CA 94043 1237 USA 1239 Email: jorge.rabadan@nokia.com 1241 Jayant Kotalwar 1242 Nokia 1243 701 E. Middlefield Road 1244 Mountain View, CA 94043 USA 1246 Email: jayant.kotalwar@nokia.com 1248 Senthil Sathappan 1249 Nokia 1250 701 E. Middlefield Road 1251 Mountain View, CA 94043 USA 1253 Email: senthil.sathappan@nokia.com 1255 Zhaohui Zhang 1256 Juniper Networks 1258 Email: zzhang@juniper.net 1259 Wen Lin 1260 Juniper Networks 1262 Email: wlin@juniper.net 1264 Eric C. Rosen 1265 Individual 1267 Email: erosen52@gmail.com