SPRING Working Group Z. Li Internet-Draft C. Li Intended status: Standards Track Huawei Technologies Expires: October 22, 2021 April 20, 2021 SRv6 End.M behavior for traversing MPLS Networks draft-li-spring-srv6-end-mpls-00 Abstract As the development of cloud computing, increasing services have been migrated from enterprise sites to clouds, so the connection between sites and clouds are critical for enterprises. SRv6 provides a sourcing routing mechanism to connect the enterprise sites and clouds by programming the end-to-end path at the ingress node. In this scenario, the SRv6 packets may traverse multiple network domains and some of them may not be SRv6-capable. In order to support SRv6 end-to-end path programming, this document defines the mechanism of SRv6 traversing MPLS networks, which supports encoding MPLS tunnel information in the SRH. 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 October 22, 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 Li & Li Expires October 22, 2021 [Page 1] Internet-Draft SRv6 End.M April 2021 (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. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 3. MPLS Path Programming in SRv6 . . . . . . . . . . . . . . . . 3 3.1. END.M . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2. MPLS Tunnel Information in SRH TLV . . . . . . . . . . . 6 4. Illustration . . . . . . . . . . . . . . . . . . . . . . . . 6 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 8.2. Informative References . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction When Segment routing (SR) [RFC8402] is deployed on the IPv6 data plane, it is called SRv6 [RFC8754]. For support of SRv6, a new routing header called Segment Routing Header (SRH), which contains a list of SIDs and other information, has been defined in [RFC8754]. When deploying SRv6, the SRv6 network may need to interwork with exiting networks, such as MPLS netwoks and IPv4 networks. With the development of cloud computing, increasing services have been migrated from enterprises to cloud data centers. Compared with interconnections between branches and headquarters, new connections between enterprise sites to cloud data centers and inter-cloud are added, which bring new requirements and challenges for existing networks. [I-D.li-rtgwg-ipv6-based-con] describes the requirements and candidate technologies in IPv6-based Cloud-oriented Networking (CON). In IPv6-based CON, SRv6 can be used to connect enterprise sites and clouds. In this scenario, an SRv6 packet may be forwarded traversing MPLS domains or IPv4 domains. In order to specify the MPLS tunnel, End.BM [RFC8986] has been defined for binding an SR-MPLS policy to an SRv6 SID currently. The Li & Li Expires October 22, 2021 [Page 2] Internet-Draft SRv6 End.M April 2021 MPLS tunnel information is maintained at the ingress node of the MPLS tunnel, which will introduce states to the node, and it also require extra configuration at the node allocating End.BM SIDs. This document defines a new mechanism to carry MPLS tunnel information in the SRv6 packet, so that no configuration of SR-MPLS policy is required at the intermediate node, and end-to-end path programming traversing MPLS domains can be supported. 2. Terminology This document makes use of the terms defined in [RFC8986], and the reader is assumed to be familiar with that terminology. 2.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. 3. MPLS Path Programming in SRv6 This document defines the following mechanisms for SRv6 traversing MPLS networks. 3.1. END.M In order to indicate the start of SR-MPLS tunnel information, a new SRv6 behavior End.M (End with SR-MPLS path instantiation) is defined. An End.M SID MUST be encoded preceding the MPLS tunnel information, therefore it can not be the last SID in the SID list. The path of traversing SR-MPLS domain is called SR-MPLS sub-path. An SR-MPLS sub-path can be encoded by an End.M and the following MPLS label stack as shown in the following figure. Li & Li Expires October 22, 2021 [Page 3] Internet-Draft SRv6 End.M April 2021 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . ... . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | ... | | MPLS Tunnel Information | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | End.M SRv6 SID | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1. SR-MPLS Sub-path Encoding in G-SRH The MPLS tunnel information include multiple MPLS labels, and they are aligned with 128 bits. Therefore padding is needed if there are less than 4 MPLS labels in a 128-bit space. Li & Li Expires October 22, 2021 [Page 4] Internet-Draft SRv6 End.M April 2021 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label 0 | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label 1 | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label 2 | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label 3 | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ (a) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label 0 | TC |1| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label 1 | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ (b) Figure 2. MPLS tunnel information Encoding The S-bit of the last MPLS label in the SID list MUST be set indicating the end of the MPLS label stack. When a node processes an End.M SID, it copies the following MPLS label stack of SR-MPLS sub-path to the MPLS header, and set the IPv6 DA as the SRv6 SID after the MPLS label stack, and then forward the packet according to the active MPLS label. When node N receives a packet whose IPv6 DA is S and S is a local End.B4 SID, the line S13-S16 from the End processing [RFC8986] is replaced by the following: Li & Li Expires October 22, 2021 [Page 5] Internet-Draft SRv6 End.M April 2021 S13. Set SL pointing to the next SID after MPLS label stack. S14. Update IPv6 DA with Segment List[Segments Left] S15. Push a MPLS label stack before the IPv6 header by using the MPLS label stack. S16. Lookup the active MPLS label and forward the packet S17. } 3.2. MPLS Tunnel Information in SRH TLV Using SRH TLV is another option of carrying MPLS tunnel information. In order to retrive the MPLS tunnel information from SRH TLV, a new behavior End.MT (End with SR-MPLS path instantiation by using SRH TLV) should be defined, and this will be described in the future. A mechanism of specifying which SRH TLV to be processed by which SID in the SID list is defined in [I-D.li-spring-srh-tlv-processing-programming], and it can be used for indicating the node to process MPLS tunnel information in SRH TLV. [Editor's note] Also, there may be some other solutions to indicate and carry MPLS tunnel information in the SRv6 packet, for example using the argument of a SID to indicate the MPLS label stack or number of MPLS labels. More details will be described in the future. 4. Illustration For easy understanding, this section illustrates how to use End.M SID to specify the MPLS tunnel. Assuming that o A::1:100 is the End.M SID allocated by the ingress node of an SR- MPLS domain. o 1001, 1002, 1003, and 1004 are the labels for an SR-MPLS sub-path. Therefore, the programmed SRv6 path for traversing SR-MPLS/MPLS domain is shown in Figure 2. Li & Li Expires October 22, 2021 [Page 6] Internet-Draft SRv6 End.M April 2021 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 1004 | TC |1| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 1003 | TC |0| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 1002 | TC |0| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 1001 | TC |0| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | A::1:100 (End.M) | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3. Carrying MPLS tunnel information in SID list 5. IANA Considerations TBD 6. Security Considerations TBD 7. Acknowledgements 8. References 8.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, . Li & Li Expires October 22, 2021 [Page 7] Internet-Draft SRv6 End.M April 2021 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [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, . [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, . [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, . 8.2. Informative References [I-D.li-spring-srh-tlv-processing-programming] Li, C., Xia, Y., Dhody, D., and Z. Li, "SRH TLV Processing Programming", draft-li-spring-srh-tlv-processing- programming-00 (work in progress), December 2020. [I-D.li-rtgwg-ipv6-based-con] (editor), C. L., Li, Z., and H. Yang, "IPv6-based Cloud- Oriented Networking (CON)", draft-li-rtgwg-ipv6-based- con-01 (work in progress), March 2021. Authors' Addresses Zhenbin Li Huawei Technologies Huawei Campus, No. 156 Beiqing Rd. Beijing 100095 China Email: lizhenbin@huawei.com Li & Li Expires October 22, 2021 [Page 8] Internet-Draft SRv6 End.M April 2021 Cheng Li Huawei Technologies Huawei Campus, No. 156 Beiqing Rd. Beijing 100095 China Email: c.l@huawei.com Li & Li Expires October 22, 2021 [Page 9]