Carrying SID Algorithm information in PCE-based Networks.
draft-tokar-pce-sid-algo-05

Document Type Active Internet-Draft (individual)
Authors Alexej Tokar  , Samuel Sidor  , Shaofu Peng  , Siva Sivabalan  , Tarek Saad  , Shuping Peng  , Mahendra Negi 
Last updated 2021-10-04
Stream (None)
Intended RFC status (None)
Formats plain text html xml pdf htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
PCE Working Group                                               A. Tokar
Internet-Draft                                                  S. Sidor
Intended status: Standards Track                     Cisco Systems, Inc.
Expires: 7 April 2022                                            S. Peng
                                                         ZTE Corporation
                                                            S. Sivabalan
                                                                   Ciena
                                                                 T. Saad
                                                        Juniper Networks
                                                                 S. Peng
                                                     Huawei Technologies
                                                                 M. Negi
                                                             RtBrick Inc
                                                          4 October 2021

       Carrying SID Algorithm information in PCE-based Networks.
                      draft-tokar-pce-sid-algo-05

Abstract

   The Algorithm associated with a prefix Segment-ID (SID) defines the
   path computation Algorithm used by Interior Gateway Protocols (IGPs).
   This information is available to controllers such as the Path
   Computation Element (PCE) via topology learning.  This document
   proposes an approach for informing headend routers regarding the
   Algorithm associated with each prefix SID used in PCE-computed paths,
   as well as signalling a specific SID algorithm as a constraint to the
   PCE.

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

