idnits 2.17.1 draft-ietf-bess-evpn-prefix-advertisement-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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 9, 2015) is 3336 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: 'RFC5512' is mentioned on line 932, but not defined ** Obsolete undefined reference: RFC 5512 (Obsoleted by RFC 9012) == Missing Reference: 'RFC2119' is mentioned on line 1022, but not defined == Outdated reference: A later version (-12) exists of draft-ietf-bess-evpn-overlay-00 == Outdated reference: A later version (-15) exists of draft-ietf-bess-evpn-inter-subnet-forwarding-00 Summary: 1 error (**), 0 flaws (~~), 5 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 W. Henderickx 4 S. Palislamovic 5 Intended status: Standards Track Alcatel-Lucent 7 J. Drake F. Balus 8 W. Lin Nuage Networks 9 Juniper 10 A. Isaac 11 A. Sajassi Bloomberg 12 Cisco 14 Expires: September 10, 2015 March 9, 2015 16 IP Prefix Advertisement in EVPN 17 draft-ietf-bess-evpn-prefix-advertisement-01 19 Abstract 21 EVPN provides a flexible control plane that allows intra-subnet 22 connectivity in an IP/MPLS and/or an NVO-based network. In NVO 23 networks, there is also a need for a dynamic and efficient inter- 24 subnet connectivity across Tenant Systems and End Devices that can be 25 physical or virtual and may not support their own routing protocols. 26 This document defines a new EVPN route type for the advertisement of 27 IP Prefixes and explains some use-case examples where this new route- 28 type is used. 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), its areas, and its working groups. Note that 37 other groups may also distribute working documents as Internet- 38 Drafts. 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 The list of current Internet-Drafts can be accessed at 46 http://www.ietf.org/ietf/1id-abstracts.txt 48 The list of Internet-Draft Shadow Directories can be accessed at 49 http://www.ietf.org/shadow.html 51 This Internet-Draft will expire on September 10, 2015. 53 Copyright Notice 55 Copyright (c) 2015 IETF Trust and the persons identified as the 56 document authors. All rights reserved. 58 This document is subject to BCP 78 and the IETF Trust's Legal 59 Provisions Relating to IETF Documents 60 (http://trustee.ietf.org/license-info) in effect on the date of 61 publication of this document. Please review these documents 62 carefully, as they describe your rights and restrictions with respect 63 to this document. Code Components extracted from this document must 64 include Simplified BSD License text as described in Section 4.e of 65 the Trust Legal Provisions and are provided without warranty as 66 described in the Simplified BSD License. 68 Table of Contents 70 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 71 2. Introduction and problem statement . . . . . . . . . . . . . . 3 72 2.1 Inter-subnet connectivity requirements in Data Centers . . . 4 73 2.2 The requirement for a new EVPN route type . . . . . . . . . 6 74 3. The BGP EVPN IP Prefix route . . . . . . . . . . . . . . . . . 7 75 3.1 IP Prefix Route encoding . . . . . . . . . . . . . . . . . . 8 76 4. Benefits of using the EVPN IP Prefix route . . . . . . . . . . 10 77 5. IP Prefix index use-cases . . . . . . . . . . . . . . . . . . . 11 78 5.1 TS IP address index use-case . . . . . . . . . . . . . . . . 11 79 5.2 Floating IP index use-case . . . . . . . . . . . . . . . . . 14 80 5.3 ESI index ("Bump in the wire") use-case . . . . . . . . . . 16 81 5.4 IRB forwarding on NVEs for Subnets (IP-VRF-to-IP-VRF) . . . 18 82 6. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 22 83 7. Conventions used in this document . . . . . . . . . . . . . . . 22 84 8. Security Considerations . . . . . . . . . . . . . . . . . . . . 22 85 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 23 86 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 87 10.1 Normative References . . . . . . . . . . . . . . . . . . . 23 88 10.2 Informative References . . . . . . . . . . . . . . . . . . 23 89 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23 90 12. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 23 92 1. Terminology 94 GW IP: Gateway IP Address 96 IPL: IP address length 98 IRB: Integrated Routing and Bridging interface 100 ML: MAC address length 102 NVE: Network Virtualization Edge 104 TS: Tenant System 106 VA: Virtual Appliance 108 RT-2: EVPN route type 2, i.e. MAC/IP advertisement route 110 RT-5: EVPN route type 5, i.e. IP Prefix route 112 Overlay index: object used in the IP Prefix route, as described in 113 this document. It can be an IP address in the tenant space or an ESI, 114 and identifies a pointer yielded by the IP route lookup at the 115 routing context importing the route. An overlay index always needs a 116 recursive route resolution on the NVE receiving the IP Prefix route, 117 so that the NVE knows to which egress NVE it needs to forward the 118 packets. 120 Underlay next-hop: IP address sent by BGP along with any EVPN route, 121 i.e. BGP next-hop. It identifies the NVE sending the route and it is 122 used at the receiving NVE as the VXLAN destination VTEP or NVGRE 123 destination end-point. 125 2. Introduction and problem statement 127 Inter-subnet connectivity is required for certain tenants within the 128 Data Center. [EVPN-INTERSUBNET] defines some fairly common inter- 129 subnet forwarding scenarios where TSes can exchange packets with TSes 130 located in remote subnets. In order to meet this requirement, 131 [EVPN-INTERSUBNET] describes how MAC/IPs encoded in TS RT-2 routes 132 are not only used to populate MAC-VRF and overlay ARP tables, but 133 also IP-VRF tables with the encoded TS host routes (/32 or /128). In 134 some cases, EVPN may advertise IP Prefixes and therefore provide 135 aggregation in the IP-VRF tables, as opposed to program individual 136 host routes. This document complements the scenarios described in 137 [EVPN-INTERSUBNET] and defines how EVPN may be used to advertise IP 138 Prefixes. 140 Section 2.1 describes the inter-subnet connectivity requirements in 141 Data Centers. Section 2.2 explains why a new EVPN route type is 142 required for IP Prefix advertisements. Once the need for a new EVPN 143 route type is justified, sections 3, 4 and 5 will describe this route 144 type and how it is used in some specific use cases. 146 2.1 Inter-subnet connectivity requirements in Data Centers 148 [RFC7432] is used as the control plane for a Network Virtualization 149 Overlay (NVO3) solution in Data Centers (DC), where Network 150 Virtualization Edge (NVE) devices can be located in Hypervisors or 151 TORs, as described in [EVPN-OVERLAY]. 153 If we use the term Tenant System (TS) to designate a physical or 154 virtual system identified by MAC and IP addresses, and connected to 155 an EVPN instance, the following considerations apply: 157 o The Tenant Systems may be Virtual Machines (VMs) that generate 158 traffic from their own MAC and IP. 160 o The Tenant Systems may be Virtual Appliance entities (VAs) that 161 forward traffic to/from IP addresses of different End Devices 162 seating behind them. 164 o These VAs can be firewalls, load balancers, NAT devices, other 165 appliances or virtual gateways with virtual routing instances. 167 o These VAs do not have their own routing protocols and hence 168 rely on the EVPN NVEs to advertise the routes on their behalf. 170 o In all these cases, the VA will forward traffic to the Data 171 Center using its own source MAC but the source IP will be the 172 one associated to the End Device seating behind or a 173 translated IP address (part of a public NAT pool) if the VA is 174 performing NAT. 176 o Note that the same IP address could exist behind two of these 177 TS. One example of this would be certain appliance resiliency 178 mechanisms, where a virtual IP or floating IP can be owned by 179 one of the two VAs running the resiliency protocol (the master 180 VA). VRRP is one particular example of this. Another example 181 is multi-homed subnets, i.e. the same subnet is connected to 182 two VAs. 184 o Although these VAs provide IP connectivity to VMs and subnets 185 behind them, they do not always have their own IP interface 186 connected to the EVPN NVE, e.g. layer-2 firewalls are examples 187 of VAs not supporting IP interfaces. 189 The following figure illustrates some of the examples described 190 above. 191 NVE1 192 +-----------+ 193 TS1(VM)--|(MAC-VRF10)|-----+ 194 IP1/M1 +-----------+ | DGW1 195 +---------+ +-------------+ 196 | |----|(MAC-VRF10) | 197 SN1---+ NVE2 | | | IRB1\ | 198 | +-----------+ | | | (IP-VRF)|---+ 199 SN2---TS2(VA)--|(MAC-VRF10)|-| | +-------------+ _|_ 200 | IP2/M2 +-----------+ | VXLAN/ | ( ) 201 IP4---+ <-+ | nvGRE | DGW2 ( WAN ) 202 | | | +-------------+ (___) 203 vIP23 (floating) | |----|(MAC-VRF10) | | 204 | +---------+ | IRB2\ | | 205 SN1---+ <-+ NVE3 | | | | (IP-VRF)|---+ 206 | IP3/M3 +-----------+ | | | +-------------+ 207 SN3---TS3(VA)--|(MAC-VRF10)|---+ | | 208 | +-----------+ | | 209 IP5---+ | | 210 | | 211 NVE4 | | NVE5 +--SN5 212 +---------------------+ | | +-----------+ | 213 IP6------|(MAC-VRF1) | | +-|(MAC-VRF10)|--TS4(VA)--SN6 214 | \ | | +-----------+ | 215 | (IP-VRF) |--+ ESI4 +--SN7 216 | / \IRB3 | 217 |---|(MAC-VRF2)(MAC-VRF10)| 218 SN4| +---------------------+ 220 Figure 1 DC inter-subnet use-cases 222 Where: 224 NVE1, NVE2, NVE3, NVE4, NVE5, DGW1 and DGW2 share the same EVI for a 225 particular tenant. EVI-10 is comprised of the collection of MAC-VRF10 226 instances defined in all the NVEs. All the hosts connected to EVI-10 227 belong to the same IP subnet. The hosts connected to EVI-10 are 228 listed below: 230 o TS1 is a VM that generates/receives traffic from/to IP1, where 231 IP1 belongs to the EVI-10 subnet. 233 o TS2 and TS3 are Virtual Appliances (VA) that generate/receive 234 traffic from/to the subnets and hosts seating behind them 235 (SN1, SN2, SN3, IP4 and IP5). Their IP addresses (IP2 and IP3) 236 belong to the EVI-10 subnet and they can also generate/receive 237 traffic. When these VAs receive packets destined to their own 238 MAC addresses (M2 and M3) they will route the packets to the 239 proper subnet or host. These VAs do not support routing 240 protocols to advertise the subnets connected to them and can 241 move to a different server and NVE when the Cloud Management 242 System decides to do so. These VAs may also support redundancy 243 mechanisms for some subnets, similar to VRRP, where a floating 244 IP is owned by the master VA and only the master VA forwards 245 traffic to a given subnet. E.g.: vIP23 in figure 1 is a 246 floating IP that can be owned by TS2 or TS3 depending on who 247 the master is. Only the master will forward traffic to SN1. 249 o Integrated Routing and Bridging interfaces IRB1, IRB2 and IRB3 250 have their own IP addresses that belong to the EVI-10 subnet 251 too. These IRB interfaces connect the EVI-10 subnet to Virtual 252 Routing and Forwarding (IP-VRF) instances that can route the 253 traffic to other connected subnets for the same tenant (within 254 the DC or at the other end of the WAN). 256 o TS4 is a layer-2 VA that provides connectivity to subnets SN5, 257 SN6 and SN7, but does not have an IP address itself in the 258 EVI-10. TS4 is connected to a physical port on NVE5 assigned 259 to Ethernet Segment Identifier 4. 261 All the above DC use cases require inter-subnet forwarding and 262 therefore the individual host routes and subnets: 264 a) MUST be advertised from the NVEs (since VAs and VMs do not run 265 routing protocols) and 266 b) MAY be associated to an overlay index that can be a VA IP address, 267 a floating IP address or an ESI. 269 2.2 The requirement for a new EVPN route type 271 [RFC7432] defines a MAC/IP route (also referred as RT-2) where a MAC 272 address can be advertised together with an IP address length (IPL) 273 and IP address (IP). While a variable IPL might have been used to 274 indicate the presence of an IP prefix in a route type 2, there are 275 several specific use cases in which using this route type to deliver 276 IP Prefixes is not suitable. 278 One example of such use cases is the "floating IP" example described 279 in section 2.1. In this example we need to decouple the advertisement 280 of the prefixes from the advertisement of the floating IP (vIP23 in 281 figure 1) and MAC associated to it, otherwise the solution gets 282 highly inefficient and does not scale. 284 E.g.: if we are advertising 1k prefixes from M2 (using RT-2) and the 285 floating IP owner changes from M2 to M3, we would need to withdraw 1k 286 routes from M2 and re-advertise 1k routes from M3. However if we use 287 a separate route type, we can advertise the 1k routes associated to 288 the floating IP address (vIP23) and only one RT-2 for advertising the 289 ownership of the floating IP, i.e. vIP23 and M2 in the route type 2. 290 When the floating IP owner changes from M2 to M3, a single RT-2 291 withdraw/update is required to indicate the change. The remote DGW 292 will not change any of the 1k prefixes associated to vIP23, but will 293 only update the ARP resolution entry for vIP23 (now pointing at M3). 295 Other reasons to decouple the IP Prefix advertisement from the MAC/IP 296 route are listed below: 298 o Clean identification, operation of troubleshooting of IP 299 Prefixes, not subject to interpretation and independent of the 300 IPL and the IP value. E.g.: a default IP route 0.0.0.0/0 must 301 always be easily and clearly distinguished from the absence of 302 IP information. 304 o MAC address information must not be compared by BGP when 305 selecting two IP Prefix routes. If IP Prefixes were to be 306 advertised using MAC/IP routes, the MAC information would 307 always be present and part of the route key. 309 o IP Prefix routes must not be subject to MAC/IP route 310 procedures such as MAC mobility or aliasing. Prefixes 311 advertised from two different ESIs do not mean mobility; MACs 312 advertised from two different ESIs do mean mobility. Similarly 313 load balancing for IP prefixes is achieved through IP 314 mechanisms such as ECMP, and not through MAC route mechanisms 315 such as aliasing. 317 o NVEs that do not require processing IP Prefixes must have an 318 easy way to identify an update with an IP Prefix and ignore 319 it, rather than processing the MAC/IP route to find out only 320 later that it carries a Prefix that must be ignored. 322 The following sections describe how EVPN is extended with a new route 323 type for the advertisement of IP prefixes and how this route is used 324 to address the current and future inter-subnet connectivity 325 requirements existing in the Data Center. 327 3. The BGP EVPN IP Prefix route 329 The current BGP EVPN NLRI as defined in [RFC7432] is shown below: 331 +-----------------------------------+ 332 | Route Type (1 octet) | 333 +-----------------------------------+ 334 | Length (1 octet) | 335 +-----------------------------------+ 336 | Route Type specific (variable) | 337 +-----------------------------------+ 339 Where the route type field can contain one of the following specific 340 values: 342 + 1 - Ethernet Auto-Discovery (A-D) route 344 + 2 - MAC/IP advertisement route 346 + 3 - Inclusive Multicast Route 348 + 4 - Ethernet Segment Route 350 This document defines an additional route type that will be used for 351 the advertisement of IP Prefixes: 353 + 5 - IP Prefix Route 355 The support for this new route type is OPTIONAL. 357 Since this new route type is OPTIONAL, an implementation not 358 supporting it MUST ignore the route, based on the unknown route type 359 value. 361 The detailed encoding of this route and associated procedures are 362 described in the following sections. 364 3.1 IP Prefix Route encoding 366 An IP Prefix advertisement route NLRI consists of the following 367 fields: 369 +---------------------------------------+ 370 | RD (8 octets) | 371 +---------------------------------------+ 372 |Ethernet Segment Identifier (10 octets)| 373 +---------------------------------------+ 374 | Ethernet Tag ID (4 octets) | 375 +---------------------------------------+ 376 | IP Prefix Length (1 octet) | 377 +---------------------------------------+ 378 | IP Prefix (4 or 16 octets) | 379 +---------------------------------------+ 380 | GW IP Address (4 or 16 octets) | 381 +---------------------------------------+ 382 | MPLS Label (3 octets) | 383 +---------------------------------------+ 385 Where: 387 o RD, Ethernet Tag ID and MPLS Label fields will be used as 388 defined in [RFC7432] and [EVPN-OVERLAY]. 390 o The Ethernet Segment Identifier will be a non-zero 10-byte 391 identifier if the ESI is used as an overlay index. It will be 392 zero otherwise. 394 o The IP Prefix Length can be set to a value between 0 and 32 395 (bits) for ipv4 and between 0 and 128 for ipv6. 397 o The IP Prefix will be a 32 or 128-bit field (ipv4 or ipv6). 399 o The GW IP (Gateway IP Address) will be a 32 or 128-bit field 400 (ipv4 or ipv6), and will encode an overlay IP index for the IP 401 Prefixes. The GW IP field can be zero if it is not used as an 402 overlay index. 404 o The total route length will indicate the type of prefix (ipv4 405 or ipv6) and the type of GW IP address (ipv4 or ipv6). Note 406 that the IP Prefix + the GW IP should have a length of either 407 64 or 256 bits, but never 160 bits (ipv4 and ipv6 mixed values 408 are not allowed). 410 The Eth-Tag ID, IP Prefix Length and IP Prefix will be part of the 411 route key used by BGP to compare routes. The rest of the fields will 412 not be part of the route key. 414 The route will contain a single overlay index at most, i.e. if the 415 ESI field is different from zero, the GW IP field will be zero, and 416 vice versa. The following table shows the different inter-subnet use- 417 cases described in this document and the corresponding coding of the 418 overlay index in the route type 5 (RT-5). The IP-VRF-to-IP-VRF or IRB 419 forwarding on NVEs case is a special use-case, where there may be no 420 need for overlay index, since the actual next-hop is given by the BGP 421 next-hop. When an overlay index is present in the RT-5, the receiving 422 NVE will need to perform a recursive route resolution to find out to 423 which egress NVE to forward the packets. 425 +----------------------------+----------------------------------+ 426 | Use-case | Index in the RT-5 BGP update | 427 +----------------------------+----------------------------------+ 428 | TS IP address | GW IP Address | 429 | Floating IP address | GW IP Address | 430 | "Bump in the wire" | ESI | 431 | IP-VRF-to-IP-VRF | GW IP or N/A | 432 +----------------------------+----------------------------------+ 434 4. Benefits of using the EVPN IP Prefix route 436 This section clarifies the different functions accomplished by the 437 EVPN RT-2 and RT-5 routes, and provides a list of benefits derived 438 from using a separate route type for the advertisement of IP Prefixes 439 in EVPN. 441 [RFC7432] describes the content of the BGP EVPN RT-2 specific NLRI, 442 i.e. MAC/IP Advertisement Route, where the IP address length (IPL) 443 and IP address (IP) of a specific advertised MAC are encoded. The 444 subject of the MAC advertisement route is the MAC address (M) and MAC 445 address length (ML) encoded in the route. The MAC mobility and other 446 procedures are defined around that MAC address. The IP address 447 information carries the host IP address required for the ARP 448 resolution of the MAC according to [RFC7432] and the host route to be 449 programmed in the IP-VRF [EVPN-INTERSUBNET]. 451 The BGP EVPN route type 5 defined in this document, i.e. IP Prefix 452 Advertisement route, decouples the advertisement of IP prefixes from 453 the advertisement of any MAC address related to it. This brings some 454 major benefits to NVO-based networks where certain inter-subnet 455 forwarding scenarios are required. Some of those benefits are: 457 a) Upon receiving a route type 2 or type 5, an egress NVE can easily 458 distinguish MACs and IPs from IP Prefixes. E.g. an IP prefix with 459 IPL=32 being advertised from two different ingress NVEs (as RT-5) 460 can be identified as such and be imported in the designated 461 routing context as two ECMP routes, as opposed to two MACs 462 competing for the same IP. 464 b) Similarly, upon receiving a route, an ingress NVE not supporting 465 processing of IP Prefixes can easily ignore the update, based on 466 the route type. 468 c) A MAC route includes the ML, M, IPL and IP in the route key that 469 is used by BGP to compare routes, whereas for IP Prefix routes, 470 only IPL and IP (as well as Ethernet Tag ID) are part of the route 471 key. Advertised IP Prefixes are imported into the designated 472 routing context, where there is no MAC information associated to 473 IP routes. In the example illustrated in figure 1, subnet SN1 474 should be advertised by NVE2 and NVE3 and interpreted by DGW1 as 475 the same route coming from two different next-hops, regardless of 476 the MAC address associated to TS2 or TS3. This is easily 477 accomplished in the RT-5 by including only the IP information in 478 the route key. 480 d) By decoupling the MAC from the IP Prefix advertisement procedures, 481 we can leave the IP Prefix advertisements out of the MAC mobility 482 procedures defined in [RFC7432] for MACs. In addition, this allows 483 us to have an indirection mechanism for IP Prefixes advertised 484 from a MAC/IP that can move between hypervisors. E.g. if there are 485 1,000 prefixes seating behind TS2 (figure 1), NVE2 will advertise 486 all those prefixes in RT-5 routes associated to the index IP2. 487 Should TS2 move to a different NVE, a single MAC/IP advertisement 488 route withdraw for the M2/IP2 route from NVE2 will invalidate the 489 1,000 prefixes, as opposed to have to wait for each individual 490 prefix to be withdrawn. This may be easily accomplished by using 491 IP Prefix routes that are not tied to a MAC address, and use a 492 different MAC/IP route to advertise the location and resolution of 493 the overlay index to a MAC address. 495 5. IP Prefix index use-cases 497 The IP Prefix route can use a GW IP or an ESI as an overlay index as 498 well as no overlay index whatsoever. This section describes some use- 499 cases for these index types. 501 5.1 TS IP address index use-case 503 The following figure illustrates an example of inter-subnet 504 forwarding for subnets seating behind Virtual Appliances (on TS2 and 505 TS3). 507 SN1---+ NVE2 DGW1 508 | +-----------+ +---------+ +-------------+ 509 SN2---TS2(VA)--|(MAC-VRF10)|-| |----|(MAC-VRF10) | 510 | IP2/M2 +-----------+ | | | IRB1\ | 511 IP4---+ | | | (IP-VRF)|---+ 512 | | +-------------+ _|_ 513 | VXLAN/ | ( ) 514 | nvGRE | DGW2 ( WAN ) 515 SN1---+ NVE3 | | +-------------+ (___) 516 | IP3/M3 +-----------+ | |----|(MAC-VRF10) | | 517 SN3---TS3(VA)--|(MAC-VRF10)|-| | | IRB2\ | | 518 | +-----------+ +---------+ | (IP-VRF)|---+ 519 IP5---+ +-------------+ 521 Figure 2 TS IP address use-case 523 An example of inter-subnet forwarding between subnet SN1/24 and a 524 subnet seating in the WAN is described below. NVE2, NVE3, DGW1 and 525 DGW2 are running BGP EVPN. TS2 and TS3 do not support routing 526 protocols, only a static route to forward the traffic to the WAN. 528 (1) NVE2 advertises the following BGP routes on behalf of TS2: 530 o Route type 2 (MAC/IP route) containing: ML=48, M=M2, IPL=32, 531 IP=IP2 and [RFC5512] BGP Encapsulation Extended Community with 532 the corresponding Tunnel-type. 534 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 535 ESI=0, GW IP address=IP2 (and BGP Encapsulation Extended 536 Community). 538 (2) NVE3 advertises the following BGP routes on behalf of TS3: 540 o Route type 2 (MAC/IP route) containing: ML=48, M=M3, IPL=32, 541 IP=IP3 (and BGP Encapsulation Extended Community). 543 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 544 ESI=0, GW IP address=IP3 (and BGP Encapsulation Extended 545 Community). 547 (3) DGW1 and DGW2 import both received routes based on the 548 route-targets: 550 o Based on the MAC-VRF10 route-target in DGW1 and DGW2, the 551 MAC/IP route is imported and M2 is added to the MAC-VRF10 552 along with its corresponding tunnel information. For instance, 553 if VXLAN is used, the VTEP will be derived from the MAC/IP 554 route BGP next-hop (underlay next-hop) and VNI from the 555 VNI/VSID field. IP2 - M2 is added to the ARP table. 557 o Based on the MAC-VRF10 route-target in DGW1 and DGW2, the IP 558 Prefix route is also imported and SN1/24 is added to the IP- 559 VRF with index IP2 pointing at the local MAC-VRF10. Should 560 ECMP be enabled in the IP-VRF, SN1/24 would also be added to 561 the routing table with overlay index IP3. 563 (4) When DGW1 receives a packet from the WAN with destination IPx, 564 where IPx belongs to SN1/24: 566 o A destination IP lookup is performed on the DGW1 IP-VRF 567 routing table and index=IP2 is found. Since IP2 is an overlay 568 index a recursive route resolution is required for IP2. 570 o IP2 is resolved to M2 in the ARP table, and M2 is resolved to 571 the tunnel information given by the MAC-VRF FIB (e.g. remote 572 VTEP and VNI for the VXLAN case). 574 o The IP packet destined to IPx is encapsulated with: 576 . Source inner MAC = IRB1 MAC. 578 . Destination inner MAC = M2. 580 . Tunnel information provided by the MAC-VRF (VNI, VTEP IPs 581 and MACs for the VXLAN case). 583 (5) When the packet arrives at NVE2: 585 o Based on the tunnel information (VNI for the VXLAN case), the 586 MAC-VRF10 context is identified for a MAC lookup. 588 o Encapsulation is stripped-off and based on a MAC lookup 589 (assuming MAC forwarding on the egress NVE), the packet is 590 forwarded to TS2, where it will be properly routed. 592 (6) Should TS2 move from NVE2 to NVE3, MAC Mobility procedures will 593 be applied to the MAC route IP2/M2, as defined in [RFC7432]. 594 Route type 5 prefixes are not subject to MAC mobility procedures, 595 hence no changes in the DGW IP-VRF routing table will occur for 596 TS2 mobility, i.e. all the prefixes will still be pointing at IP2 597 as index. There is an indirection for e.g. SN1/24, which still 598 points at index IP2 in the routing table, but IP2 will be simply 599 resolved to a different tunnel, based on the outcome of the MAC 600 mobility procedures for the MAC/IP route IP2/M2. 602 Note that in the opposite direction, TS2 will send traffic based on 603 its static-route next-hop information (IRB1 and/or IRB2), and regular 604 EVPN procedures will be applied. 606 5.2 Floating IP index use-case 608 Sometimes Tenant Systems (TS) work in active/standby mode where an 609 upstream floating IP - owned by the active TS - is used as the index 610 to get to some subnets behind. This redundancy mode, already 611 introduced in section 2.1 and 2.2, is illustrated in Figure 3. 613 NVE2 DGW1 614 +-----------+ +---------+ +-------------+ 615 +---TS2(VA)--|(MAC-VRF10)|-| |----|(MAC-VRF10) | 616 | IP2/M2 +-----------+ | | | IRB1\ | 617 | <-+ | | | (IP-VRF)|---+ 618 | | | | +-------------+ _|_ 619 SN1 vIP23 (floating) | VXLAN/ | ( ) 620 | | | nvGRE | DGW2 ( WAN ) 621 | <-+ NVE3 | | +-------------+ (___) 622 | IP3/M3 +-----------+ | |----|(MAC-VRF10) | | 623 +---TS3(VA)--|(MAC-VRF10)|-| | | IRB2\ | | 624 +-----------+ +---------+ | (IP-VRF)|---+ 625 +-------------+ 627 Figure 3 Floating IP index for redundant TS 629 In this example, assuming TS2 is the active TS and owns IP23: 631 (1) NVE2 advertises the following BGP routes for TS2: 633 o Route type 2 (MAC/IP route) containing: ML=48, M=M2, IPL=32, 634 IP=IP23 (and BGP Encapsulation Extended Community). 636 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 637 ESI=0, GW IP address=IP23 (and BGP Encapsulation Extended 638 Community). 640 (2) NVE3 advertises the following BGP routes for TS3: 642 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 643 ESI=0, GW IP address=IP23 (and BGP Encapsulation Extended 644 Community). 646 (3) DGW1 and DGW2 import both received routes based on the route- 647 target: 649 o M2 is added to the MAC-VRF10 FIB along with its corresponding 650 tunnel information. For the VXLAN use case, the VTEP will be 651 derived from the MAC/IP route BGP next-hop and VNI from the 652 VNI/VSID field. IP23 - M2 is added to the ARP table. 654 o SN1/24 is added to the IP-VRF in DGW1 and DGW2 with index IP23 655 pointing at the local MAC-VRF10. 657 (4) When DGW1 receives a packet from the WAN with destination IPx, 658 where IPx belongs to SN1/24: 660 o A destination IP lookup is performed on the DGW1 IP-VRF 661 routing table and index=IP23 is found. Since IP23 is an 662 overlay index, a recursive route resolution for IP23 is 663 required. 665 o IP23 is resolved to M2 in the ARP table, and M2 is resolved to 666 the tunnel information given by the MAC-VRF (remote VTEP and 667 VNI for the VXLAN case). 669 o The IP packet destined to IPx is encapsulated with: 671 . Source inner MAC = IRB1 MAC. 673 . Destination inner MAC = M2. 675 . Tunnel information provided by the MAC-VRF FIB (VNI, VTEP 676 IPs and MACs for the VXLAN case). 678 (5) When the packet arrives at NVE2: 680 o Based on the tunnel information (VNI for the VXLAN case), the 681 MAC-VRF10 context is identified for a MAC lookup. 683 o Encapsulation is stripped-off and based on a MAC lookup 684 (assuming MAC forwarding on the egress NVE), the packet is 685 forwarded to TS2, where it will be properly routed. 687 (6) When the redundancy protocol running between TS2 and TS3 appoints 688 TS3 as the new active TS for SN1, TS3 will now own the floating 689 IP23 and will signal this new ownership (GARP message or 690 similar). Upon receiving the new owner's notification, NVE3 will 691 issue a route type 2 for M3-IP23. DGW1 and DGW2 will update their 692 ARP tables with the new MAC resolving the floating IP. No changes 693 are carried out in the IP-VRF routing table. 695 5.3 ESI index ("Bump in the wire") use-case 697 Figure 5 illustrates an example of inter-subnet forwarding for an IP 698 Prefix route that carries a subnet SN1 and uses an ESI as an overlay 699 index (ESI23). In this use-case, TS2 and TS3 are layer-2 VA devices 700 without any IP address that can be included as an overlay index in 701 the GW IP field of the IP Prefix route. Their MAC addresses are M2 702 and M3 respectively and are connected to EVI-10. Note that IRB1 and 703 IRB2 (in DGW1 and DGW2 respectively) have IP addresses in a subnet 704 different than SN1. 706 NVE2 DGW1 707 M2 +-----------+ +---------+ +-------------+ 708 +---TS2(VA)--|(MAC-VRF10)|-| |----|(MAC-VRF10) | 709 | ESI23 +-----------+ | | | IRB1\ | 710 | + | | | (IP-VRF)|---+ 711 | | | | +-------------+ _|_ 712 SN1 | | VXLAN/ | ( ) 713 | | | nvGRE | DGW2 ( WAN ) 714 | + NVE3 | | +-------------+ (___) 715 | ESI23 +-----------+ | |----|(MAC-VRF10) | | 716 +---TS3(VA)--|(MAC-VRF10)|-| | | IRB2\ | | 717 M3 +-----------+ +---------+ | (IP-VRF)|---+ 718 +-------------+ 720 Figure 5 ESI index use-case 722 Since neither TS2 nor TS3 can run any routing protocol and have no IP 723 address assigned, an ESI, i.e. ESI23, will be provisioned on the 724 attachment ports of NVE2 and NVE3. This model supports VA redundancy 725 in a similar way as the one described in section 5.2 for the floating 726 IP index use-case, only using the EVPN Ethernet A-D route instead of 727 the MAC advertisement route to advertise the location of the overlay 728 index. The procedure is explained below: 730 (1) NVE2 advertises the following BGP routes for TS2: 732 o Route type 1 (Ethernet A-D route for EVI-10) containing: 733 ESI=ESI23 and the corresponding tunnel information (VNI/VSID 734 field), as well as the BGP Encapsulation Extended Community as 735 per [EVPN-OVERLAY]. 737 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 738 ESI=ESI23, GW IP address=0 (and BGP Encapsulation Extended 739 Community). The Router's MAC Extended Community defined in 740 [EVPN-INTERSUBNET] is added and carries the MAC address (M2) 741 associated to the TS behind which SN1 seats. 743 (2) NVE3 advertises the following BGP routes for TS3: 745 o Route type 1 (Ethernet A-D route for EVI-10) containing: 746 ESI=ESI23 and the corresponding tunnel information (VNI/VSID 747 field), as well as the BGP Encapsulation Extended Community. 748 Note that if the resiliency mechanism for TS2 and TS3 is in 749 all-active mode, both NVE2 and NVE3 will send the A-D route. 750 Otherwise, that is, the resiliency is single-active, only the 751 NVE owning the active ESI will advertise the Ethernet A-D 752 route for ESI23. 754 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 755 ESI=23, GW IP address=0 (and BGP Encapsulation Extended 756 Community). The Router's MAC Extended Community is added and 757 carries the MAC address (M3) associated to the TS behind which 758 SN1 seats. 760 (3) DGW1 and DGW2 import the received routes based on the route- 761 target: 763 o The tunnel information to get to ESI23 is installed in DGW1 764 and DGW2. For the VXLAN use case, the VTEP will be derived 765 from the Ethernet A-D route BGP next-hop and VNI from the 766 VNI/VSID field (see [EVPN-OVERLAY]). 768 o SN1/24 is added to the IP-VRF in DGW1 and DGW2 with index 769 ESI23. 771 (4) When DGW1 receives a packet from the WAN with destination IPx, 772 where IPx belongs to SN1/24: 774 o A destination IP lookup is performed on the DGW1 IP-VRF 775 routing table and index=ESI23 is found. Since ESI23 is an 776 overlay index, a recursive route resolution is required to 777 find the egress NVE where ESI23 resides. 779 o The IP packet destined to IPx is encapsulated with: 781 . Source inner MAC = IRB1 MAC. 783 . Destination inner MAC = M2 (this MAC will be obtained 784 from the Router's MAC Extended Community received along 785 with the RT-5 for SN1). 787 . Tunnel information for the NVO tunnel is provided by the 788 Ethernet A-D route per-EVI for ESI23 (VNI and VTEP IP for 789 the VXLAN case). 791 (5) When the packet arrives at NVE2: 793 o Based on the tunnel information (VNI for the VXLAN case), the 794 MAC-VRF10 context is identified for a MAC lookup (assuming MAC 795 disposition model). 797 o Encapsulation is stripped-off and based on a MAC lookup 798 (assuming MAC forwarding on the egress NVE), the packet is 799 forwarded to TS2, where it will be forwarded to SN1. 801 (6) If the redundancy protocol running between TS2 and TS3 follows an 802 active/standby model and there is a failure, appointing TS3 as 803 the new active TS for SN1, TS3 will now own the connectivity to 804 SN1 and will signal this new ownership. Upon receiving the new 805 owner's notification, NVE3 will issue a route type 1 for ESI23, 806 whereas NVE2 will withdraw its Ethernet A-D route for ESI23. DGW1 807 and DGW2 will update their tunnel information to resolve ESI23. 808 The destination inner MAC will be changed to M3. 810 5.4 IRB forwarding on NVEs for Subnets (IP-VRF-to-IP-VRF) 812 This use-case is similar to the scenario described in "IRB forwarding 813 on NVEs for Tenant Systems" in [EVPN-INTERSUBNET], however the new 814 requirement here is the advertisement of IP Prefixes as opposed to 815 only host routes. In the previous examples, the MAC-VRF instance can 816 connect IRB interfaces and any other Tenant Systems connected to it. 817 EVPN provides connectivity for: 819 a) Traffic destined to the IRB IP interfaces as well as 821 b) Traffic destined to IP subnets seating behind the TS, e.g. SN1 or 822 SN2. 824 In order to provide connectivity for (a), MAC/IP routes (RT-2) are 825 needed so that IRB MACs and IPs can be distributed. Connectivity type 826 (b) is accomplished by the exchange of IP Prefix routes (RT-5) for 827 IPs and subnets seating behind certain overlay indexes, e.g. GW IP or 828 ESI. 830 In some cases, IP Prefix routes may be advertised for subnets and IPs 831 seating behind an IRB. This use case is depicted in the diagram below 832 and we refer to it as the "IRB forwarding on NVEs for Subnets" or 833 "IP-VRF-to-IP-VRF" use-case: 835 NVE1 836 +------------+ 837 IP1-----|(MAC-VRF1) | DGW1 838 | \ IRB-1(M1)---------+ +--------+ 839 | (IP-VRF)|----| |-|(IP-VRF)|----+ 840 | / | | | +--------+ | 841 |---|(MAC-VRF2) | | | _|_ 842 | +------------+ | | ( ) 843 SN1| | VXLAN/ | ( WAN ) 844 | NVE2 | nvGRE | (___) 845 | +------------+ | | | 846 |---|(MAC-VRF2) | | | DGW2 | 847 | \ IRB-2(M2) | +--------+ | 848 | (IP-VRF)|----| |-|(IP-VRF)|----+ 849 | / | +---------+ +--------+ 850 SN2-----|(MAC-VRF3) | 851 +------------+ 853 Figure 6 Inter-subnet forwarding on NVEs for Subnets 855 In this case, we need to provide connectivity from/to IP hosts in 856 SN1, SN2, IP1 and hosts seating at the other end of the WAN. 858 The solution must provide connectivity in this use case, irrespective 859 of whether the data plane between IP-VRFs requires an inner layer-2 860 header. 862 The EVPN route type 5 will be used to advertise the IP Prefixes, 863 along with the Router's MAC Extended Community as defined in [EVPN- 864 INTERSUBNET]. Each NVE/DGW will advertise an RT-5 for each of its 865 prefixes with the following fields: 867 o RD as per [RFC7432]. 869 o Eth-Tag ID = 0 assuming VLAN-based service. 871 o IP address length and IP address, as explained in the previous 872 sections. 874 o GW IP address= 0 or IRB-IP (see below for further explanation) 876 o ESI=0 878 o MPLS label or VNI corresponding to the IP-VRF. 880 Each RT-5 will be sent with a route-target identifying the tenant 881 (IP-VRF) and two BGP extended communities: 883 o The first one is the BGP Encapsulation Extended Community, as 884 per [RFC5512], identifying the tunnel type. 886 o The second one is the Router's MAC Extended Community as per 887 [EVPN-INTERSUBNET] containing the MAC address associated to 888 the NVE advertising the route. This MAC address identifies the 889 NVE/DGW and MAY be re-used for all the IP-VRFs in the NVE. The 890 Router's MAC Extended Community MUST be sent if the associated 891 RT-5's GW IP Address is zero. 893 If the data plane between IP-VRFs does not require an inner layer-2 894 header (e.g. VXLAN GPE) NVE1 and NVE2 will only send a RT-5 per IP 895 Prefix that they have attached to their respective IP-VRF, e.g. IP1, 896 SN1 and SN2. 898 If the data plane between IP-VRFs requires an inner layer-2 header 899 (e.g. VXLAN or nvGRE) NVE1 and NVE2 will additionally send an RT-2 900 for their IRB interface interconnecting the IP-VRFs for the same 901 tenant. In Figure 6, the IRB interfaces interconnecting IP-VRFs in 902 NVE1 and NVE2 are referred to as IRB-1 and IRB-2 and have the MAC 903 addresses M1 and M2 respectively. 905 The following example illustrates the procedure to advertise and 906 forward packets to SN1/24 (ipv4 prefix advertised from NVE1) for 907 VXLAN tunnels: 909 (1) NVE1 advertises the following BGP routes: 911 o Route type 5 (IP Prefix route) containing: 913 . IPL=24, IP=SN1, VNI=10. 915 . GW IP=0 if IRB-1 is NOT IP-reachable or GW IP=IRB-1-IP if 916 IRB-1 is IP-reachable. 918 . [RFC5512] BGP Encapsulation Extended Community with Tunnel- 919 type= VXLAN. 921 . Router's MAC Extended Community that contains M1. 923 . Route-target identifying the tenant (IP-VRF). 925 o Route type 2 (MAC/IP route for IRB-1) containing: 927 . ML=48, M=M1, IPL= 0 or 32, VNI=10. 929 . IP= null (if IRB-1 is not IP-reachable) or IRB-1-IP1 (if 930 IRB-1 is IP-reachable). 932 . A [RFC5512] BGP Encapsulation Extended Community with 933 Tunnel-type= VXLAN. 935 . Route-target identifying the tenant. This route-target MAY 936 be the same one used with the RT-5. 938 (2) DGW1 imports the received routes from NVE1: 940 o DGW1 installs SN1/24 in the IP-VRF identified by the RT-5 941 route-target. 943 . If GW IP is different from zero, the GW IP - IRB-1-IP1 - 944 will be used as the index for the recursive route resolution 945 to the RT-2 carrying IRB-1-IP1. 947 . If GW IP=0, an implementation MAY use the VNI and next-hop 948 of the RT-5, as well as the MAC address conveyed in the 949 Router's MAC Extended Community (as inner destination MAC 950 address). 952 (3) When DGW1 receives a packet from the WAN with destination IPx, 953 where IPx belongs to SN1/24: 955 o A destination IP lookup is performed on the DGW1 IP-VRF 956 routing table that yields SN1/24. 958 . If RT-5 for SN1/24 had a GW IP=IRB-1-IP1, this GW IP will be 959 used as an index that will be recursively resolved to the 960 tunnel information received from the RT-2. 962 . If the RT-5 for SN1/24 had a GW IP=0, DGW1 MAY not refer to 963 the RT-2. 965 o The IP packet destined to IPx is encapsulated with: Source 966 inner MAC = DGW1 MAC, Destination inner MAC = M1, Source outer 967 IP (source VTEP) = DGW1 IP, Destination outer IP (destination 968 VTEP) = NVE1 IP. 970 (4) When the packet arrives at NVE1: 972 o NVE1 will identify the IP-VRF for an IP-lookup based on the 973 VNI or the VNI and the inner MAC DA (this is implementation 974 specific). 976 o An IP lookup is performed in the routing context, where SN1 977 turns out to be a local subnet associated to MAC-VRF2. A 978 subsequent lookup in the ARP table and the MAC-VRF FIB will 979 provide the forwarding information for the packet in MAC-VRF2. 981 6. Conclusions 983 A new EVPN route type 5 for the advertisement of IP Prefixes is 984 described in this document. This new route type has a differentiated 985 role from the RT-2 route and addresses all the Data Center (or NVO- 986 based networks in general) inter-subnet connectivity scenarios in 987 which an IP Prefix advertisement is required. Using this new RT-5, an 988 IP Prefix may be advertised along with an overlay index that can be a 989 GW IP address or an ESI, or without an overlay index, in which case 990 the BGP next-hop will point at the egress NVE and the MAC in the 991 Router's MAC Extended Community will provide the inner MAC 992 destination address to be used. As discussed throughout the document, 993 the EVPN RT-2 does not meet the requirements for all the DC use 994 cases, therefore this EVPN route type is required. 996 The EVPN route type 5 decouples the IP Prefix advertisements from the 997 MAC/IP route advertisements in EVPN, hence: 999 a) Allows the clean and clear advertisements of ipv4 or ipv6 prefixes 1000 in an NLRI with no MAC addresses in the route key, so that only IP 1001 information is used in BGP route comparisons. 1003 b) Since the route type is different from the MAC/IP Advertisement 1004 route, the advertisement of prefixes will be excluded from all the 1005 procedures defined for the advertisement of VM MACs, e.g. MAC 1006 Mobility or aliasing. As a result of that, the current EVPN 1007 procedures do not need to be modified. 1009 c) Allows a flexible implementation where the prefix can be linked to 1010 different types of indexes: overlay IP address, overlay ESI, 1011 underlay IP next-hops, etc. 1013 d) An EVPN implementation not requiring IP Prefixes can simply 1014 discard them by looking at the route type value. An unknown route 1015 type MUST be ignored by the receiving NVE/PE. 1017 7. Conventions used in this document 1019 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 1020 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 1021 document are to be interpreted as described in RFC-2119 [RFC2119]. 1023 8. Security Considerations 1024 9. IANA Considerations 1026 This document requests the allocation of value 5 in the "EVPN Route 1027 Types" registry defined by [RFC7432] and modification of the registry 1028 as follows: 1030 Value Description Reference 1031 5 IP Prefix route [this document] 1032 6-255 Unassigned 1034 10. References 1036 10.1 Normative References 1038 [RFC7432] Sajassi et al., "BGP MPLS Based Ethernet VPN", RFC 7432, 1039 February 2015, . 1041 [RFC4364]Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 1042 Networks (VPNs)", RFC 4364, February 2006, . 1045 10.2 Informative References 1047 [EVPN-OVERLAY] Sajassi-Drake et al., "A Network Virtualization 1048 Overlay Solution using EVPN", draft-ietf-bess-evpn-overlay-00.txt, 1049 work in progress, November, 2014 1051 [EVPN-INTERSUBNET] Sajassi et al., "IP Inter-Subnet Forwarding in 1052 EVPN", draft-ietf-bess-evpn-inter-subnet-forwarding-00.txt, work in 1053 progress, November, 2014 1055 11. Acknowledgments 1057 The authors would like to thank Mukul Katiyar and Senthil Sathappan 1058 for their valuable feedback and contributions. The following people 1059 also helped improving this document with their feedback: Antoni 1060 Przygienda and Thomas Morin. 1062 12. Authors' Addresses 1064 Jorge Rabadan 1065 Alcatel-Lucent 1066 777 E. Middlefield Road 1067 Mountain View, CA 94043 USA 1068 Email: jorge.rabadan@alcatel-lucent.com 1069 Wim Henderickx 1070 Alcatel-Lucent 1071 Email: wim.henderickx@alcatel-lucent.com 1073 Florin Balus 1074 Nuage Networks 1075 Email: florin@nuagenetworks.net 1077 Aldrin Isaac 1078 Bloomberg 1079 Email: aisaac71@bloomberg.net 1081 Senad Palislamovic 1082 Alcatel-Lucent 1083 Email: senad.palislamovic@alcatel-lucent.com 1085 John E. Drake 1086 Juniper Networks 1087 Email: jdrake@juniper.net 1089 Ali Sajassi 1090 Cisco 1091 Email: sajassi@cisco.com 1093 Wen Lin 1094 Juniper Networks 1095 Email: wlin@juniper.net