Internet-Draft | support BFD parameters | December 2022 |
Bachar & Fizgeer | Expires 25 June 2023 | [Page] |
- Workgroup:
- PCE Working Group
- Internet-Draft:
- draft-fizgeer-pce-pcep-bfd-parameters-00
- Published:
- Intended Status:
- Standards Track
- Expires:
PCEP Extensions to support BFD parameters
Abstract
This document proposes extension to PCEP to configure LSP parameters. Some of LSP parameters are needed to configure S-BFD for candidate paths. Each candidate path is identified in PCEP by its uniquely assigned PLSP-ID. The mechanism proposed in this document is applicable to to all path setup types. The need for these definitions first appeared for Segment Routing path setup type, both MPLS and IPv6 data planes of SR.¶
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 25 June 2023.¶
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.¶
1. Introduction
Path Computation Element (PCE) Communication Protocol (PCEP) [RFC5440] enables the communication between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between two PCEs based on the PCE architecture [RFC4655].¶
PCEP Extensions for the Stateful PCE Model [RFC8231] describes a set of extensions to PCEP to enable active control of Multiprotocol Label Switching Traffic Engineering (MPLS-TE) and Generalized MPLS (GMPLS) tunnels. [RFC8281] describes the setup and teardown of PCE-initiated LSPs under the active stateful PCE model, without the need for local configuration on the PCC, thus allowing for dynamic centralized control of a network.¶
PCEP Extensions for Segment Routing [RFC8664] specifies extensions to the Path Computation Element Protocol (PCEP) that allow a stateful PCE to compute and initiate Traffic Engineering (TE) paths, as well as a PCC to request a path subject to certain constraint(s) and optimization criteria in SR networks.¶
PCEP Extensions for Establishing Relationships Between Sets of LSPs [RFC8697] introduces a generic mechanism to create a grouping of LSPs which can then be used to define associations between a set of LSPs and a set of attributes (such as configuration parameters or behaviors) and is equally applicable to stateful PCE (active and passive modes) and stateless PCE.¶
This document specifies PCEP extensions to signal additional information to configure LSP attributes. This is accomplished via the use of the existing LSPA object, by defining a new capability and new TLVs.¶
2. Terminology
The following terminologies are used in this document:¶
- PCC: Path Computation Client. Any client application requesting a path computation to be performed by a Path Computation Element.¶
- PCE: Path Computation Element. An entity (component, application, or network node) that is capable of computing a network path or route based on a network graph and applying computational constraints.¶
- PCEP: Path Computation Element Protocol. PCEP Tunnel: The entity identified by the PLSP-ID, as per [I-D.koldychev-pce- operational].¶
3. Motivation
S-BFD protocol is used for detecting failures in different tunnels path setup types. There are several protocol parameters that need to be configured and exchanged between PCEP speakers. As the parameters are associated to LSPs or tunnels, they are exchanged via PCEP. The LSPS-BFD-Capability TLV, the LSP-SBFD TLV and its sub-TLVs, defined in this document, allow PCEP speakers to exchange additional information about S-BFD.¶
4. Overview of Protocol Extensions
4.1. Overview
A new option to define S-BFD parameters is defined in this document. The S-BFD parameters are only meant to be used for SR LSPs and with PCEP peers which advertise SR capability.¶
A PCEP speaker indicates its ability to support S-BFD parameters during the PCEP initialization phase, as follows. When the PCEP session is created, it sends an Open message with an OPEN object that contains the LSP-SBFD-Capability TLV (see Section 4.3.1).¶
If a PCEP speaker receives the PCEP LSP-SBFD-Capability TLV with B flag = 1 in the Open object, then it means its peer is capable to receive and to send S-BFD TLVs towards that peer.¶
If a PCEP speaker has not received this TLV in the Open object, or if it receives it with B flag set to 0, then it MUST NOT send any S-BFD TLVs in LSPA object towards that peer.¶
4.2. Processing
If a PCEP speaker is capable of S-BFD and its peer is capable of S-BFD, then the PCEP speaker MAY send LSP-SBFD TLV towards that peer, to report the S-BFD state (Enabled/Disabled) for the configured LSP. The LSP-SBFD TLV shall be sent as an optional TLV in the LSPA object. A PCC shall send it in the PCRpt message.¶
A PCE shall send it in the PCInit or in the PCUpd message. If the LSP-SBFD TLV is received from a PCEP peer with the B flag set to 1, then S-BFD shall be applied for specified LSP. If PCC received this TLV via PCUpd with B=0 and there is no S-BFD applied for the LSP, then the PCC shall IGNORE the TLV.¶
If PCE received this TLV with B=0 and there is no S-BFD applied for the LSP (editing a PCC-initiated LSP) then it may IGNORE it. If B=0 and LSP-BFD-Parameters sub-TLV is received, then the PCEP speaker shall IGNORE the sub-TLV. Ignoring or saving the S-BFD configuration is implementation decision.¶
In some implementations there is limitation that LSPs in the same association group must have same S-BFD parameter values.¶
Editor note: Alternatively, it can be defined implicitly as follows: If the LSP-SBFD TLV is not received from PCEP peer but there is S-BFD for that LSP then S-BFD shall be removed for specified LSP.¶
4.3. Objects and TLVs
4.3.1. LSP S-BFD Capability
The LSP-SBFD-Capability TLV is an optional TLV. It MAY be carried within an OPEN object sent by PCEP speaker in an Open message to a PCEP peer to indicate it supports SBFD capability.¶
The LSP-SBFD-Capability 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved |B| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: TBD1 Length: 4 B flag: A PCEP speaker sets this bit to 1 to indicate that it is capable of S-BFD, and it supports configuring the S-BFD via PCEP¶
4.3.2. S-BFD parameters
4.3.2.1. LSP S-BFD TLV
The PCEP LSP-SBFD TLV is an optional TLV. It MAY be carried within the LSPA object.¶
The PCEP LSP-SBFD 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved |B| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Optional sub-TLVs // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+¶
Type: TBD2¶
Length: The total length in bytes of the remainder of the TLV, that is, excluding the Type and Length fields.¶
B flag: Enable/Disable S-BFD for this LSP. If B=1 then S-BFD will be enabled. If B=0 then S-BFD will be disabled for that LSP. If the PCEP speaker received LSP-SBFD TLV from PCEP peer with B flag is set to 0, then S-BFD shall be removed (in case of PCE update) or shall not be applied (in case of PCE initiated message) for specified LSP¶
4.3.2.2. LSP-SBFD Parameters sub-TLV
The PCEP LSP-SBFD-Parameters sub-TLV is optional. It MAY be carried within the LSP-SBFD TLV. The PCEP LSP-SBFD-Parameters 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Min Tx Interval | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Multiplier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: TBD3 Length: 8 Min Tx Interval: 32 bits - Specify the Minimal Transmit Interval (milliseconds). Note: for YANG implementation of the S-BFD information model the value needs to be converted to microseconds Multiplier: 1..255¶
Procedure¶
If B=0 and LSP-SBFD-Parameters sub-TLV is received, then the PCEP speaker shall IGNORE the sub-TLV.¶
4.3.2.3. LSP-SBFD-Discriminator sub-TLV
The PCEP LSP-SBFD-Discriminator sub-TLV and is optional TLV. It MAY be carried within the LSP-SBFD TLV. The PCEP LSP-SBFD-Discriminator 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote Discriminator | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: TBD4 Length: 4 Remote Discriminator: 32 bits¶
Procedure¶
If B=0 and LSP-SBFD-Discriminator sub-TLV is received, then the PCEP speaker shall IGNORE the LSP-SBFD-Discriminator sub-TLV.¶
5. Error Handling
If a PCEP speaker has not received S-BFD-Capability TLV from a peer in the Open object, and it received an LSP S-BFD TLV (see Section 4.3.2.1) from that peer, then it MUST ignore the content of the LSP S-BFD TLV, and it MUST return a PCErr message with Error-Type=19 "Invalid Operation" with Error-value = TBD5 "SBFD capability is not negotiated".¶
If Multiplier value in the LSP-SBFD-Parameters sub-TLV is not in the legal range (1..255), then the PCEP Speaker MUST return a PCErr message with Error-Type=23 "Bad parameter value" and Error-value = TBD6 "Multiplier is out of range".¶
If Remote Discriminator value in the PCEP LSP-SBFD-Discriminator sub-TLV is not in the legal range (i.e., it is zero), then the PCEP Speaker MUST return a PCErr message with Error-Type=23 "Bad parameter value" and Error-value = TBD8 "Remote Discriminator is out of range".¶
6. Implementation Note
In some implementations there is limitation that LSPs in the same association group must have same S-BFD parameter values. If either the Min Tx Interval, the Multiplier or the Remote Discriminator values received in the LSP-BFD Parameters sub-TLVs for LSPs that are members in the same Association Group are not identical, then the PCEP Speaker SHOULD return a PCErr message with Error-Type=26 "Association Error" with Error-value TBD7 "Invalid S-BFD parameter value"¶
7. IANA Considerations
7.1. PCEP TLV Type Indicators
This document defines new TLVs and sub-TLVs for carrying additional information about S-BFD. IANA is requested to make the assignment of new values for the existing "PCEP TLV Type Indicators" registry as follows:¶
8. Security Considerations
This document defines one new type for association, which does not add any new security concerns beyond those discussed in [RFC5440], [RFC8231], [RFC8664], [RFC5880] and [RFC8697] in itself.¶
9. Acknowledgement
Would like to thank Avantika Sushil, Alexander Ferdman, Itay Katz and Galina Mintz for review and suggestions.¶
10. References
10.1. Normative References
- [RFC2119]
- Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <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, , <https://www.rfc-editor.org/info/rfc5440>.
- [RFC8231]
- Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE", RFC 8231, DOI 10.17487/RFC8231, , <https://www.rfc-editor.org/info/rfc8231>.
- [RFC8281]
- Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model", RFC 8281, DOI 10.17487/RFC8281, , <https://www.rfc-editor.org/info/rfc8281>.
- [RFC8697]
- Minei, I., Crabbe, E., Sivabalan, S., Ananthakrishnan, H., Dhody, D., and Y. Tanaka, "Path Computation Element Communication Protocol (PCEP) Extensions for Establishing Relationships between Sets of Label Switched Paths (LSPs)", RFC 8697, DOI 10.17487/RFC8697, , <https://www.rfc-editor.org/info/rfc8697>.
- [RFC5880]
- Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10.17487/RFC5880, , <https://www.rfc-editor.org/info/rfc5880>.
- [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, , <https://www.rfc-editor.org/info/rfc8664>.
- [RFC8174]
- Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
10.2. Informative References
- [RFC4655]
- Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, DOI 10.17487/RFC4655, , <https://www.rfc-editor.org/info/rfc4655>.