IDR                                                            W. Jiang
Internet Draft                                             China Mobile
Intended status: Standards Track                                 C. Lin
Expires: June 26, 2025                             New H3C Technologies
                                                                R. Chen
                                                        ZTE Corporation
                                                      December 26, 2024


          BGP Extensions of SR Policy for Composite Candidate Path
                draft-jiang-idr-sr-policy-composite-path-01


Abstract

   Segment Routing is a source routing paradigm that explicitly
   indicates the forwarding path for packets at the ingress node.  An
   SR Policy is associated with one or more candidate paths.  A
   candidate path is either dynamic, explicit or composite.  This
   document defines extensions to BGP to distribute SR policies
   carrying composite candidate path information.  So that composite
   candidate paths can be installed when the SR policy is applied.

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 June 23, 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



Jiang, et al.           Expires June 26, 2025                 [Page 1]

Internet-Draft   BGP SR Policy Composite Candidate Path   December 2024

   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
      1.1. Requirements Language.....................................3
   2. Constituent SR Policy Attributes in SR Policy..................3
      2.1. Constituent SR Policy Sub-TLV.............................4
      2.2. Per-Flow Forwarding Class.................................5
   3. Operations.....................................................6
   4. Security Considerations........................................7
   5. IANA Considerations............................................7
   6. References.....................................................7
      6.1. Normative References......................................7
      6.2. Informative References....................................8
   Authors' Addresses................................................9



1. Introduction

   Segment routing (SR) [RFC8402] is a source routing paradigm that
   explicitly indicates the forwarding path for packets at the ingress
   node.  The ingress node steers packets into a specific path
   according to the Segment Routing Policy (SR Policy) as defined in
   [RFC9256].In order to distribute SR policies to the headend,[I-
   D.ietf-idr-sr-policy-safi] specifies a mechanism by using BGP.

   An SR Policy is associated with one or more candidate paths.  A
   composite candidate path acts as a container for grouping of SR
   Policies.  As described in section 2.2 in [RFC9256], the composite
   candidate path construct enables combination of SR Policies, each
   with explicit candidate paths and/or dynamic candidate paths with
   potentially different optimization objectives and constraints, for a
   load-balanced steering of packet flows over its constituent SR
   Policies.

   [I-D.draft-jiang-spring-parent-sr-policy-use-cases] describes some
   use cases for SR policy group composite candidate path.

   This document defines extensions to Border Gateway Protocol (BGP) to
   distribute SR policies carrying composite candidate path


Jiang, et al.           Expires June 26, 2025                 [Page 2]

Internet-Draft   BGP SR Policy Composite Candidate Path   December 2024

   information.So that composite candidate paths can be installed when
   the SR policy is applied.

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. Constituent SR Policy Attributes in SR Policy

   As defined in [I-D.ietf-idr-sr-policy-safi], the SR policy encoding
   structure is as follows:

      SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
          Attributes:
              Tunnel Encaps Attribute (23)
                  Tunnel Type: SR Policy
                      Binding SID
                      SRv6 Binding SID
                      Preference
                      Priority
                      Policy Name
                      Policy Candidate Path Name
                      Explicit NULL Label Policy (ENLP)
                      Segment List
                          Weight
                          Segment
                          Segment
                          ...
                      ...
   As described in section 2.2 in [RFC9256], the endpoints of the
   constituent SR Policies and the parent SR Policy MUST be identical,
   and the colors of each of the constituent SR Policies and the parent
   SR Policy MUST be different.  Therefore a constituent SR Policy is
   referenced only by color in the composite candidate path since its
   headend and endpoint are identical to the parent SR policy.

   SR policy with composite candidate path information is expressed as
   below:








Jiang, et al.           Expires June 26, 2025                 [Page 3]

Internet-Draft   BGP SR Policy Composite Candidate Path   December 2024

      SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
          Attributes:
              Tunnel Encaps Attribute (23)
                  Tunnel Type: SR Policy
                      Binding SID
                      SRv6 Binding SID
                      Preference
                      Priority
                      Policy Name
                      Policy Candidate Path Name
                      Explicit NULL Label Policy (ENLP)
                      Segment List
                          Weight
                          Segment
                          Segment
                          ...
                      Constituent SR Policy
                          Color
                          Weight
                          Fowarding Class
                      ...


   As described in section 8.6 in [RFC9256], different flows bound to
   the same BGP endpoint are steered on different SR Policy paths, By
   using Constituent SR Policy to define the Flow Forwarding Class for
   the flow, it is possible to map different flows to different color
   SR Policy paths.

2.1. Constituent SR Policy Sub-TLV

   The Constituent SR Policy sub-TLV encodes a single composite path
   towards the endpoint.  The Constituent SR Policy sub-TLV is an
   optional sub-TLV of BGP Tunnel Encapsulation Attribute, and MAY
   appear multiple times in the SR Policy encoding.  The ordering of
   Constituent SR Policy sub-TLVs does not matter.  The Constituent SR
   Policy sub-TLV MAY contain a Weight sub-TLV.

   Since a candidate path is either dynamic, explicit or composite, the
   Constituent SR Policy sub-TLV and the Segment List sub-TLV SHOULD
   NOT appear in the same candidate path.

   The Constituent SR Policy sub-TLV has the following format:







Jiang, et al.           Expires June 26, 2025                 [Page 4]

