idnits 2.17.1 draft-ietf-bess-evpn-per-mcast-flow-df-election-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([I-D.ietf-bess-evpn-igmp-mld-proxy], [I-D.ietf-bess-evpn-df-election-framework], [RFC7432]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 8, 2019) is 1869 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) == Unused Reference: 'HRW1999' is defined on line 462, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'HRW1999' == Outdated reference: A later version (-09) exists of draft-ietf-bess-evpn-df-election-framework-03 == Outdated reference: A later version (-08) exists of draft-ietf-bess-evpn-fast-df-recovery-00 == Outdated reference: A later version (-21) exists of draft-ietf-bess-evpn-igmp-mld-proxy-00 ** Obsolete normative reference: RFC 4601 (Obsoleted by RFC 7761) Summary: 2 errors (**), 0 flaws (~~), 5 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BESS WorkGroup Ali. Sajassi 3 Internet-Draft Mankamana. Mishra 4 Intended status: Standards Track Samir. Thoria 5 Expires: September 9, 2019 Cisco Systems 6 Jorge. Rabadan 7 Nokia 8 John. Drake 9 Juniper Networks 10 March 8, 2019 12 Per multicast flow Designated Forwarder Election for EVPN 13 draft-ietf-bess-evpn-per-mcast-flow-df-election-01 15 Abstract 17 [RFC7432] describes mechanism to elect designated forwarder (DF) at 18 the granularity of (ESI, EVI) which is per VLAN (or per group of 19 VLANs in case of VLAN bundle or VLAN-aware bundle service). However, 20 the current level of granularity of per-VLAN is not adequate for some 21 applications.[I-D.ietf-bess-evpn-df-election-framework] improves base 22 line DF election by introducing HRW DF election. 23 [I-D.ietf-bess-evpn-igmp-mld-proxy] introduces applicability of EVPN 24 to Multicast flows, routes to sync them and a default DF election. 25 This document is an extension to HRW base draft 26 [I-D.ietf-bess-evpn-df-election-framework] and further enhances HRW 27 algorithm for the Multicast flows to do DF election at the 28 granularity of (ESI, VLAN, Mcast flow). 30 Status of This Memo 32 This Internet-Draft is submitted in full conformance with the 33 provisions of BCP 78 and BCP 79. 35 Internet-Drafts are working documents of the Internet Engineering 36 Task Force (IETF). Note that other groups may also distribute 37 working documents as Internet-Drafts. The list of current Internet- 38 Drafts is at https://datatracker.ietf.org/drafts/current/. 40 Internet-Drafts are draft documents valid for a maximum of six months 41 and may be updated, replaced, or obsoleted by other documents at any 42 time. It is inappropriate to use Internet-Drafts as reference 43 material or to cite them other than as "work in progress." 45 This Internet-Draft will expire on September 9, 2019. 47 Copyright Notice 49 Copyright (c) 2019 IETF Trust and the persons identified as the 50 document authors. All rights reserved. 52 This document is subject to BCP 78 and the IETF Trust's Legal 53 Provisions Relating to IETF Documents 54 (https://trustee.ietf.org/license-info) in effect on the date of 55 publication of this document. Please review these documents 56 carefully, as they describe your rights and restrictions with respect 57 to this document. Code Components extracted from this document must 58 include Simplified BSD License text as described in Section 4.e of 59 the Trust Legal Provisions and are provided without warranty as 60 described in the Simplified BSD License. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 65 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 66 3. The DF Election Extended Community . . . . . . . . . . . . . 4 67 4. HRW base per multicast flow EVPN DF election . . . . . . . . 6 68 4.1. DF election for IGMP (S,G) membership request . . . . . . 6 69 4.2. DF election for IGMP (*,G) membership request . . . . . . 7 70 4.3. Default DF election procedure . . . . . . . . . . . . . . 7 71 5. Procedure to use per multicast flow DF election algorithm . . 8 72 6. Triggers for DF re-election . . . . . . . . . . . . . . . . . 9 73 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 74 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 75 9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 10 76 10. Normative References . . . . . . . . . . . . . . . . . . . . 10 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 79 1. Introduction 81 EVPN based All-Active multi-homing is becoming the basic building 82 block for providing redundancy in next generation data center 83 deployments as well as service provider access/aggregation networks. 84 [RFC7432] defines the role of a designated forwarder as the node in 85 the redundancy group that is responsible to forward Broadcast, 86 Unknown unicast, Multicast (BUM) traffic on that Ethernet Segment (CE 87 device or network) in All-Active multi-homing. 89 The default DF election mechanism allows selecting a DF at the 90 granularity of (ES, VLAN) or (ES, VLAN bundle) for BUM traffic. 91 While [I-D.ietf-bess-evpn-df-election-framework] improve on the 92 default DF election procedure, some service provider residential 93 applications require a finer granularity, where whole multicast flows 94 are delivered on a single VLAN. 96 (Multicast sources) 97 | 98 | 99 +---+ 100 |CE4| 101 +---+ 102 | 103 | 104 +-----+-----+ 105 +------------| PE-1 |------------+ 106 | | | | 107 | +-----------+ | 108 | | 109 | EVPN | 110 | | 111 | | 112 | (DF) (NDF)| 113 +-----------+ +-----------+ 114 | |EVI-1| | | |EVI-1| | 115 | PE-2 |------------------------| PE-3 | 116 +-----------+ +-----------+ 117 AC1 \ / AC2 118 \ / 119 \ ESI-1 / 120 \ / 121 \ / 122 +---------------+ 123 | CE2 | 124 +---------------+ 125 | 126 | 127 (Multiple receivers) 129 Figure 1: Multi-homing Network of EVPN 130 for IPTV deployments 132 Consider the above topology, which shows a typical residential 133 deployment scenario, where multiple receivers are behind an all- 134 active multihoming segments. All of the multicast traffic is 135 provisioned on EVI-1. Assume PE-2 get elected as DF. According to 136 [RFC7432], PE-2 will be responsible for forwarding multicast traffic 137 to that Ethernet segment. 139 o Forcing sole data plane forwarding responsibility on PE-2 is a 140 limitation in the current DF election mechanism. The topology at 141 Figure 1 would always have only one of the PE to be elected as DF 142 irrespective of which current DF election mechanism is in use 143 defined in [RFC7432] or 144 [I-D.ietf-bess-evpn-df-election-framework]. 146 o The problem may also manifest itself in a different way. For 147 example, AC1 happens to use 80% of its available bandwidth to 148 forward unicast data. And now there is need to serve multicast 149 receivers where it would require more than 20% of AC1 bandwidth. 150 In this case, AC1 becomes oversubscribed and multicast traffic 151 drop would be observed even though there is already another link 152 (AC2) present in network which can be used more efficiently load 153 balance the multicast traffic. 155 In this document, we propose an extension to the HRW base draft to 156 allow DF election at the granularity of (ESI, VLAN, Mcast flow) which 157 would allow multicast flows to be better distributed among redundancy 158 group PEs to share the load. 160 2. Terminology 162 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 163 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 164 document are to be interpreted as described in [RFC2119] . 166 With respect to EVPN, this document follows the terminology that has 167 been defined in [RFC7432] and [RFC4601] for multicast terminology. 169 3. The DF Election Extended Community 171 [I-D.ietf-bess-evpn-df-election-framework] defines an extended 172 community, which would be used for PEs in redundancy group to reach a 173 consensus as to which DF election procedure is desired. A PE can 174 notify other participating PEs in redundancy group about its 175 willingness to support Per multicast flow base DF election capability 176 by signaling a DF election extended community along with Ethernet- 177 Segment Route (Type-4). The current proposal extends the existing 178 extended community defined in 179 [I-D.ietf-bess-evpn-df-election-framework]. This draft defines new a 180 DF type. 182 o DF type (1 octet) - Encodes the DF Election algorithm values 183 (between 0 and 255) that the advertising PE desires to use for the 184 ES. 186 * Type 0: Default DF Election algorithm, or modulus-based 187 algorithms in [RFC7432]. 189 * Type 1: HRW algorithm defined in 190 [I-D.ietf-bess-evpn-df-election-framework] 192 * Type 2: Handshake defines in 193 [I-D.ietf-bess-evpn-fast-df-recovery] 195 * Type 3: Time-Synch defined in 196 [I-D.ietf-bess-evpn-fast-df-recovery] 198 * Type 4: HRW base per (S,G) multicast flow DF election 199 (explained in this document) 201 * Type 5: HRW base per (*,G) multicast flow DF election 202 (explained in this document) 204 * Type 6 - 254: Unassigned 206 * Type 255: Reserved for Experimental Use. 208 o The [I-D.ietf-bess-evpn-df-election-framework] describes encoding 209 of capabilities associated to the DF election algorithm using 210 Bitmap field. When these capabilities bits are set along with the 211 DF type-4 and type-5, they need to be interpreted in context of 212 this new DF type-4 and type-5. For example, consider a scenario 213 where all PEs in the same redundancy group (same ES) can support 214 both AC-DF, DF type-4 and DF type-5 and receive such indications 215 from the other PEs in the ES. In this scenario, if a VLAN is not 216 active in a PE, then the DF election procedure on all PEs in the 217 ES should factor that in and exclude that PE in the DF election 218 per multicast flow. 220 o A PE SHOULD attach the DF election Extended Community to ES route 221 and Extended Community MUST be sent if the ES is locally 222 configured for DF type Per Multicast flow DF election. Only one 223 DF Election Extended community can be sent along with an ES route. 225 o When a PE receives the ES Routes from all the other PEs for the 226 ES, it checks if all of other PEs have advertised their desire to 227 proceed by Per multicast flow DF election. If all peering PEs 228 have done so, it performs DF election based on Per multicast flow 229 procedure. But if: 231 * There is at least one PE which advertised route-4 ( AD per ES 232 Route) which does not indicate its capability to perform Per 233 multicast flow DF election. OR 235 * There is at least one PE signaling single active in the AD per 236 ES route 238 it MUST be considered as an indication to support of only Default 239 DF election [RFC7432] and DF election procedure in [RFC7432] MUST 240 be used. 242 4. HRW base per multicast flow EVPN DF election 244 This document is an extension of 245 [I-D.ietf-bess-evpn-df-election-framework], so this draft does not 246 repeat the description of HRW algorithm itself. 248 EVPN PE does the discovery of redundancy groups based on [RFC7432]. 249 If redundancy group consists of N peering EVPN PE nodes, after the 250 discovery all PEs build an unordered list of IP address of all the 251 nodes in the redundancy group. The procedure defined in this draft 252 does not require the list of PEs to be ordered. Address [i] denotes 253 the IP address of the [i]th EVPN PE in redundancy group where (0 < i 254 <= N ). 256 4.1. DF election for IGMP (S,G) membership request 258 The DF is the PE who has maximum weight for (S, G, V, Es) where 260 o S - Multicast Source 262 o G - Multicast Group 264 o V - VLAN ID. 266 o Es - Ethernet Segment Identifier 268 Address[i] is address of the ith PE. The PEs IP address length does 269 not matter as only the lower-order 31 bits are modulo significant. 271 1. Weight 273 * The weight of PE(i) to (S,G,VLAN ID, Es) is calculated by 274 function, weight (S,G,V, Es, Address(i)), where (0 < i <= N), 275 PE(i) is the PE at ordinal i. 277 * Weight (S,G,V, Es, Address(i)) = (1103515245. 278 ((1103515245.Address(i) + 12345) XOR D(S,G,V,ESI))+12345) (mod 279 2^31) 281 * In case of tie, the PE whose IP address is numerically least 282 is chosen. 284 2. Digest 285 * D(S,G,V, Es) = CRC_32(S,G,V, Es) 287 * Here D(S,G,V,Es) is the 31-bit digest (CRC_32 and discarding 288 the MSB) of the Source IP, Group IP, Vlan ID and Es. The CRC 289 MUST proceed as if the architecture is in network byte order 290 (big-endian). 292 4.2. DF election for IGMP (*,G) membership request 294 The DF is the PE who has maximum weight for (G, V, Es) where 296 o G - Multicast Group 298 o V - VLAN ID. 300 o Es - Ethernet Segment Identifier 302 Address[i] is address of the ith PE. The PEs IP address length does 303 not matter as only the lower-order 31 bits are modulo significant. 305 1. Weight 307 * The weight of PE(i) to (G,VLAN ID, Es) is calculated by 308 function, weight (G,V, Es, Address(i)), where (0 < i <= N), 309 PE(i) is the PE at ordinal i. 311 * Weight (G,V, Es, Address(i)) = (1103515245. 312 ((1103515245.Address(i) + 12345) XOR D(G,V,ESI))+12345) (mod 313 2^31) 315 * In case of tie, the PE whose IP address is numerically least 316 is chosen. 318 2. Digest 320 * D(G,V, Es) = CRC_32(G,V, Es) 322 * Here D(G,V,Es) is the 31-bit digest (CRC_32 and discarding the 323 MSB) of the Group IP, Vlan ID and Es. The CRC MUST proceed as 324 if the architecture is in network byte order (big-endian). 326 4.3. Default DF election procedure 328 Per multicast DF election procedure would be applicable only when 329 host behind Attachment Circuit (of the Es) start sending IGMP 330 membership requests. Membership requests are synced using procedure 331 defined in [I-D.ietf-bess-evpn-igmp-mld-proxy], and each of the PE in 332 redundancy group can use per flow DF election and create DF state per 333 multicast flow. The HRW DF election "Type 1" procedure defined in 334 [I-D.ietf-bess-evpn-df-election-framework] MUST be used for the Es DF 335 election and SHOULD be performed on Es even before learning multicast 336 membership request state. This default election procedure MUST be 337 used at port level but will be overwritten by Per flow DF election as 338 and when new membership request state are learnt. 340 5. Procedure to use per multicast flow DF election algorithm 342 Multicast Source 343 | 344 | 345 | 346 | 347 +---------+ 348 +--------------+ PE-4 +--------------+ 349 | | | | 350 | +---------+ | 351 | | 352 | EVPN CORE | 353 | | 354 | | 355 | | 356 +---------+ +---------+ +---------+ 357 | PE-1 +--------+ PE-2 +---------+ PE-3 | 358 | EVI-1 | | EVI-1 | | EVI-1 | 359 +---------+ +---------+ +---------+ 360 |__________________|___________________| 361 AC-1 ESI-1 | AC-2 AC-3 362 +---------+ 363 | CE-1 | 364 | | 365 +---------+ 366 | 367 | 368 | 369 | 370 Multicast Receivers 372 Figure-2 : Multihomed network 374 Figure-2 shows multihomed network. Where EVPN PE-1, PE-2, PE-3 are 375 multihomed to CE-1. Multiple multicast receivers are behind all 376 active multihoming segment. 378 1. PEs connected to the same Ethernet segment can automatically 379 discover each other through exchange of the Ethernet Segment 380 Route. This draft does not change any of this procedure, it 381 still uses the procedure defined in [RFC7432]. 383 2. Each of the PEs in redundancy group advertise Ethernet segment 384 route with extended community indicating their ability to 385 participate in per multicast flow DF election procedure. Since 386 Per multicast flow would not be applicable unless PE learns about 387 membership request from receiver, there is a need to have the 388 default DF election among PEs in redundancy group for BUM 389 traffic. Until multicast membership state are learnt, we use the 390 the DF election procedure in Section 4.3, namely HRW per (v,Es) 391 as defined in [I-D.ietf-bess-evpn-df-election-framework] . 393 3. When a receiver starts sending membership requests for (s1,g1), 394 where s1 is multicast source address and g1 is multicast group 395 address, CE-1 could hash membership request (IGMP join) to any of 396 the PEs in redundancy group. Let's consider it is hashed to PE- 397 2. [I-D.ietf-bess-evpn-igmp-mld-proxy] defines a procedure to 398 sync IGMP join state among redundancy group of PEs. Now each of 399 the PE would have information about membership request (s1,g1) 400 and each of them run DF election procedure Section 4.1 to elect 401 DF among participating PEs in redundancy group. Consider PE-2 402 gets elected as DF for multicast flow (s1,g1). 404 1. PE-1 forwarding state would be nDF for flow (s1,g1) and DF 405 for rest other BUM traffic. 407 2. PE-2 forwarding state would be DF for flow (s1,g1) and nDF 408 for rest other BUM traffic. 410 3. PE-3 forwarding state would be nDF for flow (s1,g1) and rest 411 other BUM traffic. 413 4. As and when new multicast membership request comes, same 414 procedure as above would continue. 416 5. If Section 3 has DF type 4, For membership request (S,G) it MUST 417 use Section 4.1 to elect DF among participating PEs. And 418 membership request (*,G) MUST use Section 4.2 to elect DF among 419 participating PEs. 421 6. Triggers for DF re-election 423 There are multiple triggers which can cause DF re-election. Some of 424 the triggers could be 426 1. Local ES going down due to physical failure or configuration 427 change triggers DF re-election at peering PE. 429 2. Detection of new PE through ES route. 431 3. AC going up / down 433 4. ESI change 435 5. Remote PE removed / Down 437 6. Local configuration change of DF election Type and peering PE 438 consensus on new DF Type 440 This document does not provide any new mechanism to handle DF re- 441 election procedure. It uses the existing mechanism defined in 442 [RFC7432]. Whenever either of the triggers occur, a DF re-election 443 would be done. and all of the flows would be redistributed among 444 existing PEs in redundancy group for ES. 446 7. Security Considerations 448 The same Security Considerations described in [RFC7432] are valid for 449 this document. 451 8. IANA Considerations 453 Allocation of DF type in DF extended community for EVPN. 455 9. Acknowledgement 457 Authors would like to acknowledge helpful comments and contributions 458 of Luc Andre Burdet. 460 10. Normative References 462 [HRW1999] IEEE, "Using name-based mappings to increase hit rates", 463 IEEE HRW, February 1998. 465 [I-D.ietf-bess-evpn-df-election-framework] 466 Rabadan, J., satyamoh@cisco.com, s., Sajassi, A., Drake, 467 J., Nagaraj, K., and S. Sathappan, "Framework for EVPN 468 Designated Forwarder Election Extensibility", draft-ietf- 469 bess-evpn-df-election-framework-03 (work in progress), May 470 2018. 472 [I-D.ietf-bess-evpn-fast-df-recovery] 473 Sajassi, A., Badoni, G., Rao, D., Brissette, P., Drake, 474 J., and J. Rabadan, "Fast Recovery for EVPN DF Election", 475 draft-ietf-bess-evpn-fast-df-recovery-00 (work in 476 progress), June 2018. 478 [I-D.ietf-bess-evpn-igmp-mld-proxy] 479 Sajassi, A., Thoria, S., Patel, K., Yeung, D., Drake, J., 480 and W. Lin, "IGMP and MLD Proxy for EVPN", draft-ietf- 481 bess-evpn-igmp-mld-proxy-00 (work in progress), March 482 2017. 484 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 485 Requirement Levels", BCP 14, RFC 2119, 486 DOI 10.17487/RFC2119, March 1997, 487 . 489 [RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, 490 "Protocol Independent Multicast - Sparse Mode (PIM-SM): 491 Protocol Specification (Revised)", RFC 4601, 492 DOI 10.17487/RFC4601, August 2006, 493 . 495 [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., 496 Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based 497 Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February 498 2015, . 500 Authors' Addresses 502 Ali Sajassi 503 Cisco Systems 504 821 Alder Drive, 505 MILPITAS, CALIFORNIA 95035 506 UNITED STATES 508 Email: sajassi@cisco.com 510 Mankamana Mishra 511 Cisco Systems 512 821 Alder Drive, 513 MILPITAS, CALIFORNIA 95035 514 UNITED STATES 516 Email: mankamis@cisco.com 517 Samir Thoria 518 Cisco Systems 519 821 Alder Drive, 520 MILPITAS, CALIFORNIA 95035 521 UNITED STATES 523 Email: sthoria@cisco.com 525 Jorge Rabadan 526 Nokia 527 777 E. Middlefield Road 528 Mountain View, CA 94043 529 UNITED STATES 531 Email: jorge.rabadan@nokia.com 533 John Drake 534 Juniper Networks 536 Email: jdrake@juniper.net