idnits 2.17.1 draft-ietf-bess-evpn-prefix-advertisement-04.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 (February 13, 2017) is 2626 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: 'RFC7432' is mentioned on line 1323, but not defined == Missing Reference: 'RFC5512' is mentioned on line 1231, but not defined ** Obsolete undefined reference: RFC 5512 (Obsoleted by RFC 9012) == Missing Reference: 'RFC2119' is mentioned on line 1314, but not defined == Outdated reference: A later version (-15) exists of draft-ietf-bess-evpn-inter-subnet-forwarding-03 == Outdated reference: A later version (-12) exists of draft-ietf-bess-evpn-overlay-07 Summary: 1 error (**), 0 flaws (~~), 6 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 Intended status: Standards Track Nokia 6 J. Drake 7 W. Lin 8 Juniper 10 A. Sajassi 11 Cisco 13 Expires: August 17, 2017 February 13, 2017 15 IP Prefix Advertisement in EVPN 16 draft-ietf-bess-evpn-prefix-advertisement-04 18 Abstract 20 EVPN provides a flexible control plane that allows intra-subnet 21 connectivity in an IP/MPLS and/or an NVO-based network. In NVO 22 networks, there is also a need for a dynamic and efficient inter- 23 subnet connectivity across Tenant Systems and End Devices that can be 24 physical or virtual and may not support their own routing protocols. 25 This document defines a new EVPN route type for the advertisement of 26 IP Prefixes and explains some use-case examples where this new route- 27 type is used. 29 Status of this Memo 31 This Internet-Draft is submitted in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF), its areas, and its working groups. Note that 36 other groups may also distribute working documents as Internet- 37 Drafts. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 The list of current Internet-Drafts can be accessed at 45 http://www.ietf.org/ietf/1id-abstracts.txt 46 The list of Internet-Draft Shadow Directories can be accessed at 47 http://www.ietf.org/shadow.html 49 This Internet-Draft will expire on August 17, 2017. 51 Copyright Notice 53 Copyright (c) 2017 IETF Trust and the persons identified as the 54 document authors. All rights reserved. 56 This document is subject to BCP 78 and the IETF Trust's Legal 57 Provisions Relating to IETF Documents 58 (http://trustee.ietf.org/license-info) in effect on the date of 59 publication of this document. Please review these documents 60 carefully, as they describe your rights and restrictions with respect 61 to this document. Code Components extracted from this document must 62 include Simplified BSD License text as described in Section 4.e of 63 the Trust Legal Provisions and are provided without warranty as 64 described in the Simplified BSD License. 66 Table of Contents 68 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 69 2. Introduction and problem statement . . . . . . . . . . . . . . 3 70 2.1 Inter-subnet connectivity requirements in Data Centers . . . 4 71 2.2 The requirement for a new EVPN route type . . . . . . . . . 6 72 3. The BGP EVPN IP Prefix route . . . . . . . . . . . . . . . . . 8 73 3.1 IP Prefix Route encoding . . . . . . . . . . . . . . . . . . 8 74 4. Benefits of using the EVPN IP Prefix route . . . . . . . . . . 10 75 5. IP Prefix overlay index use-cases . . . . . . . . . . . . . . . 11 76 5.1 TS IP address overlay index use-case . . . . . . . . . . . . 11 77 5.2 Floating IP overlay index use-case . . . . . . . . . . . . . 14 78 5.3 ESI overlay index ("Bump in the wire") use-case . . . . . . 15 79 5.4 IP-VRF-to-IP-VRF model . . . . . . . . . . . . . . . . . . . 18 80 5.4.1 Interface-less IP-VRF-to-IP-VRF model . . . . . . . . . 19 81 5.4.2 Interface-full IP-VRF-to-IP-VRF with core-facing IRB . . 22 82 5.4.3 Interface-full IP-VRF-to-IP-VRF with unnumbered 83 core-facing IRB . . . . . . . . . . . . . . . . . . . . 24 84 6. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 27 85 7. Conventions used in this document . . . . . . . . . . . . . . . 28 86 8. Security Considerations . . . . . . . . . . . . . . . . . . . . 28 87 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 28 88 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29 89 10.1 Normative References . . . . . . . . . . . . . . . . . . . 29 90 10.2 Informative References . . . . . . . . . . . . . . . . . . 29 91 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29 92 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 29 93 13. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 29 95 1. Terminology 97 GW IP: Gateway IP Address 99 IPL: IP address length 101 IRB: Integrated Routing and Bridging interface 103 ML: MAC address length 105 NVE: Network Virtualization Edge 107 TS: Tenant System 109 VA: Virtual Appliance 111 RT-2: EVPN route type 2, i.e. MAC/IP advertisement route 113 RT-5: EVPN route type 5, i.e. IP Prefix route 115 AC: Attachment Circuit 117 Overlay index: object used in the IP Prefix route, as described in 118 this document. It can be an IP address in the tenant space or an ESI, 119 and identifies a pointer yielded by the IP route lookup at the 120 routing context importing the route. An overlay index always needs a 121 recursive route resolution on the NVE receiving the IP Prefix route, 122 so that the NVE knows to which egress NVE it needs to forward the 123 packets. 125 Underlay next-hop: IP address sent by BGP along with any EVPN route, 126 i.e. BGP next-hop. It identifies the NVE sending the route and it is 127 used at the receiving NVE as the VXLAN destination VTEP or NVGRE 128 destination end-point. 130 Ethernet NVO tunnel: it refers to Network Virtualization Overlay 131 tunnels with Ethernet payload. Examples of this type of tunnels are 132 VXLAN or nvGRE. 134 IP NVO tunnel: it refers to Network Virtualization Overlay tunnels 135 with IP payload (no MAC header in the payload). Examples of IP NVO 136 tunnels are VXLAN GPE or MPLSoGRE (both with IP payload). 138 2. Introduction and problem statement 140 Inter-subnet connectivity is required for certain tenants within the 141 Data Center. [EVPN-INTERSUBNET] defines some fairly common inter- 142 subnet forwarding scenarios where TSes can exchange packets with TSes 143 located in remote subnets. In order to meet this requirement, 144 [EVPN-INTERSUBNET] describes how MAC/IPs encoded in TS RT-2 routes 145 are not only used to populate MAC-VRF and overlay ARP tables, but 146 also IP-VRF tables with the encoded TS host routes (/32 or /128). In 147 some cases, EVPN may advertise IP Prefixes and therefore provide 148 aggregation in the IP-VRF tables, as opposed to program individual 149 host routes. This document complements the scenarios described in 150 [EVPN-INTERSUBNET] and defines how EVPN may be used to advertise IP 151 Prefixes. 153 Section 2.1 describes the inter-subnet connectivity requirements in 154 Data Centers. Section 2.2 explains why a new EVPN route type is 155 required for IP Prefix advertisements. Once the need for a new EVPN 156 route type is justified, sections 3, 4 and 5 will describe this route 157 type and how it is used in some specific use cases. 159 2.1 Inter-subnet connectivity requirements in Data Centers 161 [RFC7432] is used as the control plane for a Network Virtualization 162 Overlay (NVO3) solution in Data Centers (DC), where Network 163 Virtualization Edge (NVE) devices can be located in Hypervisors or 164 TORs, as described in [EVPN-OVERLAY]. 166 If we use the term Tenant System (TS) to designate a physical or 167 virtual system identified by MAC and IP addresses, and connected to 168 an EVPN instance, the following considerations apply: 170 o The Tenant Systems may be Virtual Machines (VMs) that generate 171 traffic from their own MAC and IP. 173 o The Tenant Systems may be Virtual Appliance entities (VAs) that 174 forward traffic to/from IP addresses of different End Devices 175 seating behind them. 177 o These VAs can be firewalls, load balancers, NAT devices, other 178 appliances or virtual gateways with virtual routing instances. 180 o These VAs do not have their own routing protocols and hence 181 rely on the EVPN NVEs to advertise the routes on their behalf. 183 o In all these cases, the VA will forward traffic to the Data 184 Center using its own source MAC but the source IP will be the 185 one associated to the End Device seating behind or a 186 translated IP address (part of a public NAT pool) if the VA is 187 performing NAT. 189 o Note that the same IP address could exist behind two of these 190 TS. One example of this would be certain appliance resiliency 191 mechanisms, where a virtual IP or floating IP can be owned by 192 one of the two VAs running the resiliency protocol (the master 193 VA). VRRP is one particular example of this. Another example 194 is multi-homed subnets, i.e. the same subnet is connected to 195 two VAs. 197 o Although these VAs provide IP connectivity to VMs and subnets 198 behind them, they do not always have their own IP interface 199 connected to the EVPN NVE, e.g. layer-2 firewalls are examples 200 of VAs not supporting IP interfaces. 202 The following figure illustrates some of the examples described 203 above. 204 NVE1 205 +-----------+ 206 TS1(VM)--|(MAC-VRF10)|-----+ 207 IP1/M1 +-----------+ | DGW1 208 +---------+ +-------------+ 209 | |----|(MAC-VRF10) | 210 SN1---+ NVE2 | | | IRB1\ | 211 | +-----------+ | | | (IP-VRF)|---+ 212 SN2---TS2(VA)--|(MAC-VRF10)|-| | +-------------+ _|_ 213 | IP2/M2 +-----------+ | VXLAN/ | ( ) 214 IP4---+ <-+ | nvGRE | DGW2 ( WAN ) 215 | | | +-------------+ (___) 216 vIP23 (floating) | |----|(MAC-VRF10) | | 217 | +---------+ | IRB2\ | | 218 SN1---+ <-+ NVE3 | | | | (IP-VRF)|---+ 219 | IP3/M3 +-----------+ | | | +-------------+ 220 SN3---TS3(VA)--|(MAC-VRF10)|---+ | | 221 | +-----------+ | | 222 IP5---+ | | 223 | | 224 NVE4 | | NVE5 +--SN5 225 +---------------------+ | | +-----------+ | 226 IP6------|(MAC-VRF1) | | +-|(MAC-VRF10)|--TS4(VA)--SN6 227 | \ | | +-----------+ | 228 | (IP-VRF) |--+ ESI4 +--SN7 229 | / \IRB3 | 230 |---|(MAC-VRF2)(MAC-VRF10)| 231 SN4| +---------------------+ 233 Figure 1 DC inter-subnet use-cases 235 Where: 237 NVE1, NVE2, NVE3, NVE4, NVE5, DGW1 and DGW2 share the same EVI for a 238 particular tenant. EVI-10 is comprised of the collection of MAC-VRF10 239 instances defined in all the NVEs. All the hosts connected to EVI-10 240 belong to the same IP subnet. The hosts connected to EVI-10 are 241 listed below: 243 o TS1 is a VM that generates/receives traffic from/to IP1, where 244 IP1 belongs to the EVI-10 subnet. 246 o TS2 and TS3 are Virtual Appliances (VA) that generate/receive 247 traffic from/to the subnets and hosts seating behind them 248 (SN1, SN2, SN3, IP4 and IP5). Their IP addresses (IP2 and IP3) 249 belong to the EVI-10 subnet and they can also generate/receive 250 traffic. When these VAs receive packets destined to their own 251 MAC addresses (M2 and M3) they will route the packets to the 252 proper subnet or host. These VAs do not support routing 253 protocols to advertise the subnets connected to them and can 254 move to a different server and NVE when the Cloud Management 255 System decides to do so. These VAs may also support redundancy 256 mechanisms for some subnets, similar to VRRP, where a floating 257 IP is owned by the master VA and only the master VA forwards 258 traffic to a given subnet. E.g.: vIP23 in figure 1 is a 259 floating IP that can be owned by TS2 or TS3 depending on who 260 the master is. Only the master will forward traffic to SN1. 262 o Integrated Routing and Bridging interfaces IRB1, IRB2 and IRB3 263 have their own IP addresses that belong to the EVI-10 subnet 264 too. These IRB interfaces connect the EVI-10 subnet to Virtual 265 Routing and Forwarding (IP-VRF) instances that can route the 266 traffic to other connected subnets for the same tenant (within 267 the DC or at the other end of the WAN). 269 o TS4 is a layer-2 VA that provides connectivity to subnets SN5, 270 SN6 and SN7, but does not have an IP address itself in the 271 EVI-10. TS4 is connected to a physical port on NVE5 assigned 272 to Ethernet Segment Identifier 4. 274 All the above DC use cases require inter-subnet forwarding and 275 therefore the individual host routes and subnets: 277 a) MUST be advertised from the NVEs (since VAs and VMs do not run 278 routing protocols) and 279 b) MAY be associated to an overlay index that can be a VA IP address, 280 a floating IP address or an ESI. 282 2.2 The requirement for a new EVPN route type 284 [RFC7432] defines a MAC/IP route (also referred as RT-2) where a MAC 285 address can be advertised together with an IP address length (IPL) 286 and IP address (IP). While a variable IPL might have been used to 287 indicate the presence of an IP prefix in a route type 2, there are 288 several specific use cases in which using this route type to deliver 289 IP Prefixes is not suitable. 291 One example of such use cases is the "floating IP" example described 292 in section 2.1. In this example we need to decouple the advertisement 293 of the prefixes from the advertisement of the floating IP (vIP23 in 294 figure 1) and MAC associated to it, otherwise the solution gets 295 highly inefficient and does not scale. 297 E.g.: if we are advertising 1k prefixes from M2 (using RT-2) and the 298 floating IP owner changes from M2 to M3, we would need to withdraw 1k 299 routes from M2 and re-advertise 1k routes from M3. However if we use 300 a separate route type, we can advertise the 1k routes associated to 301 the floating IP address (vIP23) and only one RT-2 for advertising the 302 ownership of the floating IP, i.e. vIP23 and M2 in the route type 2. 303 When the floating IP owner changes from M2 to M3, a single RT-2 304 withdraw/update is required to indicate the change. The remote DGW 305 will not change any of the 1k prefixes associated to vIP23, but will 306 only update the ARP resolution entry for vIP23 (now pointing at M3). 308 Other reasons to decouple the IP Prefix advertisement from the MAC/IP 309 route are listed below: 311 o Clean identification, operation of troubleshooting of IP 312 Prefixes, not subject to interpretation and independent of the 313 IPL and the IP value. E.g.: a default IP route 0.0.0.0/0 must 314 always be easily and clearly distinguished from the absence of 315 IP information. 317 o MAC address information must not be compared by BGP when 318 selecting two IP Prefix routes. If IP Prefixes were to be 319 advertised using MAC/IP routes, the MAC information would 320 always be present and part of the route key. 322 o IP Prefix routes must not be subject to MAC/IP route 323 procedures such as MAC mobility or aliasing. Prefixes 324 advertised from two different ESIs do not mean mobility; MACs 325 advertised from two different ESIs do mean mobility. Similarly 326 load balancing for IP prefixes is achieved through IP 327 mechanisms such as ECMP, and not through MAC route mechanisms 328 such as aliasing. 330 o NVEs that do not require processing IP Prefixes must have an 331 easy way to identify an update with an IP Prefix and ignore 332 it, rather than processing the MAC/IP route to find out only 333 later that it carries a Prefix that must be ignored. 335 The following sections describe how EVPN is extended with a new route 336 type for the advertisement of IP prefixes and how this route is used 337 to address the current and future inter-subnet connectivity 338 requirements existing in the Data Center. 340 3. The BGP EVPN IP Prefix route 342 The current BGP EVPN NLRI as defined in [RFC7432] is shown below: 344 +-----------------------------------+ 345 | Route Type (1 octet) | 346 +-----------------------------------+ 347 | Length (1 octet) | 348 +-----------------------------------+ 349 | Route Type specific (variable) | 350 +-----------------------------------+ 352 Where the route type field can contain one of the following specific 353 values: 355 + 1 - Ethernet Auto-Discovery (A-D) route 357 + 2 - MAC/IP advertisement route 359 + 3 - Inclusive Multicast Route 361 + 4 - Ethernet Segment Route 363 This document defines an additional route type that will be used for 364 the advertisement of IP Prefixes: 366 + 5 - IP Prefix Route 368 The support for this new route type is OPTIONAL. 370 Since this new route type is OPTIONAL, an implementation not 371 supporting it MUST ignore the route, based on the unknown route type 372 value. 374 The detailed encoding of this route and associated procedures are 375 described in the following sections. 377 3.1 IP Prefix Route encoding 379 An IP Prefix advertisement route NLRI consists of the following 380 fields: 382 +---------------------------------------+ 383 | RD (8 octets) | 384 +---------------------------------------+ 385 |Ethernet Segment Identifier (10 octets)| 386 +---------------------------------------+ 387 | Ethernet Tag ID (4 octets) | 388 +---------------------------------------+ 389 | IP Prefix Length (1 octet) | 390 +---------------------------------------+ 391 | IP Prefix (4 or 16 octets) | 392 +---------------------------------------+ 393 | GW IP Address (4 or 16 octets) | 394 +---------------------------------------+ 395 | MPLS Label (3 octets) | 396 +---------------------------------------+ 398 Where: 400 o RD, Ethernet Tag ID and MPLS Label fields will be used as 401 defined in [RFC7432] and [EVPN-OVERLAY]. 403 o The Ethernet Segment Identifier will be a non-zero 10-byte 404 identifier if the ESI is used as an overlay index. It will be 405 zero otherwise. 407 o The IP Prefix Length can be set to a value between 0 and 32 408 (bits) for ipv4 and between 0 and 128 for ipv6. 410 o The IP Prefix will be a 32 or 128-bit field (ipv4 or ipv6). 412 o The GW IP (Gateway IP Address) will be a 32 or 128-bit field 413 (ipv4 or ipv6), and will encode an overlay IP index for the IP 414 Prefixes. The GW IP field SHOULD be zero if it is not used as 415 an overlay index. 417 o The MPLS Label field is encoded as 3 octets, where the high- 418 order 20 bits contain the label value. The value SHOULD be 419 null when the IP Prefix route is used for a recursive lookup 420 resolution. 422 o The total route length will indicate the type of prefix (ipv4 423 or ipv6) and the type of GW IP address (ipv4 or ipv6). Note 424 that the IP Prefix + the GW IP should have a length of either 425 64 or 256 bits, but never 160 bits (ipv4 and ipv6 mixed values 426 are not allowed). 428 The Eth-Tag ID, IP Prefix Length and IP Prefix will be part of the 429 route key used by BGP to compare routes. The rest of the fields will 430 not be part of the route key. 432 The route will contain a single overlay index at most, i.e. if the 433 ESI field is different from zero, the GW IP field will be zero, and 434 vice versa. The following table shows the different inter-subnet use- 435 cases described in this document and the corresponding coding of the 436 overlay index in the route type 5 (RT-5). The IP-VRF-to-IP-VRF or IRB 437 forwarding on NVEs case is a special use-case, where there may be no 438 need for overlay index, since the actual next-hop is given by the BGP 439 next-hop. When an overlay index is present in the RT-5, the receiving 440 NVE will need to perform a recursive route resolution to find out to 441 which egress NVE to forward the packets. 443 +----------------------------+--------------------------------------+ 444 | Use-case | Overlay Index in the RT-5 BGP update | 445 +----------------------------+--------------------------------------+ 446 | TS IP address | Overlay GW IP Address | 447 | Floating IP address | Overlay GW IP Address | 448 | "Bump in the wire" | ESI | 449 | IP-VRF-to-IP-VRF | Overlay GW IP, MAC or N/A | 450 +----------------------------+--------------------------------------+ 452 4. Benefits of using the EVPN IP Prefix route 454 This section clarifies the different functions accomplished by the 455 EVPN RT-2 and RT-5 routes, and provides a list of benefits derived 456 from using a separate route type for the advertisement of IP Prefixes 457 in EVPN. 459 [RFC7432] describes the content of the BGP EVPN RT-2 specific NLRI, 460 i.e. MAC/IP Advertisement Route, where the IP address length (IPL) 461 and IP address (IP) of a specific advertised MAC are encoded. The 462 subject of the MAC advertisement route is the MAC address (M) and MAC 463 address length (ML) encoded in the route. The MAC mobility and other 464 procedures are defined around that MAC address. The IP address 465 information carries the host IP address required for the ARP 466 resolution of the MAC according to [RFC7432] and the host route to be 467 programmed in the IP-VRF [EVPN-INTERSUBNET]. 469 The BGP EVPN route type 5 defined in this document, i.e. IP Prefix 470 Advertisement route, decouples the advertisement of IP prefixes from 471 the advertisement of any MAC address related to it. This brings some 472 major benefits to NVO-based networks where certain inter-subnet 473 forwarding scenarios are required. Some of those benefits are: 475 a) Upon receiving a route type 2 or type 5, an egress NVE can easily 476 distinguish MACs and IPs from IP Prefixes. E.g. an IP prefix with 477 IPL=32 being advertised from two different ingress NVEs (as RT-5) 478 can be identified as such and be imported in the designated 479 routing context as two ECMP routes, as opposed to two MACs 480 competing for the same IP. 482 b) Similarly, upon receiving a route, an ingress NVE not supporting 483 processing of IP Prefixes can easily ignore the update, based on 484 the route type. 486 c) A MAC route includes the ML, M, IPL and IP in the route key that 487 is used by BGP to compare routes, whereas for IP Prefix routes, 488 only IPL and IP (as well as Ethernet Tag ID) are part of the route 489 key. Advertised IP Prefixes are imported into the designated 490 routing context, where there is no MAC information associated to 491 IP routes. In the example illustrated in figure 1, subnet SN1 492 should be advertised by NVE2 and NVE3 and interpreted by DGW1 as 493 the same route coming from two different next-hops, regardless of 494 the MAC address associated to TS2 or TS3. This is easily 495 accomplished in the RT-5 by including only the IP information in 496 the route key. 498 d) By decoupling the MAC from the IP Prefix advertisement procedures, 499 we can leave the IP Prefix advertisements out of the MAC mobility 500 procedures defined in [RFC7432] for MACs. In addition, this allows 501 us to have an indirection mechanism for IP Prefixes advertised 502 from a MAC/IP that can move between hypervisors. E.g. if there are 503 1,000 prefixes seating behind TS2 (figure 1), NVE2 will advertise 504 all those prefixes in RT-5 routes associated to the overlay index 505 IP2. Should TS2 move to a different NVE, a single MAC/IP 506 advertisement route withdraw for the M2/IP2 route from NVE2 will 507 invalidate the 1,000 prefixes, as opposed to have to wait for each 508 individual prefix to be withdrawn. This may be easily accomplished 509 by using IP Prefix routes that are not tied to a MAC address, and 510 use a different MAC/IP route to advertise the location and 511 resolution of the overlay index to a MAC address. 513 5. IP Prefix overlay index use-cases 515 The IP Prefix route can use a GW IP or an ESI as an overlay index as 516 well as no overlay index whatsoever. This section describes some use- 517 cases for these index types. 519 5.1 TS IP address overlay index use-case 521 The following figure illustrates an example of inter-subnet 522 forwarding for subnets seating behind Virtual Appliances (on TS2 and 523 TS3). 525 SN1---+ NVE2 DGW1 526 | +-----------+ +---------+ +-------------+ 527 SN2---TS2(VA)--|(MAC-VRF10)|-| |----|(MAC-VRF10) | 528 | IP2/M2 +-----------+ | | | IRB1\ | 529 IP4---+ | | | (IP-VRF)|---+ 530 | | +-------------+ _|_ 531 | VXLAN/ | ( ) 532 | nvGRE | DGW2 ( WAN ) 533 SN1---+ NVE3 | | +-------------+ (___) 534 | IP3/M3 +-----------+ | |----|(MAC-VRF10) | | 535 SN3---TS3(VA)--|(MAC-VRF10)|-| | | IRB2\ | | 536 | +-----------+ +---------+ | (IP-VRF)|---+ 537 IP5---+ +-------------+ 539 Figure 2 TS IP address use-case 541 An example of inter-subnet forwarding between subnet SN1/24 and a 542 subnet seating in the WAN is described below. NVE2, NVE3, DGW1 and 543 DGW2 are running BGP EVPN. TS2 and TS3 do not support routing 544 protocols, only a static route to forward the traffic to the WAN. 546 (1) NVE2 advertises the following BGP routes on behalf of TS2: 548 o Route type 2 (MAC/IP route) containing: ML=48, M=M2, IPL=32, 549 IP=IP2 and [RFC5512] BGP Encapsulation Extended Community with 550 the corresponding Tunnel-type. 552 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 553 ESI=0, GW IP address=IP2. 555 (2) NVE3 advertises the following BGP routes on behalf of TS3: 557 o Route type 2 (MAC/IP route) containing: ML=48, M=M3, IPL=32, 558 IP=IP3 (and BGP Encapsulation Extended Community). 560 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 561 ESI=0, GW IP address=IP3. 563 (3) DGW1 and DGW2 import both received routes based on the 564 route-targets: 566 o Based on the MAC-VRF10 route-target in DGW1 and DGW2, the 567 MAC/IP route is imported and M2 is added to the MAC-VRF10 568 along with its corresponding tunnel information. For instance, 569 if VXLAN is used, the VTEP will be derived from the MAC/IP 570 route BGP next-hop (underlay next-hop) and VNI from the MPLS 571 Label1 field. IP2 - M2 is added to the ARP table. 573 o Based on the MAC-VRF10 route-target in DGW1 and DGW2, the IP 574 Prefix route is also imported and SN1/24 is added to the IP- 575 VRF with overlay index IP2 pointing at the local MAC-VRF10. 576 Should ECMP be enabled in the IP-VRF, SN1/24 would also be 577 added to the routing table with overlay index IP3. 579 (4) When DGW1 receives a packet from the WAN with destination IPx, 580 where IPx belongs to SN1/24: 582 o A destination IP lookup is performed on the DGW1 IP-VRF 583 routing table and overlay index=IP2 is found. Since IP2 is an 584 overlay index a recursive route resolution is required for 585 IP2. 587 o IP2 is resolved to M2 in the ARP table, and M2 is resolved to 588 the tunnel information given by the MAC-VRF FIB (e.g. remote 589 VTEP and VNI for the VXLAN case). 591 o The IP packet destined to IPx is encapsulated with: 593 . Source inner MAC = IRB1 MAC. 595 . Destination inner MAC = M2. 597 . Tunnel information provided by the MAC-VRF (VNI, VTEP IPs 598 and MACs for the VXLAN case). 600 (5) When the packet arrives at NVE2: 602 o Based on the tunnel information (VNI for the VXLAN case), the 603 MAC-VRF10 context is identified for a MAC lookup. 605 o Encapsulation is stripped-off and based on a MAC lookup 606 (assuming MAC forwarding on the egress NVE), the packet is 607 forwarded to TS2, where it will be properly routed. 609 (6) Should TS2 move from NVE2 to NVE3, MAC Mobility procedures will 610 be applied to the MAC route IP2/M2, as defined in [RFC7432]. 611 Route type 5 prefixes are not subject to MAC mobility procedures, 612 hence no changes in the DGW IP-VRF routing table will occur for 613 TS2 mobility, i.e. all the prefixes will still be pointing at IP2 614 as overlay index. There is an indirection for e.g. SN1/24, which 615 still points at overlay index IP2 in the routing table, but IP2 616 will be simply resolved to a different tunnel, based on the 617 outcome of the MAC mobility procedures for the MAC/IP route 618 IP2/M2. 620 Note that in the opposite direction, TS2 will send traffic based on 621 its static-route next-hop information (IRB1 and/or IRB2), and regular 622 EVPN procedures will be applied. 624 5.2 Floating IP overlay index use-case 626 Sometimes Tenant Systems (TS) work in active/standby mode where an 627 upstream floating IP - owned by the active TS - is used as the 628 overlay index to get to some subnets behind. This redundancy mode, 629 already introduced in section 2.1 and 2.2, is illustrated in Figure 630 3. 632 NVE2 DGW1 633 +-----------+ +---------+ +-------------+ 634 +---TS2(VA)--|(MAC-VRF10)|-| |----|(MAC-VRF10) | 635 | IP2/M2 +-----------+ | | | IRB1\ | 636 | <-+ | | | (IP-VRF)|---+ 637 | | | | +-------------+ _|_ 638 SN1 vIP23 (floating) | VXLAN/ | ( ) 639 | | | nvGRE | DGW2 ( WAN ) 640 | <-+ NVE3 | | +-------------+ (___) 641 | IP3/M3 +-----------+ | |----|(MAC-VRF10) | | 642 +---TS3(VA)--|(MAC-VRF10)|-| | | IRB2\ | | 643 +-----------+ +---------+ | (IP-VRF)|---+ 644 +-------------+ 646 Figure 3 Floating IP overlay index for redundant TS 648 In this example, assuming TS2 is the active TS and owns IP23: 650 (1) NVE2 advertises the following BGP routes for TS2: 652 o Route type 2 (MAC/IP route) containing: ML=48, M=M2, IPL=32, 653 IP=IP23 (and BGP Encapsulation Extended Community). 655 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 656 ESI=0, GW IP address=IP23. 658 (2) NVE3 advertises the following BGP routes for TS3: 660 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 661 ESI=0, GW IP address=IP23. 663 (3) DGW1 and DGW2 import both received routes based on the route- 664 target: 666 o M2 is added to the MAC-VRF10 FIB along with its corresponding 667 tunnel information. For the VXLAN use case, the VTEP will be 668 derived from the MAC/IP route BGP next-hop and VNI from the 669 VNI/VSID field. IP23 - M2 is added to the ARP table. 671 o SN1/24 is added to the IP-VRF in DGW1 and DGW2 with overlay 672 index IP23 pointing at the local MAC-VRF10. 674 (4) When DGW1 receives a packet from the WAN with destination IPx, 675 where IPx belongs to SN1/24: 677 o A destination IP lookup is performed on the DGW1 IP-VRF 678 routing table and overlay index=IP23 is found. Since IP23 is 679 an overlay index, a recursive route resolution for IP23 is 680 required. 682 o IP23 is resolved to M2 in the ARP table, and M2 is resolved to 683 the tunnel information given by the MAC-VRF (remote VTEP and 684 VNI for the VXLAN case). 686 o The IP packet destined to IPx is encapsulated with: 688 . Source inner MAC = IRB1 MAC. 690 . Destination inner MAC = M2. 692 . Tunnel information provided by the MAC-VRF FIB (VNI, VTEP 693 IPs and MACs for the VXLAN case). 695 (5) When the packet arrives at NVE2: 697 o Based on the tunnel information (VNI for the VXLAN case), the 698 MAC-VRF10 context is identified for a MAC lookup. 700 o Encapsulation is stripped-off and based on a MAC lookup 701 (assuming MAC forwarding on the egress NVE), the packet is 702 forwarded to TS2, where it will be properly routed. 704 (6) When the redundancy protocol running between TS2 and TS3 appoints 705 TS3 as the new active TS for SN1, TS3 will now own the floating 706 IP23 and will signal this new ownership (GARP message or 707 similar). Upon receiving the new owner's notification, NVE3 will 708 issue a route type 2 for M3-IP23. DGW1 and DGW2 will update their 709 ARP tables with the new MAC resolving the floating IP. No changes 710 are carried out in the IP-VRF routing table. 712 5.3 ESI overlay index ("Bump in the wire") use-case 714 Figure 5 illustrates an example of inter-subnet forwarding for an IP 715 Prefix route that carries a subnet SN1 and uses an ESI as an overlay 716 index (ESI23). In this use-case, TS2 and TS3 are layer-2 VA devices 717 without any IP address that can be included as an overlay index in 718 the GW IP field of the IP Prefix route. Their MAC addresses are M2 719 and M3 respectively and are connected to EVI-10. Note that IRB1 and 720 IRB2 (in DGW1 and DGW2 respectively) have IP addresses in a subnet 721 different than SN1. 723 NVE2 DGW1 724 M2 +-----------+ +---------+ +-------------+ 725 +---TS2(VA)--|(MAC-VRF10)|-| |----|(MAC-VRF10) | 726 | ESI23 +-----------+ | | | IRB1\ | 727 | + | | | (IP-VRF)|---+ 728 | | | | +-------------+ _|_ 729 SN1 | | VXLAN/ | ( ) 730 | | | nvGRE | DGW2 ( WAN ) 731 | + NVE3 | | +-------------+ (___) 732 | ESI23 +-----------+ | |----|(MAC-VRF10) | | 733 +---TS3(VA)--|(MAC-VRF10)|-| | | IRB2\ | | 734 M3 +-----------+ +---------+ | (IP-VRF)|---+ 735 +-------------+ 737 Figure 5 ESI overlay index use-case 739 Since neither TS2 nor TS3 can run any routing protocol and have no IP 740 address assigned, an ESI, i.e. ESI23, will be provisioned on the 741 attachment ports of NVE2 and NVE3. This model supports VA redundancy 742 in a similar way as the one described in section 5.2 for the floating 743 IP overlay index use-case, only using the EVPN Ethernet A-D route 744 instead of the MAC advertisement route to advertise the location of 745 the overlay index. The procedure is explained below: 747 (1) NVE2 advertises the following BGP routes for TS2: 749 o Route type 1 (Ethernet A-D route for EVI-10) containing: 750 ESI=ESI23 and the corresponding tunnel information (VNI/VSID 751 field), as well as the BGP Encapsulation Extended Community as 752 per [EVPN-OVERLAY]. 754 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 755 ESI=ESI23, GW IP address=0. The Router's MAC Extended 756 Community defined in [EVPN-INTERSUBNET] is added and carries 757 the MAC address (M2) associated to the TS behind which SN1 758 seats. 760 (2) NVE3 advertises the following BGP routes for TS3: 762 o Route type 1 (Ethernet A-D route for EVI-10) containing: 763 ESI=ESI23 and the corresponding tunnel information (VNI/VSID 764 field), as well as the BGP Encapsulation Extended Community. 766 o Route type 5 (IP Prefix route) containing: IPL=24, IP=SN1, 767 ESI=23, GW IP address=0. The Router's MAC Extended Community 768 is added and carries the MAC address (M3) associated to the TS 769 behind which SN1 seats. 771 (3) DGW1 and DGW2 import the received routes based on the route- 772 target: 774 o The tunnel information to get to ESI23 is installed in DGW1 775 and DGW2. For the VXLAN use case, the VTEP will be derived 776 from the Ethernet A-D route BGP next-hop and VNI from the 777 VNI/VSID field (see [EVPN-OVERLAY]). 779 o SN1/24 is added to the IP-VRF in DGW1 and DGW2 with overlay 780 index ESI23. 782 (4) When DGW1 receives a packet from the WAN with destination IPx, 783 where IPx belongs to SN1/24: 785 o A destination IP lookup is performed on the DGW1 IP-VRF 786 routing table and overlay index=ESI23 is found. Since ESI23 is 787 an overlay index, a recursive route resolution is required to 788 find the egress NVE where ESI23 resides. 790 o The IP packet destined to IPx is encapsulated with: 792 . Source inner MAC = IRB1 MAC. 794 . Destination inner MAC = M2 (this MAC will be obtained 795 from the Router's MAC Extended Community received along 796 with the RT-5 for SN1). 798 . Tunnel information for the NVO tunnel is provided by the 799 Ethernet A-D route per-EVI for ESI23 (VNI and VTEP IP for 800 the VXLAN case). 802 (5) When the packet arrives at NVE2: 804 o Based on the tunnel demultiplexer information (VNI for the 805 VXLAN case), the MAC-VRF10 context is identified for a MAC 806 lookup (assuming MAC disposition model) or the VNI MAY 807 directly identify the egress interface (for a label or VNI 808 disposition model). 810 o Encapsulation is stripped-off and based on a MAC lookup 811 (assuming MAC forwarding on the egress NVE) or a VNI lookup 812 (in case of VNI forwarding), the packet is forwarded to TS2, 813 where it will be forwarded to SN1. 815 (6) If the redundancy protocol running between TS2 and TS3 follows an 816 active/standby model and there is a failure, appointing TS3 as 817 the new active TS for SN1, TS3 will now own the connectivity to 818 SN1 and will signal this new ownership. Upon receiving the new 819 owner's notification, NVE3's AC will become active and issue a 820 route type 1 for ESI23, whereas NVE2 will withdraw its Ethernet 821 A-D route for ESI23. DGW1 and DGW2 will update their tunnel 822 information to resolve ESI23. The destination inner MAC will be 823 changed to M3. 825 5.4 IP-VRF-to-IP-VRF model 827 This use-case is similar to the scenario described in "IRB forwarding 828 on NVEs for Tenant Systems" in [EVPN-INTERSUBNET], however the new 829 requirement here is the advertisement of IP Prefixes as opposed to 830 only host routes. 832 In the examples described in sections 5.1, 5.2 and 5.3, the MAC-VRF 833 instance can connect IRB interfaces and any other Tenant Systems 834 connected to it. EVPN provides connectivity for: 836 1. Traffic destined to the IRB IP interfaces as well as 838 2. Traffic destined to IP subnets seating behind the TS, e.g. SN1 or 839 SN2. 841 In order to provide connectivity for (1), MAC/IP routes (RT-2) are 842 needed so that IRB MACs and IPs can be distributed. Connectivity type 843 (2) is accomplished by the exchange of IP Prefix routes (RT-5) for 844 IPs and subnets seating behind certain overlay indexes, e.g. GW IP or 845 ESI. 847 In some cases, IP Prefix routes may be advertised for subnets and IPs 848 seating behind an IRB. We refer to this use-case as the "IP-VRF-to- 849 IP-VRF" model. 851 [EVPN-INTERSUBNET] defines an asymmetric IRB model and a symmetric 852 IRB model, based on the required lookups at the ingress and egress 853 NVE: the asymmetric model requires an ip-lookup and a mac-lookup at 854 the ingress NVE, whereas only a mac-lookup is needed at the egress 855 NVE; the symmetric model requires ip and mac lookups at both, ingress 856 and egress NVE. From that perspective, the IP-VRF-to-IP-VRF use-case 857 described in this section is a symmetric IRB model. Note that in an 858 IP-VRF-to-IP-VRF scenario, a PE may not be configured with any MAC- 859 VRF for a given tenant, in which case it will only be doing IP 860 lookups and forwarding for that tenant. 862 Based on the way the IP-VRFs are interconnected, there are three 863 different IP-VRF-to-IP-VRF scenarios identified and described in this 864 document: 866 1) Interface-less model 867 2) Interface-full with core-facing IRB model 868 3) Interface-full with unnumbered core-facing IRB model 870 5.4.1 Interface-less IP-VRF-to-IP-VRF model 872 Figure 6 will be used for the description of this model. 874 NVE1(M1) 875 +------------+ 876 IP1+----|(MAC-VRF1) | DGW1(M3) 877 | \ | +---------+ +--------+ 878 | (IP-VRF)|----| |-|(IP-VRF)|----+ 879 | / | | | +--------+ | 880 +---|(MAC-VRF2) | | | _+_ 881 | +------------+ | | ( ) 882 SN1| | VXLAN/ | ( WAN ) 883 | NVE2(M2) | nvGRE/ | (___) 884 | +------------+ | MPLS | + 885 +---|(MAC-VRF2) | | | DGW2(M4) | 886 | \ | | | +--------+ | 887 | (IP-VRF)|----| |-|(IP-VRF)|----+ 888 | / | +---------+ +--------+ 889 SN2+----|(MAC-VRF3) | 890 +------------+ 892 Figure 6 Interface-less IP-VRF-to-IP-VRF model 894 In this case, the requirements are the following: 896 a) The NVEs and DGWs must provide connectivity between hosts in SN1, 897 SN2, IP1 and hosts seating at the other end of the WAN. 899 b) The IP-VRF instances in the NVE/DGWs are directly connected 900 through NVO tunnels, and no IRBs and/or MAC-VRF instances are 901 defined at the core. 903 c) The solution must provide layer-3 connectivity among the IP-VRFs 904 for Ethernet NVO tunnels, for instance, VXLAN or nvGRE. 906 d) The solution may provide layer-3 connectivity among the IP-VRFs 907 for IP NVO tunnels, for example, VXLAN GPE (with IP payload). 909 In order to meet the above requirements, the EVPN route type 5 will 910 be used to advertise the IP Prefixes, along with the Router's MAC 911 Extended Community as defined in [EVPN-INTERSUBNET] if the 912 advertising NVE/DGW uses Ethernet NVO tunnels. Each NVE/DGW will 913 advertise an RT-5 for each of its prefixes with the following fields: 915 o RD as per [RFC7432]. 917 o Eth-Tag ID=0 assuming VLAN-based service. 919 o IP address length and IP address, as explained in the previous 920 sections. 922 o GW IP address= SHOULD be set to 0. 924 o ESI=0 926 o MPLS label or VNI corresponding to the IP-VRF. 928 Each RT-5 will be sent with a route-target identifying the tenant 929 (IP-VRF) and two BGP extended communities: 931 o The first one is the BGP Encapsulation Extended Community, as 932 per [RFC5512], identifying the tunnel type. 934 o The second one is the Router's MAC Extended Community as per 935 [EVPN-INTERSUBNET] containing the MAC address associated to 936 the NVE advertising the route. This MAC address identifies the 937 NVE/DGW and MAY be re-used for all the IP-VRFs in the NVE. The 938 Router's MAC Extended Community MUST be sent if the route is 939 associated to an Ethernet NVO tunnel, for instance, VXLAN. If 940 the route is associated to an IP NVO tunnel, for instance 941 VXLAN GPE with IP payload, the Router's MAC Extended Community 942 SHOULD NOT be sent. 944 The following example illustrates the procedure to advertise and 945 forward packets to SN1/24 (ipv4 prefix advertised from NVE1) for 946 VXLAN tunnels: 948 (1) NVE1 advertises the following BGP route: 950 o Route type 5 (IP Prefix route) containing: 952 . IPL=24, IP=SN1, VNI=10. 954 . GW IP= SHOULD be set to 0. 956 . [RFC5512] BGP Encapsulation Extended Community with Tunnel- 957 type=VXLAN. 959 . Router's MAC Extended Community that contains M1. 961 . Route-target identifying the tenant (IP-VRF). 963 (2) DGW1 imports the received routes from NVE1: 965 o DGW1 installs SN1/24 in the IP-VRF identified by the RT-5 966 route-target. 968 o Since GW IP=0 and the VNI is a valid value, DGW1 will use the 969 VNI and next-hop of the RT-5, as well as the MAC address 970 conveyed in the Router's MAC Extended Community (as inner 971 destination MAC address) to encapsulate the routed IP packets. 973 (3) When DGW1 receives a packet from the WAN with destination IPx, 974 where IPx belongs to SN1/24: 976 o A destination IP lookup is performed on the DGW1 IP-VRF 977 routing table. The lookup yields SN1/24. 979 o Since the RT-5 for SN1/24 had a GW IP=0 and a valid VNI and 980 next-hop (used as destination VTEP), DGW1 will not need a 981 recursive lookup to resolve the route. 983 o The IP packet destined to IPx is encapsulated with: Source 984 inner MAC = DGW1 MAC, Destination inner MAC = M1, Source outer 985 IP (source VTEP) = DGW1 IP, Destination outer IP (destination 986 VTEP) = NVE1 IP. 988 (4) When the packet arrives at NVE1: 990 o NVE1 will identify the IP-VRF for an IP-lookup based on the 991 VNI. 993 o An IP lookup is performed in the routing context, where SN1 994 turns out to be a local subnet associated to MAC-VRF2. A 995 subsequent lookup in the ARP table and the MAC-VRF FIB will 996 provide the forwarding information for the packet in MAC-VRF2. 998 The implementation of this Interface-less model is REQUIRED. 1000 5.4.2 Interface-full IP-VRF-to-IP-VRF with core-facing IRB 1002 Figure 7 will be used for the description of this model. 1004 NVE1 1005 +------------+ DGW1 1006 IP1+----+(MAC-VRF1) | +---------------+ +------------+ 1007 | \ (core) (core) | 1008 |(IP-VRF)(MAC-VRF) (MAC-VRF)(IP-VRF)|-----+ 1009 | / IRB(IP1/M1) IRB(IP3/M3) | | 1010 +---+(MAC-VRF2) | | | +------------+ _+_ 1011 | +------------+ | | ( ) 1012 SN1| | VXLAN/ | ( WAN ) 1013 | NVE2 | nvGRE/ | (___) 1014 | +------------+ | MPLS | DGW2 + 1015 +---+(MAC-VRF2) | | | +------------+ | 1016 | \ (core) (core) | | 1017 |(IP-VRF)(MAC-VRF) (MAC-VRF)(IP-VRF)|-----+ 1018 | / IRB(IP2/M2) IRB(IP4/M4) | 1019 SN2+----+(MAC-VRF3) | +---------------+ +------------+ 1020 +------------+ 1022 Figure 7 Interface-full with core-facing IRB model 1024 In this model, the requirements are the following: 1026 a) As in section 5.4.1, the NVEs and DGWs must provide connectivity 1027 between hosts in SN1, SN2, IP1 and hosts seating at the other end 1028 of the WAN. 1030 b) However, the NVE/DGWs are now connected through Ethernet NVO 1031 tunnels terminated in core-MAC-VRF instances. The IP-VRFs use IRB 1032 interfaces for their connectivity to the core MAC-VRFs. 1034 c) Each core-facing IRB has an IP and a MAC address, where the IP 1035 address must be reachable from other NVEs or DGWs. 1037 d) The core EVI is composed of the NVE/DGW MAC-VRFs and may contain 1038 other MAC-VRFs without IRB interfaces. Those non-IRB MAC-VRFs will 1039 typically connect TSes that need layer-3 connectivity to remote 1040 subnets. 1042 e) The solution must provide layer-3 connectivity for Ethernet NVO 1043 tunnels, for instance, VXLAN or nvGRE. 1045 EVPN type 5 routes will be used to advertise the IP Prefixes, whereas 1046 EVPN RT-2 routes will advertise the MAC/IP addresses of each core- 1047 facing IRB interface. Each NVE/DGW will advertise an RT-5 for each of 1048 its prefixes with the following fields: 1050 o RD as per [RFC7432]. 1052 o Eth-Tag ID=0 assuming VLAN-based service. 1054 o IP address length and IP address, as explained in the previous 1055 sections. 1057 o GW IP address=IRB-IP (this is the overlay index that will be 1058 used for the recursive route resolution). 1060 o ESI=0 1062 o MPLS label or VNI corresponding to the IP-VRF. Note that the 1063 value SHOULD be zero since the RT-5 route requires a recursive 1064 lookup resolution to an RT-2 route. The MPLS label or VNI to 1065 be used when forwarding packets will be derived from the RT- 1066 2's MPLS Label1 field. 1068 Each RT-5 will be sent with a route-target identifying the tenant 1069 (IP-VRF). The Router's MAC Extended Community SHOULD NOT be sent in 1070 this case. 1072 The following example illustrates the procedure to advertise and 1073 forward packets to SN1/24 (ipv4 prefix advertised from NVE1) for 1074 VXLAN tunnels: 1076 (1) NVE1 advertises the following BGP routes: 1078 o Route type 5 (IP Prefix route) containing: 1080 . IPL=24, IP=SN1, VNI= SHOULD be set to 0. 1082 . GW IP=IP1 (core-facing IRB's IP) 1084 . Route-target identifying the tenant (IP-VRF). 1086 o Route type 2 (MAC/IP route for the core-facing IRB) 1087 containing: 1089 . ML=48, M=M1, IPL=32, IP=IP1, VNI=10. 1091 . A [RFC5512] BGP Encapsulation Extended Community with 1092 Tunnel-type= VXLAN. 1094 . Route-target identifying the tenant. This route-target MAY 1095 be the same as the one used with the RT-5. 1097 (2) DGW1 imports the received routes from NVE1: 1099 o DGW1 installs SN1/24 in the IP-VRF identified by the RT-5 1100 route-target. 1102 . Since GW IP is different from zero, the GW IP (IP1) will be 1103 used as the overlay index for the recursive route resolution 1104 to the RT-2 carrying IP1. 1106 (3) When DGW1 receives a packet from the WAN with destination IPx, 1107 where IPx belongs to SN1/24: 1109 o A destination IP lookup is performed on the DGW1 IP-VRF 1110 routing table. The lookup yields SN1/24, which is associated 1111 to the overlay index IP1. The forwarding information is 1112 derived from the RT-2 received for IP1. 1114 o The IP packet destined to IPx is encapsulated with: Source 1115 inner MAC = M3, Destination inner MAC = M1, Source outer IP 1116 (source VTEP) = DGW1 IP, Destination outer IP (destination 1117 VTEP) = NVE1 IP. 1119 (4) When the packet arrives at NVE1: 1121 o NVE1 will identify the IP-VRF for an IP-lookup based on the 1122 VNI and the inner MAC DA. 1124 o An IP lookup is performed in the routing context, where SN1 1125 turns out to be a local subnet associated to MAC-VRF2. A 1126 subsequent lookup in the ARP table and the MAC-VRF FIB will 1127 provide the forwarding information for the packet in MAC-VRF2. 1129 The implementation of the Interface-full with core-facing IRB model 1130 is REQUIRED. 1132 5.4.3 Interface-full IP-VRF-to-IP-VRF with unnumbered core-facing IRB 1134 Figure 8 will be used for the description of this model. Note that 1135 this model is similar to the one described in section 5.4.2, only 1136 without IP addresses on the core-facing IRB interfaces. 1138 NVE1 1139 +------------+ DGW1 1140 IP1+----+(MAC-VRF1) | +---------------+ +------------+ 1141 | \ (core) (core) | 1142 |(IP-VRF)(MAC-VRF) (MAC-VRF)(IP-VRF)|-----+ 1143 | / IRB(M1)| | IRB(M3) | | 1144 +---+(MAC-VRF2) | | | +------------+ _+_ 1145 | +------------+ | | ( ) 1146 SN1| | VXLAN/ | ( WAN ) 1147 | NVE2 | nvGRE/ | (___) 1148 | +------------+ | MPLS | DGW2 + 1149 +---+(MAC-VRF2) | | | +------------+ | 1150 | \ (core) (core) | | 1151 |(IP-VRF)(MAC-VRF) (MAC-VRF)(IP-VRF)|-----+ 1152 | / IRB(M2)| | IRB(M4) | 1153 SN2+----+(MAC-VRF3) | +---------------+ +------------+ 1154 +------------+ 1156 Figure 8 Interface-full with unnumbered core-facing IRB model 1158 In this model, the requirements are the following: 1160 a) As in section 5.4.1 and 5.4.2, the NVEs and DGWs must provide 1161 connectivity between hosts in SN1, SN2, IP1 and hosts seating at 1162 the other end of the WAN. 1164 b) As in section 5.4.2, the NVE/DGWs are connected through Ethernet 1165 NVO tunnels terminated in core-MAC-VRF instances. The IP-VRFs use 1166 IRB interfaces for their connectivity to the core MAC-VRFs. 1168 c) However, each core-facing IRB has a MAC address only, and no IP 1169 address (that is why the model refers to an 'unnumbered' core- 1170 facing IRB). In this model, there is no need to have IP 1171 reachability to the core-facing IRB interfaces themselves and 1172 there is a requirement to save IP addresses on those interfaces. 1174 d) As in section 5.4.2, the core EVI is composed of the NVE/DGW MAC- 1175 VRFs and may contain other MAC-VRFs. 1177 e) As in section 5.4.2, the solution must provide layer-3 1178 connectivity for Ethernet NVO tunnels, for instance, VXLAN or 1179 nvGRE. 1181 This model will also make use of the RT-5 recursive resolution. EVPN 1182 type 5 routes will advertise the IP Prefixes along with the Router's 1183 MAC Extended Community used for the recursive lookup, whereas EVPN 1184 RT-2 routes will advertise the MAC addresses of each core-facing IRB 1185 interface (this time without an IP). Each NVE/DGW will advertise an 1186 RT-5 for each of its prefixes with the following fields: 1188 o RD as per [RFC7432]. 1190 o Eth-Tag ID=0 assuming VLAN-based service. 1192 o IP address length and IP address, as explained in the previous 1193 sections. 1195 o GW IP address= SHOULD be set to 0. 1197 o ESI=0 1199 o MPLS label or VNI corresponding to the IP-VRF. Note that the 1200 value SHOULD be zero since the RT-5 route requires a recursive 1201 lookup resolution to an RT-2 route. The MPLS label or VNI to 1202 be used when forwarding packets will be derived from the RT- 1203 2's MPLS Label1 field. 1205 Each RT-5 will be sent with a route-target identifying the tenant 1206 (IP-VRF) and the Router's MAC Extended Community containing the MAC 1207 address associated to core-facing IRB interface. This MAC address MAY 1208 be re-used for all the IP-VRFs in the NVE. 1210 The following example illustrates the procedure to advertise and 1211 forward packets to SN1/24 (ipv4 prefix advertised from NVE1) for 1212 VXLAN tunnels: 1214 (1) NVE1 advertises the following BGP routes: 1216 o Route type 5 (IP Prefix route) containing: 1218 . IPL=24, IP=SN1, VNI= SHOULD be set to 0. 1220 . GW IP= SHOULD be set to 0. 1222 . Router's MAC Extended Community containing M1 (this will be 1223 used for the recursive lookup to a RT-2). 1225 . Route-target identifying the tenant (IP-VRF). 1227 o Route type 2 (MAC route for the core-facing IRB) containing: 1229 . ML=48, M=M1, IPL=0, VNI=10. 1231 . A [RFC5512] BGP Encapsulation Extended Community with 1232 Tunnel-type=VXLAN. 1234 . Route-target identifying the tenant. This route-target MAY 1235 be the same as the one used with the RT-5. 1237 (2) DGW1 imports the received routes from NVE1: 1239 o DGW1 installs SN1/24 in the IP-VRF identified by the RT-5 1240 route-target. 1242 . The MAC contained in the Router's MAC Extended Community 1243 sent along with the RT-5 (M1) will be used as the overlay 1244 index for the recursive route resolution to the RT-2 1245 carrying M1. 1247 (3) When DGW1 receives a packet from the WAN with destination IPx, 1248 where IPx belongs to SN1/24: 1250 o A destination IP lookup is performed on the DGW1 IP-VRF 1251 routing table. The lookup yields SN1/24, which is associated 1252 to the overlay index M1. The forwarding information is derived 1253 from the RT-2 received for M1. 1255 o The IP packet destined to IPx is encapsulated with: Source 1256 inner MAC = M3, Destination inner MAC = M1, Source outer IP 1257 (source VTEP) = DGW1 IP, Destination outer IP (destination 1258 VTEP) = NVE1 IP. 1260 (4) When the packet arrives at NVE1: 1262 o NVE1 will identify the IP-VRF for an IP-lookup based on the 1263 VNI and the inner MAC DA. 1265 o An IP lookup is performed in the routing context, where SN1 1266 turns out to be a local subnet associated to MAC-VRF2. A 1267 subsequent lookup in the ARP table and the MAC-VRF FIB will 1268 provide the forwarding information for the packet in MAC-VRF2. 1270 The implementation of the Interface-full with unnumbered core-facing 1271 IRB model is OPTIONAL. 1273 6. Conclusions 1275 An EVPN route (type 5) for the advertisement of IP Prefixes is 1276 described in this document. This new route type has a differentiated 1277 role from the RT-2 route and addresses all the Data Center (or NVO- 1278 based networks in general) inter-subnet connectivity scenarios in 1279 which an IP Prefix advertisement is required. Using this new RT-5, an 1280 IP Prefix may be advertised along with an overlay index that can be a 1281 GW IP address, a MAC or an ESI, or without an overlay index, in which 1282 case the BGP next-hop will point at the egress NVE and the MAC in the 1283 Router's MAC Extended Community will provide the inner MAC 1284 destination address to be used. As discussed throughout the document, 1285 the EVPN RT-2 does not meet the requirements for all the DC use 1286 cases, therefore this EVPN route type 5 is required. 1288 The EVPN route type 5 decouples the IP Prefix advertisements from the 1289 MAC/IP route advertisements in EVPN, hence: 1291 a) Allows the clean and clear advertisements of ipv4 or ipv6 prefixes 1292 in an NLRI with no MAC addresses in the route key, so that only IP 1293 information is used in BGP route comparisons. 1295 b) Since the route type is different from the MAC/IP Advertisement 1296 route, the advertisement of prefixes will be excluded from all the 1297 procedures defined for the advertisement of VM MACs, e.g. MAC 1298 Mobility or aliasing. As a result of that, the current [RFC7432] 1299 procedures do not need to be modified. 1301 c) Allows a flexible implementation where the prefix can be linked to 1302 different types of overlay indexes: overlay IP address, overlay 1303 MAC addresses, overlay ESI, underlay IP next-hops, etc. 1305 d) An EVPN implementation not requiring IP Prefixes can simply 1306 discard them by looking at the route type value. An unknown route 1307 type MUST be ignored by the receiving NVE/PE. 1309 7. Conventions used in this document 1311 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 1312 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 1313 document are to be interpreted as described in RFC-2119 [RFC2119]. 1315 8. Security Considerations 1317 The security considerations discussed in [RFC7432] apply to this 1318 document. 1320 9. IANA Considerations 1322 This document requests the allocation of value 5 in the "EVPN Route 1323 Types" registry defined by [RFC7432] and modification of the registry 1324 as follows: 1326 Value Description Reference 1327 5 IP Prefix route [this document] 1328 6-255 Unassigned 1330 10. References 1332 10.1 Normative References 1334 [RFC4364]Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 1335 Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 2006, 1336 . 1338 [RFC7432]Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., 1339 Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based Ethernet 1340 VPN", RFC 7432, DOI 10.17487/RFC7432, February 2015, . 1343 [EVPN-INTERSUBNET] Sajassi et al., "IP Inter-Subnet Forwarding in 1344 EVPN", draft-ietf-bess-evpn-inter-subnet-forwarding-03.txt, work in 1345 progress, February, 2017 1347 10.2 Informative References 1349 [EVPN-OVERLAY] Sajassi-Drake et al., "A Network Virtualization 1350 Overlay Solution using EVPN", draft-ietf-bess-evpn-overlay-07.txt, 1351 work in progress, November, 2016 1353 11. Acknowledgments 1355 The authors would like to thank Mukul Katiyar for their valuable 1356 feedback and contributions. The following people also helped 1357 improving this document with their feedback: Tony Przygienda and 1358 Thomas Morin. 1360 12. Contributors 1362 In addition to the authors listed on the front page, the following 1363 co-authors have also contributed to this document: 1365 Senthil Sathappan 1366 Florin Balus 1367 Aldrin Isaac 1368 Senad Palislamovic 1370 13. Authors' Addresses 1372 Jorge Rabadan (Editor) 1373 Nokia 1374 777 E. Middlefield Road 1375 Mountain View, CA 94043 USA 1376 Email: jorge.rabadan@nokia.com 1378 Wim Henderickx 1379 Nokia 1380 Email: wim.henderickx@nokia.com 1382 John E. Drake 1383 Juniper 1384 Email: jdrake@juniper.net 1386 Ali Sajassi 1387 Cisco 1388 Email: sajassi@cisco.com 1390 Wen Lin 1391 Juniper 1392 Email: wlin@juniper.net