SPRING C. Filsfils, Ed. Internet-Draft P. Camarillo, Ed. Intended status: Standards Track Cisco Systems, Inc. Expires: March 26, 2020 J. Leddy Individual Contributor D. Voyer Bell Canada S. Matsushima SoftBank Z. Li Huawei Technologies September 23, 2019 SRv6 NET-PGM extension: Insertion draft-filsfils-spring-srv6-net-pgm-insertion-00 Abstract Traffic traversing an SR domain is encapsulated in an outer IPv6 header for its journey through the SR domain. To implement transport services strictly within the SR domain, the SR domain may require insertion or deletion of an SRH after the outer IPv6 header of the SR domain. Any segment within the SRH is strictly contained within the SR domain. This document extends SRv6 Network Programming [I-D.ietf-spring-srv6-network-programming] with new SR endpoint and transit behaviors to be performed only within the SR domain in any packet owned by the domain. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute Filsfils, et al. Expires March 26, 2020 [Page 1] Internet-Draft SRv6 NET-PGM extension: Insertion September 2019 working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on March 26, 2020. Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. SRv6 endpoint behaviors . . . . . . . . . . . . . . . . . . . 3 2.1. End.B6.Insert: Endpoint bound to an SRv6 policy . . . . . 3 2.2. End.B6.Insert.Red: [...] with reduced SRH . . . . . . . . 4 3. Transit behaviors . . . . . . . . . . . . . . . . . . . . . . 5 3.1. T.Insert: Transit with insertion of an SRv6 Policy . . . 5 3.2. T.Insert.Red: Transit with reduced insertion . . . . . . 5 4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 5. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 6.1. Normative References . . . . . . . . . . . . . . . . . . 9 6.2. Informative References . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction Packets transiting an SR Domain may be steered into an SR Policy for a variety of reasons. For example, a PLR router reroutes traffic on a TI-LFA repair path [I-D.ietf-rtgwg-segment-routing-ti-lfa] or when a Binding-SID is expanded [I-D.ietf-spring-segment-routing-policy]. Filsfils, et al. Expires March 26, 2020 [Page 2] Internet-Draft SRv6 NET-PGM extension: Insertion September 2019 This document extends the SRv6 Network Programming [I-D.ietf-spring-srv6-network-programming] model with new endpoint and transit behaviors enabling the insertion of an SRH after the outer IPv6 header of the SR domain. The operations described in this document must take into account the considerations described in [I-D.voyer-6man-extension-header-insertion]. 2. SRv6 endpoint behaviors SRv6 Network Programming Section 4 defines a base set of SRv6 endpoint behaviors. This is extended with the behaviors described in this section. 2.1. End.B6.Insert: Endpoint bound to an SRv6 policy The "Endpoint bound to an SRv6 Policy" is a variant of the End behavior. One of its applications is to express scalable traffic-engineering policies across multiple domains. It is the one of the SRv6 instantiations of a Binding SID [RFC8402]. An End.B6.Insert SID is never the last segment in a SID list, and any SID instantiation must be associated with an SR Policy B[I-D.ietf-spring-segment-routing-policy]. When N receives a packet whose IPv6 DA is S and S is a local End.B6.Insert SID, does: Filsfils, et al. Expires March 26, 2020 [Page 3] Internet-Draft SRv6 NET-PGM extension: Insertion September 2019 S01. When an SRH is processed { S02. If (Segments Left == 0) { S03. Send an ICMP Parameter Problem message to the Source Address Code TBD-SRH (SR Upper-layer Header Error), Pointer set to the offset of the upper-layer header, interrupt packet processing and discard the packet S04. } S04. If (IPv6 Hop Limit <= 1) { S05. Send an ICMP Time Exceeded message to the Source Address, Code 0 (Hop limit exceeded in transit), interrupt packet processing and discard the packet S06. } S07. max_LE = (Hdr Ext Len / 2) - 1 S08. If ((Last Entry > max_LE) or (Segments Left > (Last Entry+1)){ S09. Send an ICMP Parameter Problem to the Source Address, Code 0 (Erroneous header field encountered), Pointer set to the Segments Left field, interrupt packet processing and discard the packet S11. } S12. Decrement Hop Limit by 1 S13. Insert a new SRH in between the IPv6 Header and the received SRH containing the list of segments of B S14. Set the IPv6 DA to the first segment of B S15. Resubmit the packet to the egress IPv6 FIB lookup and transmission to the new destination S16. } When processing the Upper-layer header of a packet matching a FIB entry locally instantiated as an SRv6 End.B6.Insert SID, send an ICMP parameter problem message to the Source Address and discard the packet. Error code "SR Upper-layer Header Error", Pointer set to the offset of the upper-layer header. 2.2. End.B6.Insert.Red: [...] with reduced SRH This is an optimization of the End.B6.Insert behavior. End.B6.Insert.Red reduces the size of the new SRH by one SID by avoiding the insertion of the first SID in the pushed SRH. In this way, the first SID is only written in the DA and the packet is forwarded according to it. The new SRH is created as described in Section 4.1.1 of [I-D.ietf-6man-segment-routing-header]. Filsfils, et al. Expires March 26, 2020 [Page 4] Internet-Draft SRv6 NET-PGM extension: Insertion September 2019 3. Transit behaviors SRv6 Network Programming defines in Section 5 a set of transit behaviors. This is extended with the following behaviors defined in this section. 3.1. T.Insert: Transit with insertion of an SRv6 Policy Node N receives two packets P1=(A, B2) and P2=(A,B2)(B3, B2, B1; SL=1). B2 is neither a local address nor SID of N. N steers the transit packets P1 and P2 into an SRv6 Policy with one SID list . The "T.Insert" transit insertion behavior is defined as follows: 1. insert the SRH (B2, S3, S2, S1; SL=3) ;; Ref1, Ref1bis 2. set the IPv6 DA = S1 3. forward along the shortest path to S1 Ref1: The received IPv6 DA is placed as last SID of the inserted SRH. Ref1bis: The SRH is inserted [I-D.voyer-6man-extension-header-insertion] before any other IPv6 Routing Extension Header. After the T.Insert behavior, P1 and P2 respectively look like: -(A, S1) (B2, S3, S2, S1; SL=3) -(A, S1) (B2, S3, S2, S1; SL=3) (B3, B2, B1; SL=1) 3.2. T.Insert.Red: Transit with reduced insertion The T.Insert.Red behavior is an optimization of the T.Insert behavior. It is defined as follows: 1. insert the SRH (B2, S3, S2; SL=3) 2. set the IPv6 DA = S1 3. forward along the shortest path to S1 T.Insert.Red will reduce the size of the SRH by one segment by avoiding the insertion of the first SID in the pushed SRH. In this way, the first segment is only introduced in the DA and the packet is forwarded according to it. After the T.Insert.Red behavior, P1 and P2 respectively look like: Filsfils, et al. Expires March 26, 2020 [Page 5] Internet-Draft SRv6 NET-PGM extension: Insertion September 2019 - (A, S1) (B2, S3, S2; SL=3) - (A, S1) (B2, S3, S2; SL=3) (B3, B2, B1; SL=1) 4. Acknowledgements The authors would like to acknowledge Stefano Previdi, Dave Barach, Mark Townsley, Peter Psenak, Thierry Couture, Kris Michielsen, Paul Wells, Robert Hanzl, Dan Ye, Gaurav Dawra, Faisal Iqbal, Jaganbabu Rajamanickam, David Toscano, Asif Islam, Jianda Liu, Yunpeng Zhang, Jiaoming Li, Narendra A.K, Mike Mc Gourty, Bhupendra Yadav, Sherif Toulan, Satish Damodaran, John Bettink, Kishore Nandyala Veera Venk, Jisu Bhattacharya and Saleem Hafeez. 5. Contributors Daniel Bernier Bell Canada Canada Email: daniel.bernier@bell.ca Dirk Steinberg Lapishills Consulting Limited Cyprus Email: dirk@lapishills.com Robert Raszuk Bloomberg LP United States of America Email: robert@raszuk.net Bruno Decraene Orange France Email: bruno.decraene@orange.com Bart Peirens Proximus Belgium Email: bart.peirens@proximus.com Hani Elmalky Ericsson Filsfils, et al. Expires March 26, 2020 [Page 6] Internet-Draft SRv6 NET-PGM extension: Insertion September 2019 United States of America Email: hani.elmalky@gmail.com Prem Jonnalagadda Barefoot Networks United States of America Email: prem@barefootnetworks.com Milad Sharif Barefoot Networks United States of America Email: msharif@barefootnetworks.com David Lebrun Google Belgium Email: dlebrun@google.com Stefano Salsano Universita di Roma "Tor Vergata" Italy Email: stefano.salsano@uniroma2.it Ahmed AbdelSalam Gran Sasso Science Institute Italy Email: ahmed.abdelsalam@gssi.it Gaurav Naik Drexel University United States of America Email: gn@drexel.edu Arthi Ayyangar Arista United States of America Email: arthi@arista.com Satish Mynam Innovium Inc. Filsfils, et al. Expires March 26, 2020 [Page 7] Internet-Draft SRv6 NET-PGM extension: Insertion September 2019 United States of America Email: smynam@innovium.com Wim Henderickx Nokia Belgium Email: wim.henderickx@nokia.com Shaowen Ma Juniper Singapore Email: mashao@juniper.net Ahmed Bashandy Individual United States of America Email: abashandy.ietf@gmail.com Francois Clad Cisco Systems, Inc. France Email: fclad@cisco.com Kamran Raza Cisco Systems, Inc. Canada Email: skraza@cisco.com Darren Dukes Cisco Systems, Inc. Canada Email: ddukes@cisco.com Patrice Brissete Cisco Systems, Inc. Canada Email: pbrisset@cisco.com Zafar Ali Cisco Systems, Inc. Filsfils, et al. Expires March 26, 2020 [Page 8] Internet-Draft SRv6 NET-PGM extension: Insertion September 2019 United States of America Email: zali@cisco.com 6. References 6.1. Normative References [I-D.ietf-6man-segment-routing-header] Filsfils, C., Dukes, D., Previdi, S., Leddy, J., Matsushima, S., and d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header (SRH)", draft-ietf-6man-segment-routing- header-23 (work in progress), September 2019. [I-D.ietf-spring-srv6-network-programming] Filsfils, C., Camarillo, P., Leddy, J., daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 Network Programming", draft-ietf-spring-srv6-network- programming-02 (work in progress), September 2019. [I-D.voyer-6man-extension-header-insertion] daniel.voyer@bell.ca, d., Leddy, J., Filsfils, C., Dukes, D., Previdi, S., and S. Matsushima, "Insertion of IPv6 Segment Routing Headers in a Controlled Domain", draft- voyer-6man-extension-header-insertion-06 (work in progress), July 2019. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, July 2018, . 6.2. Informative References Filsfils, et al. Expires March 26, 2020 [Page 9] Internet-Draft SRv6 NET-PGM extension: Insertion September 2019 [I-D.ietf-rtgwg-segment-routing-ti-lfa] Litkowski, S., Bashandy, A., Filsfils, C., Decraene, B., Francois, P., daniel.voyer@bell.ca, d., Clad, F., and P. Camarillo, "Topology Independent Fast Reroute using Segment Routing", draft-ietf-rtgwg-segment-routing-ti- lfa-01 (work in progress), March 2019. [I-D.ietf-spring-segment-routing-policy] Filsfils, C., Sivabalan, S., daniel.voyer@bell.ca, d., bogdanov@google.com, b., and P. Mattes, "Segment Routing Policy Architecture", draft-ietf-spring-segment-routing- policy-03 (work in progress), May 2019. Authors' Addresses Clarence Filsfils (editor) Cisco Systems, Inc. Belgium Email: cf@cisco.com Pablo Camarillo Garvia (editor) Cisco Systems, Inc. Spain Email: pcamaril@cisco.com John Leddy Individual Contributor United States of America Email: john@leddy.net Daniel Voyer Bell Canada Canada Email: daniel.voyer@bell.ca Filsfils, et al. Expires March 26, 2020 [Page 10] Internet-Draft SRv6 NET-PGM extension: Insertion September 2019 Satoru Matsushima SoftBank 1-9-1,Higashi-Shimbashi,Minato-Ku Tokyo 105-7322 Japan Email: satoru.matsushima@g.softbank.co.jp Zhenbin Li Huawei Technologies China Email: lizhenbin@huawei.com Filsfils, et al. Expires March 26, 2020 [Page 11]