Skip to main content

Generalized Arguments of SRv6 Segment
draft-lm-spring-srv6-generalized-arguments-02

Document Type Active Internet-Draft (individual)
Authors Zhenbin Li , Jianwei Mao , Cheng Li
Last updated 2023-11-20
RFC stream (None)
Intended RFC status (None)
Formats
Additional resources GitHub Repository
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-lm-spring-srv6-generalized-arguments-02
Network Working Group                                              Z. Li
Internet-Draft                                                    J. Mao
Intended status: Standards Track                                   C. Li
Expires: 24 May 2024                                 Huawei Technologies
                                                        21 November 2023

                 Generalized Arguments of SRv6 Segment
             draft-lm-spring-srv6-generalized-arguments-02

Abstract

   This document analyzes the challenges of Arguments of SRv6 SID, and
   the chance of using Arguments of SRv6 SID to reduce the length of the
   IPv6 extension header.  According to these analysis, this document
   specifies a kind of generalized and structured Arguments for SRv6
   SID, which can carry multiple Arguments parts for a SRv6 SID.

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
   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 24 May 2024.

Copyright Notice

   Copyright (c) 2023 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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Li, et al.                 Expires 24 May 2024                  [Page 1]
Internet-Draft            Generalized Arguments            November 2023

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   2
   3.  Terminologies . . . . . . . . . . . . . . . . . . . . . . . .   2
   4.  Problem Statement and Requirements  . . . . . . . . . . . . .   2
   5.  Generalized Arguments . . . . . . . . . . . . . . . . . . . .   4
     5.1.  Method A  . . . . . . . . . . . . . . . . . . . . . . . .   4
     5.2.  Method B  . . . . . . . . . . . . . . . . . . . . . . . .   4
     5.3.  Consideration of SRv6 C-SID Compression . . . . . . . . .   5
   6.  Flavor for Generalized Arguments  . . . . . . . . . . . . . .   6
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   This document analyzes the challenges of the Arguments of SRv6 SID,
   and the chance of using Arguments of SRv6 SID to reduce the length of
   the IPv6 extension header.  According to these analysis, this
   document specifies a kind of generalized and structured arguments for
   SRv6 SID, which can carry multiple Arguments parts for a SRv6 SID.

2.  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 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they
   appear in all capitals, as shown here.

3.  Terminologies

   SRv6: Segment Routing over IPv6

4.  Problem Statement and Requirements

   With the development of SRv6, several kinds of SRv6 Arguments for the
   SRv6 End SID and End.X SID
   emerge[I-D.ietf-spring-srv6-srh-compression], including:

   1.  SRv6 C-SID compression (NEXT Flavor): using Arguments to carry
   multiple C-SIDs.

Li, et al.                 Expires 24 May 2024                  [Page 2]
Internet-Draft            Generalized Arguments            November 2023

   2.  SRv6 C-SID compression (REPLACE Flavor): using Arguments to carry
   the CL field.

   3.  SRv6 C-SID compression (NEXT & REPLACE Flavor): using Arguments
   to carry multiple C-SIDs and the CL field.

   In addition, some new features are created, including network
   slicing[I-D.ietf-6man-enhanced-vpn-vtn-id], IOAM[RFC9197], Alternate
   Marking[RFC9343][I-D.fz-spring-srv6-alt-mark],
   APN6[I-D.li-apn-ipv6-encap][I-D.li-apn-header],
   DetNet[I-D.pthubert-detnet-ipv6-hbh], etc.

   The instructions of these new features can be processed at:

   1.  All nodes along a SR path: the instructions can be carried in the
   IPv6 Hop-by-Hop Options header (HBH).

   2.  Endpoints of an SR path: the ones can be carried in the IPv6
   Destination Options Header (DOH) or the SRH TLV.

   In the second scenario, especially the second one, the usages of the
   options or TLVs will cause the following two issues:

   1.  Lengthening the packet header, and reducing the transmission
   efficiency.

   2.  Making the forwarding processing complex, affecting forwarding
   performance.

   Besides these issues, in the SRv6 C-SID compression (NEXT Flavor)
   solution, if all the C-SIDs of the SID list which should have been
   encapsulated in the SRH can be put in the IPv6 destination address of
   the packet, because there is no SRH or DOH before SRH any more after
   the compression there will be no space for the instructions which
   should have been encapsulated in the IPv6 SRH or Destination Options
   Header before SRH.

   In order to address these challenges, a feasible solution is to use
   the Arguments of the SRv6 SID to carry those instructions.  Using
   SRv6 Arguments to do that will bring following benefits:

   1.  Reducing the needed space of IPv6 extension header or SRH TLV, so
   as to reduce the transmission overhead.

