| < draft-ietf-pce-disco-proto-ospf-07.txt | draft-ietf-pce-disco-proto-ospf-08.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 | |||
| Intended Status: Standard Track | Intended Status: Standard Track | |||
| Expires: March 2008 J.P. Vasseur (Editor) | Expires: April 2008 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 2007 | October 2007 | |||
| OSPF protocol extensions for Path Computation Element (PCE) Discovery | OSPF Protocol Extensions for Path Computation Element (PCE) Discovery | |||
| draft-ietf-pce-disco-proto-ospf-07.txt | draft-ietf-pce-disco-proto-ospf-08.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 | Task Force (IETF), its areas, and its working groups. Note that | |||
| skipping to change at page 2, line 9 ¶ | skipping to change at page 2, line 9 ¶ | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2007). All rights reserved. | Copyright (C) The IETF Trust (2007). All rights reserved. | |||
| 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 (PCEs), | |||
| along with some information that can be used for PCE selection. When | along with information that can be used by the PCC for PCE selection. | |||
| the PCE is a Label Switching Router (LSR) participating in the | When 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 announce 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 Open Shortest Path First (OSPF) routing | defines extensions to the Open Shortest Path First (OSPF) routing | |||
| protocol for the advertisement of PCE Discovery information within an | protocol for the advertisement of PCE Discovery information within an | |||
| OSPF area or within the entire OSPF routing domain. | OSPF area or within the entire OSPF routing domain. | |||
| Conventions used in this document | Conventions used in this document | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| 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 Discovery Information...................................5 | |||
| 3.2. PCE Discovery Information...................................5 | 3.2. Flooding Scope..............................................5 | |||
| 3.2.1. PCE Overload Information....................................5 | ||||
| 3.3. Flooding Scope..............................................6 | ||||
| 4. The OSPF PCED TLV...........................................6 | 4. The OSPF PCED TLV...........................................6 | |||
| 4.1. PCE-ADDRESS Sub-TLV.........................................7 | 4.1. PCE-ADDRESS Sub-TLV.........................................7 | |||
| 4.2. PATH-SCOPE Sub-TLV..........................................8 | 4.2. PATH-SCOPE Sub-TLV..........................................8 | |||
| 4.3. PCE-DOMAIN Sub-TLV.........................................10 | 4.3. PCE-DOMAIN Sub-TLV.........................................10 | |||
| 4.4. NEIG-PCE-DOMAIN Sub-TLV....................................11 | 4.4. NEIG-PCE-DOMAIN Sub-TLV....................................11 | |||
| 4.5. PCE-CAP-FLAGS Sub-TLV......................................12 | 4.5. PCE-CAP-FLAGS Sub-TLV......................................11 | |||
| 4.6. The OVERLOAD Sub-TLV.......................................13 | 5. Elements of Procedure......................................13 | |||
| 5. Elements of Procedure......................................14 | 6. Backward Compatibility.....................................13 | |||
| 5.1. OVERLOAD sub-TLV Specific Procedures.......................14 | 7. IANA Considerations........................................14 | |||
| 6. Backward Compatibility.....................................15 | 7.1. OSPF TLV...................................................14 | |||
| 7. IANA Considerations........................................15 | 7.2. PCE Capability Flags registry..............................14 | |||
| 7.1. OSPF TLV...................................................15 | 8. Security Considerations....................................15 | |||
| 7.2. PCE Capability Flags registry..............................15 | 9. Manageability Considerations...............................15 | |||
| 8. Security Considerations....................................16 | 9.1. Control of Policy and Functions............................15 | |||
| 9. Manageability Considerations...............................16 | 9.2. Information and Data Model.................................15 | |||
| 9.1. Control of Policy and Functions............................16 | 9.3. Liveness Detection and Monitoring..........................15 | |||
| 9.2. Information and Data Model.................................17 | 9.4. Verify Correct Operations..................................16 | |||
| 9.3. Liveness Detection and Monitoring..........................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...............................................16 | |||
| 9.6. Impact on network operations...............................17 | 9.6. Impact on Network Operations...............................16 | |||
| 10. Acknowledgments............................................18 | 10. Acknowledgments............................................16 | |||
| 11. References.................................................18 | 11. References.................................................16 | |||
| 11.1. Normative references.......................................18 | 11.1. Normative References.......................................16 | |||
| 11.2. Informative references.....................................18 | 11.2. Informative References.....................................17 | |||
| 12. Editor's Addresses.........................................19 | 12. Editor's Addresses.........................................17 | |||
| 13. Contributors' Addresses....................................19 | 13. Contributors' Addresses....................................18 | |||
| 14. Intellectual Property Statement............................19 | 14. Intellectual Property Statement............................18 | |||
| 1. Terminology | 1. Terminology | |||
| ABR: OSPF Area Border Router. | ABR: OSPF Area Border Router. | |||
| AS: Autonomous System. | AS: Autonomous System. | |||
| 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 (ISIS). | to Intermediate System (ISIS). | |||
| Intra-area TE LSP: A TE LSP whose path does not cross IGP area | Intra-area TE LSP: A TE LSP whose path does not cross an IGP area | |||
| boundaries. | boundary. | |||
| 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 an AS | |||
| boundary. | ||||
| Inter-area TE LSP: A TE LSP whose path transits two or more IGP | Inter-area TE LSP: A TE LSP whose path transits two or more IGP | |||
| areas. That is a TE-LSP that crosses at least one IGP area | areas. That is a TE LSP that crosses at least one IGP area | |||
| boundary. | boundary. | |||
| Inter-AS TE LSP: A TE LSP whose path transits two or more | Inter-AS TE LSP: A TE LSP whose path transits two or more | |||
| ASes or sub-ASes (BGP confederations). That is a TE-LSP that | ASes or sub-ASes (BGP confederations). That is a TE LSP that | |||
| crosses at least one AS boundary. | crosses at least one AS boundary. | |||
| LSA: Link State Advertisement | LSA: Link State Advertisement. | |||
| 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 | PCE-Domain: In a PCE context this refers to any collection of | |||
| network elements within a common sphere of address management or | network elements within a common sphere of address management or | |||
| path computational responsibility (referred to as "domain" in | path computational responsibility (referred to as a "domain" in | |||
| [RFC4655]). Examples of PCE-Domains include IGP areas and ASes. | [RFC4655]). Examples of PCE-Domains include IGP areas and ASes. | |||
| This should be distinguished from an OSPF routing domain. | This should be distinguished from an OSPF routing domain. | |||
| PCEP: Path Computation Element Protocol. | PCEP: Path Computation Element 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 PCE-based | [RFC4655] describes the motivations and architecture for a Path | |||
| path computation model for Multi Protocol Label Switching (MPLS) and | Computation Element (PCE)-based | |||
| Generalized MPLS (GMPLS) Traffic Engineered Label Switched Paths (TE- | path computation model for Multi-Protocol Label Switching (MPLS) and | |||
| Generalized MPLS (GMPLS) Traffic Engineered Label Switched Paths (TE | ||||
| LSPs). The model allows for the separation of the PCE from a Path | LSPs). The model allows for the separation of the PCE from a Path | |||
| Computation Client (PCC) (also referred to as a non co-located PCE) | Computation Client (PCC) (also referred to as a non co-located PCE) | |||
| and allows for cooperation between PCEs. This relies on a | and allows for cooperation between PCEs (where one PCE acts as a PCC | |||
| communication protocol between PCC and PCE, and between PCEs. The | to make requests of the other PCE). This relies on a communication | |||
| requirements for such a communication protocol can be found in | protocol between PCC and PCE, and also between PCEs. The requirements | |||
| [RFC4657] and the communication protocol is defined in [PCEP]. | for such a communication 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 PCEs in | |||
| other domains, e.g. in case of inter-domain TE LSP computation. | other domains, e.g., in the 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, each 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 that allows | |||
| allows PCCs to automatically discover a set of PCEs, along with | PCCs to automatically discover a set of PCEs along with additional | |||
| additional information about each PCE that may be required for the | information about each PCE that may be used by a PCC to perform PCE | |||
| PCC to perform PCE selection. Additionally, it is valuable for a PCC | selection. Additionally, it is valuable for a PCC to dynamically | |||
| to dynamically detect new PCEs or any modification of the PCE | detect new PCEs, failed PCEs, or any modification to the PCE | |||
| information. Detailed requirements for such a PCE discovery mechanism | information. Detailed requirements for such a PCE discovery mechanism | |||
| are provided in [RFC4674]. | are provided in [RFC4674]. | |||
| Moreover, it may also be useful to discover when a PCE experiences | Note that the PCE selection algorithm applied by a PCC is out of the | |||
| processing overload and when it exits such a state, in order for the | scope of this document. | |||
| PCCs to take some appropriate actions (e.g. to redirect their | ||||
| requests to another PCE). Note that the PCE selection algorithm | ||||
| applied by a PCC is out of the scope of this document. | ||||
| When PCCs are LSRs participating in the IGP (OSPF or IS-IS), and PCEs | When PCCs are LSRs participating in the IGP (OSPF or IS-IS), and PCEs | |||
| are either LSRs or servers also participating in the IGP, an | are either LSRs or servers also participating in the IGP, an | |||
| effective mechanism for PCE discovery within an IGP routing domain | effective mechanism for PCE discovery within an IGP routing domain | |||
| consists of utilizing IGP advertisements. | consists of utilizing IGP advertisements. | |||
| This document defines OSPF extensions to allow a PCE in an OSPF | This document defines extensions to OSPFv2 [RFC2328] and OSPFv3 | |||
| routing domain to advertise its location along with some information | [RFC2740] to allow a PCE in an OSPF routing domain to advertise its | |||
| useful to a PCC for PCE selection so as to satisfy dynamic PCE | location along with some information useful to a PCC for PCE | |||
| discovery requirements set forth in [RFC4674]. This document also | selection so as to satisfy dynamic PCE discovery requirements set | |||
| defines extensions allowing a PCE in an OSPF routing domain to | forth in [RFC4674]. | |||
| advertise its overload state. | ||||
| Generic capability advertisement mechanisms for OSPF are defined in | Generic capability advertisement mechanisms for OSPF are defined in | |||
| [OSPF-CAP]. These allow a router to advertise its capabilities within | [OSPF-CAP]. These allow a router to advertise its capabilities within | |||
| an OSPF area or an entire OSPF routing domain. This document | an OSPF area or an entire OSPF 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 dynamic PCE discovery requirements. | |||
| This document defines a new TLV (named the PCE Discovery (PCED) TLV) | This document defines a new TLV (named the PCE Discovery (PCED) TLV) | |||
| to be carried within the OSPF Router Information LSA ([OSPF-CAP]). | to be carried within the OSPF Router Information LSA ([OSPF-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 Sections 4 and 5. | |||
| The OSPF extensions defined in this document allow for PCE discovery | The OSPF extensions defined in this document allow for PCE discovery | |||
| within an OSPF Routing domain. Solutions for PCE discovery across AS | within an OSPF 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. | |||
| 3. Overview | 3. Overview | |||
| 3.1. PCE Information | 3.1. PCE Discovery Information | |||
| The PCE information advertised via OSPF falls into two categories: | ||||
| PCE Discovery information and PCE Overload information. | ||||
| 3.2. PCE Discovery Information | ||||
| The PCE Discovery information is comprised of: | The PCE discovery information is composed 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 if there is any connectivity to the PCE; | |||
| - The PCE path computation scope (i.e. inter-area, inter-AS, inter- | - The PCE path computation scope (i.e., intra-area, inter-area, | |||
| layer); | inter-AS, or inter-layer); | |||
| - The set of one or more PCE-Domain(s) into which the PCE has | - The set of one or more PCE-Domain(s) into which the PCE has | |||
| visibility and can compute paths; | visibility and for which the PCE can compute paths; | |||
| - The set of one or more neighbor PCE-Domain(s) towards which a PCE | - The set of zero, one or more neighbor PCE-Domain(s) toward which | |||
| can compute paths; | the PCE can compute paths; | |||
| - A set of communication capabilities (e.g. support for request | - A set of communication capabilities (e.g., support for request | |||
| prioritization) and path computation specific capabilities | prioritization) and path computation-specific capabilities | |||
| (e.g. supported constraints). | (e.g., supported constraints). | |||
| 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.2.1. PCE Overload Information | 3.2. Flooding Scope | |||
| The PCE Overload information is optional and can be used to report a | ||||
| PCE's overload state in order to discourage the PCCs to send new path | ||||
| computation requests. | ||||
| A PCE may decide to clear the overload state according to local | ||||
| implementation triggers (e.g. CPU utilization, average queue length | ||||
| below some predefined thresholds). The rate at which a PCE Status | ||||
| change is advertised MUST NOT impact by any means the IGP | ||||
| scalability. Particular attention MUST be given on procedures to | ||||
| avoid state oscillations. | ||||
| 3.3. Flooding Scope | ||||
| The flooding scope for PCE information advertised through OSPF can be | The flooding scope for PCE information advertised through OSPF can be | |||
| limited to one or more OSPF areas the PCE belongs to, or can be | limited to one or more OSPF areas the PCE belongs to, or can be | |||
| extended across the entire OSPF routing domain. | extended across the entire OSPF routing domain. | |||
| Note that some PCEs may belong to multiple areas, in which case the | Note that some PCEs may belong to multiple areas, in which case the | |||
| flooding scope may comprise these areas. This could be the case for | flooding scope may comprise these areas. This could be the case for | |||
| an ABR for instance advertising its PCE information within the | an ABR, for instance, advertising its PCE information within the | |||
| backbone area and/or a subset of its attached IGP area(s). | backbone area and/or a subset of its attached IGP area(s). | |||
| 4. The OSPF PCED TLV | 4. The OSPF PCED TLV | |||
| The OSPF PCE Discovery TLV (PCED TLV) is made of a set of non-ordered | The OSPF PCE Discovery TLV (PCED TLV) contains non-ordered set of | |||
| sub-TLVs. | sub-TLVs. | |||
| The format of the OSPF PCED TLV and its sub-TLVs is identical to the | The format of the OSPF PCED TLV and its sub-TLVs is identical to the | |||
| TLV format used by the Traffic Engineering Extensions to OSPF | TLV format used by the Traffic Engineering Extensions to OSPF | |||
| [RFC3630]. That is, the TLV is comprised of 2 octets for the type, 2 | [RFC3630]. That is, the TLV is composed of 2 octets for the type, 2 | |||
| octets specifying the TLV length, and a value field. The Length field | octets specifying the TLV length, and a value field. The Length field | |||
| defines the length of the value portion in octets. | defines the length of the value portion in octets. | |||
| The TLV is padded to four-octet alignment; padding is not included in | The TLV is padded to four-octet alignment; padding is not included in | |||
| the Length field (so a three octet value would have a length of | the Length field (so a three octet value would have a length of | |||
| three, but the total size of the TLV would be eight octets). Nested | three, but the total size of the TLV would be eight octets). Nested | |||
| TLVs are also four-octet aligned. Unrecognized types are ignored. | TLVs are also four-octet aligned. Unrecognized types are ignored. | |||
| The OSPF PCED TLV has the following format: | The OSPF PCED TLV has the following format: | |||
| skipping to change at page 7, line 5 ¶ | skipping to change at page 6, line 37 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| // sub-TLVs // | // sub-TLVs // | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type To be defined by IANA (suggested value=5) | Type To be defined by IANA (suggested value=5) | |||
| Length Variable | Length Variable | |||
| Value This comprises one or more sub-TLVs | Value This comprises one or more sub-TLVs | |||
| Six sub-TLVs are defined: | Five sub-TLVs are defined: | |||
| Sub-TLV type Length Name | Sub-TLV type Length Name | |||
| 1 variable PCE-ADDRESS sub-TLV | 1 variable PCE-ADDRESS sub-TLV | |||
| 2 4 PATH-SCOPE sub-TLV | 2 4 PATH-SCOPE sub-TLV | |||
| 3 variable PCE-DOMAIN sub-TLV | 3 4 PCE-DOMAIN sub-TLV | |||
| 4 variable NEIG-PCE-DOMAIN sub-TLV | 4 4 NEIG-PCE-DOMAIN sub-TLV | |||
| 5 variable PCE-CAP-FLAGS sub-TLV | 5 variable PCE-CAP-FLAGS sub-TLV | |||
| 6 4 OVERLOAD sub-TLV | ||||
| The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within | The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within | |||
| the PCED TLV. | the PCED TLV. | |||
| The PCE-DOMAIN and NEIG-PCE-DOMAIN sub-TLVs are optional. They MAY be | The PCE-DOMAIN and NEIG-PCE-DOMAIN sub-TLVs are optional. They MAY be | |||
| present in the PCED TLV to facilitate selection of inter-domain PCEs. | present in the PCED TLV to facilitate selection of inter-domain PCEs. | |||
| The PCE-CAP-FLAGS sub-TLV is optional and MAY be present in the PCED | The PCE-CAP-FLAGS sub-TLV is optional and MAY be present in the PCED | |||
| TLV to facilitate the PCE selection process. | TLV to facilitate the PCE selection process. | |||
| The OVERLOAD sub-TLV is optional and MAY be present in the PCED TLV, | Malformed PCED TLVs or sub-TLVs not explicitly described in this | |||
| to indicate a PCE's overload state. | document MUST cause the LSA to be treated as malformed according to | |||
| the normal procedures of OSPF. | ||||
| Any non recognized sub-TLV MUST be silently ignored. | Any unrecognized sub-TLV MUST be silently ignored. | |||
| The PCED TLV is carried within an OSPF Router Information LSA | The PCED TLV is carried within an OSPF Router Information LSA | |||
| defined in [OSPF-CAP]. | defined in [OSPF-CAP]. | |||
| No additional sub-TLVs will be added to the PCED TLV in the future. | No additional sub-TLVs will be added to the PCED TLV in the future. | |||
| If a future application requires advertising additional PCE | If a future application requires the advertisement of additional PCE | |||
| information in OSPF, this will not be carried in the Router | information in OSPF, this will not be carried in the Router | |||
| Information LSA. | Information LSA. | |||
| The following sub-sections describe the sub-TLVs which may be carried | The following sub-sections describe the sub-TLVs which may be carried | |||
| within the PCED sub-TLV. | within the PCED sub-TLV. | |||
| 4.1. PCE-ADDRESS Sub-TLV | 4.1. PCE-ADDRESS Sub-TLV | |||
| The PCE-ADDRESS sub-TLV specifies the IP address(es) that can be | The PCE-ADDRESS sub-TLV specifies an 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 that the PCE is alive. | that is always reachable, provided that the PCE is alive and | |||
| reachable. | ||||
| The PCE-ADDRESS sub-TLV is mandatory; it MUST be present within the | The PCE-ADDRESS sub-TLV is mandatory; it MUST be present within the | |||
| PCED TLV. It MAY appear twice, when the PCE has both an IPv4 and IPv6 | PCED TLV. It MAY appear twice, when the PCE has both an IPv4 and IPv6 | |||
| address. It MUST NOT appear more than once for the same address type. | address. It MUST NOT appear more than once for the same address type. | |||
| If it appears more than once, only the first occurrence MUST be | If it appears more than once, only the first occurrence is processed | |||
| processed and other MUST be ignored. | and any others MUST be ignored. | |||
| The format of the PCE-ADDRESS sub-TLV is as follows: | The format of the PCE-ADDRESS sub-TLV is as follows: | |||
| 1 2 3 | 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type = 1 | Length | | | Type = 1 | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | address-type | Reserved | | | address-type | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 8, line 25 ¶ | skipping to change at page 8, line 4 ¶ | |||
| // PCE IP Address // | // PCE IP Address // | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| PCE-ADDRESS sub-TLV format | PCE-ADDRESS sub-TLV format | |||
| Type 1 | Type 1 | |||
| Length 8 (IPv4) or 20 (IPv6) | Length 8 (IPv4) or 20 (IPv6) | |||
| Address-type: | Address-type: | |||
| 1 IPv4 | 1 IPv4 | |||
| 2 IPv6 | 2 IPv6 | |||
| Reserved: SHOULD be set to zero on transmission and MUST be | ||||
| ignored on receipt. | ||||
| PCE IP Address: The IP address to be used to reach the PCE. | PCE IP Address: The IP address to be used to reach the PCE. | |||
| 4.2. PATH-SCOPE Sub-TLV | 4.2. 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 paths for intra-area, inter-area, inter-AS, or inter- | |||
| LSP(s). | layer_TE LSPs. | |||
| The PATH-SCOPE sub-TLV is mandatory; it MUST be present within the | The PATH-SCOPE sub-TLV is mandatory; it MUST be present within the | |||
| PCED TLV. There MUST be exactly one instance of the PATH-SCOPE sub- | PCED TLV. There MUST be exactly one instance of the PATH-SCOPE sub- | |||
| TLV within each PCED TLV. If it appears more than once, only the | TLV within each PCED TLV. If it appears more than once, only the | |||
| first occurrence MUST be processed and other MUST be ignored. | first occurrence is processed and any others MUST be ignored. | |||
| 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: | |||
| 1 2 3 | 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type = 2 | Length | | | Type = 2 | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |0|1|2|3|4|5| Reserved |PrefL|PrefR|PrefS|PrefY| Res | | |0|1|2|3|4|5| Reserved |PrefL|PrefR|PrefS|PrefY| Res | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 9, line 25 ¶ | skipping to change at page 9, line 8 ¶ | |||
| 1 R bit: Can act as PCE for inter-area TE LSP | 1 R bit: Can act as PCE for inter-area TE LSP | |||
| computation | computation | |||
| 2 Rd bit: Can act as a default PCE for inter-area TE LSP | 2 Rd bit: Can act as a default PCE for inter-area TE LSP | |||
| computation | computation | |||
| 3 S bit: Can act as PCE for inter-AS TE LSP computation | 3 S bit: Can act as PCE for inter-AS TE LSP computation | |||
| 4 Sd bit: Can act as a default PCE for inter-AS TE LSP | 4 Sd bit: Can act as a default PCE for inter-AS TE LSP | |||
| computation | computation | |||
| 5 Y bit: Can compute or take part into the computation | 5 Y bit: Can compute or take part into the computation | |||
| of paths across layers. | of paths across layers. | |||
| Pref-L field: PCE's preference for intra-area TE LSPs computation. | PrefL field: PCE's preference for intra-area TE LSPs | |||
| computation. | ||||
| Pref-R field: PCE's preference for inter-area TE LSPs computation. | PrefR field: PCE's preference for inter-area TE LSPs | |||
| computation. | ||||
| Pref-S field: PCE's preference for inter-AS TE LSPs computation. | PrefS field: PCE's preference for inter-AS TE LSPs | |||
| computation. | ||||
| Pref-Y field: PCE's preference for inter-layer TE LSPs computation. | PrefY field: PCE's preference for inter-layer TE LSPs | |||
| computation. | ||||
| Res: Reserved for future usage. | Res: Reserved for future use. | |||
| The L, R, S, and Y bits are set when the PCE can act as a PCE for | The L, R, S, and Y bits are set when the PCE can act as a PCE for | |||
| intra-area, inter-area, inter-AS, or inter-layer TE LSPs computation | intra-area, inter-area, inter-AS, or inter-layer TE LSPs 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 LSPs computation (that is the PCE can compute a | for inter-area TE LSPs computation (that is, the PCE can compute a | |||
| path towards any neighbor area). Similarly, when set, the Sd bit | path toward any neighbor area). Similarly, when set, the Sd bit | |||
| indicates that the PCE can act as a default PCE for inter-AS TE LSP | indicates 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). | computation (the PCE can compute a path toward any neighbor AS). | |||
| When the Rd and Sd bit are set the PCED TLV MUST NOT contain any | When the Rd and Sd bit are set the PCED TLV MUST NOT contain a NEIG- | |||
| NEIG-PCE-DOMAIN sub-TLV (see 4.1.4). | PCE-DOMAIN sub-TLV (see Section 4.1.4). | |||
| When the R/S bit is cleared, the Rd/Sd bit SHOULD be cleared and MUST | When the R bit is clear, the Rd bit SHOULD be clear on transmission | |||
| be ignored. | and MUST be ignore on receipt. When the S bit is clear, the Sd bit | |||
| SHOULD be clear on transmission and MUST be ignored on receipt. | ||||
| 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 | |||
| allow the PCE to specify a preference for each computation scope, | and 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 preferences can be used | |||
| for weighted load balancing of requests. An operator may decide to | for weighted load balancing of path computation requests. An operator | |||
| configure a preference for each computation scope to each PCE so as | may decide to configure a preference for each computation scope at | |||
| to balance the path computation load among them. The algorithms used | each PCE so as to balance the path computation load among them. The | |||
| by a PCC to load balance its path computation requests according to | algorithms used by a PCC to load balance its path computation | |||
| such PCE preference is out of the scope of this document and is a | requests according to such PCE preferences is out of the scope of | |||
| matter for local or network wide policy. The same or distinct | this document and is a matter for local or network-wide policy. The | |||
| preferences may be used for each scope. For instance an operator that | same or different preferences may be used for each scope. For | |||
| wants a PCE capable of both inter-area and inter-AS computation to be | instance, an operator that wants a PCE capable of both inter-area and | |||
| used preferably for inter-AS computation may configure a PrefS higher | inter-AS computation to be prefered for use for inter-AS computations | |||
| than the PrefR. | may configure PrefS higher than PrefR. | |||
| When the L bit, R bit, S bit or Y bit are cleared, the PrefL, PrefR, | When the L, R, S, or Y bits are cleared, the PrefL, PrefR, PrefS, and | |||
| PrefS, PrefY fields SHOULD respectively be set to 0 and MUST be | PrefY fields SHOULD respectively be set to 0 on transmission and MUST | |||
| ignored. | be ignored on receipt. | |||
| 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.3. PCE-DOMAIN Sub-TLV | 4.3. PCE-DOMAIN Sub-TLV | |||
| The PCE-DOMAIN sub-TLV specifies a PCE-Domain (areas and/or ASes) | The PCE-DOMAIN sub-TLV specifies a PCE-Domain (area or AS) where the | |||
| where the PCE has topology visibility and through which the PCE can | PCE has topology visibility and through which the PCE can compute | |||
| compute paths. | paths. | |||
| The PCE-DOMAIN sub-TLV MAY be present when PCE-Domains cannot be | The PCE-DOMAIN sub-TLV SHOULD be present when PCE-Domains for which | |||
| inferred by other IGP information, for instance when the PCE is | the PCE can operate cannot be inferred by other IGP information, for | |||
| inter-domain capable (i.e. when the R bit or S bit is set) and the | instance when the PCE is inter-domain capable (i.e., when the R bit | |||
| flooding scope is the entire routing domain (see section 5 for a | or S bit is set) and the flooding scope is the entire routing domain | |||
| discussion of how the flooding scope is set and interpreted). | (see Section 5 for a discussion of how the flooding scope is set and | |||
| interpreted). | ||||
| A PCED TLV MAY include multiple PCE-DOMAIN sub-TLVs when the PCE has | A PCED TLV may include multiple PCE-DOMAIN sub-TLVs when the PCE has | |||
| visibility in multiple PCE-Domains. | visibility into multiple PCE-Domains. | |||
| The PCE-DOMAIN sub-TLV has the following format: | The PCE-DOMAIN sub-TLV has the following format: | |||
| 1 2 3 | 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type=3 | Length | | | Type=3 | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Domain-type | Reserved | | | Domain-type | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | Domain ID | | |||
| // Domain ID // | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| PCE-DOMAIN sub-TLV format | PCE-DOMAIN sub-TLV format | |||
| Type 3 | Type 3 | |||
| Length Variable | Length 8 | |||
| 3 domain-type values are defined: | ||||
| 1 IPv4 Area Address | ||||
| 2 IPv6 Area Address | ||||
| 3 AS Number | ||||
| Domain ID: With the address type 1/2 this indicates the IPv4/v6 | Two domain-type values are defined: | |||
| address of an area where the PCE has visibility. With address- | 1 OSPF Area ID | |||
| type 3 this indicates an AS number where the PCE has | 2 AS Number | |||
| visibility. When coded in two octets (which is the current | ||||
| defined format as the time of writing this document), the AS | Domain ID: With the domain-type set to 1, this indicates the 32 | |||
| Number field MUST have its first two octets set to 0. | bit Area ID of an area where the PCE has visibility and can | |||
| compute paths. With domain-type set to 2, this indicates an AS | ||||
| number of an AS where the PCE has visibility and can compute | ||||
| paths. When the AS number is coded in two octets, the AS Number | ||||
| field MUST have its first two octets set to 0. | ||||
| . | . | |||
| 4.4. NEIG-PCE-DOMAIN Sub-TLV | 4.4. NEIG-PCE-DOMAIN Sub-TLV | |||
| The NEIG-PCE-DOMAIN sub-TLV specifies a neighbour PCE-domain (area, | The NEIG-PCE-DOMAIN sub-TLV specifies a neighbor PCE-domain (area or | |||
| AS) toward which a PCE can compute paths. It means that the PCE can | 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 | take part in the computation of inter-domain TE LSPs with paths that | |||
| transits this neighbour PCE-domain. | transit this neighbor PCE-domain. | |||
| A PCED sub-TLV MAY include several NEIG-PCE-DOMAIN sub-TLVs when the | A PCED sub-TLV may include several NEIG-PCE-DOMAIN sub-TLVs when the | |||
| PCE can compute paths towards several neighbour PCE-domains. | PCE can compute paths towards several neighbour PCE-domains. | |||
| The NEIG-PCE-DOMAIN sub-TLV has the same format as the PCE-DOMAIN | The NEIG-PCE-DOMAIN sub-TLV has the same format as the PCE-DOMAIN | |||
| sub-TLV: | sub-TLV: | |||
| 1 2 3 | 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type = 4 | Length | | | Type = 4 | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Domain-type | Reserved | | | Domain-type | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | Domain ID | | |||
| // Domain ID // | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| NEIG-PCE-DOMAIN sub-TLV format | NEIG-PCE-DOMAIN sub-TLV format | |||
| Type 4 | Type 4 | |||
| Length Variable | Length 8 | |||
| 3 domain-type values are defined: | Two domain-type values are defined: | |||
| 1 IPv4 Area Address | 1 OSPF Area ID | |||
| 2 IPv6 Area Address | 2 AS Number | |||
| 3 AS Number | ||||
| Domain ID: With the address type 1/2 this indicates the | Domain ID: With the domain-type set to 1, this indicates the 32 | |||
| IPv4/v6 address of a neighbour area towards which the PCE can | bit Area ID of a neighbour area toward which the PCE can | |||
| compute paths. With address-type 3 this indicates the AS number | compute paths. With domain-type set to 2, this indicates the AS | |||
| of a neighbour AS towards which the PCE can compute paths. When | number of a neighbor AS toward which the PCE can compute paths. | |||
| coded in two octets (which is the current defined format as the | When the AS number is coded in two octets, the AS Number field | |||
| time of writing this document), the AS Number field MUST have | MUST have its first two octets set to 0. | |||
| its first two octets set to 0. | ||||
| The NEIG-PCE-DOMAIN sub-TLV MUST be present if the R bit is set and | The NEIG-PCE-DOMAIN sub-TLV MUST be present at least once with | |||
| the Rd bit is cleared, and/or, if the S bit is set and the Sd bit is | domain-type set to 1 if the R bit is set and the Rd bit is cleared, | |||
| cleared. | and MUST be present at least once with domain-type set to 2 if the S | |||
| bit is set and the Sd bit is cleared. | ||||
| 4.5. PCE-CAP-FLAGS Sub-TLV | 4.5. PCE-CAP-FLAGS Sub-TLV | |||
| The PCE-CAP-FLAGS sub-TLV is an optional sub-TLV used to indicate PCE | The PCE-CAP-FLAGS sub-TLV is an optional sub-TLV used to indicate PCE | |||
| capabilities. It MAY be present within the PCED TLV. It MUST NOT be | capabilities. It MAY be present within the PCED TLV. It MUST NOT be | |||
| present more than once. If it appears more than once, only the first | present more than once. If it appears more than once, only the first | |||
| occurrence MUST be processed and other MUST be ignored. | occurrence is processed and any others MUST be ignored. | |||
| 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 flags numbered from the most significant as bit zero, | of units of 32 bit-flags numbered from the most significant bit as | |||
| where each bit represents one PCE capability. | bit zero, where each bit represents one PCE capability. | |||
| The format of the PCE-CAP-FLAGS sub-TLV is as follows: | The format of the PCE-CAP-FLAGS sub-TLV is as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type = 5 | Length | | | Type = 5 | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| // PCE Capability Flags // | // PCE Capability Flags // | |||
| skipping to change at page 13, line 4 ¶ | skipping to change at page 12, line 28 ¶ | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type 5 | Type 5 | |||
| Length Multiple of 4 octets | Length Multiple of 4 octets | |||
| Value This contains an array of units of 32 bit flags | Value This contains an array of units of 32 bit flags | |||
| numbered from the most significant as bit zero, where | numbered from the most significant as bit zero, where | |||
| each bit represents one PCE capability. | each bit 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 Path computation with GMPLS link constraints | 0 Path computation with GMPLS link constraints | |||
| 1 Bidirectional path computation | 1 Bidirectional path computation | |||
| 2 Diverse path computation | 2 Diverse path computation | |||
| 3 Load-balanced path computation | 3 Load-balanced path computation | |||
| 4 Synchronized paths computation | 4 Synchronized path computation | |||
| 5 Support for multiple objective functions | 5 Support for multiple objective functions | |||
| 6 Support for additive path constraints | 6 Support for additive path constraints | |||
| (max hop count, etc.) | (max hop count, etc.) | |||
| 7 Support for request prioritization | 7 Support for request prioritization | |||
| 8 Support for multiple requests per message | 8 Support for multiple requests per message | |||
| 9-31 Reserved for future assignments by IANA. | 9-31 Reserved for future assignments by IANA. | |||
| These capabilities are defined in [RFC4657]. | 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.6. The OVERLOAD Sub-TLV | ||||
| The OVERLOAD sub-TLV is used to indicate that a PCE is experiencing | ||||
| a processing overload state. | ||||
| The OVERLOAD sub-TLV is optional, it MAY be carried within the PCED | ||||
| TLV. It MUST NOT be present more than once. If it appears more than | ||||
| once, only the first occurrence MUST be processed and other MUST be | ||||
| ignored. | ||||
| The format of the OVERLOAD sub-TLV is as follows: | ||||
| 0 1 2 3 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Type = 6 | Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |C| Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Type 6 | ||||
| Length 4 | ||||
| Value | ||||
| -C bit: When set this indicates that the PCE is overloaded | ||||
| and cannot accept any new request. When cleared this | ||||
| indicates that the PCE is not overloaded and can | ||||
| accept new requests. | ||||
| 5. Elements of Procedure | 5. Elements of Procedure | |||
| The PCED TLV is advertised within OSPFv2 Router Information LSAs | The PCED TLV is advertised within OSPFv2 Router Information LSAs | |||
| (Opaque type of 4 and Opaque ID of 0) or OSPFv3 Router information | (Opaque type of 4 and Opaque ID of 0) or OSPFv3 Router Information | |||
| LSAs (function code of 12) which are defined in [OSPF-CAP]. As such, | LSAs (function code of 12) which are defined in [OSPF-CAP]. As such, | |||
| elements of procedure are inherited from those defined in [OSPF-CAP]. | elements of procedure are inherited from those defined in [OSPF-CAP]. | |||
| In OSPFv2 the flooding scope is controlled by the opaque LSA type (as | In OSPFv2 the flooding scope is controlled by the opaque LSA type (as | |||
| defined in [RFC2370]) and in OSPFv3 by the S1/S2 bits (as defined in | defined in [RFC2370]) and in OSPFv3 by the S1/S2 bits (as defined in | |||
| [RFC2740]). If the flooding scope is local to an area then the PCED | [RFC2740]). If the flooding scope is local to an area then the PCED | |||
| TLV MUST be carried within an OSPFv2 type 10 router information LSA | TLV MUST be carried within an OSPFv2 type 10 router information LSA | |||
| or an OSPFV3 Router Information LSA with the S1 bit set and the S2 | or an OSPFV3 Router Information LSA with the S1 bit set and the S2 | |||
| bit cleared. If the flooding scope is the entire domain then the PCED | bit clear. If the flooding scope is the entire IGP domain then the | |||
| TLV MUST be carried within an OSPFv2 type 11 Router Information LSA | PCED TLV MUST be carried within an OSPFv2 type 11 Router Information | |||
| or OSPFv3 Router Information LSA with the S1 bit cleared and the S2 | LSA or OSPFv3 Router Information LSA with the S1 bit clear and the S2 | |||
| bit set. When only the L bit of the PATH-SCOPE sub-TLV is set, the | bit set. When only the L bit of the PATH-SCOPE sub-TLV is set, the | |||
| flooding scope MUST be area local. | flooding scope MUST be area local. | |||
| An OSPF router MUST originate a new Router Information LSA whenever | When the PCE function is deactivated, the OSPF speaker advertising | |||
| there is a change in a PCED TLV associated with a PCE it advertises. | this PCE MUST originate a new Router Information LSA that no longer | |||
| includes the corresponding PCED TLV, provided there are other TLVs in | ||||
| When a PCE is deactivated, the OSPF router advertising this PCE MUST | the LSA. If there are no other TLVs in the LSA, it MUST either send | |||
| originate a new Router Information LSA that no longer includes the | an empty Router Information LSA or purge it by prematurely aging it. | |||
| corresponding PCED TLV. | ||||
| The PCE address, i.e. the address indicated within the PCE ADDRESS | The PCE address (i.e., the address indicated within the PCE ADDRESS | |||
| TLV, SHOULD be reachable via some prefixes advertised by OSPF; this | TLV) SHOULD be reachable via some prefixes advertised by OSPF. This | |||
| allows speeding up the detection of a PCE failure. Note that when the | allows the detection of a PCE failure to be sped up. When the PCE | |||
| PCE address is no longer reachable, this means that the PCE node has | address is no longer reachable, the PCE node has failed, has been | |||
| failed or has been torn down, or that there is no longer IP | torn down, or there is no longer IP connectivity to the PCE. | |||
| connectivity to the PCE node. | ||||
| A change in PCED information MUST NOT trigger any SPF computation at | A change in information in the PCED TLV MUST NOT trigger any SPF | |||
| a receiving router. | computation at 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 on the PCE | scope of this document. Some information may be configured on the PCE | |||
| (e.g., address, preferences, scope) and other information may be | (e.g., 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. OVERLOAD sub-TLV Specific Procedures | ||||
| When a PCE enters into an overload state, the conditions of which are | ||||
| implementation dependent, a Router Information LSA with an OVERLOAD | ||||
| sub-TLV with the C bit set MAY be generated. | ||||
| When a PCE exits from an overload state, the conditions of which are | ||||
| implementation dependent (e.g. CPU utilization, average queue length | ||||
| below some pre-defined threshold), a new Router Information LSA with | ||||
| an OVERLOAD sub-TLV with the C bit cleared SHOULD be generated, if | ||||
| the overload information had been previously advertised. | ||||
| A PCE implementation supporting the OSPF extensions defined in this | ||||
| document SHOULD support an appropriate dampening algorithm so as to | ||||
| dampen OSPF flooding of PCE Overload information in order to not | ||||
| impact the OSPF scalability. It is RECOMMENDED to introduce some | ||||
| hysteresis for overload state transition, so as to avoid state | ||||
| oscillations that may impact OSPF performance. For instance two | ||||
| thresholds MAY be configured: An upper-threshold and a lower- | ||||
| threshold; an LSR enters the overload state when the CPU load reaches | ||||
| the upper threshold and leaves the overload state when the CPU load | ||||
| goes under the lower threshold. | ||||
| Upon receipt of an updated OVERLOAD sub-TLV a PCC SHOULD take | ||||
| appropriate actions. In particular, the PCC SHOULD stop sending | ||||
| requests to an overloaded PCE, and SHOULD gradually start sending | ||||
| again requests to a PCE that is no longer overloaded. | ||||
| 6. Backward Compatibility | 6. Backward Compatibility | |||
| The PCED TLV defined in this document does not introduce any | The PCED TLV defined in this document does not introduce any | |||
| interoperability issues. | interoperability issues. | |||
| A router not supporting the PCED TLV will just silently ignore the | A router not supporting the PCED TLV will just silently ignore the | |||
| TLV as specified in [OSPF-CAP]. | TLV as specified in [OSPF-CAP]. | |||
| 7. IANA Considerations | 7. IANA Considerations | |||
| 7.1. OSPF TLV | 7.1. OSPF TLV | |||
| Once the OSPF RI TLVs registry defined in [OSPF-CAP] will have been | IANA has defined a registry for TLVs carried in the Router | |||
| assigned, IANA will assign a new TLV code-point for the PCED TLV | Information LSA defined in [OSPF-CAP]. IANA is requested to assign a | |||
| carried within the Router Information LSA. | new TLV code-point for the PCED TLV carried within the Router | |||
| Information LSA. | ||||
| Value TLV Name Reference | Value TLV Name Reference | |||
| ----- -------- ---------- | ----- -------- ---------- | |||
| 5 PCED (this document) | 5 PCED (this document) | |||
| 7.2. PCE Capability Flags registry | 7.2. 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. | |||
| skipping to change at page 16, line 45 ¶ | skipping to change at page 15, line 21 ¶ | |||
| Mechanisms defined to ensure authenticity and integrity of OSPF LSAs | Mechanisms defined to ensure authenticity and integrity of OSPF LSAs | |||
| [RFC2154], and their TLVs, can be used to secure the PCE Discovery | [RFC2154], and their TLVs, can be used to secure the PCE Discovery | |||
| information as well. | information as well. | |||
| OSPF provides no encryption mechanism for protecting the privacy of | OSPF provides no encryption mechanism for protecting the privacy of | |||
| LSAs, and in particular the privacy of the PCE discovery information. | LSAs, and 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 for the configuration of PCE discovery parameters on | |||
| and PCEs are discussed in section 4.10.1 of [RFC4674]. | PCCs and PCEs are discussed in Section 4.10.1 of [RFC4674]. | |||
| Particularly, a PCE implementation SHOULD allow configuring the | In particular, a PCE implementation SHOULD allow the following | |||
| following parameters on the PCE: | parameters to be configured on the PCE: | |||
| -The PCE IPv4/IPv6 address(es) (see section 4.1.1) | - The PCE IPv4/IPv6 address(es) (see Section 4.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.2) | |||
| -The PCE domains (see section 4.1.3) | - The PCE domains (see Section 4.3) | |||
| -The neighbour PCE domains (see section 4.1.4) | - The neighbour PCE domains (see Section 4.4) | |||
| -The PCE capabilities (see section 4.1.5) | - The PCE capabilities (see Section 4.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 OSPF liveness | |||
| detection. OSPF already includes a liveness detection mechanism | detection. OSPF already includes a liveness detection mechanism | |||
| (Hello protocol), and PCE discovery does not require additional | (Hello protocol), and PCE discovery does not require additional | |||
| capabilities. | capabilities. | |||
| Procedures defined in section 5.1 allow a PCC detecting when a PCE | Procedures defined in Section 5 allow a PCC to detect when a PCE has | |||
| has been deactivated, or is no longer reachable. | 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 information in the PCED TLV | |||
| and in the PCE, which is stored in the PCED MIB [PCED-MIB]. The | received by the PCC with that stored at the PCE using the PCED MIB | |||
| number of dropped, corrupt, and rejected information elements are | [PCED-MIB]. The number of dropped, corrupt, and rejected information | |||
| stored in the PCED MIB. | elements are available through the PCED MIB. | |||
| 9.5. Requirements on Other Protocols and Functional Components | 9.5. Requirements on Other Protocols and Functional Components | |||
| The OSPF extensions defined in this document do not imply any | The OSPF extensions defined in this document 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 overload | ||||
| information, may have a significant impact on OSPF and might | ||||
| destabilize the operation of the network by causing the PCCs to swap | ||||
| between PCEs. | ||||
| As discussed in section 5.1, a PCE implementation SHOULD support an | Frequent changes in PCE information advertised in the PCED TLV, may | |||
| appropriate dampening algorithm so as to dampen OSPF flooding in | have a significant impact on OSPF and might destabilize the operation | |||
| order to not impact the OSPF scalability. | of the network by causing the PCCs to swap between PCEs. | |||
| Also, as discussed in section 4.10.4 of [RFC4674], it MUST be | As discussed in Section 4.10.4 of [RFC4674], it MUST be possible to | |||
| possible to apply at least the following controls: | 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 rate-limiting | |||
| rate-limiting. | the processing of PCED TLVs. | |||
| - 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, Adrian Farrel, Les Ginsberg, Mike | We would like to thank Lucy Wong, Adrian Farrel, Les Ginsberg, Mike | |||
| Shand and Lou Berger for their useful comments and suggestions. | Shand, and Lou Berger for their useful comments and suggestions. | |||
| We would also like to thank Dave Ward, Lars Eggert, Sam Hartman, and | We would also like to thank Dave Ward, Lars Eggert, Sam Hartman, and | |||
| Tim Polk for their comments during the final stages of publication. | Tim Polk for their comments during the final stages of publication. | |||
| 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. | |||
| [RFC2328] Moy, J., "OSPF Version 2", RFC 2328, April 1998. | ||||
| [RFC2740] Coltun, R., Ferguson, D., and J. Moy, "OSPF for IPv6", | [RFC2740] Coltun, R., Ferguson, D., and J. Moy, "OSPF for IPv6", | |||
| RFC 2740, December 1999. | RFC 2740, December 1999. | |||
| [RFC2370] Coltun, R., "The OSPF Opaque LSA Option", RFC 2370, July | [RFC2370] Coltun, R., "The OSPF Opaque LSA Option", RFC 2370, July | |||
| 1998. | 1998. | |||
| [RFC3630] Katz, D., Yeung, D., Kompella, K., "Traffic Engineering | [RFC3630] Katz, D., Yeung, D., Kompella, K., "Traffic Engineering | |||
| Extensions to OSPF Version 2", RFC 3630, September 2003. | Extensions to OSPF Version 2", RFC 3630, September 2003. | |||
| [OSPF-CAP] Lindem, A., Shen, N., Aggarwal, R., Shaffer, S., Vasseur, | [OSPF-CAP] Lindem, A., Shen, N., Aggarwal, R., Shaffer, S., Vasseur, | |||
| J.P., "Extensions to OSPF for advertising Optional Router | J.P., "Extensions to OSPF for advertising Optional Router | |||
| Capabilities", draft-ietf-ospf-cap, work in progress. | Capabilities", draft-ietf-ospf-cap, work in progress. | |||
| [RFC2154] Murphy, S., Badger, M., and B. Wellington, "OSPF with | [RFC2154] Murphy, S., Badger, M., and B. Wellington, "OSPF with | |||
| Digital Signatures", RFC 2154, June 1997. | Digital Signatures", RFC 2154, June 1997. | |||
| 11.2. Informative references | 11.2. Informative References | |||
| [RFC4657] Ash, J., Le Roux, J.L., "PCE Communication Protocol Generic | [RFC4657] Ash, J., Le Roux, J.L., "PCE Communication Protocol Generic | |||
| Requirements", RFC4657, September 2006. | Requirements", RFC4657, September 2006. | |||
| [PCEP] Vasseur, Le Roux, et al., "Path Computation Element (PCE) | [PCEP] Vasseur, Le Roux, et al., "Path Computation Element (PCE) | |||
| communication Protocol (PCEP) - Version 1", draft-ietf-pce-pcep, work | communication Protocol (PCEP) - Version 1", draft-ietf-pce-pcep, work | |||
| in progress. | in progress. | |||
| [PCED-MIB] Stephan, E., "Definitions of Managed Objects for Path | [PCED-MIB] Stephan, E., "Definitions of Managed Objects for Path | |||
| Computation Element Discovery", draft-ietf-pce-disc-mib, work in | Computation Element Discovery", draft-ietf-pce-disc-mib, work in | |||
| End of changes. 104 change blocks. | ||||
| 316 lines changed or deleted | 241 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/ | ||||