Internet-Draft   BGP SR Policy Composite Candidate Path   December 2024

     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              |     RESERVED    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             Color                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                            sub-TLVs                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                   Figure 1:  Constituent SR Policy sub-TLV format



      where:

      *  Type: to be assigned by IANA.

       *  Length: the total length of the value field not including Type
          and Length fields.

      *  RESERVED: 2 octet of reserved bits.  SHOULD be set to zero on
         transmission and MUST be ignored on receipt.

      *  Color: 4-octet value identifying the constituent SR policy.

      *  sub-TLVs currently defined:

      -  An optional single Weight sub-TLV which is defined in section
         2.4.4.1 in [I-D.ietf-idr-sr-policy-safi].  According to
         [RFC9256], the fraction of flows steered into each constituent
         SR Policy is equal to the relative weight of each constituent
         SR Policy.
      -  An optional single Per-Flow Forwarding Class sub-TLV which is
         defined in section 2.2 on this document.


2.2. Per-Flow Forwarding Class

   Per-Flow Forwarding Path builds on top of the concept of the
   Composite Candidate Path.  Each Path in a Per-Flow Forwarding Path
   is assigned a 32-bit Forward Class(FC) value, which allows QoS
   classified traffic to be steered depending on the FC.

   The Per-flow FC sub-TLV is OPTIONAL and it MUST NOT appear more than
   once inside the Constituent SR Policy sub-TLV or Segment List sub-
   TLV.


Jiang, et al.           Expires June 26, 2025                 [Page 5]

Internet-Draft   BGP SR Policy Composite Candidate Path   December 2024



    The Per-flow FC sub-TLV has the following format:

    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     |   RESERVED    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              FC                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 2 Per-Flow FC Sub-TLV


      where:

      *  Type: to be assigned by IANA.

      *  Length: Specifies the length of the value field (i.e., not
         including Type and Length fields) in terms of octets.  The
         value MUST be 6.

      *  Flags: 1 octet of flags.  No flags are defined in this
         document. The Flags field MUST be set to zero on transmission
         and MUST be ignored on receipt.

      *  RESERVED: 1 octet of reserved bits.  This field MUST be set to
         zero on transmission and MUST be ignored on receipt.

       *  FC: Forward class value that is given by the QoS classifier to
         traffic entering the given Candidate Path.  Different classes
         of traffic that enter the given Candidate Path can be
         differentially steered into different Colors.


3. Operations

   The document does not bring new operation beyond the description of
   operations defined in [I-D.ietf-idr-sr-policy-safi].  The existing
   operations defined in [I-D.ietf-idr-sr-policy-safi] can apply to
   this document directly.

   Typically but not limit to, the SR policies carrying composite
   candidate path information are configured by a controller.




Jiang, et al.           Expires June 26, 2025                 [Page 6]

Internet-Draft   BGP SR Policy Composite Candidate Path   December 2024

   After configuration, the SR policies carrying path composite
   candidate path information will be advertised by BGP update
   messages.

   The operation of advertisement is the same as defined in [I-D.ietf-
   idr-sr-policy-safi], as well as the receiption.

4. Security Considerations

   The security requirements and mechanisms described in [I-D.ietf-idr-
   sr-policy-safi] also apply to this document.

   This document does not introduce any new security consideration.

5. IANA Considerations

   This document defines two new Sub-TLVs in the registry "SR Policy
   Segment List Sub-TLVs" [I-D.ietf-idr-sr-policy-safi]:

   +=======+===============================+===============+
   | Value | Description                   | Reference     |
   +=======+===============================+===============+
   | TBA   | Constituent SR Policy Sub-TLV | This document |
   +-------+-------------------------------+---------------+
   | TBA   | FC Sub-TLV                    | This document |
   +-------+-------------------------------+---------------+


6. References

6.1. Normative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
             2119 Key Words", BCP 14, RFC 8174, 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, <https://www.rfc-editor.org/info/rfc8402>.

   [I-D.ietf-idr-sr-policy-safi] Previdi, S., Filsfils, C., Talaulikar,
             K., Mattes, P., and D. Jain, "Advertising Segment Routing
             Policies in BGP", Work in Progress, Internet-Draft, draft-
             ietf-idr-sr-policy-safi-04, 30 April 2024,
             <https://datatracker.ietf.org/doc/html/draft-ietf-idr-sr-
             policy-safi-04>.

Jiang, et al.           Expires June 26, 2025                 [Page 7]

Internet-Draft   BGP SR Policy Composite Candidate Path   December 2024

6.2. Informative References

   [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,
             <https://www.rfc-editor.org/info/rfc9256>.

   [I-D.draft-jiang-spring-parent-sr-policy-use-cases] Jiang, W.,
             Cheng, W., Lin, C., and Y. Qiu, "Use Cases for Parent SR
             Policy", Work in Progress, Internet-Draft, draft-jiang-
             spring-parent-sr-policy-use-cases-03, 5 January 2024,
             <http://www.ietf.org/internet-drafts/draft-jiang-spring-
             parent-sr-policy-use-cases-03.txt>.

   [RFC9256]  Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A.,
             and P. Mattes, "Segment Routing Policy Architecture", RFC
             9256, DOI 10.17487/RFC9256, July 2022, <https://www.rfc-
             editor.org/info/rfc9256>.































Jiang, et al.           Expires June 26, 2025                 [Page 8]

Internet-Draft   BGP SR Policy Composite Candidate Path   December 2024

Authors' Addresses


   Wenying Jiang
   China Mobile
   Beijing
   China
   Email: jiangwenying@chinamobile.com

   Changwang Lin
   New H3C Technologies
   Beijing
   China
   Email: linchangwang.04414@h3c.com

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































Jiang, et al.           Expires June 26, 2025                 [Page 9]