Skip to main content

SRv6 NET-PGM extension: Compressed BSID Insertion
draft-chen-spring-srv6-compressed-bsid-insertion-00

Document Type Active Internet-Draft (individual)
Authors Ran Chen , Detao Zhao
Last updated 2024-10-20
RFC stream (None)
Intended RFC status (None)
Formats
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-chen-spring-srv6-compressed-bsid-insertion-00
SPRING                                                           R. Chen
Internet-Draft                                                   D. Zhao
Intended status: Standards Track                         ZTE Corporation
Expires: 21 April 2025                                   18 October 2024

           SRv6 NET-PGM extension: Compressed BSID Insertion
          draft-chen-spring-srv6-compressed-bsid-insertion-00

Abstract

   The End.B6.Insert and End.B6.Insert.Red SHOULD support the NEXT-C-SID
   flavor either individually or in combinations.  This document defines
   the SRH processing of the End.B6.Insert and End.B6.Insert.Red with
   NEXT-C-SID flavor.

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 21 April 2025.

Copyright Notice

   Copyright (c) 2024 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.

Chen & Zhao               Expires 21 April 2025                 [Page 1]
Internet-Draft          Compressed BSID Insertion           October 2024

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   2
   2.  SRv6 endpoint behaviors . . . . . . . . . . . . . . . . . . .   2
     2.1.  End.B6.Insert with NEXT-C-SID flavor  . . . . . . . . . .   3
     2.2.  End.B6.Insert red with NEXT-C-SID flavor  . . . . . . . .   5
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   6
   6.  Normative References  . . . . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   [I-D.filsfils-spring-srv6-net-pgm-insertion] extends the SRv6 Network
   Programming [RFC8986] model with new endpoint and transit behaviors
   enabling the insertion of an SRH after the outer IPv6 header of the
   SR domain, called End.B6.Insert and End.B6.Insert.Red.

   [I-D.ietf-spring-srv6-srh-compression] specifies the new flavors to
   the SR segment endpoint behaviors defined in [RFC8986] that enable a
   compressed encoding of the SRv6 segment list.  One of the flavor is
   the NEXT-C-SID flavor.  With the NEXT-C-SID flavor, each C-SID
   container is a fully formed SRv6 SID with the common Locator-Block
   for all the C-SIDs in the C-SID container, a Locator-Node and
   Function that are those of the first C-SID, and an Argument carrying
   the subsequent C-SIDs.

   The End.B6.Insert and End.B6.Insert.Red SHOULD support the NEXT-C-SID
   flavor either individually or in combinations.  This document defines
   the SRH processing of the End.B6.Insert and End.B6.Insert.Red with
   NEXT-C-SID flavor.

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

2.  SRv6 endpoint behaviors

   This section defines the SRH processing of the End.B6.Insert and
   End.B6.Insert.Red with NEXT-C-SID flavor.

Chen & Zhao               Expires 21 April 2025                 [Page 2]
Internet-Draft          Compressed BSID Insertion           October 2024

2.1.  End.B6.Insert with NEXT-C-SID flavor

   End.B6.Insert with NEXT-C-SID: Endpoint bound to an SRv6 policy.  The
   "Endpoint bound to an SRv6 Policy" is a variant of the End behavior.

   When N receives a packet whose IPv6 DA is S and S matching a FIB
   entry locally instantiated as an End.B6.Insert SID with NEXT-C-SID
   Flavor, does:

Chen & Zhao               Expires 21 April 2025                 [Page 3]
Internet-Draft          Compressed BSID Insertion           October 2024

   N01. If (DA.Argument != 0) {
   N02.   If (IPv6 Hop Limit <= 1) {
   N03.     Send an ICMP Time Exceeded message to the Source Address,
              Code 0 (Hop limit exceeded in transit),
              interrupt packet processing and discard the packet.
   N04.   }
   N05.   Copy DA.Argument into the bits [LBL..(LBL+AL-1)] of the
            Destination Address.
   N06.   Set the bits [(LBL+AL)..127] of the Destination Address to
            zero.
   N07.   Decrement IPv6 Hop Limit by 1.
   N08.1. Insert a new SRH in between the IPv6 Header and the received SRH containing the list of segments of B.
   N08.2. Set the new SRH[0] to the IPv6 DA .
   N08.3. Set the IPv6 DA to the first segment of B.
   N08.4. Submit the packet to the egress IPv6 FIB lookup for
            transmission to the next destination.
   N09. }
   S02. If (Segments Left == 0) {
   S03.   Stop processing the SRH, and proceed to process the next
            header in the packet, whose type is identified by
            the Next Header field in the routing header.
   S04. }
   S05. If (IPv6 Hop Limit <= 1) {
   S06.   Send an ICMP Time Exceeded message to the Source Address
            with Code 0 (Hop limit exceeded in transit),
            interrupt packet processing, and discard the packet.
   S07. }
   S08. max_LE = (Hdr Ext Len / 2) - 1
   S09. If ((Last Entry > max_LE) or (Segments Left > Last Entry+1)) {
   S10.   Send an ICMP Parameter Problem to the Source Address
            with Code 0 (Erroneous header field encountered)
            and Pointer set to the Segments Left field,
            interrupt packet processing, and discard the packet.
   S11. }
   S12. Decrement IPv6 Hop Limit by 1.
   S13. Decrement Segments Left by 1.
   S14. Update IPv6 DA with Segment List[Segments Left].
   S15. Insert a new SRH in between the IPv6 Header and the received SRH containing the list of segments of B.
   S16. Set the IPv6 DA to the first SID of B.
   S17. Submit the packet to the egress IPv6 FIB lookup for
          transmission to the new destination.
   S18. }

   Examples:

