Internet DRAFT - draft-tokar-pce-sid-algo
draft-tokar-pce-sid-algo
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]