idnits 2.17.1 draft-filsfils-spring-net-pgm-extension-srv6-usid-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 : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (February 25, 2020) is 1522 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) == Outdated reference: A later version (-28) exists of draft-ietf-spring-srv6-network-programming-10 == Outdated reference: A later version (-15) exists of draft-matsushima-spring-srv6-deployment-status-05 Summary: 1 error (**), 0 flaws (~~), 4 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: August 28, 2020 D. Cai 6 Alibaba 7 D. Voyer 8 Bell Canada 9 I. Meilik 10 Broadcom 11 K. Patel 12 Arrcus, Inc. 13 W. Henderickx 14 Nokia 15 P. Jonnalagadda 16 Barefoot Networks 17 D. Melman 18 Marvell 19 February 25, 2020 21 Network Programming extension: SRv6 uSID instruction 22 draft-filsfils-spring-net-pgm-extension-srv6-usid-04 24 Abstract 26 The SRv6 "micro segment" (SRv6 uSID or uSID for short) instruction is 27 a straightforward extension of the SRv6 Network Programming model: 29 o The SRv6 Control Plane is leveraged without any change 31 o The SRH dataplane encapsulation is leveraged without any change 33 o Any SID in the SID list can carry micro segments 35 This enables: 37 o ultra-scale (e.g. multi-domain 5G deployments) 39 o minimum MTU overhead 41 o installed-base reuse 43 Requirements Language 45 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 46 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 47 "OPTIONAL" in this document are to be interpreted as described in BCP 48 14 [RFC2119] [RFC8174] when, and only when, they appear in all 49 capitals, as shown here. 51 Status of This Memo 53 This Internet-Draft is submitted in full conformance with the 54 provisions of BCP 78 and BCP 79. 56 Internet-Drafts are working documents of the Internet Engineering 57 Task Force (IETF). Note that other groups may also distribute 58 working documents as Internet-Drafts. The list of current Internet- 59 Drafts is at https://datatracker.ietf.org/drafts/current/. 61 Internet-Drafts are draft documents valid for a maximum of six months 62 and may be updated, replaced, or obsoleted by other documents at any 63 time. It is inappropriate to use Internet-Drafts as reference 64 material or to cite them other than as "work in progress." 66 This Internet-Draft will expire on August 28, 2020. 68 Copyright Notice 70 Copyright (c) 2020 IETF Trust and the persons identified as the 71 document authors. All rights reserved. 73 This document is subject to BCP 78 and the IETF Trust's Legal 74 Provisions Relating to IETF Documents 75 (https://trustee.ietf.org/license-info) in effect on the date of 76 publication of this document. Please review these documents 77 carefully, as they describe your rights and restrictions with respect 78 to this document. Code Components extracted from this document must 79 include Simplified BSD License text as described in Section 4.e of 80 the Trust Legal Provisions and are provided without warranty as 81 described in the Simplified BSD License. 83 Table of Contents 85 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 86 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 87 2.1. Notation for human readability . . . . . . . . . . . . . 4 88 3. SRv6 behaviors associated with a uSID . . . . . . . . . . . . 5 89 3.1. uN . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 90 4. Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 91 5. Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . 6 92 6. Running code . . . . . . . . . . . . . . . . . . . . . . . . 7 93 7. Security . . . . . . . . . . . . . . . . . . . . . . . . . . 8 94 8. Work in progress . . . . . . . . . . . . . . . . . . . . . . 8 95 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 96 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8 97 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 98 11.1. Normative References . . . . . . . . . . . . . . . . . . 12 99 11.2. Informative References . . . . . . . . . . . . . . . . . 12 100 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 102 1. Introduction 104 SRv6 Network Programming [I-D.ietf-spring-srv6-network-programming] 105 defines a mechanism to build a network program with topological and 106 service segments. It leverages the SRH 107 [I-D.ietf-6man-segment-routing-header] to encode a network program 108 together with optional metadata shared among the different SIDs. 110 This draft extends SRv6 Network Programming with a new type of SRv6 111 SID behavior: SRv6 uN. 113 This extension fully leverages the SRv6 network programming solution: 115 o The SRv6 Control Plane is leveraged without any change 117 o The SRH dataplane encapsulation is leveraged without any change 119 o Any SID in the SID list can carry micro segments 121 This enables: 123 o ultra-scale (e.g. multi-domain 5G deployments) 125 o minimum MTU overhead 127 o installed-base reuse 129 2. Terminology 131 The SRv6 Network Programming and SRH terminology is leveraged and 132 extended with the following terms: 134 +----------+--------------------------------------------------------+ 135 | Term | Definition | 136 +----------+--------------------------------------------------------+ 137 | uSID | A block of uSID's. It can be any IPv6 prefix available | 138 | block | to the provider. In this note we will assume a /32 | 139 | | sub-allocated from a public block | 140 | | [I-D.matsushima-spring-srv6-deployment-status]. Other | 141 | | block length could be used. | 142 +----------+--------------------------------------------------------+ 143 | uSID | In this document a 16-bit ID. A different uSID length | 144 | | may be used. | 145 +----------+--------------------------------------------------------+ 146 | Active | First uSID after the uSID block. | 147 | uSID | | 148 +----------+--------------------------------------------------------+ 149 | Next | Next uSID after the Active uSID. | 150 | uSID | | 151 +----------+--------------------------------------------------------+ 152 | Last | From left to right, the last uSID before the first | 153 | uSID | End-of-Carrier uSID. | 154 +----------+--------------------------------------------------------+ 155 | End-of- | Reserved uSID used to mark the end of a uSID carrier. | 156 | Carrier | The value 0000 is selected as End-of-Carrier. All of | 157 | | the empty uSID carrier positions must be filled with | 158 | | the End-of-Carrier ID. Hence, the End-of-Carrier can | 159 | | be present more than once in a uSID carrier. | 160 +----------+--------------------------------------------------------+ 161 | uSID | A 128bit SRv6 SID of format | 162 | carrier | ....... A uSID carrier can be encoded in the | 164 | | Destination Address of an IPv6 header or at any | 165 | | position in the Segment List of an SRH. | 166 +----------+--------------------------------------------------------+ 168 2.1. Notation for human readability 170 For human readability, the examples in this document follow this 171 notation: 173 2001:db8::/32 is the uSID block used in the SR domain 175 0N00: uN behavior bound to node N 177 3. SRv6 behaviors associated with a uSID 179 The SRv6 SRH encapsulation and its network programming model are 180 extended with the following functions: 182 3.1. uN 184 The uN behavior is a variant of the endpoint behavior. 186 This behavior takes a 80b argument, "Arg", which contains the next 187 uSIDs in the uSID carrier. 189 When N receives a packet whose IPv6 DA matches a local uN SID, N 190 does: 192 1. IF DA[48..63] != 0 ;; Ref1 193 2. Copy DA[48..127] into DA[32..111] 194 3. Set DA[112..127] to 0x0000 195 4. Forward the packet to the new DA 196 5. ELSE 197 6. Execute the End pseudocode ;; Ref2 199 Ref 1: DA[X..Y] refers to the bits from position X to Y (included) in 200 the IPv6 Destination Address of the received packet. The bit 0 is 201 the MSB, while the bit 127 is the LSB. 203 Ref 2: This refers to the End behavior as defined in Section 4.1 of 204 [I-D.ietf-spring-srv6-network-programming]. The End behavior may be 205 combined with the PSP, USP and USD flavours. 207 4. Routing 209 If Node 1 is configured with a uN SID 2001:db8:0100::/48 then the 210 operator must ensure that Node 1 advertises 2001:db8:0100::/48 in 211 routing. 213 5. Benefits 215 o Leverages SRv6 Network Programming with NO change 217 * SRv6 uSID is an instruction of the SRv6 network programming 218 model 220 o Leverages SRv6 dataplane (SRH) with NO change 222 * Any SID in DA or SRH can be an SRv6 uSID carrier 224 o Leverages SRv6 Control-Plane with NO change 226 o Ultra-Scale 228 * 6 uSID' per uSID carrier 230 * 18 source routing waypoints in solely 40bytes of overhead 232 + T.Encaps.Red with an SRH of 40 bytes (8 fixed + 2 * 16 233 bytes) 235 + 6 uSID's in DA and 12 in SRH 237 o Lowest MTU overhead 239 * In apple to apple comparison, the SRv6 solution outperforms any 240 alternative (VxLAN with SR-MPLS, CRH). 242 o Scalable number of globally unique nodes in the domain 244 * 16-bit uSID: 65k uSIDs per domain block 246 * 32-bit uSID: 4.3M uSIDs per domain block 248 o Proven Hardware-friendliness 250 * Leverages mature hardware capabilities (shift, DA longest 251 match) 253 * Avoids any extra lookup in indexed mapping table 255 * Demonstrated by the number of linerate interoperable hardware 256 implementations at the first Interop report in February 2020, 257 less than 9 months after the first public version of this 258 document. 260 * Public operator report of leverage of installed base 261 * A micro-program which requires less than 6 uSID's only requires 262 legacy IPinIP encapsulation behavior 264 o Scalable Control-Plane 266 * No indexed mapping table is required 268 * Summarization at area/domain boundary provides massive scaling 269 advantage 271 * No routing extension is required: a simple prefix advertisement 272 suffices 274 o Seamless Deployment 276 * A uSID may be used as a SID: i.e. the carrier holds a single 277 uSID 279 * The inner structure of an SR Policy can stay opaque to the 280 source: i.e. a carrier with uSID's is just seen as a SID by the 281 policy headend 283 o Security 285 * Leverages SRv6's native SR domain security 287 o Large-Scale DC 289 * SID's may be used to address applications on hosts (scale in 290 2^128) 292 * Hardware friendliness of uSID's may be used to specify billions 293 of waypoints in cost/power-optimized DC fabric 295 6. Running code 297 The hardware and software platforms listed below have demonstrated 298 support for the uN instruction defined in this document. 300 Further on, all these implementations have participated in a joint 301 interoperability testing. 303 Hardware implementations (in alphabetical order): 305 o Arrcus ArcOS (based on Broadcom Jericho2) 307 o Barefoot Tofino NPU 308 o Cisco 8000 Series Routers (based on Cisco Silicon One Q100) 310 o Cisco ASR9000 platform (with 3rd gen Tomahawk and 4th gen 311 Lightspeed line-cards) 313 o Cisco NCS5500 platform (based on Broadcom Jericho/Jericho+) 315 o Marvell Prestera Falcon CX 8500 317 Software open-source implementations (in alphabetical order): 319 o FD.io VPP 321 o Linux Kernel 323 7. Security 325 The security rules defined in Section 7 of 326 [I-D.ietf-spring-srv6-network-programming], protect intra-domain 327 deployments that includes SRv6 uSID. 329 8. Work in progress 331 Future version of this document will include other uSID behaviors 332 related to TE, VPN and service programming. 334 9. Acknowledgements 336 The authors would like to acknowledge Francois Clad, Peter Psenak, 337 Ketan Talaulikar, Jakub Horn, Swadesh Agrawal, Zafar Ali, Darren 338 Dukes, Kiran Sadshiran, Junaid Israr, Lakshmanan Srikanth, Asif 339 Islam, Saleem Hafeez, Michael MacKenzie, Sushek Shekar, YuanChao Su, 340 Alexander Preusche, Alberto Donzelli, Miya Kohno, David Smith, Ianik 341 Semco, Bertrand Duvivier, Frederic Trate, Kris Michielsen, Eyal 342 Dagan, Eli Stein, Ofer Iny, Elad Naor, Aviad Behar, Joseph Chin. 344 10. Contributors 346 Jisu Bhattacharyaa 347 Cisco Systems, Inc. 348 United States of America 350 Email: jisu@cisco.com 352 Kamran Raza 353 Cisco Systems, Inc. 355 Canada 357 Email: skraza@cisco.com 359 John Bettink 360 Cisco Systems, Inc. 361 United States of America 363 Email: jbettink@cisco.com 365 Tomonobu Niwa 366 KDDI 367 Japan 369 Email: to-niwa@kddi.com 371 Luay Jalil 372 Verizon 373 United States of America 375 Email: luay.jalil@one.verizon.com 377 Zhichun Jiang 378 Tencent 379 China 381 Email: zcjiang@tencent.com 383 Ahmed Shawky 384 Saudi Telecom Company 385 Saudi Arabia 387 Email: ashawky@stc.com.sa 389 Nic Leymann 390 Deutsche Telekom 391 Germany 393 Email: N.Leymann@telekom.de 395 Dirk Steinberg 396 Lapishills Consulting Limited 397 Cyprus 399 Email: dirk@lapishills.com 401 Shawn Zandi 402 LinkedIn 403 United States of America 405 Email: szandi@linkedin.com 407 Gaurav Dawra 408 LinkedIn 409 United States of America 411 Email: gdawra@linkedin.com 413 Jim Uttaro 414 AT&T 415 United States of America 417 Email: ju1738@att.com 419 Ning So 420 Reliance 421 United States of America 423 Email: Ning.So@ril.com 425 Michael Fiumano 426 Sprint 427 United States of America 429 Email: michael.f.fiumano@sprint.com 431 Mazen Khaddam 432 Cox 433 United States of America 435 Email: Mazen.Khaddam@cox.com 437 Jichun Ma 438 China Unicom 439 China 441 Email: majc16@chinaunicom.cn 443 Satoru Matsushima 444 Softbank 445 Japan 447 Email: satoru.matsushima@g.softbank.co.jp 449 Francis Ferguson 450 CenturyLink 451 United States of America 453 Email: Francis.Ferguson@centurylink.com 455 Takuya Miyasaka 456 KDDI 457 Japan 459 Email: ta-miyasaka@kddi.com 461 Kentaro Ebisawa 462 Toyota Motor Corporation 463 Japan 465 Email: ebisawa@toyota-tokyo.tech 467 Yukito Ueno 468 NTT Communications Corporation 469 Japan 471 Email: yukito.ueno@ntt.com 473 11. References 475 11.1. Normative References 477 [I-D.ietf-6man-segment-routing-header] 478 Filsfils, C., Dukes, D., Previdi, S., Leddy, J., 479 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 480 (SRH)", draft-ietf-6man-segment-routing-header-26 (work in 481 progress), October 2019. 483 [I-D.ietf-spring-srv6-network-programming] 484 Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., 485 Matsushima, S., and Z. Li, "SRv6 Network Programming", 486 draft-ietf-spring-srv6-network-programming-10 (work in 487 progress), February 2020. 489 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 490 Requirement Levels", BCP 14, RFC 2119, 491 DOI 10.17487/RFC2119, March 1997, 492 . 494 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 495 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 496 May 2017, . 498 11.2. Informative References 500 [I-D.matsushima-spring-srv6-deployment-status] 501 Matsushima, S., Filsfils, C., Ali, Z., and Z. Li, "SRv6 502 Implementation and Deployment Status", draft-matsushima- 503 spring-srv6-deployment-status-05 (work in progress), 504 January 2020. 506 Authors' Addresses 508 Clarence Filsfils (editor) 509 Cisco Systems, Inc. 510 Belgium 512 Email: cf@cisco.com 514 Pablo Camarillo (editor) 515 Cisco Systems, Inc. 516 Spain 518 Email: pcamaril@cisco.com 520 Dennis Cai 521 Alibaba 522 China 524 Email: d.cai@alibaba-inc.com 526 Daniel Voyer 527 Bell Canada 528 Canada 530 Email: daniel.voyer@bell.ca 532 Israel Meilik 533 Broadcom 534 Israel 536 Email: israel.meilik@broadcom.com 538 Keyur Patel 539 Arrcus, Inc. 540 United States of America 542 Email: keyur@arrcus.com 543 Wim Henderickx 544 Nokia 545 Belgium 547 Email: wim.henderickx@nokia.com 549 Prem Jonnalagadda 550 Barefoot Networks 551 United States of America 553 Email: prem@barefootnetworks.com 555 David Melman 556 Marvell 557 Israel 559 Email: davidme@marvell.com