Skip to main content

SRv6 NET-PGM extension: Insertion
draft-filsfils-spring-srv6-net-pgm-insertion-04

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Authors Clarence Filsfils , Pablo Camarillo , John Leddy , Daniel Voyer , Satoru Matsushima , Zhenbin Li
Last updated 2021-01-11
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-filsfils-spring-srv6-net-pgm-insertion-04
SPRING                                                  C. Filsfils, Ed.
Internet-Draft                                         P. Camarillo, Ed.
Intended status: Standards Track                     Cisco Systems, Inc.
Expires: July 15, 2021                                          J. Leddy
                                                  Individual Contributor
                                                                D. Voyer
                                                             Bell Canada
                                                           S. Matsushima
                                                                SoftBank
                                                                   Z. Li
                                                     Huawei Technologies
                                                        January 11, 2021

                   SRv6 NET-PGM extension: Insertion
            draft-filsfils-spring-srv6-net-pgm-insertion-04

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 July 15, 2021                 [Page 1]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

   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 July 15, 2021.

Copyright Notice

   Copyright (c) 2021 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  . . . . . . . . . . . . . . . . . . . . . . . .   3
   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.  SR Policy Headend Behaviors . . . . . . . . . . . . . . . . .   5
     3.1.  H.Insert: SR Headend with insertion of an SRv6 Policy . .   5
     3.2.  H.Insert.Red: H.Insert with reduced insertion . . . . . .   5
   4.  Maximum H.Insert MSD Type . . . . . . . . . . . . . . . . . .   6
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
     5.1.  SRv6 Endpoint Behaviors . . . . . . . . . . . . . . . . .   6
     5.2.  MSD Types . . . . . . . . . . . . . . . . . . . . . . . .   6
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   7
   7.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .   7
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

Filsfils, et al.          Expires July 15, 2021                 [Page 2]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

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].

   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 July 15, 2021                 [Page 3]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

  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 [RFC8754].

Filsfils, et al.          Expires July 15, 2021                 [Page 4]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

3.  SR Policy Headend Behaviors

   SRv6 Network Programming defines in Section 5 a set of SR Policy
   Headend Behaviors.  This is extended with the following behaviors
   defined in this section.

3.1.  H.Insert: SR Headend 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 <S1, S2, S3>.

   The "H.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 H.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.  H.Insert.Red: H.Insert with reduced insertion

   The H.Insert.Red behavior is an optimization of the H.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

   H.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 H.Insert.Red behavior, P1 and P2 respectively look like:

Filsfils, et al.          Expires July 15, 2021                 [Page 5]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

   - (A, S1) (B2, S3, S2; SL=3)

   - (A, S1) (B2, S3, S2; SL=3) (B3, B2, B1; SL=1)

4.  Maximum H.Insert MSD Type

   This document defines the MSD (Maximum SID Depth) for H.Insert
   behavior and requests the MSD type assignment from the IGP MSD-Types
   registry created by [RFC8491].

   The Maximum H.Insert MSD Type specifies the maximum number of SIDs
   that can be inserted as part of the "H.insert" behavior:

   -Max H.insert Type: 43 (Suggested value - to be assigned by IANA)

   If the advertised value is zero or no value is advertised then the
   router is assumed not to support any variation of the "H.insert"
   behavior.

5.  IANA Considerations

5.1.  SRv6 Endpoint Behaviors

   This document requests IANA to allocate the following codepoints
   within the "SRv6 Endpoint Behaviors" sub-registry under the top-level
   "Segment Routing Parameters" registry.

            +-------+--------+-------------------+-----------+
            | Value |  Hex   | Endpoint behavior | Reference |
            +-------+--------+-------------------+-----------+
            | 13    | 0x000D |   End.B6.Insert   | [This.ID] |
            | 26    | 0x001A | End.B6.Insert.Red | [This.ID] |
            +-------+--------+-------------------+-----------+

                  Table 1: IETF - SRv6 Endpoint Behaviors

5.2.  MSD Types

   This document requests IANA to allocate the following codepoint
   within the "IGP MSD-Types" sub-registry under the top-level "IGP
   Parameters" registry.

Filsfils, et al.          Expires July 15, 2021                 [Page 6]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

             +-------+------+-------------------+-----------+
             | Value | Hex  | Endpoint behavior | Reference |
             +-------+------+-------------------+-----------+
             | 43    | 0x2B |    Max H.Insert   | [This.ID] |
             +-------+------+-------------------+-----------+

                         Table 2: IETF - MSD Types

6.  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.

7.  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

   Bart Peirens
   Proximus
   Belgium

   Email: bart.peirens@proximus.com

   Hani Elmalky
   Ericsson
   United States of America

Filsfils, et al.          Expires July 15, 2021                 [Page 7]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

   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.
   United States of America

Filsfils, et al.          Expires July 15, 2021                 [Page 8]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

   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.
   United States of America

Filsfils, et al.          Expires July 15, 2021                 [Page 9]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

   Email: zali@cisco.com

8.  References

8.1.  Normative References

   [I-D.ietf-spring-srv6-network-programming]
              Filsfils, C., Camarillo, P., Leddy, J., Voyer, D.,
              Matsushima, S., and Z. Li, "SRv6 Network Programming",
              draft-ietf-spring-srv6-network-programming-28 (work in
              progress), December 2020.

   [I-D.voyer-6man-extension-header-insertion]
              Voyer, D., Filsfils, C., Dukes, D., Matsushima, S., Leddy,
              J., Li, Z., and J. Guichard, "Deployments With Insertion
              of IPv6 Segment Routing Headers", draft-voyer-6man-
              extension-header-insertion-10 (work in progress), November
              2020.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [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, <https://www.rfc-editor.org/info/rfc8402>.

   [RFC8491]  Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg,
              "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491,
              DOI 10.17487/RFC8491, November 2018,
              <https://www.rfc-editor.org/info/rfc8491>.

   [RFC8754]  Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
              Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
              (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
              <https://www.rfc-editor.org/info/rfc8754>.

8.2.  Informative References

Filsfils, et al.          Expires July 15, 2021                [Page 10]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

   [I-D.ietf-rtgwg-segment-routing-ti-lfa]
              Litkowski, S., Bashandy, A., Filsfils, C., Decraene, B.,
              and D. Voyer, "Topology Independent Fast Reroute using
              Segment Routing", draft-ietf-rtgwg-segment-routing-ti-
              lfa-05 (work in progress), November 2020.

   [I-D.ietf-spring-segment-routing-policy]
              Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and
              P. Mattes, "Segment Routing Policy Architecture", draft-
              ietf-spring-segment-routing-policy-09 (work in progress),
              November 2020.

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 July 15, 2021                [Page 11]
Internet-Draft      SRv6 NET-PGM extension: Insertion       January 2021

   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 July 15, 2021                [Page 12]