summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8786.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc8786.txt')
-rw-r--r--doc/rfc/rfc8786.txt270
1 files changed, 270 insertions, 0 deletions
diff --git a/doc/rfc/rfc8786.txt b/doc/rfc/rfc8786.txt
new file mode 100644
index 0000000..1ab1852
--- /dev/null
+++ b/doc/rfc/rfc8786.txt
@@ -0,0 +1,270 @@
+
+
+
+
+Internet Engineering Task Force (IETF) A. Farrel
+Request for Comments: 8786 Old Dog Consulting
+Updates: 8231 May 2020
+Category: Standards Track
+ISSN: 2070-1721
+
+
+ Updated Rules for Processing Stateful PCE Request Parameters Flags
+
+Abstract
+
+ Extensions to the Path Computation Element Communication Protocol
+ (PCEP) to support stateful Path Computation Elements (PCEs) are
+ defined in RFC 8231. One of the extensions is the Stateful PCE
+ Request Parameters (SRP) object. That object includes a Flags field
+ that is a set of 32 bit flags, and RFC 8281 defines an IANA registry
+ for tracking assigned flags. However, RFC 8231 does not explain how
+ an implementation should set unassigned flags in transmitted
+ messages, nor how an implementation should process unassigned,
+ unknown, or unsupported flags in received messages.
+
+ This document updates RFC 8231 by defining the correct behaviors.
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc8786.
+
+Copyright Notice
+
+ Copyright (c) 2020 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
+ 2. Requirements Language
+ 3. Updated Procedures
+ 3.1. Advice for Specification of New Flags
+ 3.2. Flags Field of the SRP Object
+ 4. Compatibility Considerations
+ 5. Management Considerations
+ 6. Security Considerations
+ 7. IANA Considerations
+ 8. References
+ 8.1. Normative References
+ 8.2. Informative References
+ Acknowledgements
+ Author's Address
+
+1. Introduction
+
+ [RFC5440] describes the Path Computation Element Communication
+ Protocol (PCEP). PCEP defines the communication between a Path
+ Computation Client (PCC) and a Path Computation Element (PCE), or
+ between PCEs, enabling computation of Multiprotocol Label Switching
+ (MPLS) for Traffic Engineering Label Switched Path (TE LSP)
+ characteristics.
+
+ [RFC8231] specifies a set of extensions to PCEP to enable stateful
+ control of LSPs within and across PCEP sessions in compliance with
+ [RFC4657]. It includes mechanisms to effect Label Switched Path
+ (LSP) State Synchronization between PCCs and PCEs, delegation of
+ control over LSPs to PCEs, and PCE control of timing and sequence of
+ path computations within and across PCEP sessions.
+
+ One of the extensions defined in [RFC8231] is the Stateful PCE
+ Request Parameters (SRP) object. That object includes a Flags field
+ that is a set of 32 bit flags, and RFC 8281 defines an IANA registry
+ for tracking assigned flags. However, RFC 8231 does not explain how
+ an implementation should set unassigned flags in transmitted
+ messages, nor how an implementation should process unassigned or
+ unknown flags in received messages.
+
+ Furthermore, [RFC8231] gives no guidance to the authors of future
+ specifications about how to describe the interaction between flags
+ that have already been defined and flags being defined in the new
+ specifications.
+
+ This document updates RFC 8231 by defining the correct behaviors.
+
+2. 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.
+
+3. Updated Procedures
+
+3.1. Advice for Specification of New Flags
+
+ Section 7 of [RFC8231] introduces changes to existing PCEP objects
+ and defines new PCEP objects and TLVs in support of stateful PCE
+ functionality. That text does not advise future specifications on
+ how to describe the interaction between flags that may be defined.
+
+ The text in Section 7 of [RFC8231] is updated to read as follows:
+
+ The PCEP objects defined in this document are compliant with the
+ PCEP object format defined in [RFC5440]. The P and I flags of the
+ PCEP objects defined in the current document MUST be set to 0 on
+ transmission and SHOULD be ignored on receipt since they are
+ exclusively related to path computation requests.
+
+ The sections that follow define PCEP objects and TLVs that contain
+ Flags fields, and some flag values are defined. Future
+ specifications may define further flags, and each new
+ specification that defines additional flags is expected to
+ describe the interaction between these new flags and any existing
+ flags. In particular, new specifications are expected to explain
+ how to handle the cases when both new and pre-existing flags are
+ set.
+
+3.2. Flags Field of the SRP Object
+
+ Section 7.2 of [RFC8231] defines the PCEP SRP object. It describes
+ the Flags field as:
+
+ Flags (32 bits): None defined yet.
+
+ This document updates that text as follows:
+
+ Flags (32 bits): This document does not define any flags.
+ Unassigned flags MUST be set to zero on transmission and MUST be
+ ignored on receipt. Implementations that do not understand any
+ particular flag MUST ignore the flag.
+
+4. Compatibility Considerations
+
+ While one of the main objectives of the changes made by this document
+ is to enable backward compatibility, there remains an issue of
+ compatibility between existing implementations of RFC 8231 and
+ implementations that are consistent with this document.
+
+ It should be noted that common behavior for Flags fields is as
+ described by the updated text presented in Section 3. Thus, many
+ implementations, lacking guidance from RFC 8231, will still have
+ implemented a consistent and future-proof approach. However, for
+ completeness, it is worth noting how behaviors might interact between
+ implementations.
+
+ SRP objects generated by an implementation of this document will set
+ all unknown flag bits to zero and will therefore cause no issues to
+ an older implementation even if it inspects those bits. Similarly,
+ an implementation of this document will not inspect any unknown flag
+ bits and will therefore be unaffected by older implementations no
+ matter how they set the flags.
+
+ There will remain an issue with compatibility between implementations
+ and how they set the flags. An implementation of RFC 8231 might set
+ any of the unassigned flags, but an implementation of a future or
+ current specification (such as [RFC8281] or [RFC8741]) assigns
+ specific meanings to a flag if set. That problem cannot be fixed in
+ old implementations by any amount of documentation and can only be
+ handled for future specifications by obsoleting the Flags field and
+ using a new technique. Fortunately, however, most implementations
+ will have been constructed to set unused flags to zero, which is
+ consistent with the behavior described in this document, and so the
+ risk of bad interactions is sufficiently small that there is no need
+ to obsolete the existing Flags field.
+
+5. Management Considerations
+
+ Implementations receiving set SRP flags that they do not recognize
+ MAY log this. That could be helpful for diagnosing backward
+ compatibility issues with future features that utilize those flags.
+
+6. Security Considerations
+
+ [RFC8231] sets out security considerations for PCEP when used for
+ communication with a stateful PCE. This document does not change
+ those considerations.
+
+ However, by defining the expected behavior of implementations, this
+ document may improve the stability of networks and thus reduce the
+ attack surface. That is, by reminding implementations to ignore
+ unset bits, it is less possible to attack them by randomly tweaking
+ bits. Furthermore, by reminding implementations to leave undefined
+ bits unset, the network is future-proofed against new definitions of
+ previously undefined bits.
+
+7. IANA Considerations
+
+ IANA maintains a registry called the "Path Computation Element
+ Protocol (PCEP) Numbers" registry with a subregistry called "SRP
+ Object Flag Field". IANA has updated the reference for that
+ subregistry to list this document in addition to [RFC8281].
+
+8. References
+
+8.1. Normative References
+
+ [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>.
+
+ [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>.
+
+ [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, September 2017,
+ <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, December 2017,
+ <https://www.rfc-editor.org/info/rfc8281>.
+
+8.2. Informative References
+
+ [RFC4657] Ash, J., Ed. and J.L. Le Roux, Ed., "Path Computation
+ Element (PCE) Communication Protocol Generic
+ Requirements", RFC 4657, DOI 10.17487/RFC4657, September
+ 2006, <https://www.rfc-editor.org/info/rfc4657>.
+
+ [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>.
+
+ [RFC8741] Raghuram, A., Goddard, A., Karthik, J., Sivabalan, S., and
+ M. Negi, "Ability for a Stateful Path Computation Element
+ (PCE) to Request and Obtain Control of a Label Switched
+ Path (LSP)", RFC 8741, DOI 10.17487/RFC8741, March 2020,
+ <https://www.rfc-editor.org/info/rfc8741>.
+
+Acknowledgements
+
+ Thanks to the authors of [RFC8741] for exposing the need for this
+ work. Thanks to Dhruv Dhody and Julien Meuric for discussing the
+ solution. Additional thanks to Hariharan Ananthakrishnan for his
+ Shepherd's review. Thanks to Benjamin Kaduk and Alvaro Retana for
+ helpful comments during IESG review.
+
+Author's Address
+
+ Adrian Farrel
+ Old Dog Consulting
+
+ Email: adrian@olddog.co.uk