draft-ietf-pce-disco-proto-ospf-01.txt   draft-ietf-pce-disco-proto-ospf-02.txt 
Network Working Group J.L. Le Roux (Editor) Network Working Group J.L. Le Roux (Editor)
Internet Draft France Telecom Internet Draft France Telecom
Category: Standard Track Category: Standard Track
Expires: June 2007 J.P. Vasseur (Editor) Expires: August 2007 J.P. Vasseur (Editor)
Cisco System Inc. Cisco System Inc.
Yuichi Ikejiri Yuichi Ikejiri
NTT Communications NTT Communications
Raymond Zhang Raymond Zhang
BT Infonet BT Infonet
December 2006 February 2007
OSPF protocol extensions for Path Computation Element (PCE) Discovery OSPF protocol extensions for Path Computation Element (PCE) Discovery
draft-ietf-pce-disco-proto-ospf-01.txt draft-ietf-pce-disco-proto-ospf-02.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other Task Force (IETF), its areas, and its working groups. Note that other
skipping to change at page 1, line 47 skipping to change at page 1, line 47
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
There are various circumstances where it is highly desirable for a There are various circumstances where it is highly desirable for a
Path Computation Client (PCC) to be able to dynamically and Path Computation Client (PCC) to be able to dynamically and
automatically discover a set of Path Computation Element(s) (PCE), automatically discover a set of Path Computation Elements (PCE),
along with some of information that can be used for PCE selection. along with some of information that can be used for PCE selection.
When the PCE is a Label Switch Router (LSR) participating to the IGP, When the PCE is a Label Switching Router (LSR) participating in the
or even a server participating passively to the IGP, a simple and Interior Gateway Protocol (IGP), or even a server participating
efficient way for PCE discovery consists of relying on IGP flooding. passively in the IGP, a simple and efficient way to discover PCEs
For that purpose this document defines OSPF extensions for the consists of using IGP flooding. For that purpose, this document
advertisement of PCE Discovery information within an OSPF area or defines extensions to the Open Shortest Path First (OSPF) routing
within the entire OSPF routing domain. protocol for the advertisement of PCE Discovery information within an
OSPF area or within the entire OSPF routing domain.
Conventions used in this document Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119. document are to be interpreted as described in RFC-2119.
Table of Contents Table of Contents
1. Note (to be removed before publication).....................3 1. Terminology.................................................3
2. Terminology.................................................3 2. Introduction................................................4
3. Introduction................................................4 3. Overview....................................................5
4. Overview....................................................5 3.1. PCE Information.............................................5
4.1. PCE Information.............................................5 3.2. PCE Discovery Information...................................5
4.1.1. PCE Discovery Information...................................5 3.2.1. PCE Status Information......................................6
4.1.2. PCE Status Information......................................6 3.3. Flooding scope..............................................6
4.2. Flooding scope..............................................6 4. OSPF extensions.............................................6
5. OSPF extensions.............................................6 4.1. The OSPF PCED TLV...........................................6
5.1. The OSPF PCED TLV...........................................6 4.1.1. PCE-ADDRESS sub-TLV.........................................8
5.1.1. PCE-ADDRESS sub-TLV.........................................8 4.1.2. PATH-SCOPE sub-TLV..........................................8
5.1.2. PATH-SCOPE sub-TLV..........................................8 4.1.3. PCE-DOMAINS sub-TLV........................................10
5.1.3. PCE-DOMAINS sub-TLV........................................10 4.1.3.1. Area ID DOMAIN sub-TLV...................................11
5.1.3.1. IPv4 area ID DOMAIN sub-TLV..............................11 4.1.3.2. AS Number sub-TLV........................................12
5.1.3.2. IPv6 area ID DOMAIN sub-TLV..............................12 4.1.4. PCE-NEIG-DOMAINS sub-TLV...................................12
5.1.3.3. AS Number sub-TLV........................................12 4.1.5. PCE-CAP-FLAGS sub-TLV......................................13
5.1.4. PCE-DEST-DOMAINS sub-TLV...................................12 4.1.6. The CONGESTION sub-TLV.....................................14
5.1.5. GENERAL-CAP sub-TLV........................................13 5. Elements of Procedure......................................15
5.1.6. The PATH-COMP-CAP sub-TLV..................................14 5.1. CONGESTION sub-TLV specific procedures.....................16
5.1.6.1. Objective Functions sub-TLV..............................16 6. Backward compatibility.....................................16
5.1.6.2. Opaque Objective Function sub-TLV........................16 7. IANA Considerations........................................17
5.1.6.3. Switch Caps sub-TLV......................................17 7.1. OSPF TLV...................................................17
5.2. The OSPF PCES TLV..........................................17 7.2. PCED sub-TLVs registry.....................................17
5.2.1. The CONGESTION sub-TLV.....................................18 7.3. PCE Capability Flags registry..............................17
6. Elements of Procedure......................................19 8. Security Considerations....................................18
6.1.1. PCES TLV specific procedures...............................20 9. Manageability Considerations...............................18
7. Backward compatibility.....................................20 9.1. Control of Policy and Functions............................18
8. IANA considerations........................................21 9.2. Information and Data Model.................................19
8.1. OSPF TLVs..................................................21 9.3. Liveness Detection and Monitoring..........................19
8.2. Capability bits............................................22 9.4. Verify Correct Operations..................................19
9. Security Considerations....................................22 9.5. Requirements on Other Protocols and Functional
10. Manageability Considerations...............................23 Components...............................................19
11. Acknowledgments............................................23 9.6. Impact on network operations...............................19
12. References.................................................23 10. Acknowledgments............................................20
12.1. Normative references.......................................23 11. References.................................................20
12.2. Informative references.....................................24 11.1. Normative references........................................20
13. Editor's Addresses:........................................24 11.2. Informative references......................................20
14. Contributors' Addresses:...................................24 12. Editor's Addresses:.........................................21
15. Intellectual Property Statement............................24 13. Contributors' Addresses:....................................21
14. Intellectual Property Statement.............................21
1. Note (to be removed before publication)
This document specifies new TLVs and sub-TLVs to be carried within
the OSPF Router information LSA ([OSPF-CAP]). Because this document
does not introduce any new element of procedure it will be discussed
within the PCE Working Group with a review of the OSPF Working Group.
2. Terminology 1. Terminology
Terminology used in this document Terminology used in this document
ABR: IGP Area Border Router. ABR: IGP Area Border Router.
AS: Autonomous System. AS: Autonomous System.
Domain: any collection of network elements within a common sphere Domain: any collection of network elements within a common sphere
of address management or path computational responsibility. of address management or path computational responsibility.
Examples of domains include IGP areas and Autonomous Systems. Examples of domains include IGP areas and Autonomous Systems.
IGP: Interior Gateway Protocol. Either of the two routing
protocols Open Shortest Path First (OSPF) or Intermediate System
to Intermediate System (ISIS).
Intra-area TE LSP: A TE LSP whose path does not cross IGP area Intra-area TE LSP: A TE LSP whose path does not cross IGP area
boundaries. boundaries.
Intra-AS TE LSP: A TE LSP whose path does not cross AS boundaries. Intra-AS TE LSP: A TE LSP whose path does not cross AS boundaries.
Inter-area TE LSP: A TE LSP whose path transits through Inter-area TE LSP: A TE LSP whose path transits two or more IGP
two or more IGP areas. areas. That is a TE-LSP that crosses at least one IGP area
boundary.
Inter-AS TE LSP: A TE LSP whose path transits through two or more Inter-AS TE LSP: A TE LSP whose path transits two or more
ASes or sub-ASes (BGP confederations). ASes or sub-ASes (BGP confederations). That is a TE-LSP that
crosses at least one AS boundary.
LSR: Label Switch Router. LSA: Link State Advertisement
PCC: Path Computation Client: any client application requesting a LSR: Label Switching Router.
PCC: Path Computation Client: Any client application requesting a
path computation to be performed by a Path Computation Element. path computation to be performed by a Path Computation Element.
PCE: Path Computation Element: an entity (component, application, PCE: Path Computation Element: An entity (component, application,
or network node) that is capable of computing a network path or or network node) that is capable of computing a network path or
route based on a network graph, and applying computational route based on a network graph, and applying computational
constraints. constraints.
PCEP: Path Computation Element Protocol. PCEP: Path Computation Element Protocol.
TE LSP: Traffic Engineered Label Switched Path. TE LSP: Traffic Engineered Label Switched Path.
3. Introduction 2. Introduction
[RFC4655] describes the motivations and architecture for a PCE-based [RFC4655] describes the motivations and architecture for a PCE-based
path computation model for Multi Protocol Label Switching (MPLS) and path computation model for Multi Protocol Label Switching (MPLS) and
Generalized MPLS (GMPLS) Traffic Engineered Label Switched Paths (TE- Generalized MPLS (GMPLS) Traffic Engineered Label Switched Paths (TE-
LSPs). The model allows for the separation of PCE from PCC (also LSPs). The model allows for the separation of the PCE from a PCC
referred to as non co-located PCE) and allows for cooperation between (also referred to as a non co-located PCE) and allows for cooperation
PCEs. This relies on a communication protocol between PCC and PCE, between PCEs. This relies on a communication protocol between PCC and
and between PCEs. The requirements for such communication protocol PCE, and between PCEs. The requirements for such a communication
can be found in [RFC4657] and the communication protocol is defined protocol can be found in [RFC4657] and the communication protocol is
in [PCEP]. defined in [PCEP].
The PCE architecture requires, of course, that a PCC be aware of the The PCE architecture requires that a PCC be aware of the location of
location of one or more PCEs in its domain, and also potentially of one or more PCEs in its domain, and also potentially of some PCEs in
some PCEs in other domains, e.g. in case of inter-domain TE LSP other domains, e.g. in case of inter-domain TE LSP computation.
computation.
A network may comprise a large number of PCEs with potentially A network may contain a large number of PCEs with potentially
distinct capabilities. In such context it is highly desirable to have distinct capabilities. In such a context it is highly desirable to
a mechanism for automatic and dynamic PCE discovery, which allows have a mechanism for automatic and dynamic PCE discovery, which
PCCs to automatically discover a set of PCEs, along with additional allows PCCs to automatically discover a set of PCEs, along with
information required for PCE selection, and to dynamically detect new additional information about each PCE that may be required for the
PCEs or any modification of PCE information. Detailed requirements PCC to perform PCE selection. Additionally, it is valuable for a PCC
for such a PCE discovery mechanism are described in [RFC4674]. to dynamically detect new PCEs or any modification of the PCE
information. Detailed requirements for such a PCE discovery mechanism
are provided in [RFC4674].
Moreover, it may also be useful to discover when a PCE experiences Moreover, it may also be useful to discover when a PCE experiences
some processing congestion state and exits such state, in order for processing congestion and when it exits such a state, in order for
the PCCs to take some appropriate actions (e.g. redirect to another the PCCs to take some appropriate actions (e.g. to redirect their
PCE). Note that the PCE selection algorithm is out of the scope of requests to another PCE). Note that the PCE selection algorithm
this document. applied by a PCC is out of the scope of this document.
When PCCs are LSRs participating to the IGP (OSPF or IS-IS), and PCEs When PCCs are LSRs participating in the IGP (OSPF or IS-IS), and PCEs
are LSRs or a servers also participating to the IGP, an efficient are either LSRs or servers also participating in the IGP, an
mechanism for PCE discovery within an IGP routing domain consists of effective mechanism for PCE discovery within an IGP routing domain
relying on IGP advertisements. consists of utilizing IGP advertisements.
This document defines OSPF extensions allowing a PCE in the OSPF This document defines OSPF extensions to allow a PCE in an OSPF
routing domain to advertise its location along with some information routing domain to advertise its location along with some information
useful for PCE selection so as to satisfy dynamic PCE discovery useful to a PCC for PCE selection so as to satisfy dynamic PCE
requirements set forth in [RFC4674]. This document also defines discovery requirements set forth in [RFC4674]. This document also
extensions allowing a PCE in the OSPF routing domain to advertise its defines extensions allowing a PCE in an OSPF routing domain to
potential processing congestion state. advertise its processing congestion state.
Generic capability mechanisms for OSPF have been defined in [OSPF- Generic capability advertisement mechanisms for OSPF are defined in
CAP] the purpose of which is to allow a router to advertise its [OSPF-CAP]. These allow a router to advertise its capabilities within
capability within an OSPF area or an entire OSPF routing domain. Such an OSPF area or an entire OSPF routing domain. This document
OSFP extensions fully satisfy the aforementioned dynamic PCE leverages this generic capability advertisement mechanism to fully
discovery requirements. satisfy the aforementioned dynamic PCE discovery requirements.
This document defines two new sub-TLVs (named the PCE Discovery This document defines a new sub-TLV (named the PCE Discovery (PCED)
(PCED) TLV and the PCE Status (PCES) TLV), to be carried within the TLV) to be carried within the OSPF Router Information LSA ([OSPF-
OSPF Router Information LSA ([OSPF-CAP]). CAP]).
The PCE information advertised is detailed in section 4. Protocol The PCE information advertised is detailed in section 3. Protocol
extensions and procedures are defined in section 5 and 6. extensions and procedures are defined in section 4 and 5.
This document does not define any new OSPF element of procedure but This document does not define any new OSPF elements of procedure. The
how the procedures defined in [OSPF-CAP] should be used. procedures defined in [OSPF-CAP] should be used.
The routing extensions defined in this document allow for PCE The OSPF extensions defined in this document allow for PCE discovery
discovery within an OSPF Routing domain. Solutions for PCE discovery within an OSPF Routing domain. Solutions for PCE discovery across AS
across AS boundaries are beyond the scope of this document, and for boundaries are beyond the scope of this document, and for further
further study. study.
In this document, we call TLV any TLV that is carried within an OSPF In this document, we call TLV any TLV that is carried within an OSPF
LSA. We call indifferently TLV or sub-TLV, any TLV that is itself LSA. Any TLV that is itself carried within another TLV is referred to
carried within another TLV. as either a TLV or a sub-TLV.
4. Overview 3. Overview
4.1. PCE Information 3.1. PCE Information
The PCE information advertised via OSPF falls into two categories: The PCE information advertised via OSPF falls into two categories:
PCE Discovery Information and PCE Status information. PCE Discovery information and PCE Status information.
4.1.1. PCE Discovery Information 3.2. PCE Discovery Information
The PCE Discovery information is comprised of: The PCE Discovery information is comprised of:
- The PCE location: an IPv4 and/or IPv6 address that must be - The PCE location: an IPv4 and/or IPv6 address that is used to reach
used to reach the PCE. It is RECOMMENDED to use addresses always the PCE. It is RECOMMENDED to use an address that is always
reachable; reachable;
- The PCE inter-domain functions: PCE path computation scope (i.e. - The PCE inter-domain functions: PCE path computation scope (e.g.,
inter-area, inter-AS, inter-layer…); inter-area, inter-AS, inter-layer);
- The PCE domain(s): the set of one or more domain(s) where - The PCE domain(s): the set of one or more domain(s) into which
the PCE has visibility and can compute paths; the PCE has visibility and can compute paths;
- The PCE Destination domain(s): set of one or more destination - The PCE neighbor domain(s): set of one or more neighbors domain(s)
domain(s) towards which a PCE can compute paths; towards which a PCE can compute paths;
- A set of general PCEP capabilities (e.g. support for request - A set of communication capabilities (e.g., support for request
prioritization) and path computation specific capabilities prioritization) and path computation specific capabilities
(e.g. supported constraints, supported objective functions). (e.g. supported constraints).
Optional elements to describe more complex capabilities may also be Optional elements to describe more complex capabilities may also be
advertised. advertised.
PCE Discovery information is by nature fairly static and does not PCE Discovery information is by nature fairly static and does not
change with PCE activity. Changes in PCE Discovery information may change with PCE activity. Changes in PCE Discovery information may
occur as a result of PCE configuration updates, PCE occur as a result of PCE configuration updates, PCE
deployment/activation, PCE deactivation/suppression or PCE failure. deployment/activation, PCE deactivation/suppression, or PCE failure.
Hence, this information is not expected to change frequently. Hence, this information is not expected to change frequently.
4.1.2. PCE Status Information 3.2.1. PCE Status Information
The PCE Status is optional information and can be used to report a The PCE Status is optional information and can be used to report a
PCE processing congested state along with an estimated congestion PCE's processing congestion state along with an estimated congestion
duration. This is a dynamic information, which may change with PCE duration. This is a dynamic information, which may change with PCE
activity. activity.
Procedures for a PCE to move from a processing congested state to a Procedures for a PCE to move from a processing congestion state to a
non congested state are beyond the scope of this document, but the non congestion state are beyond the scope of this document, but the
rate at which a PCE Status change is advertised MUST not impact by rate at which a PCE Status change is advertised MUST NOT impact by
any mean the IGP scalability. Particular attention should be given on any means the IGP scalability. Particular attention MUST be given to
procedures to avoid state oscillations. procedures to avoid state oscillations.
4.2. Flooding scope 3.3. Flooding scope
The flooding scope for PCE information advertised through OSPF can be
limited to one or more OSPF areas the PCE belongs to, or can be
extended across the entire OSPF routing domain.
The flooding scope for PCE Discovery Information can be limited to
one or more OSPF areas the PCE belongs to or can be extended across
the entire OSPF routing domain.
Note that some PCEs may belong to multiple areas, in which case the Note that some PCEs may belong to multiple areas, in which case the
flooding scope may comprise these areas. This could be the case of an flooding scope may comprise these areas. This could be the case for
ABR for instance advertising its PCE information within the backbone an ABR for instance advertising its PCE information within the
area and/or a subset of its attached IGP area(s). backbone area and/or a subset of its attached IGP area(s).
5. OSPF extensions 4. OSPF extensions
5.1. The OSPF PCED TLV 4.1. The OSPF PCED TLV
The OSPF PCE Discovery TLV (PCED TLV) is made of a set of non-ordered The OSPF PCE Discovery TLV (PCED TLV) is made of a set of non-ordered
sub-TLVs. sub-TLVs.
The format of the OSPF PCED TLV and its sub-TLVs is the identical as The format of the OSPF PCED TLV and its sub-TLVs is identical to the
the TLV format used by the Traffic Engineering Extensions to OSPF TLV format used by the Traffic Engineering Extensions to OSPF
[RFC3630]. That is, the TLV is composed of 2 octets for the type, 2 [RFC3630]. That is, the TLV is composed of 2 octets for the type, 2
octets specifying the TLV length and a value field. The Length field octets specifying the TLV length, and a value field. The Length field
defines the length of the value portion in octets. defines the length of the value portion in octets.
The TLV is padded to four-octet alignment; padding is not included in The TLV is padded to four-octet alignment; padding is not included in
the length field (so a three octet value would have a length of the Length field (so a three octet value would have a length of
three, but the total size of the TLV would be eight octets). Nested three, but the total size of the TLV would be eight octets). Nested
TLVs are also 32-bit aligned. Unrecognized types are ignored. All TLVs are also four-octet aligned. Unrecognized types are ignored.
types between 32768 and 65535 are reserved for vendor-specific All Type values between 32768 and 65535 are reserved for vendor-
extensions. All other undefined type codes are reserved for future specific extensions. All other undefined Type codes are reserved for
assignment by IANA. future assignment by IANA.
The OSPF PCED TLV has the following format: The OSPF PCED TLV has the following format:
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 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 | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
// sub-TLVs // // sub-TLVs //
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be defined by IANA (suggested value=2) Type To be defined by IANA (suggested value=5)
Length Variable Length Variable
Value This comprises one or more sub-TLVs Value This comprises one or more sub-TLVs
Sub-TLVs types are under IANA control. Sub-TLVs types are under IANA control.
Currently five sub-TLVs are defined (type values to be assigned by Currently five sub-TLVs are defined (type values to be assigned by
IANA): IANA):
Sub-TLV type Length Name Sub-TLV type Length Name
1 variable PCE-ADDRESS sub-TLV 1 variable PCE-ADDRESS sub-TLV
2 4 PATH-SCOPE sub-TLV 2 4 PATH-SCOPE sub-TLV
3 variable PCE-DOMAINS sub-TLV 3 variable PCE-DOMAINS sub-TLV
4 variable PCE-DEST-DOMAINS sub-TLV 4 variable PCE-NEIG-DOMAINS sub-TLV
5 variable GENERAL-CAP sub-TLV 5 variable PCE-CAP-FLAGS sub-TLV
6 variable PATH-COMP-CAP sub-TLV 6 4 CONGESTION sub-TLV
The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within
the PCED TLV. the PCED TLV.
The PCE-DOMAINS and PCE-DEST-DOMAINS sub-TLVs are optional. They MAY The PCE-DOMAINS and PCE-NEIG-DOMAINS sub-TLVs are optional. They MAY
be present in the PCED TLV to facilitate selection of inter-domain be present in the PCED TLV to facilitate selection of inter-domain
PCEs. PCEs.
The GENERAL-CAP and PATH-COMP-CAP sub-TLVs are optional and MAY be The PCE-CAP-FLAGS sub-TLV is optional and MAY be present in the PCED
present in the PCED TLV to facilitate the PCE selection process. TLV to facilitate the PCE selection process.
The CONGESTION sub-TLV is optional and MAY be present in the PCED
TLV, to indicate a PCE's processing congestion state.
Any non recognized sub-TLV MUST be silently ignored. Any non recognized sub-TLV MUST be silently ignored.
Additional sub-TLVs could be added in the future to advertise Additional sub-TLVs could be added in the future to advertise
additional information. additional information.
The PCED TLV is carried within an OSPF Router Information LSA The PCED TLV is carried within an OSPF Router Information LSA
defined in [OSPF-CAP]. defined in [OSPF-CAP].
5.1.1. PCE-ADDRESS sub-TLV 4.1.1. PCE-ADDRESS sub-TLV
The PCE-ADDRESS sub-TLV specifies the IP address(es) that MUST be The PCE-ADDRESS sub-TLV specifies the IP address(es) that can be
used to reach the PCE. It is RECOMMENDED to make use of an address used to reach the PCE. It is RECOMMENDED to make use of an address
that is always reachable, provided that the PCE is alive. that is always reachable, provided that the PCE is alive.
The PCE-ADDRESS sub-TLV is mandatory; it MUST be present within the The PCE-ADDRESS sub-TLV is mandatory; it MUST be present within the
PCED TLV. It MAY appear twice, when the PCE has both an IPv4 and IPv6 PCED TLV. It MAY appear twice, when the PCE has both an IPv4 and IPv6
address. It MUST NOT appear more than once for the same address type. address. It MUST NOT appear more than once for the same address type.
The format of the PCE-ADDRESS sub-TLV is as follows: The format of the PCE-ADDRESS sub-TLV is as follows:
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 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 | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| address-type | Reserved | | address-type | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
// PCE IP Address // // PCE IP Address //
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PCE-ADDRESS sub-TLV format PCE-ADDRESS sub-TLV format
Type To be assigned by IANA (suggested value =1) Type To be assigned by IANA (suggested value =1)
Length 4 (IPv4) or 16 (IPv6) Length 8 (IPv4) or 20 (IPv6)
Address-type: Address-type:
1 IPv4 1 IPv4
2 IPv6 2 IPv6
PCE IP Address: The IP address to be used to reach the PCE. PCE IP Address: The IP address to be used to reach the PCE.
This is the address that will be used for This is the address that will be used for
setting up PCC-PCE communication sessions. setting up PCC-PCE communication sessions.
5.1.2. PATH-SCOPE sub-TLV 4.1.2. PATH-SCOPE sub-TLV
The PATH-SCOPE sub-TLV indicates the PCE path computation scope(s), The PATH-SCOPE sub-TLV indicates the PCE path computation scope,
which refers to the PCE ability to compute or take part into the which refers to the PCE's ability to compute or take part in the
computation of intra-area, inter-area, inter-AS or inter-layer_TE computation of intra-area, inter-area, inter-AS, or inter-layer_TE
LSP(s). LSP(s).
The PATH-SCOPE sub-TLV is mandatory; it MUST be present within the The PATH-SCOPE sub-TLV is mandatory; it MUST be present within the
PCED TLV. There MUST be exactly one instance of the PATH-SCOPE sub- PCED TLV. There MUST be exactly one instance of the PATH-SCOPE sub-
TLV within each PCED TLV. TLV within each PCED TLV.
The PATH-SCOPE sub-TLV contains a set of bit flags indicating the The PATH-SCOPE sub-TLV contains a set of bit flags indicating the
supported path scopes (intra-area, inter-area, inter-AS, inter-layer) supported path scopes and four fields indicating PCE preferences.
and four fields indicating PCE preferences.
The PATH-SCOPE sub-TLV has the following format: The PATH-SCOPE sub-TLV has the following format:
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 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 | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|1|2|3|4|5| Reserved |PrefL|PrefR|PrefS|PrefY| Res | |0|1|2|3|4|5| Reserved |PrefL|PrefR|PrefS|PrefY| Res |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be defined by IANA (suggested value =2) Type To be defined by IANA (suggested value =2)
Length Variable Length 4
Value This comprises a 2 bytes flag where each bit Value This comprises a 2 byte flag field where each bit
represents a supported path scope, as well as four represents a supported path scope, as well as four
preference fields used to specify PCE preferences. preference fields used to specify PCE preferences.
The following bits are defined: The following bits are defined:
Bit Path Scope Bit Path Scope
0 L bit: Can compute intra-area path 0 L bit: Can compute intra-area paths
1 R bit: Can act as PCE for inter-area TE LSPs 1 R bit: Can act as PCE for inter-area TE LSP
computation computation
2 Rd bit: Can act as a default PCE for inter-area TE LSPs 2 Rd bit: Can act as a default PCE for inter-area TE LSP
computation computation
3 S bit: Can act as PCE for inter-AS TE LSPs computation 3 S bit: Can act as PCE for inter-AS TE LSP computation
4 Sd bit: Can act as a default PCE for inter-AS TE LSPs 4 Sd bit: Can act as a default PCE for inter-AS TE LSP
computation computation
5 Y bit: Can compute or take part into the computation of 5 Y bit: Can compute or take part into the computation
paths across layers. of paths across layers.
Pref-L field: PCE's preference for intra-area TE LSPs computation. Pref-L field: PCE's preference for intra-area TE LSPs computation.
Pref-R field: PCEs preference for inter-area TE LSPs computation. Pref-R field: PCE's preference for inter-area TE LSPs computation.
Pref-S field: PCEs preference for inter-AS TE LSPs computation. Pref-S field: PCE's preference for inter-AS TE LSPs computation.
Pref-Y field: PCE's preference for inter-layer TE LSPs computation. Pref-Y field: PCE's preference for inter-layer TE LSPs computation.
Res: Reserved for future usage. Res: Reserved for future usage.
The bits L, R, S and Y bits are set when the PCE can act as a PCE for The bits L, R, S, and Y bits are set when the PCE can act as a PCE
intra-area, inter-area, inter-AS and inter-layer TE LSPs computation for intra-area, inter-area, inter-AS, or inter-layer TE LSPs
respectively. These bits are non exclusive. computation respectively. These bits are non-exclusive.
When set the Rd bit indicates that the PCE can act as a default PCE When set the Rd bit indicates that the PCE can act as a default PCE
for inter-area TE LSPs computation (the PCE can compute path for any for inter-area TE LSPs computation (that is the PCE can compute a
destination area). Similarly, when set the Sd bit indicates that the path towards any neighbor area). Similarly, when set, the Sd bit
PCE can act as a default PCE for inter-AS TE LSPs computation (the indicates that the PCE can act as a default PCE for inter-AS TE LSP
PCE can compute path for any destination AS). computation (the PCE can compute a path towards any neighbor AS).
When the Rd bit is set the PCE-DEST-DOMAIN TLV (see 5.1.4) does not When the Rd bit is set the PCE-NEIG-DOMAIN TLV (see 5.1.4) MUST NOT
contain any Area ID DOMAIN sub-TLV. contain any Area ID DOMAIN sub-TLVs.
Similarly, when the Sd bit is set the PCE-DEST-DOMAIN TLV does not Similarly, when the Sd bit is set the PCE-NEIG-DOMAIN TLV MUST NOT
contain any AS-DOMAIN sub-TLV. contain any AS-DOMAIN sub-TLVs.
The PrefL, PrefR, PrefS and PrefY fields are 3-bit long and allow the When the R/S bit is cleared, the Rd/Sd bit SHOULD be cleared and MUST
PCE to specify a preference for each computation scope, where 7 be ignored.
reflects the highest preference. Such preference can be used for
weighted load balancing of requests. An operator may decide to
configure a preference to each PCE so as to balance the path
computation load among them, with respect to their respective CPU
capacity. The algorithms used by a PCC to load balance its path
computation requests according to such PCE’s preference is out of the
scope of this document. Same or distinct preferences may be used for
different scopes. For instance an operator that wants a PCE capable
of both inter-area and inter-AS computation to be used preferably for
inter-AS computation may configure a PrefS higher than the PrefR.
When the PrefL, PrefR, PRefS or PrefY is cleared, this indicates an
absence of preference.
When the L bit, R bit, S or Y bit are cleared, the PrefL, PrefR, The PrefL, PrefR, PrefS and PrefY fields are each three bits long and
PrefS, PrefY fields MUST respectively be set to 0. allow the PCE to specify a preference for each computation scope,
where 7 reflects the highest preference. Such preference can be used
for weighted load balancing of requests. An operator may decide to
configure a preference for each computation scope to each PCE so as
to balance the path computation load among them. The algorithms used
by a PCC to load balance its path computation requests according to
such PCE preference is out of the scope of this document and is a
matter for local or network wide policy. The same or distinct
preferences may be used for each scope. For instance an operator that
wants a PCE capable of both inter-area and inter-AS computation to be
used preferably for inter-AS computation may configure a PrefS higher
than the PrefR.
5.1.3. PCE-DOMAINS sub-TLV When the L bit, R bit, S bit or Y bit are cleared, the PrefL, PrefR,
PrefS, PrefY fields SHOULD respectively be set to 0 and MUST be
ignored.
The PCE-DOMAINS sub-TLV specifies the set of domains (areas, AS) Both reserved fields SHOULD be set to zero on transmission and MUST
where the PCE has topology visibility and can compute paths. It be ignored on receipt.
contains a set of one or more sub-TLVs where each sub-TLV identifies
a domain.
The PCED TLV MUST include zero or one PCE-DOMAINS sub-TLV. 4.1.3. PCE-DOMAINS sub-TLV
The PCE-DOMAINS sub-TLV MUST be present when PCE domains cannot be
The PCE-DOMAINS sub-TLV specifies the set of domains (areas and/or
ASes) where the PCE has topology visibility and through which the PCE
can compute paths. It contains a set of one or more sub-TLVs where
each sub-TLV identifies a domain.
The PCE-DOMAINS sub-TLV MAY be present when PCE domains cannot be
inferred by other IGP information, for instance when the PCE is inferred by other IGP information, for instance when the PCE is
inter-domain capable (i.e. when the R bit or S bit is set) and the inter-domain capable (i.e., when the R bit or S bit is set) and the
flooding scope is the entire OSPF routing domain. flooding scope is the entire OSPF routing domain (see section 5 for a
discussion of how the flooding scope is set and interpreted).
The PCE-DOMAINS sub-TLV has the following format: The PCE-DOMAINS sub-TLV has the following format:
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 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 | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
// DOMAIN sub-TLVs // // DOMAIN sub-TLVs //
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be defined by IANA (suggested value =3) Type To be defined by IANA (suggested value =3)
Length Variable Length Variable
Value This comprises a set of one or more DOMAIN sub-TLVs Value This comprises a set of one or more DOMAIN sub-TLVs
where each DOMAIN sub-TLV identifies a domain where where each DOMAIN sub-TLV identifies a domain where
the PCE has topology visibility and can compute paths. the PCE has topology visibility and can compute paths.
Sub-TLVs types are under IANA control. Two DOMAIN sub-TLVs are defined:
Currently three DOMAIN sub-TLVs are defined (suggested type values to
be assigned by IANA):
Sub-TLV type Length Name Sub-TLV type Length Name
1 variable IPv4 area ID sub-TLV 1 variable Area ID sub-TLV
2 variable IPv6 area ID sub-TLV 2 variable AS number sub-TLV
3 variable AS number sub-TLV
The PCE-DOMAINS sub-TLV MUST include at least one DOMAIN sub-TLV. The PCE-DOMAINS sub-TLV MUST include at least one DOMAIN sub-TLV.
Note than when the PCE visibility is an entire AS, the PCE-DOMAINS Note than when the PCE visibility is an entire AS, the PCE-DOMAINS
sub-TLV MUST uniquely include one AS number sub-TLV. sub-TLV MUST include exactly one AS number sub-TLV, and MUST NOT
contain an area ID sub-TLV.
5.1.3.1. IPv4 area ID DOMAIN sub-TLV 4.1.3.1. Area ID DOMAIN sub-TLV
The IPv4 area ID DOMAIN sub-TLV carries an IPv4 OSPF area identifier. The Area ID DOMAIN sub-TLV carries an IPv4 OSPF area identifier. It
It has the following format: has the following format:
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 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 | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Area ID | | Area ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be assigned by IANA (suggested value =1) Type 1
Length 4 Length 4
IPv4 OSPF area ID: The IPv4 identifier of the OSPF area Value Four octet OSPF Area ID
5.1.3.2. IPv6 area ID DOMAIN sub-TLV
The IPv6 area ID sub-TLV carries an IPv6 OSPF area identifier. It has
the following format:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Area ID |
| |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be assigned by IANA (suggested value =2)
Length 16
IPv6 OSPF area ID: The IPv6 identifier of the OSPF area
5.1.3.3. AS Number sub-TLV 4.1.3.2. AS Number sub-TLV
The AS Number sub-TLV carries an AS number. It has the following The AS Number sub-TLV carries an AS number. It has the following
format: format:
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 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 | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AS Number | | AS Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be assigned by IANA (suggested value =3) Type 2
Length 4 Length 4
AS Number: AS number identifying an AS. When coded on two AS Number: AS number identifying an AS. When coded in two
bytes (which is the current defined format as the bytes (which is the current defined format as the
time of writing this document), the AS Number field time of writing this document), the AS Number field
MUST have its left two bytes set to 0. MUST have its left two bytes set to 0.
5.1.4. PCE-DEST-DOMAINS sub-TLV 4.1.4. PCE-NEIG-DOMAINS sub-TLV
The PCE-DEST-DOMAINS sub-TLV specifies the set of destination domains The PCE-NEIG-DOMAINS sub-TLV specifies the set of neighbour domains
(areas, AS) toward which a PCE can compute paths. It means that the (areas, ASes) toward which a PCE can compute paths. It means that the
PCE can compute or take part in the computation of inter-domain LSPs PCE can compute or take part in the computation of inter-domain LSPs
whose destinations are located within one of these domains. It whose path transits one of these domains. It contains a set of one or
contains a set of one or more sub-TLVs where each sub-TLV identifies more sub-TLVs where each sub-TLV identifies a domain.
a domain.
The PCE-DEST-DOMAINS sub-TLV has the following format: The PCE-NEIG-DOMAINS sub-TLV has the following format:
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 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 | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
// DOMAIN sub-TLVs // // DOMAIN sub-TLVs //
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be defined by IANA (suggested value =3) Type To be defined by IANA (suggested value =4)
Length Variable Length Variable
Value This comprises a set of one or more Area and/or AS Value This comprises a set of one or more Area and/or AS
DOMAIN sub-TLVs where each DOMAIN sub-TLV identifies a DOMAIN sub-TLVs where each DOMAIN sub-TLV identifies a
domain toward which a PCE can compute paths. neighbour domain toward which a PCE can compute paths.
The PCE-DEST-DOMAINS sub-TLV MUST be present if the R bit is set and The PCE-NEIG-DOMAINS sub-TLV MUST be present if the R bit is set and
the Rd bit is cleared, and/or, if the S bit is set and the Sd bit is the Rd bit is cleared, and/or, if the S bit is set and the Sd bit is
cleared. cleared.
The PCE-DEST-DOMAINS sub-TLV MUST include at least one DOMAIN sub- The PCE-NEIG-DOMAINS sub-TLV MUST include at least one DOMAIN sub-
TLV. It MUST include at least one area ID sub-TLV, if the R bit of TLV. It MUST include at least one Area ID sub-TLV, if the R bit of
the PATH-SCOPE TLV is set and the Rd bit of the PATH-SCOPE TLV is the PATH-SCOPE TLV is set and the Rd bit of the PATH-SCOPE TLV is
cleared. Similarly, it MUST include at least one AS number sub-TLV if cleared. Similarly, it MUST include at least one AS number sub-TLV if
the S bit of the PATH-SCOPE TLV is set and the Sd bit of the PATH- the S bit of the PATH-SCOPE TLV is set and the Sd bit of the PATH-
SCOPE TLV is cleared. SCOPE TLV is cleared.
5.1.5. GENERAL-CAP sub-TLV 4.1.5. PCE-CAP-FLAGS sub-TLV
The GENERAL-CAP sub-TLV is an optional TLV used to indicate PCEP
related capabilities. It MAY be present within the PCED TLV. It MUST
not be present more than once.
The value field of the GENERAL-CAP sub-TLV is made of a 32-bit flag,
where each bit corresponds to a general PCE capability. It MAY also
include optional sub-TLVs to encode more complex capabilities.
The format of the GENERAL-CAP sub-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 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| General Capabilities Flag |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Optional sub-TLVs //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be assigned by IANA (suggested value =1)
Length Variable.
Value This comprises a 32-bit flag. The bits are indexed
from the most significant to the least significant,
where each bit represents one general PCE capability.
Optional TLVs may be added to specify more complex
capabilities: there is no optional TLV currently
defined.
IANA is requested to manage the space of the General Capabilities 32-
bit flag.
The following bits are to be assigned by IANA:
Bit Capabilities
0 P bit: Support for Request prioritization.
1 M bit: Support for multiple messages within the same
request message.
2-31 Reserved for future assignments by IANA.
5.1.6. The PATH-COMP-CAP sub-TLV The PCE-CAP-FLAGS sub-TLV is an optional TLV used to indicate PCE
capabilities. It MAY be present within the PCED TLV. It MUST NOT be
present more than once.
The PATH-COMP-CAP sub-TLV is an optional sub-TLV used to indicate The value field of the PCE-CAP-FLAGS sub-TLV is made up of an array
path computation specific capabilities. It MAY be present within the of units of 32 flags numbered from the most significant as bit zero,
PCED TLV. It MUST not be present more than once. where each bit represents one PCE capability.
It is made of a 32-bit flag, where each bit corresponds to a path
computation capability. It MAY also include optional sub-TLVs to
encode more complex capabilities.
The format of the PATH-COMP-CAP sub-TLV is as follows: The format of the PCE-CAP-FLAGS sub-TLV is as follows:
0 1 2 3 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 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 | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Path Computation Capabilities Flag | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // PCE Capability Flags //
// Optional sub-TLVs // | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be assigned by IANA (suggested value =1) Type To be assigned by IANA (suggested value =5)
Length Variable. Length Multiple of 4 bytes
Value This comprises a 32 bit flag. Bits are indexed from Value This contains an array of units of 32 bit flags
the most significant to the least significant, where numbered from the most significant as bit zero, where
each bit represents one path computation capability. each bit represents one PCE capability.
Optional TLVs may be defined to specify more complex
capabilities. Three optional sub-TLVs are currently
defined.
IANA is requested to manage the space of the Path Commutation IANA is requested to manage the space of the PCE Capability Flags
Capabilities 32-bit flag.
The following bits are to be assigned by IANA: The following bits are to be assigned by IANA:
Bit Capabilities Bit Capabilities
0 G bit: Capability to handle GMPLS link constraints 0 Capability to handle GMPLS link constraints
1 B bit: Capability to compute bidirectional paths 1 Capability to compute bidirectional paths
2 D bit: Capability to compute link/node/SRLG diverse paths 2 Capability to compute PSC path
3 L bit: Capability to compute load-balanced paths 3 Capability to compute a TDM path
4 S bit: Capability to compute a set of paths in a 4 Capability to compute a LSC path
5 Capability to compute a FSC path
6 Capability to compute link/node/SRLG diverse paths
7 Capability to compute load-balanced paths
8 Capability to compute a set of paths in a
synchronized Manner synchronized Manner
5 O bit: Support for multiple objective functions 9 Support for multiple objective functions
6 P bit: Capability to handle path constraints (e.g. hop 10 Capability to handle path constraints (e.g. max hop count,
count, metric bound) max path metric)
11 Support for Request prioritization.
7-31 Reserved for future assignments by IANA. 12 Support for multiple requests within the same
request message.
The G, B, D, L, S, O and P bits are not exclusive.
Three optional sub-TLVs are currently defined for the PATH-COMP-CAP
TLV:
- The Objective Functions sub-TLV (type to be defined, suggested
value =1) that carries a list of supported objective functions,
where each objective function is identified by a 16 bit integer.
- The Opaque Objective Function sub-TLV (type to be defined,
suggested value =2) that allows the user to encode a specific
objective function in any appropriate language.
- The Switch Caps sub-TLV (type to be defined, suggested value =3)
that carries a list of supported switching capabilities. It means
that the PCE can compute path for the listed switching
capabilities.
5.1.6.1. Objective Functions sub-TLV
The format of the Objective Functions sub-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 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| function 1 | function 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| function N | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be defined by IANA (suggested value =1)
Length Variable (N*2), where N is the number of supported
objective functions.
Value This comprises a set of one or more 16 bit function
ids, where each function id identifies a supported
objective function.
Objectives functions and their identification will be defined in a
separate document.
The Objective Functions sub-TLV is optional, it MAY be present with
the PATH-COMP-CAP TLV. When present it MUST be present only once in
the PATH-COMP-CAP TLV.
5.1.6.2. Opaque Objective Function sub-TLV
The format of the Opaque Objective Function sub-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 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opaque objective function |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be defined by IANA (suggested value =2)
Length Variable
Value This encode a specific objective function in any
appropriate language.
The Opaque Objective Function sub-TLV is optional. The PATH-COMP-CAP TLV
MAY comprise 0, one or more Opaque Objective Function sub-TLVs.
5.1.6.3. Switch Caps sub-TLV
The format of the Switch Caps sub-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 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SC type | SC type | SC type | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be defined by IANA (suggested value =3)
Length Variable = N, where N is the number of supported
switching capabilities
Value This comprises a set of one or more 8-bit switching
types, where each switching type identifies a
supported switching capability.
Switching type values are defined in [RFC4203].
The Switch Caps sub-TLV is optional, it MAY be present in the PATH-COMP-
CAP TLV. When present it MUST be present only once in the PATH-COMP-CAP
TLV.
5.2. The OSPF PCES TLV
The OSPF PCE Status TLV (PCES TLV) carries information related to PCE
processing congestion state.
The PCES TLV is carried within an OSPF Router Information LSA which
is defined in [OSPF-CAP].
The OSPF PCES TLV has the following format:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// PCE ADDRESS sub-TLV //
// CONGESTION sub-TLV //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be defined by IANA (suggested value=3)
Length Variable
Value This comprises a PCE ADDRESS sub-TLV, identifying the
PCE and a CONGESTION sub-TLV that contains congestion
information.
Sub-TLV types are under IANA control.
Currently two sub-TLVs are defined (type values to be assigned by
IANA):
Sub-TLV type Length Name
1 variable PCE-ADDRESS sub-TLV
2 4 CONGESTION sub-TLV
There MUST be exactly one occurrence of the PCE-ADDRESS and
CONGESTION sub-TLVs within a PCES TLV. The PCE-ADDRESS sub-TLV is
defined in section 5.1.1.
It carries one of the PCE IP addresses and is used to identify the
PCE experiencing a processing congestion state. This
is required as the PCES and PCED TLVs may be carried in separate
Router Information LSAs.A PCE implementation MUST use the same IP
address for the PCE-ADDRESS sub-TLV carried within the PCED TLV and
the PCE-ADDRESS TLV carried within the PCES sub-TLV.
Any non recognized sub-TLV MUST be silently ignored. 13-31 Reserved for future assignments by IANA.
Additional sub-TLVs could be added in the future to advertise Reserved bits SHOULD be set to zero on transmission and MUST be
additional congestion information. ignored on receipt.
5.2.1. The CONGESTION sub-TLV 4.1.6. The CONGESTION sub-TLV
The CONGESTION sub-TLV is used to indicate whether a PCE experiences The CONGESTION sub-TLV is used to indicate a PCE's processing
a processing congestion state or not along with optionally the congestion state and may optionally include the expected PCE
expected PCE congestion duration. congestion duration.
The CONGESTION sub-TLV is mandatory. There MUST be a single instance The CONGESTION sub-TLV is optional, it MAY be carried within the PCED
of the CONGESTION sub-TLV within the PCES TLV. TLV. It MUST NOT be present more than once.
The format of the CONGESTION sub-TLV is as follows: The format of the CONGESTION sub-TLV is as follows:
0 1 2 3 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 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 | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|C| Reserved | Congestion Duration | |C| Reserved | Congestion Duration |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type To be assigned by IANA (suggested value =2) Type To be assigned by IANA (suggested value =6)
Length 4 Length 4
Value Value
-C bit: When set this indicates that the PCE experiences -C bit: When set this indicates that the PCE is experiencing
congestion and cannot accept any new request. When congestion and cannot accept any new request. When
cleared this indicates that the PCE does not cleared this indicates that the PCE is not
experience congestion and can accept new requests. experiencing congestion and can accept new requests.
-Congestion Duration: 2-bytes, the estimated PCE congestion -Congestion Duration: 2-bytes, the estimated PCE congestion
duration in seconds. duration in seconds.
When C is set and the Congestion Duration field is equal to 0, this When C is set and the Congestion Duration field is equal to 0, this
means that the Congestion Duration is unknown. means that the Congestion Duration is unknown.
When C is cleared the Congestion Duration MUST be set to 0.
6. Elements of Procedure When C is cleared the Congestion Duration SHOULD be set to 0 and MUST
be ignored.
The PCES and PCED TLV are advertised within an OSPFv2 Router 5. Elements of Procedure
Information LSA (Opaque type of 4 and Opaque ID of 0) or OSPFv3
Router information LSA (function code of 12) which are defined in
[OSPF-CAP]. As such, elements of procedure are inherited
from those defined in [OSPF-CAP].
As the PCES information is likely to change more frequently than the The PCED TLV is advertised within OSPFv2 Router Information LSAs
PCED information, it is RECOMMENDED to carry PCES and PCED TLVs in (Opaque type of 4 and Opaque ID of 0) or OSPFv3 Router information
separate Router Information LSAs, so as not to carry all PCED LSAs (function code of 12) which are defined in [OSPF-CAP]. As such,
information each time the PCE status changes. elements of procedure are inherited from those defined in [OSPF-CAP].
In OSPFv2 the flooding scope is controlled by the opaque LSA type (as In OSPFv2 the flooding scope is controlled by the opaque LSA type (as
defined in [RFC2370]) and in OSPFv3 by the S1/S2 bits (as defined in defined in [RFC2370]) and in OSPFv3 by the S1/S2 bits (as defined in
[RFC2740]). If the flooding scope is local to an area then the PCED [RFC2740]). If the flooding scope is local to an area then the PCED
or PCES TLV MUST be carried within an OSPFv2 type 10 router TLV MUST be carried within an OSPFv2 type 10 router information LSA
information LSA or an OSPFV3 Router Information LSA with the S1 bit or an OSPFV3 Router Information LSA with the S1 bit set and the S2
set and the S2 bit cleared. If the flooding scope is the entire bit cleared. If the flooding scope is the entire domain then the PCED
domain then the PCED or PCES TLV MUST be carried within an OSPFv2 TLV MUST be carried within an OSPFv2 type 11 Router Information LSA
type 11 Router Information LSA or OSPFv3 Router Information LSA with or OSPFv3 Router Information LSA with the S1 bit cleared and the S2
the S1 bit cleared and the S2 bit set. bit set. When only the L bit of the PATH-SCOPE sub-TLV is set, the
When only the L bit of the PATH-SCOPE sub-TLV is set, the flooding flooding scope MUST be local.
scope MUST be local.
Note that the flooding scope of the PCED and PCES TLVs may be
distinct, in which case they will be carried in separate LSA.
A router MUST originate a new OSPF router information LSA whenever A PCE MUST originate a new OSPF Router Information LSA whenever the
the content of the PCED TLV or PCES TLV changes or whenever required content of the PCED TLV changes or whenever required by the regular
by the regular OSPF procedure (LSA refresh (every LSRefreshTime)). OSPF refresh procedure.
PCED and PCES sub-TLVs are OPTIONAL. When an OSPF LSA does not When the PCE function is deactivated on a node, the node MUST
contain any PCED or PCES sub-TLV, this means that the PCE information originate a new Router Information LSA that does no longer contain
of that node is unknown. the PCED TLV. A PCC MUST be able to detect that the PCED TLV has been
removed from a Router Information LSA.
A change in PCED or PCES information MUST not trigger any The PCE address, i.e. the address indicated within the PCE ADDRESS
SPF computation. TLV, MUST be distributed as part of OSPF routing; this allows
speeding up the detection of a PCE failure. Note that when the PCE
address is no longer reachable, this means that the PCE node has
failed or has been torn down, or that there is no longer IP
connectivity to the PCE node.
The way PCEs retrieve their own information is out of the scope of The PCED TLV is OPTIONAL. When an OSPF LSA does not contain any PCED
this document. Some information may be configured on the PCE (e.g. TLV, this means that the PCE information of that node is unknown.
address, preferences, scope) and other information may be
automatically retrieved by the PCE (e.g. areas of visibility).
6.1.1. PCES TLV specific procedures A change in PCED information MUST NOT trigger any SPF computation at
a receiving router.
The way PCEs determine the information they advertise is out of the
scope of this document. Some information may be configured on the PCE
(e.g., address, preferences, scope) and other information may be
automatically determined by the PCE (e.g., areas of visibility).
5.1. CONGESTION sub-TLV specific procedures
When a PCE enters into a processing congestion state, the conditions When a PCE enters into a processing congestion state, the conditions
of which are implementation dependent, it SHOULD originate a Router of which are implementation dependent, it MAY originate a Router
Information LSA with a PCES TLV with the C bit set, and optionally a Information LSA with a CONGESTION sub-TLV with the C bit set, and
non-null expected congestion duration. optionally a non-null expected congestion duration.
When a PCE exits from the processing congestion state, the conditions When a PCE exits from the processing congestion state, the conditions
of which are implementation dependent, two cases are considered: of which are implementation dependent, two cases are considered:
- If the congestion duration in the previously originated PCES - If the congestion duration in the previously originated
TLV was null, it SHOULD originate a PCES TLV with the C bit cleared CONGESITON sub-TLV was null, it SHOULD originate a CONGESTION sub-TLV
and a null congestion duration; with the C bit cleared and a null congestion duration;
- If the congestion duration in the previously originated PCES - If the congestion duration in the previously originated
TLV was non null, it MAY originate a PCES TLV. Note that in some CONGESTION sub-TLV was non null, it MAY originate a CONGESTION sub-
particular cases it may be desired to originate a PCES TLV with the C TLV with the C bit cleared. Note that in some particular cases it may
bit cleared if the congestion duration was over estimated. be desired to originate a CONGESTION sub-TLV with the C bit cleared
if the congestion duration was over estimated.
The congestion duration allows reducing the amount of OSPF flooding, The congestion duration allows a reduction in the amount of OSPF
as only uncongested-to-congested state transitions are advertised. flooding, as only uncongested-to-congested state transitions need to
be advertised.
An implementation SHOULD support an appropriate dampening algorithm A PCE implementation SHOULD support an appropriate dampening
so as to dampen OSPF flooding in order to not impact the OSPF algorithm so as to dampen OSPF flooding in order to not impact the
scalability. It is RECOMMENDED to introduce some hysteresis for OSPF scalability. It is RECOMMENDED to introduce some hysteresis for
congestion state transition, so as to avoid state oscillations that congestion state transition, so as to avoid state oscillations that
may impact OSPF performances. For instance two thresholds MAY be may impact OSPF performance. For instance two thresholds MAY be
configured: A resource congestion upper-threshold and a resource configured: A resource congestion upper-threshold and a resource
congestion lower-threshold. An LSR enters the congested state when congestion lower-threshold. An LSR enters the congested state when
the CPU load reaches the upper threshold and leaves the congested the CPU load reaches the upper threshold and leaves the congested
state when the CPU load goes under the lower threshold. state when the CPU load goes under the lower threshold.
Upon receipt of an updated PCES TLV a PCC should take appropriate Upon receipt of an updated CONGESTION sub-TLV a PCC SHOULD take
actions. In particular, the PCC SHOULD stop sending requests to a appropriate actions. In particular, the PCC SHOULD stop sending
congested PCE, and SHOULD gradually start sending again requests to a requests to a congested PCE, and SHOULD gradually start sending
no longer congested PCE. again requests to a PCE that is no longer congested.
7. Backward compatibility 6. Backward compatibility
The PCED and PCES TLVs defined in this document do not introduce any The PCED TLV defined in this document does not introduce any
interoperability issue. interoperability issues.
A router not supporting the PCED/PCES TLVs will just silently ignore
the TLVs as specified in [OSPF-CAP].
8. IANA considerations A router not supporting the PCED TLV will just silently ignore the
TLV as specified in [OSPF-CAP].
8.1. OSPF TLVs 7. IANA Considerations
IANA will assign two new codepoints for the PCED and PCES sub-TLVs 7.1. OSPF TLV
carried within the Router Information LSA defined in [OSPF-CAP].
Type Description Reference Once a registry for the Router Information LSA defined in
[OSPF-CAP] will have been assigned, IANA will assign a new
OSPF TLV code-point for the PCED TLV carried within the Router
Information LSA.
1 PCED [OSPF-CAP] Value Sub-TLV References
2 PCES [OSPF-CAP] ----- -------- ----------
5 PCED TLV (this document)
8.1.1 TLVs carried within the PCED TLV 7.2. PCED sub-TLVs registry
IANA is requested to manage sub-TLV types for the PCED TLV. The PCED TLV referenced above is constructed from sub-TLVs. Each sub-
TLV includes a 16-bit type identifier.
Five sub-TLVs types are defined for the PCED sub-TLV and should be The IANA is requested to create a new registry and manage TLV type
assigned by IANA: identifiers as follows:
Type Description Reference - TLV Type
- TLV Name
- Reference
This document defines five TLVs as follows (suggested values):
Value TLV name References
----- -------- ----------
1 PCE-ADDRESS This document 1 PCE-ADDRESS This document
2 PATH-SCOPE This document 2 PATH-SCOPE This document
3 PCE-DOMAINS This document 3 PCE-DOMAINS This document
4 PCE-DEST-DOMAINS This document 4 PCE-NEIG-DOMAINS This document
5 GENERAL-CAP This document 5 PCE-CAP-FLAGS This document
6 PATH-COMP-CAP This document 6 CONGESTION This document
TLVs carried within the PCE-DOMAINS and PCE-DEST-DOMAINS TLV New TLV type values may be allocated only by an IETF Consensus
action.
Three TLVs types are defined for the PCE-DOMAINS and PCE-DEST-DOMAINS 7.3. PCE Capability Flags registry
TLVs and should be assigned by IANA:
Type Description Reference This document provides new capability bit flags, which are present
in the PCE-CAP-FLAGS TLV referenced in section 4.1.5.
1 IPv4 Area ID This document The IANA is requested to create a new registry and to manage the
2 IPv6 Area ID This document space of PCE capability bit flags numbering them in the usual IETF
3 AS number This document notation starting at zero and continuing at least through 31, with
the most significant bit as bit zero.
TLV carried within the PATH-COMP-CAP sub-TLV The same registry is defined for IS-IS based PCE discovery [PCED-
ISIS]. A single registry must be defined for both protocols.
Three sub-TLV types are defined for the PATH-COMP-CAP TLV and should New bit numbers may be allocated only by an IETF Consensus action.
be assigned by IANA:
Type Description Reference Each bit should be tracked with the following qualities:
1 Objective Functions This document - Bit number
2 Opaque Objective Function This document - Defining RFC
3 Switch Caps sub-TLV This document - Capability Description
8.1.2 TLVs carried within the PCES TLV Several bits are defined in this document. Here are the suggested
values:
IANA is requested to manage TLV types for the PCES TLV. Bit Capability Description
Type Description Reference 0 GMPLS link constraints
1 Bidirectional paths
2 PSC paths
3 TDM paths
4 LSC paths
5 FSC paths
6 Diverse paths
7 Load-balanced paths
8 Synchronized computation
9 Multiple objective functions
10 Additive path constraints (e.g. max hop count)
11 Request prioritization
12 Multiple requests per message
1 PCE-ADDRESS This document 8. Security Considerations
2 CONGESTION This document
8.2. Capability bits This document defines OSPF extensions for PCE discovery within an
administrative domain. Hence the security of the PCE discovery relies
on the security of OSPF.
IANA is requested to manage the space of the General Capabilities Mechanisms defined to ensure authenticity and integrity of OSPF LSAs
32-bit flag and the Path Computation Capabilities 32-bit flag defined [RFC2154], and their TLVs, can be used to secure the PCE Discovery
in this document, numbering them in the usual IETF notation starting information as well.
at zero and continuing through 31.
New bit numbers may be allocated only by an IETF Consensus action.
Each bit should be tracked with the following qualities:
- Bit number
- Defining RFC
- Name of bit
Currently two bits are defined in the General Capabilities flag. Here OSPF provides no mechanism for protecting the privacy of LSAs, and in
are the suggested values: particular the PCE discovery information.
-0: Support for Request prioritization.
-1: Support for multiple messages within the same request message
Currently seven bits are defined in the Path Computation Capabilities 9. Manageability Considerations
flag. Here are the suggested values:
-0: Capability to handle GMPLS Constraints Manageability considerations for PCE Discovery are addressed in
-1: Capability to compute bidirectional paths section 4.10 of [RFC4674].
-2: Capability to compute link/node/SRLG diverse paths
-3: Capability to compute load-balanced paths
-4: Capability to compute a set of paths in a
synchronized Manner
-5: Support for multiple objective function
-6: Capability to handle path constraints (e.g. hop count, metric
bound)
9. Security Considerations 9.1. Control of Policy and Functions
Any new security issues raised by the procedures in this document Requirements on the configuration of PCE discovery parameters on PCCs
depend upon the opportunity for LSAs to be snooped, the and PCEs are discussed in section 4.10.1 of [RFC4674].
ease/difficulty of which has not been altered. As the LSAs may now
contain additional information regarding PCE capabilities, this
new information would also become available. Mechanisms defined to
secure OSPF LSAs [RFC2154], and their TLVs, can be used to secure the
PCED and PCES TLVs as well.
10. Manageability Considerations Particularly, a PCE implementation SHOULD allow configuring the
following parameters on the PCE:
-The PCE IPv4/IPv6 address(es) (see section 4.1.1)
-The PCE Scope, including the inter-domain functions (inter-
area, inter-AS, inter-layer), the preferences, and whether the
PCE can act as default PCE (see section 4.1.2)
-The PCE domains (see section 4.1.3)
-The PCE neighbour domains (see section 4.1.4)
-The PCE capabilities (see section 4.1.5)
Manageability considerations for PCE Discovery are addressed in 9.2. Information and Data Model
section 4.10 of [RFC4674].
11. Acknowledgments A MIB module for PCE Discovery is defined in [PCED-MIB].
9.3. Liveness Detection and Monitoring
PCE Discovery Protocol liveness detection relies upon OSPF liveness
detection. OSPF already includes a liveness detection mechanism
(Hello protocol), and PCE discovery does not require additional
capabilities.
Procedures defined in section 5 allow a PCC detecting when a PCE has
been deactivated, or is no longer reachable.
9.4. Verify Correct Operations
The correlation of information advertised against information
received can be achieved by comparing the PCED information in the PCC
and in the PCE, which is stored in the PCED MIB [PCED-MIB]. The
number of dropped, corrupt, and rejected information elements are
stored in the PCED MIB.
9.5. Requirements on Other Protocols and Functional Components
The OSPF extensions defined in this documents does not imply any
requirement on other protocols.
9.6. Impact on network operations
Frequent changes in PCE information, and particularly in PCE
congestion information, may have a significant impact on OSPF and
might destabilize the operation of the network by causing the PCCs to
swap between PCEs.
As discussed in section 5, a PCE implementation SHOULD support an
appropriate dampening algorithm so as to dampen OSPF flooding in
order to not impact the OSPF scalability.
Also, as discussed in section 4.10.4 of [RFC4674], it MUST be
possible to apply at least the following controls:
- Configurable limit on the rate of announcement of changed
parameters at a PCE.
- Control of the impact on PCCs such as through discovery messages
rate-limiting.
- Configurable control of triggers that cause a PCC to swap to
another PCE.
10. Acknowledgments
We would like to thank Lucy Wong and Adrian Farrel for their useful We would like to thank Lucy Wong and Adrian Farrel for their useful
comments and suggestions. comments and suggestions.
12. References 11. References
12.1. Normative references 11.1. Normative references
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3667] Bradner, S., "IETF Rights in Contributions", BCP 78, RFC [RFC2740] Coltun, R., Ferguson, D., and J. Moy, "OSPF for IPv6",
3667, February 2004.
[BCP79] Bradner, S., "Intellectual Property Rights in IETF
Technology", RFC 3979, March 2005.
[OSPF-v2] Moy, J., "OSPF Version 2", RFC 2328, April 1998.
[OSPF-v3] Coltun, R., Ferguson, D., and J. Moy, "OSPF for IPv6",
RFC 2740, December 1999. RFC 2740, December 1999.
[RFC2370] Coltun, R., “The OSPF Opaque LSA Option”, RFC 2370, July [RFC2370] Coltun, R., “The OSPF Opaque LSA Option”, RFC 2370, July
1998. 1998.
[RFC3630] Katz, D., Yeung, D., Kompella, K., "Traffic Engineering [RFC3630] Katz, D., Yeung, D., Kompella, K., "Traffic Engineering
Extensions to OSPF Version 2", RFC 3630, September 2003. Extensions to OSPF Version 2", RFC 3630, September 2003.
[OSPF-CAP] Lindem, A., Shen, N., Aggarwal, R., Shaffer, S., Vasseur, [OSPF-CAP] Lindem, A., Shen, N., Aggarwal, R., Shaffer, S., Vasseur,
J.P., "Extensions to OSPF for advertising Optional Router J.P., "Extensions to OSPF for advertising Optional Router
skipping to change at page 24, line 5 skipping to change at page 20, line 50
[RFC4674] Le Roux, J.L., et al. "Requirements for PCE discovery", [RFC4674] Le Roux, J.L., et al. "Requirements for PCE discovery",
RFC4674, October 2006. RFC4674, October 2006.
[RFC4203] Kompella, Rekhter, " OSPF Extensions in Support of [RFC4203] Kompella, Rekhter, " OSPF Extensions in Support of
Generalized Multi-Protocol Label Switching (GMPLS)", RFC4203, October Generalized Multi-Protocol Label Switching (GMPLS)", RFC4203, October
2005. 2005.
[RFC2154] Murphy, S., Badger, M., and B. Wellington, "OSPF with [RFC2154] Murphy, S., Badger, M., and B. Wellington, "OSPF with
Digital Signatures", RFC 2154, June 1997. Digital Signatures", RFC 2154, June 1997.
12.2. Informative references 11.2. Informative references
[RFC4657] Ash, J., Le Roux, J.L., " PCE Communication Protocol [RFC4657] Ash, J., Le Roux, J.L., " PCE Communication Protocol
Generic Requirements", RFC4657, September 2006. Generic Requirements", RFC4657, September 2006.
[PCEP] Vasseur et al., “Path Computation Element (PCE) communication [PCEP] Vasseur, Le Roux, et al., "Path Computation Element (PCE)
Protocol (PCEP) - Version 1”, draft-ietf-pce-pcep, work in progress. communication Protocol (PCEP) - Version 1", draft-ietf-pce-pcep, work
in progress.
13. Editor's Addresses: [PCED-MIB] Stephan, E., "Definitions of Managed Objects for Path
Computation Element Discovery", draft-ietf-pce-disc-mib-00, work in
progress.
[PCED-ISIS] Le Roux, Vasseur, et al. "IS-IS protocol extensions for
Path Computation Element (PCE) Discovery", draft-ietf-pce-disco-
proto-isis, work in progress.
12. Editor's Addresses:
Jean-Louis Le Roux (Editor) Jean-Louis Le Roux (Editor)
France Telecom France Telecom
2, avenue Pierre-Marzin 2, avenue Pierre-Marzin
22307 Lannion Cedex 22307 Lannion Cedex
FRANCE FRANCE
Email: jeanlouis.leroux@orange-ftgroup.com Email: jeanlouis.leroux@orange-ftgroup.com
Jean-Philippe Vasseur (Editor) Jean-Philippe Vasseur (Editor)
Cisco Systems, Inc. Cisco Systems, Inc.
1414 Massachusetts avenue 1414 Massachusetts avenue
Boxborough , MA - 01719 Boxborough , MA - 01719
USA USA
Email: jpv@cisco.com Email: jpv@cisco.com
14. Contributors' Addresses: 13. Contributors' Addresses:
Yuichi Ikejiri Yuichi Ikejiri
NTT Communications Corporation NTT Communications Corporation
1-1-6, Uchisaiwai-cho, Chiyoda-ku 1-1-6, Uchisaiwai-cho, Chiyoda-ku
Tokyo 100-8019 Tokyo 100-8019
JAPAN JAPAN
Email: y.ikejiri@ntt.com Email: y.ikejiri@ntt.com
Raymond Zhang Raymond Zhang
BT Infonet BT Infonet
2160 E. Grand Ave. 2160 E. Grand Ave.
El Segundo, CA 90025 El Segundo, CA 90025
USA USA
Email: raymond_zhang@infonet.com Email: raymond_zhang@bt.infonet.com
15. Intellectual Property Statement 14. Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 25, line 31 skipping to change at page 22, line 36
on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE
IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE
ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE. FOR A PARTICULAR PURPOSE.
Copyright Statement Copyright Statement
Copyright (C) The IETF Trust (2006). This document is subject to the Copyright (C) The IETF Trust (2007). This document is subject to the
rights, licenses and restrictions contained in BCP 78, and except as rights, licenses and restrictions contained in BCP 78, and except as
set forth therein, the authors retain all their rights. set forth therein, the authors retain all their rights.
 End of changes. 184 change blocks. 
630 lines changed or deleted 520 lines changed or added

This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/