IDR Working Group Z. Ali Internet-Draft R. Venkateswaran Intended status: Standards Track Cisco Expires: 24 April 2025 21 October 2024 BGP SRv6 Policy SID List Optimization draft-ali-idr-srv6-policy-sid-list-optimization-00 Abstract In some use cases, an SRv6 policy's SID list ends with the policy endpoint's node SID, and the traffic steered (over policy) already ensures that it is taken to the policy endpoint. In such cases, the SID list can be optimized by excluding the endpoint Node SID when installing the policy. This draft specifies a BGP extension to indicate whether the endpoint's node SID needs to be included or excluded when installing the SRv6 Policy. 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. 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 April 2025. Copyright Notice Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. Ali & Venkateswaran Expires 24 April 2025 [Page 1] Internet-Draft BGP extensions for SRv6 Policy SID October 2024 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Overview of BGP Extensions . . . . . . . . . . . . . . . . . 3 5. Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . 4 6. Backward compatibility . . . . . . . . . . . . . . . . . . . 4 7. Security Considerations . . . . . . . . . . . . . . . . . . . 4 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 9.1. Normative References . . . . . . . . . . . . . . . . . . 4 9.2. Informative References . . . . . . . . . . . . . . . . . 5 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 5 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 1. Introduction Segment Routing (SR) [RFC8402] allows a node to steer a packet flow along any path. A Segment Routing Policy (SR Policy) [RFC8402] is an ordered list of segments that represent a source-routed policy. The headend node is said to steer a flow into an SR Policy. The packets steered into an SR Policy have an ordered list of segments associated with that SR Policy written into them. Segment Routing Policy Architecture [RFC9256] updates [RFC8402] as it details the concepts of SR Policy and steering into an SR Policy. [RFC8986] describes the representation and processing of this ordered list of segments for Segment Routing over IPv6 (SRv6). [I-D. draft-ietf-idr-sr-policy- safi] document specifies how BGP may distribute SR Policy candidate paths. [I.D.draft-ietf-idr-bgp-ls-sr-policy] defines a mechanism to collect the Segment Routing Policy information that is locally available in a node and advertise it into BGP Link-State (BGP-LS) updates. The SRv6 policy SID list may end with the policy endpoint's Node SID or the penultimate hop adjacency SID. If the computed SID list ends with the policy endpoint's node SID and the overlay SID in the steered traffic (over policy) already ensures that the traffic is taken to the policy endpoint with the same intent, the SRv6 policy Ali & Venkateswaran Expires 24 April 2025 [Page 2] Internet-Draft BGP extensions for SRv6 Policy SID October 2024 endpoint device needs to process back-to-back local node SIDs. Examples of overlay SID containing the local node SID are a service SID, a binding SID for transit policies, an EPE SID, etc. From a compression efficiency viewpoint, carrying back-to-back end-point node SID is inefficient. The SID list in the packet can be optimized by excluding the end-point node SID when installing the policy. End- point node SID exclusion improves the compression efficiency and makes packet processing more efficient for the policy endpoint. Excluding the policy endpoint's node SID is possible in most use cases, but not all. For example, if the SRv6 policy is used to carry MPLS traffic, as described in [I-D.draft-agrawal-spring-srv6-mpls- interworking], it is not possible to exclude the policy endpoint's node SID. Specifically, the endpoint's node SID inclusion or exclusion is a policy attribute. This draft specifies BGP extensions to include or exclude the node SID when installing the SRv6 Policy. 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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Terminology Headend node: Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node [RFC9256]. SR: Segment Routing. SID: Segment Identifier. SRv6: Segment Routing over IPv6 data plane. 4. Overview of BGP Extensions N-flag (endpoint node SID iNclusion flag) is proposed in the SRv6 Binding SID Sub-TLV specified in [I.D-draft-ietf-idr-sr-policy-safi]. The SRv6 Binding SID Sub-TLV is one of the BGP Tunnel Encapsulation Attribute Sub-TLVs [RFC9012]. The bit position for the flag is to be defined by IANA. N-flag (endpoint node SID iNclusion flag) in the SR Candidate Path State TLV specified in [I-D- draft-ietf-idr-bgp-ls-sr-policy] is proposed to indicate whether the endpoint node SID is included or excluded in installing SID list(s) of the Candidate Path (CP). Ali & Venkateswaran Expires 24 April 2025 [Page 3] Internet-Draft BGP extensions for SRv6 Policy SID October 2024 5. Procedure When an SRv6 Policy candidate path is instantiated with an N-flag set to 1 in the SRv6 Binding SID Sub-TLV, the Headend node MUST include the endpoint node SID when installing the Policy sid list(s) used to carry data traffic. When an SRv6 Policy candidate path is instantiated with an N-flag set to 0 in the SRv6 Binding SID Sub-TLV, the Headend node MUST NOT include the endpoint node SID when installing the Policy sid list(s) used to carry data traffic. The setting of other fields and attributes in the BGP SR Policy SHOULD follow the mechanism as defined in [I-D. draft-ietf-idr-sr- policy-safi]. On reception of an SR Policy NLRI, a BGP speaker determines if it is acceptable and usable according to the rules described in [I-D. draft-ietf-idr-sr-policy-safi]. Local policy at Headend node MAY override the N-flag. 6. Backward compatibility If SRv6 policy Headend node is not capable of supporting the I-flag, the endpoint Node SID inclusion/exclusion is a local decision at the Headend node. 7. Security Considerations TBA 8. IANA Considerations TBA 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, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . Ali & Venkateswaran Expires 24 April 2025 [Page 4] Internet-Draft BGP extensions for SRv6 Policy SID 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, . [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, . [RFC9012] Patel, K., Van de Velde, G., Sangli, S., and J. Scudder, "The BGP Tunnel Encapsulation Attribute", RFC 9012, DOI 10.17487/RFC9012, April 2021, . [RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", RFC 9256, DOI 10.17487/RFC9256, July 2022, . 9.2. Informative References Appendix A. Acknowledgements The authors would like to thank Ketan Talaulikar for the review comments. Authors' Addresses Zafar Ali Cisco Email: zali@cisco.com Rajesh M Venkateswaran Cisco Email: melarco@cisco.com Ali & Venkateswaran Expires 24 April 2025 [Page 5]