idnits 2.17.1 draft-ietf-bess-evpn-unequal-lb-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (July 22, 2019) is 1734 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'PE-1' is mentioned on line 429, but not defined == Missing Reference: 'PE-2' is mentioned on line 429, but not defined == Missing Reference: 'PE-3' is mentioned on line 429, but not defined == Missing Reference: 'RFC 7814' is mentioned on line 649, but not defined -- Possible downref: Non-RFC (?) normative reference: ref. 'BGP-LINK-BW' -- Possible downref: Non-RFC (?) normative reference: ref. 'EVPN-IP-ALIASING' -- Possible downref: Non-RFC (?) normative reference: ref. 'EVPN-DF-PREF' -- Possible downref: Non-RFC (?) normative reference: ref. 'EVPN-PER-MCAST-FLOW-DF' -- Possible downref: Non-RFC (?) normative reference: ref. 'WEIGHTED-HRW' Summary: 2 errors (**), 0 flaws (~~), 6 warnings (==), 6 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BESS Working Group N. Malhotra, Ed. 3 Internet-Draft Arrcus 4 Intended Status: Proposed Standard 5 A. Sajassi 6 S. Thoria 7 Cisco 9 J. Rabadan 10 Nokia 12 J. Drake 13 Juniper 15 A. Lingala 16 AT&T 18 Expires: Jan 23, 2020 July 22, 2019 20 Weighted Multi-Path Procedures for EVPN All-Active Multi-Homing 21 draft-ietf-bess-evpn-unequal-lb-02 23 Abstract 25 In an EVPN-IRB based network overlay, EVPN all-active multi-homing 26 enables multi-homing for a CE device connected to two or more PEs via 27 a LAG bundle, such that bridged and routed traffic from remote PEs 28 can be equally load balanced (ECMPed) across the multi-homing PEs. 29 This document defines extensions to EVPN procedures to optimally 30 handle unequal access bandwidth distribution across a set of multi- 31 homing PEs in order to: 33 o provide greater flexibility, with respect to adding or 34 removing individual PE-CE links within the access LAG 36 o handle PE-CE LAG member link failures that can result in unequal 37 PE-CE access bandwidth across a set of multi-homing PEs 39 Status of this Memo 41 This Internet-Draft is submitted to IETF in full conformance with 42 the provisions of BCP 78 and BCP 79. 44 Internet-Drafts are working documents of the Internet Engineering 45 Task Force (IETF), its areas, and its working groups. Note that 46 other groups may also distribute working documents as 47 Internet-Drafts. 49 Internet-Drafts are draft documents valid for a maximum of six 50 months and may be updated, replaced, or obsoleted by other 51 documents at any time. It is inappropriate to use Internet- 52 Drafts as reference material or to cite them other than as "work 53 in progress." 55 The list of current Internet-Drafts can be accessed at 56 http://www.ietf.org/1id-abstracts.html 58 The list of Internet-Draft Shadow Directories can be accessed at 59 http://www.ietf.org/shadow.html 61 Copyright and License Notice 63 Copyright (c) 2017 IETF Trust and the persons identified as the 64 document authors. All rights reserved. 66 This document is subject to BCP 78 and the IETF Trust's Legal 67 Provisions Relating to IETF Documents 68 (http://trustee.ietf.org/license-info) in effect on the date of 69 publication of this document. Please review these documents 70 carefully, as they describe your rights and restrictions with 71 respect to this document. Code Components extracted from this 72 document must include Simplified BSD License text as described in 73 Section 4.e of the Trust Legal Provisions and are provided 74 without warranty as described in the Simplified BSD License. 76 Table of Contents 78 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 79 1.1 PE CE Link Provisioning . . . . . . . . . . . . . . . . . . 5 80 1.2 PE CE Link Failures . . . . . . . . . . . . . . . . . . . . 6 81 1.3 Design Requirement . . . . . . . . . . . . . . . . . . . . . 7 82 1.4 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 7 83 2. Solution Overview . . . . . . . . . . . . . . . . . . . . . . . 8 84 3. Weighted Unicast Traffic Load-balancing . . . . . . . . . . . 8 85 3.1 LOCAL PE Behavior . . . . . . . . . . . . . . . . . . . . . 8 86 3.1 Link Bandwidth Extended Community . . . . . . . . . . . . . 8 87 3.2 REMOTE PE Behavior . . . . . . . . . . . . . . . . . . . . . 9 88 4. Weighted BUM Traffic Load-Sharing . . . . . . . . . . . . . . 10 89 4.1 The BW Capability in the DF Election Extended Community . . 10 90 4.2 BW Capability and Default DF Election algorithm . . . . . . 11 91 4.3 BW Capability and HRW DF Election algorithm (Type 1 and 92 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 93 4.3.1 BW Increment . . . . . . . . . . . . . . . . . . . . . . 11 94 4.3.2 HRW Hash Computations with BW Increment . . . . . . . . 12 95 4.3.3 Cost-Benefit Tradeoff on Link Failures . . . . . . . . . 13 96 4.4 BW Capability and Weighted HRW DF Election algorithm 97 (Type TBD) . . . . . . . . . . . . . . . . . . . . . . . . 14 98 4.5 BW Capability and Preference DF Election algorithm . . . . 15 99 5. Real-time Available Bandwidth . . . . . . . . . . . . . . . . . 16 100 6. Routed EVPN Overlay . . . . . . . . . . . . . . . . . . . . . . 16 101 7. EVPN-IRB Multi-homing with non-EVPN routing . . . . . . . . . . 17 102 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 103 7.1 Normative References . . . . . . . . . . . . . . . . . . . 18 104 7.2 Informative References . . . . . . . . . . . . . . . . . . 18 105 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 19 106 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 19 107 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 109 1 Introduction 111 In an EVPN-IRB based network overlay, with a CE multi-homed via a 112 EVPN all-active multi-homing, bridged and routed traffic from remote 113 PEs can be equally load balanced (ECMPed) across the multi-homing 114 PEs: 116 o ECMP Load-balancing for bridged unicast traffic is enabled via 117 aliasing and mass-withdraw procedures detailed in RFC 7432. 119 o ECMP Load-balancing for routed unicast traffic is enabled via 120 existing L3 ECMP mechanisms. 122 o Load-sharing of bridged BUM traffic on local ports is enabled 123 via EVPN DF election procedure detailed in RFC 7432 125 All of the above load-balancing and DF election procedures implicitly 126 assume equal bandwidth distribution between the CE and the set of 127 multi-homing PEs. Essentially, with this assumption of equal "access" 128 bandwidth distribution across all PEs, ALL remote traffic is equally 129 load balanced across the multi-homing PEs. This assumption of equal 130 access bandwidth distribution can be restrictive with respect to 131 adding / removing links in a multi-homed LAG interface and may also 132 be easily broken on individual link failures. A solution to handle 133 unequal access bandwidth distribution across a set of multi-homing 134 EVPN PEs is proposed in this document. Primary motivation behind this 135 proposal is to enable greater flexibility with respect to adding / 136 removing member PE-CE links, as needed and to optimally handle PE-CE 137 link failures. 139 1.1 PE CE Link Provisioning 141 +------------------------+ 142 | Underlay Network Fabric| 143 +------------------------+ 145 +-----+ +-----+ 146 | PE1 | | PE2 | 147 +-----+ +-----+ 148 \ / 149 \ ESI-1 / 150 \ / 151 +\---/+ 152 | \ / | 153 +--+--+ 154 | 155 CE1 157 Figure 1 159 Consider a CE1 that is dual-homed to PE1 and PE2 via EVPN all-active 160 multi-homing with single member links of equal bandwidth to each PE 161 (aka, equal access bandwidth distribution across PE1 and PE2). If the 162 provider wants to increase link bandwidth to CE1, it MUST add a link 163 to both PE1 and PE2 in order to maintain equal access bandwidth 164 distribution and inter-work with EVPN ECMP load-balancing. In other 165 words, for a dual-homed CE, total number of CE links must be 166 provisioned in multiples of 2 (2, 4, 6, and so on). For a triple- 167 homed CE, number of CE links must be provisioned in multiples of 168 three (3, 6, 9, and so on). To generalize, for a CE that is multi- 169 homed to "n" PEs, number of PE-CE physical links provisioned must be 170 an integral multiple of "n". This is restrictive in case of dual- 171 homing and very quickly becomes prohibitive in case of multi-homing. 173 Instead, a provider may wish to increase PE-CE bandwidth OR number of 174 links in ANY link increments. As an example, for CE1 dual-homed to 175 PE1 and PE2 in all-active mode, provider may wish to add a third link 176 to ONLY PE1 to increase total bandwidth for this CE by 50%, rather 177 than being required to increase access bandwidth by 100% by adding a 178 link to each of the two PEs. While existing EVPN based all-active 179 load-balancing procedures do not necessarily preclude such asymmetric 180 access bandwidth distribution among the PEs providing redundancy, it 181 may result in unexpected traffic loss due to congestion in the access 182 interface towards CE. This traffic loss is due to the fact that PE1 183 and PE2 will continue to attract equal amount of CE1 destined traffic 184 from remote PEs, even when PE2 only has half the bandwidth to CE1 as 185 PE1. This may lead to congestion and traffic loss on the PE2-CE1 186 link. If bandwidth distribution to CE1 across PE1 and PE2 is 2:1, 187 traffic from remote hosts MUST also be load-balanced across PE1 and 188 PE2 in 2:1 manner. 190 1.2 PE CE Link Failures 192 More importantly, unequal PE-CE bandwidth distribution described 193 above may occur during regular operation following a link failure, 194 even when PE-CE links were provisioned to provide equal bandwidth 195 distribution across multi-homing PEs. 197 +------------------------+ 198 | Underlay Network Fabric| 199 +------------------------+ 201 +-----+ +-----+ 202 | PE1 | | PE2 | 203 +-----+ +-----+ 204 \\ // 205 \\ ESI-1 // 206 \\ /X 207 +\\---//+ 208 | \\ // | 209 +---+---+ 210 | 211 CE1 213 Consider a CE1 that is multi-homed to PE1 and PE2 via a link bundle 214 with two member links to each PE. On a PE2-CE1 physical link failure, 215 link bundle represented by an Ethernet Segment ESI-1 on PE2 stays up, 216 however, it's bandwidth is cut in half. With existing ECMP 217 procedures, both PE1 and PE2 will continue to attract equal amount of 218 traffic from remote PEs, even when PE1 has double the bandwidth to 219 CE1. If bandwidth distribution to CE1 across PE1 and PE2 is 2:1, 220 traffic from remote hosts MUST also be load-balanced across PE1 and 221 PE2 in 2:1 manner to avoid unexpected congestion and traffic loss on 222 PE2-CE1 links within the LAG. 224 1.3 Design Requirement 226 +-----------------------+ 227 |Underlay Network Fabric| 228 +-----------------------+ 230 +-----+ +-----+ +-----+ +-----+ 231 | PE1 | | PE2 | ..... | PEx | | PEn | 232 +-----+ +-----+ +-----+ +-----+ 233 \ \ // // 234 \ L1 \ L2 // Lx // Ln 235 \ \ // // 236 +-\-------\-----------//--------//-+ 237 | \ \ ESI-1 // // | 238 +----------------------------------+ 239 | 240 CE 242 To generalize, if total link bandwidth to a CE is distributed across 243 "n" multi-homing PEs, with Lx being the number of links / bandwidth 244 to PEx, traffic from remote PEs to this CE MUST be load-balanced 245 unequally across [PE1, PE2, ....., PEn] such that, fraction of total 246 unicast and BUM flows destined for CE that are serviced by PEx is: 248 Lx / [L1+L2+.....+Ln] 250 Solution proposed below includes extensions to EVPN procedures to 251 achieve the above. 253 1.4 Terminology 255 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 256 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 257 "OPTIONAL" in this document are to be interpreted as described in 258 BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all 259 capitals, as shown here. 261 "LOCAL PE" in the context of an ESI refers to a provider edge switch 262 OR router that physically hosts the ESI. 264 "REMOTE PE" in the context of an ESI refers to a provider edge switch 265 OR router in an EVPN overlay, who's overlay reachability to the ESI 266 is via the LOCAL PE. 268 2. Solution Overview 270 In order to achieve weighted load balancing for overlay unicast 271 traffic, Ethernet A-D per-ES route (EVPN Route Type 1) is leveraged 272 to signal the Ethernet Segment bandwidth to remote PEs. Using 273 Ethernet A-D per-ES route to signal the Ethernet Segment bandwidth 274 provides a mechanism to be able to react to changes in access 275 bandwidth in a service and host independent manner. Remote PEs 276 computing the MAC path-lists based on global and aliasing Ethernet A- 277 D routes now have the ability to setup weighted load-balancing path- 278 lists based on the ESI access bandwidth received from each PE that 279 the ESI is multi-homed to. If Ethernet A-D per-ES route is also 280 leveraged for IP path-list computation, as per [EVPN-IP-ALIASING], it 281 also provides a method to do weighted load-balancing for IP routed 282 traffic. 284 In order to achieve weighted load-balancing of overlay BUM traffic, 285 EVPN ES route (Route Type 4) is leveraged to signal the ESI bandwidth 286 to PEs within an ESI's redundancy group to influence per-service DF 287 election. PEs in an ESI redundancy group now have the ability to do 288 service carving in proportion to each PE's relative ESI bandwidth. 290 Procedures to accomplish this are described in greater detail next. 292 3. Weighted Unicast Traffic Load-balancing 294 3.1 LOCAL PE Behavior 296 A PE that is part of an Ethernet Segment's redundancy group would 297 advertise a additional "link bandwidth" EXT-COMM attribute with 298 Ethernet A-D per-ES route (EVPN Route Type 1), that represents total 299 bandwidth of PE's physical links in an Ethernet Segment. BGP link 300 bandwidth EXT-COMM defined in [BGP-LINK-BW] is re-used for this 301 purpose. 303 3.1 Link Bandwidth Extended Community 305 Link bandwidth extended community described in [BGP-LINK-BW] for 306 layer 3 VPNs is re-used here to signal local ES link bandwidth to 307 remote PEs. link-bandwidth extended community is however defined in 308 [BGP-LINK-BW] as optional non-transitive. In inter-AS scenarios, 309 link-bandwidth may need to be signaled to an eBGP neighbor along with 310 next-hop unchanged. It is work in progress with authors of [BGP-LINK- 311 BW] to allow for this attribute to be used as transitive in inter-AS 312 scenarios. 314 3.2 REMOTE PE Behavior 316 A receiving PE should use per-ES link bandwidth attribute received 317 from each PE to compute a relative weight for each remote PE, per-ES, 318 as shown below. 320 if, 322 L(x,y) : link bandwidth advertised by PE-x for ESI-y 324 W(x,y) : normalized weight assigned to PE-x for ESI-y 326 H(y) : Highest Common Factor (HCF) of [L(1,y), L(2,y), ....., 327 L(n,y)] 329 then, the normalized weight assigned to PE-x for ESI-y may be 330 computed as follows: 332 W(x,y) = L(x,y) / H(y) 334 For a MAC+IP route (EVPN Route Type 2) received with ESI-y, receiving 335 PE MUST compute MAC and IP forwarding path-list weighted by the above 336 normalized weights. 338 As an example, for a CE dual-homed to PE-1, PE-2, PE-3 via 2, 1, and 339 1 GE physical links respectively, as part of a link bundle 340 represented by ESI-10: 342 L(1, 10) = 2000 Mbps 344 L(2, 10) = 1000 Mbps 346 L(3, 10) = 1000 Mbps 348 H(10) = 1000 350 Normalized weights assigned to each PE for ESI-10 are as follows: 352 W(1, 10) = 2000 / 1000 = 2. 354 W(2, 10) = 1000 / 1000 = 1. 356 W(3, 10) = 1000 / 1000 = 1. 358 For a remote MAC+IP host route received with ESI-10, forwarding load- 359 balancing path-list must now be computed as: [PE-1, PE-1, PE-2, PE-3] 360 instead of [PE-1, PE-2, PE-3]. This now results in load-balancing of 361 all traffic destined for ESI-10 across the three multi-homing PEs in 362 proportion to ESI-10 bandwidth at each PE. 364 Above weighted path-list computation MUST only be done for an ESI, IF 365 a link bandwidth attribute is received from ALL of the PE's 366 advertising reachability to that ESI via Ethernet A-D per-ES Route 367 Type 1. In the event that link bandwidth attribute is not received 368 from one or more PEs, forwarding path-list would be computed using 369 regular ECMP semantics. 371 4. Weighted BUM Traffic Load-Sharing 373 Optionally, load sharing of per-service DF role, weighted by 374 individual PE's link-bandwidth share within a multi-homed ES may also 375 be achieved. 377 In order to do that, a new DF Election Capability [RFC8584] called 378 "BW" (Bandwidth Weighted DF Election) is defined. BW may be used 379 along with some DF Election Types, as described in the following 380 sections. 382 4.1 The BW Capability in the DF Election Extended Community 384 [RFC8584] defines a new extended community for PEs within a 385 redundancy group to signal and agree on uniform DF Election Type and 386 Capabilities for each ES. This document requests a bit in the DF 387 Election extended community Bitmap: 389 Bit 28: BW (Bandwidth Weighted DF Election) 391 ES routes advertised with the BW bit set will indicate the desire of 392 the advertising PE to consider the link-bandwidth in the DF Election 393 algorithm defined by the value in the "DF Type". 395 As per [RFC8584], all the PEs in the ES MUST advertise the same 396 Capabilities and DF Type, otherwise the PEs will fall back to Default 397 [RFC7432] DF Election procedure. 399 The BW Capability MAY be advertised with the following DF Types: 401 o Type 0: Default DF Election algorithm, as in [RFC7432] 402 o Type 1: HRW algorithm, as in [RFC8584] 403 o Type 2: Preference algorithm, as in [EVPN-DF-PREF] 404 o Type 4: HRW per-multicast flow DF Election, as in 405 [EVPN-PER-MCAST-FLOW-DF] 407 The following sections describe how the DF Election procedures are 408 modified for the above DF Types when the BW Capability is used. 410 4.2 BW Capability and Default DF Election algorithm 412 When all the PEs in the Ethernet Segment (ES) agree to use the BW 413 Capability with DF Type 0, the Default DF Election procedure is 414 modified as follows: 416 o Each PE advertises a "Link Bandwidth" EXT-COMM attribute along 417 with the ES route to signal the PE-CE link bandwidth (LBW) for 418 the ES. 419 o A receiving PE MUST use the ES link bandwidth attribute 420 received from each PE to compute a relative weight for each 421 remote PE. 422 o The DF Election procedure MUST now use this weighted list of PEs 423 to compute the per-VLAN Designated Forwarder, such that the DF 424 role is distributed in proportion to this normalized weight. 426 Considering the same example as in Section 3, the candidate PE list 427 for DF election is: 429 [PE-1, PE-1, PE-2, PE-3]. 431 The DF for a given VLAN-a on ES-10 is now computed as (VLAN-a % 4). 432 This would result in the DF role being distributed across PE1, PE2, 433 and PE3 in portion to each PE's normalized weight for ES-10. 435 4.3 BW Capability and HRW DF Election algorithm (Type 1 and 4) 437 [RFC8584] introduces Highest Random Weight (HRW) algorithm (DF Type 438 1) for DF election in order to solve potential DF election skew 439 depending on Ethernet tag space distribution. [EVPN-PER-MCAST-FLOW- 440 DF] further extends HRW algorithm for per-multicast flow based hash 441 computations (DF Type 4). This section describes extensions to HRW 442 Algorithm for EVPN DF Election specified in [RFC8584] and in [EVPN- 443 PER-MCAST-FLOW-DF] in order to achieve DF election distribution that 444 is weighted by link bandwidth. 446 4.3.1 BW Increment 448 A new variable called "bandwidth increment" is computed for each [PE, 449 ES] advertising the ES link bandwidth attribute as follows: 451 In the context of an ES, 453 L(i) = Link bandwidth advertised by PE(i) for this ES 455 L(min) = lowest link bandwidth advertised across all PEs for this ES 457 Bandwidth increment, "b(i)" for a given PE(i) advertising a link 458 bandwidth of L(i) is defined as an integer value computed as: 460 b(i) = L(i) / L(min) 462 As an example, 464 with PE(1) = 10, PE(2) = 10, PE(3) = 20 466 bandwidth increment for each PE would be computed as: 468 b(1) = 1, b(2) = 1, b(3) = 2 470 with PE(1) = 10, PE(2) = 10, PE(3) = 10 472 bandwidth increment for each PE would be computed as: 474 b(1) = 1, b(2) = 1, b(3) = 1 476 Note that the bandwidth increment must always be an integer, 477 including, in an unlikely scenario of a PE's link bandwidth not being 478 an exact multiple of L(min). If it computes to a non-integer value 479 (including as a result of link failure), it MUST be rounded down to 480 an integer. 482 4.3.2 HRW Hash Computations with BW Increment 484 HRW algorithm as described in [RFC8584] and in [EVPN-PER-MCAST-FLOW- 485 DF] compute a random hash value (referred to as affinity here) for 486 each PE(i), where, (0 < i <= N), PE(i) is the PE at ordinal i, and 487 Address(i) is the IP address of PE at ordinal i. 489 For 'N' PEs sharing an Ethernet segment, this results in 'N' 490 candidate hash computations. PE that has the highest hash value is 491 selected as the DF. 493 Affinity computation for each PE(i) is extended to be computed one 494 per-bandwidth increment associated with PE(i) instead of a single 495 affinity computation per PE(i). 497 PE(i) with b(i) = j, results in j affinity computations: 499 affinity(i, x), where 1 < x <= j 501 This essentially results in number of candidate HRW hash computations 502 for each PE that is directly proportional to that PE's relative 503 bandwidth within an ES and hence gives PE(i) a probability of being 504 DF in proportion to it's relative bandwidth within an ES. 506 As an example, consider an ES that is multi-homed to two PEs, PE1 and 507 PE2, with equal bandwidth distribution across PE1 and PE2. This would 508 result in a total of two candidate hash computations: 510 affinity(PE1, 1) 512 affinity(PE2, 1) 514 Now, consider a scenario with PE1's link bandwidth as 2x that of PE2. 515 This would result in a total of three candidate hash computations to 516 be used for DF election: 518 affinity(PE1, 1) 520 affinity(PE1, 2) 522 affinity(PE2, 1) 524 which would give PE1 2/3 probability of getting elected as a DF, in 525 proportion to its relative bandwidth in the ES. 527 Depending on the chosen HRW hash function, affinity function MUST be 528 extended to include bandwidth increment in the computation. 530 For e.g., 532 affinity function specified in [EVPN-PER-MCAST-FLOW-DF] MAY be 533 extended as follows to incorporate bandwidth increment j: 535 affinity(S,G,V, ESI, Address(i,j)) = 536 (1103515245.((1103515245.Address(i).j + 12345) XOR 537 D(S,G,V,ESI))+12345) (mod 2^31) 539 affinity or random function specified in [RFC8584] MAY be extended as 540 follows to incorporate bandwidth increment j: 542 affinity(v, Es, Address(i,j)) = (1103515245((1103515245.Address(i).j 543 + 12345) XOR D(v,Es))+12345)(mod 2^31) 545 4.3.3 Cost-Benefit Tradeoff on Link Failures 547 While incorporating link bandwidth into the DF election process 548 provides optimal BUM traffic distribution across the ES links, it 549 also implies that affinity values for a given PE are re-computed, and 550 DF elections are re-adjusted on changes to that PE's bandwidth 551 increment that might result from link failures or link additions. If 552 the operator does not wish to have this level of churn in their DF 553 election, then they should not advertise the BW capability. Not 554 advertising BW capability may result in less than optimal BUM traffic 555 distribution while still retaining the ability to allow a remote 556 ingress PE to do weighted ECMP for its unicast traffic to a set of 557 multi-homed PEs, as described in section 3.2. 559 Same also applies to use of BW capability with service carving (DF 560 Type 0), as specified in section 4.2. 562 4.4 BW Capability and Weighted HRW DF Election algorithm (Type TBD) 564 Use of BW capability together with HRW DF election algorithm 565 described in the previous section has a few limitations: 567 o While in most scenarios a change in BW for a given PE results in 568 re-assigment of DF roles from or to that PE, in certain 569 scenarios, a change in PE BW can result in complete re-assignment 570 of DF roles. 571 o If BW advertised from a set of PEs does not have a good least 572 common multiple, the BW set may result in a high BW increment for 573 each PE, and hence, may result in higher order of complexity. 575 [WEIGHTED-HRW] document describes an alternate DF election algorithm 576 that uses a weighted score function that is minimally disruptive such 577 that it minimizes the probability of complete re-assignment of DF 578 roles in a BW change scenario. It also does not require multiple BW 579 increment based computations. 581 Instead of computing BW increment and an HRW hash for each [PE, BW 582 increment], a single weighted score is computed for each PE using the 583 proposed score function with absolute BW advertised by each PE as its 584 weight value. 586 As described in section 4 of [WEIGHTED-HRW], a HRW hash computation 587 for each PE is converted to a weighted score as follows: 589 Score(Oi, Sj) = -wi/log(Hash(Oi, Sj)/Hmax); where Hmax is the maximum 590 hash value. 592 Oi is object being assigned, for e.g., a vlan-id in this case; 594 Sj is the server, for e.g., a PE IP address in this case; 596 wi is the weight, for e.g., BW capability in this case; 598 Object Oi is assigned to server Si with the highest score. 600 4.5 BW Capability and Preference DF Election algorithm 602 This section applies to ES'es where all the PEs in the ES agree use 603 the BW Capability with DF Type 2. The BW Capability modifies the 604 Preference DF Election procedure [EVPN-DF-PREF], by adding the LBW 605 value as a tie-breaker as follows: 607 o Section 4.1, bullet (f) in [EVPN-DF-PREF] now considers the LBW 608 value: 610 f) In case of equal Preference in two or more PEs in the ES, the 611 tie-breakers will be the DP bit, the LBW value and the lowest 612 IP PE in that order. For instance: 614 o If vES1 parameters were [Pref=500,DP=0,LBW=1000] in PE1 and 615 [Pref=500,DP=1, LBW=2000] in PE2, PE2 would be elected due 616 to the DP bit. 617 o If vES1 parameters were [Pref=500,DP=0,LBW=1000] in PE1 and 618 [Pref=500,DP=0, LBW=2000] in PE2, PE2 would be elected due 619 to a higher LBW, even if PE1's IP address is lower. 620 o The LBW exchanged value has no impact on the Non-Revertive 621 option described in [EVPN-DF-PREF]. 623 5. Real-time Available Bandwidth 625 PE-CE link bandwidth availability may sometimes vary in real-time 626 disproportionately across PE_CE links within a multi-homed ESI due to 627 various factors such as flow based hashing combined with fat flows 628 and unbalanced hashing. Reacting to real-time available bandwidth is 629 at this time outside the scope of this document. Procedures described 630 in this document are strictly based on static link bandwidth 631 parameter. 633 6. Routed EVPN Overlay 635 An additional use case is possible, such that traffic to an end host 636 in the overlay is always IP routed. In a purely routed overlay such 637 as this: 639 o A host MAC is never advertised in EVPN overlay control plane o 640 Host /32 or /128 IP reachability is distributed across the 641 overlay via EVPN route type 5 (RT-5) along with a zero or non- 642 zero ESI 643 o An overlay IP subnet may still be stretched across the underlay 644 fabric, however, intra-subnet traffic across the stretched 645 overlay is never bridged 646 o Both inter-subnet and intra-subnet traffic, in the overlay is 647 IP routed at the EVPN GW. 649 Please refer to [RFC 7814] for more details. 651 Weighted multi-path procedure described in this document may be used 652 together with procedures described in [EVPN-IP-ALIASING] for this use 653 case. Ethernet A-D per-ES route advertised with Layer 3 VRF RTs would 654 be used to signal ES link bandwidth attribute instead of the Ethernet 655 A-D per-ES route with Layer 2 VRF RTs. All other procedures described 656 earlier in this document would apply as is. 658 If [EVPN-IP-ALIASING] is not used for routed fast convergence, link 659 bandwidth attribute may still be advertised with IP routes (RT-5) to 660 achieve PE-CE link bandwidth based load-balancing as described in 661 this document. In the absence of [EVPN-IP-ALIASING], re-balancing of 662 traffic following changes in PE-CE link bandwidth will require all IP 663 routes from that CE to be re-advertised in a prefix dependent manner. 665 7. EVPN-IRB Multi-homing with non-EVPN routing 667 EVPN-LAG based multi-homing on an IRB gateway may also be deployed 668 together with non-EVPN routing, such as global routing or an L3VPN 669 routing control plane. Key property that differentiates this set of 670 use cases from EVPN IRB use cases discussed earlier is that EVPN 671 control plane is used only to enable LAG interface based multi-homing 672 and NOT as an overlay VPN control plane. EVPN control plane in this 673 case enables: 675 o DF election via EVPN RT-4 based procedures described in [RFC7432] 676 o LOCAL MAC sync across multi-homing PEs via EVPN RT-2 677 o LOCAL ARP and ND sync across multi-homing PEs via EVPN RT-2 679 Applicability of weighted ECMP procedures proposed in this document 680 to these set of use cases is an area of further consideration. 682 7. References 684 7.1 Normative References 686 [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., 687 Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based 688 Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February 689 2015, . 691 [BGP-LINK-BW] Mohapatra, P., Fernando, R., "BGP Link Bandwidth 692 Extended Community", March 2018, 693 . 696 [EVPN-IP-ALIASING] Sajassi, A., Badoni, G., "L3 Aliasing and Mass 697 Withdrawal Support for EVPN", July 2017, 698 . 701 [EVPN-DF-PREF] Rabadan, J., Sathappan, S., Przygienda, T., Lin, W., 702 Drake, J., Sajassi, A., and S. Mohanty, "Preference-based 703 EVPN DF Election", internet-draft ietf-bess-evpn-pref-df- 704 01.txt, April 2018. 706 [EVPN-PER-MCAST-FLOW-DF] Sajassi, et al., "Per multicast flow 707 Designated Forwarder Election for EVPN", March 2018, 708 . 711 [RFC8584] Rabadan, Mohanty, et al., "Framework for Ethernet VPN 712 Designated Forwarder Election Extensibility", April 2019, 713 . 715 [WEIGHTED-HRW] Mohanty, et al., "Weighted HRW and its applications", 716 Sept. 2019, . 719 [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate 720 Requirement Levels", March 1997, 721 . 723 [RFC8174] B. Leiba, "Ambiguity of Uppercase vs Lowercase in RFC 2119 724 Key Words", May 2017, 725 . 727 7.2 Informative References 728 8. Acknowledgements 730 Authors would like to thank Satya Mohanty for valuable review and 731 inputs with respect to HRW and weighted HRW algorithm refinements 732 proposed in this document. 734 9. Contributors 736 Satya Ranjan Mohanty 737 Cisco 738 Email: satyamoh@cisco.com 740 Authors' Addresses 742 Neeraj Malhotra, Editor. 743 Arrcus 744 Email: neeraj.ietf@gmail.com 746 Ali Sajassi 747 Cisco 748 Email: sajassi@cisco.com 750 Jorge Rabadan 751 Nokia 752 Email: jorge.rabadan@nokia.com 754 John Drake 755 Juniper 756 EMail: jdrake@juniper.net 758 Avinash Lingala 759 AT&T 760 Email: ar977m@att.com 762 Samir Thoria 763 Cisco 764 Email: sthoria@cisco.com