Skip to main content

BGP Extensions of SR Policy for Segment List Identification and Protection
draft-lp-idr-sr-path-protection-03

Document Type Active Internet-Draft (individual)
Authors Liu Yao , Shaofu Peng
Last updated 2022-06-09
Stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-lp-idr-sr-path-protection-03
IDR WG                                                            Y. Liu
Internet-Draft                                                   S. Peng
Intended status: Standards Track                                     ZTE
Expires: 11 December 2022                                    9 June 2022

    BGP Extensions of SR Policy for Segment List Identification and
                               Protection
                   draft-lp-idr-sr-path-protection-03

Abstract

   This document proposes extensions of BGP to provide identification
   and protection information of segment lists within a candidate path
   when delivering SR policy.  And it also extends BGP-LS to provide
   some extra information of the segment list in the advertisement.

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 11 December 2022.

Copyright Notice

   Copyright (c) 2022 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 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.

Liu & Peng              Expires 11 December 2022                [Page 1]
Internet-Draft       BGP Extensions for Segment List           June 2022

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  BGP Extensions for Advertising Segment List . . . . . . . . .   3
     2.1.  Extensions of Segment List sub-TLV  . . . . . . . . . . .   3
     2.2.  List Identifier Sub-TLV . . . . . . . . . . . . . . . . .   4
       2.2.1.  List Protection Sub-TLV . . . . . . . . . . . . . . .   4
   3.  BGP-LS Extensions for Distributing Segment List States  . . .   7
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
     4.1.  New Registry: Flag Field of Segment List sub-TLV  . . . .   7
     4.2.  Existing Registry: BGP Tunnel Encapsulation Attribute
           sub-TLVs  . . . . . . . . . . . . . . . . . . . . . . . .   7
     4.3.  New Registry: List Identifier Sub-TLVs  . . . . . . . . .   8
     4.4.  Existing Registry: Flag Field of SR Segment List TLV  . .   8
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     6.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   Segment Routing [RFC8402] allows a headend node to steer a packet
   flow along any path.  [I-D.ietf-spring-segment-routing-policy]
   details the concept of SR Policy and steering into an SR Policy.  An
   SR Policy is a set of candidate paths, each consisting of one or more
   segment lists.  The headend of an SR Policy may learn multiple
   candidate paths for an SR Policy.

   Candidate path can be used for path protection, that is, the lower
   preference candidate path may be designated as the backup for a
   specific or all (active) candidate path(s).  Backup candidate path
   provide protection only when all the segment lists in the active CP
   are invalid.

   If a candidate path is associated with a set of Segment-Lists, each
   Segment-List is associated with weight for weighted load balancing.

   The protection mechanism for SR Policy is not flexible enough.  For
   example, there're three segment lists(SL1, SL2, SL3) in candidate
   path 1, it may be desired that SL1 and SL2 are the primary path, SL3
   are the backup path for SL1 and will be active only when SL1 fails.

   [I-D.ietf-pce-multipath] proposes extensions to PCEP to specify the
   protection relationship between segment lists in the candidate path.

Liu & Peng              Expires 11 December 2022                [Page 2]
Internet-Draft       BGP Extensions for Segment List           June 2022

   [I-D.ietf-idr-segment-routing-te-policy] specifies BGP extensions for
   the advertisement of SR Policies and each candidate path is carried
   in an NLRI.  This document proposes extensions of BGP in order to
   provide identification and protection information of segment lists
   when delivering SR policy.

   [I-D.ietf-idr-te-lsp-distribution] describes a mechanism to collect
   the SR policy information that is locally available in a node and
   advertise it into BGP Link State (BGP-LS) updates.  This document
   also extends it to provide some extra information of the segment list
   in a candidate path in the BGP-LS advertisement.

1.1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

2.  BGP Extensions for Advertising Segment List

