SPRING Working Group C. Li, Ed. Internet-Draft Huawei Intended status: Standards Track W. Cheng Expires: 19 November 2023 China Mobile H. Huang, Ed. Huawei 18 May 2023 Compressed SID (C-SID) for SRv6 SFC draft-lh-spring-srv6-sfc-csid-01 Abstract In SRv6, an SRv6 SID is a 128-bit value. When too many 128-bit SRv6 SIDs are included in an SRH, the introduced overhead will affect the transmission efficiency of payload. In order to address this problem, Compressed SID(C-SID) is proposed. This document defines new behaviors for service segments with REPLACE-C-SID and NEXT-C-SID flavors to enable compressed SRv6 service programming. 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 19 November 2023. 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 Li, et al. Expires 19 November 2023 [Page 1] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2. SR Proxy Behaviors . . . . . . . . . . . . . . . . . . . . . 3 2.1. Static SR Proxy . . . . . . . . . . . . . . . . . . . . . 4 2.1.1. Static Proxy for Inner Type Ethernet . . . . . . . . 4 2.1.2. Static Proxy for Inner Type IPv4 . . . . . . . . . . 5 2.1.3. Static Proxy for Inner Type IPv6 . . . . . . . . . . 6 2.2. Dynamic SR Proxy . . . . . . . . . . . . . . . . . . . . 7 2.2.1. Dynamic Proxy for Inner Type Ethernet . . . . . . . . 7 2.2.2. Dynamic Proxy for Inner Type IPv4 . . . . . . . . . . 9 2.2.3. Dynamic Proxy for Inner Type IPv6 . . . . . . . . . . 10 2.3. Shared Memory SR Proxy . . . . . . . . . . . . . . . . . 11 2.4. Masquerading SR Proxy . . . . . . . . . . . . . . . . . . 11 2.4.1. SRv6 Masquerading Proxy Pseudocode . . . . . . . . . 12 2.4.2. Destination NAT Flavor . . . . . . . . . . . . . . . 13 2.4.3. Cache Flavor . . . . . . . . . . . . . . . . . . . . 14 3. Security Considerations . . . . . . . . . . . . . . . . . . . 14 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1. Normative References . . . . . . . . . . . . . . . . . . 14 5.2. Informative References . . . . . . . . . . . . . . . . . 15 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 1. Introduction Segment Routing [RFC8402] is a source routing paradigm to support steering packets through a programmed path at the ingress node. Currently, two data planes are defined for Segment Routing: MPLS and IPv6. When IPv6 data plane is used in Segment Routing, it is called SRv6 [RFC8754] . [RFC8754] defines a new extension header in IPv6, called Segment Routing Header (SRH), to support SRv6. To support SRv6 network programming, [RFC8986] defines a framework to build a network program with topological and service segments carried in a Segment Routing header (SRH) [RFC8754]. A Service Function Chain (SFC) [RFC7665] defines an ordered set of abstract service functions and ordering constraints that must be applied to packets and/or frames and/or flows. Li, et al. Expires 19 November 2023 [Page 2] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 A service function chain can be implemented by SRv6 by using a sequence of SRv6 SIDs including service segments defined in [I-D.ietf-spring-sr-service-programming]. However, when too many 128-bit SRv6 SIDs are included in an SRH, the overhead of the SRH will affect the transmission efficiency of the payload. [I-D.srcompdt-spring-compression-requirement] points out the problem of long SRv6 SID lists reduce payload efficiency. To mitigate such overhead, [I-D.ietf-spring-srv6-srh-compression] defines new flavors for basic SR endpoint behaviors defined in [RFC8986]. Using the new flavored behavior SID, a 128-bit SRv6 SID can be compressed to be an 32-bit or 16-bit Compressed SID (C-SID), which reduces a lot of size of the SRv6 header. To enable SRv6 SID lists compression for service function chaining (SFC), this document defines new behaviors of service segments with flavors defined in [I-D.ietf-spring-srv6-srh-compression]. 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. 1.2. Terminology This document leverages the terms defined in [RFC8402], [RFC8754], [RFC8986], [I-D.ietf-spring-srv6-srh-compression] and [I-D.ietf-spring-sr-service-programming]. The reader is assumed to be familiar with this terminology. This document does not introduce any new terms. 2. SR Proxy Behaviors [I-D.ietf-spring-sr-service-programming] defines several SRv6 endpoint behaviors for service proxy segments. A service proxy segment ID is represented as an 128-bit value just like other SIDs defined in [RFC8986]. This section defines some new behaviors of those service proxy segments by combining the existing service proxy segment behaviors with C-SID flavors, such as REPLACE-C-SID flavor and NEXT-C-SID flavor. Li, et al. Expires 19 November 2023 [Page 3] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 The main difference between behaviors are the forwarding instructions. Therefore, when C-SID compression mechanism applies to SR Proxy behaviors, the pseudo code of the new behaviors can be generated by updating the forwarding instructions of C-SID to SR proxy forwarding instructions. The following sections define the details of the pseudo code of new behaviors. 2.1. Static SR Proxy 2.1.1. Static Proxy for Inner Type Ethernet 2.1.1.1. REPLACE-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 static proxy SID with the REPLACE-C-SID flavor for Ethernet traffic, the procedure described in Section 4.2.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S18 and S29 that are both replaced as follows. S1. If (Upper-layer header type != 143 (Ethernet)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Perform IPv6 decapsulation. S5. Submit the frame to the Ethernet module for transmission via interface IFACE-OUT. The upper-layer header processing is unchanged as per Section 6.1.2.1 of [I-D.ietf-spring-sr-service-programming]. When processing an Ethernet frame received on the interface IFACE-IN and with a destination MAC address that is neither a broadcast address nor matches the address of IFACE-IN, as per Section 6.1.2.1 of [I-D.ietf-spring-sr-service-programming]. 2.1.1.2. NEXT-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 static proxy SID with the NEXT-C-SID flavor for Ethernet traffic, the procedure described in Section 4.1.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S08 of that and line S15 of Section 4.1 of [RFC8986] that are both replaced as follows. Li, et al. Expires 19 November 2023 [Page 4] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 S1. If (Upper-layer header type != 143 (Ethernet)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Perform IPv6 decapsulation. S5. Submit the frame to the Ethernet module for transmission via interface IFACE-OUT. The upper-layer header processing is unchanged as per Section 6.1.2.1 of [I-D.ietf-spring-sr-service-programming]. When processing an Ethernet frame received on the interface IFACE-IN and with a destination MAC address that is neither a broadcast address nor matches the address of IFACE-IN, as per Section 6.1.2.1 of [I-D.ietf-spring-sr-service-programming]. 2.1.2. Static Proxy for Inner Type IPv4 2.1.2.1. REPLACE-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 static proxy SID with the REPLACE-C-SID flavor for IPv4 traffic, the procedure described in Section 4.2.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S18 and S29 that are both replaced as follows. S1. If (Upper-layer header type != 4 (IPv4)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Perform IPv6 decapsulation. S5. Submit the packet to the IPv4 module for transmission on interface IFACE-OUT via NH-ADDR. The upper-layer header processing is unchanged as per Section 6.1.2.2 of [I-D.ietf-spring-sr-service-programming]. When processing an IPv4 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE- IN, as per Section 6.1.2.2 of [I-D.ietf-spring-sr-service-programming]. Li, et al. Expires 19 November 2023 [Page 5] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 2.1.2.2. NEXT-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 static proxy SID with the NEXT-C-SID flavor for IPv4 traffic, the procedure described in Section 4.1.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S08 of that and line S15 of Section 4.1 of [RFC8986] that are both replaced as follows. S1. If (Upper-layer header type != 4 (IPv4)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Perform IPv6 decapsulation. S5. Submit the packet to the IPv4 module for transmission on interface IFACE-OUT via NH-ADDR. The upper-layer header processing is unchanged as per Section 6.1.2.2 of [I-D.ietf-spring-sr-service-programming]. When processing an IPv4 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE- IN, as per Section 6.1.2.2 of [I-D.ietf-spring-sr-service-programming]. 2.1.3. Static Proxy for Inner Type IPv6 2.1.3.1. REPLACE-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 static proxy SID with the REPLACE-C-SID flavor for IPv6 traffic, the procedure described in Section 4.2.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S18 and S29 that are both replaced as follows. S1. If (Upper-layer header type != 41 (IPv6)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Perform IPv6 decapsulation. S5. Submit the packet to the IPv6 module for transmission on interface IFACE-OUT via NH-ADDR. The upper-layer header processing is unchanged as per Section 6.1.2.3 of [I-D.ietf-spring-sr-service-programming]. Li, et al. Expires 19 November 2023 [Page 6] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 When processing an IPv6 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE- IN, as per Section 6.1.2.3 of [I-D.ietf-spring-sr-service-programming]. 2.1.3.2. NEXT-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 static proxy SID with the NEXT-C-SID flavor for IPv6 traffic, the procedure described in Section 4.1.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S08 of that and line S15 of Section 4.1 of [RFC8986] that are both replaced as follows. S1. If (Upper-layer header type != 41 (IPv6)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Perform IPv6 decapsulation. S5. Submit the packet to the IPv6 module for transmission on interface IFACE-OUT via NH-ADDR. The upper-layer header processing is unchanged as per Section 6.1.2.3 of [I-D.ietf-spring-sr-service-programming]. When processing an IPv6 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE- IN, as per Section 6.1.2.3 of [I-D.ietf-spring-sr-service-programming]. 2.2. Dynamic SR Proxy 2.2.1. Dynamic Proxy for Inner Type Ethernet 2.2.1.1. REPLACE-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 dynamic proxy SID with the REPLACE-C-SID flavor for Ethernet traffic, the procedure described in Section 4.2.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S18 and S29 that are both replaced as follows. Li, et al. Expires 19 November 2023 [Page 7] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 S1. If (Upper-layer header type != 143 (Ethernet)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Copy the IPv6 encapsulation in a CACHE entry associated with the interface IFACE-IN. S5. Perform IPv6 decapsulation. S6. Submit the frame to the Ethernet module for transmission via interface IFACE-OUT. The upper-layer header processing is unchanged as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. When processing an Ethernet frame received on the interface IFACE-IN and with a destination MAC address that is neither a broadcast address nor matches the address of IFACE-IN, as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. 2.2.1.2. NEXT-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 dynamic proxy SID with the NEXT-C-SID flavor for Ethernet traffic, the procedure described in Section 4.1.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S08 of that and line S15 of Section 4.1 of [RFC8986] that are both replaced as follows. S1. If (Upper-layer header type != 143 (Ethernet)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Copy the IPv6 encapsulation in a CACHE entry associated with the interface IFACE-IN. S5. Perform IPv6 decapsulation. S6. Submit the frame to the Ethernet module for transmission via interface IFACE-OUT. The upper-layer header processing is unchanged as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. When processing an Ethernet frame received on the interface IFACE-IN and with a destination MAC address that is neither a broadcast address nor matches the address of IFACE-IN, as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. Li, et al. Expires 19 November 2023 [Page 8] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 2.2.2. Dynamic Proxy for Inner Type IPv4 2.2.2.1. REPLACE-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 dynamic proxy SID with the REPLACE-C-SID flavor for IPv4 traffic, the procedure described in Section 4.2.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S18 and S29 that are both replaced as follows. S1. If (Upper-layer header type != 4 (IPv4)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Copy the IPv6 encapsulation in a CACHE entry associated with the interface IFACE-IN. S5. Perform IPv6 decapsulation. S6. Submit the frame to the IPv4 module for transmission via interface IFACE-OUT via NH-ADDR. The upper-layer header processing is unchanged as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. When processing an IPv4 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE- IN, as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. 2.2.2.2. NEXT-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 dynamic proxy SID with the NEXT-C-SID flavor for IPv4 traffic, the procedure described in Section 4.1.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S08 of that and line S15 of Section 4.1 of [RFC8986] that are both replaced as follows. S1. If (Upper-layer header type != 4 (IPv4)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Copy the IPv6 encapsulation in a CACHE entry associated with the interface IFACE-IN. S5. Perform IPv6 decapsulation. S6. Submit the frame to the IPv4 module for transmission via interface IFACE-OUT via NH-ADDR. The upper-layer header processing is unchanged as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. Li, et al. Expires 19 November 2023 [Page 9] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 When processing an IPv4 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE- IN, as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. 2.2.3. Dynamic Proxy for Inner Type IPv6 2.2.3.1. REPLACE-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 dynamic proxy SID with the REPLACE-C-SID flavor for IPv6 traffic, the procedure described in Section 4.2.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S18 and S29 that are both replaced as follows. S1. If (Upper-layer header type != 41 (IPv6)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Copy the IPv6 encapsulation in a CACHE entry associated with the interface IFACE-IN. S5. Perform IPv6 decapsulation. S6. Submit the frame to the IPv6 module for transmission via interface IFACE-OUT via NH-ADDR. The upper-layer header processing is unchanged as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. When processing an IPv6 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE- IN, as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. 2.2.3.2. NEXT-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 dynamic proxy SID with the NEXT-C-SID flavor for IPv6 traffic, the procedure described in Section 4.1.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S08 of that and line S15 of Section 4.1 of [RFC8986] that are both replaced as follows. Li, et al. Expires 19 November 2023 [Page 10] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 S1. If (Upper-layer header type != 41 (IPv6)) { S2. Resubmit the packet to the IPv6 module for transmission to the new destination. S3. } S4. Copy the IPv6 encapsulation in a CACHE entry associated with the interface IFACE-IN. S5. Perform IPv6 decapsulation. S6. Submit the frame to the IPv6 module for transmission via interface IFACE-OUT via NH-ADDR. The upper-layer header processing is unchanged as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. When processing an IPv6 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE- IN, as per Section 6.2.2 of [I-D.ietf-spring-sr-service-programming]. 2.3. Shared Memory SR Proxy This document does not define new flavors for shared proxy behavior as it is just an SR endpoint behavior. 2.4. Masquerading SR Proxy As per [I-D.ietf-spring-sr-service-programming], when forwarding packets to SR-unaware SFs, masquerading SR proxy sets the destination address of the IPv6 header as segment list[0] which is the original final destination address. When receiving the traffic returning from the service, de-masquerading sets the destination address as segment list[Segment Left]. To be consistent with the behavior of masquerading proxy, it's required that any segment list containing one or more masquerading proxy C-SID MUST NOT apply any compression encoding to the last segment (segment list[0]). Note: The service receiving an IPv6 packet from the proxy uses the destination address (copied from last segment) as final destination and could apply certain actions based on that. In order to process and forward packets correctly, it is required that the last segment not be compressed. Li, et al. Expires 19 November 2023 [Page 11] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 To be consistent with the behavior of masquerading proxy, when processing an IPv6 packet matching a FIB entry locally instantiated as an SRv6 masquerading C-SID, it's required that the updated destination address MUST be cached in the proxy by adding a dynamic caching mechanism similar to the one described in Section 6.2 of [I-D.ietf-spring-sr-service-programming] in case that segment list[Segment Left] is a compressed SID. When processing an IPv6 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE- IN, the destination address MUST be recovered from CACHE in case that segment list[Segment Left] could be a C-SID container. 2.4.1. SRv6 Masquerading Proxy Pseudocode 2.4.1.1. REPLACE-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 masquerading proxy SID with the REPLACE-C-SID flavor, the procedure described in Figure 23 from Section 4.2.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S18 and S29 that are both replaced as follows. S1. Copy the IPv6 Destination Address in a CACHE entry associated with the interface IFACE-IN. S2. Copy Segment List[0] from the SRH to the Destination Address of the IPv6 header. S3. Submit the packet to the IPv6 module for transmission on interface IFACE-OUT via NH-ADDR. *De-masquerading*: When processing an IPv6 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE-IN, the procedure described in Figure 24 from Section 6.4.1 of [I-D.ietf-spring-sr-service-programming] is executed except for line S10 that is replaced as follows. S01. Retrieve the CACHE entry associated with IFACE-IN. S02. If the CACHE entry is not empty { S03. Destination Address of the IPv6 header is set to CACHE. S04. } Li, et al. Expires 19 November 2023 [Page 12] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 2.4.1.2. NEXT-C-SID Flavor When processing an IPv6 packet that matches a FIB entry locally instantiated as an SRv6 masquerading proxy SID with the NEXT-C-SID flavor, the procedure described in Section 4.1.1 of [I-D.ietf-spring-srv6-srh-compression] is executed except for line S08 of that and line S15 of Section 4.1 of [RFC8986] that are both replaced as follows. S1. Copy the IPv6 Destination Address in a CACHE entry associated with the interface IFACE-IN. S2. Copy Segment List[0] from the SRH to the Destination Address of the IPv6 header. S3. Submit the packet to the IPv6 module for transmission on interface IFACE-OUT via NH-ADDR. *De-masquerading*: When processing an IPv6 packet received on the interface IFACE-IN and with a destination address that does not match any address of IFACE-IN, the procedure described in Section 6.4.1 of [I-D.ietf-spring-sr-service-programming] is executed except for line S10 that is replaced as follows. S01. Retrieve the CACHE entry associated with IFACE-IN. S02. If the CACHE entry is not empty { S03. Destination Address of the IPv6 header is set to CACHE. S04. } 2.4.2. Destination NAT Flavor 2.4.2.1. REPLACE-C-SID Flavor The Destination NAT flavor of the SRv6 masquerading proxy with the REPLACE-C-SID is executed except for line S09.1 and S10 in Section 6.4.2 of [I-D.ietf-spring-sr-service-programming] replaced as follows. S1. Copy the Destination Address of the IPv6 header to the Segment List[0] entry of the SRH. S2. Retrieve the CACHE entry associated with IFACE-IN. S3. If the CACHE entry is not empty { S4. Destination Address of the IPv6 header is set to CACHE. S5. } 2.4.2.2. NEXT-C-SID Flavor The Destination NAT flavor of the SRv6 masquerading proxy with the NEXT-C-SID is executed except for line S09.1 and S10 in Section 6.4.2 of [I-D.ietf-spring-sr-service-programming] replaced as follows. Li, et al. Expires 19 November 2023 [Page 13] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 S1. Copy the Destination Address of the IPv6 header to the Segment List[0] entry of the SRH. S2. Retrieve the CACHE entry associated with IFACE-IN. S3. If the CACHE entry is not empty { S4. Destination Address of the IPv6 header is set to CACHE. S5. } 2.4.3. Cache Flavor The caching flavor of the SRv6 masquerading proxy with C-SID is enabled as per Section 6.4.3 of [I-D.ietf-spring-sr-service-programming] without any modification. 3. Security Considerations The security requirements and mechanisms described in [RFC8402] and [RFC8754] also apply to this document. This document does not introduce any new security considerations. 4. IANA Considerations TBD 5. References 5.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, . [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, . [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, . Li, et al. Expires 19 November 2023 [Page 14] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 [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, . [I-D.ietf-spring-srv6-srh-compression] Cheng, W., Filsfils, C., Li, Z., Decraene, B., and F. Clad, "Compressed SRv6 Segment List Encoding in SRH", Work in Progress, Internet-Draft, draft-ietf-spring-srv6-srh- compression-04, 31 March 2023, . [I-D.ietf-spring-sr-service-programming] Clad, F., Xu, X., Filsfils, C., Bernier, D., Li, C., Decraene, B., Ma, S., Yadlapalli, C., Henderickx, W., and S. Salsano, "Service Programming with Segment Routing", Work in Progress, Internet-Draft, draft-ietf-spring-sr- service-programming-07, 15 February 2023, . 5.2. Informative References [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function Chaining (SFC) Architecture", RFC 7665, DOI 10.17487/RFC7665, October 2015, . [I-D.srcompdt-spring-compression-requirement] Cheng, W., Xie, C., Bonica, R., Dukes, D., Li, C., Peng, S., and W. Henderickx, "Compressed SRv6 SID List Requirements", Work in Progress, Internet-Draft, draft- srcompdt-spring-compression-requirement-07, 11 July 2021, . Acknowledgements TBD. Authors' Addresses Cheng Li (editor) Huawei China Email: c.l@huawei.com Li, et al. Expires 19 November 2023 [Page 15] Internet-Draft Compressed SID (C-SID) for SRv6 SFC May 2023 Weiqiang Cheng China Mobile China Email: chengweiqiang@chinamobile.com Hongyi Huang (editor) Huawei China Email: hongyi.huang@huawei.com Li, et al. Expires 19 November 2023 [Page 16]