idnits 2.17.1 draft-ietf-bess-evpn-redundant-mcast-source-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 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 (July 12, 2021) is 1011 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-09 == 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: January 13, 2022 Nokia 6 Z. Zhang 7 W. Lin 8 Juniper 9 E. Rosen 10 Individual 11 July 12, 2021 13 Multicast Source Redundancy in EVPN Networks 14 draft-ietf-bess-evpn-redundant-mcast-source-01 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 January 13, 2022. 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 . . . . . . . . 9 73 1.4. The Need for Redundant IP Multicast Sources in EVPN . . . 11 74 2. Solution Overview . . . . . . . . . . . . . . . . . . . . . . 11 75 3. BGP EVPN Extensions . . . . . . . . . . . . . . . . . . . . . 13 76 4. Warm Standby (WS) Solution for Redundant G-Sources . . . . . 14 77 4.1. WS Example in an OISM Network . . . . . . . . . . . . . . 16 78 4.2. WS Example in a Single-BD Tenant Network . . . . . . . . 18 79 5. Hot Standby (HS) Solution for Redundant G-Sources . . . . . . 19 80 5.1. Extensions for the Advertisement of DCB Labels . . . . . 22 81 5.2. Use of BFD in the HS Solution . . . . . . . . . . . . . . 23 82 5.3. HS Example in an OISM Network . . . . . . . . . . . . . . 24 83 5.4. HS Example in a Single-BD Tenant Network . . . . . . . . 28 84 6. Security Considerations . . . . . . . . . . . . . . . . . . . 28 85 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 86 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 28 87 8.1. Normative References . . . . . . . . . . . . . . . . . . 28 88 8.2. Informative References . . . . . . . . . . . . . . . . . 29 89 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 30 90 Appendix B. Contributors . . . . . . . . . . . . . . . . . . . . 30 91 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 93 1. Introduction 95 Intra and Inter-subnet IP Multicast forwarding are supported in EVPN 96 networks. [I-D.ietf-bess-evpn-igmp-mld-proxy] describes the 97 procedures required to optimize the delivery of IP Multicast flows 98 when Sources and Receivers are connected to the same EVPN BD 99 (Broadcast Domain), whereas [I-D.ietf-bess-evpn-irb-mcast] specifies 100 the procedures to support Inter-subnet IP Multicast in a tenant 101 network. Inter-subnet IP Multicast means that IP Multicast Source 102 and Receivers of the same multicast flow are connected to different 103 BDs of the same tenant. 105 [I-D.ietf-bess-evpn-igmp-mld-proxy], [I-D.ietf-bess-evpn-irb-mcast] 106 or conventional IP multicast techniques do not have a solution for 107 the case where a given multicast group carries more than one flow 108 (i.e., more than one source) and it is desired that each receiver 109 gets only one of the several flows. Multicast techniques assume 110 there are no redundant sources sending the same flows to the same IP 111 multicast group, and, in case there were redundant sources, the 112 receiver's application would deal with the received duplicated 113 packets. 115 As a workaround in conventional IP multicast (PIM or MVPN networks), 116 if all the redundant sources are given the same IP address, each 117 receiver will get only one flow. The reason is that, in conventional 118 IP multicast, (S,G) state is always created by the RP (Rendezvous 119 Point), and sometimes by the Last Hop Router (LHR). The (S,G) state 120 always binds the (S,G) flow to a source-specific tree, rooted at the 121 source IP address. If multiple sources have the same IP address, one 122 may end up with multiple (S,G) trees. However, the way the trees are 123 constructed ensures that any given LHR or RP is on at most one of 124 them. The use of an anycast address assigned to multiple sources may 125 be useful for warm standby redundancy solutions. However, on one 126 hand, it's not really helpful for hot standby redundancy solutions 127 and on the other hand, configuring the same IP address (in particular 128 IPv4 address) in multiple sources may bring issues if the sources 129 need to be reached by IP unicast traffic or if the sources are 130 attached to the same Broadcast Domain. 132 In addition, in the scenario where several G-sources are attached via 133 EVPN/OISM, there is not necessarily any (S,G) state created for the 134 redundant sources. The LHRs may have only (*,G) state, and there may 135 not be an RP (creating (S,G) state) either. Therefore, this document 136 extends the above two specifications and assumes that IP Multicast 137 source redundancy may exist. It also assumes that, in case two or 138 more sources send the same IP Multicast flows into the tenant domain, 139 the EVPN PEs need to avoid that the receivers get packet duplication. 141 The solution provides support for Warm Standby (WS) and Hot Standby 142 (HS) redundancy. WS is defined as the redundancy scenario in which 143 the upstream PEs attached to the redundant sources of the same 144 tenant, make sure that only one source of the same flow can send 145 multicast to the interested downstream PEs at the same time. In HS 146 the upstream PEs forward the redundant multicast flows to the 147 downstream PEs, and the downstream PEs make sure only one flow is 148 forwarded to the interested attached receivers. 150 1.1. Terminology 152 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 153 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 154 "OPTIONAL" in this document are to be interpreted as described in BCP 155 14 [RFC2119] [RFC8174] when, and only when, they appear in all 156 capitals, as shown here. 158 o PIM: Protocol Independent Multicast. 160 o MVPN: Multicast Virtual Private Networks. 162 o OISM: Optimized Inter-Subnet Multicast, as in 163 [I-D.ietf-bess-evpn-irb-mcast]. 165 o Broadcast Domain (BD): an emulated ethernet, such that two systems 166 on the same BD will receive each other's link-local broadcasts. 167 In this document, BD also refers to the instantiation of a 168 Broadcast Domain on an EVPN PE. An EVPN PE can be attached to one 169 or multiple BDs of the same tenant. 171 o Designated Forwarder (DF): as defined in [RFC7432], an ethernet 172 segment may be multi-homed (attached to more than one PE). An 173 ethernet segment may also contain multiple BDs, of one or more 174 EVIs. For each such EVI, one of the PEs attached to the segment 175 becomes that EVI's DF for that segment. Since a BD may belong to 176 only one EVI, we can speak unambiguously of the BD's DF for a 177 given segment. 179 o Upstream PE: in this document an Upstream PE is referred to as the 180 EVPN PE that is connected to the IP Multicast source or closest to 181 it. It receives the IP Multicast flows on local ACs (Attachment 182 Circuits). 184 o Downstream PE: in this document a Downstream PE is referred to as 185 the EVPN PE that is connected to the IP Multicast receivers and 186 gets the IP Multicast flows from remote EVPN PEs. 188 o G-traffic: any frame with an IP payload whose IP Destination 189 Address (IP DA) is a multicast group G. 191 o G-source: any system sourcing IP multicast traffic to G. 193 o SFG: Single Flow Group, i.e., a multicast group address G which 194 represents traffic that contains only a single flow. However, 195 multiple sources - with the same or different IP - may be 196 transmitting an SFG. 198 o Redundant G-source: a host or router that transmits an SFG in a 199 tenant network where there are more hosts or routers transmitting 200 the same SFG. Redundant G-sources for the same SFG SHOULD have 201 different IP addresses, although they MAY have the same IP address 202 when in different BDs of the same tenant network. Redundant 203 G-sources are assumed NOT to be "bursty" in this document (typical 204 example are Broadcast TV G-sources or similar). 206 o P-tunnel: Provider tunnel refers to the type of tree a given 207 upstream EVPN PE uses to forward multicast traffic to downstream 208 PEs. Examples of P-tunnels supported in this document are Ingress 209 Replication (IR), Assisted Replication (AR), Bit Indexed Explicit 210 Replication (BIER), multicast Label Distribution Protocol (mLDP) 211 or Point to Multi-Point Resource Reservation protocol with Traffic 212 Engineering extensions (P2MP RSVP-TE). 214 o Inclusive Multicast Tree or Inclusive Provider Multicast Service 215 Interface (I-PMSI): defined in [RFC6513], in this document it is 216 applicable only to EVPN and refers to the default multicast tree 217 for a given BD. All the EVPN PEs that are attached to a specific 218 BD belong to the I-PMSI for the BD. The I-PMSI trees are signaled 219 by EVPN Inclusive Multicast Ethernet Tag (IMET) routes. 221 o Selective Multicast Tree or Selective Provider Multicast Service 222 Interface (S-PMSI): defined in [RFC6513], in this document it is 223 applicable only to EVPN and refers to the multicast tree to which 224 only the interested PEs of a given BD belong to. There are two 225 types of EVPN S-PMSIs: 227 * EVPN S-PMSIs that require the advertisement of S-PMSI AD routes 228 from the upstream PE, as in [EVPN-BUM]. The interested 229 downstream PEs join the S-PMSI tree as in [EVPN-BUM]. 231 * EVPN S-PMSIs that don't require the advertisement of S-PMSI AD 232 routes. They use the forwarding information of the IMET 233 routes, but upstream PEs send IP Multicast flows only to 234 downstream PEs issuing Selective Multicast Ethernet Tag (SMET) 235 routes for the flow. These S-PMSIs are only supported with the 236 following P-tunnels: Ingress Replication (IR), Assisted 237 Replication (AR) and BIER. 239 This document also assumes familiarity with the terminology of 240 [RFC7432], [RFC4364], [RFC6513], [RFC6514], 242 [I-D.ietf-bess-evpn-igmp-mld-proxy], [I-D.ietf-bess-evpn-irb-mcast], 243 [EVPN-RT5] and [EVPN-BUM]. 245 1.2. Background on IP Multicast Delivery in EVPN Networks 247 IP Multicast is all about forwarding a single copy of a packet from a 248 source S to a group of receivers G along a multicast tree. That 249 multicast tree can be created in an EVPN tenant domain where S and 250 the receivers for G are connected to the same BD or different BD. In 251 the former case, we refer to Intra-subnet IP Multicast forwarding, 252 whereas the latter case will be referred to as Inter-subnet IP 253 Multicast forwarding. 255 1.2.1. Intra-subnet IP Multicast Forwarding 257 When the source S1 and receivers interested in G1 are attached to the 258 same BD, the EVPN network can deliver the IP Multicast traffic to the 259 receivers in two different ways (Figure 1): 261 S1 + S1 + 262 (a) + | (b) + | 263 | | (S1,G1) | | (S1,G1) 264 PE1 | | PE1 | | 265 +-----+ v +-----+ v 266 |+---+| |+---+| 267 ||BD1|| ||BD1|| 268 |+---+| |+---+| 269 +-----+ +-----+ 270 +-------|-------+ +-------| 271 | | | | | 272 v v v v v 273 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ 274 |+---+| |-----| |-----| |+---+| |+---+| |+---+| 275 ||BD1|| ||BD1|| ||BD1|| ||BD1|| ||BD1|| ||BD1|| 276 |+---+| |-----| |-----| |+---+| |+---+| |+---+| 277 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ 278 PE2| PE3| PE4| PE2| PE3| PE4 279 - | - - - | - | - | - - - | - 280 | | | | | | | | | 281 v v v v v 282 | R1 R2 | R3 | R1 R2 | R3 283 - - - G1- - - - - - G1- - - 285 Figure 1: Intra-subnet IP Multicast 287 Model (a) illustrated in Figure 1 is referred to as "IP Multicast 288 delivery as BUM traffic". This way of delivering IP Multicast 289 traffic does not require any extensions to [RFC7432], however, it 290 sends the IP Multicast flows to non-interested receivers, such as 291 e.g., R3 in Figure 1. In this example, downstream PEs can snoop 292 IGMP/MLD messages from the receivers so that layer-2 multicast state 293 is created and, for instance, PE4 can avoid sending (S1,G1) to R3, 294 since R3 is not interested in (S1,G1). 296 Model (b) in Figure 1 uses an S-PMSI to optimize the delivery of the 297 (S1,G1) flow. For instance, assuming PE1 uses IR, PE1 sends (S1,G1) 298 only to the downstream PEs that issued an SMET route for (S1,G1), 299 that is, PE2 and PE3. In case PE1 uses any P-tunnel different than 300 IR, AR or BIER, PE1 will advertise an S-PMSI A-D route for (S1,G1) 301 and PE2/PE2 will join that tree. 303 Procedures for Model (b) are specified in 304 [I-D.ietf-bess-evpn-igmp-mld-proxy]. 306 1.2.2. Inter-subnet IP Multicast Forwarding 308 If the source and receivers are attached to different BDs of the same 309 tenant domain, the EVPN network can also use Inclusive or Selective 310 Trees as depicted in Figure 2, models (a) and (b) respectively. 312 S1 + S1 + 313 (a) + | (b) + | 314 | | (S1,G1) | | (S1,G1) 315 PE1 | | PE1 | | 316 +-----+ v +-----+ v 317 |+---+| |+---+| 318 ||BD1|| ||BD1|| 319 |+---+| |+---+| 320 +-----+ +-----+ 321 +-------|-------+ +-------| 322 | | | | | 323 v v v v v 324 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ 325 |+---+| |+---+| |+---+| |+---+| |+---+| |+---+| 326 ||SBD|| ||SBD|| ||SBD|| ||SBD|| ||SBD|| ||SBD|| 327 |+-|-+| |+-|-+| |+---+| |+-|-+| |+-|-+| |+---+| 328 | VRF | | VRF | | VRF | | VRF | | VRF | | VRF | 329 |+-v-+| |+-v-+| |+---+| |+-v-+| |+-v-+| |+---+| 330 ||BD2|| ||BD3|| ||BD4|| ||BD2|| ||BD3|| ||BD4|| 331 |+-|-+| |+-|-+| |+---+| |+-|-+| |+-|-+| |+---+| 332 +--|--+ +--|--+ +-----+ +--|--+ +--|--+ +-----+ 333 PE2| PE3| PE4 PE2| PE3| PE4 334 - | - - - | - - | - - - | - 335 | | | | | | | | 336 v v v v 337 | R1 R2 | R3 | R1 R2 | R3 338 - - - G1- - - - - - G1- - - 340 Figure 2: Inter-subnet IP Multicast 342 [I-D.ietf-bess-evpn-irb-mcast] specifies the procedures to optimize 343 the Inter-subnet Multicast forwarding in an EVPN network. The IP 344 Multicast flows are always sent in the context of the source BD. As 345 described in [I-D.ietf-bess-evpn-irb-mcast], if the downstream PE is 346 not attached to the source BD, the IP Multicast flow is received on 347 the SBD (Supplementary Broadcast Domain), as in the example in 348 Figure 2. 350 [I-D.ietf-bess-evpn-irb-mcast] supports Inclusive or Selective 351 Multicast Trees, and as explained in Section 1.2.1, the Selective 352 Multicast Trees are setup in a different way, depending on the 353 P-tunnel being used by the source BD. As an example, model (a) in 354 Figure 2 illustrates the use of an Inclusive Multicast Tree for BD1 355 on PE1. Since the downstream PEs are not attached to BD1, they will 356 all receive (S1,G1) in the context of the SBD and will locally route 357 the flow to the local ACs. Model (b) uses a similar forwarding 358 model, however PE1 sends the (S1,G1) flow in a Selective Multicast 359 Tree. If the P-tunnel is IR, AR or BIER, PE1 does not need to 360 advertise an S-PMSI A-D route. 362 [I-D.ietf-bess-evpn-irb-mcast] is a superset of the procedures in 363 [I-D.ietf-bess-evpn-igmp-mld-proxy], in which sources and receivers 364 can be in the same or different BD of the same tenant. 365 [I-D.ietf-bess-evpn-irb-mcast] ensures every upstream PE attached to 366 a source will learn of all other PEs (attached to the same Tenant 367 Domain) that have interest in a particular set of flows. This is 368 because the downstream PEs advertise SMET routes for a set of flows 369 with the SBD's Route Target and they are imported by all the Upstream 370 PEs of the tenant. As a result of that, inter-subnet multicasting 371 can be done within the Tenant Domain, without requiring any 372 Rendezvous Points (RP), shared trees, UMH selection or any other 373 complex aspects of conventional multicast routing techniques. 375 1.3. Multi-Homed IP Multicast Sources in EVPN 377 Contrary to conventional multicast routing technologies, multi-homing 378 PEs attached to the same source can never create IP Multicast packet 379 duplication if the PEs use a multi-homed Ethernet Segment (ES). 380 Figure 3 illustrates this by showing two multi-homing PEs (PE1 and 381 PE2) that are attached to the same source (S1). We assume that S1 is 382 connected to an all-active ES by a layer-2 switch (SW1) with a Link 383 Aggregation Group (LAG) to PE1 and PE2. 385 S1 386 | 387 v 388 +-----+ 389 | SW1 | 390 +-----+ 391 +---- | | 392 (S1,G1)| +----+ +----+ 393 IGMP | | all-active | 394 J(S1,G1) PE1 v | ES-1 | PE2 395 +----> +-----------|---+ +---|-----------+ 396 | +---+ +---+ | | +---+ | 397 R1 <-----|BD2| |BD1| | | |BD1| | 398 | +---+---+---+ | | +---+---+ | 399 +----| |VRF| | | | |VRF| |----+ 400 | | +---+---+ | | | +---+---+ | | 401 | | |SBD| | | | |SBD| | | 402 | | +---+ | | | +---+ | | 403 | +------------|--+ +---------------+ | 404 | | | 405 | | | 406 | | | 407 | EVPN | ^ | 408 | OISM v PE3 | SMET | 409 | +---------------+ | (*,G1) | 410 | | +---+ | | | 411 | | |SBD| | | 412 | | +---+---+ | | 413 +--------------| |VRF| |----------------+ 414 | +---+---+---+ | 415 | |BD2| |BD3| | 416 | +-|-+ +-|-+ | 417 +---|-------|---+ 418 ^ | | ^ 419 IGMP | v v | IGMP 420 J(*,G1) | R2 R3 | J(S1,G1) 422 Figure 3: All-active Multi-homing and OISM 424 When receiving the (S1,G1) flow from S1, SW1 will choose only one 425 link to send the flow, as per [RFC7432]. Assuming PE1 is the 426 receiving PE on BD1, the IP Multicast flow will be forwarded as soon 427 as BD1 creates multicast state for (S1,G1) or (*,G1). In the example 428 of Figure 3, receivers R1, R2 and R3 are interested in the multicast 429 flow to G1. R1 will receive (S1,G1) directly via the IRB interface 430 as per [I-D.ietf-bess-evpn-irb-mcast]. Upon receiving IGMP reports 431 from R2 and R3, PE3 will issue an SMET (*,G1) route that will create 432 state in PE1's BD1. PE1 will therefore forward the IP Multicast flow 433 to PE3's SBD and PE3 will forward to R2 and R3, as per 434 [I-D.ietf-bess-evpn-irb-mcast] procedures. 436 When IP Multicast source multi-homing is required, EVPN multi-homed 437 Ethernet Segments MUST be used. EVPN multi-homing guarantees that 438 only one Upstream PE will forward a given multicast flow at the time, 439 avoiding packet duplication at the Downstream PEs. In addition, the 440 SMET route for a given flow creates state in all the multi-homing 441 Upstream PEs. Therefore, in case of failure on the Upstream PE 442 forwarding the flow, the backup Upstream PE can forward the flow 443 immediately. 445 This document assumes that multi-homing PEs attached to the same 446 source always use multi-homed Ethernet Segments. 448 1.4. The Need for Redundant IP Multicast Sources in EVPN 450 While multi-homing PEs to the same IP Multicast G-source provides 451 certain level of resiliency, multicast applications are often 452 critical in the Operator's network and greater level of redundancy is 453 required. This document assumes that: 455 a. Redundant G-sources for an SFG may exist in the EVPN tenant 456 network. A Redundant G-source is a host or a router that sends 457 an SFG in a tenant network where there is another host or router 458 sending traffic to the same SFG. 460 b. Those redundant G-sources may be in the same BD or different BDs 461 of the tenant. There must not be restrictions imposed on the 462 location of the receiver systems either. 464 c. The redundant G-sources can be single-homed to only one EVPN PE 465 or multi-homed to multiple EVPN PEs. 467 d. The EVPN PEs must avoid duplication of the same SFG on the 468 receiver systems. 470 2. Solution Overview 472 An SFG is represented as (*,G) if any source that issues multicast 473 traffic to G is a redundant G-source. Alternatively, this document 474 allows an SFG to be represented as (S,G), where S is a prefix of any 475 length. In this case, a source is considered a redundant G-source 476 for the SFG if it is contained in the prefix. This document allows 477 variable length prefixes in the Sources advertised in S-PMSI A-D 478 routes only for the particular application of redundant G-sources. 480 There are two redundant G-source solutions described in this 481 document: 483 o Warm Standby (WS) Solution 485 o Hot Standby (HS) Solution 487 The WS solution is considered an upstream-PE-based solution (since 488 downstream PEs do not participate in the procedures), in which all 489 the upstream PEs attached to redundant G-sources for an SFG 490 represented by (*,G) or (S,G) will elect a "Single Forwarder" (SF) 491 among themselves. Once a SF is elected, the upstream PEs add an 492 Reverse Path Forwarding (RPF) check to the (*,G) or (S,G) state for 493 the SFG: 495 o A non-SF upstream PE discards any (*,G)/(S,G) packets received 496 over a local AC. 498 o The SF accepts and forwards any (*,G)/(S,G) packets it receives 499 over a single local AC (for the SFG). In case (*,G)/(S,G) packets 500 for the SFG are received over multiple local ACs, they will be 501 discarded in all the local ACs but one. The procedure to choose 502 the local AC that accepts packets is a local implementation 503 matter. 505 A failure on the SF will result in the election of a new SF. The 506 Election requires BGP extensions on the existing EVPN routes. These 507 extensions and associated procedures are described in Section 3 and 508 Section 4 respectively. 510 In the HS solution the downstream PEs are the ones avoiding the SFG 511 duplication. The upstream PEs are aware of the locally attached 512 G-sources and add a unique Ethernet Segment Identifier label (ESI- 513 label) per SFG to the SFG packets forwarded to downstream PEs. The 514 downstream PEs pull the SFG from all the upstream PEs attached to the 515 redundant G-sources and avoid duplication on the receiver systems by 516 adding an RPF check to the (*,G) state for the SFG: 518 o A downstream PE discards any (*,G) packets it receives from the 519 "wrong G-source". 521 o The wrong G-source is identified in the data path by an ESI-label 522 that is different than the ESI-label used for the selected G- 523 source. 525 o Note that the ESI-label is used here for "ingress filtering" (at 526 the egress/downstream PE) as opposed to the [RFC7432] "egress 527 filtering" (at the egress/downstream PE) used in the split-horizon 528 procedures. In [RFC7432] the ESI-label indicates what egress ACs 529 must be skipped when forwarding BUM traffic to the egress. In 530 this document, the ESI-label indicates what ingress traffic must 531 be discarded at the downstream PE. 533 The use of ESI-labels for SFGs forwarded by upstream PEs require some 534 control plane and data plane extensions in the procedures used by 535 [RFC7432] for multi-homing. Upon failure of the selected G-source, 536 the downstream PE will switch over to a different selected G-source, 537 and will therefore change the RPF check for the (*,G) state. The 538 extensions and associated procedures are described in Section 3 and 539 Section 5 respectively. 541 An operator should use the HS solution if they require a fast fail- 542 over time and the additional bandwidth consumption is acceptable (SFG 543 packets are received multiple times on the downstream PEs). 544 Otherwise the operator should use the WS solution, at the expense of 545 a slower fail-over time in case of a G-source or upstream PE failure. 546 Besides bandwidth efficiency, another advantage of the WS solution is 547 that only the upstream PEs attached to the redundant G-sources for 548 the same SFG need to be upgraded to support the new procedures. 550 This document does not impose the support of both solutions on a 551 system. If one solution is supported, the support of the other 552 solution is OPTIONAL. 554 3. BGP EVPN Extensions 556 This document makes use of the following BGP EVPN extensions: 558 1. SFG flag in the Multicast Flags Extended Community 560 The Single Flow Group (SFG) flag is a new bit requested to IANA 561 out of the registry Multicast Flags Extended Community Flag 562 Values. This new flag is set for S-PMSI A-D routes that carry a 563 (*,G)/(S,G) SFG in the NLRI. 565 2. ESI Label Extended Community is used in S-PMSI A-D routes 567 The HS solution requires the advertisement of one or more ESI 568 Label Extended Communities [RFC7432] that encode the Ethernet 569 Segment Identifier(s) associated to an S-PMSI A-D (*,G)/(S,G) 570 route that advertises the presence of an SFG. Only the ESI Label 571 value in the extended community is relevant to the procedures in 572 this document. The Flags field in the extended community will be 573 advertised as 0x00 and ignored on reception. [RFC7432] specifies 574 that the ESI Label Extended Community is advertised along with 575 the A-D per ES route. This documents extends the use of this 576 extended community so that it can be advertised multiple times 577 (with different ESI values) along with the S-PMSI A-D route. 579 4. Warm Standby (WS) Solution for Redundant G-Sources 581 The general procedure is described as follows: 583 1. Configuration of the upstream PEs 585 Upstream PEs (possibly attached to redundant G-sources) need to 586 be configured to know which groups are carrying only flows from 587 redundant G-sources, that is, the SFGs in the tenant domain. 588 They will also be configured to know which local BDs may be 589 attached to a redundant G-source. The SFGs can be configured for 590 any source, E.g., SFG for "*", or for a prefix that contains 591 multiple sources that will issue the same SFG, i.e., 592 "10.0.0.0/30". In the latter case sources 10.0.0.1 and 10.0.0.2 593 are considered as Redundant G-sources, whereas 10.0.0.10 is not 594 considered a redundant G-source for the same SFG. 596 As an example: 598 * PE1 is configured to know that G1 is an SFG for any source and 599 redundant G-sources for G1 may be attached to BD1 or BD2. 601 * Or PE1 can also be configured to know that G1 is an SFG for 602 the sources contained in 10.0.0.0/30, and those redundant 603 G-sources may be attached to BD1 or BD2. 605 2. Signaling the location of a G-source for a given SFG 607 Upon receiving G-traffic for a configured SFG on a BD, an 608 upstream PE configured to follow this procedure, e.g., PE1: 610 * Originates an S-PMSI A-D (*,G)/(S,G) route for the SFG. An 611 (*,G) route is advertised if the SFG is configured for any 612 source, and an (S,G) route is advertised (where the Source can 613 have any length) if the SFG is configured for a prefix. 615 * The S-PMSI A-D route is imported by all the PEs attached to 616 the tenant domain. In order to do that, the route will use 617 the SBD-RT (Supplementary Broadcast Domain Route-Target) in 618 addition to the BD-RT of the BD over which the G-traffic is 619 received. The route SHOULD also carry a DF Election Extended 620 Community (EC) and a flag indicating that it conveys an SFG. 621 The DF Election EC and its use is specified in [RFC8584]. 623 * The above S-PMSI A-D route MAY be advertised with or without 624 PMSI Tunnel Attribute (PTA): 626 + With no PTA if an I-PMSI or S-PMSI A-D with IR/AR/BIER are 627 to be used. 629 + With PTA in any other case. 631 * The S-PMSI A-D route is triggered by the first packet of the 632 SFG and withdrawn when the flow is not received anymore. 633 Detecting when the G-source is no longer active is a local 634 implementation matter. The use of a timer is RECOMMENDED. 635 The timer is started when the traffic to G1 is not received. 636 Upon expiration of the timer, the PE will withdraw the route 638 3. Single Forwarder (SF) Election 640 If the PE with a local G-source receives one or more S-PMSI A-D 641 routes for the same SFG from a remote PE, it will run a Single 642 Forwarder (SF) Election based on the information encoded in the 643 DF Election EC. Two S-PMSI A-D routes are considered for the 644 same SFG if they are advertised for the same tenant, and their 645 Multicast Source Length, Multicast Source, Multicast Group Length 646 and Multicast Group fields match. 648 1. A given DF Alg can only be used if all the PEs running the DF 649 Alg have consistent input. For example, in an OISM network, 650 if the redundant G-sources for an SFG are attached to BDs 651 with different Ethernet Tags, the Default DF Election Alg 652 MUST NOT be used. 654 2. In case the there is a mismatch in the DF Election Alg or 655 capabilities advertised by two PEs competing for the SF, the 656 lowest PE IP address (given by the Originator Address in the 657 S- PMSI A-D route) will be used as a tie-breaker. 659 4. RPF check on the PEs attached to a redundant G-source 661 All the PEs with a local G-source for the SFG will add an RPF 662 check to the (*,G)/(S,G) state for the SFG. That RPF check 663 depends on the SF Election result: 665 1. The non-SF PEs discard any (*,G)/(S,G) packets for the SFG 666 received over a local AC. 668 2. The SF accepts any (*,G)/(S,G) packets for the SFG it 669 receives over one (and only one) local AC. 671 The solution above provides redundancy for SFGs and it does not 672 require an upgrade of the downstream PEs (PEs where there is 673 certainty that no redundant G-sources are connected). Other 674 G-sources for non-SFGs may exist in the same tenant domain. This 675 document does not change the existing procedures for non-SFG 676 G-sources. 678 The redundant G-sources can be single-homed or multi-homed to a BD in 679 the tenant domain. Multi-homing does not change the above 680 procedures. 682 Section 4.1 and Section 4.2 show two examples of the WS solution. 684 4.1. WS Example in an OISM Network 686 Figure 4 illustrates an example in which S1 and S2 are redundant G- 687 sources for the SFG (*,G1). 689 S1 (Single S2 690 | Forwarder) | 691 (S1,G1)| (S2,G1)| 692 | | 693 PE1 | PE2 | 694 +--------v---+ +--------v---+ 695 S-PMSI | +---+ | | +---+ | S-PMSI 696 (*,G1) | +---|BD1| | | +---|BD2| | (*,G1) 697 Pref200 | |VRF+---+ | | |VRF+---+ | Pref100 698 |SFG |+---+ | | | |+---+ | | SFG| 699 | +----|SBD|--+ | |-----------||SBD|--+ |---+ | 700 v | |+---+ | | |+---+ | | v 701 | +---------|--+ +------------+ | 702 SMET | | | SMET 703 (*,G1) | | (S1,G1) | (*,G1) 704 | +--------+------------------+ | 705 ^ | | | | ^ 706 | | | EVPN | | | 707 | | | OISM | | | 708 | | | | | | 709 PE3 | | PE4 | | PE5 710 +--------v---+ +------------+ | +------------+ 711 | +---+ | | +---+ | | | +---+ | 712 | +---|SBD| |-------| +---|SBD| |--|---| +---|SBD| | 713 | |VRF+---+ | | |VRF+---+ | | | |VRF+---+ | 714 |+---+ | | |+---+ | | | |+---+ | | 715 ||BD3|--+ | ||BD4|--+ | +--->|BD1|--+ | 716 |+---+ | |+---+ | |+---+ | 717 +------------+ +------------+ +------------+ 718 | ^ | ^ 719 | | IGMP | | IGMP 720 R1 | J(*,G1) R3 | J(*,G1) 722 Figure 4: WS Solution for Redundant G-Sources 724 The WS solution works as follows: 726 1. Configuration of the upstream PEs, PE1 and PE2 728 PE1 and PE2 are configured to know that G1 is an SFG for any 729 source and redundant G-sources for G1 may be attached to BD1 or 730 BD2, respectively. 732 2. Signaling the location of S1 and S2 for (*,G1) 734 Upon receiving (S1,G1) traffic on a local AC, PE1 and PE2 735 originate S-PMSI A-D (*,G1) routes with the SBD-RT, DF Election 736 Extended Community (EC) and a flag indicating that it conveys an 737 SFG. 739 3. Single Forwarder (SF) Election 741 Based on the DF Election EC content, PE1 and PE2 elect an SF for 742 (*,G1). Assuming both PEs agree on e.g., Preference based 743 Election as the algorithm to use [DF-PREF], and PE1 has a higher 744 preference, PE1 becomes the SF for (*,G1). 746 4. RPF check on the PEs attached to a redundant G-source 748 A. The non-SF, PE2, discards any (*,G1) packets received over a 749 local AC. 751 B. The SF, PE1 accepts (*,G1) packets it receives over one (and 752 only one) local AC. 754 The end result is that, upon receiving reports for (*,G1) or (S,G1), 755 the downstream PEs (PE3 and PE5) will issue SMET routes and will pull 756 the multicast SFG from PE1, and PE1 only. Upon a failure on S1, the 757 AC connected to S1 or PE1 itself will trigger the S-PMSI A-D (*,G1) 758 withdrawal from PE1 and PE2 will be promoted to SF. 760 4.2. WS Example in a Single-BD Tenant Network 762 Figure 5 illustrates an example in which S1 and S2 are redundant 763 G-sources for the SFG (*,G1), however, now all the G-sources and 764 receivers are connected to the same BD1 and there is no SBD. 766 S1 (Single S2 767 | Forwarder) | 768 (S1,G1)| (S2,G1)| 769 | | 770 PE1 | PE2 | 771 +--------v---+ +--------v---+ 772 S-PMSI | +---+ | | +---+ | S-PMSI 773 (*,G1) | |BD1| | | |BD1| | (*,G1) 774 Pref200 | +---+ | | +---+ | Pref100 775 |SFG | | | | | SFG| 776 | +---| | |-----------| |---+ | 777 v | | | | | | | v 778 | +---------|--+ +------------+ | 779 SMET | | | SMET 780 (*,G1) | | (S1,G1) | (*,G1) 781 | +--------+------------------------+ | 782 ^ | | | | ^ 783 | | | EVPN | | | 784 | | | | | | 785 | | | | | | 786 PE3 | | PE4 | | PE5 787 +--------v---+ +------------+ +-|----------+ 788 | +---+ | | +---+ | | | +---+ | 789 | |BD1| |-------| |BD1| |------| +--->|BD1| | 790 | +---+ | | +---+ | | +---+ | 791 | | | | | | 792 | | | | | | 793 | | | | | | 794 +------------+ +------------+ +------------+ 795 | ^ | ^ 796 | | IGMP | | IGMP 797 R1 | J(*,G1) R3 | J(*,G1) 799 Figure 5: WS Solution for Redundant G-Sources in the same BD 801 The same procedure as in Section 4.1 is valid here, being this a sub- 802 case of the one in Section 4.1. Upon receiving traffic for the SFG 803 G1, PE1 and PE2 advertise the S-PMSI A-D routes with BD1-RT only, 804 since there is no SBD. 806 5. Hot Standby (HS) Solution for Redundant G-Sources 808 If fast-failover is required upon the failure of a G-source or PE 809 attached to the G-source and the extra bandwidth consumption in the 810 tenant network is not an issue, the HS solution should be used. The 811 procedure is as follows: 813 1. Configuration of the PEs 814 As in the WS case, the upstream PEs where redundant G-sources may 815 exist need to be configured to know which groups (for any source 816 or a prefix containing the intended sources) are carrying only 817 flows from redundant G-sources, that is, the SFGs in the tenant 818 domain. 820 In addition (and this is not done in WS mode), the individual 821 redundant G-sources for an SFG need to be associated with an 822 Ethernet Segment (ES) on the upstream PEs. This is irrespective 823 of the redundant G-source being multi-homed or single-homed. 824 Even for single-homed redundant G-sources the HS procedure relies 825 on the ESI labels for the RPF check on downstream PEs. The term 826 "S-ESI" is used in this document to refer to an ESI associated to 827 a redundant G-source. 829 Contrary to what is specified in the WS method (that is 830 transparent to the downstream PEs), the support of the HS 831 procedure is required not only on the upstream PEs but also on 832 all downstream PEs connected to the receivers in the tenant 833 network. The downstream PEs do not need to be configured to know 834 the connected SFGs or their ESIs, since they get that information 835 from the upstream PEs. The downstream PEs will locally select an 836 ESI for a given SFG, and will program an RPF check to the 837 (*,G)/(S,G) state for the SFG that will discard (*,G)/(S,G) 838 packets from the rest of the ESIs. The selection of the ESI for 839 the SFG is based on local policy. 841 2. Signaling the location of a G-source for a given SFG and its 842 association to the local ESIs 844 Based on the configuration in step 1, an upstream PE configured 845 to follow the HS procedures: 847 A. Advertises an S-PMSI A-D (*,G)/(S,G) route per each 848 configured SFG. These routes need to be imported by all the 849 PEs of the tenant domain, therefore they will carry the BD-RT 850 and SBD-RT (if the SBD exists). The route also carries the 851 ESI Label Extended Communities needed to convey all the 852 S-ESIs associated to the SFG in the PE. 854 B. The S-PMSI A-D route will convey a PTA in the same cases as 855 in the WS procedure. 857 C. The S-PMSI A-D (*,G)/(S,G) route is triggered by the 858 configuration of the SFG and not by the reception of 859 G-traffic. 861 3. Distribution of DCB (Domain-wide Common Block) ESI-labels and 862 G-source ES routes 864 An upstream PE advertises the corresponding ES, A-D per EVI and 865 A-D per ES routes for the local S-ESIs. 867 A. ES routes are used for regular DF Election for the S-ES. 868 This document does not introduce any change in the procedures 869 related to the ES routes. 871 B. The A-D per EVI and A-D per ES routes MUST include the SBD-RT 872 since they have to be imported by all the PEs in the tenant 873 domain. 875 C. The A-D per ES routes convey the S-ESI labels that the 876 downstream PEs use to add the RPF check for the (*,G)/(S,G) 877 associated to the SFGs. This RPF check requires that all the 878 packets for a given G-source are received with the same S-ESI 879 label value on the downstream PEs. For example, if two 880 redundant G-sources are multi-homed to PE1 and PE2 via S-ES-1 881 and S-ES-2, PE1 and PE2 MUST allocate the same ESI label "Lx" 882 for S-ES-1 and they MUST allocate the same ESI label "Ly" for 883 S-ES-2. In addition, Lx and Ly MUST be different. These ESI 884 labels are Domain-wide Common Block (DCB) labels and follow 885 the allocation procedures in 886 [I-D.zzhang-bess-mvpn-evpn-aggregation-label]. 888 4. Processing of A-D per ES/EVI routes and RPF check on the 889 downstream PEs 891 The A-D per ES/EVI routes are received and imported in all the 892 PEs in the tenant domain. The processing of the A-D per ES/EVI 893 routes on a given PE depends on its configuration: 895 A. The PEs attached to the same BD of the BD-RT that is included 896 in the A-D per ES/EVI routes will process the routes as in 897 [RFC7432] and [RFC8584]. If the receiving PE is attached to 898 the same ES as indicated in the route, [RFC7432] split- 899 horizon procedures will be followed and the DF Election 900 candidate list may be modified as in [RFC8584] if the ES 901 supports the AC-DF capability. 903 B. The PEs that are not attached to the BD-RT but are attached 904 to the SBD of the received SBD-RT, will import the A-D per 905 ES/EVI routes and use them for redundant G-source mass 906 withdrawal, as explained later. 908 C. Upon importing A-D per ES routes corresponding to different 909 S-ESes, a PE MUST select a primary S-ES and add an RPF check 910 to the (*,G)/(S,G) state in the BD or SBD. This RPF check 911 will discard all ingress packets to (*,G)/(S,G) that are not 912 received with the ESI-label of the primary S-ES. The 913 selection of the primary S-ES is a matter of local policy. 915 5. G-traffic forwarding for redundant G-sources and fault detection 917 Assuming there is (*,G) or (S,G) state for the SFG with OIF 918 (Ouput Interface) list entries associated to remote EVPN PEs, 919 upon receiving G-traffic on a S-ES, the upstream PE will add a 920 S-ESI label at the bottom of the stack before forwarding the 921 traffic to the remote EVPN PEs. This label is allocated from a 922 DCB as described in step 3. If P2MP or BIER PMSIs are used, this 923 is not adding any new data path procedures on the upstream PEs 924 (except that the ESI-label is allocated from a DCB as described 925 in [I-D.zzhang-bess-mvpn-evpn-aggregation-label]). However, if 926 IR/AR are used, this document extends the [RFC7432] procedures by 927 pushing the S-ESI labels not only on packets sent to the PEs that 928 shared the ES but also to the rest of the PEs in the tenant 929 domain. This allows the downstream PEs to receive all the 930 multicast packets from the redundant G-sources with a S-ESI label 931 (irrespective of the PMSI type and the local ESes), and discard 932 any packet that conveys a S-ESI label different from the primary 933 S-ESI label (that is, the label associated to the selected 934 primary S-ES), as discussed in step 4. 936 If the last A-D per EVI or the last A-D per ES route for the 937 primary S-ES is withdrawn, the downstream PE will immediately 938 select a new primary S-ES and will change the RPF check. Note 939 that if the S-ES is re-used for multiple tenant domains by the 940 upstream PEs, the withdrawal of all the A-D per-ES routes for a 941 S-ES provides a mass withdrawal capability that makes a 942 downstream PE to change the RPF check in all the tenant domains 943 using the same S-ES. 945 The withdrawal of the last S-PMSI A-D route for a given 946 (*,G)/(S,G) that represents a SFG SHOULD make the downstream PE 947 remove the S-ESI label based RPF check on (*,G)/(S,G). 949 5.1. Extensions for the Advertisement of DCB Labels 951 DCB Labels are specified in 952 [I-D.zzhang-bess-mvpn-evpn-aggregation-label] and this document makes 953 use of them for the procedures described in Section 5. 954 [I-D.zzhang-bess-mvpn-evpn-aggregation-label] assumes that DCB labels 955 can only be used along with MP2MP/P2MP/BIER tunnels and that, if the 956 PMSI label is signaled as a DCB label, then the ESI label used for 957 multi-homing is also a DCB label. This document extends the use of 958 the DCB allocation for ESI labels so that: 960 a. DCB-allocated ESI labels MAY be used along with IR tunnels, and 962 b. DCB-allocated ESI labels MAY be used by PEs that do not use DCB- 963 allocated PMSI labels. 965 This control plane extension is indicated by adding the DCB-flag or 966 the Context Label Space ID Extended Community to the A-D per ES 967 route(s) advertised for the S-ES. The DCB-flag is encoded in the ESI 968 Label Extended Community as follows: 970 1 2 3 971 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 972 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 973 | Type=0x06 | Sub-Type=0x01 | Flags(1 octet)| Reserved=0 | 974 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 975 | Reserved=0 | ESI Label | 976 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 978 Figure 6: ESI Label Extended Community 980 This document defines the bit 5 in the Flags octect of the ESI Label 981 Extended Community as the ESI-DCB-flag. When the ESI-DCB-flag is 982 set, it indicates that the ESI label is a DCB label. Instead of the 983 DCB-flag, the A-D per ES route can also carry a Context Label Space 984 ID Extended Community, as described in 985 [I-D.zzhang-bess-mvpn-evpn-aggregation-label], only for A-D per ES 986 routes in this document, as opposed to x-PMSI/IMET routes. 988 5.2. Use of BFD in the HS Solution 990 In addition to using the state of the A-D per EVI, A-D per ES or 991 S-PMSI A-D routes to modify the RPF check on (*,G)/(S,G) as discussed 992 in Section 5, Bidirectional Forwarding Detection (BFD) protocol MAY 993 be used to find the status of the multipoint tunnels used to forward 994 the SFG from the redundant G-sources. 996 The BGP-BFD Attribute is advertised along with the S-PMSI A-D or IMET 997 routes (depending on whether I-PMSI or S-PMSI trees are used) and the 998 procedures described in [EVPN-BFD] are used to bootstrap multipoint 999 BFD sessions on the downstream PEs. 1001 5.3. HS Example in an OISM Network 1003 Figure 7 illustrates the HS model in an OISM network. Consider S1 1004 and S2 are redundant G-sources for the SFG (*,G1) in BD1 (any source 1005 using G1 is assumed to transmit an SFG). S1 and S2 are (all-active) 1006 multi-homed to upstream PEs, PE1 and PE2. The receivers are attached 1007 to downstream PEs, PE3 and PE5, in BD3 and BD1, respectively. S1 and 1008 S2 are assumed to be connected by a LAG to the multi-homing PEs, and 1009 the multicast traffic can use the link to either upstream PE. The 1010 diagram illustrates how S1 sends the G-traffic to PE1 and PE1 1011 forwards to the remote interested downstream PEs, whereas S2 sends to 1012 PE2 and PE2 forwards further. In this HS model, the interested 1013 downstream PEs will get duplicate G-traffic from the two G-sources 1014 for the same SFG. While the diagram shows that the two flows are 1015 forwarded by different upstream PEs, the all-active multi-homing 1016 procedures may cause that the two flows come from the same upstream 1017 PE. Therefore, finding out the upstream PE for the flow is not 1018 enough for the downstream PEs to program the required RPF check to 1019 avoid duplicate packets on the receiver. 1021 S1(ESI-1) S2(ESI-2) 1022 | | 1023 | +----------------------+ 1024 (S1,G1)| | (S2,G1)| 1025 +----------------------+ | 1026 PE1 | | PE2 | | 1027 +--------v---+ +--------v---+ 1028 | +---+ | | +---+ | S-PMSI 1029 S-PMSI | +---|BD1| | | +---|BD1| | (*,G1) 1030 (*,G1) | |VRF+---+ | | |VRF+---+ | SFG 1031 SFG |+---+ | | | |+---+ | | | ESI1,2 1032 ESI1,2 +---||SBD|--+ | |-----------||SBD|--+ | |---+ | 1033 | | |+---+ | | EVPN |+---+ | | | v 1034 v | +---------|--+ OISM +---------|--+ | 1035 | | | | 1036 | | (S1,G1) | | 1037 SMET | +---------+------------------+ | | SMET 1038 (*,G1) | | | | | (*,G1) 1039 ^ | | +----------------------------+---+ | ^ 1040 | | | | (S2,G1) | | | | 1041 | | | | | | | | 1042 PE3 | | | PE4 | | | PE5 1043 +-------v-v--+ +------------+ | | +------------+ 1044 | +---+ | | +---+ | | | | +---+ | 1045 | +---|SBD| +-------| +---|SBD| |--|-|-| +---|SBD| | 1046 | |VRF+---+ | | |VRF+---+ | | | | |VRF+---+ | 1047 |+---+ | | |+---+ | | | | |+---+ | | 1048 ||BD3|--+ | ||BD4|--+ | | +->|BD1|--+ | 1049 |+---+ | |+---+ | +--->+---+ | 1050 +------------+ +------------+ +------------+ 1051 | ^ | ^ 1052 | | IGMP | | IGMP 1053 R1 | J(*,G1) R3 | J(*,G1) 1055 Figure 7: HS Solution for Multi-homed Redundant G-Sources in OISM 1057 In this scenario, the HS solution works as follows: 1059 1. Configuration of the upstream PEs, PE1 and PE2 1061 PE1 and PE2 are configured to know that G1 is an SFG for any 1062 source (a source prefix length could have been configured 1063 instead) and the redundant G-sources for G1 use S-ESIs ESI-1 and 1064 ESI-2 respectively. Both ESes are configured in both PEs and the 1065 ESI value can be configured or auto-derived. The ESI-label 1066 values are allocated from a DCB 1067 [I-D.zzhang-bess-mvpn-evpn-aggregation-label] and are configured 1068 either locally or by a centralized controller. We assume ESI-1 1069 is configured to use ESI-label-1 and ESI-2 to use ESI-label-2. 1071 The downstream PEs, PE3, PE4 and PE5 are configured to support HS 1072 mode and select the G-source with e.g., lowest ESI value. 1074 2. PE1 and PE2 advertise S-PMSI A-D (*,G1) and ES/A-D per ES/EVI 1075 routes 1077 Based on the configuration of step 1, PE1 and PE2 advertise an 1078 S-PMSI A-D (*,G1) route each. The route from each of the two PEs 1079 will include TWO ESI Label Extended Communities with ESI-1 and 1080 ESI-2 respectively, as well as BD1-RT plus SBD-RT and a flag that 1081 indicates that (*,G1) is an SFG. 1083 In addition, PE1 and PE2 advertise ES and A-D per ES/EVI routes 1084 for ESI-1 and ESI-2. The A-D per ES and per EVI routes will 1085 include the SBD-RT so that they can be imported by the downstream 1086 PEs that are not attached to BD1, e.g., PE3 and PE4. The A-D per 1087 ES routes will convey ESI-label-1 for ESI-1 (on both PEs) and 1088 ESI-label-2 for ESI-2 (also on both PEs). 1090 3. Processing of A-D per ES/EVI routes and RPF check 1092 PE1 and PE2 received each other's ES and A-D per ES/EVI routes. 1093 Regular [RFC7432] [RFC8584] procedures will be followed for DF 1094 Election and programming of the ESI-labels for egress split- 1095 horizon filtering. PE3/PE4 import the A-D per ES/EVI routes in 1096 the SBD. Since PE3 has created a (*,G1) state based on local 1097 interest, PE3 will add an RPF check to (*,G1) so that packets 1098 coming with ESI-label-2 are discarded (lowest ESI value is 1099 assumed to give the primary S-ES). 1101 4. G-traffic forwarding and fault detection 1103 PE1 receives G-traffic (S1,G1) on ES-1 that is forwarded within 1104 the context of BD1. Irrespective of the tunnel type, PE1 pushes 1105 ESI-label-1 at the bottom of the stack and the traffic gets to 1106 PE3 and PE5 with the mentioned ESI-label (PE4 has no local 1107 interested receivers). The G-traffic with ESI-label-1 passes the 1108 RPF check and it is forwarded to R1. In the same way, PE2 sends 1109 (S2,G1) with ESI-label-2, but this G-traffic does not pass the 1110 RPF check and gets discarded at PE3/PE5. 1112 If the link from S1 to PE1 fails, S1 will forward the (S1,G1) 1113 traffic to PE2 instead. PE1 withdraws the ES and A-D routes for 1114 ESI-1. Now both flows will be originated by PE2, however the RPF 1115 checks don't change in PE3/PE5. 1117 If subsequently, the link from S1 to PE2 fails, PE2 also 1118 withdraws the ES and A-D routes for ESI-1. Since PE3 and PE5 1119 have no longer A-D per ES/EVI routes for ESI-1, they immediately 1120 change the RPF check so that packets with ESI-label-2 are now 1121 accepted. 1123 Figure 8 illustrates a scenario where S1 and S2 are single-homed to 1124 PE1 and PE2 respectively. This scenario is a sub-case of the one in 1125 Figure 7. Now ES-1 only exists in PE1, hence only PE1 advertises the 1126 A-D per ES/EVI routes for ESI-1. Similarly, ES-2 only exists in PE2 1127 and PE2 is the only PE advertising A-D routes for ESI-2. The same 1128 procedures as in Figure 7 applies to this use-case. 1130 S1(ESI-1) S2(ESI-2) 1131 | | 1132 (S1,G1)| (S2,G1)| 1133 | | 1134 PE1 | PE2 | 1135 +--------v---+ +--------v---+ 1136 | +---+ | | +---+ | S-PMSI 1137 S-PMSI | +---|BD1| | | +---|BD2| | (*,G1) 1138 (*,G1) | |VRF+---+ | | |VRF+---+ | SFG 1139 SFG |+---+ | | | |+---+ | | | ESI2 1140 ESI1 +---||SBD|--+ | |-----------||SBD|--+ | |---+ | 1141 | | |+---+ | | EVPN |+---+ | | | v 1142 v | +---------|--+ OISM +---------|--+ | 1143 | | | | 1144 | | (S1,G1) | | 1145 SMET | +---------+------------------+ | | SMET 1146 (*,G1) | | | | | (*,G1) 1147 ^ | | +--------------------------------+----+ | ^ 1148 | | | | (S2,G1) | | | | 1149 | | | | | | | | 1150 PE3 | | | PE4 | | | PE5 1151 +-------v-v--+ +------------+ | +------v-----+ 1152 | +---+ | | +---+ | | | +---+ | 1153 | +---|SBD| |-------| +---|SBD| |--|---| +---|SBD| | 1154 | |VRF+---+ | | |VRF+---+ | | | |VRF+---+ | 1155 |+---+ | | |+---+ | | | |+---+ | | 1156 ||BD3|--+ | ||BD4|--+ | +--->|BD1|--+ | 1157 |+---+ | |+---+ | |+---+ | 1158 +------------+ +------------+ +------------+ 1159 | ^ | ^ 1160 | | IGMP | | IGMP 1161 R1 | J(*,G1) R3 | J(*,G1) 1163 Figure 8: HS Solution for single-homed Redundant G-Sources in OISM 1165 5.4. HS Example in a Single-BD Tenant Network 1167 Irrespective of the redundant G-sources being multi-homed or single- 1168 homed, if the tenant network has only one BD, e.g., BD1, the 1169 procedures of Section 5.2 still apply, only that routes do not 1170 include any SBD-RT and all the procedures apply to BD1 only. 1172 6. Security Considerations 1174 The same Security Considerations described in 1175 [I-D.ietf-bess-evpn-irb-mcast] are valid for this document. 1177 From a security perspective, out of the two methods described in this 1178 document, the WS method is considered lighter in terms of control 1179 plane and therefore its impact is low on the processing capabilities 1180 of the PEs. The HS method adds more burden on the control plane of 1181 all the PEs of the tenant with sources and receivers. 1183 7. IANA Considerations 1185 IANA is requested to allocate a Bit in the Multicast Flags Extended 1186 Community to indicate that a given (*,G) or (S,G) in an S-PMSI A-D 1187 route is associated with an SFG. 1189 8. References 1191 8.1. Normative References 1193 [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., 1194 Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based 1195 Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February 1196 2015, . 1198 [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ 1199 BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February 1200 2012, . 1202 [RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP 1203 Encodings and Procedures for Multicast in MPLS/BGP IP 1204 VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012, 1205 . 1207 [I-D.ietf-bess-evpn-igmp-mld-proxy] 1208 Sajassi, A., Thoria, S., Mishra, M., PAtel, K., Drake, J., 1209 and W. Lin, "IGMP and MLD Proxy for EVPN", draft-ietf- 1210 bess-evpn-igmp-mld-proxy-09 (work in progress), April 1211 2021. 1213 [I-D.ietf-bess-evpn-irb-mcast] 1214 Lin, W., Zhang, Z., Drake, J., Rosen, E. C., Rabadan, J., 1215 and A. Sajassi, "EVPN Optimized Inter-Subnet Multicast 1216 (OISM) Forwarding", draft-ietf-bess-evpn-irb-mcast-05 1217 (work in progress), October 2020. 1219 [RFC8584] Rabadan, J., Ed., Mohanty, S., Ed., Sajassi, A., Drake, 1220 J., Nagaraj, K., and S. Sathappan, "Framework for Ethernet 1221 VPN Designated Forwarder Election Extensibility", 1222 RFC 8584, DOI 10.17487/RFC8584, April 2019, 1223 . 1225 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1226 Requirement Levels", BCP 14, RFC 2119, 1227 DOI 10.17487/RFC2119, March 1997, 1228 . 1230 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1231 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1232 May 2017, . 1234 [I-D.zzhang-bess-mvpn-evpn-aggregation-label] 1235 Zhang, Z., Rosen, E., Lin, W., Li, Z., and I. Wijnands, 1236 "MVPN/EVPN Tunnel Aggregation with Common Labels", draft- 1237 zzhang-bess-mvpn-evpn-aggregation-label-01 (work in 1238 progress), April 2018. 1240 8.2. Informative References 1242 [EVPN-RT5] 1243 Rabadan, J., Henderickx, W., Drake, J., Lin, W., and A. 1244 Sajassi, "IP Prefix Advertisement in EVPN", internet- 1245 draft ietf-bess-evpn-prefix-advertisement-11.txt, May 1246 2018. 1248 [EVPN-BUM] 1249 Zhang, Z., Lin, W., Rabadan, J., and K. Patel, "Updates on 1250 EVPN BUM Procedures", internet-draft ietf-bess-evpn-bum- 1251 procedure-updates-06, June 2019. 1253 [DF-PREF] Rabadan, J., Sathappan, S., Przygienda, T., Lin, W., 1254 Drake, J., Sajassi, A., and S. Mohanty, "Preference-based 1255 EVPN DF Election", internet-draft ietf-bess-evpn-pref-df- 1256 04.txt, June 2019. 1258 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 1259 Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 1260 2006, . 1262 [EVPN-BFD] 1263 Govindan, V., Mallik, M., Sajassi, A., and G. Mirsky, 1264 "Fault Management for EVPN networks", internet-draft ietf- 1265 bess-evpn-bfd-01.txt, October 2020. 1267 Appendix A. Acknowledgments 1269 The authors would like to thank Mankamana Mishra and Ali Sajassi for 1270 their review and valuable comments. 1272 Appendix B. Contributors 1274 Authors' Addresses 1276 Jorge Rabadan (editor) 1277 Nokia 1278 777 Middlefield Road 1279 Mountain View, CA 94043 1280 USA 1282 Email: jorge.rabadan@nokia.com 1284 Jayant Kotalwar 1285 Nokia 1286 701 E. Middlefield Road 1287 Mountain View, CA 94043 USA 1289 Email: jayant.kotalwar@nokia.com 1291 Senthil Sathappan 1292 Nokia 1293 701 E. Middlefield Road 1294 Mountain View, CA 94043 USA 1296 Email: senthil.sathappan@nokia.com 1298 Zhaohui Zhang 1299 Juniper Networks 1301 Email: zzhang@juniper.net 1302 Wen Lin 1303 Juniper Networks 1305 Email: wlin@juniper.net 1307 Eric C. Rosen 1308 Individual 1310 Email: erosen52@gmail.com