| < draft-alvarez-pce-path-profiles-01.txt | draft-alvarez-pce-path-profiles-02.txt > | |||
|---|---|---|---|---|
| Internet Engineering Task Force S. Alvarez | Internet Engineering Task Force S. Alvarez | |||
| Internet-Draft S. Sivabalan | Internet-Draft S. Sivabalan | |||
| Intended status: Standards Track Z. Ali | Intended status: Standards Track Z. Ali | |||
| Expires: August 18, 2014 Cisco Systems, Inc. | Expires: September 5, 2014 Cisco Systems, Inc. | |||
| L. Tomotaki | L. Tomotaki | |||
| Verizon | Verizon | |||
| V. Lopez | V. Lopez | |||
| Telefonica I+D | Telefonica I+D | |||
| February 14, 2014 | March 4, 2014 | |||
| PCE Path Profiles | PCE Path Profiles | |||
| draft-alvarez-pce-path-profiles-01 | draft-alvarez-pce-path-profiles-02 | |||
| Abstract | Abstract | |||
| This document describes extensions to the Path Computation Element | This document describes extensions to the Path Computation Element | |||
| (PCE) Communication Protocol (PCEP) to signal path profile | (PCE) Communication Protocol (PCEP) to signal path profile | |||
| identifiers. A profile represents a list of path parameters or | identifiers. A profile represents a list of path parameters or | |||
| policies that a PCEP peer may invoke on a remote peer using an opaque | policies that a PCEP peer may invoke on a remote peer using an opaque | |||
| identifier. When a path computation client (PCC) initiates a path | identifier. When a path computation client (PCC) initiates a path | |||
| computation request, the PCC can signal profile identifiers to invoke | computation request, the PCC can signal profile identifiers to invoke | |||
| path parameters or policies defined on the PCE which would influence | path parameters or policies defined on the PCE which would influence | |||
| skipping to change at page 1, line 45 ¶ | skipping to change at page 1, line 45 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on August 18, 2014. | This Internet-Draft will expire on September 5, 2014. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2014 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 30 ¶ | skipping to change at page 2, line 30 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Path Profiles . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Path Profiles . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3.1. Capability Advertisement . . . . . . . . . . . . . . . . 3 | 3.1. Capability Advertisement . . . . . . . . . . . . . . . . 3 | |||
| 3.2. PCC-Initiated Paths . . . . . . . . . . . . . . . . . . . 3 | 3.2. PCC-Initiated Paths . . . . . . . . . . . . . . . . . . . 3 | |||
| 3.2.1. Point-to-Point Paths . . . . . . . . . . . . . . . . 4 | 3.2.1. Point-to-Point Paths . . . . . . . . . . . . . . . . 4 | |||
| 3.2.2. Point-to-Multipoint Paths . . . . . . . . . . . . . . 5 | 3.2.2. Point-to-Multipoint Paths . . . . . . . . . . . . . . 5 | |||
| 3.3. PCE-Initiated Paths . . . . . . . . . . . . . . . . . . . 5 | 3.3. PCE-Initiated Paths . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Object Extensions . . . . . . . . . . . . . . . . . . . . . . 6 | 4. Object Extensions . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 4.1. OPEN Object . . . . . . . . . . . . . . . . . . . . . . . 6 | 4.1. OPEN Object . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 4.2. PATH-PROFILE Object . . . . . . . . . . . . . . . . . . . 7 | 4.2. PATH-PROFILE Object . . . . . . . . . . . . . . . . . . . 8 | |||
| 5. Error Codes for PATH-PROFILE Object . . . . . . . . . . . . . 8 | 5. Error Codes for PATH-PROFILE Object . . . . . . . . . . . . . 9 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 10 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 9 | 9.2. Informative References . . . . . . . . . . . . . . . . . 11 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 1. Introduction | 1. Introduction | |||
| 1.1. Requirements Language | 1.1. Requirements Language | |||
| 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 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
| 2. Path Profiles | 2. Path Profiles | |||
| skipping to change at page 3, line 32 ¶ | skipping to change at page 3, line 32 ¶ | |||
| OPEN object. A PCEP peer can only signal path profile identifiers if | OPEN object. A PCEP peer can only signal path profile identifiers if | |||
| both peers advertised this capability. A peer MUST send a PCErr | both peers advertised this capability. A peer MUST send a PCErr | |||
| message with Error-Type=4 (Not supported object), Error-value=1 (Not | message with Error-Type=4 (Not supported object), Error-value=1 (Not | |||
| supported object class) and close the session if it receives a | supported object class) and close the session if it receives a | |||
| message with a path profile identifier, it supports the extensions in | message with a path profile identifier, it supports the extensions in | |||
| this document and both peers did not advertise this capability. | this document and both peers did not advertise this capability. | |||
| 3.2. PCC-Initiated Paths | 3.2. PCC-Initiated Paths | |||
| A PCC MAY include a PATH-PROFILE object when sending a PCReq message. | A PCC MAY include a PATH-PROFILE object when sending a PCReq message. | |||
| The PCE uses the path profile identifier to select path parameters or | The PCE uses the path profile identifiers to select path parameters | |||
| path policies to fulfill the request. The means by which the PCC | or path policies to fulfill the request. The PCE MUST process the | |||
| learns about a particular path profile identifier and decides to | identifiers in the PATH-PROFILE object in the order received. The | |||
| include it in a PCReq message are outside the scope of this document. | means by which the PCC learns about a particular path profile | |||
| Similarly, the means by which the PCE selects a set of parameters or | identifier and decides to include it in a PCReq message are outside | |||
| policies based on the profile identifier for a specific request are | the scope of this document. Similarly, the means by which the PCE | |||
| outside the scope of this document. The P flag of the PATH-PROFILE | selects a set of parameters or policies based on the profile | |||
| object MUST be set. | identifier for a specific request are outside the scope of this | |||
| document. The P flag of the PATH-PROFILE object MUST be set. | ||||
| A PCE may receive a path computation request with an unknown or | A PCE may receive a path computation request with one or more | |||
| invalid path profile identifier. The PCE sends a PCErr message with | unexpected path profile identifiers. The PCE sends a PCErr message | |||
| Error-Type=[TBA] (PATH-PROFILE Error), Error-value=1 (Unknown path | with Error-Type=[TBA] (PATH-PROFILE Error), Error-value=1 (Unknown | |||
| profile) if the path profile identifier is not known to the PCE. The | path profile) if the path profile identifier is not known to the PCE. | |||
| PCE sends a PCErr message with Error-Type=[TBA] (PATH-PROFILE Error), | The PCE sends a PCErr message with Error-Type=[TBA] (PATH-PROFILE | |||
| Error-value=2 (Invalid path profile) if the PCE knows about the path | Error), Error-value=2 (Invalid path profile) if the PCE knows about | |||
| profile identifier, but considers the request invalid. As an | the path profile identifier, but considers the request invalid. As | |||
| example, the profile may be invalid because of the path type, the | an example, the profile may be invalid because of the path type, the | |||
| PCEP session type or the originating PCC. The PCEP-ERROR object | PCEP session type or the originating PCC. The PCE sends a PCErr | |||
| SHOULD include the path profile identifiers that generated the error | message with Error-Type=[TBA] (PATH-PROFILE Error), Error-value=3 | |||
| condition. | (Incompatible path profiles) if two or more path profile identifiers | |||
| are incompatible. That is, they are known and valid, but can not | ||||
| occur simultanously. The PCEP-ERROR object SHOULD include the path | ||||
| profile identifiers that generated the error condition. | ||||
| The PCE will determine whether to consider any additional optional | The PCE will determine whether to consider any additional optional | |||
| objects included in a PCReq message based on policy. As illustrated | objects included in a PCReq message based on policy. As illustrated | |||
| in Section 3.2.1 and Section 3.2.2, the PCC MAY include other | in Section 3.2.1 and Section 3.2.2, the PCC MAY include other | |||
| optional objects along with a PATH-PROFILE object as part of a path | optional objects along with a PATH-PROFILE object as part of a path | |||
| computation request. The PCC will use the processing-rule (P) flag | computation request. The PCC will use the processing-rule (P) flag | |||
| in the common object header to signal whether it considers those | in the common object header to signal whether it considers those | |||
| objects mandatory or optional when the PCE performs path computation. | objects mandatory or optional when the PCE performs path computation. | |||
| Those objects may overlap with the path parameters that the PCE | Those objects may overlap with the path parameters that the PCE | |||
| associates with the path profile identifier. | associates with the path profile identifier. | |||
| skipping to change at page 5, line 18 ¶ | skipping to change at page 5, line 20 ¶ | |||
| If present in a PCReq message, the PATH-PROFILE object MUST be the | If present in a PCReq message, the PATH-PROFILE object MUST be the | |||
| first optional object in the request portion of the message. | first optional object in the request portion of the message. | |||
| 3.2.2. Point-to-Multipoint Paths | 3.2.2. Point-to-Multipoint Paths | |||
| [RFC6006] defines the basic structure of a PCReq message for point- | [RFC6006] defines the basic structure of a PCReq message for point- | |||
| to-multipoint paths. This documents extends the message format as | to-multipoint paths. This documents extends the message format as | |||
| follows: | follows: | |||
| TBD | <PCReq Message>::= <Common Header> | |||
| <request> | ||||
| where: | ||||
| <request>::= <RP> | ||||
| <end-point-rro-pair-list> | ||||
| [<PATH-PROFILE>] | ||||
| [<OF>] | ||||
| [<LSPA>] | ||||
| [<BANDWIDTH>] | ||||
| [<metric-list>] | ||||
| [<IRO>] | ||||
| [<LOAD-BALANCING>] | ||||
| where: | ||||
| <end-point-rro-pair-list>::= | ||||
| <END-POINTS>[<RRO-List>][<BANDWIDTH>] | ||||
| [<end-point-rro-pair-list>] | ||||
| <RRO-List>::=<RRO>[<BANDWIDTH>][<RRO-List>] | ||||
| <metric-list>::=<METRIC>[<metric-list>] | ||||
| If present in a PCReq message, the PATH-PROFILE object MUST be the | ||||
| first optional object in the request portion of the message. | ||||
| 3.3. PCE-Initiated Paths | 3.3. PCE-Initiated Paths | |||
| A PCE MAY include a PATH-PROFILE object when sending a PCInitiate | A PCE MAY include a PATH-PROFILE object when sending a PCInitiate | |||
| message as defined in [I-D.ietf-pce-pce-initiated-lsp]. The PCC uses | message as defined in [I-D.ietf-pce-pce-initiated-lsp]. The PCC uses | |||
| the path profile identifier to select path parameters or path | the path profile identifiers to select path parameters or path | |||
| policies to be applied during the instantiation of the path. The | policies to be applied during the instantiation of the path. The PCC | |||
| means by which the PCE learns about a particular path profile | MUST process the identifiers in the PATH-PROFILE object in the order | |||
| identifier and decides to include it in a PCInitiate message are | received. The means by which the PCE learns about a particular path | |||
| outside the scope of this document. Similarly, the means by which | profile identifier and decides to include it in a PCInitiate message | |||
| the PCC selects a set of parameters or policies based on the profile | are outside the scope of this document. Similarly, the means by | |||
| identifier for a specific path are outside the scope of this | which the PCC selects a set of parameters or policies based on the | |||
| profile identifier for a specific path are outside the scope of this | ||||
| document. | document. | |||
| A PCC may receive a path instantiation request with an unknown or | A PCC may receive a path instantiation request with one or more | |||
| invalid path profile identifier. The PCC sends a PCErr message with | unexpected path profile identifiers. The PCC sends a PCErr message | |||
| Error-Type=[TBA] (PATH-PROFILE Error), Error-value=1 (Unknown path | with Error-Type=[TBA] (PATH-PROFILE Error), Error-value=1 (Unknown | |||
| profile) if the path profile identifier is not known to the PCC. The | path profiles) if the path profile identifier is not known to the | |||
| PCC sends a PCErr message with Error-Type=[TBA] (PATH-PROFILE Error), | PCC. The PCC sends a PCErr message with Error-Type=[TBA] (PATH- | |||
| Error-value=2 (Invalid path profile) if the PCC knows about the path | PROFILE Error), Error-value=2 (Invalid path profiles) if the PCC | |||
| profile identifier, but considers the request invalid. As an | knows about the path profile identifier, but considers the request | |||
| example, the profile may be invalid because of the path type, the | invalid. As an example, the profile may be invalid because of the | |||
| PCEP session type or the originating PCE. The PCEP-ERROR object | path type, the PCEP session type or the originating PCE. The PCC | |||
| SHOULD include the path profile identifiers that generated the error | sends a PCErr message with Error-Type=[TBA] (PATH-PROFILE Error), | |||
| Error-value=3 (Incompatible path profiles) if two or more path | ||||
| profile identifiers are incompatible. That is, they are known and | ||||
| valid, but can not occur simultanously. The PCEP-ERROR object SHOULD | ||||
| include the path profile identifiers that generated the error | ||||
| condition. | condition. | |||
| [I-D.ietf-pce-pce-initiated-lsp] defines the basic structure of a | [I-D.ietf-pce-pce-initiated-lsp] defines the basic structure of a | |||
| PCInitiate message. This documents extends the message format as | PCInitiate message. This documents extends the message format as | |||
| follows: | follows: | |||
| <PCInitiate Message> ::= <Common Header> | <PCInitiate Message> ::= <Common Header> | |||
| <PCE-initiated-lsp-list> | <PCE-initiated-lsp-list> | |||
| Where: | Where: | |||
| skipping to change at page 8, line 15 ¶ | skipping to change at page 9, line 15 ¶ | |||
| MUST be set to zero on transmission and ignored on receipt. | MUST be set to zero on transmission and ignored on receipt. | |||
| Flags (8 bits): | Flags (8 bits): | |||
| Unassigned bits are considered reserved. They MUST be set to zero | Unassigned bits are considered reserved. They MUST be set to zero | |||
| on transmission and ignored on receipt. No flags are currently | on transmission and ignored on receipt. No flags are currently | |||
| defined. | defined. | |||
| Path Profile Id (32 bits): | Path Profile Id (32 bits): | |||
| (non-zero) unsigned path profile identifier. | (non-zero) unsigned path profile identifier. | |||
| If more than one PATH-PROFILE object is present, the first one MUST | ||||
| be processed and subsequent objects ignored. | ||||
| 5. Error Codes for PATH-PROFILE Object | 5. Error Codes for PATH-PROFILE Object | |||
| Error-Type Meaning Error-Value | Error-Type Meaning Error-Value | |||
| <TBA> PATH-PROFILE Error 1: Unknown path profile | <TBA> PATH-PROFILE Error 1: Unknown path profiles | |||
| 2: Invalid path profile | 2: Invalid path profiles | |||
| 3: Unexpected mandatory object | 3: Incompatible path profiles | |||
| 4: Unexpected mandatory object | ||||
| 6. Acknowledgements | 6. Acknowledgements | |||
| The authors would like to thank Clarence Filsfils for his valuable | The authors would like to thank Clarence Filsfils for his valuable | |||
| comments. | comments. | |||
| 7. IANA Considerations | 7. IANA Considerations | |||
| IANA is requested to assign the following code points. | IANA is requested to assign the following code points. | |||
| skipping to change at page 8, line 44 ¶ | skipping to change at page 10, line 4 ¶ | |||
| PATH-PROFILE Object-Type | PATH-PROFILE Object-Type | |||
| PATH-PROFILE Error-Type | PATH-PROFILE Error-Type | |||
| 8. Security Considerations | 8. Security Considerations | |||
| TBD | TBD | |||
| 9. References | 9. References | |||
| 9.1. Normative References | 9.1. Normative References | |||
| [I-D.ali-pce-remote-initiated-gmpls-lsp] | [I-D.ali-pce-remote-initiated-gmpls-lsp] | |||
| Ali, Z., Sivabalan, S., Filsfils, C., Varga, R., Lopez, | Ali, Z., Sivabalan, S., Filsfils, C., Varga, R., Lopez, | |||
| V., Dios, O., and X. Zhang, "Path Computation Element | V., Dios, O., and X. Zhang, "Path Computation Element | |||
| Communication Protocol (PCEP) Extensions for remote- | Communication Protocol (PCEP) Extensions for remote- | |||
| initiated GMPLS LSP Setup", draft-ali-pce-remote- | initiated GMPLS LSP Setup", draft-ali-pce-remote- | |||
| initiated-gmpls-lsp-02 (work in progress), October 2013. | initiated-gmpls-lsp-03 (work in progress), February 2014. | |||
| [I-D.ietf-pce-gmpls-pcep-extensions] | [I-D.ietf-pce-gmpls-pcep-extensions] | |||
| Margaria, C., Dios, O., and F. Zhang, "PCEP extensions for | Margaria, C., Dios, O., and F. Zhang, "PCEP extensions for | |||
| GMPLS", draft-ietf-pce-gmpls-pcep-extensions-08 (work in | GMPLS", draft-ietf-pce-gmpls-pcep-extensions-09 (work in | |||
| progress), July 2013. | progress), February 2014. | |||
| [I-D.ietf-pce-pce-initiated-lsp] | [I-D.ietf-pce-pce-initiated-lsp] | |||
| Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP | Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP | |||
| Extensions for PCE-initiated LSP Setup in a Stateful PCE | Extensions for PCE-initiated LSP Setup in a Stateful PCE | |||
| Model", draft-ietf-pce-pce-initiated-lsp-00 (work in | Model", draft-ietf-pce-pce-initiated-lsp-00 (work in | |||
| progress), December 2013. | progress), December 2013. | |||
| [I-D.ietf-pce-stateful-pce] | [I-D.ietf-pce-stateful-pce] | |||
| Crabbe, E., Medved, J., Minei, I., and R. Varga, "PCEP | Crabbe, E., Medved, J., Minei, I., and R. Varga, "PCEP | |||
| Extensions for Stateful PCE", draft-ietf-pce-stateful- | Extensions for Stateful PCE", draft-ietf-pce-stateful- | |||
| pce-07 (work in progress), October 2013. | pce-08 (work in progress), February 2014. | |||
| [I-D.sivabalan-pce-segment-routing] | [I-D.sivabalan-pce-segment-routing] | |||
| Sivabalan, S., Medved, J., Filsfils, C., Crabbe, E., and | Sivabalan, S., Medved, J., Filsfils, C., Crabbe, E., and | |||
| R. Raszuk, "PCEP Extensions for Segment Routing", draft- | R. Raszuk, "PCEP Extensions for Segment Routing", draft- | |||
| sivabalan-pce-segment-routing-02 (work in progress), | sivabalan-pce-segment-routing-02 (work in progress), | |||
| October 2013. | October 2013. | |||
| [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. | |||
| End of changes. 16 change blocks. | ||||
| 61 lines changed or deleted | 98 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||