2.1.  Extensions of Segment List sub-TLV

   Segment List sub-TLV is introduced in
   [I-D.ietf-idr-segment-routing-te-policy] and it includes the elements
   of the paths (i.e., segments).

   This document introduces a one-bit flag in the RESERVED field.

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

                       Figure 1: Segment List sub-TLV

   B-Flag(Backup Flag): one bit.  When set to 0, it indicates that the
   segment list acts as the active member in the candidate path.  When
   set to 1, it indicates that the segment list acts as the backup path
   in the candidate path.

Liu & Peng              Expires 11 December 2022                [Page 3]
Internet-Draft       BGP Extensions for Segment List           June 2022

   Using segment lists for path protection can be compatible with using
   candidate paths.  When a path fails, the backup segment list within
   the same candidate path is used preferentially for path protection.
   If the backup list is also invalid, then other candidate path can be
   enabled for protection.

2.2.  List Identifier Sub-TLV

   This document introduces a new sub-sub-tlv of Segment List sub-TLV,
   where,

       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            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      List Identifier                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~                      Optional sub-TLVs                        ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 2: List Identifier Sub-TLV

   *  Type: 1 octet.  TBD.

   *  Length: 1 octet, specifies the length of the value field not
      including Type and Length fields.

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

   *  List Identifier: 4 octets.  It is the identifier of the
      corresponding segment list, so that the segment list can be
      operated according to the specified Segment List identifier.

   *  This sub-TLV is optional and it MUST NOT appear more than once
      inside the Segment List sub-TLV.

2.2.1.  List Protection Sub-TLV

   The List Protection Info sub-TLV is an optional sub-TLV of List
   Identifier sub-TLV, where:

Liu & Peng              Expires 11 December 2022                [Page 4]
Internet-Draft       BGP Extensions for Segment List           June 2022

       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            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Backup  List ID 1                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          ...                                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Backup  List ID N                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 3: List Protection Info Sub-TLV

   *  Type: 1 octet.  TBD.

   *  Length: 1 octet, specifies the length of the value field not
      including Type and Length fields.

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

   *  Backup List ID: 4 octets.  It is the List Identifier of the backup
      segment list that protects this segment list.  If there're
      multiple backup paths, the list ID of each path should be included
      in the TLV.

   As defined in [I-D.ietf-idr-segment-routing-te-policy], the SR Policy
   encoding structure is as follows:

Liu & Peng              Expires 11 December 2022                [Page 5]
Internet-Draft       BGP Extensions for Segment List           June 2022

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

   The new SR Policy encoding structure with List Identifier sub-TLV is
   shown as below:

           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
                    List Identifier
                      List Protection Info
                    Weight
                    Segment
                    Segment
                    ...
                Segment List
                    ...
                ...

Liu & Peng              Expires 11 December 2022                [Page 6]
Internet-Draft       BGP Extensions for Segment List           June 2022

3.  BGP-LS Extensions for Distributing Segment List States

   [I-D.ietf-idr-te-lsp-distribution] describes a mechanism to collect
   the SR Policy information that is locally available in a node and
   advertise it into BGP Link State (BGP-LS) updates.  The SR Policy
   information includes status of the candidate path, e.g, whether the
   candidate path is administrative shut or not.

   SR Segment List TLV is defined in [I-D.ietf-idr-te-lsp-distribution]
   to to report the SID-List(s) of a candidate path.  Figure 4 shows the
   flags in SR Segment List TLV.

                         0                   1
                         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                        |D|E|C|V|R|F|A|T|M|S|B|         |
                        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 4: Flag Field of SR Segment List TLV

   The D,E,C,V,R,F,A,M flags are defined in
   [I-D.ietf-idr-te-lsp-distribution].

   This document introduces two new flags, where,

   *  S-Flag : Indicates the segment list is in administrative shut
      state when set.

   *  B-Flag : Indicates the segment list is the backup path within the
      candidate path when set, otherwise it is the active path.

4.  IANA Considerations

4.1.  New Registry: Flag Field of Segment List sub-TLV

   This document introduces a one-bit flag field in the Segment List
   sub-TLV [I-D.ietf-idr-segment-routing-te-policy] for the Backup Flag
   (B-Flag).