Chen & Zhao               Expires 21 April 2025                 [Page 4]
Internet-Draft          Compressed BSID Insertion           October 2024

   uBSID is an End.B6.Insert with NEXT-C-SID Flavor SID, and the corresponding segment-list is <fc00:2024:uSID20::,fc00:2024:uSID21>.
   case1,  uBSID is the non-last SID of the container:
           Node N receives a packet:
           IPv6:SA = 2024::1, DA=FC00:2024:uBSID:uSID2:uSID3:uSID4::uSID5:uSID6::
           SRH1:(FC00:2024:uSID7:uSID8::,FC00:2024:uBSID:uSID2:uSID3:uSID4:uSID5:uSID6::;SL=1)
           After the End.B6.Insert with NEXT-C-SID Flavor behavior, the packet looks like:
           IPv6:SA = 2024::1, DA=FC00:2024:uSID20:uSID21::
           SRH2:(FC00:2024:uSID2:uSID3:uSID4::uSID5:uSID6::,FC00:2024:uSID20:uSID21::;SL=1)
           SRH1:(FC00:2024:uSID7:uSID8::,FC00:2024:uBSID:uSID2:uSID3:uSID4:uSID5:uSID6::;SL=1)

   case2, uBSID is the last SID of the C-SID container:
          Node N receives a packet:
          IPv6:SA = 2024::1, DA=FC00:2024:uBSID::
          SRH1:(FC00:2024:uSID7:uSID8::,FC00:2024:uSID2:uSID3:uSID4:uSID5:uSID6:uBSID::;SL=1)
          After the End.B6.Insert with NEXT-C-SID Flavor behavior, the packet looks like:
          IPv6:SA = 2024::1, DA=FC00:2024:uSID20:uSID21::
          SRH2:(FC00:2024:uSID20:uSID21::;SL=0);SRH2 may be omit
          SRH1:(FC00:2024:uSID7:uSID8::,FC00:2024:uSID2:uSID3:uSID4:uSID5:uSID6:uBSID::;SL=1)

   case3, uBSID is in the last of the C-SID container of the SRH:
          Node N receives a packet:
          IPv6:SA = 2024::1, DA=FC00:2024:uBSID:uSID7:uSID8::
          SRH1:(FC00:2024:uBSID:uSID7:uSID8::,FC00:2024:uSID1:uSID2:uSID3:uSID4:uSID5:uSID6::;SL=0)
          After the End.B6.Insert with NEXT-C-SID Flavor behavior, the packet looks like:
          IPv6:SA = 2024::1, DA=FC00:2024:uSID20:uSID21::
          SRH2:(FC00:2024:uSID7:uSID8::,FC00:2024:uSID20:uSID21::;SL=1)
          SRH1:(FC00:2024:uBSID:uSID7:uSID8::,FC00:2024:uSID1:uSID2:uSID3:uSID4:uSID5:uSID6::;SL=0)

2.2.  End.B6.Insert red with NEXT-C-SID flavor

   This is an optimization of the End.B6.Insert with NEXT-C-SID flavor
   behavior.

   End.B6.Insert.Red with NEXT-C-SID flavor 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].

3.  IANA Considerations

   The document defines two new SRv6 Endpoint behaviors called
   End.B6.Insert with NEXT-C-SID flavor and End.B6.Insert.Red with NEXT-
   C-SID flavor.

Chen & Zhao               Expires 21 April 2025                 [Page 5]
Internet-Draft          Compressed BSID Insertion           October 2024

   This document requests the IANA to allocate, within the "SRv6
   Endpoint Behaviors" sub-registry belonging to the top-level "Segment-
   routing with IPv6 dataplane (SRv6) Parameters" registry, the
   following allocations:

   Value                Endpoint Behavior                     Reference
  --------------------------------------------------------------------------
   TBD1     End.B6.Insert with NEXT-C-SID flavor           This document
   TBD2     End.B6.Insert.Red with NEXT-C-SID flavor       This document

                               Figure 1

4.  Security Considerations

   The security requirements and mechanisms described in [RFC8402],
   [RFC8754] and [RFC8986] also apply to this document, and this
   document does not introduce any new security considerations.

5.  Acknowledgements

   TBD.

6.  Normative References

   [I-D.filsfils-spring-srv6-net-pgm-insertion]
              Filsfils, C., Camarillo, P., Leddy, J., Voyer, D.,
              Matsushima, S., and Z. Li, "SRv6 NET-PGM extension:
              Insertion", Work in Progress, Internet-Draft, draft-
              filsfils-spring-srv6-net-pgm-insertion-09, 16 August 2023,
              <https://datatracker.ietf.org/doc/html/draft-filsfils-
              spring-srv6-net-pgm-insertion-09>.

   [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-18, 22 July 2024,
              <https://datatracker.ietf.org/doc/html/draft-ietf-spring-
              srv6-srh-compression-18>.

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

Chen & Zhao               Expires 21 April 2025                 [Page 6]
Internet-Draft          Compressed BSID Insertion           October 2024

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

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

Authors' Addresses

   Ran Chen
   ZTE Corporation
   Nanjing
   China
   Email: chen.ran@zte.com.cn

   Detao Zhao
   ZTE Corporation
   Nanjing
   China
   Email: zhao.detao@zte.com.cn

Chen & Zhao               Expires 21 April 2025                 [Page 7]