draft-ietf-pce-of-02.txt   draft-ietf-pce-of-03.txt 
Network Working Group J.L. Le Roux Network Working Group J.L. Le Roux
Internet Draft France Telecom Internet Draft France Telecom
Category: Standard Track Category: Standard Track
Expires: August 2008 J.P. Vasseur Expires: January 2009 J.P. Vasseur
Cisco System Inc. Cisco System Inc.
Y. Lee Y. Lee
Huawei Huawei
Encoding of Objective Functions in Path Computation Element Encoding of Objective Functions in Path Computation Element
communication Protocol (PCEP) communication Protocol (PCEP)
draft-ietf-pce-of-02.txt draft-ietf-pce-of-03.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 2, line 7 skipping to change at page 2, line 7
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
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
The computation of one or a series of Traffic Engineering Label The computation of one or a set of Traffic Engineering Label Switched
Switched Paths (TE LSPs) in MultiProtocol Label Switching (MPLS) and Paths (TE LSPs) in MultiProtocol Label Switching (MPLS) and
Generalized MPLS (GMPLS) networks, is subject to a set of one or more Generalized MPLS (GMPLS) networks, is subject to a set of one or more
specific optimization criteria(s), referred to as an objective specific optimization criteria, referred to as an objective function
function (e.g. minimum cost path, widest path, etc.). A Path (e.g. minimum cost path, widest path, etc.).
Computation Element (PCE) may support one or multiple objective A Path Computation Client (PCC) may want a path to be computed for
functions, and it is desired for a Path Computation Client (PCC) to one or more TE LSPs according to a specific objective function. Thus,
automatically discover the set of objective functions supported by a the PCC needs to instruct the PCE to use the correct objective
PCE. Furthermore, it may be useful for a PCC to specify in a path function. Furthermore, it is possible that not all PCEs support the
computation request the required objective function to be used by the same set of objective functions, therefore it is useful for the PCC
PCE to compute a TE LSP or a set of TE LSPs. Thus the aim of this to be able to automatically discover the set of objective functions
document is to define extensions to the PCE communication Protocol supported by each PCE.
(PCEP) in order to allow a PCC to discover the set of objective This document defines extensions to the PCE communication Protocol
functions supported by a PCE as well as to allow a PCC to indicate in (PCEP) to allow a PCE to indicate the set of objective functions it
a path computation request the required objective function and a PCE supports. Extensions are also defined so that a PCC can indicate in
to indicate in a path computation reply the objective function that a path computation request the required objective function, and so
was used for path computation. that a PCE can report in a path computation reply the objective
function that was used for path computation.
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. Terminology.................................................3 Terminology.........................................................3
2. Introduction................................................3 1. Introduction................................................3
3. Discovery of PCE Objective Functions........................5 2. Discovery of PCE Objective Functions........................5
3.1. OF-List TLV.................................................5 2.1. OF-List TLV.................................................5
3.2. Elements of procedure.......................................6 2.2. Elements of procedure.......................................6
4. Objective Function in PCEP Path Computation request and 3. Objective Function in PCEP Path Computation Request and
reply messages............................................6 Reply Messages............................................6
4.1. OF Object...................................................6 3.1. OF Object...................................................6
4.1.1. Elements of Procedure.......................................7 3.1.1. Elements of Procedure.......................................7
4.2. Carrying the OF object in a PCEP message....................8 3.2. Carrying The OF Object In a PCEP Message....................8
4.3. New RP object flag.........................................10 3.3. New RP Object Flag.........................................10
4.3.1. Elements of procedure......................................10 3.3.1. Elements Of Procedure......................................11
5. Objective Functions definition.............................10 4. Objective Functions Definition.............................11
6. IANA Considerations........................................12 5. New Metric Types...........................................12
6.1. PCE Objective Function registry............................12 6. IANA Considerations........................................13
6.2. PCEP code points...........................................13 6.1. PCE Objective Function Sub-registry........................13
6.2.1. OF Object..................................................13 6.2. PCEP Code Points...........................................14
6.2.2. OF-List TLV................................................13 6.2.1. OF Object..................................................14
6.2.3. PCEP Error values..........................................13 6.2.2. OF-List TLV................................................14
6.2.4. RP Object flag.............................................14 6.2.3. PCEP Error values..........................................14
7. Security Considerations....................................14 6.2.4. RP Object Flag.............................................14
8. Manageability Considerations...............................14 6.2.5. Metric Types...............................................15
8.1. Control of Function and Policy.............................14 7. Security Considerations....................................15
8.2. Information and Data Models................................14 8. Manageability Considerations...............................15
8.3. Liveness Detection and Monitoring..........................15 8.1. Control of Function and Policy.............................15
8.4. Verify Correct Operations..................................15 8.2. Information and Data Models................................15
8.5. Requirements on other protocols............................15 8.3. Liveness Detection and Monitoring..........................16
8.6. Impact on network operations...............................15 8.4. Verify Correct Operations..................................16
9. Acknowledgments............................................15 8.5. Requirements On Other Protocols............................16
10. References.................................................15 8.6. Impact On Network Operations...............................16
10.1. Normative references.......................................15 9. Acknowledgments............................................16
10.2. Informative references.....................................16 10. References.................................................16
11. Author's Addresses:........................................16 10.1. Normative Feferences.......................................16
10.2. Informative References.....................................16
11. Authors' Addresses.........................................17
12. Intellectual Property Statement............................17 12. Intellectual Property Statement............................17
1. Terminology Terminology
Terminology used in this document Terminology used in this document
LSR: Label Switching Router. LSR: Label Switching Router.
OF: Objective Function: A set of one or more optimization OF: Objective Function: A set of one or more optimization
criteria(s) used for the computation of a single path (e.g. path criteria used for the computation of a single path (e.g. path
cost minimization), or the synchronized computation of a set of cost minimization), or the synchronized computation of a set of
paths (e.g. aggregate bandwidth consumption minimization, etc.). paths (e.g. aggregate bandwidth consumption minimization, etc.).
PCC: Path Computation Client: Any client application requesting a 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 communication Protocol. PCEP: Path Computation Element communication Protocol.
TE LSP: Traffic Engineered Label Switched Path. TE LSP: Traffic Engineered Label Switched Path.
2. Introduction 1. Introduction
The PCE-based network architecture [RFC4655] defines a Path The PCE-based network architecture [RFC4655] defines a Path
Computation Element (PCE) as an entity capable of computing TE LSP Computation Element (PCE) as an entity capable of computing TE LSP
paths based on a network graph, and applying computational paths based on a network graph, and applying computational
constraints. A PCE serves path computation requests sent by Path constraints. A PCE services path computation requests sent by Path
Computation Clients (PCC). Computation Clients (PCC).
The PCE communication Protocol (PCEP), defined in [PCEP], allows for The PCE communication Protocol (PCEP), defined in [PCEP], allows for
communication between a PCC and a PCE or between two PCEs, in communication between a PCC and a PCE or between two PCEs, in
compliance with requirements and guidelines set forth in [RFC4657]. compliance with requirements and guidelines set forth in [RFC4657].
Such interactions include path computation requests and path Such interactions include path computation requests and path
computation replies. computation replies.
The computation of one or a set of TE LSPs is subject to a set of one The computation of one or a set of TE LSPs is subject to a set of one
or more optimization criteria(s), called an objective function. An or more optimization criteria, called an objective function. An
objective function is used by the PCE, when it computes a path or a objective function is used by the PCE, when it computes a path or a
set of paths, in order to select the "best" candidate path(s). There set of paths, in order to select the "best" candidate paths. There is
is a variety of objective functions: an objective function could a variety of objective functions: an objective function could apply
apply either to a set of non synchronized path computation requests, either to a set of non-synchronized path computation requests, or to
or to a set of synchronized path computation requests. In the former a set of synchronized path computation requests. In the former case,
case, the objective function refers to an individual path computation the objective function refers to an individual path computation
request (e.g. computation of the shortest constrained path where the request (e.g. computation of the shortest constrained path where the
metric is the IGP metric, computation of the least loaded constrained metric is the IGP metric, computation of the least loaded constrained
path, etc.). Conversely in the latter case, the objective function path, etc.). Conversely in the latter case, the objective function
refers to a set of path computation requests the computation of which refers to a set of path computation requests the computation of which
is synchronized (e.g. minimize the aggregate bandwidth consumption of is synchronized (e.g. minimize the aggregate bandwidth consumption of
all LSPs, minimize the sum of the delays for two diverse paths, or all LSPs, minimize the sum of the delays for two diverse paths, or
the delta between those delays, etc.). Moreover, some objective the delta between those delays, etc.). Moreover, some objective
functions relate to the optimization of a single metric and others to functions relate to the optimization of a single metric and others to
the optimization of a set of metrics (organized in a hierarchical the optimization of a set of metrics (organized in a hierarchical
manner, using a weighted function, etc.). manner, using a weighted function, etc.).
As spelled out in [RFC4674], it may be useful for a PCC to discover As spelled out in [RFC4674], it may be useful for a PCC to discover
the set of objective functions supported by a PCE. Furthermore, the set of objective functions supported by a PCE. Furthermore,
[RFC4657] requires the ability for a PCC to indicate in a path [RFC4657] requires the ability for a PCC to indicate in a path
computation request a required/desired objective function, as well as computation request a required/desired objective function, as well as
optional function parameters. optional function parameters.
For these purposes, this document extends the PCE communication For these purposes, this document extends the PCE communication
Protocol (PCEP). It defines PCEP extensions allowing a PCE Protocol (PCEP). It defines PCEP extensions allowing a PCE to
advertising a list of supported objective functions, as well as advertise a list of supported objective functions, as well as
extensions so as to carry the objective function in PCEP request and extensions to carry the objective function in PCEP request and reply
reply messages. It thus complements the PCEP base specification messages. It complements the PCEP base specification [PCEP].
[PCEP].
Note that IS-IS and OSPF based PCE Discovery mechanisms are defined Note that IS-IS and OSPF based PCE Discovery mechanisms are defined
in ([RFC5089], [RFC5088]). These mechanisms are dedicated to the in ([RFC5089], [RFC5088]). These mechanisms are dedicated to the
discovery of a few generic parameters while more detailed PCE discovery of a few generic parameters while more detailed PCE
parameters should rather be discovered using the PCE communication parameters should be discovered using the PCE communication Protocol.
Protocol. Objective functions pertain to this second category; thus Objective functions are in this second category; thus the Objective
the Objective Function discovery procedure is handled by PCEP. Function discovery procedure is handled by PCEP.
A new PCEP TLV, named the OF-List TLV is defined in section 3. The A new PCEP TLV, named the OF-List TLV is defined in Section 2. The
OF-List TLV is carried in the PCEP OPEN object and allows a PCE OF-List TLV is carried in the PCEP OPEN object and allows a PCE to
advertising to a PCEP peer, during PCEP session setup phase, the list list, during PCEP session setup phase, the objective functions that
of objective functions that it supports. it supports.
A new PCEP object, the OF object, is defined in section 4. The OF A new PCEP object, the OF object, is defined in Section 3. The OF
object is carried within a PCReq message to indicate the object is carried within a PCReq message to indicate the
required/desired objective function to be applied by a PCE or in a required/desired objective function to be applied by a PCE, or in a
PCRep message to indicate the objective function that was used for PCRep message to indicate the objective function that was used for
path computation. path computation.
Six mandatory objective functions that must be supported by PCEP are Six mandatory objective functions that must be supported by PCEP are
listed in [RFC4657]. This document provides a definition of these six listed in [RFC4657]. This document provides, in Section 4, a
mandatory objective functions. Additional objective functions may be definition of these six mandatory objective functions. Additional
defined in other documents. Note that additional objective functions objective functions may be defined in other documents. Note that
are defined for PCE Global Concurrent Optimization (GCO) application, additional objective functions are defined for PCE Global Concurrent
in [PCE-GCO]. Optimization (GCO) application, in [PCE-GCO]. This document also
provides, in Section 5, the definition of four new metric types that
apply to a set of synchronized requests.
3. Discovery of PCE Objective Functions 2. Discovery of PCE Objective Functions
This section defines PCEP extensions (see [PCEP]) so as to support This section defines PCEP extensions (see [PCEP]) so as to support
the advertisement of the objective functions supported by a PCE. the advertisement of the objective functions supported by a PCE.
A new PCEP OF-List (Objective Function list) TLV is defined. The PCEP A new PCEP OF-List (Objective Function list) TLV is defined. The PCEP
OF-List TLV is carried within an OPEN object, in order for a PCE to OF-List TLV is carried within an OPEN object, in order for a PCE to
advertise to a PCEP peer the list of objective functions it supports, advertise to a PCEP peer the list of objective functions it supports,
during PCEP session setup phase. during PCEP session setup phase.
3.1. OF-List TLV 2.1. OF-List TLV
The PCEP OF-List TLV is optional. It MAY be carried within an OPEN The PCEP OF-List TLV is optional. It MAY be carried within an OPEN
object sent by a PCE in an Open message to a PCEP peer, so as to object sent by a PCE in an Open message to a PCEP peer, so as to
indicate the list of supported objective functions. indicate the list of supported objective functions.
The OF-List TLV format is compliant with the PCEP TLV format defined The OF-List TLV format is compliant with the PCEP TLV format defined
in [PCEP]. That is, the TLV is composed of 2 octets for the type, 2 in [PCEP]. 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. The TLV is padded defines the length of the value portion in octets. The TLV is padded
to four-octet alignment and padding is not included in the Length to four-octet alignment and padding is not included in the Length
field (e.g. a three octet value would have a length of three, but the field (e.g. a three octet value would have a length of three, but the
total size of the TLV would be eight octets). total size of the TLV would be eight octets).
The OSPF OF-List TLV has the following format: The PCEP OF-List TLV has the following format:
TYPE: To be assigned by IANA (suggested value = 4 ) TYPE: To be assigned by IANA (suggested value = 4 )
LENGTH: N * 2 (where N is the number of objective functions) LENGTH: N * 2 (where N is the number of objective functions)
VALUE: list of 2-bytes objective function code points, VALUE: list of 2-bytes objective function code points,
identifying the objective functions supported by the identifying the objective functions supported by the
sender of the Open message. sender of the Open message.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OF Code #1 | OF Code #2 | | OF Code #1 | OF Code #2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// // // //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OF Code #N | | | OF Code #N | padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
OF Code (2 bytes): Objective Function code point identifier. OF Code (2 bytes): Objective Function code point identifier.
IANA is requested to manage the PCE objective function code point IANA is requested to manage the PCE objective function code point
registry (see IANA section). registry (see Section 6).
3.2. Elements of procedure 2.2. Elements of procedure
A PCE MAY include and OF-List TLV within an OPEN object in an Open A PCE MAY include an OF-List TLV within an OPEN object in an Open
message sent to a PCEP peer, to advertise a set of one or more message sent to a PCEP peer, to advertise a set of one or more
objective functions. The OF-List TLV MUST NOT appear more than once objective functions. The OF-List TLV MUST NOT appear more than once
in an OPEN object. The absence of the OF-List TLV in an OPEN object in an OPEN object. If it appears more than once the PCEP session MUST
must be interpreted as an absence of information on the list of be rejected with error type 1 and error value 1 (PCEP session
supported objective functions by the PCE. establishment failure / Reception of an invalid Open message).
The absence of the OF-List TLV in an OPEN object MUST be interpreted
as an absence of information on the list of supported objective
functions by the PCE.
As specified in [PCEP], a PCEP peer that does not recognize the OF- As specified in [PCEP], a PCEP peer that does not recognize the OF-
List TLV will silently ignore it. List TLV will silently ignore it.
4. Objective Function in PCEP Path Computation request and reply 3. Objective Function in PCEP Path Computation Request and Reply
messages Messages
This section defines PCEP extensions ([PCEP]) so as to support the This section defines PCEP extensions ([PCEP]) so as to support the
communication of objective functions in PCEP path computation request communication of objective functions in PCEP path computation request
and reply messages. A new PCEP OF (Objective Function) object is and reply messages. A new PCEP OF (Objective Function) object is
defined, to be carried within a PCReq message in order for the PCC to defined, to be carried within a PCReq message in order for the PCC to
indicate the required/desired objective function. indicate the required/desired objective function.
The PCEP OF Object may also be carried within a PCRep message in The PCEP OF Object may also be carried within a PCRep message in
order for the PCE to indicate the objective function that was used by order for the PCE to indicate the objective function that was used by
the PCE. the PCE.
A new flag is defined in the RP object, so as to indicate in a PCReq A new flag is defined in the RP object. The flag is used in a PCReq
message that the PCE MUST provide in the PCRep message the objective message to indicate that the PCE MUST include an OF object in the
function that was used during path computation. PCRep message to indicate the objective function that was used during
path computation.
Also new PCEP error type and value are defined. Also, new PCEP error types and values are defined.
4.1. OF Object 3.1. OF Object
The PCEP OF (Objective Function) object is optional. It MAY be The PCEP OF (Objective Function) object is optional. It MAY be
carried within a PCReq message so as to indicate the desired/required carried within a PCReq message so as to indicate the desired/required
objective function to be applied by the PCE during path computation, objective function to be applied by the PCE during path computation,
or within a PCRep message so as to indicate the objective function or within a PCRep message so as to indicate the objective function
that was used by the PCE during path computation. that was used by the PCE during path computation.
The OF object format is compliant with the PCEP object format defined The OF object format is compliant with the PCEP object format defined
in [PCEP]. in [PCEP].
The OF Object-Class is to be assigned by IANA (recommended value=21). The OF Object-Class is to be assigned by IANA (recommended value=21).
The OF Object-Type is to be assigned by IANA (recommended value=1).
The OF Object-Types is to be assigned by IANA (recommended value=1).
The format of the OF object body is: The format of the OF object body is:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Objective Function Code(IANA) | Reserved | |Objective Function Code(IANA) | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
// Optional TLV(s) // // Optional TLV(s) //
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Objective Function Code (2 bytes): The identifier of the Objective Objective Function Code (2 bytes): The identifier of the Objective
Function. The IANA is requested to manage the PCE objective function Function. The IANA is requested to manage the PCE objective function
code point registry (see IANA section). code point registry (see Section 6).
Reserved (2 bytes): This field MUST be set to zero on transmission Reserved (2 bytes): This field MUST be set to zero on transmission
and MUST be ignored on receipt. and MUST be ignored on receipt.
Optional TLVs may be defined so as to encode objective function Optional TLVs may be defined in the future so as to encode objective
parameters. function parameters.
4.1.1. Elements of Procedure 3.1.1. Elements of Procedure
To request the use of a specific objective function to be used by the To request the use of a specific objective function by the PCE, a
PCE a PCC MUST include an OF object in the PCReq message. PCC includes an OF object in the PCReq message.
[PCEP] specifies a bit flag referred to as the P bit in a PCEP [PCEP] specifies a bit flag, referred to as the P bit, carried in
common header that can be set by a PCC to enforce a PCE to take into the common PCEP object header. The P bit is set by a PCC to mandate
account the related information during the path computation. If the that a PCE must take the information carried in the object into
objective function is mandatory (required objective function), the P account during the path computation.
bit in the OF object MUST be set, else if it is optional (desired
objective function) the P bit MUST be cleared. If the P bit is set in the OF object, the objective function is
mandatory (required objective function) and the PCE MUST use the
objective function during path computation. If the P bit is clear
in the OF object, the objective function is optional (desired
objective function) and the PCE SHOULD apply the function if it is
supported, but MAY choose to apply a different objective function
according to local capabilities and policies.
On receipt of a PCReq message with an OF object, a PCE MUST proceed On receipt of a PCReq message with an OF object, a PCE MUST proceed
as follows: as follows:
- If the OF object is unknown/unsupported, the PCE MUST follow - If the OF object is unknown/unsupported, the PCE MUST follow
procedures defined in [PCEP], that is if the P bit is set, it procedures defined in [PCEP], that is if the P bit is set, it
sends a PCErr message with error type unknown/unsupported sends a PCErr message with error type 3 or 4
object (type 3 and 4) and the related path computation request (Unknown / Not supported object) and error value 1 or 2
MUST be discarded. If the P bit is cleared it is free (unknown / unsupported object class / object type), and the
to ignore the object. related path computation request MUST be discarded. If the P
bit is cleared it is free to ignore the object.
- If the objective function is unknown / unsupported and the P - If the objective function is unknown / unsupported and the P
bit is set, the PCE MUST send a PCErr message with a new PCEP bit is set, the PCE MUST send a PCErr message with error type
error type "objective function error" and error value 3 or 4 (Unknown/Not supported Object) and error value 4
"unknown/unsupported objective function" (defined in this (Unrecognized/Unsupported parameter), and the related path
document), and the related path computation request MUST be computation request MUST be discarded.
discarded.
- If the objective function is unknown / unsupported and the P - If the objective function is unknown / unsupported and the P
bit is cleared, the PCE SHOULD apply another (default) bit is cleared, the PCE SHOULD apply another (default)
objective function. objective function.
- If the objective function is supported but policy does not - If the objective function is supported but policy does not
permit applying it, and the P bit is set, the PCE MUST send a permit applying it, and the P bit is set, the PCE MUST send a
PCErr message with the PCEP error type "policy-violation" PCErr message with the PCEP error type "policy-violation"
(type 5) and a new error value "objective function not (type 5) and a new error value "objective function not
allowed" (defined in this document). allowed" (defined in this document).
skipping to change at page 8, line 28 skipping to change at page 8, line 43
allow applying it, and the P bit is cleared, the PCE SHOULD allow applying it, and the P bit is cleared, the PCE SHOULD
apply another (default) objective function. apply another (default) objective function.
- If the objective function is supported and policy allows - If the objective function is supported and policy allows
applying it, then if the P bit is set the PCE MUST apply the applying it, then if the P bit is set the PCE MUST apply the
requested objective function, else if the P bit is cleared the requested objective function, else if the P bit is cleared the
PCE is free to apply any other objective function. PCE is free to apply any other objective function.
The default objective function may be locally configured. The default objective function may be locally configured.
4.2. Carrying the OF object in a PCEP message 3.2. Carrying The OF Object In a PCEP Message
The OF object MAY be carried within a PCReq message. An OF object The OF object MAY be carried within a PCReq message. If an objective
specifying an objective function that applies to a set of function is to be applied to a set of synchronized path computation
synchronized path computation requests MUST be carried just after the requests, the OF object MUST be carried just after the corresponding
corresponding SVEC object, and MUST NOT be repeated for each SVEC object, and MUST NOT be repeated for each elementary request.
elementary request.
Similarly if a metric is to be applied to a set of synchronized
requests, the METRIC object MUST follow the SVEC object and MUST not
be repeated for each elementary request. Note that metrics applied to
a set of synchronized requests are defined in section 5.
An OF object specifying an objective function that applies to an An OF object specifying an objective function that applies to an
individual path computation request (non synchronized case) MUST individual path computation request (non synchronized case) MUST
follow the RP object for which it applies. follow the RP object for which it applies.
The format of the PCReq message is updated as follows: The format of the PCReq message is updated as follows:
<PCReq Message>::= <Common Header> <PCReq Message>::= <Common Header>
[<SVEC-list>] [<SVEC-list>]
<request-list> <request-list>
where: where:
<svec-list>::=<SVEC> <svec-list>::=<SVEC>
[<OF>] [<OF>]
[<metric-list>]
[<svec-list>] [<svec-list>]
<request-list>::=<request>[<request-list>] <request-list>::=<request>[<request-list>]
<request>::= <RP> <request>::= <RP>
<END-POINTS> <END-POINTS>
[<OF>]
[<LSPA>] [<LSPA>]
[<BANDWIDTH>] [<BANDWIDTH>]
[<metric-list>] [<metric-list>]
[<OF>]
[<RRO>] [<RRO>]
[<IRO>] [<IRO>]
[<LOAD-BALANCING>] [<LOAD-BALANCING>]
where: where:
<metric-list>::=<METRIC>[<metric-list>] <metric-list>::=<METRIC>[<metric-list>]
The OF object MAY be carried within a PCRep message to indicate the The OF object MAY be carried within a PCRep message to indicate the
objective function used by the PCE during path computation. objective function used by the PCE during path computation.
When the PCE wants to indicate to the PCC the objective function that When the PCE wants to indicate to the PCC the objective function that
was used for the synchronized computation of a set of paths, the was used for the synchronized computation of a set of paths, the
PCRep message MUST include the corresponding SVEC object directly PCRep message MUST include the corresponding SVEC object directly
followed by the OF object, which MUST NOT be repeated for each followed by the OF object, which MUST NOT be repeated for each
elementary request. elementary request. If a metric is applicable to the set of paths,
the METRIC object MUST directly follow the SVEC object and MUST NOT
be repeated for each elementary request.
An OF object specifying an objective function used for an individual An OF object specifying an objective function used for an individual
path computation (non synchronized case) MUST follow the RP object path computation (non synchronized case) MUST follow the RP object
for which it applies. for which it applies.
The format of the PCRep message is updated as follows: The format of the PCRep message is updated as follows:
<PCRep Message> ::= <Common Header> <PCRep Message> ::= <Common Header>
[<SVEC-list>] [<svec-list>]
<response-list> <response-list>
where: where:
<svec-list> ::=<SVEC> <svec-list> ::=<SVEC>
[<OF>] [<OF>]
[<metric-list>]
[<svec-list>] [<svec-list>]
<response-list>::=<response>[<response-list>] <response-list>::=<response>[<response-list>]
<response>::=<RP> <response>::=<RP>
[<NO-PATH>] [<NO-PATH>]
[<path-list>] [<path-list>]
<path-list>::=<path>[<path-list>] <path-list>::=<path>[<path-list>]
skipping to change at page 10, line 4 skipping to change at page 10, line 35
<path-list>::=<path>[<path-list>] <path-list>::=<path>[<path-list>]
<path>::= <ERO> <path>::= <ERO>
[<OF>] [<OF>]
[<LSPA>] [<LSPA>]
[<BANDWIDTH>] [<BANDWIDTH>]
[<metric-list>] [<metric-list>]
[<IRO>] [<IRO>]
where: where:
<metric-list>::=<METRIC>[<metric-list>] <metric-list>::=<METRIC>[<metric-list>]
Note: The OF object MUST NOT be associated to a negative reply, i.e. Note: The OF object MAY be associated to a negative reply, i.e.
a reply with a NO-PATH object. a reply with a NO-PATH object.
4.3. New RP object flag 3.3. New RP Object Flag
In some cases, where no objective function is specified in the In some cases, where no objective function is specified in the
request, or an optional objective function is desired (P flag cleared request, or an optional objective function is desired (P flag cleared
in the OF object common header) but the PCE does not follow the in the OF object common header) but the PCE does not follow the
recommendation, the PCC may desire to know the objective function request, the PCC may desire to know the objective function that was
that was used by the PCE during path computation. To that end, a new used by the PCE during path computation. To that end, a new flag is
flag is defined in the RP object, named the OF flag, allowing a PCC defined in the RP object, named the OF flag, allowing a PCC to
to request for the inclusion in the path computation reply of the request for the inclusion in the path computation reply of the
objective function that was used by the PCE during path computation. objective function that was used by the PCE during path computation.
The following new bit flag of the RP object is defined: The following new bit flag of the RP object is defined:
Objective Function (OF) flag (1 bit): 0x200 (bit number 16) Objective Function (OF) flag (1 bit): 0x200 (bit number 16)
(suggested value, to be assigned by IANA). When set in a PCReq (suggested value, to be assigned by IANA). When set in a PCReq
message, this indicates that the PCE has to provide the applied message, this indicates that the PCE MUST provide the applied
objective function (should a path satisfying the constraints be found) objective function (should a path satisfying the constraints be found)
in the PCRep message. When set in a PCRep message this indicates that in the PCRep message. When set in a PCRep message this indicates that
the Objective Function that was used during path computation is the Objective Function that was used during path computation is
included. included.
4.3.1. Elements of procedure 3.3.1. Elements Of Procedure
If the PCC wants to know the objective function used by the PCE If the PCC wants to know the objective function used by the PCE
during path computation for a given request, it MUST set the OF flag during path computation for a given request, it sets the OF flag in
in the RP object. the RP object.
On receipt of a PCReq message with the OF flag in the RP object set, On receipt of a PCReq message with the OF flag in the RP object set,
the PCE has to proceed as follows: the PCE proceeds as follows:
- If policy permits it MUST include in the PCRep message an OF - If policy permits it MUST include in the PCRep message an OF
object indicating the objective function it used during path object indicating the objective function it used during path
computation. computation.
- If policy does not permit, it MUST send a PCErr message with - If policy does not permit, it MUST send a PCErr message with
the PCEP error code "policy-violation" (type 5) and a new the PCEP error code "policy-violation" (type 5) and a new
error value "objective function indication not allowed" error value "objective function indication not allowed"
(defined in this document). (defined in this document).
5. Objective Functions definition 4. Objective Functions Definition
Six objective functions that must be supported by PCEP are listed in Six objective functions that must be supported by PCEP are listed in
[RFC4657]. Objective function codes should be assigned by IANA and [RFC4657]. Objective function codes should be assigned by IANA and
are suggested below. are suggested below.
Objective functions are formulated using the following terminology: Objective functions are formulated using the following terminology:
- a network comprises a set of N links {Li, (i=1...N)} - a network comprises a set of N links {Li, (i=1...N)}
- a path P is a list of K links {Lpi,(i=1...K)} - a path P is a list of K links {Lpi,(i=1...K)}
- metric of link L is noted M(L), this can be the IGP metric the - metric of link L is noted M(L), this can be the IGP metric the
TE metric or any other metric. TE metric, or any other metric.
- the cost of a path P is noted C(P), - the cost of a path P is noted C(P),
C(P) = sum {M(Lpi), (i=1...K)}. C(P) = sum {M(Lpi), (i=1...K)}.
- residual bandwidth on link L is noted r(L) - residual bandwidth on link L is noted r(L)
- maximum reservable bandwidth on link L is noted R(L). - maximum reservable bandwidth on link L is noted R(L).
There are three objective functions that apply to the computation of There are three objective functions that apply to the computation of
a single path: a single path:
Objective Function Code: 1 (suggested value, to be assigned by IANA) Objective Function Code: 1 (suggested value, to be assigned by IANA)
Name: Minimum Cost Path (MCP) Name: Minimum Cost Path (MCP)
skipping to change at page 12, line 5 skipping to change at page 12, line 29
Description: Find a set of paths such that ( Max { (R(Li) - r(Li)) / Description: Find a set of paths such that ( Max { (R(Li) - r(Li)) /
R(Li), i=1...N}) is minimized. R(Li), i=1...N}) is minimized.
Objective Function Code: 6 (suggested value, to be assigned by IANA) Objective Function Code: 6 (suggested value, to be assigned by IANA)
Name: Minimize the Cumulative Cost of a set of paths (MCC) Name: Minimize the Cumulative Cost of a set of paths (MCC)
Description: Find a set of paths {P1...Pm} such that (Sum { C(Pi), Description: Find a set of paths {P1...Pm} such that (Sum { C(Pi),
i=1...m}) is minimized. i=1...m}) is minimized.
Other objective functions may be defined in separate documents. Other objective functions may be defined in separate documents.
5. New Metric Types
Three metric types are defined in PCEP for the METRIC object: TE
metric, IGP metric and hop count. These metric types apply to an
individual request. Here we define four new metric types that apply
to a set of synchronized requests:
Type 4 (suggested value to be assigned by IANA) : Aggregate bandwidth
consumption
Type 5 (suggested value to be assigned by IANA) : Load of the most
loaded link
Type 6 (suggested value to be assigned by IANA) : Cumulative IGP
cost
Type 7 (suggested value to be assigned by IANA) : Cumulative TE cost
These metrics may be used to indicate a bound (B bit set in the
METRIC object) or a computed metric (C bit set in the METRIC object).
A METRIC object with one of these four types follows the SVEC object
for which it applies.
6. IANA Considerations 6. IANA Considerations
6.1. PCE Objective Function registry 6.1. PCE Objective Function Sub-registry
This document defines a 16-bit PCE Objective Function identifier to This document defines a 16-bit PCE Objective Function identifier to
be carried within the PCEP OF object, as well as the PCEP OF-List TLV. be carried within the PCEP OF object, as well as the PCEP OF-List TLV.
IANA is requested to create and manage the 16-bit "PCE Objective IANA is requested to create and manage the 16-bit "PCE Objective
Function" code point registry, starting from 1 and continuing through Function" code point registry, starting from 1 and continuing through
32767, as follows: 32767, as follows:
- Objective Function code point value - Objective Function code point value
- Objective Function name - Objective Function name
- Defining RFC - Defining RFC
The same registry is applicable to the OF object and the OF-List TLV The same registry is applicable to the OF object and the OF-List TLV
defined in this document. defined in this document.
The guidelines (using terms defined in [RFC2434]) for the The guidelines (using terms defined in [RFC5226]) for the
assignment of objective function code point values are as follows: assignment of objective function code point values are as follows:
- Function code value 0 is reserved. - Function code value 0 is reserved.
- Function code value in the range 1-32767 are to be assigned as - Function code values in the range 1-32767 are to be assigned as
follows: follows:
- Function code values 1 through 1023 are to be assigned by - Function code values 1 through 1023 are to be assigned by
IANA using the "IETF Consensus" policy. IANA using the "IETF Consensus" policy.
- Function code values 1024 through 32767 are to be - Function code values 1024 through 32767 are to be
assigned by IANA, using the "First Come First Served" assigned by IANA, using the "First Come First Served"
policy. policy.
- Function code values in the range 32768-65535 are for - Function code values in the range 32768-65535 are for
"Private Use". "Private Use".
Six objective functions are defined in section 5 of this document and Six objective functions are defined in Section 4 of this document and
should be assigned by IANA: should be assigned by IANA:
Code Point Name Defining RFC Code Point Name Defining RFC
1 MCP this doc 1 MCP this doc
2 MLP this doc 2 MLP this doc
3 MBP this doc 3 MBP this doc
4 MBC this doc 4 MBC this doc
5 MLL this doc 5 MLL this doc
6 MCC this doc 6 MCC this doc
6.2. PCEP code points
6.2. PCEP Code Points
6.2.1. OF Object 6.2.1. OF Object
The IANA has been requested to manage the PCEP Objects code point The IANA has been requested to manage the PCEP Objects code point
registry (see [PCEP]). registry (see [PCEP]).
This document defines a new PCEP object, the OF object, to be This document defines a new PCEP object, the OF object, to be
carried in PCReq and PCRep messages. The IANA is requested to make carried in PCReq and PCRep messages. The IANA is requested to make
the following allocation (suggested value): the following allocation (suggested value):
skipping to change at page 13, line 35 skipping to change at page 14, line 36
This document defines a new PCEP TLV, the OF-List TLV, to be carried This document defines a new PCEP TLV, the OF-List TLV, to be carried
in the OPEN object. The IANA is requested to make the following in the OPEN object. The IANA is requested to make the following
allocation (suggested value): allocation (suggested value):
Type TLV name References Type TLV name References
----- -------- ---------- ----- -------- ----------
4 OF-List (This document) 4 OF-List (This document)
6.2.3. PCEP Error values 6.2.3. PCEP Error values
A new PCEP Error-Type is defined in this document, with two error
values (Error-Type and Error-value to be assigned by IANA):
Error-type Meaning and error values Reference
14 Objective Function Error (this doc)
Error-value=1: unknown objective function
(request rejected)
Error-value=2: unsupported objective function
(request rejected)
Two new error values are defined for the error type "policy Two new error values are defined for the error type "policy
violation" (type 5): violation" (type 5):
Error-type Meaning and error values Reference Error-type Meaning and error values Reference
5 Policy violation 5 Policy violation
Error-value=3: objective function not allowed (this doc) Error-value=3: objective function not allowed (this doc)
(request rejected) (request rejected)
Error-value=4: OF bit of the RP object set (this doc) Error-value=4: OF bit of the RP object set (this doc)
(request rejected) (request rejected)
6.2.4. RP Object flag 6.2.4. RP Object Flag
A new flag of the RP object (specified in [PCEP]) is defined in this A new flag of the RP object (specified in [PCEP]) is defined in this
document. The IANA is requested to make the following allocation document. The IANA is requested to make the following allocation
(suggested value): (suggested value):
Bit Hex Name Reference Bit Hex Name Reference
Number Number
16 0x200 OF (this document) 16 0x200 OF (this document)
6.2.5. Metric Types
Four new metric types are defined in this document for the METRIC
object (specified in [PCEP]). The IANA is requested to make the
following allocation (suggested values):
-Type 4 : Aggregate bandwidth consumption
-Type 5 : Load of the most loaded link
-Type 6 : Cumulative IGP cost
-Type 7 : Cumulative TE cost
7. Security Considerations 7. Security Considerations
Mechanisms discussed in [PCEP] to secure a PCEP session can be used to Mechanisms discussed in [PCEP] to secure a PCEP session can be used to
secure the PCEP OF object and OF list TLV as well. secure the PCEP OF object and OF list TLV as well.
8. Manageability Considerations 8. Manageability Considerations
8.1. Control of Function and Policy 8.1. Control of Function and Policy
It MUST be possible to configure the activation/deactivation of It MUST be possible to configure the activation/deactivation of
Objective Function Discovery in PCEP. Objective Function Discovery in PCEP.
In addition to the parameters already listed in section 8.1 of [PCEP], In addition to the parameters already listed in section 8.1 of [PCEP],
a PCEP implementation SHOULD allow configuring on a PCE a list of a PCEP implementation SHOULD allow configuring on a PCE a list of
authorized objective functions. This may apply to any session the authorized objective functions. This may apply to any session the
PCEP speaker participates in, to a specific session with a given PCEP PCEP speaker participates in, to a specific session with a given PCEP
peer or to a specific group of sessions with a specific group of PCEP peer or to a specific group of sessions with a specific group of PCEP
peers. peers.
Note that it is not mandatory for an implementation to support all Note that it is not mandatory for an implementation to support all
objective functions defined in section 5. objective functions defined in Section 4.
It MUST be possible to configure a default objective function used It MUST be possible to configure a default objective function used
for path computation when a path request is received that requests to for path computation when a path request is received that requests to
use an optional objective function. use an optional objective function.
8.2. Information and Data Models 8.2. Information and Data Models
The PCEP MIB Module defined in [PCEP-MIB] MUST be extended to include The PCEP MIB Module defined in [PCEP-MIB] SHOULD be extended to
Objective Functions. include Objective Functions.
8.3. Liveness Detection and Monitoring 8.3. Liveness Detection and Monitoring
Mechanisms defined in this document do not imply any new liveness Mechanisms defined in this document do not imply any new liveness
detection and monitoring requirements in addition to those already detection and monitoring requirements in addition to those already
listed in [PCEP]. listed in [PCEP].
8.4. Verify Correct Operations 8.4. Verify Correct Operations
Mechanisms defined in this document do not imply any new operation Mechanisms defined in this document do not imply any new operation
verification requirements in addition to those already listed in verification requirements in addition to those already listed in
[PCEP]. [PCEP].
8.5. Requirements on other protocols 8.5. Requirements On Other Protocols
Mechanisms defined in this document do not imply any requirements on Mechanisms defined in this document do not imply any requirements on
other protocols in addition to those already listed in [PCEP]. other protocols in addition to those already listed in [PCEP].
8.6. Impact on network operations 8.6. Impact On Network Operations
Mechanisms defined in this document do not have any impact on network Mechanisms defined in this document do not have any impact on network
operations in addition to those already listed in [PCEP]. operations in addition to those already listed in [PCEP].
9. Acknowledgments 9. Acknowledgments
The authors would like to thank Jerry Ash and Fabien Verhaeghe for The authors would like to thank Jerry Ash, Fabien Verhaeghe and
their useful comments. Adrian Farrel for their useful comments.
10. References 10. References
10.1. Normative references 10.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.
[RFC2740] Coltun, R., Ferguson, D., and J. Moy, "OSPF for IPv6",
RFC 2740, December 1999.
[RFC3630] Katz, D., Yeung, D., Kompella, K., "Traffic Engineering
Extensions to OSPF Version 2", RFC 3630, September 2003.
[RFC3784] Li, T., Smit, H., "IS-IS extensions for Traffic
Engineering", RFC 3784, June 2004.
[RFC4655] Farrel, A., Vasseur, J.P., Ash, J., "Path Computation [RFC4655] Farrel, A., Vasseur, J.P., Ash, J., "Path Computation
Element (PCE)-based Architecture", RFC4655, august 2006. Element (PCE)-based Architecture", RFC4655, august 2006.
[PCEP] Vasseur, Le Roux, et al., "Path Computation Element (PCE) [PCEP] Vasseur, Le Roux, et al., "Path Computation Element (PCE)
communication Protocol (PCEP)", draft-ietf-pce-pcep, work in communication Protocol (PCEP)", draft-ietf-pce-pcep, work in
progress. progress.
10.2. Informative references 10.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.
[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.
[RFC5089] Le Roux, Vasseur, et al. "IS-IS protocol extensions for [RFC5089] Le Roux, Vasseur, et al. "IS-IS protocol extensions for
Path Computation Element (PCE) Discovery", RFC5089, Path Computation Element (PCE) Discovery", RFC5088, January 2008.
January 2008.
[RFC5088] Le Roux, Vasseur, et al. "OSPF protocol extensions for [RFC5088] Le Roux, Vasseur, et al. "OSPF protocol extensions for
Path Computation Element (PCE) Discovery", RFC5088, Path Computation Element (PCE) Discovery", RFC5088, January 2008.
January 2008.
[PCE-GCO] Y. Lee, J.L. Le Roux, D. King, and E. Oki, "Path [PCE-GCO] Y. Lee, J.L. Le Roux, D. King, and E. Oki, "Path
Computation Element Communication Protocol (PCECP) Requirements and Computation Element Communication Protocol (PCECP) Requirements and
Protocol Extensions In Support of Global Concurrent Optimization", Protocol Extensions In Support of Global Concurrent Optimization",
draft-ietf-pce-global-concurrent-optimization, work in draft-ietf-pce-global-concurrent-optimization, work in
progress progress.
11. Author's Addresses: 11. Authors' Addresses
Jean-Louis Le Roux Jean-Louis Le Roux
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 Jean-Philippe Vasseur
Cisco Systems, Inc. Cisco Systems, Inc.
 End of changes. 78 change blocks. 
185 lines changed or deleted 217 lines changed or added

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