4.2.  Existing Registry: BGP Tunnel Encapsulation Attribute sub-TLVs

   This document defines a new sub-TLV in the registry "SR Policy List
   Sub-TLVs" [I-D.ietf-idr-segment-routing-te-policy] to be assigned by
   IANA:

         Codepoint   Description                           Reference
         -------------------------------------------------------------
         TBD         List Identifier Sub-TLV               This document

Liu & Peng              Expires 11 December 2022                [Page 7]
Internet-Draft       BGP Extensions for Segment List           June 2022

4.3.  New Registry: List Identifier Sub-TLVs

   This document requests the creation of a new registry called "List
   Identifier Sub-TLVs" under the "BGP Tunnel Encapsulation" registry.
   Following initial Sub-TLV codepoint are assigned by this document.

         Codepoint   Description                           Reference
         -------------------------------------------------------------
         TBD         List Protection Sub-TLV               This document

4.4.  Existing Registry: Flag Field of SR Segment List TLV

   This document requests bit 9 and bit 10 in the flag field of "SR
   Segment List TLV" [I-D.ietf-idr-te-lsp-distribution] under the "BGP-
   LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute
   TLVs" registry.

       Bit     Description                                Reference
      ------------------------------------------------------------------
        9     Administrative Shut State Flag(S-Flag)      This document
       10     Backup Path State Flag(B-Flag)              This document

5.  Security Considerations

   Procedures and protocol extensions defined in this document do not
   affect the security considerations discussed in
   [I-D.ietf-idr-segment-routing-te-policy] and
   [I-D.ietf-idr-te-lsp-distribution].

6.  References

6.1.  Normative References

   [I-D.ietf-idr-segment-routing-te-policy]
              Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P.,
              Jain, D., and S. Lin, "Advertising Segment Routing
              Policies in BGP", Work in Progress, Internet-Draft, draft-
              ietf-idr-segment-routing-te-policy-17, 14 April 2022,
              <https://datatracker.ietf.org/doc/html/draft-ietf-idr-
              segment-routing-te-policy-17>.

   [I-D.ietf-idr-te-lsp-distribution]
              Previdi, S., Talaulikar, K., Dong, J., Chen, M., Gredler,
              H., and J. Tantsura, "Distribution of Traffic Engineering
              (TE) Policies and State using BGP-LS", Work in Progress,
              Internet-Draft, draft-ietf-idr-te-lsp-distribution-17, 24
              April 2022, <https://datatracker.ietf.org/doc/html/draft-
              ietf-idr-te-lsp-distribution-17>.

Liu & Peng              Expires 11 December 2022                [Page 8]
Internet-Draft       BGP Extensions for Segment List           June 2022

   [I-D.ietf-spring-segment-routing-policy]
              Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and
              P. Mattes, "Segment Routing Policy Architecture", Work in
              Progress, Internet-Draft, draft-ietf-spring-segment-
              routing-policy-22, 22 March 2022,
              <https://datatracker.ietf.org/doc/html/draft-ietf-spring-
              segment-routing-policy-22>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

6.2.  Informative References

   [I-D.ietf-pce-multipath]
              Koldychev, M., Sivabalan, S., Saad, T., Beeram, V. P.,
              Bidgoli, H., Yadav, B., Peng, S., and G. Mishra, "PCEP
              Extensions for Signaling Multipath Information", Work in
              Progress, Internet-Draft, draft-ietf-pce-multipath-06, 17
              May 2022, <https://datatracker.ietf.org/doc/html/draft-
              ietf-pce-multipath-06>.

   [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>.

Authors' Addresses

   Yao Liu
   ZTE
   Nanjing
   China
   Email: liu.yao71@zte.com.cn

   Shaofu Peng
   ZTE
   Nanjing
   China
   Email: peng.shaofu@zte.com.cn

Liu & Peng              Expires 11 December 2022                [Page 9]