idnits 2.17.1 draft-filsfils-spring-net-pgm-extension-srv6-usid-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) == There are 2 instances of lines with non-RFC3849-compliant IPv6 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-26) exists of draft-ietf-6man-segment-routing-header-22 == Outdated reference: A later version (-28) exists of draft-ietf-spring-srv6-network-programming-01 == Outdated reference: A later version (-04) exists of draft-filsfils-spring-srv6-net-pgm-illustration-01 Summary: 1 error (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SPRING C. Filsfils, Ed. 3 Internet-Draft P. Camarillo, Ed. 4 Intended status: Standards Track Cisco Systems, Inc. 5 Expires: February 29, 2020 D. Cai 6 Alibaba 7 Z. Jiang 8 Tencent 9 D. Voyer 10 Bell Canada 11 A. Shawky 12 Saudi Telecom Company 13 N. Leymann 14 Deutsche Telekom 15 D. Steinberg 16 Lapishills Consulting Limited 17 S. Zandi 18 G. Dawra 19 LinkedIn 20 I. Meilik 21 Broadcom 22 J. Uttaro 23 AT&T 24 L. Jalil 25 Verizon 26 N. So 27 Reliance 28 M. Fiumano 29 Sprint 30 M. Khaddam 31 Cox 32 J. Ma 33 China Unicom 34 S. Matsushima 35 Softbank 36 F. Ferguson 37 CenturyLink 38 T. Miyasaka 39 KDDI 40 K. Ebisawa 41 Toyota Motor Corporation 42 Y. Ueno 43 NTT Communications Corporation 44 W. Henderickx 45 Nokia 46 P. Jonnalagadda 47 Barefoot Networks 48 D. Melman 49 Marvell 50 August 28, 2019 52 Network Programming extension: SRv6 uSID instruction 53 draft-filsfils-spring-net-pgm-extension-srv6-usid-02 55 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 57 Abstract 59 The SRv6 "micro segment" (SRv6 uSID or uSID for short) instruction is 60 defined and illustrated. 62 It is a straightforward extension to the SRv6 Network Programming 63 model and its SRH encapsulation. 65 Requirements Language 67 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 68 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 69 "OPTIONAL" in this document are to be interpreted as described in BCP 70 14 [RFC2119] [RFC8174] when, and only when, they appear in all 71 capitals, as shown here. 73 Status of This Memo 75 This Internet-Draft is submitted in full conformance with the 76 provisions of BCP 78 and BCP 79. 78 Internet-Drafts are working documents of the Internet Engineering 79 Task Force (IETF). Note that other groups may also distribute 80 working documents as Internet-Drafts. The list of current Internet- 81 Drafts is at https://datatracker.ietf.org/drafts/current/. 83 Internet-Drafts are draft documents valid for a maximum of six months 84 and may be updated, replaced, or obsoleted by other documents at any 85 time. It is inappropriate to use Internet-Drafts as reference 86 material or to cite them other than as "work in progress." 88 This Internet-Draft will expire on February 29, 2020. 90 Copyright Notice 92 Copyright (c) 2019 IETF Trust and the persons identified as the 93 document authors. All rights reserved. 95 This document is subject to BCP 78 and the IETF Trust's Legal 96 Provisions Relating to IETF Documents 97 (https://trustee.ietf.org/license-info) in effect on the date of 98 publication of this document. Please review these documents 99 carefully, as they describe your rights and restrictions with respect 100 to this document. Code Components extracted from this document must 101 include Simplified BSD License text as described in Section 4.e of 102 the Trust Legal Provisions and are provided without warranty as 103 described in the Simplified BSD License. 105 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 107 Table of Contents 109 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 110 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 111 2.1. Notation for human readability . . . . . . . . . . . . . 5 112 3. SRv6 behaviors associated with a uSID . . . . . . . . . . . . 5 113 3.1. uN . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 114 4. Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 115 5. Illustration . . . . . . . . . . . . . . . . . . . . . . . . 6 116 5.1. Reference diagram . . . . . . . . . . . . . . . . . . . . 6 117 5.2. SRv6 overlay with underlay optimization . . . . . . . . . 6 118 6. Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . 8 119 7. Security . . . . . . . . . . . . . . . . . . . . . . . . . . 9 120 8. Work in progress . . . . . . . . . . . . . . . . . . . . . . 9 121 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 122 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 9 123 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 124 11.1. Normative References . . . . . . . . . . . . . . . . . . 10 125 11.2. Informative References . . . . . . . . . . . . . . . . . 10 126 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 128 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 130 1. Introduction 132 SRv6 Network Programming [I-D.ietf-spring-srv6-network-programming] 133 defines a mechanism to build a network program with topological and 134 service segments. It leverages the SRH 135 [I-D.ietf-6man-segment-routing-header] to encode a network program 136 together with optional metadata shared among the different SIDs. 138 This draft extends SRv6 Network Programming with a new type of SRv6 139 SID behavior: SRv6 uN. This is combined with the rest of 140 instructions of the network program and the SRH encapsulation to 141 build programs in a scalable and efficient way. 143 2. Terminology 145 The SRv6 Network Programming 146 [I-D.ietf-spring-srv6-network-programming] and SRH 147 [I-D.ietf-6man-segment-routing-header] terminology is leveraged and 148 extended with the following terms: 150 uSID carrier: a 128bit SRv6 SID of format ....... 153 uSID block: A block of uSID's 155 It can be any IPv6 prefix allocated to the provider (e.g. /40 or 156 /48), or it can be any block generally available for private use. 157 An SR domain may have multiple uSID blocks. 159 uSID: in this document a 16-bit ID. A different length may be used. 161 Active uSID: first uSID after the uSID block 163 Next uSID: next uSID after the Active uSID 165 Last uSID: from left to right, the last uSID before the first End-of- 166 Carrier uSID 168 End-of-Carrier: reserved ID used to mark the end of a uSID carrier. 169 The value 0000 is selected as End-of-Carrier. All of the empty uSID 170 carrier positions must be filled with the End-of-Carrier ID. Hence, 171 the End-of-Carrier can be present more than once in a uSID carrier. 173 Parent (node): the node at which an uSID is instantiated. The uSIDs 174 are instantiated on a per-parent node basis. 176 Behavior of an uSID: the SRv6 function associated with a given ID. 177 Section 3 defines them. 179 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 181 2.1. Notation for human readability 183 For human readability, the examples in this document follow this 184 notation: 186 2001:db8::/32 is the uSID block used in the SR domain 188 0N00: uN behavior bound to node N 190 3. SRv6 behaviors associated with a uSID 192 The SRv6 SRH encapsulation and its network programming model are 193 extended with the following functions: 195 3.1. uN 197 The uN behavior is a variant of the endpoint behavior. 199 This behavior takes a 80b argument, "Arg", which contains the next 200 uSIDs in the uSID carrier. 202 When N receives a packet whose IPv6 DA is S and S is a local uN SID, 203 N does: 205 1. IF DA[48..63] != 0 ;; Ref1 206 2. Copy DA[48..127] into DA[32..111] 207 3. Set DA[112..127] to 0x0000 208 4. Forward the packet to the new DA 209 5. ELSE 210 6. Execute the End pseudocode ;; Ref2 212 Ref 1: DA[X..Y] refers to the bits from position X to Y (included) in 213 the IPv6 Destination Address of the received packet. The bit 0 is 214 the MSB, while the bit 127 is the LSB. 216 Ref 2: This refers to the End behavior as defined in Section 4.1 of 217 [I-D.ietf-spring-srv6-network-programming]. The End behavior may be 218 combined with the PSP, USP and USD flavours. 220 4. Routing 222 If N is configured with a uN SID 2001:db8::/32 then the operator must 223 ensure that N advertises 2001:db8::/32 in routing. 225 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 227 5. Illustration 229 This section extends the illustrations for SRv6 Network Programming 230 [I-D.filsfils-spring-srv6-net-pgm-illustration] to cover uSID. The 231 reference topology is the same with the addition of link 6-8. 233 5.1. Reference diagram 235 Nodes 1 to 8 are considered within the network domain. 237 Nodes X and Y are outside the domain. 239 Nodes 1 and 8 act as PE respectively to nodes X and Y. 241 All the links within the domain have the same IGP metric. The IGP- 242 metric shortest-path from 1 to 8 is 1-2-7-8 while the latency-metric 243 shortest-path from 1 to 8 is 1-2-3-4-5-6-7-8. 245 3------4---5 246 | \ / 247 | 6 248 | / \ 249 1--- 2------7---8 250 / \ 251 X Y 252 Tenant100 Tenant100 with 253 IPv4 20/8 255 Figure 1: Reference topology 257 5.2. SRv6 overlay with underlay optimization 259 Let us illustrate a low-latency SR-L3VPN service delivered to a 260 packet (X,Y). 262 PE 1 encapsulates (X, Y) in an outer IPv6 header with DA = 263 2001:db8:0300:0500:0700:: and SRH (B:8:D0::; SL=1; NH=4). Leveraging 264 the illustration conventions from SRv6 network programming, the 265 following resulting packet leaves node 1 in the direction of node 3: 267 (A1::, 2001:db8:0300:0500:0700::)(B:8:D0::; SL=1; NH=4)(X, Y) 269 2001:db8:0300:0500:0700:: is a uSID carrier encoding a source routed 270 stateless path via node 3 then 5 then 7. 272 B:8:D0:: is an End.DT4 SID instantiated at node 8. 274 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 276 1 sends this packet to 2, as 2 is on the shortest-path to 277 2001:db8:0300::/48 advertised by 3. 279 When 2 receives the packet, 2 performs a regular IPv6 FIB lookup. It 280 finds a FIB entry for 2001:db8:0300::/48 and forwards along the 281 shortest path to 3. 283 When 3 receives the packet, 3 matches 2001:db8:0300::/48 in its "My 284 SID Table" and executes the uN behavior. The updated DA becomes 285 2001:db8:0500:0700::. Node 3 then performs a lookup on the updated DA 286 and forwards the packet to 5 along the shortest path to 287 2001:db8:0500::/48. 289 The following packet leaves node 3: 291 (A1::, 2001:db8:0500:0700::)(B:8:D0::; SL=1; NH=4)(X, Y) 293 4 forwards along the shortest path to 2001:db8:0500::/48. 295 When 5 receives the packet, 5 matches 2001:db8:0500::/48 in its "My 296 SID Table" and executes the uN behavior. The updated DA becomes 297 2001:db8:0700::. 5 performs a lookup on the updated DA and forwards 298 the packet to 7 along the shortest path to 2001:db8:0700::/48. 300 The following packet leaves node 5: 302 (A1::, 2001:db8:0700::)(B:8:D0::; SL=1; NH=4)(X, Y) 304 6 forwards along the shortest path to 2001:db8:0700::/48. 306 When 7 receives the packet, 7 matches 2001:db8:0700::/48 in its "My 307 SID Table" and finds the bound function uN. As a result, Node 7 308 executes the "End with PSP and USD support" pseudocode, decrementing 309 the SL value in the SRH, and updating the DA with the next SID 310 B:8:D0::. Since the SL value is zero the SRH is removed. Node 7 311 performs a lookup on the updated DA and forwards along the shortest 312 path. 314 The following packet leaves node 7: 316 (A1::, B:8:D0::)(X, Y) 318 8 receives it, performs the End.DT4 function and sends the IP packet 319 (X, Y) towards its VPN destination. 321 This example illustrates the benefits highlighted in the next 322 section. 324 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 326 6. Benefits 328 Perfect integration with SRv6 Network Programming 330 SRv6 uSID is an instruction of the SRv6 network programming 331 model 333 Perfect integration with SRH 335 Any SID in DA or SRH can be an SRv6 uSID carrier 337 Scalable SR Policy 339 6 uSID' per uSID carrier 341 18 source routing waypoints in solely 40bytes of overhead 343 T.Encaps.Red with an SRH of 40 bytes (8 fixed + 2 * 16 344 bytes) 346 6 uSID's in DA and 12 in SRH 348 Efficient MTU overhead 350 In apple to apple comparison, the SRv6 solution outperforms any 351 alternative (VxLAN with SR-MPLS, CRH). 353 Scalable number of globally unique nodes in the domain 355 16-bit uSID: 65k uSIDs per domain block 357 32-bit uSID: 4.3M uSIDs per domain block 359 Hardware-friendly: 361 Leverages mature hardware capabilities (shift) 363 Avoids any extra lookup in indexed mapping table 365 Demonstrated by Cisco linerate implementation on Jericho1 367 Control-Plane friendly 369 No indexed mapping table is required 371 No routing extension is required: a simple prefix advertisement 372 suffices 374 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 376 7. Security 378 The security rules defined in Section 7 of 379 [I-D.ietf-spring-srv6-network-programming], protect intra-domain 380 deployments that includes SRv6 uSID. 382 8. Work in progress 384 Future version of this document will include other uSID behaviors 385 related to TE, VPN and service programming. 387 9. Acknowledgements 389 The authors would like to acknowledge Francois Clad, Peter Psenak, 390 Ketan Talaulikar, Swadesh Agrawal, Zafar Ali, Darren Dukes, Kiran 391 Sadshiran, Junaid Israr, Lakshmanan Srikanth, Asif Islam, Saleem 392 Hafeez, Michael MacKenzie, Sushek Shekar, YuanChao Su, Alexander 393 Preusche, Alberto Donzelli, Miya Kohno, David Smith, Ianik Semco, 394 Bertrand Duvivier, Frederic Trate, Kris Michielsen, Eyal Dagan, Eli 395 Stein, Ofer Iny, Elad Naor, Aviad Behar, Joseph Chin. 397 10. Contributors 399 Jisu Bhattacharyaa 400 Cisco Systems, Inc. 401 United States of America 403 Email: jisu@cisco.com 405 Kamran Raza 406 Cisco Systems, Inc. 407 Canada 409 Email: skraza@cisco.com 411 Tomonobu Niwa 412 KDDI 413 Japan 415 Email: to-niwa@kddi.com 417 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 419 11. References 421 11.1. Normative References 423 [I-D.ietf-6man-segment-routing-header] 424 Filsfils, C., Dukes, D., Previdi, S., Leddy, J., 425 Matsushima, S., and d. daniel.voyer@bell.ca, "IPv6 Segment 426 Routing Header (SRH)", draft-ietf-6man-segment-routing- 427 header-22 (work in progress), August 2019. 429 [I-D.ietf-spring-srv6-network-programming] 430 Filsfils, C., Camarillo, P., Leddy, J., 431 daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 432 Network Programming", draft-ietf-spring-srv6-network- 433 programming-01 (work in progress), July 2019. 435 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 436 Requirement Levels", BCP 14, RFC 2119, 437 DOI 10.17487/RFC2119, March 1997, 438 . 440 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 441 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 442 May 2017, . 444 11.2. Informative References 446 [I-D.filsfils-spring-srv6-net-pgm-illustration] 447 Filsfils, C., Camarillo, P., Li, Z., Matsushima, S., 448 Decraene, B., Steinberg, D., Lebrun, D., Raszuk, R., and 449 J. Leddy, "Illustrations for SRv6 Network Programming", 450 draft-filsfils-spring-srv6-net-pgm-illustration-01 (work 451 in progress), August 2019. 453 Authors' Addresses 455 Clarence Filsfils 456 Cisco Systems, Inc. 457 Belgium 459 Email: cf@cisco.com 461 Pablo Camarillo Garvia 462 Cisco Systems, Inc. 463 Spain 465 Email: pcamaril@cisco.com 467 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 469 Dennis Cai 470 Alibaba 471 China 473 Email: d.cai@alibaba-inc.com 475 Zhichun Jiang 476 Tencent 477 China 479 Email: zcjiang@tencent.com 481 Daniel Voyer 482 Bell Canada 483 Canada 485 Email: daniel.voyer@bell.ca 487 Ahmed Shawky 488 Saudi Telecom Company 489 Saudi Arabia 491 Email: ashawky@stc.com.sa 493 Nic Leymann 494 Deutsche Telekom 495 Germany 497 Email: N.Leymann@telekom.de 499 Dirk Steinberg 500 Lapishills Consulting Limited 501 Cyprus 503 Email: dirk@lapishills.com 505 Shawn Zandi 506 LinkedIn 507 United States of America 509 Email: szandi@linkedin.com 511 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 513 Gaurav Dawra 514 LinkedIn 515 United States of America 517 Email: gdawra@linkedin.com 519 Israel Meilik 520 Broadcom 521 Israel 523 Email: israel.meilik@broadcom.com 525 Jim Uttaro 526 AT&T 527 United States of America 529 Email: ju1738@att.com 531 Luay Jalil 532 Verizon 533 United States of America 535 Email: luay.jalil@one.verizon.com 537 Ning So 538 Reliance 539 United States of America 541 Email: Ning.So@ril.com 543 Michael Fiumano 544 Sprint 545 United States of America 547 Email: michael.f.fiumano@sprint.com 549 Mazen Khaddam 550 Cox 551 United States of America 553 Email: Mazen.Khaddam@cox.com 555 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 557 Jichun Ma 558 China Unicom 559 China 561 Email: majc16@chinaunicom.cn 563 Satoru Matsushima 564 Softbank 565 Japan 567 Email: satoru.matsushima@g.softbank.co.jp 569 Francis Ferguson 570 CenturyLink 571 United States of America 573 Email: Francis.Ferguson@centurylink.com 575 Takuya Miyasaka 576 KDDI 577 Japan 579 Email: ta-miyasaka@kddi.com 581 Kentaro Ebisawa 582 Toyota Motor Corporation 583 Japan 585 Email: ebisawa@toyota-tokyo.tech 587 Yukito Ueno 588 NTT Communications Corporation 589 Japan 591 Email: yukito.ueno@ntt.com 593 Wim Henderickx 594 Nokia 595 Belgium 597 Email: wim.henderickx@nokia.com 599 Internet-DrafNetwork Programming extension: SRv6 uSID instru August 2019 601 Prem Jonnalagadda 602 Barefoot Networks 603 United States of America 605 Email: prem@barefootnetworks.com 607 David Melman 608 Marvell 609 Israel 611 Email: davidme@marvell.com