| < draft-ietf-pce-disco-proto-isis-02.txt | draft-ietf-pce-disco-proto-isis-03.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: August 2007 J.P. Vasseur (Editor) | Expires: October 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 | |||
| February 2007 | April 2007 | |||
| 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-02.txt | draft-ietf-pce-disco-proto-isis-03.txt | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
| applicable patent or other IPR claims of which he or she is aware | applicable patent or other IPR claims of which he or she is aware | |||
| have been or will be disclosed, and any of which he or she becomes | have been or will be disclosed, and any of which he or she becomes | |||
| aware will be disclosed, in accordance with Section 6 of BCP 79. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that other | Task Force (IETF), its areas, and its working groups. Note that other | |||
| skipping to change at page 1, line 48 ¶ | skipping to change at page 1, line 48 ¶ | |||
| http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| Abstract | Abstract | |||
| There are various circumstances where it is highly desirable for a | There are various circumstances where it is highly desirable for a | |||
| Path Computation Client (PCC) to be able to dynamically and | Path Computation Client (PCC) to be able to dynamically and | |||
| automatically discover a set of Path Computation Elements (PCE), | automatically discover a set of Path Computation Elements (PCE), | |||
| along with some of information that can be used for PCE selection. | along with some information that can be used for PCE selection. When | |||
| When the PCE is a Label Switching Router (LSR) participating in the | the PCE is a Label Switching Router (LSR) participating in the | |||
| Interior Gateway Protocol (IGP), or even a server participating | Interior Gateway Protocol (IGP), or even a server participating | |||
| passively in the IGP, a simple and efficient way to discover PCEs | passively in the IGP, a simple and efficient way to discover PCEs | |||
| consists of using IGP flooding. For that purpose this document | consists of using IGP flooding. For that purpose this document | |||
| defines extensions to the Intermediate System to Intermediate System | defines extensions to the Intermediate System to Intermediate System | |||
| (IS-IS) routing protocol for the advertisement of PCE Discovery | (IS-IS) routing protocol for the advertisement of PCE Discovery | |||
| information within an IS-IS area or within the entire IS-IS routing | information within an IS-IS area or within the entire IS-IS routing | |||
| domain. | domain. | |||
| Conventions used in this document | Conventions used in this document | |||
| skipping to change at page 2, line 24 ¶ | skipping to change at page 2, line 24 ¶ | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC-2119. | document are to be interpreted as described in RFC-2119. | |||
| Table of Contents | Table of Contents | |||
| 1. Terminology.................................................3 | 1. Terminology.................................................3 | |||
| 2. Introduction................................................4 | 2. Introduction................................................4 | |||
| 3. Overview....................................................5 | 3. Overview....................................................5 | |||
| 3.1. PCE Information.............................................5 | 3.1. PCE Information.............................................5 | |||
| 3.1.1. PCE Discovery Information...................................5 | 3.1.1. PCE Discovery Information...................................5 | |||
| 3.1.2. PCE Status Information......................................6 | 3.1.2. PCE Congestion Information..................................6 | |||
| 3.2. Flooding scope..............................................6 | 3.2. Flooding scope..............................................6 | |||
| 4. IS-IS extensions............................................6 | 4. IS-IS extensions............................................7 | |||
| 4.1. The IS-IS PCED TLV..........................................6 | 4.1. The IS-IS PCED sub-TLV......................................7 | |||
| 4.1.1. PCE-ADDRESS sub-TLV.........................................7 | 4.1.1. PCE-ADDRESS sub-TLV.........................................8 | |||
| 4.1.2. The PATH-SCOPE sub-TLV......................................8 | 4.1.2. The PATH-SCOPE sub-TLV......................................8 | |||
| 4.1.3. PCE-DOMAINS sub-TLV........................................10 | 4.1.3. PCE-DOMAIN sub-TLV.........................................10 | |||
| 4.1.3.1. Area ID DOMAIN sub-TLV...................................10 | 4.1.4. NEIG-PCE-DOMAIN sub-TLV....................................11 | |||
| 4.1.3.2. AS Number DOMAIN sub-TLV.................................11 | ||||
| 4.1.4. PCE-NEIG-DOMAINS sub-TLV...................................11 | ||||
| 4.1.5. PCE-CAP-FLAGS sub-TLV......................................11 | 4.1.5. PCE-CAP-FLAGS sub-TLV......................................11 | |||
| 4.1.6. The CONGESTION sub-TLV.....................................12 | 4.1.6. The CONGESTION sub-TLV.....................................12 | |||
| 5. Elements of Procedure......................................13 | 5. Elements of Procedure......................................13 | |||
| 5.1.1. CONGESTION sub-TLV specific procedures.....................14 | 5.1.1. CONGESTION sub-TLV specific procedures.....................14 | |||
| 6. Backward compatibility.....................................15 | 6. Backward compatibility.....................................15 | |||
| 7. IANA considerations........................................15 | 7. IANA considerations........................................15 | |||
| 7.1. IS-IS sub-TLV..............................................15 | 7.1. IS-IS sub-TLV..............................................15 | |||
| 7.2. PCED sub-TLVs registry.....................................15 | 7.2. PCED sub-TLVs registry.....................................15 | |||
| 7.3. PCE Capability Flags registry..............................16 | 7.3. PCE Capability Flags registry..............................16 | |||
| 8. Security Considerations....................................16 | 8. Security Considerations....................................16 | |||
| 9. Manageability Considerations...............................17 | 9. Manageability Considerations...............................17 | |||
| 9.1. Control of Policy and Functions............................17 | 9.1. Control of Policy and Functions............................17 | |||
| 9.2. Information and Data Model.................................17 | 9.2. Information and Data Model.................................17 | |||
| 9.3. Liveness Detection and Monitoring..........................17 | 9.3. Liveness Detection and Monitoring..........................17 | |||
| 9.4. Verify Correct Operations..................................17 | 9.4. Verify Correct Operations..................................17 | |||
| 9.5. Requirements on Other Protocols and Functional | 9.5. Requirements on Other Protocols and Functional | |||
| Components...............................................17 | Components...............................................17 | |||
| 9.6. Impact on network operations...............................18 | 9.6. Impact on network operations...............................17 | |||
| 10. Acknowledgments............................................18 | 10. Acknowledgments............................................18 | |||
| 11. References.................................................18 | 11. References.................................................18 | |||
| 11.1. Normative references.......................................18 | 11.1. Normative references.......................................18 | |||
| 11.2. Informative references.....................................19 | 11.2. Informative references.....................................19 | |||
| 12. Editors' Addresses:........................................19 | 12. Editors' Addresses:........................................19 | |||
| 13. Contributors' Adresses:....................................19 | 13. Contributors' Adresses:....................................19 | |||
| 14. Intellectual Property Statement............................20 | 14. Intellectual Property Statement............................20 | |||
| 1. Terminology | 1. Terminology | |||
| Terminology used in this document | Terminology used in this document | |||
| ABR: IGP Area Border Router (L1L2 router). | ||||
| AS: Autonomous System. | AS: Autonomous System. | |||
| Domain: any collection of network elements within a common sphere | ||||
| of address management or path computational responsibility. | ||||
| Examples of domains include IGP areas and Autonomous Systems. | ||||
| IGP: Interior Gateway Protocol. Either of the two routing | IGP: Interior Gateway Protocol. Either of the two routing | |||
| protocols Open Shortest Path First (OSPF) or Intermediate System | protocols Open Shortest Path First (OSPF) or Intermediate System | |||
| to Intermediate system (IS-IS). | to Intermediate system (IS-IS). | |||
| 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 two or | Inter-area TE LSP: A TE LSP whose path transits two or | |||
| skipping to change at page 3, line 50 ¶ | skipping to change at page 3, line 42 ¶ | |||
| LSR: Label Switching Router. | LSR: Label Switching 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. | |||
| PCE-Domain: In a PCE context this refers to any collection of | ||||
| network elements within a common sphere of address management or | ||||
| path computational responsibility (referred to as "domain" in | ||||
| [RFC4655]). Examples of PCE-Domains include IGP areas and | ||||
| Autonomous Systems. This should be distinguished from an IS-IS | ||||
| routing domain as defined by [ISO]. | ||||
| PCEP: Path Computation Element communication Protocol. | PCEP: Path Computation Element communication Protocol. | |||
| TE LSP: Traffic Engineered Label Switched Path. | TE LSP: Traffic Engineered Label Switched Path. | |||
| 2. Introduction | 2. Introduction | |||
| [RFC4655] describes the motivations and architecture for a Path | [RFC4655] describes the motivations and architecture for a Path | |||
| Computation Element (PCE)-based path computation model for Multi | Computation Element (PCE)-based path computation model for Multi | |||
| Protocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic | Protocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic | |||
| Engineered Label Switched Paths (TE-LSPs). The model allows for the | Engineered Label Switched Paths (TE-LSPs). The model allows for the | |||
| separation of the PCE from a PCC (also referred to as a non co- | separation of the PCE from a Path Computation Client (PCC) (also | |||
| located PCE) and allows for cooperation between PCEs. This relies on | referred to as a non co-located PCE) and allows for cooperation | |||
| a communication protocol between PCC and PCE, and between PCEs. The | between PCEs. This relies on a communication protocol between PCC and | |||
| requirements for such a communication protocol can be found in | PCE, and between PCEs. The requirements for such a communication | |||
| [RFC4657] and the communication protocol is defined in [PCEP]. | protocol can be found in [RFC4657] and the communication protocol is | |||
| defined in [PCEP]. | ||||
| The PCE architecture requires that a PCC be aware of the location of | The PCE architecture requires that a PCC be aware of the location of | |||
| one or more PCEs in its domain, and also potentially of some PCEs in | 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 computation. | other domains, e.g. in case of inter-domain TE LSP computation. | |||
| A network may contain a large number of PCEs with potentially | A network may contain a large number of PCEs with potentially | |||
| distinct capabilities. In such a context it is highly desirable to | distinct capabilities. In such a context it is highly desirable to | |||
| have a mechanism for automatic and dynamic PCE discovery, which | have a mechanism for automatic and dynamic PCE discovery, which | |||
| allows PCCs to automatically discover a set of PCEs, along with | allows PCCs to automatically discover a set of PCEs, along with | |||
| additional information about each PCE that may be required for the | additional information about each PCE that may be required for the | |||
| skipping to change at page 4, line 55 ¶ | skipping to change at page 5, line 5 ¶ | |||
| discovery requirements set forth in [RFC4674]. This document also | discovery requirements set forth in [RFC4674]. This document also | |||
| defines extensions allowing a PCE in an IS-IS routing domain to | defines extensions allowing a PCE in an IS-IS routing domain to | |||
| advertise its processing congestion state. | advertise its processing congestion state. | |||
| Generic capability advertisement mechanisms for IS-IS are defined in | Generic capability advertisement mechanisms for IS-IS are defined in | |||
| [IS-IS-CAP]. These allow a router to advertise its capabilities | [IS-IS-CAP]. These allow a router to advertise its capabilities | |||
| within an IS-IS area or an entire IS-IS routing domain. This document | within an IS-IS area or an entire IS-IS routing domain. This document | |||
| leverages this generic capability advertisement mechanism to fully | leverages this generic capability advertisement mechanism to fully | |||
| satisfy the aforementioned dynamic PCE discovery requirements. | satisfy the aforementioned dynamic PCE discovery requirements. | |||
| This document defines a new sub-TLV (named the PCE Discovery (PCED) | This document defines a new sub-TLV (named PCE Discovery (PCED) to be | |||
| to be carried within the IS-IS Router Capability TLV ([IS-IS-CAP]). | carried within the IS-IS Router Capability TLV ([IS-IS-CAP]). | |||
| The PCE information advertised is detailed in section 3. Protocol | The PCE information advertised is detailed in section 3. Protocol | |||
| extensions and procedures are defined in section 4 and 5. | extensions and procedures are defined in section 4 and 5. | |||
| This document does not define any new IS-IS elements of procedure. | This document does not define any new IS-IS elements of procedure. | |||
| The procedures defined in [IS-IS-CAP] should be used. | The procedures defined in [IS-IS-CAP] MUST be used. | |||
| The IS-IS extensions defined in this document allow for PCE discovery | The IS-IS extensions defined in this document allow for PCE discovery | |||
| within an IS-IS Routing domain. Solutions for PCE discovery across AS | within an IS-IS Routing domain. Solutions for PCE discovery across AS | |||
| boundaries are beyond the scope of this document, and for further | boundaries are beyond the scope of this document, and for further | |||
| study. | study. | |||
| This document defines a set of sub-TLVs that are nested within each | This document defines a set of sub-TLVs that are nested within each | |||
| other. When the degree of nesting TLVs is 2 (a TLV is carried within | 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. | 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 | 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 | 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 | sake of terminology simplicity, we refer to sub-TLV, a TLV carried | |||
| within a TLV regardless of the degree of nesting. | within a TLV regardless of the degree of nesting. | |||
| 3. Overview | 3. Overview | |||
| 3.1. PCE Information | 3.1. PCE Information | |||
| The PCE information advertised via IS-IS falls into two categories: | The PCE information advertised via IS-IS falls into two categories: | |||
| PCE Discovery information and PCE Status information. | PCE Discovery information and PCE Congestion information. | |||
| 3.1.1. PCE Discovery Information | 3.1.1. PCE Discovery Information | |||
| The PCE Discovery information is comprised of: | The PCE Discovery information is comprised of: | |||
| - The PCE location: an IPv4 and/or IPv6 address that is used to reach | - The PCE location: an IPv4 and/or IPv6 address that is used to reach | |||
| the PCE. It is RECOMMENDED to use an address that is always | the PCE. It is RECOMMENDED to use an address that is always | |||
| reachable; | reachable; | |||
| - The PCE inter-domain functions: PCE path computation scope (i.e. | - The PCE path computation scope (i.e. inter-area, inter-AS, inter- | |||
| inter-area, inter-AS, inter-layer…); | layer); | |||
| - The PCE domain(s): set of one or more domain(s) into which the PCE | - The set of one or more PCE-Domain(s) into which the PCE has | |||
| has visibility and can compute paths; | visibility and can compute paths; | |||
| - The PCE neighbor domain(s): set of one or more neighbor domain(s) | - The set of one or more neighbor PCE-Domain(s) towards which a PCE | |||
| towards which a PCE can compute paths; | can compute paths; | |||
| - A set of communication capabilities (e.g. support for | - A set of communication capabilities (e.g. support for request | |||
| request prioritization) and path computation specific capabilities | prioritization) and path computation specific capabilities | |||
| (e.g. supported constraints). | (e.g. supported constraints). | |||
| Optional elements to describe more complex capabilities may also be | Optional elements to describe more complex capabilities may also be | |||
| advertised. | advertised. | |||
| PCE Discovery information is by nature fairly static and does not | PCE Discovery information is by nature fairly static and does not | |||
| change with PCE activity. Changes in PCE Discovery information may | change with PCE activity. Changes in PCE Discovery information may | |||
| occur as a result of PCE configuration updates, PCE | occur as a result of PCE configuration updates, PCE | |||
| deployment/activation, PCE deactivation/suppression, or PCE failure. | deployment/activation, PCE deactivation/suppression, or PCE failure. | |||
| Hence, this information is not expected to change frequently. | Hence, this information is not expected to change frequently. | |||
| 3.1.2. PCE Status Information | 3.1.2. PCE Congestion Information | |||
| The PCE Status is optional and can be used to report a PCE's | The PCE Congestion information is optional and can be used to report | |||
| processing congestion state along with an estimated congestion | a PCE's processing congestion state along with an estimated | |||
| duration. This is a dynamic information, which may change with PCE | congestion duration. This is dynamic information, which may change | |||
| activity. | with PCE activity. | |||
| Procedures for a PCE to move from a processing congestion state to a | Procedures for a PCE to move from a processing congestion state to a | |||
| non-congestion state are beyond the scope of this document, but the | non-congestion state are beyond the scope of this document, but the | |||
| rate at which a PCE Status change is advertised MUST NOT impact by | rate at which a PCE Status change is advertised MUST NOT impact by | |||
| any means the IGP scalability. Particular attention should be given | any means the IGP scalability. Particular attention should be given | |||
| on procedures to avoid state oscillations. | on procedures to avoid state oscillations. | |||
| 3.2. Flooding scope | 3.2. Flooding scope | |||
| The flooding scope for PCE information advertised through IS-IS can | The flooding scope for PCE information advertised through IS-IS can | |||
| be limited to one or more IS-IS areas the PCE belongs to, or can be | be a single L1 area, a L1 area and the L2 sub-domain, or the entire | |||
| extended across the entire IS-IS routing domain. | IS-IS routing domain. | |||
| Note that some PCEs may belong to multiple areas, in which case the | ||||
| flooding scope may comprise these areas. This could be the case for a | ||||
| L1L2 router for instance advertising its PCE information within the | ||||
| L2 area and/or a subset of its attached L1 area(s). | ||||
| 4. IS-IS extensions | 4. IS-IS extensions | |||
| 4.1. The IS-IS PCED TLV | 4.1. The IS-IS PCED sub-TLV | |||
| The IS-IS PCED TLV is made of a set of non ordered sub-TLVs. | The IS-IS PCED sub-TLV is made of a set of non ordered sub-TLVs. | |||
| The format of the IS-IS PCED TLV and its sub-TLVs is the identical to | The format of the IS-IS PCED sub-TLV and its sub-TLVs is identical to | |||
| the TLV format used by the Traffic Engineering Extensions to IS-IS | the TLV format used by the Traffic Engineering Extensions to IS-IS | |||
| [RFC3784]. That is, the TLV is composed of 1 octet for the type, 1 | [RFC3784]. That is, the TLV is composed of 1 octet for the type, 1 | |||
| octet specifying the TLV length, and a value field. The Length field | octet specifying the TLV length, and a value field. The Length field | |||
| defines the length of the value portion in octets. | defines the length of the value portion in bytes. | |||
| The IS-IS PCED TLV has the following format: | The IS-IS PCED sub-TLV has the following format: | |||
| TYPE: To be assigned by IANA (suggested value = 5) | TYPE: To be assigned by IANA (suggested value = 5) | |||
| 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 six sub-TLVs are defined (suggested type values to be | Currently six 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-DOMAIN sub-TLV | |||
| 4 variable PCE-NEIG-DOMAINS sub-TLV | 4 variable NEIG-PCE-DOMAIN sub-TLV | |||
| 5 variable PCE-CA-FLAGS sub-TLV | 5 variable PCE-CAP-FLAGS sub-TLV | |||
| 6 1 CONGESTION sub-TLV | 6 1 CONGESTION sub-TLV | |||
| The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within | The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within | |||
| the PCED TLV. | the PCED sub-TLV. | |||
| The PCE-DOMAINS and PCE-NEIG-DOMAINS sub-TLVs are optional. They may | The PCE-DOMAIN and NEIG-PCE-DOMAIN sub-TLVs are optional. They | |||
| be present in the PCED TLV to facilitate selection of inter-domain | MAY be present in the PCED sub-TLV to facilitate selection of inter- | |||
| PCEs. | domain PCEs. | |||
| The PCE-CAP-FLAGS sub-TLVs are optional and MAY be present in the | The PCE-CAP-FLAGS sub-TLV is optional and MAY be present in the PCED | |||
| PCED TLV to facilitate the PCE selection process. | sub-TLV to facilitate the PCE selection process. | |||
| The CONGESTION sub-TLV is optional and MAY be present in the PCED | The CONGESTION sub-TLV is optional and MAY be present in the PCED | |||
| TLV, to indicate a PCE's processing congestion state. | sub-TLV, to indicate a PCE's processing congestion state. | |||
| Any non recognized sub-TLV MUST be silently ignored. | Any non recognized sub-TLV MUST be silently ignored. | |||
| Additional sub-TLVs could be added in the future to advertise | Additional sub-TLVs could be added in the future to advertise | |||
| additional PCE information. | additional PCE information. | |||
| The PCED TLV is carried within an IS-IS CAPABILITY TLV defined in | The PCED sub-TLV is carried within an IS-IS CAPABILITY TLV defined in | |||
| [IS-IS-CAP]. | [IS-IS-CAP]. | |||
| The following sub-sections describe the sub-TLVs which may be carried | ||||
| within the PCED sub-TLV. | ||||
| 4.1.1. PCE-ADDRESS sub-TLV | 4.1.1. PCE-ADDRESS sub-TLV | |||
| The PCE-ADDRESS sub-TLV specifies the IP address that can be | The PCE-ADDRESS sub-TLV specifies the IP address that can be | |||
| used to reach the PCE. It is RECOMMENDED to make use of an address | used to reach the PCE. It is RECOMMENDED to make use of an address | |||
| that is always reachable, provided 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 sub-TLV. It MAY appear twice, when the PCE has both an IPv4 and | |||
| IPv6 address. It MUST NOT appear more than once for the same address | IPv6 address. It MUST NOT appear more than once for the same address | |||
| type. | 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 bytes encoding the IPv4 or IPv6 address to be used | |||
| to reach the PCE | to reach the PCE. | |||
| Address-type: | Address-type: | |||
| 1 IPv4 | 1 IPv4 | |||
| 2 IPv6 | 2 IPv6 | |||
| 4.1.2. The PATH-SCOPE sub-TLV | 4.1.2. The PATH-SCOPE sub-TLV | |||
| The PATH-SCOPE sub-TLV indicates the PCE path computation scope, | The PATH-SCOPE sub-TLV indicates the PCE path computation scope, | |||
| which refers to the PCE's ability to compute or take part in the | which refers to the PCE's ability to compute or take part in the | |||
| computation of intra-area, inter-area, inter-AS, or inter-layer_TE | computation of intra-area, inter-area, inter-AS, or inter-layer_TE | |||
| LSP(s). | LSP(s). | |||
| The PATH-SCOPE sub-TLV is mandatory; it MUST be present within the | The PATH-SCOPE sub-TLV is mandatory; it MUST be present within the | |||
| PCED TLV. There MUST be exactly one instance of the PATH-SCOPE sub- | PCED sub-TLV. There MUST be exactly one instance of the PATH-SCOPE | |||
| TLV within each PCED TLV. | sub-TLV within each PCED sub-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, and four fields indicating PCE preferences. | supported path scopes, 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 flags field where flag | VALUE: This comprises a one-byte flags field where flag | |||
| represents a supported path scope, followed by a 2-bytes | represents a supported path scope, followed by a 2-bytes | |||
| skipping to change at page 9, line 27 ¶ | skipping to change at page 9, line 42 ¶ | |||
| Pref-L field: PCE's preference for intra-area TE LSPs computation. | Pref-L field: PCE's preference for intra-area TE LSPs computation. | |||
| Pref-R field: PCE's preference for inter-area TE LSPs computation. | Pref-R field: PCE's preference for inter-area TE LSPs computation. | |||
| Pref-S field: PCE's preference for inter-AS TE LSPs computation. | Pref-S field: PCE's preference for inter-AS TE LSPs computation. | |||
| Pref-Y field: PCE's preference for inter-layer TE LSPs computation. | Pref-Y field: PCE's preference for inter-layer TE LSPs computation. | |||
| Res: Reserved for future usage. | Res: Reserved for future usage. | |||
| The bits L, R, S, and Y bits are set when the PCE can act as a PCE | The L, R, S, and Y bits are set when the PCE can act as a PCE for | |||
| for intra-area, inter-area, inter-AS or inter-layer TE LSPs | intra-area, inter-area, inter-AS or inter-layer TE LSPs computation | |||
| computation respectively. These bits are non-exclusive. | respectively. These bits are non-exclusive. | |||
| When set the Rd bit indicates that the PCE can act as a default PCE | When set the Rd bit indicates that the PCE can act as a default PCE | |||
| for inter-area TE LSP computation (that is the PCE can compute a path | for inter-area TE LSP computation (that is the PCE can compute a path | |||
| towards any neighbor area). Similarly, when set, the Sd bit indicates | towards any neighbor area). Similarly, when set, the Sd bit indicates | |||
| that the PCE can act as a default PCE for inter-AS TE LSP computation | that the PCE can act as a default PCE for inter-AS TE LSP computation | |||
| (the PCE can compute a path towards any neighbor AS). | (the PCE can compute a path towards any neighbor AS). | |||
| When the Rd bit is set, the PCE-NEIG-DOMAIN TLV (see 5.1.4) MUST NOT | When the Rd and Sd bit are set, the PCED sub-TLV MUST NOT contain any | |||
| contain any Area ID DOMAIN sub-TLVs. | NEIG-PCE-DOMAIN sub-TLV (see 4.1.4). | |||
| Similarly, when the Sd bit is set, the PCE-NEIG-DOMAIN TLV MUST NOT | ||||
| contain any AS-DOMAIN sub-TLVs. | ||||
| When the R/S bit is cleared, the RD/Sd bit SHOULD be cleared and MUST | When the R/S bit is cleared, the Rd/Sd bit SHOULD be cleared and MUST | |||
| be ignored. | be ignored. | |||
| The PrefL, PrefR, PrefS and PrefY fields are each three bits long and | The PrefL, PrefR, PrefS and PrefY fields are each three bits long and | |||
| allow the PCE to specify a preference for each computation scope, | allow the PCE to specify a preference for each computation scope, | |||
| where 7 reflects the highest preference. Such preference can be used | where 7 reflects the highest preference. Such preference can be used | |||
| for weighted load balancing of requests. An operator may decide to | for weighted load balancing of requests. An operator may decide to | |||
| configure a preference for each computation scope to each PCE so as | configure a preference for each computation scope to each PCE so as | |||
| to balance the path computation load among them. The algorithms used | to balance the path computation load among them. The algorithms used | |||
| by a PCC to balance its path computation requests according to such | by a PCC to balance its path computation requests according to such | |||
| PCE preference are out of the scope of this document and is a matter | PCE preference are out of the scope of this document and is a matter | |||
| skipping to change at page 10, line 15 ¶ | skipping to change at page 10, line 29 ¶ | |||
| 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 L bit, R bit, S bit or Y bit are cleared the PrefL, PrefR, | When the L bit, R bit, S bit or Y bit are cleared the PrefL, PrefR, | |||
| PrefS, PrefY fields SHOULD respectively be set to 0 and MUST be | PrefS, PrefY fields SHOULD respectively be set to 0 and MUST be | |||
| ignored. | ignored. | |||
| Both reserved fields SHOULD be set to zero on transmission and MUST | Both reserved fields SHOULD be set to zero on transmission and MUST | |||
| be ignored on receipt. | be ignored on receipt. | |||
| 4.1.3. PCE-DOMAINS sub-TLV | 4.1.3. PCE-DOMAIN sub-TLV | |||
| The PCE-DOMAINS sub-TLV specifies the set of domains (areas and/or | The PCE-DOMAIN sub-TLV specifies a PCE-Domain (areas and/or ASes) | |||
| ASes) where the PCE has topology visibility and through which the PCE | where the PCE has topology visibility and through which the PCE can | |||
| can compute paths. It contains a set of one or more sub-TLVs where | compute paths. | |||
| each sub-TLV identifies a domain. | ||||
| The PCE-DOMAINS sub-TLV MAY be present when PCE domains cannot be | The PCE-DOMAIN sub-TLV MAY be present when PCE-Domains cannot be | |||
| inferred by other IGP information, for instance when the PCE is | inferred by other IGP information, for instance when the PCE is | |||
| inter-domain capable (i.e. when the R bit or S bit is set) and the | inter-domain capable (i.e. when the R bit or S bit is set) and the | |||
| flooding scope is the entire routing domain (see section 5 for a | flooding scope is the entire routing domain (see section 5 for a | |||
| discussion of how the flooding scope is set and interpreted). | discussion of how the flooding scope is set and interpreted). | |||
| The PCE-DOMAINS sub-TLV has the following format: | A PCED sub-TLV MAY include multiple PCE-DOMAIN sub-TLVs when the PCE | |||
| has visibility in multiple PCE-Domains. | ||||
| The PCE-DOMAIN 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 DOMAIN sub-TLVs where | VALUE: This comprises one octet indicating the domain-type (area ID | |||
| each DOMAIN sub-TLV identifies a domain where the PCE has | or AS Number) and a variable length IS-IS area ID or a 32 bits AS | |||
| topology visibility and can compute paths. | number, identifying a PCE-domain where the PCE has visibility. | |||
| Two DOMAIN sub-TLVs are defined | ||||
| Sub-TLV type Length Name | ||||
| 1 Variable Area ID sub-TLV | ||||
| 2 4 AS number sub-TLV | ||||
| At least one DOMAIN sub-TLV MUST be present in the PCE-DOMAINS sub- | Two domain types are defined: | |||
| TLV. Note than when the PCE visibility is an entire AS, the PCE- | 1 Area ID | |||
| DOMAINS sub-TLV MUST include exactly one AS number sub-TLV, and MUST | 2 AS Number | |||
| not contain an area-ID sub-TLV. | ||||
| 4.1.3.1. Area ID DOMAIN sub-TLV | The Area ID is the area address as defined in [ISO]. | |||
| This sub-TLV carries an IS-IS area ID. It has the following format | When coded in two bytes (which is the current defined format as the | |||
| time of writing this document), the AS Number field MUST have its | ||||
| left two bytes set to 0. | ||||
| TYPE: 1 | 4.1.4. NEIG-PCE-DOMAIN sub-TLV | |||
| LENGTH: Variable | ||||
| VALUE: This comprises a variable length IS-IS area ID. This is the | ||||
| combination of an Initial Domain Part (IDP) and High Order | ||||
| part of the Domain Specific part (HO-DSP) | ||||
| 4.1.3.2. AS Number DOMAIN sub-TLV | The NEIG-PCE-DOMAIN sub-TLV specifies a neighbour PCE-domain (area, | |||
| AS) toward which a PCE can compute paths. It means that the PCE can | ||||
| take part in the computation of inter-domain TE LSPs whose path | ||||
| transits this neighbour PCE-domain. | ||||
| The AS Number sub-TLV carries an AS number. It has the following | A PCED sub-TLV MAY include several NEIG-PCE-DOMAIN sub-TLVs when the | |||
| format: | PCE can compute paths towards several neighbour PCE-domains. | |||
| TYPE: 2 | The NEIG-PCE-DOMAIN sub-TLV has the same format as the PCE-DOMAIN | |||
| LENGTH: 4 | sub-TLV: | |||
| VALUE: AS number identifying an AS. When coded in two | ||||
| bytes (which is the current defined format as the | ||||
| time of writing this document), the AS Number field | ||||
| MUST have its left two bytes set to 0. | ||||
| 4.1.4. PCE-NEIG-DOMAINS sub-TLV | TYPE: To be assigned by IANA (Suggested value =4) | |||
| LENGTH: Variable | ||||
| VALUE: This comprises one octet indicating the domain-type (area ID | ||||
| or AS Number) and a variable length IS-IS area ID or a 32 bits AS | ||||
| number, identifying a PCE-domain towards which the PCE can compute | ||||
| paths. | ||||
| The PCE-NEIG-DOMAINS sub-TLV specifies the set of neighbour domains | Two domain types are defined: | |||
| (areas, ASes) toward which a PCE can compute paths. It means that the | 1 Area ID | |||
| PCE can compute or take part in the computation of inter-domain TE | 2 AS Number | |||
| LSPs whose path transits one of these domains. It contains a set of | ||||
| one or more DOMAIN sub-TLVs where each DOMAIN sub-TLV identifies a | ||||
| domain. | ||||
| The PCE-NEIG-DOMAINS sub-TLV has the following format: | The Area ID is the area address as defined in [ISO]. | |||
| TYPE: To be assigned by IANA (Suggested value =4) | When coded in two bytes (which is the current defined format as the | |||
| LENGTH: Variable | time of writing this document), the AS Number field MUST have its | |||
| VALUE: This comprises a set of one or more area or/and AS DOMAIN sub- | left two bytes set to 0. | |||
| TLVs where each sub-TLV identifies a neighbour domain toward | ||||
| which a PCE can compute path. | ||||
| The PCE-NEIG-DOMAINS sub-TLV MUST be present if the R bit is set and | The NEIG-PCE-DOMAIN 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-NEIG-DOMAINS sub-TLV MUST include at least one DOMAIN sub- | ||||
| TLV. It MUST include at least one Area ID sub-TLV, if the R bit of | ||||
| 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 | ||||
| the S bit of the PATH-SCOPE TLV is set and the Sd bit of the PATH- | ||||
| SCOPE TLV is cleared. | ||||
| 4.1.5. PCE-CAP-FLAGS sub-TLV | 4.1.5. PCE-CAP-FLAGS sub-TLV | |||
| The PCE-CAP-FLAGs sub-TLV is an optional TLV used to indicate PCEP | The PCE-CAP-FLAGs sub-TLV is an optional sub-TLV used to indicate | |||
| related capabilities. It MAY be present within the PCED TLV. It MUST | PCEP related capabilities. It MAY be present within the PCED sub-TLV. | |||
| NOT be present more than once. | It MUST NOT be present more than once. | |||
| The value field of the PCE-CAP-FLAGS sub-TLV is made up of an array | The value field of the PCE-CAP-FLAGS sub-TLV is made up of an array | |||
| of units of 32 bit flags numbered from the most significant as bit | of units of 32 bit flags numbered from the most significant as bit | |||
| zero, where each bit represents one PCE capability. | zero, where each bit represents one PCE capability. | |||
| The GENERAL-CAP sub-TLV has the following format: | The PCE-CAP-FLAGS 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: Multiple of 4 | LENGTH: Multiple of 4 | |||
| VALUE: This contains an array of units of 32 bit flags numbered | VALUE: This contains an array of units of 32 bit flags numbered | |||
| from the most significant as bit zero, where each bit | from the most significant as bit zero, where each bit | |||
| represents one PCE capability. | represents one PCE capability. | |||
| IANA is requested to manage the space of the PCE Capability Flags | IANA is requested to manage the space of the PCE Capability Flags. | |||
| The following bits are to be assigned by IANA: | The following bits are to be assigned by IANA: | |||
| Bit Capabilities | Bit Capabilities | |||
| 0 Capability to handle GMPLS link constraints | 0 Path computation with GMPLS link constraints | |||
| 1 Capability to compute bidirectional paths | 1 Bidirectional path computation | |||
| 2 Capability to compute PSC path | 2 Diverse path computation | |||
| 3 Capability to compute a TDM path | 3 Load-balanced path computation | |||
| 4 Capability to compute a LSC path | 4 Synchronized paths computation | |||
| 5 Capability to compute a FSC path | 5 Support for multiple objective functions | |||
| 6 Support for additive path constraints | ||||
| (max hop count, etc.) | ||||
| 7 Support for request prioritization | ||||
| 8 Support for multiple requests per message | ||||
| 6 Capability to compute link/node/SRLG diverse paths | 9-31 Reserved for future assignments by IANA. | |||
| 7 Capability to compute load-balanced paths | ||||
| 8 Capability to compute a set of paths in a | ||||
| synchronized Manner | ||||
| 9 Support for multiple objective functions | ||||
| 10 Capability to handle path constraints (e.g. max hop count, | ||||
| max path metric) | ||||
| 11 Support for Request prioritization. | ||||
| 12 Support for multiple requests within the same | ||||
| request message. | ||||
| 13-31 Reserved for future assignments by IANA. | These capabilities are defined in [RFC4657]. | |||
| Reserved bits SHOULD be set to zero on transmission and MUST be | Reserved bits SHOULD be set to zero on transmission and MUST be | |||
| ignored on receipt. | ignored on receipt. | |||
| 4.1.6. The CONGESTION sub-TLV | 4.1.6. The CONGESTION sub-TLV | |||
| The CONGESTION sub-TLV is used to indicate a PCE's experiences a | The CONGESTION sub-TLV is used to indicate that a PCE is experiencing | |||
| processing congestion state and may optionally include expected PCE | a processing congestion state and may optionally include expected PCE | |||
| congestion duration. | congestion duration. | |||
| The CONGESTION sub-TLV is optional, it MAY be carried within the PCED | The CONGESTION sub-TLV is optional, it MAY be carried within the PCED | |||
| TLV. It MUST NOT be present more than once. | sub-TLV. It MUST NOT be present more than once. | |||
| The format of the CONGESTION sub-TLV is as follows: | The format of the CONGESTION sub-TLV is as follows: | |||
| TYPE: To be assigned by IANA (Suggested value =6) | TYPE: To be assigned by IANA (Suggested value =6) | |||
| LENGTH: 3 | LENGTH: 3 | |||
| VALUE: This comprises a one-byte bit flags indicating the | VALUE: This comprises a one byte of bit flags 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 | |||
| skipping to change at page 13, line 35 ¶ | skipping to change at page 13, line 27 ¶ | |||
| -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 SHOULD be set to 0 and MUST | When C is cleared the Congestion Duration SHOULD be set to 0 and MUST | |||
| be ignored. | be ignored. | |||
| 5. Elements of Procedure | 5. Elements of Procedure | |||
| The PCED TLV is advertised within an IS-IS Router Capability TLV | The PCED sub-TLV is advertised within an IS-IS Router Capability TLV | |||
| defined in [IS-IS-CAP]. A such, elements of procedures are inherited | defined in [IS-IS-CAP]. As such, elements of procedures are inherited | |||
| from those defined in [IS-IS-CAP]. | from those defined in [IS-IS-CAP]. | |||
| The flooding scope is controlled by the S flag in the IS-IS Router | The flooding scope is controlled by the S flag in the IS-IS Router | |||
| Capability TLV (see [IS-IS-CAP]). When the scope of the PCED TLV is | Capability TLV (see [IS-IS-CAP]). When the scope of the PCED sub-TLV | |||
| area local it MUST be carried within an IS-IS CAPABILITY TLV having | is area local it MUST be carried within an IS-IS Router Capability | |||
| the S bit cleared. When the scope of the PCED TLV is the entire IGP | TLV having the S bit cleared. When the scope of the PCED sub-TLV is | |||
| domain, itMUST be carried within an IS-IS CAPABILITY TLV having the S | the entire IS-IS routing domain, it MUST be carried within an IS-IS | |||
| bit set. When only the L bit of the PATH-SCOPE sub-TLV is set, the | Router Capability TLV having the S bit set. Note that when only the L | |||
| flooding scope MUST be local. | bit of the PATH-SCOPE sub-TLV is set, the flooding scope MUST be area | |||
| local. | ||||
| A PCE MUST originate a new IS-IS LSP whenever the content | Note that a L1L2 node may include both in its L1 and L2 LSPs a PCED | |||
| of any of the PCED TLV changes or whenever required by the regular | TLV in a Router Capability TLV with the S bit cleared. This allows | |||
| IS-IS procedure. | restricting the flooding scope to the L1 area and the L2 sub-domain. | |||
| When the PCE function is deactivated on a node, the node MUST | An IS-IS router MUST originate a new IS-IS LSP whenever there is a | |||
| originate a new IS-IS LSP with no longer any PCED TLV. A PCC MUST be | change in a PCED TLV associated with a PCE it advertises. | |||
| able to detect that the PCED TLV has been removed from an IS-IS LSP. | ||||
| The PCE address, i.e. the address indicated within the PCE ADDRESS | When a PCE is deactivated, the IS-IS Router advertising this PCE MUST | |||
| sub-TLV, MUST be distributed as part of IS-IS routing; this allows | originate a new IS-IS LSP that does no longer include the | |||
| speeding up the detection of a PCE failure. Note that when the PCE | corresponding PCED TLV. | |||
| address is no longer reachable, this means that the PCE node has | ||||
| failed or has been torn down, or that there is no longer IP | ||||
| connectivity to the PCE node. | ||||
| The PCED TLV is OPTIONAL. When an IS-IS LSP does not contain any PCED | The PCE address(s), i.e. the address(s) indicated within the PCE | |||
| TLV, this means that the PCE information of that node is unknown. | ADDRESS sub-TLV, must be reachable via some prefix(es) | |||
| advertised by IS-IS; this allows speeding up the detection of a | ||||
| PCE failure. Note that when the PCE address is no longer reachable, | ||||
| this means that the PCE node has failed or has been torn down, or | ||||
| that there is no longer IP connectivity to the PCE node. | ||||
| The PCED sub-TLV is OPTIONAL. When an IS-IS LSP does not contain any | ||||
| PCED TLV, this means that the PCE information of that node is | ||||
| unknown. | ||||
| A change in PCED information MUST not trigger any SPF computation at | A change in PCED information MUST not trigger any SPF computation at | |||
| a receiving router. | a receiving router. | |||
| The way PCEs determine the information they advertise is out of the | The way PCEs determine the information they advertise is out of the | |||
| scope of this document. Some information may be configured (e.g., | scope of this document. Some information may be configured (e.g., | |||
| address, preferences, scope) and other information may be | address, preferences, scope) and other information may be | |||
| automatically determined by the PCE (e.g. areas of visibility). | automatically determined by the PCE (e.g. areas of visibility). | |||
| 5.1.1. CONGESTION sub-TLV specific procedures | 5.1. CONGESTION sub-TLV specific procedures | |||
| When a PCE enters into a processing congestion state, the conditions | When a PCE enters into a processing congestion state, the conditions | |||
| of which are implementation dependent, it MAY originate a new IS-IS | of which are implementation dependent, a new IS-IS LSP with a | |||
| LSP with a CONGESTION sub-TLV with the C bit set and optionally a | CONGESTION sub-TLV with the C bit set and optionally a non-null | |||
| non-null expected congestion duration. | expected congestion duration MAY be generated. | |||
| When a PCE exists from the processing congestion state, the | When a PCE exists from the processing congestion state, the | |||
| conditions of which are implementation dependent, two cases are | conditions of which are implementation dependent, two cases are | |||
| considered: | considered: | |||
| - If the congestion duration in the previously originated | - If the congestion duration in the previously originated | |||
| CONGESTION sub-TLV was null, it SHOULD originate a CONGESTION sub-TLV | CONGESTION sub-TLV was null, a CONGESTION sub-TLV with the C bit | |||
| with the C bit cleared and a null congestion duration; | cleared SHOULD be generated; | |||
| - If the congestion duration in the previously originated | - If the congestion duration in the previously originated | |||
| CONGESTION sub-TLV was non null, it MAY originate a CONGESTION sub- | CONGESTION sub-TLV was non null, a CONGESTION sub-TLV with the C bit | |||
| TLV with the C bit cleared. Note that in some particular cases it may | cleared MAY be generated. Note that in some particular cases it may | |||
| be desired to originate a PCES TLV with the C bit cleared if the | be desired to originate a CONGESTION sub-TLV with the C bit cleared | |||
| congestion duration was over estimated. | if the congestion duration was over estimated. | |||
| The congestion duration allows a reduction in the amount of IS-IS | The congestion duration allows a reduction in the amount of IS-IS | |||
| flooding, as only uncongested-to-congested state transitions need | flooding, as only uncongested-to-congested state transitions are | |||
| advertised. | advertised. | |||
| A PCE implementation SHOULD support an appropriate dampening | An IS-IS implementation SHOULD support an appropriate dampening | |||
| algorithm so as to dampen IS-IS flooding in order to not impact the | algorithm so as to dampen flooding of PCE Congestion information in | |||
| IS-IS scalability. It is RECOMMENDED to introduce some hysteresis for | order to not impact the IS-IS scalability. It is RECOMMENDED to | |||
| congestion state transition, so as to avoid state oscillations that | introduce some hysteresis for congestion state transition, so as to | |||
| may impact IS-IS performance. For instance two thresholds MAY be | avoid state oscillations that may impact IS-IS performance. For | |||
| configured: a resource congestion upper-threshold and a resource | instance two thresholds MAY be configured: a resource congestion | |||
| congestion lower-threshold. An LSR enters the congested state when | upper-threshold and a resource congestion lower-threshold. An LSR | |||
| the CPU load reaches the upper threshold and leaves the congested | enters the congested state when the CPU load reaches the upper | |||
| state when the CPU load goes under the lower threshold. | threshold and leaves the congested state when the CPU load goes under | |||
| the lower threshold. | ||||
| Upon receipt of an updated CONGESTION sub-TLV a PCC should take | Upon receipt of an updated CONGESTION sub-TLV a PCC should take | |||
| appropriate actions. In particular, the PCC SHOULD stop sending | appropriate 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 PCE that is no longer congested | requests to a PCE that is no longer congested. | |||
| 6. Backward compatibility | 6. Backward compatibility | |||
| The PCED TLV defined in this document does not introduce any | The PCED sub-TLV defined in this document does not introduce any | |||
| interoperability issues. | interoperability issues. | |||
| An IS-IS router not supporting the PCED TLV will just silently ignore | An IS-IS router not supporting the PCED sub-TLV will just silently | |||
| the TLV as specified in [IS-IS-CAP]. | ignore the TLV as specified in [IS-IS-CAP]. | |||
| 7. IANA considerations | 7. IANA considerations | |||
| 7.1. IS-IS sub-TLV | 7.1. IS-IS sub-TLV | |||
| Once a registry for the IS-IS Router Capability TLV defined in | Once a registry for the IS-IS Router Capability TLV defined in | |||
| [IS-IS-CAP] will have been assigned, IANA will assign a new | [IS-IS-CAP] has been assigned, IANA will assign a new TLV code-point | |||
| TLV code-point for the PCED TLV carried within the Router Capability | for the PCED sub-TLV carried within the Router Capability TLV. | |||
| TLV. | ||||
| Value Sub-TLV References | Value Sub-TLV References | |||
| ----- -------- ---------- | ----- -------- ---------- | |||
| 5 PCED TLV (this document) | 5 PCED sub-TLV (this document) | |||
| 7.2. PCED sub-TLVs registry | 7.2. PCED sub-TLVs registry | |||
| The PCED TLV referenced above is constructed from sub-TLVs. Each sub- | The PCED sub-TLV referenced above is constructed from sub-TLVs. Each | |||
| TLV includes a 8-bit type identifier. | sub-TLV includes a 8-bit type identifier. | |||
| The IANA is requested to create a new registry and manage TLV type | The IANA is requested to create a new registry and manage sub-TLV | |||
| identifiers as follows: | type identifiers as follows: | |||
| - TLV Type | - sub-TLV Type | |||
| - TLV Name | - sub-TLV Name | |||
| - Reference | - Reference | |||
| This document defines five TLVs as follows (suggested values): | This document defines five sub-TLVs as follows (suggested values): | |||
| Value TLV name References | Value TLV name References | |||
| ----- -------- ---------- | ----- -------- ---------- | |||
| 1 PCE-ADDRESS This document | 1 PCE-ADDRESS This document | |||
| 2 PATH-SCOPE This document | 2 PATH-SCOPE This document | |||
| 3 PCE-DOMAINS This document | 3 PCE-DOMAIN This document | |||
| 4 PCE-NEIG-DOMAINS This document | 4 NEIG-PCE-DOMAIN This document | |||
| 5 PCE-CAP-FLAGS This document | 5 PCE-CAP-FLAGS This document | |||
| 6 CONGESTION This document | 6 CONGESTION This document | |||
| New TLV type values may be allocated only by an IETF Consensus | New sub-TLV type values may be allocated only by an IETF Consensus | |||
| action. | action. | |||
| 7.3. PCE Capability Flags registry | 7.3. PCE Capability Flags registry | |||
| This document provides new capability bit flags, which are present | This document provides new capability bit flags, which are present | |||
| in the PCE-CAP-FLAGS TLV referenced in section 4.1.5. | in the PCE-CAP-FLAGS TLV referenced in section 4.1.5. | |||
| The IANA is requested to create a new registry and to manage the | The IANA is requested to create a new registry and to manage the | |||
| space of PCE capability bit flags numbering them in the usual IETF | space of PCE capability bit flags numbering them in the usual IETF | |||
| notation starting at zero, and continuing at least through 31, with | notation starting at zero, and continuing at least through 31, with | |||
| skipping to change at page 16, line 31 ¶ | skipping to change at page 16, line 31 ¶ | |||
| - Bit number | - Bit number | |||
| - Defining RFC | - Defining RFC | |||
| - Capability Description | - Capability Description | |||
| Several bits are defined in this document. Here are the suggested | Several bits are defined in this document. Here are the suggested | |||
| values: | values: | |||
| Bit Capability Description | Bit Capability Description | |||
| 0 GMPLS link constraints | 0 Path computation with GMPLS link constraints | |||
| 1 Bidirectional paths | 1 Bidirectional path computation | |||
| 2 PSC paths | 2 Diverse path computation | |||
| 3 TDM paths | 3 Load-balanced path computation | |||
| 4 LSC paths | 4 Synchronized paths computation | |||
| 5 FSC paths | 5 Support for multiple objective functions | |||
| 6 Diverse paths | 6 Support for additive path constraints | |||
| 7 Load-balanced paths | (max hop count, etc.) | |||
| 8 Synchronized computation | 7 Support for request prioritization | |||
| 9 Multiple objective functions | 8 Support for multiple requests per message | |||
| 10 Additive path constraints (e.g. max hop count) | ||||
| 11 Request prioritization | ||||
| 12 Multiple requests per message | ||||
| 8. Security Considerations | 8. Security Considerations | |||
| This document defines IS-IS extensions for PCE discovery within an | This document defines IS-IS extensions for PCE discovery within an | |||
| administrative domain. Hence the security of the PCE discovery relies | administrative domain. Hence the security of the PCE discovery relies | |||
| on the security of IS-IS. | on the security of IS-IS. | |||
| Mechanisms defined to ensure authenticity and integrity of IS-IS LSPs | Mechanisms defined to ensure authenticity and integrity of IS-IS LSPs | |||
| [RFC3567], and their TLVs, can be used to secure the PCED TLV as well. | [RFC3567], and their TLVs, can be used to secure the PCED sub-TLV as | |||
| well. | ||||
| IS-IS provides no mechanism for protecting the privacy of LSAs, and | IS-IS provides no mechanism for protecting the privacy of LSPs, and | |||
| in particular the privacy PCE discovery information. | in particular the privacy of the PCE discovery information. | |||
| 9. Manageability Considerations | 9. Manageability Considerations | |||
| Manageability considerations for PCE Discovery are addressed in | Manageability considerations for PCE Discovery are addressed in | |||
| section 4.10 of [RFC4674]. | section 4.10 of [RFC4674]. | |||
| 9.1. Control of Policy and Functions | 9.1. Control of Policy and Functions | |||
| Requirements on the configuration of PCE discovery parameters on PCCs | Requirements on the configuration of PCE discovery parameters on PCCs | |||
| and PCEs are discussed in section 4.10.1 of [RFC4674]. | and PCEs are discussed in section 4.10.1 of [RFC4674]. | |||
| Particularly, a PCE implementation SHOULD allow configuring the | Particularly, a PCE implementation SHOULD allow configuring the | |||
| following parameters on the PCE: | following parameters on the PCE: | |||
| -The PCE IPv4/IPv6 address(es) (see section 4.1.1) | -The PCE IPv4/IPv6 address(es) (see section 4.1.1) | |||
| -The PCE Scope, including the inter-domain functions (inter- | -The PCE Scope, including the inter-domain functions (inter- | |||
| area, inter-AS, inter-layer), the preferences, and whether the | area, inter-AS, inter-layer), the preferences, and whether the | |||
| PCE can act as default PCE (see section 4.1.2) | PCE can act as default PCE (see section 4.1.2) | |||
| -The PCE domains (see section 4.1.3) | -The PCE domains (see section 4.1.3) | |||
| -The PCE neighbour domains (see section 4.1.4) | -The neighbour PCE domains (see section 4.1.4) | |||
| -The PCE capabilities (see section 4.1.5) | -The PCE capabilities (see section 4.1.5) | |||
| 9.2. Information and Data Model | 9.2. Information and Data Model | |||
| A MIB module for PCE Discovery is defined in [PCED-MIB]. | A MIB module for PCE Discovery is defined in [PCED-MIB]. | |||
| 9.3. Liveness Detection and Monitoring | 9.3. Liveness Detection and Monitoring | |||
| PCE Discovery Protocol liveness detection relies upon OSPF liveness | PCE Discovery Protocol liveness detection relies upon IS-IS liveness | |||
| detection. IS-IS already includes a liveness detection mechanism | detection. IS-IS already includes a liveness detection mechanism | |||
| (Hello PDUs), and PCE discovery does not require additional | (Hello PDUs), and PCE discovery does not require additional | |||
| capabilities. | capabilities. | |||
| Procedures defined in section 5 allow a PCC detecting when a PCE has | Procedures defined in section 5.1 allow a PCC detecting when a PCE | |||
| been deactivated, or is no longer reachable. | has been deactivated, or is no longer reachable. | |||
| 9.4. Verify Correct Operations | 9.4. Verify Correct Operations | |||
| The correlation of information advertised against information | The correlation of information advertised against information | |||
| received can be achieved by comparing the PCED information in the PCC | received can be achieved by comparing the PCED information in the PCC | |||
| and in the PCE, which is stored in the PCED MIB [PCED-MIB]. The | and in the PCE, which is stored in the PCED MIB [PCED-MIB]. The | |||
| number of dropped, corrupt, and rejected information elements are | number of dropped, corrupt, and rejected information elements are | |||
| stored in the PCED MIB. | stored in the PCED MIB. | |||
| 9.5. Requirements on Other Protocols and Functional Components | 9.5. Requirements on Other Protocols and Functional Components | |||
| The IS-IS extensions defined in this documents does not imply any | The IS-IS extensions defined in this documents do not imply any | |||
| requirement on other protocols. | requirement on other protocols. | |||
| 9.6. Impact on network operations | 9.6. Impact on network operations | |||
| Frequent changes in PCE information, and particularly in PCE | Frequent changes in PCE information, and particularly in PCE | |||
| congestion information, may have a significant impact on IS-IS and | congestion information, may have a significant impact on IS-IS and | |||
| might destabilize the operation of the network by causing the PCCs to | might destabilize the operation of the network by causing the PCCs to | |||
| swap between PCEs. | swap between PCEs. | |||
| As discussed in section 5, a PCE implementation SHOULD support an | As discussed in section 5.1, a PCE implementation SHOULD support an | |||
| appropriate dampening algorithm so as to dampen IS-IS flooding in | appropriate dampening algorithm so as to dampen IS-IS flooding in | |||
| order to not impact the IS-IS scalability. | order to not impact the IS-IS scalability. | |||
| Also, as discussed in section 4.10.4 of [RFC4674], it MUST be | Also, as discussed in section 4.10.4 of [RFC4674], it MUST be | |||
| possible to apply at least the following controls: | possible to apply at least the following controls: | |||
| - Configurable limit on the rate of announcement of changed | - Configurable limit on the rate of announcement of changed | |||
| parameters at a PCE. | parameters at a PCE. | |||
| - Control of the impact on PCCs such as through discovery messages | - Control of the impact on PCCs such as through discovery messages | |||
| rate-limiting. | rate-limiting. | |||
| - Configurable control of triggers that cause a PCC to swap to | - Configurable control of triggers that cause a PCC to swap to | |||
| another PCE. | another PCE. | |||
| 10. Acknowledgments | 10. Acknowledgments | |||
| We would like to thank Lucy Wong and Adrian Farrel for their useful | We would like to thank Lucy Wong, Adrian Farrel, Les Ginsberg, Mike | |||
| comments and suggestions. | Shand and Lou Berger for their useful comments and suggestions. | |||
| 11. References | 11. References | |||
| 11.1. Normative references | 11.1. Normative references | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| [ISO] "Intermediate System to Intermediate System Intra-Domain | ||||
| Routeing Exchange Protocol for use in Conjunction with the | ||||
| Protocol for Providing the Connectionless-mode Network Service | ||||
| (ISO 8473)", ISO DP 10589, February 1990. | ||||
| [RFC3784] 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. | |||
| [RFC4674] Le Roux, J.L., et al. "Requirements for PCE discovery", | [RFC4674] Le Roux, J.L., et al. "Requirements for PCE discovery", | |||
| End of changes. 101 change blocks. | ||||
| 247 lines changed or deleted | 231 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/ | ||||