Li, et al.                 Expires 24 May 2024                  [Page 3]
Internet-Draft            Generalized Arguments            November 2023

   2.  SRv6 SID can reside in the IPv6 destination address field, so the
   SRv6 Arguments can be read and processed as a part of IPv6 address,
   from which the forwarding performance will benefit, because it avoids
   to process the extension header or SRv6 TLV behind the IPv6 header.

   3.  Unify and simplify the processing: the instructions of both the
   SRv6 and the new features are all put in the Arguments part of SRv6
   SID or IPv6 address.

5.  Generalized Arguments

   In order to carry the instructions of multiple features in the SRv6
   Arguments, this section defines two methods to make the SRv6
   Arguments generalized and structured to allocate spaces for the
   instructions.

5.1.  Method A

   Network devices are configured a template for the purpose of parsing
   the SRv6 Arguments, and the devices read and process the content of
   the Arguments according to the template.

   The template defines what features are carried, and which bits they
   are used.

   For example, if the length of the Arguments is z bits and the number
   x, y, and z have the relationship 0<x<y<z, then the template can
   define that:

   * The [0, x) bits carry the instructions of feature A;

   * The [x, y) bits carry the instructions of feature B;

   * The [y, z) bits carry the instructions of feature C.

5.2.  Method B

   Define a bitmap in the Arguments, and each bit in the bitmap
   indicates whether the instructions of a specific feature exist.  The
   correspondence of the bit and the feature, the length of the space of
   Arguments to carry the instructions for the feature, and the
   instructions needed to be carried for a specific feature can be
   defined further in a standardization way.

   The bitmap can be encoded from the most significant bit (MSB) or the
   least significant bit (LSB).

Li, et al.                 Expires 24 May 2024                  [Page 4]
Internet-Draft            Generalized Arguments            November 2023

   MSB:
       0
       0 1 2 3 4 5 6 7 ...
      +-+-+-+-+-+------------------------------------
      |A|B|C|D|E|  the instructions of feature A~E
      +-+-+-+-+-+------------------------------------

   LSB:
      ------------------------------------+-+-+-+-+-+
         the instructions of feature A~E  |A|B|C|D|E|
      ------------------------------------+-+-+-+-+-+

   When the bit is set (1), it indicates the instructions of the feature
   exist.  If the bit is reset (0), there can be two options:

   Option 1: it indicates the instructions of the feature don't exist.

   Option 2: it indicates the instructions of the feature exist but is
   invalid.

5.3.  Consideration of SRv6 C-SID Compression

   Since it is required to shift the C-SID in the SRv6 SID while
   applying the NEXT or NEXT & REPLACE behavior for SRv6 C-SID
   compression, when method A or B is adopted, when C-SIDs are encoded
   in the generalized Arguments of the SRv6 SID which is used as the
   IPv6 destination address, these C-SIDs MUST be placed from the most
   significant bit (MSB), that is, these C-SIDs MUST immediately
   following the LOC:FUNCT part of the SRv6 SID.

MSB:
    0
    0 1 2 3 4 5 6 7 ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+------------------------------------
   |C-SID1 |C-SID2 |C-SIDn |A|B|C|D|E|  the instructions of feature A~E
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+------------------------------------

LSB:
   +-+-+-+-+-+-+-+-+-+-+-+-+-----------------------------------+-+-+-+-+-+
   |C-SID1 |C-SID2 |C-SIDn |  the instructions of feature A~E  |A|B|C|D|E|
   +-+-+-+-+-+-+-+-+-+-+-+-+-----------------------------------+-+-+-+-+-+

   The remaining part of the generalized Arguments following the C-SIDs
   SHOULD NOT be shifted when C-SIDs part is shifted.  This means the
   position of the remaining part after the C-SIDs in the generalized
   arguments SHOULD be fixed.

Li, et al.                 Expires 24 May 2024                  [Page 5]
Internet-Draft            Generalized Arguments            November 2023

6.  Flavor for Generalized Arguments

   This section defines a new flavor to support processing the
   Generalized Arguments, named as Structured Arguments flavor.

   The pseudocode of the Structured Arguments flavor is as follows:

 Method A:
 S01. If (some NEXT-C-SIDs are encoded in the Generalized Arguments) {
 S02.     Left shift the C-SIDs by the length of one C-SID
 S03. }
 S04. Load the relative template
 S05. Parse the Generalized Arguments as per section 4.1
 S06. For each parsed feature {
 S07.     Perform actions according to the parsed instructions
          as per the specifications of that feature
 S08. }

 Method B:
 S01. If (some NEXT-C-SIDs are encoded in the Generalized Arguments) {
 S02.     Left shift the C-SIDs by the length of one C-SID
 S03. }
 S04. For each bit in the bitmap {
 S05.     If (the bit == 1) {
 S06.         Parse the instructions of the feature from the Generalized
              Arguments as per section 4.2
 S07.         Perform actions according to the parsed instructions
              as per the specifications of that feature
 S08.     }
 S09. }

