idnits 2.17.1 draft-filsfils-spring-srv6-net-pgm-insertion-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The abstract seems to contain references ([I-D.ietf-spring-srv6-network-programming]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. 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 (January 15, 2020) is 1564 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-07 == Outdated reference: A later version (-10) exists of draft-voyer-6man-extension-header-insertion-08 ** Downref: Normative reference to an Informational draft: draft-voyer-6man-extension-header-insertion (ref. 'I-D.voyer-6man-extension-header-insertion') == Outdated reference: A later version (-13) exists of draft-ietf-rtgwg-segment-routing-ti-lfa-01 == Outdated reference: A later version (-22) exists of draft-ietf-spring-segment-routing-policy-06 Summary: 3 errors (**), 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: July 18, 2020 J. Leddy 6 Individual Contributor 7 D. Voyer 8 Bell Canada 9 S. Matsushima 10 SoftBank 11 Z. Li 12 Huawei Technologies 13 January 15, 2020 15 SRv6 NET-PGM extension: Insertion 16 draft-filsfils-spring-srv6-net-pgm-insertion-02 18 Abstract 20 Traffic traversing an SR domain is encapsulated in an outer IPv6 21 header for its journey through the SR domain. 23 To implement transport services strictly within the SR domain, the SR 24 domain may require insertion or deletion of an SRH after the outer 25 IPv6 header of the SR domain. Any segment within the SRH is strictly 26 contained within the SR domain. 28 This document extends SRv6 Network Programming 29 [I-D.ietf-spring-srv6-network-programming] with new SR endpoint and 30 transit behaviors to be performed only within the SR domain in any 31 packet owned by the domain. 33 Requirements Language 35 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 36 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 37 "OPTIONAL" in this document are to be interpreted as described in BCP 38 14 [RFC2119] [RFC8174] when, and only when, they appear in all 39 capitals, as shown here. 41 Status of This Memo 43 This Internet-Draft is submitted in full conformance with the 44 provisions of BCP 78 and BCP 79. 46 Internet-Drafts are working documents of the Internet Engineering 47 Task Force (IETF). Note that other groups may also distribute 48 working documents as Internet-Drafts. The list of current Internet- 49 Drafts is at https://datatracker.ietf.org/drafts/current/. 51 Internet-Drafts are draft documents valid for a maximum of six months 52 and may be updated, replaced, or obsoleted by other documents at any 53 time. It is inappropriate to use Internet-Drafts as reference 54 material or to cite them other than as "work in progress." 56 This Internet-Draft will expire on July 18, 2020. 58 Copyright Notice 60 Copyright (c) 2020 IETF Trust and the persons identified as the 61 document authors. All rights reserved. 63 This document is subject to BCP 78 and the IETF Trust's Legal 64 Provisions Relating to IETF Documents 65 (https://trustee.ietf.org/license-info) in effect on the date of 66 publication of this document. Please review these documents 67 carefully, as they describe your rights and restrictions with respect 68 to this document. Code Components extracted from this document must 69 include Simplified BSD License text as described in Section 4.e of 70 the Trust Legal Provisions and are provided without warranty as 71 described in the Simplified BSD License. 73 Table of Contents 75 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 76 2. SRv6 endpoint behaviors . . . . . . . . . . . . . . . . . . . 3 77 2.1. End.B6.Insert: Endpoint bound to an SRv6 policy . . . . . 3 78 2.2. End.B6.Insert.Red: [...] with reduced SRH . . . . . . . . 4 79 3. SR Policy Headend Behaviors . . . . . . . . . . . . . . . . . 5 80 3.1. H.Insert: SR Headend with insertion of an SRv6 Policy . . 5 81 3.2. H.Insert.Red: H.Insert with reduced insertion . . . . . . 5 82 4. Maximum H.Insert MSD Type . . . . . . . . . . . . . . . . . . 6 83 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 84 5.1. SRv6 Endpoint Behaviors . . . . . . . . . . . . . . . . . 6 85 5.2. MSD Types . . . . . . . . . . . . . . . . . . . . . . . . 6 86 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 87 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 7 88 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 89 8.1. Normative References . . . . . . . . . . . . . . . . . . 10 90 8.2. Informative References . . . . . . . . . . . . . . . . . 11 91 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 93 1. Introduction 95 Packets transiting an SR Domain may be steered into an SR Policy for 96 a variety of reasons. For example, a PLR router reroutes traffic on 97 a TI-LFA repair path [I-D.ietf-rtgwg-segment-routing-ti-lfa] or when 98 a Binding-SID is expanded [I-D.ietf-spring-segment-routing-policy]. 100 This document extends the SRv6 Network Programming 101 [I-D.ietf-spring-srv6-network-programming] model with new endpoint 102 and transit behaviors enabling the insertion of an SRH after the 103 outer IPv6 header of the SR domain. The operations described in this 104 document must take into account the considerations described in 105 [I-D.voyer-6man-extension-header-insertion]. 107 2. SRv6 endpoint behaviors 109 SRv6 Network Programming Section 4 defines a base set of SRv6 110 endpoint behaviors. This is extended with the behaviors described in 111 this section. 113 2.1. End.B6.Insert: Endpoint bound to an SRv6 policy 115 The "Endpoint bound to an SRv6 Policy" is a variant of the End 116 behavior. 118 One of its applications is to express scalable traffic-engineering 119 policies across multiple domains. It is the one of the SRv6 120 instantiations of a Binding SID [RFC8402]. 122 An End.B6.Insert SID is never the last segment in a SID list, and any 123 SID instantiation must be associated with an SR Policy 124 B[I-D.ietf-spring-segment-routing-policy]. 126 When N receives a packet whose IPv6 DA is S and S is a local 127 End.B6.Insert SID, does: 129 S01. When an SRH is processed { 130 S02. If (Segments Left == 0) { 131 S03. Send an ICMP Parameter Problem message to the Source Address 132 Code TBD-SRH (SR Upper-layer Header Error), 133 Pointer set to the offset of the upper-layer header, 134 interrupt packet processing and discard the packet 135 S04. } 136 S04. If (IPv6 Hop Limit <= 1) { 137 S05. Send an ICMP Time Exceeded message to the Source Address, 138 Code 0 (Hop limit exceeded in transit), 139 interrupt packet processing and discard the packet 140 S06. } 141 S07. max_LE = (Hdr Ext Len / 2) - 1 142 S08. If ((Last Entry > max_LE) or (Segments Left > (Last Entry+1)){ 143 S09. Send an ICMP Parameter Problem to the Source Address, 144 Code 0 (Erroneous header field encountered), 145 Pointer set to the Segments Left field, 146 interrupt packet processing and discard the packet 147 S11. } 148 S12. Decrement Hop Limit by 1 149 S13. Insert a new SRH in between the IPv6 Header and the received 150 SRH containing the list of segments of B 151 S14. Set the IPv6 DA to the first segment of B 152 S15. Resubmit the packet to the egress IPv6 FIB lookup and 153 transmission to the new destination 154 S16. } 156 When processing the Upper-layer header of a packet matching a FIB 157 entry locally instantiated as an SRv6 End.B6.Insert SID, send an ICMP 158 parameter problem message to the Source Address and discard the 159 packet. Error code "SR Upper-layer Header Error", Pointer set to the 160 offset of the upper-layer header. 162 2.2. End.B6.Insert.Red: [...] with reduced SRH 164 This is an optimization of the End.B6.Insert behavior. 166 End.B6.Insert.Red reduces the size of the new SRH by one SID by 167 avoiding the insertion of the first SID in the pushed SRH. In this 168 way, the first SID is only written in the DA and the packet is 169 forwarded according to it. 171 The new SRH is created as described in Section 4.1.1 of 172 [I-D.ietf-6man-segment-routing-header]. 174 3. SR Policy Headend Behaviors 176 SRv6 Network Programming defines in Section 5 a set of SR Policy 177 Headend Behaviors. This is extended with the following behaviors 178 defined in this section. 180 3.1. H.Insert: SR Headend with insertion of an SRv6 Policy 182 Node N receives two packets P1=(A, B2) and P2=(A,B2)(B3, B2, B1; 183 SL=1). B2 is neither a local address nor SID of N. 185 N steers the transit packets P1 and P2 into an SRv6 Policy with one 186 SID list . 188 The "H.Insert" transit insertion behavior is defined as follows: 190 1. insert the SRH (B2, S3, S2, S1; SL=3) ;; Ref1, Ref1bis 191 2. set the IPv6 DA = S1 192 3. forward along the shortest path to S1 194 Ref1: The received IPv6 DA is placed as last SID of the inserted SRH. 196 Ref1bis: The SRH is inserted 197 [I-D.voyer-6man-extension-header-insertion] before any other IPv6 198 Routing Extension Header. 200 After the H.Insert behavior, P1 and P2 respectively look like: 202 -(A, S1) (B2, S3, S2, S1; SL=3) 204 -(A, S1) (B2, S3, S2, S1; SL=3) (B3, B2, B1; SL=1) 206 3.2. H.Insert.Red: H.Insert with reduced insertion 208 The H.Insert.Red behavior is an optimization of the H.Insert 209 behavior. It is defined as follows: 211 1. insert the SRH (B2, S3, S2; SL=3) 212 2. set the IPv6 DA = S1 213 3. forward along the shortest path to S1 215 H.Insert.Red will reduce the size of the SRH by one segment by 216 avoiding the insertion of the first SID in the pushed SRH. In this 217 way, the first segment is only introduced in the DA and the packet is 218 forwarded according to it. 220 After the H.Insert.Red behavior, P1 and P2 respectively look like: 222 - (A, S1) (B2, S3, S2; SL=3) 224 - (A, S1) (B2, S3, S2; SL=3) (B3, B2, B1; SL=1) 226 4. Maximum H.Insert MSD Type 228 This document defines the MSD (Maximum SID Depth) for H.Insert 229 behavior and requests the MSD type assignment from the IGP MSD-Types 230 registry created by [RFC8491]. 232 The Maximum H.Insert MSD Type specifies the maximum number of SIDs 233 that can be inserted as part of the "H.insert" behavior: 235 -Max H.insert Type: 43 (Suggested value - to be assigned by IANA) 237 If the advertised value is zero or no value is advertised then the 238 router is assumed not to support any variation of the "H.insert" 239 behavior. 241 5. IANA Considerations 243 5.1. SRv6 Endpoint Behaviors 245 This document requests IANA to allocate the following codepoints 246 within the "SRv6 Endpoint Behaviors" sub-registry under the top-level 247 "Segment Routing Parameters" registry. 249 +-------+--------+-------------------+-----------+ 250 | Value | Hex | Endpoint behavior | Reference | 251 +-------+--------+-------------------+-----------+ 252 | 13 | 0x000D | End.B6.Insert | [This.ID] | 253 | 26 | 0x001A | End.B6.Insert.Red | [This.ID] | 254 +-------+--------+-------------------+-----------+ 256 Table 1: IETF - SRv6 Endpoint Behaviors 258 5.2. MSD Types 260 This document requests IANA to allocate the following codepoint 261 within the "IGP MSD-Types" sub-registry under the top-level "IGP 262 Parameters" registry. 264 +-------+------+-------------------+-----------+ 265 | Value | Hex | Endpoint behavior | Reference | 266 +-------+------+-------------------+-----------+ 267 | 43 | 0x2B | Max H.Insert | [This.ID] | 268 +-------+------+-------------------+-----------+ 270 Table 2: IETF - MSD Types 272 6. Acknowledgements 274 The authors would like to acknowledge Stefano Previdi, Dave Barach, 275 Mark Townsley, Peter Psenak, Thierry Couture, Kris Michielsen, Paul 276 Wells, Robert Hanzl, Dan Ye, Gaurav Dawra, Faisal Iqbal, Jaganbabu 277 Rajamanickam, David Toscano, Asif Islam, Jianda Liu, Yunpeng Zhang, 278 Jiaoming Li, Narendra A.K, Mike Mc Gourty, Bhupendra Yadav, Sherif 279 Toulan, Satish Damodaran, John Bettink, Kishore Nandyala Veera Venk, 280 Jisu Bhattacharya and Saleem Hafeez. 282 7. Contributors 284 Daniel Bernier 285 Bell Canada 286 Canada 288 Email: daniel.bernier@bell.ca 290 Dirk Steinberg 291 Lapishills Consulting Limited 292 Cyprus 294 Email: dirk@lapishills.com 296 Robert Raszuk 297 Bloomberg LP 298 United States of America 300 Email: robert@raszuk.net 302 Bruno Decraene 303 Orange 304 France 306 Email: bruno.decraene@orange.com 308 Bart Peirens 309 Proximus 310 Belgium 311 Email: bart.peirens@proximus.com 313 Hani Elmalky 314 Ericsson 315 United States of America 317 Email: hani.elmalky@gmail.com 319 Prem Jonnalagadda 320 Barefoot Networks 321 United States of America 323 Email: prem@barefootnetworks.com 325 Milad Sharif 326 Barefoot Networks 327 United States of America 329 Email: msharif@barefootnetworks.com 331 David Lebrun 332 Google 333 Belgium 335 Email: dlebrun@google.com 337 Stefano Salsano 338 Universita di Roma "Tor Vergata" 339 Italy 341 Email: stefano.salsano@uniroma2.it 343 Ahmed AbdelSalam 344 Gran Sasso Science Institute 345 Italy 347 Email: ahmed.abdelsalam@gssi.it 349 Gaurav Naik 350 Drexel University 351 United States of America 353 Email: gn@drexel.edu 355 Arthi Ayyangar 356 Arista 357 United States of America 358 Email: arthi@arista.com 360 Satish Mynam 361 Innovium Inc. 362 United States of America 364 Email: smynam@innovium.com 366 Wim Henderickx 367 Nokia 368 Belgium 370 Email: wim.henderickx@nokia.com 372 Shaowen Ma 373 Juniper 374 Singapore 376 Email: mashao@juniper.net 378 Ahmed Bashandy 379 Individual 380 United States of America 382 Email: abashandy.ietf@gmail.com 384 Francois Clad 385 Cisco Systems, Inc. 386 France 388 Email: fclad@cisco.com 390 Kamran Raza 391 Cisco Systems, Inc. 392 Canada 394 Email: skraza@cisco.com 396 Darren Dukes 397 Cisco Systems, Inc. 398 Canada 400 Email: ddukes@cisco.com 402 Patrice Brissete 403 Cisco Systems, Inc. 404 Canada 405 Email: pbrisset@cisco.com 407 Zafar Ali 408 Cisco Systems, Inc. 409 United States of America 411 Email: zali@cisco.com 413 8. References 415 8.1. Normative References 417 [I-D.ietf-6man-segment-routing-header] 418 Filsfils, C., Dukes, D., Previdi, S., Leddy, J., 419 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 420 (SRH)", draft-ietf-6man-segment-routing-header-26 (work in 421 progress), October 2019. 423 [I-D.ietf-spring-srv6-network-programming] 424 Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., 425 Matsushima, S., and Z. Li, "SRv6 Network Programming", 426 draft-ietf-spring-srv6-network-programming-07 (work in 427 progress), December 2019. 429 [I-D.voyer-6man-extension-header-insertion] 430 Voyer, D., Filsfils, C., Dukes, D., Matsushima, S., Leddy, 431 J., Li, Z., and J. Guichard, "Deployments With Insertion 432 of IPv6 Segment Routing Headers", draft-voyer-6man- 433 extension-header-insertion-08 (work in progress), November 434 2019. 436 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 437 Requirement Levels", BCP 14, RFC 2119, 438 DOI 10.17487/RFC2119, March 1997, 439 . 441 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 442 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 443 May 2017, . 445 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 446 Decraene, B., Litkowski, S., and R. Shakir, "Segment 447 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 448 July 2018, . 450 [RFC8491] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, 451 "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, 452 DOI 10.17487/RFC8491, November 2018, 453 . 455 8.2. Informative References 457 [I-D.ietf-rtgwg-segment-routing-ti-lfa] 458 Litkowski, S., Bashandy, A., Filsfils, C., Decraene, B., 459 Francois, P., Voyer, D., Clad, F., and P. Camarillo, 460 "Topology Independent Fast Reroute using Segment Routing", 461 draft-ietf-rtgwg-segment-routing-ti-lfa-01 (work in 462 progress), March 2019. 464 [I-D.ietf-spring-segment-routing-policy] 465 Filsfils, C., Sivabalan, S., Voyer, D., Bogdanov, A., and 466 P. Mattes, "Segment Routing Policy Architecture", draft- 467 ietf-spring-segment-routing-policy-06 (work in progress), 468 December 2019. 470 Authors' Addresses 472 Clarence Filsfils (editor) 473 Cisco Systems, Inc. 474 Belgium 476 Email: cf@cisco.com 478 Pablo Camarillo Garvia (editor) 479 Cisco Systems, Inc. 480 Spain 482 Email: pcamaril@cisco.com 484 John Leddy 485 Individual Contributor 486 United States of America 488 Email: john@leddy.net 490 Daniel Voyer 491 Bell Canada 492 Canada 494 Email: daniel.voyer@bell.ca 495 Satoru Matsushima 496 SoftBank 497 1-9-1,Higashi-Shimbashi,Minato-Ku 498 Tokyo 105-7322 499 Japan 501 Email: satoru.matsushima@g.softbank.co.jp 503 Zhenbin Li 504 Huawei Technologies 505 China 507 Email: lizhenbin@huawei.com