Tokar, et al.             Expires 7 April 2022                  [Page 1]
Internet-Draft            SID Algorithm in PCEP             October 2021

   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 7 April 2022.

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 (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  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Object Formats  . . . . . . . . . . . . . . . . . . . . . . .   4
     3.1.  OPEN Object . . . . . . . . . . . . . . . . . . . . . . .   4
       3.1.1.  SR PCE Capability Sub-TLV . . . . . . . . . . . . . .   4
       3.1.2.  SRv6 PCE Capability sub-TLV . . . . . . . . . . . . .   4
     3.2.  SR-ERO Subobject  . . . . . . . . . . . . . . . . . . . .   5
     3.3.  SRv6-ERO Subobject  . . . . . . . . . . . . . . . . . . .   5
     3.4.  LSPA Object . . . . . . . . . . . . . . . . . . . . . . .   6
   4.  Operation . . . . . . . . . . . . . . . . . . . . . . . . . .   7
     4.1.  SR-ERO and SRv6-ERO Encoding  . . . . . . . . . . . . . .   7
     4.2.  SID Algorithm Constraint  . . . . . . . . . . . . . . . .   7
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
     6.1.  SR Capability Flag  . . . . . . . . . . . . . . . . . . .   8
     6.2.  SRv6 PCE Capability Flag  . . . . . . . . . . . . . . . .   8
     6.3.  SR-ERO Flag . . . . . . . . . . . . . . . . . . . . . . .   8
     6.4.  SRv6-ERO Flag . . . . . . . . . . . . . . . . . . . . . .   9
     6.5.  PCEP TLV Types  . . . . . . . . . . . . . . . . . . . . .   9
   7.  Normative References  . . . . . . . . . . . . . . . . . . . .   9
   Appendix A.  Contributors . . . . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

Tokar, et al.             Expires 7 April 2022                  [Page 2]
Internet-Draft            SID Algorithm in PCEP             October 2021

1.  Introduction

   A PCE can compute SR-TE paths using SIDs with different Algorithms
   depending on the use-case, constraints, etc.  While this information
   is available on the PCE, there is no method of conveying this
   information to the headend router.

   Similarly, the headend can also compute SR-TE paths using different
   Algorithms, and this information also needs to be conveyed to the PCE
   for collection or troubleshooting purposes.  In addition, in the case
   of multiple (redundant) PCEs, when the headend receives a path from
   the primary PCE, it needs to be able to report the complete path
   information - including the Algorithm - to the backup PCE so that in
   HA scenarios, the backup PCE can verify the prefix SIDs
   appropriately.

   An operator may also want to constrain the path computed by the PCE
   to a specific SID Algorithm, for example, in order to only use SID
   Algorithms for a low-latency path.  A new TLV is introduced for this
   purpose.

   Refer to [RFC8665] and [RFC8667] for details about the prefix SID
   Algorithm.

   This document is extending:

   *  the SR PCE Capability Sub-TLV and the SR-ERO subobject - defined
      in [RFC8664]

   *  the SRv6 PCE Capability sub-TLV and the SRv6-ERO subobject -
      defined in [I-D.ietf-pce-segment-routing-ipv6]

   A new TLV for signalling SID Algorithm constraint to the PCE is also
   introduced, to be carried inside the LSPA object, which is defined in
   [RFC5440].

   The mechanisms described in this document are equally applicable to
   both SR-MPLS and SRv6.

2.  Terminology

   The following terminologies are used in this document:

   ERO:  Explicit Route Object

   IGP:  Interior Gateway Protocol

   NAI:  Node or Adjacency Identifier.

Tokar, et al.             Expires 7 April 2022                  [Page 3]
Internet-Draft            SID Algorithm in PCEP             October 2021

   PCE:  Path Computation Element

   PCEP:  Path Computation Element Protocol.

   SID:  Segment Identifier.

   SR:  Segment Routing.

   SR-TE:  Segment Routing Traffic Engineering.

   LSP:  Label Switched Path.

   LSPA:  Label Switched Path Attributes.

3.  Object Formats

3.1.  OPEN Object

3.1.1.  SR PCE Capability Sub-TLV

   A new flag S is proposed in the SR PCE Capability Sub-TLV introduced
   in Section 4.1.2 of [RFC8664] in Path Computation Element
   Communication Protocol (PCEP) to indicate support for SID Algorithm
   field in the SR-ERO subobject.

      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=26               |            Length=4           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |         Reserved              |   Flags |S|N|X|      MSD      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.1.2.  SRv6 PCE Capability sub-TLV

   A new flag S is proposed in the SRv6 PCE Capability sub-TLV
   introduced in 4.1.1 of [I-D.ietf-pce-segment-routing-ipv6] in Path
   Computation Element Communication Protocol (PCEP) to indicate support
   for SID Algorithm field in the SRv6-ERO subobject.

Tokar, et al.             Expires 7 April 2022                  [Page 4]
Internet-Draft            SID Algorithm in PCEP             October 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Type=TBD1          |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Reserved           |             Flags       |S|N|X|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   MSD-Type    | MSD-Value     |   MSD-Type    |   MSD-Value   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                             ...                             //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   MSD-Type    | MSD-Value     |            Padding            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.2.  SR-ERO Subobject

   The SR-ERO subobject encoding is extended with new flag "A" to
   indicate if the Algorithm field is included after other optional
   fields.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |L|   Type=36   |     Length    |  NT   |     Flags |A|V|F|S|C|M|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         SID (optional)                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     //                   NAI (variable, optional)                  //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                  Reserved                     |  Algorithm    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.3.  SRv6-ERO Subobject

   The SRv6-ERO subobject encoding is extended with new flag "A" to
   indicate if the Algorithm field is included after other optional
   fields.

Tokar, et al.             Expires 7 April 2022                  [Page 5]
Internet-Draft            SID Algorithm in PCEP             October 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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |L|   Type=TBD3 |     Length    |   NT  |    Flags    |A|V|T|F|S|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |            Reserved           |        Endpoint Behavior      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                      SRv6 SID (optional)                      |
     |                           (128-bit)                           |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     //                    NAI (variable, optional)                 //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                     SID Structure (optional)                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                  Reserved                     |  Algorithm    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.4.  LSPA Object

   A new TLV for the LSPA Object with TLV type=TBD3 is introduced to
   carry the SID Algorithm constraint.  This TLV SHOULD only be used
   when PST (Path Setup type) = SR or SRv6.

   The format of the SID Algorithm TLV is as follows:

      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=TBD3             |            Length=4           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |         Reserved              |   Flags     |L|   Algorithm   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 1: SID Algorithm TLV Format

   The code point for the TLV type is TBD3.  The TLV length is 4 octets.

   The 32-bit value is formatted as follows.

   Reserved:  MUST be set to zero by the sender and MUST be ignored by
      the receiver.

   Flags:  This document defines the following flag bits.  The other
      bits MUST be set to zero by the sender and MUST be ignored by the
      receiver.

Tokar, et al.             Expires 7 April 2022                  [Page 6]
Internet-Draft            SID Algorithm in PCEP             October 2021

      *  L (Loose): If set to 1, the PCE MAY insert SIDs with a
         different Algorithm, but it MUST prefer the specified Algorithm
         whenever possible.

   Algorithm:  SID Algorithm the PCE MUST take into acount while
      computing a path for the LSP.

4.  Operation

4.1.  SR-ERO and SRv6-ERO Encoding

   PCEP speaker MAY set the A flag and include the Algorithm field in
   SR-ERO or SRv6-ERO subobject if the S flag was advertised by both
   PCEP speakers.

   If PCEP peer receives SR-ERO subobject with the A flag set or with
   the SID Algorithm included, but the S flag was not advertised, then
   such PCEP message must be rejected with PCError as described in
   Section 7.2 of [RFC5440]

   The Algorithm field MUST be included after optional SID, NAI or SID
   structure and length of SR-ERO or SRv6-ERO subobject MUST be
   increased with additional 4 bytes for Reserved and Algorithm field.

4.2.  SID Algorithm Constraint

   In order to signal a specific SID Algorithm constraint to the PCE,
   the headend MUST encode the SID ALGORITHM TLV inside the LSPA object.

   When the PCE receives a SID Algorithm constraint, it MUST only take
   prefix SIDs with the specified Algorithm into account during path
   computation.  However, if the L flag is set in the SID Algorithm TLV,
   the PCE MAY insert prefix SIDs with a different Algorithm in order to
   successfully compute a path.

   If the PCE is unable to find a path with the given SID Algorithm
   constraint, it MUST bring the LSP down.

   SID Algorithm does not replace the Objective Function defined in
   [RFC5541].  The SID Algorithm constraint acts as a filter,
   restricting which SIDs may be used as a result of the path
   computation function.

5.  Security Considerations

   No additional security measure is required.

Tokar, et al.             Expires 7 April 2022                  [Page 7]
Internet-Draft            SID Algorithm in PCEP             October 2021

6.  IANA Considerations

6.1.  SR Capability Flag

   IANA maintains a sub-registry, named "SR Capability Flag Field",
   within the "Path Computation Element Protocol (PCEP) Numbers"
   registry to manage the Flags field of the SR-PCE-CAPABILITY TLV.
   IANA is requested to make the following assignment:

           +=======+==========================+===============+
           | Value | Description              | Reference     |
           +=======+==========================+===============+
           +-------+--------------------------+---------------+
           |  TBD1 | SID Algorithm Capability | This document |
           +-------+--------------------------+---------------+

                                 Table 1

6.2.  SRv6 PCE Capability Flag

   IANA was requested in [I-D.ietf-pce-segment-routing-ipv6] to create a
   sub-registry, named "SRv6 PCE Capability Flags", within the "Path
   Computation Element Protocol (PCEP) Numbers" registry to manage the
   Flags field of SRv6-PCE-CAPABILITY sub-TLV.  IANA is requested to
   make the following assignment:

           +=======+==========================+===============+
           | Value | Description              | Reference     |
           +=======+==========================+===============+
           +-------+--------------------------+---------------+
           |  TBD2 | SID Algorithm Capability | This document |
           +-------+--------------------------+---------------+

                                 Table 2

6.3.  SR-ERO Flag

   IANA maintains a sub-registry, named "SR-ERO Flag Field", within the
   "Path Computation Element Protocol (PCEP) Numbers" registry to manage
   the Flags field of the SR-ERO Subobject.  IANA is requested to make
   the following assignment:

Tokar, et al.             Expires 7 April 2022                  [Page 8]
Internet-Draft            SID Algorithm in PCEP             October 2021

              +=======+====================+===============+
              | Value | Description        | Reference     |
              +=======+====================+===============+
              +-------+--------------------+---------------+
              |  TBD3 | SID Algorithm Flag | This document |
              +-------+--------------------+---------------+

                                 Table 3

6.4.  SRv6-ERO Flag

   IANA was requested in [I-D.ietf-pce-segment-routing-ipv6], named
   "SRv6-ERO Flag Field", within the "Path Computation Element Protocol
   (PCEP) Numbers" registry to manage the Flags field of the SRv6-ERO
   subobject.  IANA is requested to make the following assignment:

              +=======+====================+===============+
              | Value | Description        | Reference     |
              +=======+====================+===============+
              +-------+--------------------+---------------+
              |  TBD4 | SID Algorithm Flag | This document |
              +-------+--------------------+---------------+

                                 Table 4

6.5.  PCEP TLV Types

   IANA is requested to allocate a new TLV type for the new LSPA TLV
   specified in this document.

                 +=======+===============+===============+
                 | Value | Description   | Reference     |
                 +=======+===============+===============+
                 +-------+---------------+---------------+
                 |  TBD5 | SID Algorithm | This document |
                 +-------+---------------+---------------+

                                  Table 5

7.  Normative References

   [I-D.ietf-pce-segment-routing-ipv6]
              Li, C., Negi, M., Sivabalan, S., Koldychev, M.,
              Kaladharan, P., and Y. Zhu, "PCEP Extensions for Segment
              Routing leveraging the IPv6 data plane", Work in Progress,
              Internet-Draft, draft-ietf-pce-segment-routing-ipv6-09, 27
              May 2021, <https://www.ietf.org/internet-drafts/draft-
              ietf-pce-segment-routing-ipv6-09.txt>.

Tokar, et al.             Expires 7 April 2022                  [Page 9]
Internet-Draft            SID Algorithm in PCEP             October 2021

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

   [RFC5440]  Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
              Element (PCE) Communication Protocol (PCEP)", RFC 5440,
              DOI 10.17487/RFC5440, March 2009,
              <https://www.rfc-editor.org/info/rfc5440>.

   [RFC5541]  Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of
              Objective Functions in the Path Computation Element
              Communication Protocol (PCEP)", RFC 5541,
              DOI 10.17487/RFC5541, June 2009,
              <https://www.rfc-editor.org/info/rfc5541>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8664]  Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
              and J. Hardwick, "Path Computation Element Communication
              Protocol (PCEP) Extensions for Segment Routing", RFC 8664,
              DOI 10.17487/RFC8664, December 2019,
              <https://www.rfc-editor.org/info/rfc8664>.

   [RFC8665]  Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler,
              H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF
              Extensions for Segment Routing", RFC 8665,
              DOI 10.17487/RFC8665, December 2019,
              <https://www.rfc-editor.org/info/rfc8665>.

   [RFC8667]  Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C.,
              Bashandy, A., Gredler, H., and B. Decraene, "IS-IS
              Extensions for Segment Routing", RFC 8667,
              DOI 10.17487/RFC8667, December 2019,
              <https://www.rfc-editor.org/info/rfc8667>.

Appendix A.  Contributors

   Mike Koldychev
   Cisco Systems
   Kanata, Ontario
   Canada

   Email: mkoldych@cisco.com

Tokar, et al.             Expires 7 April 2022                 [Page 10]
Internet-Draft            SID Algorithm in PCEP             October 2021

Authors' Addresses

   Alex Tokar
   Cisco Systems, Inc.
   Eurovea Central 3.
   Pribinova 10
   811 09 Bratislava
   Slovakia

   Email: atokar@cisco.com

   Samuel Sidor
   Cisco Systems, Inc.
   Eurovea Central 3.
   Pribinova 10
   811 09 Bratislava
   Slovakia

   Email: ssidor@cisco.com

   Shaofu Peng
   ZTE Corporation
   No.50 Software Avenue
   Nanjing
   Jiangsu, 210012
   China

   Email: peng.shaofu@zte.com.cn

   Siva Sivabalan
   Ciena
   385 Terry Fox Drive
   Kanata Ontario K2K 0L1
   Canada

   Email: msiva282@gmail.com

   Tarek Saad
   Juniper Networks

   Email: tsaad@juniper.net

Tokar, et al.             Expires 7 April 2022                 [Page 11]
Internet-Draft            SID Algorithm in PCEP             October 2021

   Shuping Peng
   Huawei Technologies
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing
   100095
   China

   Email: pengshuping@huawei.com

   Mahendra Singh Negi
   RtBrick Inc
   Bangalore
   Karnataka
   India

   Email: mahend.ietf@gmail.com

Tokar, et al.             Expires 7 April 2022                 [Page 12]