7.  IANA Considerations

   TBD

8.  Security Considerations

   TBD

9.  References

9.1.  Normative References

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

Li, et al.                 Expires 24 May 2024                  [Page 6]
Internet-Draft            Generalized Arguments            November 2023

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

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

9.2.  Informative References

   [I-D.fz-spring-srv6-alt-mark]
              Fioccola, G., Zhou, T., Cociglio, M., Mishra, G. S., wang,
              X., and G. Zhang, "Application of the Alternate Marking
              Method to the Segment Routing Header", Work in Progress,
              Internet-Draft, draft-fz-spring-srv6-alt-mark-07, 22
              September 2023, <https://datatracker.ietf.org/doc/html/
              draft-fz-spring-srv6-alt-mark-07>.

   [I-D.ietf-6man-enhanced-vpn-vtn-id]
              Dong, J., Li, Z., Xie, C., Ma, C., and G. S. Mishra,
              "Carrying Virtual Transport Network (VTN) Information in
              IPv6 Extension Header", Work in Progress, Internet-Draft,
              draft-ietf-6man-enhanced-vpn-vtn-id-05, 6 July 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-6man-
              enhanced-vpn-vtn-id-05>.

   [I-D.ietf-spring-srv6-srh-compression]
              Cheng, W., Filsfils, C., Li, Z., Decraene, B., and F.
              Clad, "Compressed SRv6 Segment List Encoding", Work in
              Progress, Internet-Draft, draft-ietf-spring-srv6-srh-
              compression-09, 23 October 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-spring-
              srv6-srh-compression-09>.

   [I-D.li-apn-header]
              Li, Z., Peng, S., and S. Zhang, "Application-aware
              Networking (APN) Header", Work in Progress, Internet-
              Draft, draft-li-apn-header-04, 12 April 2023,
              <https://datatracker.ietf.org/doc/html/draft-li-apn-
              header-04>.

   [I-D.li-apn-ipv6-encap]
              Li, Z., Peng, S., and C. Xie, "Application-aware IPv6
              Networking (APN6) Encapsulation", Work in Progress,
              Internet-Draft, draft-li-apn-ipv6-encap-07, 10 July 2023,
              <https://datatracker.ietf.org/doc/html/draft-li-apn-ipv6-
              encap-07>.

Li, et al.                 Expires 24 May 2024                  [Page 7]
Internet-Draft            Generalized Arguments            November 2023

   [I-D.pthubert-detnet-ipv6-hbh]
              Thubert, P. and F. Yang, "IPv6 Options for DetNet", Work
              in Progress, Internet-Draft, draft-pthubert-detnet-ipv6-
              hbh-07, 22 February 2022,
              <https://datatracker.ietf.org/doc/html/draft-pthubert-
              detnet-ipv6-hbh-07>.

   [RFC3272]  Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X.
              Xiao, "Overview and Principles of Internet Traffic
              Engineering", RFC 3272, DOI 10.17487/RFC3272, May 2002,
              <https://www.rfc-editor.org/info/rfc3272>.

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

   [RFC8986]  Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
              D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
              (SRv6) Network Programming", RFC 8986,
              DOI 10.17487/RFC8986, February 2021,
              <https://www.rfc-editor.org/info/rfc8986>.

   [RFC9197]  Brockners, F., Ed., Bhandari, S., Ed., and T. Mizrahi,
              Ed., "Data Fields for In Situ Operations, Administration,
              and Maintenance (IOAM)", RFC 9197, DOI 10.17487/RFC9197,
              May 2022, <https://www.rfc-editor.org/info/rfc9197>.

   [RFC9343]  Fioccola, G., Zhou, T., Cociglio, M., Qin, F., and R.
              Pang, "IPv6 Application of the Alternate-Marking Method",
              RFC 9343, DOI 10.17487/RFC9343, December 2022,
              <https://www.rfc-editor.org/info/rfc9343>.

Authors' Addresses

   Zhenbin Li
   Huawei Technologies
   Beijing
   100095
   China
   Email: lizhenbin@huawei.com

   Jianwei Mao
   Huawei Technologies
   Beijing
   100095
   China

Li, et al.                 Expires 24 May 2024                  [Page 8]
Internet-Draft            Generalized Arguments            November 2023

   Email: MaoJianwei@huawei.com

   Cheng Li
   Huawei Technologies
   Beijing
   100095
   China
   Email: c.l@huawei.com

Li, et al.                 Expires 24 May 2024                  [Page 9]