| < draft-ietf-pce-disco-proto-isis-00.txt | draft-ietf-pce-disco-proto-isis-01.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: March 2007 J.P. Vasseur (Editor) | Expires: June 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 | |||
| September 2006 | December 2006 | |||
| IS-IS protocol extensions for Path Computation Element (PCE) Discovery | IS-IS protocol extensions for Path Computation Element (PCE) Discovery | |||
| draft-ietf-pce-disco-proto-isis-00.txt | draft-ietf-pce-disco-proto-isis-01.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 45 ¶ | skipping to change at page 1, line 45 ¶ | |||
| 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 | |||
| There are various circumstances in which 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 Element(s) (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 an LSR participating to the IGP, or even a server | When the PCE is a Label Switch Router (LSR) participating to the IGP, | |||
| participating passively to the IGP, a simple and efficient way for | or even a server participating passively to the IGP, a simple and | |||
| PCE discovery consists of relying on IGP flooding. For that purpose | efficient way for PCE discovery consists of relying on IGP flooding. | |||
| this document defines ISIS extensions for the advertisement of PCE | For that purpose this document defines IS-IS extensions for the | |||
| Discovery information within an ISIS area or within the entire ISIS | advertisement of PCE Discovery information within an IS-IS area or | |||
| routing domain. | within the entire IS-IS 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........................................................3 | 1. Note (to be removed before publication).....................3 | |||
| 2. Terminology.................................................3 | 2. Terminology.................................................3 | |||
| 3. Introduction................................................4 | 3. Introduction................................................4 | |||
| 4. Overview....................................................5 | 4. Overview....................................................5 | |||
| 4.1. PCE Information.............................................5 | 4.1. PCE Information.............................................5 | |||
| 4.1.1. PCE Discovery Information...................................5 | 4.1.1. PCE Discovery Information...................................5 | |||
| 4.1.2. PCE Status Information......................................6 | 4.1.2. PCE Status Information......................................6 | |||
| 4.2. Flooding scope..............................................6 | 4.2. Flooding scope..............................................6 | |||
| 5. ISIS extensions.............................................6 | 5. IS-IS extensions............................................6 | |||
| 5.1. IS-IS PCED TLV format.......................................6 | 5.1. IS-IS PCED TLV format.......................................6 | |||
| 5.1.1. PCE-ADDRESS sub-TLV.........................................7 | 5.1.1. PCE-ADDRESS sub-TLV.........................................7 | |||
| 5.1.2. The PATH-SCOPE sub-TLV......................................7 | 5.1.2. The PATH-SCOPE sub-TLV......................................8 | |||
| 5.1.3. PCE-DOMAINS sub-TLV.........................................9 | 5.1.3. PCE-DOMAINS sub-TLV........................................10 | |||
| 5.1.3.1. Area ID DOMAIN sub-TLV...................................10 | 5.1.3.1. Area ID DOMAIN sub-TLV...................................10 | |||
| 5.1.3.2. AS Number DOMAIN sub-TLV.................................10 | 5.1.3.2. AS Number DOMAIN sub-TLV.................................10 | |||
| 5.1.4. PCE-DEST-DOMAINS sub-TLV...................................10 | 5.1.4. PCE-DEST-DOMAINS sub-TLV...................................11 | |||
| 5.1.5. GENERAL-CAP sub-TLV........................................11 | 5.1.5. GENERAL-CAP sub-TLV........................................11 | |||
| 5.1.6. The PATH-COMP-CAP sub-TLV..................................12 | 5.1.6. The PATH-COMP-CAP sub-TLV..................................12 | |||
| 5.1.6.1. Objective Functions sub-TLV..............................13 | 5.1.6.1. Objective Functions sub-TLV..............................13 | |||
| 5.1.6.2. Opaque Objective Function sub-TLV........................13 | 5.1.6.2. Opaque Objective Function sub-TLV........................14 | |||
| 5.1.6.3. Switch Caps sub-TLV......................................14 | 5.1.6.3. Switch Caps sub-TLV......................................14 | |||
| 5.2. The ISIS PCES TLV..........................................14 | 5.2. The IS-IS PCES sub-TLV.....................................15 | |||
| 5.2.1. The CONGESTION sub-TLV.....................................15 | 5.2.1. The CONGESTION sub-TLV.....................................15 | |||
| 6. Elements of Procedure......................................16 | 6. Elements of Procedure......................................16 | |||
| 6.1.1. PCES TLV specific procedure................................16 | 6.1.1. PCES TLV specific procedure................................17 | |||
| 7. Backward compatibility.....................................17 | 7. Backward compatibility.....................................17 | |||
| 8. IANA considerations........................................17 | 8. IANA considerations........................................18 | |||
| 8.1. ISIS TLVs..................................................17 | 8.1. IS-IS sub-TLVs.............................................18 | |||
| 8.2. Capability bits............................................18 | 8.2. Capability bits............................................19 | |||
| 9. Security Considerations....................................19 | 9. Security Considerations....................................19 | |||
| 10. References.................................................19 | 10. Manageability Considerations...............................20 | |||
| 10.1. Normative references.......................................19 | 11. Acknowledgments............................................20 | |||
| 10.2. Informative references.....................................19 | 12. References.................................................20 | |||
| 11. Authors' Addresses:........................................20 | 12.1. Normative references.......................................20 | |||
| 12. Intellectual Property Statement............................20 | 12.2. Informative references.....................................21 | |||
| 13. Editors' Addresses:........................................21 | ||||
| 14. Contributors' Adresses:....................................21 | ||||
| 15. Intellectual Property Statement............................21 | ||||
| 1. Note | 1. Note (to be removed before publication) | |||
| This document specifies sub-TLVs to be carried within the ISIS Router | This document specifies sub-TLVs to be carried within the IS-IS | |||
| Capability TLV ([ISIS-CAP]). Because this document does not introduce | Router Capability TLV ([IS-IS-CAP]). Because this document does not | |||
| any new ISIS element of procedure it will be discussed within the PCE | introduce any new IS-IS element of procedure it will be discussed | |||
| Working Group with a review of the ISIS Working Group. | within the PCE Working Group with a review of the IS-IS Working | |||
| Group. | ||||
| 2. Terminology | 2. Terminology | |||
| Terminology used in this document | Terminology used in this document | |||
| ABR: IGP Area Border Router (L1L2 router). | ABR: IGP Area Border Router (L1L2 router). | |||
| AS: Autonomous System. | AS: Autonomous System. | |||
| ASBR: AS Border Router. | ||||
| 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. | |||
| 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 through two or | |||
| two or more IGP areas. | more IGP areas. | |||
| Inter-AS MPLS TE LSP: A TE LSP whose path transits | Inter-AS TE LSP: A TE LSP whose path transits through two or more | |||
| through two or more ASes or sub-ASes (BGP confederations). | ASes or sub-ASes (BGP confederations). | |||
| LSR: Label Switch Router. | LSR: Label Switch Router. | |||
| 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. | |||
| PCECP: 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. | |||
| 3. Introduction | 3. Introduction | |||
| [RFC4655] describes the motivations and architecture for a PCE-based | [RFC4655] describes the motivations and architecture for a Path | |||
| path computation model for MPLS and GMPLS TE LSPs. The model allows | Computation Element (PCE)-based path computation model for Multi | |||
| the separation of PCE from PCC (also referred to as non co-located | Protocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic | |||
| PCE) and allows cooperation between PCEs. This relies on a | Engineered Label Switched Paths (TE-LSPs). The model allows for the | |||
| separation of PCE from PCC (also referred to as non co-located PCE) | ||||
| and allows for cooperation between PCEs. This relies on a | ||||
| communication protocol between PCC and PCE, and between PCEs. The | communication protocol between PCC and PCE, and between PCEs. The | |||
| requirements for such communication protocol can be found in [PCECP- | requirements for such communication protocol can be found in [RFC4657] | |||
| REQ] and the communication protocol is defined in [PCEP]. | and the communication protocol is defined in [PCEP]. | |||
| The PCE architecture requires, of course, that a PCC be aware of the | The PCE architecture requires, of course, that a PCC be aware of the | |||
| location of one or more PCEs in its domain, and also potentially of | location of one or more PCEs in its domain, and also potentially of | |||
| some PCEs in other domains, e.g. in case of inter-domain TE LSP | some PCEs in 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 comprise a large number of PCEs with potentially | |||
| distinct capabilities. In such context it would be highly desirable | distinct capabilities. In such context it is highly desirable to have | |||
| to have a mechanism for automatic and dynamic PCE discovery, which | a mechanism for automatic and dynamic PCE discovery, which allows | |||
| would allow PCCs to automatically discover a set of PCEs, along with | PCCs to automatically discover a set of PCEs, along with additional | |||
| additional information required for PCE selection, and to dynamically | information required for PCE selection, and to dynamically detect new | |||
| detect new PCEs or any modification of PCE information. | PCEs or any modification of PCE information. Detailed requirements | |||
| Detailed requirements for such a PCE discovery mechanism are | for such a PCE discovery mechanism are described in [RFC4674]. | |||
| described in [PCE-DISC-REQ]. | ||||
| 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 | some processing congestion state and exits such 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. redirect to another | |||
| PCE). Note that the PCE selection algorithm is out of the scope of | PCE). Note that the PCE selection algorithm is out of the scope of | |||
| this document. | this document. | |||
| When PCCs are LSRs participating to the IGP (OSPF, ISIS), and PCEs | When PCCs are LSRs participating to the IGP (OSPF, IS-IS), and PCEs | |||
| are LSRs or a servers also participating to the IGP, an efficient | are LSRs or a servers also participating to the IGP, an efficient | |||
| mechanism for PCE discovery within thisan IGP routing domain consists | mechanism for PCE discovery within an IGP routing domain consists of | |||
| of relying on IGP advertisements. | relying on IGP advertisements. | |||
| This document defines ISIS extensions allowing a PCE participating to | This document defines IS-IS extensions allowing a PCE participating | |||
| the ISIS routing to advertise its location along with some | to the IS-IS routing to advertise its location along with some | |||
| information useful for PCE selection, so as to satisfy dynamic PCE | information useful for PCE selection, so as to satisfy dynamic PCE | |||
| discovery requirements set forth in [PCE-DISC-REQ]. This document | discovery requirements set forth in [RFC4674]. This document also | |||
| also defines extensions allowing a PCE participating to the ISIS | defines extensions allowing a PCE participating to the IS-IS routing | |||
| routing to advertise its potential processing congestion state. | to advertise its potential processing congestion state. | |||
| Generic capability mechanisms for ISIS have been defined in [ISIS- | Generic capability mechanisms for IS-IS have been defined in [IS-IS- | |||
| CAP] the purpose of which is to allow a router to advertise its | CAP] the purpose of which is to allow a router to advertise its | |||
| capability within an ISIS area or an entire ISIS routing domain. Such | capability within an IS-IS area or an entire IS-IS routing domain. | |||
| ISIS extensions fully satisfy the aforementioned dynamic PCE | Such IS-IS extensions fully satisfy the aforementioned dynamic PCE | |||
| discovery requirements. | discovery requirements. | |||
| This document defines two new sub-TLVs (named the PCE Discovery | This document defines two new sub-TLVs (named the PCE Discovery | |||
| (PCED) TLV and the PCE Status (PCES) TLV) for ISIS, to be carried | (PCED) TLV and the PCE Status (PCES) TLV) for IS-IS, to be carried | |||
| within the ISIS Capability TLV ([ISIS-CAP]). The PCE information | within the IS-IS Capability TLV ([IS-IS-CAP]). The PCE information | |||
| advertised is detailed in section 4. Protocol extensions and | advertised is detailed in section 4. Protocol extensions and | |||
| procedures are defined in section 5 and 6. | procedures are defined in section 5 and 6. | |||
| This document does not define any new ISIS element of procedure but | This document does not define any new IS-IS element of procedure but | |||
| how the procedures defined in [ISIS-CAP] should be used. | how the procedures defined in [IS-IS-CAP] should be used. | |||
| The routing extensions defined in this document allow for PCE | The routing extensions defined in this document allow for PCE | |||
| discovery within an ISIS Routing domain. Solutions for PCE discovery | discovery within an IS-IS Routing domain. Solutions for PCE discovery | |||
| across AS boundaries are beyond the scope of this document, and for | across AS boundaries are beyond the scope of this document, and for | |||
| further study. | further study. | |||
| Similar extensions to OSPF for PCE discovery can be found in [OSPF- | This document defines a set of sub-TLVs that are nested within each | |||
| PCE-DISCO]. | other. When the degree of nesting TLVs is 2 (a TLV is carried within | |||
| another TLV) the TLV carried within a TLV is called a sub-TLV. | ||||
| Strictly speaking, when the degree of nesting is 3, a subsub-TLV is | ||||
| carried within a sub-TLV that is itself carried within a TLV. For the | ||||
| sake of terminology simplicity, we refer to sub-TLV, a TLV carried | ||||
| within a TLV regardless of the degree of nesting. | ||||
| 4. Overview | 4. Overview | |||
| 4.1. PCE Information | 4.1. PCE Information | |||
| PCE information advertised within ISIS includes PCE Discovery | The PCE information advertised via IS-IS falls into two categories: | |||
| Information and PCE Status information. | PCE Discovery Information and PCE Status information. | |||
| 4.1.1. PCE Discovery Information | 4.1.1. PCE Discovery Information | |||
| The PCE Discovery information is comprised of: | The PCE Discovery information is comprised of: | |||
| - The PCE location: This an IPv4 and/or IPv6 address that must be | - The PCE location: an IPv4 and/or IPv6 address that must be | |||
| used to reach the PCE. It is RECOMMENDED to use addresses always | used to reach the PCE. It is RECOMMENDED to use addresses always | |||
| reachable; | reachable; | |||
| - The PCE inter-domain functions: this refers to the PCE path | - The PCE inter-domain functions: PCE path computation scope (i.e. | |||
| computation scope (i.e. inter-area, inter-AS, inter-layer…); | inter-area, inter-AS, inter-layer…); | |||
| - The PCE domain(s): This is the set of one or more domain(s) where | - The PCE domain(s): set of one or more domain(s) where the PCE has | |||
| the PCE has visibility and can compute paths; | visibility and can compute paths; | |||
| - The PCE Destination domain(s): This is the set of one or more | - The PCE Destination domain(s): set of one or more destination | |||
| destination domain(s) towards which a PCE can compute paths; | domain(s) towards which a PCE can compute paths; | |||
| - A set of general PCECP capabilities (e.g. support for request | - A set of general PCEP 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, supported objective functions). | |||
| It may also contain optional elements to describe more complex | Optional elements to describe more complex capabilities may also be | |||
| capabilities. | advertised. | |||
| PCE Discovery information is by nature a static information that does | PCE Discovery information is by nature fairly static and does not | |||
| not change with PCE activity. Changes in PCE Discovery information | change with PCE activity. Changes in PCE Discovery information may | |||
| 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 | 4.1.2. PCE Status Information | |||
| The PCE Status is optional information that can be used to report a | The PCE Status is optional and can be used to report a PCE processing | |||
| PCE processing congested state along with an estimated congestion | congested state along with an estimated congestion duration. This is | |||
| duration. This is a dynamic information, which may change with PCE | 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 congested state to a | |||
| non congested state are beyond the scope of this document, but the | non-congested 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 mean the IGP scalability. Particular attention should be given on | |||
| procedures to avoid state oscillations. | procedures to avoid state oscillations. | |||
| 4.2. Flooding scope | 4.2. Flooding scope | |||
| The flooding scope for PCE Discovery Information can be limited to | The flooding scope for PCE Discovery Information can be limited to | |||
| one or more ISIS areas the PCE belongs to or can be extended across | one or more IS-IS areas the PCE belongs to or can be extended across | |||
| the entire ISIS routing domain. | the entire IS-IS 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 of a | |||
| ABR for instance advertising its PCE information within the backbone | L1L2 router for instance advertising its PCE information within the | |||
| area and/or a subset of its attached IGP area(s). | L2 level and/or a subset of its attached L1 area(s). | |||
| 5. ISIS extensions | 5. IS-IS extensions | |||
| 5.1. IS-IS PCED TLV format | 5.1. IS-IS PCED TLV format | |||
| The IS-IS PCED TLV is made of various non ordered sub-TLVs. | The IS-IS PCED TLV is made of various non ordered sub-TLVs. | |||
| The format of the IS-IS PCED TLV and its sub-TLVs is the same as the | The format of the IS-IS PCED TLV and its sub-TLVs is the same as the | |||
| TLV format used by the Traffic Engineering Extensions to IS-IS [ISIS- | TLV format used by the Traffic Engineering Extensions to IS-IS | |||
| TE]. That is, the TLV is composed of 1 octet for the type, 1 octet | [RFC3784]. That is, the TLV is composed of 1 octet for the type, 1 | |||
| specifying the TLV length and a value field. | octet specifying the TLV length and a value field. | |||
| The IS-IS PCED TLV has the following format: | The IS-IS PCED TLV has the following format: | |||
| TYPE: To be assigned by IANA | TYPE: To be assigned by IANA | |||
| LENGTH: Variable | LENGTH: Variable | |||
| VALUE: set of sub-TLVs | VALUE: set of sub-TLVs | |||
| Sub-TLVs types are under IANA control. | Sub-TLVs types are under IANA control. | |||
| Currently five sub-TLVs are defined (suggested type values to be | Currently five sub-TLVs are defined (suggested type values to be | |||
| assigned by IANA): | assigned by IANA): | |||
| Sub-TLV type Length Name | Sub-TLV type Length Name | |||
| 1 variable PCE-ADDRESS sub-TLV | 1 variable PCE-ADDRESS sub-TLV | |||
| 2 3 PATH-SCOPE sub-TLV | 2 3 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-DEST-DOMAINS sub-TLV | |||
| 5 variable GENERAL-CAP sub-TLV | 5 variable GENERAL-CAP sub-TLV | |||
| 6 variable PATH-COMP-CAP sub-TLV | 6 variable PATH-COMP-CAP sub-TLV | |||
| The sub-TLVs PCE-ADDRESS and PATH-SCOPE 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 sub-TLVs PCE-DOMAINS and PCE-DEST-DOMAINS are optional. They MAY | The PCE-DOMAINS and PCE-DEST-DOMAINS sub-TLVs are optional. They may | |||
| be present in some specific inter-domain cases. | be present in the PCED TLV to facilitate selection of inter-domain | |||
| PCEs. | ||||
| The sub-TLVs GENERAL-CAP and PATH-COMP-CAP are optional and MAY be | The GENERAL-CAP and PATH-COMP-CAP sub-TLVs are optional and MAY be | |||
| present in the PCED TLV to facilitate the PCE selection process. | present in the PCED TLV to facilitate the PCE selection process. | |||
| 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 PCE information. | additional PCE information. | |||
| The PCED TLV is carried within an ISIS CAPABILITY TLV defined in | The PCED TLV is carried within an IS-IS CAPABILITY TLV defined in | |||
| [ISIS-CAP], whose S bit is determined by the desired flooding scope. | [IS-IS-CAP], whose S bit is determined by the desired flooding scope. | |||
| 5.1.1. PCE-ADDRESS sub-TLV | 5.1.1. PCE-ADDRESS sub-TLV | |||
| The PCE-ADDRESS sub-TLV specifies the IP address that MUST be | The PCE-ADDRESS sub-TLV specifies the IP address that MUST 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 the PCE is alive. | that is always reachable, provided 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 | PCED TLV. It MAY appear twice, when the PCE has both an IPv4 and | |||
| IPv6 address. It MUST not appear more than twice. | IPv6 address. It MUST NOT appear more than once for the same address | |||
| type. | ||||
| The PCE-ADDRESS sub-TLV has the following format: | The PCE-ADDRESS sub-TLV has the following format: | |||
| TYPE: To be assigned by IANA (Suggested value =1) | TYPE: To be assigned by IANA (Suggested value =1) | |||
| LENGTH: 5 for IPv4 address and 17 for IPv6 address | LENGTH: 5 for IPv4 address and 17 for IPv6 address | |||
| VALUE: This comprises one octet indicating the address-type and 4 | VALUE: This comprises one octet indicating the address-type and 4 | |||
| or 16 octets encoding the IPv4 or IPv6 address to be used | or 16 octets encoding the IPv4 or IPv6 address to be used | |||
| to reach the PCE | to reach the PCE | |||
| Address-type: | Address-type: | |||
| skipping to change at page 8, line 6 ¶ | skipping to change at page 8, line 13 ¶ | |||
| 2 IPv6 | 2 IPv6 | |||
| 5.1.2. The PATH-SCOPE sub-TLV | 5.1.2. The PATH-SCOPE sub-TLV | |||
| The PATH-SCOPE sub-TLV indicates the PCE path computation scope which | The PATH-SCOPE sub-TLV indicates the PCE path computation scope which | |||
| refers to the PCE ability to compute or take part into the | refers to the PCE ability to compute or take part into 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 PATH-SCOPE sub-TLV within each | PCED TLV. There MUST be exactly one instance of the PATH-SCOPE sub- | |||
| 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 (intra-area, inter-area, inter-AS, inter-layer) | |||
| 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: | |||
| TYPE: To be assigned by IANA (Suggested value =2) | TYPE: To be assigned by IANA (Suggested value =2) | |||
| LENGTH: 3 | LENGTH: 3 | |||
| VALUE: This comprises a one-byte flag of bits where each bit | VALUE: This comprises a one-byte flag of bits where each bit | |||
| skipping to change at page 8, line 30 ¶ | skipping to change at page 8, line 37 ¶ | |||
| Here is the structure of the bits flag: | Here is the structure of the bits flag: | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| |0|1|2|3|4|5|Res| | |0|1|2|3|4|5|Res| | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Bit Path Scope | Bit Path Scope | |||
| 0 L bit: Can compute intra-area path | 0 L bit: Can compute intra-area path | |||
| 1 R bit: Can act as PCE for inter-area TE LSPs | 1 R bit: Can act as PCE for inter-area TE LSPs 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 LSPs | |||
| 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 LSPs 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 LSPs | |||
| 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 of | |||
| paths across layers | paths across layers | |||
| 6-7 Reserved for future usage. | 6-7 Reserved for future usage. | |||
| Here is the structure of the preferences field | Here is the structure of the preferences field | |||
| skipping to change at page 9, line 21 ¶ | skipping to change at page 9, line 29 ¶ | |||
| 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 (the PCE can compute path for any | |||
| destination area). Similarly, when set the Sd bit indicates that the | destination area). Similarly, when set the Sd bit indicates that the | |||
| PCE can act as a default PCE for inter-AS TE LSPs computation (the | PCE can act as a default PCE for inter-AS TE LSPs computation (the | |||
| PCE can compute path for any destination AS). | PCE can compute path for any destination 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-DEST-DOMAIN TLV (see 5.1.4) does not | |||
| contain any Area ID DOMAIN sub-TLV. | contain any Area ID DOMAIN sub-TLV. | |||
| Similarly, when the Sd bit is set, the PCE-DEST-DOMAIN TLV does not | Similarly, when the Sd bit is set, the PCE-DEST-DOMAIN TLV does not | |||
| contain any AS DOMAIN sub-TLV. | contain any AS-DOMAIN sub-TLV. | |||
| The PrefL, PrefR, PrefS and PrefY fields are 3-bit long and allow the | The PrefL, PrefR, PrefS and PrefY fields are 3-bit long and allow the | |||
| PCE to specify a preference for each computation scope, where 7 | PCE to specify a preference for each computation scope, where 7 | |||
| reflects the highest preference. Such preference can be used for | reflects the highest preference. Such preference can be used for | |||
| weighted load balancing of requests. An operator may decide to | weighted load balancing of requests. An operator may decide to | |||
| configure a preference to each PCE so as to balance the path | configure a preference to each PCE so as to balance the path | |||
| computation load among them, with respect to their respective CPU | computation load among them, with respect to their respective CPU | |||
| capacity. The algorithms used by a PCC to balance its path | capacity. The algorithms used by a PCC to balance its path | |||
| computation requests according to such PCE’s preference are out of | computation requests according to such PCE’s preference are out of | |||
| the scope of this document. Same or distinct preferences may be used | the scope of this document. Same or distinct preferences may be used | |||
| for different scopes. For instance an operator that wants a PCE | for different scopes. For instance an operator that wants a PCE | |||
| capable of both inter-area and inter-AS computation to be used | capable of both inter-area and inter-AS computation to be used | |||
| preferably for inter-AS computation may configure a PrefS higher than | preferably for inter-AS computation may configure a PrefS higher than | |||
| the PrefR. | 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, | When the L bit, R bit, S or Y bit are cleared the PrefL, PrefR, | |||
| PrefS, PrefY fields MUST respectively be set to 0. | PrefS, PrefY fields MUST respectively be set to 0. | |||
| 5.1.3. PCE-DOMAINS sub-TLV | 5.1.3. PCE-DOMAINS sub-TLV | |||
| The PCE-DOMAINS sub-TLV specifies the set of domains (areas or AS) | The PCE-DOMAINS sub-TLV specifies the set of domains (areas or AS) | |||
| where the PCE has topology visibility and can compute paths. It | where the PCE has topology visibility and can compute paths. It | |||
| contains a set of one or more sub-TLVs where each sub-TLV identifies | contains a set of one or more sub-TLVs where each sub-TLV identifies | |||
| a domain. | a domain. | |||
| skipping to change at page 10, line 13 ¶ | skipping to change at page 10, line 25 ¶ | |||
| flooding scope is the entire routing domain. | flooding scope is the entire routing domain. | |||
| The PCE-DOMAINS sub-TLV has the following format: | The PCE-DOMAINS sub-TLV has the following format: | |||
| TYPE: To be assigned by IANA (Suggested value =2) | TYPE: To be assigned by IANA (Suggested value =2) | |||
| LENGTH: Variable | LENGTH: Variable | |||
| VALUE: This comprises a set of one or more DOMAIN sub-TLVs where | VALUE: This comprises a set of one or more DOMAIN sub-TLVs where | |||
| each DOMAIN sub-TLV identifies a domain where the PCE has | each DOMAIN sub-TLV identifies a domain where the PCE has | |||
| topology visibility and can compute paths | topology visibility and can compute paths | |||
| DOMAIN Sub-TLVs types are under IANA control. | DOMAIN sub-TLVs types are under IANA control. | |||
| Currently two DOMAIN sub-TLVs are defined (suggested type values to | Currently two DOMAIN sub-TLVs are defined (suggested type values to | |||
| be assigned by IANA): | be assigned by IANA): | |||
| Sub-TLV type Length Name | Sub-TLV type Length Name | |||
| 1 variable Area ID sub-TLV | 1 variable Area ID sub-TLV | |||
| 2 variable AS number sub-TLV | 2 4 AS number sub-TLV | |||
| At least one DOMAIN sub-TLV MUST be present in the PCE-DOMAINS sub- | At least one DOMAIN sub-TLV MUST be present in the PCE-DOMAINS sub- | |||
| TLV. | TLV. Note than when the PCE visibility is an entire AS, the PCE- | |||
| DOMAINS sub-TLV MUST uniquely include one AS number sub-TLV. | ||||
| 5.1.3.1. Area ID DOMAIN sub-TLV | 5.1.3.1. Area ID DOMAIN sub-TLV | |||
| This sub-TLV carries an ISIS area ID. It has the following format | This sub-TLV carries an IS-IS area ID. It has the following format | |||
| TYPE: To be assigned by IANA (Suggested value =1) | TYPE: To be assigned by IANA (Suggested value =1) | |||
| LENGTH: Variable | LENGTH: Variable | |||
| VALUE: This comprises a variable length ISIS area ID. This is the | VALUE: This comprises a variable length IS-IS area ID. This is the | |||
| combination of an Initial Domain Part (IDP) and High Order | combination of an Initial Domain Part (IDP) and High Order | |||
| part of the Domain Specific part (HO-DSP) | part of the Domain Specific part (HO-DSP) | |||
| 5.1.3.2. AS Number DOMAIN sub-TLV | 5.1.3.2. AS Number DOMAIN 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: | |||
| TYPE: To be assigned by IANA (Suggested value =2) | TYPE: To be assigned by IANA (Suggested value =2) | |||
| LENGTH: 4 | LENGTH: 4 | |||
| VALUE: AS number identifying an AS. When coded on two | VALUE: AS number identifying an AS. When coded on 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 | 5.1.4. PCE-DEST-DOMAINS sub-TLV | |||
| The PCE-DEST-DOMAINS sub-TLV specifies the set of destination domains | The PCE-DEST-DOMAINS sub-TLV specifies the set of destination domains | |||
| (areas, AS) toward which a PCE can compute path. It means that the | (areas, AS) 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 TE | |||
| whose destinations are located within one of these domains. It | LSPs whose destinations are located within one of these domains. It | |||
| contains a set of one or more DOMAIN sub-TLVs where each DOMAIN sub- | contains a set of one or more DOMAIN sub-TLVs where each DOMAIN sub- | |||
| TLV identifies a domain. | TLV identifies a domain. | |||
| The PCE-DEST-DOMAINS sub-TLV has the following format: | The PCE-DEST-DOMAINS sub-TLV has the following format: | |||
| TYPE: To be assigned by IANA (Suggested value =3) | TYPE: To be assigned by IANA (Suggested value =3) | |||
| LENGTH: Variable | LENGTH: Variable | |||
| VALUE: This comprises a set of one or more Area or/and AS DOMAIN sub- | VALUE: This comprises a set of one or more area or/and AS DOMAIN sub- | |||
| TLVs where each sub-TLV identifies a destination domain toward | TLVs where each sub-TLV identifies a destination domain toward | |||
| which a PCE can compute path. | which a PCE can compute path. | |||
| The PCE-DEST-DOMAINS sub-TLV MUST be present if the R bit is set and | The PCE-DEST-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-DEST-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 | 5.1.5. GENERAL-CAP sub-TLV | |||
| The GENERAL-CAP sub-TLV is an optional TLV used to indicate PCECP | The GENERAL-CAP sub-TLV is an optional TLV used to indicate PCEP | |||
| related capabilities. It carries a 32-bit flag, where each bit | related capabilities. It carries a 32-bit flag, where each bit | |||
| corresponds to a general PCE capability. It MAY also include optional | corresponds to a general PCE capability. It MAY also include optional | |||
| sub-TLVs to encode more complex capabilities. | sub-TLVs to encode more complex capabilities. | |||
| The GENERAL-CAP sub-TLV has the following format: | The GENERAL-CAP sub-TLV has the following format: | |||
| TYPE: To be assigned by IANA (Suggested value =4) | TYPE: To be assigned by IANA (Suggested value =4) | |||
| LENGTH: Variable | LENGTH: Variable | |||
| VALUE: This comprises a 32-bit General Capabilities flag where | VALUE: This comprises a 32-bit General Capabilities flag where | |||
| each bit corresponds to a general PCE capability, and | each bit corresponds to a general PCE capability, and | |||
| skipping to change at page 14, line 8 ¶ | skipping to change at page 14, line 21 ¶ | |||
| VALUE: This encodes a specific objective function in any | VALUE: This encodes a specific objective function in any | |||
| appropriate language. | appropriate language. | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Opaque objective function | | | Opaque objective function | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| The Opaque Objective function sub-TLV is optional. The PATH-COMP-CAP TLV | The Opaque Objective function sub-TLV is optional. The PATH-COMP-CAP TLV | |||
| MAY comprise 0, one or more Opaque Objective Functions. | MAY comprise 0, one or more Opaque Objective Functions. | |||
| 5.1.6.3. Switch Caps sub-TLV | 5.1.6.3. Switch Caps sub-TLV | |||
| The format of the Switch Caps sub-TLV is as follows: | The format of the Switch Caps sub-TLV is as follows: | |||
| TYPE To be defined by IANA (suggested value =3) | TYPE To be defined by IANA (suggested value =3) | |||
| LENGTH Variable = N, where N is the number of supported | LENGTH Variable = N, where N is the number of supported | |||
| switching capabilities | switching capabilities | |||
| VALUE This comprises a set of one or more 8-bit switching | VALUE This comprises a set of one or more 8-bit switching | |||
| types, where each switching types identifies a | types, where each switching types identifies a | |||
| supported switching capability. | supported switching capability. | |||
| skipping to change at page 14, line 31 ¶ | skipping to change at page 15, line 5 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // // | // // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Switching type values are defined in [RFC4205]. | Switching type values are defined in [RFC4205]. | |||
| The Switch Caps sub-TLV is optional. It MAY be present in the PATH-COMP- | 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 | CAP TLV. When present it MUST be present only once in the PATH-COMP-CAP | |||
| TLV. | TLV. | |||
| 5.2. The ISIS PCES TLV | 5.2. The IS-IS PCES sub-TLV | |||
| The ISIS PCE Status TLV (PCES TLV) carries information related to PCE | The IS-IS PCE Status TLV (PCES sub-TLV) carries information related | |||
| processing congestion state. | to PCE processing congestion state. The PCES sub-TLV is carried | |||
| The PCES TLV is carried within an ISIS Capability TLV which is | within an IS-IS Capability TLV which is defined in [IS-IS-CAP]. | |||
| defined in [ISIS-CAP]. | ||||
| The ISIS PCES TLV has the following format: | The IS-IS PCES sub-TLV has the following format: | |||
| TYPE: To be assigned by IANA | TYPE: To be assigned by IANA | |||
| LENGTH: Variable | LENGTH: Variable | |||
| VALUE: set of sub-TLVs | VALUE: set of sub-TLVs | |||
| Sub-TLVs types are under IANA control. | Sub-TLVs types are under IANA control. | |||
| Currently two sub-TLVs are defined (suggested type values to be | Currently two sub-TLVs are defined (suggested type values to be | |||
| assigned by IANA): | assigned by IANA): | |||
| Sub-TLV type Length Name | Sub-TLV type Length Name | |||
| 1 variable PCE-ADDRESS sub-TLV | 1 variable PCE-ADDRESS sub-TLV | |||
| 2 3 CONGESTION sub-TLV | 2 3 CONGESTION sub-TLV | |||
| The PCE-ADDRESS and CONGESTION sub-TLVs MUST be present once | There MUST be exactly one occurrence of the PCE-ADDRESS and | |||
| in a PCES TLV. The PCE-ADDRESS sub-TLV is defined in section 6.1.1. | CONGESTION sub-TLVs within a PCES sub-TLV. The PCE-ADDRESS sub-TLV is | |||
| It carries one of the PCE IP addresses and is used to identify the | defined in section 5.1.1. It carries one of the PCE IP addresses and | |||
| PCE the processing congestion state information is applied to. This | is used to identify the PCE experiencing a processing congestion | |||
| is required as the PCES and PCED TLVs may be carried in separate | state. This is required as the PCES and PCED TLVs may be carried in | |||
| ISIS Capability TLVs. | separate IS-IS Capability TLVs. | |||
| A PCE implementation MUST use the same IP address for the PCE- | ||||
| ADDRESS sub-TLV carried within the PCED sub-TLV and the PCE-ADDRESS | ||||
| sub-TLV carried within the PCES sub-TLV. | ||||
| 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 congestion information. | additional congestion information. | |||
| 5.2.1. The CONGESTION sub-TLV | 5.2.1. The CONGESTION sub-TLV | |||
| The CONGESTION sub-TLV is used to indicate whether a PCE experiences | The CONGESTION sub-TLV is used to indicate whether a PCE experiences | |||
| a processing congestion state or not along with optionally the PCE | a processing congestion state or not along with optionally the PCE | |||
| expected congestion duration. | expected congestion duration. | |||
| The CONGESTION sub-TLV is mandatory. It MUST be carried once within | The CONGESTION sub-TLV is mandatory. There MUST be a single instance | |||
| the PCES TLV. | of the CONGESTION sub-TLV within the PCES TLV. | |||
| The format of the CONGESTION sub-TLV is as follows: | The format of the CONGESTION sub-TLV is as follows: | |||
| TYPE: To be assigned by IANA (Suggested value =2) | TYPE: To be assigned by IANA (Suggested value =2) | |||
| LENGTH: 3 | LENGTH: 3 | |||
| VALUE: This comprises a one-byte flag of bits indicating the | VALUE: This comprises a one-byte flag of bits indicating the | |||
| congestion status, followed by a 2-bytes field indicating the | congestion status, followed by a 2-bytes field indicating the | |||
| congestion duration. | congestion duration. | |||
| Here is the TLV structure | Here is the TLV structure | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |C| Reserved| Congestion Duration | | |C| Reserved| Congestion Duration | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Value | Value | |||
| -C bit: When set this indicates that the PCE experiences | -C bit: When set this indicates that the PCE experiences | |||
| congestion and cannot support 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 does not | |||
| experience congestion an can support a new request. | experience 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. | When C is cleared the Congestion Duration MUST be set to 0. | |||
| 6. Elements of Procedure | 6. Elements of Procedure | |||
| The PCED and PCES TLV are carried within an ISIS Capability TLV which | The PCED and PCES TLV are carried within an IS-IS Capability TLV | |||
| is defined in [ISIS-CAP]. | defined in [IS-IS-CAP]. | |||
| As PCES information is likely to change more frequently than the PCED | As PCES information is likely to change more frequently than the PCED | |||
| information, it is RECOMMENDED to carry PCES and PCED TLVs in | information, it is RECOMMENDED to carry PCES and PCED TLVs in | |||
| separate ISIS Capability TLVs, so as not to carry all PCED | separate IS-IS Capability TLVs, so as not to carry all PCED | |||
| information each time the PCE status changes. | information each time the PCE status changes. | |||
| An ISIS router MUST originate a new ISIS LSP whenever the content | An IS-IS router MUST originate a new IS-IS LSP whenever the content | |||
| of any of the PCED TLV or PCES TLV changes or whenever required by | of any of the PCED TLV or PCES TLV changes or whenever required by | |||
| the regular ISIS procedure (LSP refresh). | the regular IS-IS procedure (LSP refresh). | |||
| When the scope of the PCED or PCES TLV is area local it MUST be | When the scope of the PCED or PCES TLV is area local it MUST be | |||
| carried within an ISIS CAPABILITY TLV having the S bit cleared. | carried within an IS-IS CAPABILITY TLV having the S bit cleared. | |||
| When the scope of the PCED or PCES TLV is the entire IGP domain, the | When the scope of the PCED or PCES TLV is the entire IGP domain, the | |||
| PCED TLV MUST be carried within an ISIS CAPABILITY TLV having the S | PCED TLV MUST be carried within an IS-IS CAPABILITY TLV having the S | |||
| bit set. | bit set. | |||
| Note that when only the L bit of the PATH-SCOPE sub-TLV is set, | When only the L bit of the PATH-SCOPE sub-TLV is set, the flooding | |||
| the flooding scope MUST be local. | scope MUST be local. | |||
| Note that the flooding scopes of the PCED and PCES TLVs may be | Note that the flooding scopes of the PCED and PCES TLVs may be | |||
| distinct, in which case they are carried in distinct ISIS Capability | distinct, in which case they are carried in distinct IS-IS Capability | |||
| TLVs. | TLVs. | |||
| PCED and PCES sub-TLVs are OPTIONAL. When an ISIS LSP does not | The PCED and PCES sub-TLVs are OPTIONAL. When an IS-IS LSP does not | |||
| contain any PCED or PCES sub-TLV, this means that the PCE information | contain any PCED or PCES sub-TLV, this means that the PCE information | |||
| of that node is unknown. | of that node is unknown. | |||
| Note that a change in PCED or PCES information MUST not trigger any | A change in PCED or PCES information MUST not trigger any | |||
| SPF computation. | SPF computation. | |||
| The way PCEs retrieve their own information is out of the scope of | The way PCEs retrieve their own information is out of the scope of | |||
| this document. Some information may be configured (e.g. address, | this document. Some information may be configured (e.g. address, | |||
| preferences, scope) and other information may be automatically | preferences, scope) and other information may be automatically | |||
| retrieved (e.g. areas of visibility). | retrieved (e.g. areas of visibility). | |||
| 6.1.1. PCES TLV specific procedure | 6.1.1. PCES TLV specific procedure | |||
| 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 new ISIS | of which are implementation dependent, it SHOULD originate a new IS- | |||
| LSP with a Capability TLV carrying a PCES TLV with the C bit set and | IS LSP with a Capability TLV carrying a PCES TLV with the C bit set | |||
| optionally a non-null expected congestion duration. | and optionally a non-null expected congestion duration. | |||
| When a PCE leaves the processing congestion state, the conditions of | When a PCE exists from the processing congestion state, the | |||
| which are implementation dependent, there are two cases: | conditions 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 PCES | |||
| TLV was null, it SHOULD originate a PCES TLV with the C bit cleared | TLV was null, it SHOULD originate a PCES TLV with the C bit cleared | |||
| and a null congestion duration; | and a null congestion duration; | |||
| - If the congestion duration in the previously originated PCES | - If the congestion duration in the previously originated PCES | |||
| TLV was non null, it MAY originate a PCES TLV. Note that in some | TLV was non null, it MAY originate a PCES TLV. Note that in some | |||
| particular cases it may be desired to originate a PCES TLV with the C | particular cases it may be desired to originate a PCES TLV with the C | |||
| bit cleared if the saturation duration was over estimated. | bit cleared if the congestion duration was over estimated. | |||
| The congestion duration allows reducing the amount of ISIS flooding, | The congestion duration allows reducing the amount of IS-IS flooding, | |||
| as only uncongested-congested state transitions are flooded. | as only uncongested-to-congested state transitions are advertised. | |||
| An implementation SHOULD support an appropriate dampening algorithm | An implementation SHOULD support an appropriate dampening algorithm | |||
| so as to dampen ISIS flooding in order to not impact the ISIS | so as to dampen IS-IS flooding in order to not impact the IS-IS | |||
| scalability. It is RECOMMENDED to introduce some hysteresis for | 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 ISIS performances. For instance two thresholds MAY be | may impact IS-IS performances. For instance two thresholds MAY be | |||
| configured: A resource saturation upper-threshold and a resource | configured: a resource congestion upper-threshold and a resource | |||
| saturation 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 PCES TLV a PCC should take appropriate | |||
| actions. In particular, the PCC SHOULD stop sending requests to a | actions. In particular, the PCC SHOULD stop sending requests to a | |||
| congested PCE, and SHOULD gradually start sending again requests to a | congested PCE, and SHOULD gradually start sending again requests to a | |||
| no longer congested PCE. | no longer congested PCE. | |||
| 7. Backward compatibility | 7. Backward compatibility | |||
| The PCED and PCES TLVs defined in this document do not introduce any | The PCED and PCES TLVs defined in this document do not introduce any | |||
| interoperability issue. | interoperability issue. | |||
| An ISIS router not supporting the PCED/PCES TLVs SHOULD just silently | An IS-IS router not supporting the PCED/PCES TLVs will just silently | |||
| ignore the TLV as specified in [ISIS-CAP]. | ignore the TLV as specified in [IS-IS-CAP]. | |||
| 8. IANA considerations | 8. IANA considerations | |||
| 8.1. ISIS TLVs | 8.1. IS-IS sub-TLVs | |||
| IANA will assign a new codepoint for the PCED TLV defined in this | IANA will assign two new codepoints for the PCED and PCES sub-TLVs | |||
| document and carried within the ISIS CAPABILITY TLV. | carried within the IS-IS CAPABILITY TLV defined in [IS-IS-CAP]. | |||
| IANA is requested to manage sub-TLV types for the PCED TLV. | ||||
| Five sub-TLVs types are defined for the PCED TLV and should be | Type Description Reference | |||
| 1 PCED [IS-IS-CAP] | ||||
| 2 PCES [IS-IS-CAP] | ||||
| 8.1.1 Sub-TLVs of the PCED sub-TLV | ||||
| IANA is requested to manage sub-TLV types for the PCED sub-TLV. | ||||
| Five sub-TLVs types are defined for the PCED sub-TLV and should be | ||||
| assigned by IANA: | assigned by IANA: | |||
| -PCE-ADDRESS sub-TLV (suggested value = 1) | ||||
| -PATH-SCOPE sub-TLV (suggested value = 2) | Type Description Reference | |||
| -PCE-DOMAINS sub-TLV (suggested value = 3) | ||||
| -PCE-DEST-DOMAINS sub-TLV (suggested value = 4) | 1 PCE-ADDRESS This document | |||
| -GENERAL-CAP sub-TLV (suggested value = 5) | 2 PATH-SCOPE This document | |||
| -PATH-COMP-CAP sub-TLV (suggested value = 6) | 3 PCE-DOMAINS This document | |||
| 4 PCE-DEST-DOMAINS This document | ||||
| 5 GENERAL-CAP This document | ||||
| 6 PATH-COMP-CAP This document | ||||
| Sub-TLVs of the PCE-DOMAINS and and PCE-DEST-DOMAINS sub-TLVs | ||||
| Two sub-TLVs types are defined for the PCE-DOMAINS and PCE-DEST- | Two sub-TLVs types are defined for the PCE-DOMAINS and PCE-DEST- | |||
| DOMAINS TLVs and should be assigned by IANA: | DOMAINS sub-TLVs and should be assigned by IANA: | |||
| -Area ID sub-TLV (suggested value = 1) | Type Description Reference | |||
| -AS number sub-TLV (suggested value = 2) | ||||
| Three sub-TLV types are defined for the PATH-COMP-CAP TLV and should | 1 Area ID This document | |||
| be assigned by IANA: | 2 AS Number This document | |||
| -Objective Functions sub-TLV (suggested value =1) | ||||
| -Opaque Objective Function sub-TLV (suggested value =2) | ||||
| -Switch Caps sub-TLV (suggested value =3) | ||||
| IANA will assign a new codepoint for the ISIS PCES TLV defined in | Sub-TLV of the PATH-COMP-CAP sub-TLV | |||
| this document and carried within the ISIS CAPABILITY TLV. | ||||
| IANA is requested to manage sub-TLV types for the PCES TLV. Two sub- | Three sub-TLV types are defined for the PATH-COMP-CAP sub-TLV and | |||
| TLVs types are defined for this TLV and should be assigned by IANA: | should be assigned by IANA: | |||
| -PCE-ADDRESS sub-TLV (suggested value = 1) | ||||
| -CONGESTION sub-TLV (suggested value = 2) | Type Description Reference | |||
| 1 Objective Functions This document | ||||
| 2 Opaque Objective Function This document | ||||
| 3 Switch Caps sub-TLV This document | ||||
| 8.1.2 Sub-TLVs of the PCES sub-TLV | ||||
| IANA is requested to manage sub-TLV types for the PCES TLV. | ||||
| Type Description Reference | ||||
| 1 PCE-ADDRESS This document | ||||
| 2 CONGESTION This document | ||||
| 8.2. Capability bits | 8.2. Capability bits | |||
| IANA is requested to manage the space of the General Capabilities | IANA is requested to manage the space of the General Capabilities | |||
| 32-bit flag and the Path Computation Capabilities 32-bit flag defined | 32-bit flag and the Path Computation Capabilities 32-bit flag defined | |||
| in this document, numbering them in the usual IETF notation starting | in this document, numbering them in the usual IETF notation starting | |||
| at zero and continuing through 31. | at zero and continuing through 31. | |||
| New bit numbers may be allocated only by an IETF Consensus action. | New bit numbers may be allocated only by an IETF Consensus action. | |||
| Each bit should be tracked with the following qualities: | Each bit should be tracked with the following qualities: | |||
| - Bit number | - Bit number | |||
| - Defining RFC | - Defining RFC | |||
| - Name of bit | - Name of bit | |||
| Currently two bits are defined in the General Capabilities flag. Here | Currently two bits are defined in the General Capabilities flag. Here | |||
| are the suggested values: | are the suggested values: | |||
| -0: Support for Request prioritization. | -0: Support for Request prioritization. | |||
| -1: Support for multiple messages within the same request message | -1: Support for multiple messages within the same request message | |||
| Currently six bits are defined in the Path Computation Capabilities | Currently seven bits are defined in the Path Computation Capabilities | |||
| flag. Here are the suggested values: | flag. Here are the suggested values: | |||
| -0: Capability to handle GMPLS Constraints | -0: Capability to handle GMPLS Constraints | |||
| -1: Capability to compute bidirectional paths | -1: Capability to compute bidirectional paths | |||
| -2: Capability to compute link/node/SRLG diverse paths | -2: Capability to compute link/node/SRLG diverse paths | |||
| -3: Capability to compute load-balanced paths | -3: Capability to compute load-balanced paths | |||
| -4: Capability to compute a set of paths in a | -4: Capability to compute a set of paths in a | |||
| synchronized Manner | synchronized Manner | |||
| -5: Support for multiple objective function | -5: Support for multiple objective function | |||
| -6: Capability to handle path constraints (e.g. hop count, metric | -6: Capability to handle path constraints (e.g. hop count, metric | |||
| bound) | bound) | |||
| 9. Security Considerations | 9. Security Considerations | |||
| This document raises no new security issues for IS-IS. | Any new security issues raised by the procedures in this document | |||
| depend upon the opportunity for LSPs to be snooped, the | ||||
| ease/difficulty of which has not been altered. As the LSPs may now | ||||
| contain additional information regarding PCE capabilities, this | ||||
| new information would also become available. Mechanisms defined to | ||||
| secure ISIS Link State PDUs [RFC3567], and their TLVs, can be used to | ||||
| secure PCED and PCES TLVs as well. | ||||
| 10. References | 10. Manageability Considerations | |||
| 10.1. Normative references | Manageability considerations for PCE Discovery are addressed in | |||
| section 4.10 of [RFC4674]. | ||||
| 11. Acknowledgments | ||||
| We would like to thank Lucy Wong and Adrian Farrel for their useful | ||||
| comments and suggestions. | ||||
| 12. References | ||||
| 12.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 | [RFC3667] Bradner, S., "IETF Rights in Contributions", BCP 78, RFC | |||
| 3667, February 2004. | 3667, February 2004. | |||
| [BCP79] Bradner, S., "Intellectual Property Rights in IETF | [BCP79] Bradner, S., "Intellectual Property Rights in IETF | |||
| Technology", RFC 3979, March 2005. | Technology", RFC 3979, March 2005. | |||
| [IS-IS] "Intermediate System to Intermediate System Intra-Domain | [IS-IS] "Intermediate System to Intermediate System Intra-Domain | |||
| Routing Exchange Protocol " ISO 10589. | Routing Exchange Protocol " ISO 10589. | |||
| [IS-IS-IP] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | |||
| dual environments", RFC 1195, December 1990. | dual environments", RFC 1195, December 1990. | |||
| [IS-IS-TE] Li, T., Smit, H., "IS-IS extensions for Traffic | [RFC3784] Li, T., Smit, H., "IS-IS extensions for Traffic | |||
| Engineering", RFC 3784, June 2004. | Engineering", RFC 3784, June 2004. | |||
| [IS-IS-CAP] Vasseur, J.P. et al., "IS-IS extensions for advertising | [IS-IS-CAP] Vasseur, J.P. et al., "IS-IS extensions for advertising | |||
| router information", draft-ietf-isis-caps, work in progress. | router information", draft-ietf-isis-caps, work in progress. | |||
| [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. | |||
| [PCE-DISCO-REQ] Le Roux, J.L., et al. "Requirements for PCE | [RFC4674] Le Roux, J.L., et al. "Requirements for PCE discovery", | |||
| discovery", draft-ietf-pce-discovery-reqs, work in progress | RFC4674, October 2006. | |||
| [RFC4205] Kompella, Rekhter, " IS-IS Extensions in Support of | [RFC4205] Kompella, Rekhter, " IS-IS Extensions in Support of | |||
| Generalized Multi-Protocol Label Switching (GMPLS)", RFC4205, October | Generalized Multi-Protocol Label Switching (GMPLS)", RFC4205, October | |||
| 2005. | 2005. | |||
| 10.2. Informative references | [RFC3567] Li, T. and R. Atkinson, "Intermediate System to | |||
| Intermediate System (IS-IS) Cryptographic Authentication", RFC 3567, | ||||
| July 2003. | ||||
| [PCECP-REQ] Ash, J., Le Roux, J.L., " PCE Communication Protocol | 12.2. Informative references | |||
| Generic Requirements", draft-ietf-pce-comm-protocol-gen-reqs, work in | ||||
| progress. | ||||
| [PCEP] Vasseur et al., “Path Computation Element (PCE) communication | [RFC4657] Ash, J., Le Roux, J.L., " PCE Communication Protocol | |||
| Protocol (PCEP) - Version 1”, draft-ietf-pce-pcep, work in progress. | Generic Requirements", RFC4657, September 2006. | |||
| [OSPF-PCE-DISCO] Le Roux, Vasseur, et al., "OSPF Extensions for PCE | [PCEP] Vasseur et al., "Path Computation Element (PCE) communication | |||
| Discovery", draft-ietf-pce-disco-proto-ospf, work in progress. | Protocol (PCEP) - Version 1", draft-ietf-pce-pcep, work in progress. | |||
| 11. Authors' Addresses: | 13. Editors' 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-ft.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' Adresses: | ||||
| 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@infonet.com | |||
| 12. Intellectual Property Statement | 15. 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 21, line 10 ¶ | skipping to change at page 22, line 21 ¶ | |||
| http://www.ietf.org/ipr. | http://www.ietf.org/ipr. | |||
| The IETF invites any interested party to bring to its attention any | The IETF invites any interested party to bring to its attention any | |||
| copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |||
| rights that may cover technology that may be required to implement | rights that may cover technology that may be required to implement | |||
| this standard. Please address the information to the IETF at | this standard. Please address the information to the IETF at | |||
| ietf-ipr@ietf.org. | ietf-ipr@ietf.org. | |||
| Disclaimer of Validity | Disclaimer of Validity | |||
| This document and the information contained herein are provided on an | This document and the information contained herein are provided | |||
| "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE | |||
| OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE | |||
| ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL | |||
| INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY | |||
| INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE | |||
| WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS | |||
| FOR A PARTICULAR PURPOSE. | ||||
| Copyright Statement | Copyright Statement | |||
| Copyright (C) The Internet Society (2006). This document is subject | Copyright (C) The IETF Trust (2006). This document is subject to the | |||
| to the rights, licenses and restrictions contained in BCP 78, and | rights, licenses and restrictions contained in BCP 78, and except as | |||
| except as set forth therein, the authors retain all their rights. | set forth therein, the authors retain all their rights. | |||
| End of changes. 117 change blocks. | ||||
| 221 lines changed or deleted | 276 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/ | ||||