Internet-Draft | support BFD parameters | December 2023 |
Bachar & Fizgeer | Expires 6 June 2024 | [Page] |
- Workgroup:
- PCE Working Group
- Internet-Draft:
- draft-fizgeer-pce-pcep-bfd-parameters-02
- 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 6 June 2024.¶
Copyright Notice
Copyright (c) 2023 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.¶
Defining S-BFD parameters via PCEP MAY be also used together with a PCE as a Central Controller (PCECC) architecture and procedures [RFC9050].¶
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. A legacy PCEP speaker (that does not recognize the LSP-SBFD-Capability TLV) MUST ignore the TLV in accordance with [ RFC5440]. 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. Implementation Status [Note to the RFC Editor - remove this section before publication, as well as remove the reference to RFC 7942.]
This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in [RFC7942]. The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs. Please note that the listing of any individual implementation here does not imply endorsement by the IETF. Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors. This is not intended as, and must not be construed to be, a catalog of available implementations or their features. Readers are advised to note that other implementations may exist.¶
According to [RFC7942], "this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature. It is up to the individual working groups to use this information as they see fit".¶
9.1. Ribbon Implementation Organization: Ribbon Communication Implementation: Head-end (PCC) and controller (PCE). Description: All features supported with limitation that LSPs in the same association group must have same S-BFD parameter values Maturity Level: Production. Coverage: Full. Contact: marina.fizgeer@rbbn.com¶
10. Acknowledgement
Would like to thank Avantika Sushil, Alexander Ferdman, Itay Katz, Galina Mintz and Boris Khasanov for review and suggestions.¶
11. References
11.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>.
11.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>.