IDR WG Yao. Liu Internet-Draft Shaofu. Peng Intended status: Standards Track ZTE Corporation Expires: April 19, 2021 October 16, 2020 BGP-LS Extensions for Shorter SRv6 SID draft-liu-idr-bgp-ls-shorter-srv6-extensions-01 Abstract This document describes the BGP-LS extensions required to support the Shorter SRv6 SIDs(Compressing SRv6 SIDs). 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 April 19, 2021. Copyright Notice Copyright (c) 2020 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. Liu & Peng Expires April 19, 2021 [Page 1] Internet-Draft BGP-LS for Shorter SRv6 SID October 2020 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Advertising Shorter SRv6 SIDs capabilities . . . . . . . . . 2 3. Advertising SRv6 SID Structure TLV . . . . . . . . . . . . . 4 4. Advertising SRv6 SID Endpoint Behaviors with UET-Flavor . . . 4 5. Operations . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 8. Normative References . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction Segment Routing [RFC8402] leverages the source routing paradigm. An ingress node steers a packet through an ordered list of instructions, called segments. Segment Routing can be directly instantiated on the IPv6 data plane through the use of the Segment Routing Header defined in [RFC8754]. SRv6 refers to this SR instantiation on the IPv6 dataplane. However, the size of the SRv6 SID presents a scalability challenge to use topological instructions that define a strict explicitly routed path in combination with service-based instructions. At the same time, the size of the SRH/SID may be a challenge for some data plane processors and traffic overhead. [I-D.cheng-spring-shorter-srv6-sid-requirement] describes a list of requirements for the use of a shortened identifier in a segment routing network with the IPv6 data plane. [I-D.mirsky-6man-unified-id-sr] proposed an extension of SRH that enables the use of a shorter segment identifier in dataplane, such as 32-bits Label format SID or 32-bits IP address format SID. This document defines extensions to BGP-LS in order to to support the advertisement of Shorter SRv6 SIDs contained in SID list that installed in dataplane. 2. Advertising Shorter SRv6 SIDs capabilities A node indicates that it supports the SR Segment Endpoint Node functionality as specified in [RFC8754] by advertising a SRv6 Capabilities TLV [I-D.ietf-idr-bgpls-srv6-ext] of the node NLRI. This document extends the flags field in the SRv6 Capabilities TLV [I-D.ietf-idr-bgpls-srv6-ext] to indicate that the node supports the Shorter SRv6 SIDs, where, Liu & Peng Expires April 19, 2021 [Page 2] Internet-Draft BGP-LS for Shorter SRv6 SID October 2020 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | UEC | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: UEC-Flag in SRv6 Capabilities TLV UEC: Unified-SID Encapsulation Capability, 3-bits field, refers to [I-D.mirsky-6man-unified-id-sr], it indicates the U-SID capabilities which the node support. A node advertised a specific UEC also means the node belongs to the related UET domain, so it will have capability to install a local SID entry with behavor to get next UET related U-SID from SRH. The value of UEC could be: 0b000: The node only support to use classical 128-bits SRv6 SID. It only belongs to UET-128 domain, and has capability only to get next classical 128-bits SID from SRH. 0b001: The node support to use both classical 128-bits SRv6 SID and 32-bits IPv4 U-SID. It can belongs to both UET-128 domain and UET-32 IPv4 domain, and has capability both to get next classical 128-bits SID and 32-bits IPv4 U-SID from SRH. 0b010: The node support to use both classical 128-bits SRv6 SID and 32-bits MPLS U-SID. It can belongs to both UET-128 domain and UET-32 MPLS domain, and has capability both to get next classical 128-bits SID and 32-bits MPLS U-SID from SRH. 0b011: The node support to use both classical 128-bits SRv6 SID, 32-bits IPv4 U-SID, and 32-bits MPLS U-SID. It can belongs to both UET-128 domain, UET-32 IPv4 domain, and UET-32 MPLS domain, and has capability both to get next classical 128-bits SID, 32-bits IPv4 U-SID, and 32-bits MPLS U-SID from SRH. 0b100: The node support to use both classical 128-bits SRv6 SID and 16-bits U-SID. It can belongs to both UET-128 domain and UET-16 domain, and has capability both to get next classical 128-bits SID and 32-bits U-SID from SRH. 0b101: The node support to use both classical 128-bits SRv6 SID, 32-bits IPv4 U-SID, and 16-bits U-SID. It can belongs to both UET-128 domain, UET-32 IPv4 domain, and UET-16 domain, and has capability both to get next classical 128-bits SID, 32-bits IPv4 U-SID, and 16-bits U-SID from SRH. Liu & Peng Expires April 19, 2021 [Page 3] Internet-Draft BGP-LS for Shorter SRv6 SID October 2020 others: For later defined. For typical 32-bits based compression scenario, 0b001 UEC is enough. Note that UEC has two meanings. First, it indicates which UET domain does the advertised node belongs to, this will help to outline which UET domains the SR path crosses. The second meanning, it indicates the advertised node has capability to install a local SID entry with UET related behavor, to get next UET related U-SID from SRH, this will help to select appropriate SID with specific UET related behavor for an segment list during compression. 3. Advertising SRv6 SID Structure TLV SRv6 SID Structure TLV is an optional TLV use in the BGP-LS Attribute for an SRv6 SID NLRI defined in [I-D.ietf-idr-bgpls-srv6-ext]. As discussed in [I-D.ietf-spring-srv6-network-programming], the node with the SRv6 capability will maintain its local SID table. A Local SID is generally composed of two parts, that is, LOC:FUNCT, or may carry arguments at the same time, that is, LOC:FUNCT:ARGS. The controller plane protocol can also use B:N to represent an LOC, where B is SRv6 SID Locator Block and N to represent node N. In other words, the structure of a complete SID is B:N:FUNCT:ARGS. SRv6 SID Structure TLV is used to advertise the length of each individual part of the SRv6 SID as defined in [I-D.ietf-spring-srv6-network-programming]. If a node advertised an UEC-FLAG with 0b001/0b011/0b100/0b101, it SHOULD advertise the related SIDs with structure information, i.e., contained SRv6 SID Structure TLV in the BGP-LS Attribute for an SRv6 SID NLRI, otherwise the result optimized SID list will have to contain related classical 128-bits SRv6 SID. 4. Advertising SRv6 SID Endpoint Behaviors with UET-Flavor Endpoint behaviors are defined in [I-D.ietf-spring-srv6-network-programming]. The codepoints for the Endpoint behaviors are defined in the "SRv6 Endpoint Behaviors" registry defined in [I-D.ietf-spring-srv6-network-programming]. For End, End.X and End.T behaviors, they can also have PSP, USP and USD variants. This document continues to extend the following new flavors for End and End.X behaviors: UET-32-IPv4 Flavor: indicate the next SID is 32-bits IP address, termed as UET-1 flavor. Liu & Peng Expires April 19, 2021 [Page 4] Internet-Draft BGP-LS for Shorter SRv6 SID October 2020 UET-32-MPLS Flavor: indicate the next SID is 32-bits MPLS Label, termed as UET-2 flavor. UET-16-IP Flavor: indicate the next SID is 16-bits IP address, termed as UET-3 flavor. Other flavors are for later defined. We can take regard the traditional behaviors that has not any indication of next SID type as behaviors with UET-128-IPv6 flavor, termed as UET-0 flavor. How to extend the above UET related flavors for other endpoint behaviors, such as VPN related SID and SFC related SID, is out the scope of this document. Note that a SID MUST NOT set two or more of the above flavors at the same time, because these flavors is used to indicate the next SID type in SRH, that is, the local SID entry must provide exact indication for this purpose. Each of the above UET related flavors can be used combined with existing PSP/USP/USD flavors. If a node supports an UEC, it SHOULD also allocate related SIDs for this UEC, otherwise the result optimized SID list will have to contain related classical 128-bits SRv6 SID. For example, a node X advertised UCE 0b001, it can allocate a classical END SID X1 with endpoint behavior "End (no PSP, no USP)", it can also allocate an END SID X2 with endpoint behavior "End (no PSP, no USP, UET-32-IPv4)". Endpoint Behavior information of SRv6 SID could be advertised within SRv6 End.X SID TLV, SRv6 LAN End.X SID TLV, and SRv6 Endpoint Behavior TLV that defined in [I-D.ietf-idr-bgpls-srv6-ext]. 5. Operations Based on the BGP-LS database which contains UEC capabilities and SID(s) per UET related flavors, a headend or controller can firstly check which UET domains a computed SR path crossed, then selects UET related SID to construct an optimized E2E SID list. The detailed description can refer to [I-D.mirsky-6man-unified-id-sr] and [I-D.liu-idr-segment-routing-te-policy-complement]. Liu & Peng Expires April 19, 2021 [Page 5] Internet-Draft BGP-LS for Shorter SRv6 SID October 2020 6. Security Considerations Procedures and protocol extensions defined in this document do not affect the security considerations discussed in [I-D.ietf-idr-bgpls-srv6-ext]. 7. IANA Considerations TBD 8. Normative References [I-D.cheng-spring-shorter-srv6-sid-requirement] Cheng, W., Xie, C., Pang, R., Li, Z., Chen, R., Zu, L., Duan, X., Mirsky, G., Dukes, D., and S. Zadok, "Shorter SRv6 SID Requirements", draft-cheng-spring-shorter-srv6- sid-requirement-02 (work in progress), July 2020. [I-D.ietf-6man-spring-srv6-oam] Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. Chen, "Operations, Administration, and Maintenance (OAM) in Segment Routing Networks with IPv6 Data plane (SRv6)", draft-ietf-6man-spring-srv6-oam-07 (work in progress), July 2020. [I-D.ietf-idr-bgpls-srv6-ext] Dawra, G., Filsfils, C., Talaulikar, K., Chen, M., daniel.bernier@bell.ca, d., and B. Decraene, "BGP Link State Extensions for SRv6", draft-ietf-idr-bgpls- srv6-ext-03 (work in progress), July 2020. [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-24 (work in progress), October 2020. [I-D.liu-idr-segment-routing-te-policy-complement] Yao, L. and S. Peng, "BGP Extensions for Unified SID in TE Policy", draft-liu-idr-segment-routing-te-policy- complement-03 (work in progress), May 2020. [I-D.mirsky-6man-unified-id-sr] Cheng, W., Mirsky, G., Peng, S., Aihua, L., and G. Mishra, "Unified Identifier in IPv6 Segment Routing Networks", draft-mirsky-6man-unified-id-sr-07 (work in progress), July 2020. Liu & Peng Expires April 19, 2021 [Page 6] Internet-Draft BGP-LS for Shorter SRv6 SID October 2020 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and S. Shaffer, "Extensions to OSPF for Advertising Optional Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, February 2016, . [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions for Advertising Router Information", RFC 7981, DOI 10.17487/RFC7981, October 2016, . [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, . Authors' Addresses Liu Yao ZTE Corporation Nanjing China Email: liu.yao71@zte.com.cn Peng Shaofu ZTE Corporation Nanjing China Email: peng.shaofu@zte.com.cn Liu & Peng Expires April 19, 2021 [Page 7]