| rfc9757.original | rfc9757.txt | |||
|---|---|---|---|---|
| PCE Working Group A. Wang | Internet Engineering Task Force (IETF) A. Wang | |||
| Internet-Draft China Telecom | Request for Comments: 9757 China Telecom | |||
| Intended status: Experimental B. Khasanov | Category: Experimental B. Khasanov | |||
| Expires: 15 March 2025 MTS Web Services (MWS) | ISSN: 2070-1721 MTS Web Services (MWS) | |||
| S. Fang | S. Fang | |||
| R. Tan | ||||
| Huawei Technologies | Huawei Technologies | |||
| C. Zhu | C. Zhu | |||
| ZTE Corporation | ZTE Corporation | |||
| 11 September 2024 | March 2025 | |||
| Path Computation Element Communication Protocol (PCEP) Extensions for | Path Computation Element Communication Protocol (PCEP) Extensions for | |||
| Native IP Networks | Native IP Networks | |||
| draft-ietf-pce-pcep-extension-native-ip-40 | ||||
| Abstract | Abstract | |||
| This document introduces extensions to the PCE Communication Protocol | This document introduces extensions to the Path Computation Element | |||
| (PCEP) to support path computation in native IP networks through a | Communication Protocol (PCEP) to support path computation in Native | |||
| PCE-based central control mechanism known as Centralized Control | IP networks through a PCE-based central control mechanism known as | |||
| Dynamic Routing (CCDR). These extensions empower a PCE to calculate | Centralized Control Dynamic Routing (CCDR). These extensions empower | |||
| and manage paths specifically for native IP networks, expand PCEP’s | a PCE to calculate and manage paths specifically for Native IP | |||
| capabilities beyond its traditional use in MPLS and GMPLS networks. | networks, thereby expanding PCEP's capabilities beyond its past use | |||
| By implementing these extensions, IP network resources can be | in MPLS and GMPLS networks. By implementing these extensions, IP | |||
| utilized more efficiently, facilitating the deployment of traffic | network resources can be utilized more efficiently, facilitating the | |||
| engineering in native IP environments. | deployment of traffic engineering in Native IP environments. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
| provisions of BCP 78 and BCP 79. | published for examination, experimental implementation, and | |||
| evaluation. | ||||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document defines an Experimental Protocol for the Internet | |||
| and may be updated, replaced, or obsoleted by other documents at any | community. This document is a product of the Internet Engineering | |||
| time. It is inappropriate to use Internet-Drafts as reference | Task Force (IETF). It represents the consensus of the IETF | |||
| material or to cite them other than as "work in progress." | community. It has received public review and has been approved for | |||
| publication by the Internet Engineering Steering Group (IESG). Not | ||||
| all documents approved by the IESG are candidates for any level of | ||||
| Internet Standard; see Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on 15 March 2025. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9757. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2025 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
| described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
| provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
| in the Revised BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
| 2. Conventions used in this document . . . . . . . . . . . . . . 3 | 2. Conventions Used in This Document | |||
| 2.1. Use of RBNF . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Use of RBNF | |||
| 2.2. Experimental Status Consideration . . . . . . . . . . . . 4 | 2.2. Experimental Status Consideration | |||
| 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Terminology | |||
| 4. Capability Advertisement . . . . . . . . . . . . . . . . . . 5 | 4. Capability Advertisement | |||
| 4.1. Open Message . . . . . . . . . . . . . . . . . . . . . . 5 | 4.1. Open Message | |||
| 5. PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . . 6 | 5. PCEP Messages | |||
| 5.1. The PCInitiate Message . . . . . . . . . . . . . . . . . 6 | 5.1. The PCInitiate Message | |||
| 5.2. The PCRpt Message . . . . . . . . . . . . . . . . . . . . 8 | 5.2. The PCRpt Message | |||
| 6. PCECC Native IP TE Procedures . . . . . . . . . . . . . . . . 9 | 6. PCECC Native IP TE Procedures | |||
| 6.1. BGP Session Establishment Procedures . . . . . . . . . . 9 | 6.1. BGP Session Establishment Procedures | |||
| 6.2. Explicit Route Establishment Procedures . . . . . . . . . 12 | 6.2. Explicit Route Establishment Procedures | |||
| 6.3. BGP Prefix Advertisement Procedures . . . . . . . . . . . 15 | 6.3. BGP Prefix Advertisement Procedures | |||
| 6.4. Selection of Raw Mode and Tunnel Mode Forwarding | 6.4. Selection of the Raw Mode and Tunnel Mode Forwarding | |||
| Strategy . . . . . . . . . . . . . . . . . . . . . . . . 17 | Strategy | |||
| 6.5. Clean Up . . . . . . . . . . . . . . . . . . . . . . . . 17 | 6.5. Cleanup | |||
| 6.6. Other Procedures . . . . . . . . . . . . . . . . . . . . 18 | 6.6. Other Procedures | |||
| 7. New PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 18 | 7. New PCEP Objects | |||
| 7.1. CCI Object . . . . . . . . . . . . . . . . . . . . . . . 18 | 7.1. CCI Object | |||
| 7.2. BGP Peer Info Object . . . . . . . . . . . . . . . . . . 19 | 7.2. BGP Peer Info Object | |||
| 7.3. Explicit Peer Route Object . . . . . . . . . . . . . . . 21 | 7.3. Explicit Peer Route Object | |||
| 7.4. Peer Prefix Advertisement Object . . . . . . . . . . . . 23 | 7.4. Peer Prefix Advertisement Object | |||
| 8. New Error-Types and Error-Values Defined . . . . . . . . . . 26 | 8. New Error-Type and Error-Values Defined | |||
| 9. BGP Considerations . . . . . . . . . . . . . . . . . . . . . 28 | 9. BGP Considerations | |||
| 10. Deployment Considerations . . . . . . . . . . . . . . . . . . 28 | 10. Deployment Considerations | |||
| 11. Manageability Considerations . . . . . . . . . . . . . . . . 29 | 11. Manageability Considerations | |||
| 11.1. Control of Function and Policy . . . . . . . . . . . . . 29 | 11.1. Control of Function and Policy | |||
| 11.2. Information and Data Models . . . . . . . . . . . . . . 29 | 11.2. Information and Data Models | |||
| 11.3. Liveness Detection and Monitoring . . . . . . . . . . . 29 | 11.3. Liveness Detection and Monitoring | |||
| 11.4. Verify Correct Operations . . . . . . . . . . . . . . . 29 | 11.4. Verify Correct Operations | |||
| 11.5. Requirements on Other Protocols . . . . . . . . . . . . 30 | 11.5. Requirements on Other Protocols | |||
| 11.6. Impact on Network Operations . . . . . . . . . . . . . . 30 | 11.6. Impact on Network Operations | |||
| 12. Security Considerations . . . . . . . . . . . . . . . . . . . 30 | 12. Security Considerations | |||
| 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 | 13. IANA Considerations | |||
| 13.1. Path Setup Type Registry . . . . . . . . . . . . . . . . 30 | 13.1. PCEP Path Setup Types | |||
| 13.2. PCECC-CAPABILITY sub-TLV's Flag field . . . . . . . . . 31 | 13.2. PCECC-CAPABILITY Sub-TLV Flag Field | |||
| 13.3. PCEP Object . . . . . . . . . . . . . . . . . . . . . . 31 | 13.3. PCEP Objects | |||
| 13.4. PCEP-Error Object . . . . . . . . . . . . . . . . . . . 32 | 13.4. PCEP-Error Objects | |||
| 13.5. CCI Object Flag Field . . . . . . . . . . . . . . . . . 32 | 13.5. CCI Object Flag Field | |||
| 13.6. BPI Object Status Code . . . . . . . . . . . . . . . . . 33 | 13.6. BPI Object Status Codes | |||
| 13.7. BPI Object Error Code . . . . . . . . . . . . . . . . . 33 | 13.7. BPI Object Error Codes | |||
| 13.8. BPI Object Flag Field . . . . . . . . . . . . . . . . . 33 | 13.8. BPI Object Flag Field | |||
| 14. Contributor . . . . . . . . . . . . . . . . . . . . . . . . . 34 | 14. References | |||
| 15. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 34 | 14.1. Normative References | |||
| 16. References . . . . . . . . . . . . . . . . . . . . . . . . . 34 | 14.2. Informative References | |||
| 16.1. Normative References . . . . . . . . . . . . . . . . . . 34 | Acknowledgements | |||
| 16.2. Informative References . . . . . . . . . . . . . . . . . 36 | Contributors | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 37 | Authors' Addresses | |||
| 1. Introduction | 1. Introduction | |||
| Generally, Multiprotocol Label Switching Traffic Engineering (MPLS- | Generally, Multiprotocol Label Switching Traffic Engineering (MPLS- | |||
| TE) requires the corresponding network devices to support Resource | TE) requires the corresponding network devices to support the | |||
| ReSerVation Protocol (RSVP)[RFC3209]/Label Distribution Protocol | Resource ReSerVation Protocol (RSVP) [RFC3209] and the Label | |||
| (LDP)[RFC5036] protocols to ensure the End-to-End (E2E) traffic | Distribution Protocol (LDP) [RFC5036] to ensure End-to-End (E2E) | |||
| performance. But in native IP network scenarios described in | traffic performance. But in Native IP network scenarios described in | |||
| [RFC8735], there will be no such signaling protocol to synchronize | [RFC8735], there will be no such signaling protocol to synchronize | |||
| the actions among different network devices. It is feasible to use | the actions among different network devices. It is feasible to use | |||
| the central control mode described in [RFC8283] to correlate the | the central control mode described in [RFC8283] to correlate the | |||
| forwarding behavior among different network devices. [RFC8821] | forwarding behavior among different network devices. [RFC8821] | |||
| describes the architecture and solution philosophy for the E2E | describes the architecture and solution philosophy for the E2E | |||
| traffic assurance in the Native IP network via multiple Border | traffic assurance in the Native IP network via a solution based on | |||
| Gateway Protocol (BGP) sessions-based solution. It requires only the | multiple Border Gateway Protocol (BGP) sessions. It requires only | |||
| PCE to send the instructions to the PCCs, to build multiple BGP | the PCE to send the instructions to the Path Computation Clients | |||
| sessions, distribute different prefixes on the established BGP | (PCCs) to build multiple BGP sessions, distribute different prefixes | |||
| sessions and assign the different paths to the BGP next hops. | on the established BGP sessions, and assign the different paths to | |||
| the BGP next hops. | ||||
| This document describes the corresponding Path Computation Element | This document describes the corresponding Path Computation Element | |||
| Communication Protocol (PCEP) extensions to transfer the key | Communication Protocol (PCEP) extensions to transfer the key | |||
| information about BGP peer, peer prefix advertisement, and the | information about the BGP peer, peer prefix advertisement, and | |||
| explicit peer route on on-path routers. | explicit peer route on on-path routers. | |||
| 2. Conventions used in this document | 2. Conventions Used in This Document | |||
| The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 2.1. Use of RBNF | 2.1. Use of RBNF | |||
| The message formats in this document are illustrated using Routing | The message formats in this document are illustrated using Routing | |||
| Backus-Naur Form (RBNF) encoding, as specified in [RFC5511]. The use | Backus-Naur Form (RBNF) encoding, as specified in [RFC5511]. The use | |||
| of RBNF is illustrative only and may elide certain important details; | of RBNF is illustrative only and may elide certain important details; | |||
| the normative specification of messages is found in the prose | the normative specification of messages is found in the prose | |||
| description. If there is any divergence between the RBNF and the | description. If there is any divergence between the RBNF and the | |||
| prose, the prose is considered authoritative. | prose, the prose is considered authoritative. | |||
| 2.2. Experimental Status Consideration | 2.2. Experimental Status Consideration | |||
| The procedures outlined in this document are experimental. The | The procedures outlined in this document are experimental. The | |||
| experiment aims to explore the use of PCE (and PCEP) for end-to-end | experiment aims to explore the use of PCE (and PCEP) for E2E traffic | |||
| traffic assurance in Native IP networks through multiple BGP | assurance in Native IP networks through multiple BGP sessions. | |||
| sessions. Additional implementation is necessary to gain a deeper | Additional implementation is necessary to gain a deeper understanding | |||
| understanding of the operational impact, scalability, and stability | of the operational impact, scalability, and stability of the | |||
| of the mechanism described. Feedback from deployments will be | mechanism described. Feedback from deployments will be crucial in | |||
| crucial in determining whether this specification should advance from | determining whether this specification should advance from | |||
| Experimental to the IETF Standards Track. | Experimental to the IETF Standards Track. | |||
| 3. Terminology | 3. Terminology | |||
| This document uses the following terms defined in [RFC5440]: PCC, | This document uses the following terms defined in [RFC5440]: PCC, | |||
| PCE, PCEP. | PCE, and PCEP. | |||
| The following terminology is used in this document: | Additionally, the following terminology is used in this document: | |||
| * BPI: BGP Peer Info | BPI: BGP Peer Info | |||
| * CCDR: Central Control Dynamic Routing | CCDR: Centralized Control Dynamic Routing | |||
| * CCI: Central Controller Instructions, defined in [RFC9050] | CCI: Central Controller Instructions (defined in [RFC9050]) | |||
| * E2E: End-to-End | E2E: End-to-End | |||
| * EPR: Explicit Peer Route | EPR: Explicit Peer Route | |||
| * Native IP network: Network that forwards traffic based solely on | Native IP network: Network that forwards traffic based solely on the | |||
| the IP address, instead of other indicator, for example MPLS etc. | IP address, instead of another indicator, for example, MPLS, etc. | |||
| * PCECC: PCE as a Central Controller, defined in [RFC8283] | PCECC: PCE as a Central Controller (defined in [RFC8283]) | |||
| * PPA: Peer Prefix Advertisement | PPA: Peer Prefix Advertisement | |||
| * PST: Path Setup Type, defined in [RFC8408] | PST: Path Setup Type (defined in [RFC8408]) | |||
| * SRP: Stateful PCE Request Parameters, defined in [RFC8231] | SRP: Stateful PCE Request Parameter (defined in [RFC8231]) | |||
| * RR: Route Reflector | ||||
| RR: Route Reflector | ||||
| 4. Capability Advertisement | 4. Capability Advertisement | |||
| 4.1. Open Message | 4.1. Open Message | |||
| During the PCEP Initialization Phase, PCEP Speakers (PCE or PCC) | During the PCEP Initialization Phase, PCEP speakers (PCE or PCC) | |||
| advertise their support of Native IP extensions. | advertise their support of Native IP extensions. | |||
| This document defines a new Path Setup Type (PST) [RFC8408] for | This document defines a new Path Setup Type (PST) [RFC8408] for | |||
| Native-IP, as follows: | Native IP, as follows: | |||
| * PST = 4: Path is a Native IP TE path as per [RFC8821]. | * PST = 4: Path is a Native IP TE path as per [RFC8821]. | |||
| A PCEP speaker MUST indicate its support of the function described in | A PCEP speaker MUST indicate its support of the function described in | |||
| this document by sending a PATH-SETUP-TYPE-CAPABILITY TLV in the OPEN | this document by sending a PATH-SETUP-TYPE-CAPABILITY TLV in the OPEN | |||
| object with this new PST included in the PST list. | object with this new PST included in the PST list. | |||
| [RFC9050] defined the PCECC-CAPABILITY sub-TLV to exchange | [RFC9050] defined the PCECC-CAPABILITY sub-TLV to exchange | |||
| information about their PCECC capability. A new flag is defined in | information about the PCEP speakers' PCECC capability. A new flag is | |||
| PCECC-CAPABILITY sub-TLV for Native IP: | defined in the PCECC-CAPABILITY sub-TLV for Native IP: | |||
| N (NATIVE-IP-TE-CAPABILITY - 1 bit - 30): When set to 1 by a PCEP | N (NATIVE-IP-TE-CAPABILITY - 1 bit - 30): When set to 1 by a PCEP | |||
| speaker, this flag indicates that the PCEP speaker is capable of TE | speaker, this flag indicates that the PCEP speaker is capable of TE | |||
| in a Native IP network, as specified in this document. Both the PCC | in a Native IP network, as specified in this document. Both the PCC | |||
| and PCE MUST set this flag to support this extension. | and PCE MUST set this flag to support this extension. | |||
| If a PCEP speaker receives the PATH-SETUP-TYPE-CAPABILITY TLV with | If a PCEP speaker receives the PATH-SETUP-TYPE-CAPABILITY TLV with | |||
| the newly defined path setup type, but without the N bit set in | the newly defined PST, but without the N bit set in PCECC-CAPABILITY | |||
| PCECC-CAPABILITY sub-TLV, it MUST: | sub-TLV, it MUST: | |||
| * send a PCErr message with Error-Type=10 (Reception of an invalid | * send a PCErr message with Error-Type=10 (Reception of an invalid | |||
| object) and Error-Value=39 (PCECC NATIVE-IP-TE-CAPABILITY bit is | object) and Error-value=39 (PCECC NATIVE-IP-TE-CAPABILITY bit is | |||
| not set). | not set) and | |||
| * terminate the PCEP session | * terminate the PCEP session. | |||
| If a PCEP speaker receives the PATH-SETUP-TYPE-CAPABILITY TLV with | If a PCEP speaker receives the PATH-SETUP-TYPE-CAPABILITY TLV with | |||
| the newly defined path setup type, but without the PCECC-CAPABILITY | the newly defined PST, but without the PCECC-CAPABILITY sub-TLV, it | |||
| sub-TLV, it MUST: | MUST: | |||
| * send a PCErr message with Error-Type=10(Reception of an invalid | * send a PCErr message with Error-Type=10 (Reception of an invalid | |||
| object) and Error-Value=33 (Missing PCECC Capability sub-TLV). | object) and Error-value=33 (Missing PCECC Capability sub-TLV) and | |||
| * terminate the PCEP session. | ||||
| * terminate the PCEP session | ||||
| If one or both speakers (PCE and PCC) have not indicated the support | If one or both speakers (PCE and PCC) have not indicated the support | |||
| for Native-IP, the PCEP extensions for the Native-IP MUST NOT be | for Native IP, the PCEP extensions for the Native IP MUST NOT be | |||
| used. If a Native-IP operation is attempted when both speakers have | used. If a Native IP operation is attempted when both speakers have | |||
| not agreed on the OPEN messages, the receiver of the message MUST: | not agreed on the OPEN messages, the receiver of the message MUST: | |||
| * send a PCErr message with Error-Type=19 (Invalid Operation) and | * send a PCErr message with Error-Type=19 (Invalid Operation) and | |||
| Error-value=29 (Attempted Native-IP operations when the capability | Error-value=29 (Attempted Native IP operations when the capability | |||
| was not advertised) and | was not advertised) and | |||
| * terminate the PCEP session. | * terminate the PCEP session. | |||
| 5. PCEP Messages | 5. PCEP Messages | |||
| PCECC Native IP TE solution uses the existing PCE Label Switched Path | The PCECC Native IP TE solution uses the existing PCE Label Switched | |||
| (LSP) Initiate Request message (PCInitiate) [RFC8281], and PCE Report | Path (LSP) Initiate Request message (PCInitiate) [RFC8281] and PCE | |||
| message (PCRpt) [RFC8231] to accomplish the multiple BGP sessions | Report message (PCRpt) [RFC8231] to establish multiple BGP sessions, | |||
| establishment, E2E Native-IP TE path deployment, and route prefixes | deploy the E2E Native IP TE path, and advertise route prefixes among | |||
| advertisement among different BGP sessions. A new PST for Native-IP | different BGP sessions. A new PST for Native IP is used to indicate | |||
| is used to indicate the path setup based on TE in Native IP networks. | the path setup based on TE in Native IP networks. | |||
| The extended PCInitiate message described in [RFC9050] is used to | The extended PCInitiate message described in [RFC9050] is used to | |||
| download or remove the central controller's instructions (CCIs). | download or remove the Central Controller Instructions (CCI). | |||
| [RFC9050] specifies an object called CCI for the encoding of the | [RFC9050] specifies an object called CCI for the encoding of the | |||
| central controller's instructions. This document specifies a new CCI | central controller's instructions. This document specifies a new CCI | |||
| Object-Type for Native IP. The PCEP messages are extended in this | Object-Type for Native IP. The PCEP messages are extended in this | |||
| document to handle the PCECC operations for Native IP. Three new | document to handle the PCECC operations for Native IP. Three new | |||
| PCEP Objects (BGP Peer Info (BPI) Object, Explicit Peer Route (EPR) | PCEP objects (BGP Peer Info (BPI), Explicit Peer Route (EPR), and | |||
| Object, and Peer Prefix Advertisement (PPA) Object) are defined in | Peer Prefix Advertisement (PPA)) are defined in this document. Refer | |||
| this document. Refer to Section 7 for detailed object definitions. | to Section 7 for detailed object definitions. All PCEP procedures | |||
| All PCEP procedures specified in [RFC9050] continue to apply unless | specified in [RFC9050] continue to apply unless specified otherwise. | |||
| specified otherwise. | ||||
| 5.1. The PCInitiate Message | 5.1. The PCInitiate Message | |||
| The PCInitiate Message defined in [RFC8281] and extended in [RFC9050] | The PCInitiate message defined in [RFC8281] and extended in [RFC9050] | |||
| is further extended to support Native-IP CCI. | is further extended to support Native IP CCI. | |||
| The format of the extended PCInitiate message is as follows: | The format of the extended PCInitiate message is as follows: | |||
| <PCInitiate Message> ::= <Common Header> | <PCInitiate Message> ::= <Common Header> | |||
| <PCE-initiated-lsp-list> | <PCE-initiated-lsp-list> | |||
| Where: | ||||
| <Common Header> is defined in [RFC5440] | Where: | |||
| <Common Header> is defined in RFC 5440 | ||||
| <PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request> | <PCE-initiated-lsp-list> ::= <PCE-initiated-lsp-request> | |||
| [<PCE-initiated-lsp-list>] | [<PCE-initiated-lsp-list>] | |||
| <PCE-initiated-lsp-request> ::= | <PCE-initiated-lsp-request> ::= | |||
| (<PCE-initiated-lsp-instantiation>| | (<PCE-initiated-lsp-instantiation>| | |||
| <PCE-initiated-lsp-deletion>| | <PCE-initiated-lsp-deletion>| | |||
| <PCE-initiated-lsp-central-control>) | <PCE-initiated-lsp-central-control>) | |||
| <PCE-initiated-lsp-central-control> ::= <SRP> | <PCE-initiated-lsp-central-control> ::= <SRP> | |||
| <LSP> | <LSP> | |||
| <cci-list> | <cci-list> | |||
| <cci-list> ::= <CCI> | <cci-list> ::= <CCI> | |||
| [<BPI>|<EPR>|<PPA>] | [<BPI>|<EPR>|<PPA>] | |||
| [<cci-list>] | [<cci-list>] | |||
| Where: | Where: | |||
| <PCE-initiated-lsp-instantiation> and <PCE-initiated-lsp-deletion> | * <PCE-initiated-lsp-instantiation> and <PCE-initiated-lsp-deletion> | |||
| are as per [RFC8281]. | are as per [RFC8281]. | |||
| The LSP and SRP objects are defined in [RFC8231]. | * The LSP and SRP objects are defined in [RFC8231]. | |||
| When the PCInitiate message is used for Native IP instructions, i.e. | When the PCInitiate message is used for Native IP instructions, i.e., | |||
| When the CCI Object-Type is 2, the SRP, LSP and CCI objects MUST be | when the CCI Object-Type is 2, the SRP, LSP, and CCI objects MUST be | |||
| present. Error handling for missing SRP, LSP or CCI objects MUST be | present. Error handling for missing SRP, LSP, or CCI objects MUST be | |||
| performed as specified in [RFC9050]. Additionally, exactly one | performed as specified in [RFC9050]. Additionally, exactly one | |||
| object among the BPI, EPR, or PPA objects MUST be present. The PLSP- | object among the BPI, EPR, or PPA objects MUST be present. The PCEP- | |||
| ID and Symbolic Path Name TLVs are set as per the existing rules in | specific LSP identifier (PLSP-ID) and Symbolic Path Name TLVs are set | |||
| [RFC8231], [RFC8281], and [RFC9050]. The Symbolic Path Name is used | as per the existing rules in [RFC8231], [RFC8281], and [RFC9050]. | |||
| by the PCE/PCC to uniquely identify the E2E native IP TE path. The | The Symbolic Path Name is used by the PCE/PCC to uniquely identify | |||
| related Native-IP instructions with BPI, EPR or PPA objects are | the E2E Native IP TE path. The related Native IP instructions with | |||
| identified by the same Symbolic Path Name. | BPI, EPR, or PPA objects are identified by the same Symbolic Path | |||
| Name. | ||||
| If none of the BPI, EPR or PPA objects are present, the receiving PCC | If none of the BPI, EPR, or PPA objects are present, the receiving | |||
| MUST send a PCErr message with Error-type=6 (Mandatory Object | PCC MUST send a PCErr message with Error-Type=6 (Mandatory Object | |||
| missing) and Error-value=19 (Native IP object missing). If there is | missing) and Error-value=19 (Native IP object missing). If there is | |||
| more than one instance of BPI, EPR or PPA object present, the | more than one BPI, EPR, or PPA object present, the receiving PCC MUST | |||
| receiving PCC MUST send a PCErr message with Error-type=19 (Invalid | send a PCErr message with Error-Type=19 (Invalid Operation) and | |||
| Operation) and Error-value=22 (Only one BPI, EPR or PPA object can be | Error-value=22 (Only one BPI, EPR, or PPA object can be included in | |||
| included in this message). | this message). | |||
| When the PCInitiate message is not used for Native IP instructions, | When the PCInitiate message is not used for Native IP instructions, | |||
| i.e. When CCI Object-Type is not equal to 2, the BPI, EPR and PPA | i.e., when the CCI Object-Type is not equal to 2, the BPI, EPR, and | |||
| objects SHOULD NOT be present. If present, they MUST be ignored by | PPA objects SHOULD NOT be present. If present, they MUST be ignored | |||
| the receiver. | by the receiver. | |||
| To clean up the existing Native IP instructions, the SRP object MUST | To clean up the existing Native IP instructions, the SRP object MUST | |||
| set the R (remove) bit. | set the R (remove) bit. | |||
| 5.2. The PCRpt Message | 5.2. The PCRpt Message | |||
| The PCRpt message is used to acknowledge the Native-IP instructions | The PCRpt message is used to acknowledge the Native IP instructions | |||
| received from the central controller (PCE) as well as during the | received from the central controller (PCE) as well as during the | |||
| State Synchronization phase. | State Synchronization phase. | |||
| The format of the PCRpt message is as follows: | The format of the PCRpt message is as follows: | |||
| <PCRpt Message> ::= <Common Header> | <PCRpt Message> ::= <Common Header> | |||
| <state-report-list> | <state-report-list> | |||
| Where: | ||||
| Where: | ||||
| <state-report-list> ::= <state-report>[<state-report-list>] | <state-report-list> ::= <state-report>[<state-report-list>] | |||
| <state-report> ::= (<lsp-state-report>| | <state-report> ::= (<lsp-state-report>| | |||
| <central-control-report>) | <central-control-report>) | |||
| <lsp-state-report> ::= [<SRP>] | <lsp-state-report> ::= [<SRP>] | |||
| <LSP> | <LSP> | |||
| <path> | <path> | |||
| <central-control-report> ::= [<SRP>] | <central-control-report> ::= [<SRP>] | |||
| <LSP> | <LSP> | |||
| <cci-list> | <cci-list> | |||
| <cci-list> ::= <CCI> | <cci-list> ::= <CCI> | |||
| [<BPI>|<EPR>|<PPA>] | [<BPI>|<EPR>|<PPA>] | |||
| [<cci-list>] | [<cci-list>] | |||
| Where: <path> is as per [RFC8231] and the LSP and SRP objects are | Where: | |||
| also defined in [RFC8231]. | ||||
| * <path> is as per [RFC8231]. | ||||
| * The LSP and SRP objects are also defined in [RFC8231]. | ||||
| The error handling for missing CCI objects is as per [RFC9050]. | The error handling for missing CCI objects is as per [RFC9050]. | |||
| Furthermore, one, and only one, object among BPI, EPR or PPA object | Furthermore, one and only one BPI, EPR, or PPA object MUST be | |||
| MUST be present. | present. | |||
| If none of the BPI, EPR or PPA objects are present, the receiving PCE | If none of the BPI, EPR, or PPA objects are present, the receiving | |||
| MUST send a PCErr message with Error-type=6 (Mandatory Object | PCE MUST send a PCErr message with Error-Type=6 (Mandatory Object | |||
| missing) and Error-value=19 (Native IP object missing). If there are | missing) and Error-value=19 (Native IP object missing). If there is | |||
| more than one instance of BPI, EPR or PPA objects present, the | more than one BPI, EPR, or PPA object present, the receiving PCE MUST | |||
| receiving PCE MUST send a PCErr message with Error-type=19 (Invalid | send a PCErr message with Error-Type=19 (Invalid Operation) and | |||
| Operation) and Error-value=22 (Only one BPI, EPR or PPA object can be | Error-value=22 (Only one BPI, EPR, or PPA object can be included in | |||
| included in this message). | this message). | |||
| When the PCInitiate message is not used for Native IP instructions, | When the PCInitiate message is not used for Native IP instructions, | |||
| i.e. When CCI Object-Type is not equal to 2, the BPI, EPR and PPA | i.e., when the CCI Object-Type is not equal to 2, the BPI, EPR, and | |||
| objects SHOULD NOT be present. If present, they MUST be ignored by | PPA objects SHOULD NOT be present. If present, they MUST be ignored | |||
| the receiver. | by the receiver. | |||
| 6. PCECC Native IP TE Procedures | 6. PCECC Native IP TE Procedures | |||
| The detailed procedures for the TE in the native IP environment are | The detailed procedures for the TE in the Native IP environment are | |||
| described in the following sections. | described in the following sections. | |||
| 6.1. BGP Session Establishment Procedures | 6.1. BGP Session Establishment Procedures | |||
| The PCInitiate and PCRpt message pair is used to exchange the | The PCInitiate and PCRpt message pair is used to exchange the | |||
| configuration parameters for a BGP peer session. This pair of PCEP | configuration parameters for a BGP peer session. This pair of PCEP | |||
| messages are exchanged between a PCE and each BGP peer (acting as | messages are exchanged between a PCE and each BGP peer (acting as the | |||
| PCC) which needs to establish a BGP session. After the BGP peer | PCC), which needs to establish a BGP session. After the BGP peer | |||
| session has been initiated via this pair of PCEP messages, the BGP | session has been initiated via this pair of PCEP messages, the BGP | |||
| session establishes and operates in a normal fashion. The BGP peers | session establishes and operates in a normal fashion. The BGP peers | |||
| can be used for External BGP (EBGP) peers or Internal BGP (IBGP) | can be used for External BGP (EBGP) peers or Internal BGP (IBGP) | |||
| peers. For IBGP connection topologies, the Route Reflector (RR) is | peers. For IBGP connection topologies, the Route Reflector (RR) is | |||
| required. | required. | |||
| The PCInitiate message is sent to the BGP router and/or RR (which are | The PCInitiate message is sent to the BGP router and/or RR (which are | |||
| acting as PCC). | acting as the PCC). | |||
| The RR topology for a single Autonomous System (AS) is shown in | The RR topology for a single Autonomous System (AS) is shown in | |||
| Figure 1. The BGP routers R1, R3, and R7 are within a single AS. R1 | Figure 1. The BGP routers R1, R3, and R7 are within a single AS. R1 | |||
| and R7 are BGP RR clients, and R3 is a RR. The PCInitiate message is | and R7 are BGP RR clients, and R3 is an RR. The PCInitiate message | |||
| sent to the BGP routers R1, R3 and R7 that need to establish a BGP | is sent to the BGP routers R1, R3, and R7, which need to establish a | |||
| session. | BGP session. | |||
| PCInitiate message creates an auto-configuration function for these | PCInitiate message creates an autoconfiguration function for these | |||
| BGP peers by providing the indicated Peer AS and the Local/Peer IP | BGP peers by providing the indicated Peer AS and the Local/Peer IP | |||
| Address. | Address. | |||
| When the PCC receives the BPI and CCI object (with the R bit set to 0 | When the PCC receives the BPI and CCI objects (with the R bit set to | |||
| in the SRP object) in the PCInitiate message, the PCC SHOULD try to | 0 in the SRP object) in the PCInitiate message, the PCC SHOULD try to | |||
| establish the BGP session with the indicated Peer as per AS and | establish the BGP session with the indicated Peer as per the AS and | |||
| Local/Peer IP address. | Local/Peer IP Address. | |||
| During the establishment procedure, the PCC MUST report to the PCE | During the establishment procedure, the PCC MUST report the status of | |||
| the status of the BGP session via the PCRpt message, with the status | the BGP session to the PCE via the PCRpt message, with the status | |||
| field in the BPI object set to the appropriate value and the | field in the BPI object set to the appropriate value and the | |||
| corresponding SRP and CCI objects included. | corresponding SRP and CCI objects included. | |||
| When the PCC receives this message with the R bit set to 1 in the SRP | When the PCC receives this message with the R bit set to 1 in the SRP | |||
| object in the PCInitiate message, the PCC MUST clear the BGP | object in the PCInitiate message, the PCC MUST clear the BGP | |||
| configuration and tear down the BGP session that is indicated by the | configuration and tear down the BGP session that is indicated by the | |||
| BPI object. | BPI object. | |||
| When the PCC clears successfully the specified BGP session | When the PCC successfully clears the specified BGP session | |||
| configuration, it MUST report the result via the PCRpt message, with | configuration, it MUST report the result via the PCRpt message, with | |||
| the BPI object included, and the corresponding SRP and CCI objects. | the BPI object and the corresponding SRP and CCI objects included. | |||
| +------------------+ | +------------------+ | |||
| +-----------> PCE <----------+ | +-----------> PCE <----------+ | |||
| | +--------^---------+ | | | +--------^---------+ | | |||
| | | | | | | | | |||
| | PCInitiate/PCRpt | | | PCInitiate/PCRpt | | |||
| | | | | | | | | |||
| | +----v--+ | | | +----v--+ | | |||
| +---------------+ R3(RR)+-----------------+ | +---------------+ R3(RR)+-----------------+ | |||
| | +-------+ | | | +-------+ | | |||
| PCInitiate/PCRpt PCInitiate/PCRpt | PCInitiate/PCRpt PCInitiate/PCRpt | |||
| | | | | | | |||
| +v-+ +--+ +--+ +-v+ | +v-+ +--+ +--+ +-v+ | |||
| |R1+----------+R5+----------+R6+---------+R7| | |R1+----------+R5+----------+R6+---------+R7| | |||
| ++-+ +-++ +--+ +-++ | ++-+ +-++ +--+ +-++ | |||
| | | | | | | | | |||
| | +--+ +--+ | | | +--+ +--+ | | |||
| +------------+R2+----------+R4+-----------+ | +------------+R2+----------+R4+-----------+ | |||
| +--+ +--+ | +--+ +--+ | |||
| Figure 1: BGP Session Establishment Procedures(R3 act as RR) | ||||
| The message peers, message type, message key parameters and | Figure 1: BGP Session Establishment Procedures (R3 acts as the RR) | |||
| procedures in the above figures are shown below: | ||||
| The message peers, message types, message key parameters, and | ||||
| procedures in the above figure are shown below: | ||||
| +-------+ +-------+ | +-------+ +-------+ | |||
| |PCC | | PCE | | |PCC | | PCE | | |||
| |R1 | +-------+ | |R1 | +-------+ | |||
| +------| | | | +------| | | | |||
| | PCC +-------+ | | | PCC +-------+ | | |||
| | R3 | | (For R1/R3 BGP Session on R1) | | | R3 | | (For R1/R3 BGP Session on R1) | | |||
| +------| | |<-PCInitiate,CC-ID=X,Symbolic Path Name=Class A-| | +------| | |<-PCInitiate,CC-ID=X,Symbolic Path Name=Class A-| | |||
| | | | |BPI Object(Peer AS, Local_IP=R1_A, Peer_IP=R3_A)| | | | | |BPI Object(Peer AS, Local_IP=R1_A, Peer_IP=R3_A)| | |||
| |PCC +--------+ | | | |PCC +--------+ | | | |||
| skipping to change at page 11, line 35 ¶ | skipping to change at line 490 ¶ | |||
| | | BPI Object(Peer AS, Local_IP=R3_A, Peer_IP=R7_A) | | | | BPI Object(Peer AS, Local_IP=R3_A, Peer_IP=R7_A) | | |||
| | |----PCRpt,CC-ID=Y2,Symbolic Path Name=Class A-------->| | | |----PCRpt,CC-ID=Y2,Symbolic Path Name=Class A-------->| | |||
| | | BPI Object(Peer AS, Local_IP=R3_A, Peer_IP=R7_A) | | | | BPI Object(Peer AS, Local_IP=R3_A, Peer_IP=R7_A) | | |||
| | | | | | | |||
| | (For R3/R7 BGP Session on R7) | | | (For R3/R7 BGP Session on R7) | | |||
| |<--PCInitiate,CC-ID=Z,Symbolic Path Name=Class A--------------| | |<--PCInitiate,CC-ID=Z,Symbolic Path Name=Class A--------------| | |||
| | BPI Object(Peer AS, Local_IP=R7_A, Peer_IP=R3_A) | | | BPI Object(Peer AS, Local_IP=R7_A, Peer_IP=R3_A) | | |||
| |---PCRpt,CC-ID=Z,Symbolic Path Name=Class A------------------>| | |---PCRpt,CC-ID=Z,Symbolic Path Name=Class A------------------>| | |||
| | BPI Object(Peer AS, Local_IP=R7_A, Peer_IP=R3_A) | | | BPI Object(Peer AS, Local_IP=R7_A, Peer_IP=R3_A) | | |||
| Figure 2: Message Information and Procedures | Figure 2: Message Information and Procedures | |||
| The Local/Peer IP address MUST be dedicated to the usage of the | The Local/Peer IP Address MUST be dedicated to the usage of the | |||
| native IP TE solution, and MUST NOT be used by other BGP sessions | Native IP TE solution and MUST NOT be used by other BGP sessions that | |||
| that are established manually or in other ways. If the Local IP | are established manually or in other ways. If the Local IP Address | |||
| Address or Peer IP Address within the BPI object is used in other | or Peer IP Address within the BPI object is used in other existing | |||
| existing BGP sessions, the PCC MUST report such an error situation | BGP sessions, the PCC MUST report such an error situation via a PCErr | |||
| via a PCErr message with: | message with: | |||
| Error-type=33 (Native IP TE failure) and Error-value=1 (Local IP | * Error-Type=33 (Native IP TE failure) and Error-value=1 (Local IP | |||
| is in use), or | is in use) or | |||
| Error-type=33 (Native IP TE failure )and Error-value=2 (Remote IP | * Error-Type=33 (Native IP TE failure) and Error-value=2 (Remote IP | |||
| is in use). | is in use). | |||
| The detailed Error-Types and Error-Values are defined in Section 8 | The detailed Error-Types and Error-values are defined in Section 8. | |||
| If the established BGP session is broken, the PCC MUST report such | If the established BGP session is broken, the PCC MUST report such | |||
| information via PCRpt message with the status field set to "BGP | information via a PCRpt message with the status field set to "BGP | |||
| session down" in the associated BPI Object. The error code field | session down" in the associated BPI object. The error code field | |||
| within the BPI object SHOULD indicate the reason that leads to the | within the BPI object SHOULD indicate the reason that leads to the | |||
| BGP session being down. In the future, when the BGP session is up | BGP session being down. In the future, when the BGP session is up | |||
| again, the PCC MUST report that as well via the PCRpt message with | again, the PCC MUST report that as well via the PCRpt message with | |||
| the status field set to "BGP Session Established". | the status field set to "BGP Session Established". | |||
| 6.2. Explicit Route Establishment Procedures | 6.2. Explicit Route Establishment Procedures | |||
| The explicit route establishment procedures can be used by PCE to | The explicit route establishment procedures can be used by a PCE to | |||
| install a route on the PCC, using the PCInitiate and PCRpt message | install a route on the PCC, using the PCInitiate and PCRpt message | |||
| pair. Such explicit routes operate the same as static routes | pair. Such explicit routes operate the same as static routes | |||
| installed by network management protocols (Network Configuration | installed by network management protocols (e.g., Network | |||
| Protocol (NETCONF)/YANG). The procedures of such explicit route | Configuration Protocol (NETCONF) / YANG). The procedures of such | |||
| addition and removal MUST be controlled by the PCE in a specific | explicit route addition and removal MUST be controlled by the PCE in | |||
| order so that the pathways are established without loops. | a specific order so that the pathways are established without loops. | |||
| For the purpose of explicit route addition, the PCInitiate message | For the purpose of explicit route addition, the PCInitiate message | |||
| ought to be sent to every router on the explicit path. In the | ought to be sent to every router on the explicit path. In the | |||
| example, for the explicit route from R1 to R7, the PCInitiate message | example, for the explicit route from R1 to R7, the PCInitiate message | |||
| is sent to R1, R2 and R4, as shown in Figure 3. For the explicit | is sent to R1, R2, and R4, as shown in Figure 3. For the explicit | |||
| route from R7 to R1, the PCInitiate message is sent to R7, R4 and R2, | route from R7 to R1, the PCInitiate message is sent to R7, R4, and | |||
| as shown in Figure 5. | R2, as shown in Figure 5. | |||
| When the PCC receives the EPR and the CCI object (with the R bit set | When the PCC receives the EPR and the CCI object (with the R bit set | |||
| to 0 in the SRP object) in the PCInitiate message, the PCC SHOULD | to 0 in the SRP object) in the PCInitiate message, the PCC SHOULD | |||
| install the explicit route to the peer in the RIB/FIB. | install the explicit route to the peer in the RIB/FIB. | |||
| When the PCC installs successfully the explicit route to the peer, it | When the PCC successfully installs the explicit route to the peer, it | |||
| MUST report the result via the PCRpt messages, with the EPR object | MUST report the result via the PCRpt message, with the EPR object and | |||
| and the corresponding SRP and CCI objects included. | the corresponding SRP and CCI objects included. | |||
| When the PCC receives the EPR and the CCI object with the R bit set | When the PCC receives the EPR and the CCI object with the R bit set | |||
| to 1 in the SRP object in the PCInitiate message, the PCC MUST remove | to 1 in the SRP object in the PCInitiate message, the PCC MUST remove | |||
| the explicit route to the peer that is indicated by the EPR object. | the explicit route to the peer that is indicated by the EPR object. | |||
| When the PCC has removed the explicit route that is indicated by this | When the PCC has removed the explicit route that is indicated by this | |||
| object, it MUST report the result via the PCRpt message, with the EPR | object, it MUST report the result via the PCRpt message, with the EPR | |||
| object included, and the corresponding SRP and CCI object. | object and the corresponding SRP and CCI objects included. | |||
| +------------------+ | +------------------+ | |||
| +----------> PCE + | +----------> PCE + | |||
| | +----^-----------^-+ | | +----^-----------^-+ | |||
| | | | | | | | | |||
| | | | | | | | | |||
| | | +------+ | | | | +------+ | | |||
| +---------------|-+R3(RR)+--|-------------+ | +---------------|-+R3(RR)+--|-------------+ | |||
| PCInitiate/PCRpt | +------+ | | | PCInitiate/PCRpt | +------+ | | | |||
| | | | | | | | | | | |||
| +v-+ +--+ | | +--+ +--+ | +v-+ +--+ | | +--+ +--+ | |||
| |R1+------+R5+---+-----------|---+R6+----+R7| | |R1+------+R5+---+-----------|---+R6+----+R7| | |||
| ++-+ +--+ | | +--+ +-++ | ++-+ +--+ | | +--+ +-++ | |||
| | PCInitiate/PCRpt PCInitiate/PCRpt | | | PCInitiate/PCRpt PCInitiate/PCRpt | | |||
| | | | | | | | | | | |||
| | +--v--+ +--v-+ | | | +--v--+ +--v-+ | | |||
| +------------+- R2 +-----+ R4 +-----------+ | +------------+- R2 +-----+ R4 +-----------+ | |||
| +--+--+ +--+-+ | +--+--+ +--+-+ | |||
| Figure 3: Explicit Route Establish Procedures(From R1 to R7) | ||||
| The message peers, message type, message key parameters and | Figure 3: Explicit Route Establish Procedures (from R1 to R7) | |||
| procedures in the above figures are shown below: | ||||
| The message peers, message types, message key parameters, and | ||||
| procedures in the above figure are shown below: | ||||
| +-------+ +-------+ | +-------+ +-------+ | |||
| |PCC | | PCE | | |PCC | | PCE | | |||
| |R4 | +-------+ | |R4 | +-------+ | |||
| +------| | | | +------| | | | |||
| | PCC +-------+ | | | PCC +-------+ | | |||
| | R2 | | (EPR route on R4) | | | R2 | | (EPR route on R4) | | |||
| +------| | |<-PCInitiate,CC-ID=Z,Symbolic Path Name=Class A| | +------| | |<-PCInitiate,CC-ID=Z,Symbolic Path Name=Class A| | |||
| | | | | EPR Object(Peer Address=R7_A, Next Hop=R7_A)| | | | | | EPR Object(Peer Address=R7_A, Next Hop=R7_A)| | |||
| |PCC +--------+ | | | |PCC +--------+ | | | |||
| skipping to change at page 13, line 52 ¶ | skipping to change at line 596 ¶ | |||
| | |----PCRpt,CC-ID=Y,Symbolic Path Name=Class A-------->| | | |----PCRpt,CC-ID=Y,Symbolic Path Name=Class A-------->| | |||
| | | EPR Object(Peer Address=R7_A, Next Hop=R4_A) | | | | EPR Object(Peer Address=R7_A, Next Hop=R4_A) | | |||
| | | | | | | | | |||
| | | | | | | |||
| | (EPR route on R1) | | | (EPR route on R1) | | |||
| |<--PCInitiate,CC-ID=X,Symbolic Path Name=Class A-------------| | |<--PCInitiate,CC-ID=X,Symbolic Path Name=Class A-------------| | |||
| | EPR Object(Peer Address=R7_A, Next Hop=R2_A) | | | EPR Object(Peer Address=R7_A, Next Hop=R2_A) | | |||
| |---PCRpt,CC-ID=X1(Symbolic Path Name=Class A)--------------->| | |---PCRpt,CC-ID=X1(Symbolic Path Name=Class A)--------------->| | |||
| | EPR Object(Peer Address=R7_A, Next Hop=R2_A) | | | EPR Object(Peer Address=R7_A, Next Hop=R2_A) | | |||
| Figure 4: Message Information and Procedures | Figure 4: Message Information and Procedures | |||
| +------------------+ | +------------------+ | |||
| + PCE <-----------+ | + PCE <-----------+ | |||
| +----^-----------^-+ | | +----^-----------^-+ | | |||
| | | | | | | | | |||
| | | | | | | | | |||
| | +------+ | | | | +------+ | | | |||
| +-----------------+R3(RR)+--|-------------+ | +-----------------+R3(RR)+--|-------------+ | |||
| | | +------+ | PCInitiate/PCRpt | | | +------+ | PCInitiate/PCRpt | |||
| | | | | | | | | | | |||
| +--+ +--+ | | +--+ +-v+ | +--+ +--+ | | +--+ +-v+ | |||
| |R1+------+R5+---+-----------|---+R6+----+R7| | |R1+------+R5+---+-----------|---+R6+----+R7| | |||
| ++-+ +--+ | | +--+ +-++ | ++-+ +--+ | | +--+ +-++ | |||
| | PCInitiate/PCRpt PCInitiate/PCRpt | | | PCInitiate/PCRpt PCInitiate/PCRpt | | |||
| | | | | | | | | | | |||
| | +--v--+ +--v-+ | | | +--v--+ +--v-+ | | |||
| +------------+- R2 +-----+ R4 +-----------+ | +------------+- R2 +-----+ R4 +-----------+ | |||
| +--+--+ +--+-+ | +--+--+ +--+-+ | |||
| Figure 5: Explicit Route Establish Procedures(From R7 to R1) | ||||
| The message peers, message type, message key parameters and | Figure 5: Explicit Route Establish Procedures (from R7 to R1) | |||
| procedures in the above figures are shown below: | ||||
| The message peers, message types, message key parameters, and | ||||
| procedures in the above figure are shown below: | ||||
| +-------+ +-------+ | +-------+ +-------+ | |||
| |PCC | | PCE | | |PCC | | PCE | | |||
| |R2 | +-------+ | |R2 | +-------+ | |||
| +------| | | | +------| | | | |||
| | PCC +-------+ | | | PCC +-------+ | | |||
| | R4 | | (EPR route on R2) | | | R4 | | (EPR route on R2) | | |||
| +------| | |<-PCInitiate,CC-ID=X,Symbolic Path Name=Class A| | +------| | |<-PCInitiate,CC-ID=X,Symbolic Path Name=Class A| | |||
| | | | | EPR Object(Peer Address=R1_A, Next Hop=R1_A) | | | | | | EPR Object(Peer Address=R1_A, Next Hop=R1_A) | | |||
| |PCC +--------+ | | | |PCC +--------+ | | | |||
| skipping to change at page 14, line 51 ¶ | skipping to change at line 646 ¶ | |||
| | |----PCRpt,CC-ID=Y,Symbolic Path Name=Class A-------->| | | |----PCRpt,CC-ID=Y,Symbolic Path Name=Class A-------->| | |||
| | | EPR Object(Peer Address=R1_A, Next Hop=R2_A) | | | | EPR Object(Peer Address=R1_A, Next Hop=R2_A) | | |||
| | | | | | | | | |||
| | | | | | | |||
| | (EPR route on R7) | | | (EPR route on R7) | | |||
| |<--PCInitiate,CC-ID=Z,Symbolic Path Name=Class A-------------| | |<--PCInitiate,CC-ID=Z,Symbolic Path Name=Class A-------------| | |||
| | EPR Object(Peer Address=R1_A, Next Hop=R4_A) | | | EPR Object(Peer Address=R1_A, Next Hop=R4_A) | | |||
| |---PCRpt,CC-ID=Z,Symbolic Path Name=Class A----------------->| | |---PCRpt,CC-ID=Z,Symbolic Path Name=Class A----------------->| | |||
| | EPR Object(Peer Address=R1_A, Next Hop=R4_A) | | | EPR Object(Peer Address=R1_A, Next Hop=R4_A) | | |||
| Figure 6: Explicit Route Establish Procedures(From R7 to R1) | Figure 6: Explicit Route Establish Procedures (from R7 to R1) | |||
| To avoid the transient loop while deploying the explicit peer route, | To avoid the transient loop while deploying the explicit peer route, | |||
| the EPR object MUST be sent to the PCCs in the reverse order of the | the EPR object MUST be sent to the PCCs in the reverse order of the | |||
| E2E path. To remove the explicit peer route, the EPR object MUST be | E2E path. To remove the explicit peer route, the EPR object MUST be | |||
| sent to the PCCs in the same order as the E2E path. | sent to the PCCs in the same order as the E2E path. | |||
| To accomplish ECMP effects, the PCE can send multiple EPR/CCI objects | To accomplish ECMP effects, the PCE can send multiple EPR/CCI objects | |||
| to the same node, with the same route priority and peer address value | to the same node, with the same route priority and peer address value | |||
| but a different next-hop address. | but a different next-hop address. | |||
| The PCC MUST verify that the next hop address is reachable. In case | The PCC MUST verify that the next-hop address is reachable. In case | |||
| of failure, the PCC MUST send the corresponding error via PCErr | of failure, the PCC MUST send the corresponding error via a PCErr | |||
| message, with the error information: Error-type=33 (Native IP TE | message, with the error information: Error-Type=33 (Native IP TE | |||
| failure), Error-value=3 (Explicit Peer Route Error). | failure) and Error-value=3 (Explicit Peer Route Error). | |||
| When the peer info is not the same as the peer info that is indicated | When the peer info is not the same as the peer info that is indicated | |||
| in the BPI object in PCC for the same path that is identified by | in the BPI object in the PCC for the same path that is identified by | |||
| Symbolic Path Name TLV, a PCErr message MUST be reported, with the | Symbolic Path Name TLV, a PCErr message MUST be reported, with the | |||
| error information: Error-type=33 (Native IP TE failure), Error- | error information Error-Type=33 (Native IP TE failure) and Error- | |||
| value=4, EPR/BPI Peer Info Mismatch. Note that the same error can be | value=4 (EPR/BPI Peer Info mismatch). Note that the same error can | |||
| used in case no BPI is received at the PCC. | be used in case no BPI is received at the PCC. | |||
| If the PCE needs to update the path, it MUST first instruct the new | If the PCE needs to update the path, it MUST first instruct the new | |||
| CCI with updated EPR corresponding to the new next hop to use and | CCI with the updated EPR corresponding to the new next hop to use and | |||
| then instruct the removal of the older CCI. | then instruct the removal of the older CCI. | |||
| 6.3. BGP Prefix Advertisement Procedures | 6.3. BGP Prefix Advertisement Procedures | |||
| The detailed procedures for BGP prefix advertisement are shown below, | The detailed procedures for BGP prefix advertisement are shown below, | |||
| using the PCInitiate and PCRpt message pair. | using the PCInitiate and PCRpt message pair. | |||
| The PCInitiate message SHOULD be sent to PCC that acts as a BGP peer | The PCInitiate message SHOULD be sent to the PCC that acts as a BGP | |||
| edge router only. In the example, it is sent to R1 and R7 | peer edge router only. In the example, it is sent to R1 and R7, | |||
| respectively. | respectively. | |||
| When the PCC receives the PPA and the CCI object (with the R bit set | When the PCC receives the PPA and the CCI object (with the R bit set | |||
| to 0 in the SRP object) in the PCInitiate message, the PCC SHOULD | to 0 in the SRP object) in the PCInitiate message, the PCC SHOULD | |||
| send the prefixes indicated in this object to the identified BGP peer | send the prefixes indicated in this object to the identified BGP peer | |||
| via the corresponding BGP session [RFC4271]. | via the corresponding BGP session [RFC4271]. | |||
| When the PCC has successfully sent the prefixes to the appointed BGP | When the PCC has successfully sent the prefixes to the appointed BGP | |||
| peer, it MUST report the result via the PCRpt messages, with the PPA | peer, it MUST report the result via the PCRpt messages, with the PPA | |||
| object and the corresponding SRP and CCI objects included. | object and the corresponding SRP and CCI objects included. | |||
| When the PCC receives the PPA and the CCI object with the R bit set | When the PCC receives the PPA and the CCI object with the R bit set | |||
| to 1 in the SRP object in the PCInitiate message, the PCC MUST | to 1 in the SRP object in the PCInitiate message, the PCC MUST | |||
| withdraw the prefixes advertisement to the peer indicated by this | withdraw the prefix advertisement to the peer indicated by this | |||
| object. | object. | |||
| When the PCC withdraws successfully the prefixes that are indicated | When the PCC successfully withdraws the prefixes that are indicated | |||
| by this object, it MUST report the result via the PCRpt message, with | by this object, it MUST report the result via the PCRpt message, with | |||
| the PPA object included, and the corresponding SRP and CCI objects. | the PPA object and the corresponding SRP and CCI objects included. | |||
| +------------------+ | +------------------+ | |||
| +----------> PCE <-----------+ | +----------> PCE <-----------+ | |||
| | +------------------+ | | | +------------------+ | | |||
| | +--+ | | | +--+ | | |||
| +------------------+R3+-------------------+ | +------------------+R3+-------------------+ | |||
| PCInitiate/PCRpt +--+ PCInitiate/PCRpt | PCInitiate/PCRpt +--+ PCInitiate/PCRpt | |||
| | | | | | | |||
| +v-+ +--+ +--+ +-v+ | +v-+ +--+ +--+ +-v+ | |||
| |R1+----------+R5+----------+R6+---------+R7| | |R1+----------+R5+----------+R6+---------+R7| | |||
| ++-+ +--+ +--+ +-++ | ++-+ +--+ +--+ +-++ | |||
| (BGP Router) (BGP Router) | (BGP Router) (BGP Router) | |||
| | | | | | | |||
| | | | | | | |||
| | +--+ +--+ | | | +--+ +--+ | | |||
| +------------+R2+----------+R4+-----------+ | +------------+R2+----------+R4+-----------+ | |||
| +--+ +--+ | +--+ +--+ | |||
| Figure 7: BGP Prefix Advertisement Procedures | ||||
| The message peers, message type, message key parameters and | Figure 7: BGP Prefix Advertisement Procedures | |||
| procedures in the above figures are shown below: | ||||
| +-------+ +-------+ | The message peers, message types, message key parameters, and | |||
| |PCC | | PCE | | procedures in the above figure are shown below: | |||
| |R1 | +-------+ | ||||
| +------| | | | ||||
| | PCC +-------+ | | ||||
| | R7 | | (Instruct R1 to advertise Prefix 1_A to R7) | | ||||
| | | |<-PCInitiate,CC-ID=X,Symbolic Path Name=Class A| | ||||
| | | | PPA Object(Peer IP=R7_A, Prefix=1_A) | | ||||
| +--------+ | | | ||||
| | |----PCRpt,CC-ID=X,Symbolic Path Name=Class A-->| | ||||
| | | PPA Object(Peer IP=R7_A, Prefix=1_A) | | ||||
| | | | ||||
| | (Instruct R7 to advertise Prefix 7_A to R1 ) | | ||||
| |<--PCInitiate,CC-ID=Z,Symbolic Path Name=Class A-----| | ||||
| | PPA Object(Peer IP=R1_A, Prefix=7_A) | | ||||
| |----PCRpt,CC-ID=Z,Symbolic Path Name=Class A-------->| | ||||
| | PPA Object(Peer IP=R1_A, Prefix=7_A) | | ||||
| | | | ||||
| Figure 8: Message Information and Procedures | +-------+ +-------+ | |||
| |PCC | | PCE | | ||||
| |R1 | +-------+ | ||||
| +------| | | | ||||
| | PCC +-------+ | | ||||
| | R7 | | (Instruct R1 to advertise Prefix 1_A to R7) | | ||||
| | | |<-PCInitiate,CC-ID=X,Symbolic Path Name=Class A| | ||||
| | | | PPA Object(Peer IP=R7_A, Prefix=1_A) | | ||||
| +--------+ | | | ||||
| | |----PCRpt,CC-ID=X,Symbolic Path Name=Class A-->| | ||||
| | | PPA Object(Peer IP=R7_A, Prefix=1_A) | | ||||
| | | | ||||
| | (Instruct R7 to advertise Prefix 7_A to R1 ) | | ||||
| |<--PCInitiate,CC-ID=Z,Symbolic Path Name=Class A-----| | ||||
| | PPA Object(Peer IP=R1_A, Prefix=7_A) | | ||||
| |----PCRpt,CC-ID=Z,Symbolic Path Name=Class A-------->| | ||||
| | PPA Object(Peer IP=R1_A, Prefix=7_A) | | ||||
| | | | ||||
| Figure 8: Message Information and Procedures | ||||
| The AFI/SAFI for the corresponding BGP session SHOULD match the Peer | The AFI/SAFI for the corresponding BGP session SHOULD match the Peer | |||
| Prefix Advertisement Object-Type, AFI/SAFI SHOULD be 1/1 for the IPv4 | Prefix Advertisement Object-Type, i.e., AFI/SAFI SHOULD be 1/1 for | |||
| prefix and 2/1 for the IPv6 prefix. In case of mismatch, an error: | the IPv4 prefix and 2/1 for the IPv6 prefix. In case of mismatch, an | |||
| Error-type=33 (Native IP TE failure), Error-value=5 (BPI/PPA address | error, i.e., Error-Type=33 (Native IP TE failure) and Error-value=5 | |||
| family mismatch) MUST be reported via PCErr message. | (BPI/PPA Address Family mismatch), MUST be reported via the PCErr | |||
| message. | ||||
| When the peer info is not the same as the peer info that is indicated | When the peer info is not the same as the peer info that is indicated | |||
| in the BPI object in PCC for the same path that is identified by | in the BPI object in the PCC for the same path that is identified by | |||
| Symbolic Path Name TLV, an error: Error-type=33 (Native IP TE | Symbolic Path Name TLV, an error, i.e., Error-Type=33 (Native IP TE | |||
| failure), Error-value=6 (PPA/BPI peer info mismatch) MUST be reported | failure) and Error-value=6 (PPA/BPI Peer Info mismatch), MUST be | |||
| via the PCErr message. Note that the same error can be used in case | reported via the PCErr message. Note that the same error can be used | |||
| no BPI is received at the PCC. | in case no BPI is received at the PCC. | |||
| 6.4. Selection of Raw Mode and Tunnel Mode Forwarding Strategy | 6.4. Selection of the Raw Mode and Tunnel Mode Forwarding Strategy | |||
| Normally, when the above procedures are finished, the user traffic | Normally, when the above procedures are finished, the user traffic | |||
| will be forwarded via the appointed path, but the forwarding will be | will be forwarded via the appointed path, but the forwarding will be | |||
| based solely on the destination of user traffic. If there is traffic | based solely on the destination of user traffic. If traffic is | |||
| from different attached points to the same destination coming into | coming into the network from different attached points but to the | |||
| the network, they could share the priority path which may not be the | same destination, they could share the priority path, which may not | |||
| initial desire. For example, as illustrated in Figure 1, the initial | be the initial desire. For example, as illustrated in Figure 1, the | |||
| aim is to ensure traffic that enters the network via R1 and exits the | initial aim is to ensure that traffic enters the network via R1 and | |||
| network at R7 via R5-R6-R7. If some traffic enters the network via | exits the network at R7 via R5-R6-R7. If some traffic enters the | |||
| the R2 router, passes through R5 and exits at R7, they may share the | network via the R2 router, passes through R5, and exits at R7, they | |||
| priority path among R5-R6-R7, which may not be the desired effect. | may share the priority path among R5-R6-R7, which may not be the | |||
| desired effect. | ||||
| The above normal traffic forwarding behavior is clarified as a Raw | The above normal traffic forwarding behavior is clarified as a Raw | |||
| mode forwarding strategy. Such a mode can achieve only the moderate | mode forwarding strategy. Such a mode can only achieve the moderate | |||
| traffic path control effect. To achieve the strict traffic path | traffic path control effect. To achieve the strict traffic path | |||
| control effect, the entry point MUST tunnel the user traffic from the | control effect, the entry point MUST tunnel the user traffic from the | |||
| entry point of the network to the exit point of the network, which is | entry point of the network to the exit point of the network, which is | |||
| also between the BGP peer established via Section 6.1. Such | also between the BGP peer established via Section 6.1. Such | |||
| forwarding behavior is called the Tunnel mode forwarding strategy. | forwarding behavior is called the Tunnel mode forwarding strategy. | |||
| For simplicity, the IPinIP tunnel type [RFC2003] is used between the | For simplicity, the IP-in-IP tunnel type [RFC2003] is used between | |||
| BGP peers by default. | the BGP peers by default. | |||
| The selection of Raw mode and Tunnel mode forwarding strategies are | The selection of Raw mode and Tunnel mode forwarding strategies are | |||
| controlled via the "T" bit in BPI Object that is defined in | controlled via the T bit in the BPI object, which is defined in | |||
| Section 7.2 | Section 7.2 | |||
| 6.5. Clean Up | 6.5. Cleanup | |||
| To remove the Native-IP state from the PCC, the PCE MUST send | To remove the Native IP state from the PCC, the PCE MUST send | |||
| explicit CCI cleanup instructions for PPA, EPR and BPI objects | explicit CCI cleanup instructions for PPA, EPR, and BPI objects, | |||
| respectively with the R flag set in the SRP object. If the PCC | respectively, with the R bit set in the SRP object. If the PCC | |||
| receives a PCInitiate message but does not recognize the Native-IP | receives a PCInitiate message but does not recognize the Native IP | |||
| information in the CCI, the PCC MUST generate a PCErr message with | information in the CCI, the PCC MUST generate a PCErr message with | |||
| Error-Type=19 (Invalid operation) and Error-value=30 (Unknown Native- | Error-Type=19 (Invalid Operation) and Error-value=30 (Unknown Native | |||
| IP Info) and MUST include the SRP object to specify the error is for | IP Info) and MUST include the SRP object to specify the error is for | |||
| the corresponding cleanup (via a PCInitiate message). | the corresponding cleanup (via a PCInitiate message). | |||
| 6.6. Other Procedures | 6.6. Other Procedures | |||
| The handling of the state synchronization, redundant PCEs, re- | The handling of the State Synchronization, redundant PCEs, | |||
| delegation and clean up is the same as other CCIs as specified in | redelegation, and cleanup is the same as other CCIs as specified in | |||
| [RFC9050]. | [RFC9050]. | |||
| 7. New PCEP Objects | 7. New PCEP Objects | |||
| One new CCI Object type and three new PCEP objects are defined in | One new CCI Object-Type and three new PCEP objects are defined in | |||
| this document. All new PCEP objects are as per [RFC5440]. | this document. All new PCEP objects are as per [RFC5440]. | |||
| 7.1. CCI Object | 7.1. CCI Object | |||
| The Central Control Instructions (CCI) Object (defined in [RFC9050]) | The Central Control Instructions (CCI) Object (defined in [RFC9050]) | |||
| is used by the PCE to specify the forwarding instructions. This | is used by the PCE to specify the forwarding instructions. This | |||
| document defines another object type for Native-IP procedures. | document defines another Object-Type for Native IP procedures. | |||
| CCI Object-Type is 2 for Native-IP as below: | The CCI Object-Type is 2 for Native IP, 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CC-ID | | | CC-ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved | Flags | | | Reserved | Flags | | |||
| +---------------------------------------------------------------+ | +---------------------------------------------------------------+ | |||
| | | | | | | |||
| // Optional TLVs // | // Optional TLVs // | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 9: CCI Object for Native IP | Figure 9: CCI Object for Native IP | |||
| The field CC-ID is as described in [RFC9050]. The following fields | The CC-ID field is as described in [RFC9050]. The following fields | |||
| are defined for CCI Object-Type 2 | are defined for CCI Object-Type 2. | |||
| Reserved: 2 bytes, is set to zero while sending and ignored on | Reserved: 2 bytes. Set to zero while sending and ignored on | |||
| receipt. | receipt. | |||
| Flags: 2 bytes, is used to carry any additional information about | Flags: 2 bytes. Used to carry any additional information about the | |||
| the Native-IP CCI. Currently, no flag bits are defined. | Native IP CCI. Currently, no flag bits are defined. Unassigned | |||
| Unassigned flags are set to zero while sending and ignored on | flags are set to zero while sending and ignored on receipt. | |||
| receipt. | ||||
| Optional TLVs may be included within the CCI object body. The | Optional TLVs may be included within the CCI object body. The | |||
| Symbolic Path Name TLV [RFC8231] MUST be included in the CCI Object- | Symbolic Path Name TLV [RFC8231] MUST be included in the CCI Object- | |||
| Type 2 to identify the E2E TE path in the Native IP environment. | Type 2 to identify the E2E TE path in the Native IP environment. | |||
| 7.2. BGP Peer Info Object | 7.2. BGP Peer Info Object | |||
| The BGP Peer Info object is used to specify the information about the | The BGP Peer Info (BPI) object is used to specify the information | |||
| peer with which the PCC want to establish the BGP session. This | about the peer with which the PCC wants to establish the BGP session. | |||
| object is included and sent to the source and destination router of | This object is included and sent to the source and destination router | |||
| the E2E path in case there is no Route Reflection (RR) involved. If | of the E2E path in case there is no Route Reflection (RR) involved. | |||
| the RR is used between the source and destination routers, then such | If the RR is used between the source and destination routers, then | |||
| information is sent to the source router, RR and destination router | such information is sent to the source router, RR, and destination | |||
| respectively. | router, respectively. | |||
| By default, the Local/Peer IP address MUST be a unicast address and | By default, the Local/Peer IP Address MUST be a unicast address and | |||
| dedicated to the usage of the native IP TE solution, and MUST NOT be | dedicated to the usage of the Native IP TE solution and MUST NOT be | |||
| used by other BGP sessions that are established by manual or other | used by other BGP sessions that are established by manual or other | |||
| configuration mechanisms. | configuration mechanisms. | |||
| BGP Peer Info Object-Class is 46 | The BGP Peer Info Object-Class is 46. | |||
| BGP Peer Info Object-Type is 1 for IPv4 and 2 for IPv6 | The BGP Peer Info Object-Type is 1 for IPv4 and 2 for IPv6. | |||
| The format of the BGP Peer Info object body for IPv4 (Object-Type=1) | The format of the BGP Peer Info object body for IPv4 (Object-Type=1) | |||
| is as follows: | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Peer AS Number | | | Peer AS Number | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | ETTL | Status | Error Code | Flag |T| | | ETTL | Status | Error Code | Flag |T| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Local IP Address | | | Local IP Address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Peer IP Address | | | Peer IP Address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // Optional TLVs // | // Optional TLVs // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 10: BGP Peer Info Object Body Format for IPv4 | ||||
| Figure 10: BGP Peer Info Object Body Format for IPv4 | ||||
| The format of the BGP Peer Info object body for IPv6 (Object-Type=2) | The format of the BGP Peer Info object body for IPv6 (Object-Type=2) | |||
| is as follows: | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Peer AS Number | | | Peer AS Number | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | ETTL | Status | Error Code | Flag |T| | | ETTL | Status | Error Code | Flag |T| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| | Local IP Address (16 bytes) | | | Local IP Address (16 bytes) | | |||
| | | | | | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| | Peer IP Address (16 bytes) | | | Peer IP Address (16 bytes) | | |||
| | | | | | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // Optional TLVs // | // Optional TLVs // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 11: BGP Peer Info Object Body Format for IPv6 | ||||
| Peer AS Number: 4 bytes, to indicate the AS number of Remote Peer. | Figure 11: BGP Peer Info Object Body Format for IPv6 | |||
| Note that if 2-byte AS numbers are in use, the low-order bits (16 | ||||
| through 31) is used, and the high-order bits (0 through 15) is set | ||||
| to zero. | ||||
| ETTL: 1 byte, EBGP Time To Live, to indicate the multi-hop count | Peer AS Number: 4 bytes. Indicates the AS number of the Remote | |||
| for the EBGP session. It should be 0 and ignored when Local AS | Peer. Note that if 2-byte AS numbers are in use, the low-order | |||
| and Peer AS are the same. | bits (16 through 31) are used, and the high-order bits (0 through | |||
| 15) are set to zero. | ||||
| Status: 1 byte, Indicate BGP session status between the peers. | ETTL: 1 byte. EBGP Time To Live. Indicates the multi-hop count for | |||
| the EBGP session. It should be 0 and ignored when Local AS and | ||||
| Peer AS are the same. | ||||
| Status: 1 byte. Indicates the BGP session status between the peers. | ||||
| Its values are defined below: | Its values are defined below: | |||
| - 0: Reserved | 0: Reserved | |||
| - 1: BGP Session Established | 1: BGP Session Established | |||
| - 2: BGP Session Establishment In Progress | 2: BGP Session Establishment In Progress | |||
| - 3: BGP Session Down | 3: BGP Session Down | |||
| - 4-255: Reserved | 4-255: Reserved | |||
| Error Code: 1 byte, Indicate the reason that the BGP session can't | Error Code: 1 byte. Indicates the reason that the BGP session can't | |||
| be established. | be established. | |||
| - 0: Unspecific | 0: Unspecific | |||
| - 1: ASes do not match, BGP Session Failure | ||||
| - 2: Peer IP can't be reached, BGP Session Failure | 1: ASes do not match, BGP Session Failure | |||
| - 3-255: Reserved | 2: Peer IP can't be reached, BGP Session Failure | |||
| Flag: 1 byte. | 3-255: Reserved | |||
| - Currently, only bit 7 (T bit) is defined. When the T bit is | Flag: 1 byte. | |||
| set, the traffic SHOULD be sent in the IPinIP tunnel (Tunnel | ||||
| source is Local IP Address, tunnel destination is Peer IP | ||||
| Address). When the T bit is cleared, the traffic is sent via | ||||
| its original source and destination address. The Tunnel mode(T | ||||
| bit is set) is used when the operator wants to ensure only the | ||||
| traffic from the specified (entry, exit) pair, and the Raw mode | ||||
| (T bit is clear) is used when the operator wants to ensure | ||||
| traffic from any entry to the specified destination. | ||||
| Unassigned flags are set to zero while sending and ignored on | ||||
| receipt. | ||||
| Local IP Address(4/16 bytes): Unicast IP address of the local | Currently, only bit 7 (T bit) is defined. When the T bit is set, | |||
| router, used to peer with another end router. When Object-Type is | the traffic SHOULD be sent in the IP-in-IP tunnel (the tunnel | |||
| 1, the length is 4 bytes; when Object-Type is 2, the length is 16 | source is the Local IP Address, and the tunnel destination is the | |||
| bytes. | Peer IP Address). When the T bit is cleared, the traffic is sent | |||
| via its original source and destination address. The Tunnel mode | ||||
| (i.e., the T bit is set) is used when the operator wants to ensure | ||||
| only the traffic from the specified (entry, exit) pair, and the | ||||
| Raw mode (i.e., the T bit is clear) is used when the operator | ||||
| wants to ensure traffic from any entry to the specified | ||||
| destination. Unassigned flags are set to zero while sending and | ||||
| ignored on receipt. | ||||
| Peer IP Address(4/16 bytes): Unicast IP address of the peer | Local IP Address(4/16 bytes): Unicast IP address of the local | |||
| router, used to peer with the local router. When Object-Type is | router, used to peer with another end router. When the Object- | |||
| 1, the length is 4 bytes; when Object-Type is 2, the length is 16 | Type is 1, the length is 4 bytes; when the Object-Type is 2, the | |||
| bytes; | length is 16 bytes. | |||
| Optional TLVs: TLVs that are associated with this object, can be | Peer IP Address(4/16 bytes): Unicast IP address of the peer router, | |||
| used to peer with the local router. When the Object-Type is 1, | ||||
| the length is 4 bytes; when the Object-Type is 2, the length is 16 | ||||
| bytes. | ||||
| Optional TLVs: TLVs that are associated with this object; can be | ||||
| used to convey other necessary information for dynamic BGP session | used to convey other necessary information for dynamic BGP session | |||
| establishment. No TLVs are currently defined. | establishment. No TLVs are currently defined. | |||
| When the PCC receives a BPI object, with Object-Type=1, it SHOULD try | When the PCC receives a BPI object, with Object-Type=1, it SHOULD try | |||
| to establish a BGP session with the peer in AFI/SAFI=1/1. | to establish a BGP session with the peer in AFI/SAFI=1/1. | |||
| When the PCC receives a BPI object with Object-Type=2, it SHOULD try | When the PCC receives a BPI object, with Object-Type=2, it SHOULD try | |||
| to establish a BGP session with the peer in AFI/SAFI=2/1. | to establish a BGP session with the peer in AFI/SAFI=2/1. | |||
| 7.3. Explicit Peer Route Object | 7.3. Explicit Peer Route Object | |||
| The Explicit Peer Route object is defined to specify the explicit | The Explicit Peer Route (EPR) object is defined to specify the | |||
| peer route to the corresponding peer address on each device that is | explicit peer route to the corresponding peer address on each device | |||
| on the E2E Native-IP TE path. This Object ought to be sent to all | that is on the E2E Native IP TE path. This Object ought to be sent | |||
| the devices on the path that is calculated by the PCE. Although the | to all the devices on the path that are calculated by the PCE. | |||
| object is named as “Explicit Peer Route”, it can be seen that the | Although the object is named "Explicit Peer Route", it can be seen | |||
| routes it installs are simply host routes. The use of this object to | that the routes it installs are simply host routes. The use of this | |||
| install host routes for any purpose other than reaching the | object to install host routes for any purpose other than reaching the | |||
| corresponding peer address on each device that is on the E2E Native- | corresponding peer address on each device that is on the E2E Native | |||
| IP TE path is outside the scope of this specification. | IP TE path is outside the scope of this specification. | |||
| By default, the path established by this object MUST have higher | By default, the path established by this object MUST have higher | |||
| priority than the other paths calculated by dynamic IGP protocol, and | priority than the other paths calculated by the dynamic IGP protocol | |||
| MUST have lower priority than the static route configured by manual | and MUST have lower priority than the static route configured by | |||
| or NETCONF or any other static means. | manual, NETCONF, or any other static means. | |||
| Explicit Peer Route Object-Class is 47. | The Explicit Peer Route Object-Class is 47. | |||
| Explicit Peer Route Object-Type is 1 for IPv4 and 2 for IPv6 | The Explicit Peer Route Object-Type is 1 for IPv4 and 2 for IPv6. | |||
| The format of the Explicit Peer Route object body for IPv4 (Object- | The format of the Explicit Peer Route object body for IPv4 (Object- | |||
| Type=1) is as follows: | Type=1) 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Route Priority | Reserved | | | Route Priority | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Peer IPv4 Address | | | Peer IPv4 Address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Next Hop IPv4 Address to the Peer | | | Next Hop IPv4 Address to the Peer | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // Optional TLVs // | // Optional TLVs // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 12: Explicit Peer Route Object Body Format for IPv4 | ||||
| Figure 12: Explicit Peer Route Object Body Format for IPv4 | ||||
| The format of the Explicit Peer Route object body for IPv6 (Object- | The format of the Explicit Peer Route object body for IPv6 (Object- | |||
| Type=2) is as follows: | Type=2) 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Route Priority | Reserved | | | Route Priority | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| | Peer IPv6 Address | | | Peer IPv6 Address | | |||
| | | | | | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| | Next Hop IPv6 Address to the Peer | | | Next Hop IPv6 Address to the Peer | | |||
| | | | | | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // Optional TLVs // | // Optional TLVs // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 13: Explicit Peer Route Object Body Format for IPv6 | ||||
| Route Priority: 2 bytes; the priority of this explicit route. The | Figure 13: Explicit Peer Route Object Body Format for IPv6 | |||
| Route Priority: 2 bytes. The priority of this explicit route. The | ||||
| higher priority SHOULD be preferred by the device. This field is | higher priority SHOULD be preferred by the device. This field is | |||
| used to indicate the preferred path at each hop. | used to indicate the preferred path at each hop. | |||
| Reserved: is set to zero while sending, ignored on receipt. | Reserved: Set to zero while sending and ignored on receipt. | |||
| Peer (IPv4/IPv6) Address: Peer Address for the BGP session (4/16 | Peer (IPv4/IPv6) Address: Peer address for the BGP session (4/16 | |||
| bytes). | bytes). | |||
| Next Hop (IPv4/IPv6) Address to the Peer: To indicate the next hop | Next Hop (IPv4/IPv6) Address to the Peer: Indicates the next-hop | |||
| address (4/16 bytes) to the corresponding peer address. | address (4/16 bytes) to the corresponding peer address. | |||
| Optional TLVs: TLVs that are associated with this object, can be | Optional TLVs: TLVs that are associated with this object; can be | |||
| used to convey other necessary information for explicit peer path | used to convey other necessary information for explicit peer path | |||
| establishment. No TLVs are currently defined. | establishment. No TLVs are currently defined. | |||
| 7.4. Peer Prefix Advertisement Object | 7.4. Peer Prefix Advertisement Object | |||
| The Peer Prefix Advertisement object is defined to specify the IP | The Peer Prefix Advertisement (PPA) object is defined to specify the | |||
| prefixes that are advertised to the corresponding peer. This object | IP prefixes that are advertised to the corresponding peer. This | |||
| needs only be included and sent to the source/destination router of | object only needs to be included and sent to the source/destination | |||
| the E2E path. | router of the E2E path. | |||
| The prefix information included in this object MUST only be | The prefix information included in this object MUST only be | |||
| advertised to the indicated peer, and SHOULD NOT be advertised to | advertised to the indicated peer and SHOULD NOT be advertised to | |||
| other BGP peers. | other BGP peers. | |||
| Peer Prefix Advertisement Object-Class is 48 | The Peer Prefix Advertisement Object-Class is 48. | |||
| Peer Prefix Advertisement Object-Type is 1 for IPv4 and 2 for IPv6 | ||||
| The format of the Peer Prefix Advertisement object body is as | The Peer Prefix Advertisement Object-Type is 1 for IPv4 and 2 for | |||
| follows: | IPv6. | |||
| 0 1 2 3 | The format of the Peer Prefix Advertisement object body for IPv4 is | |||
| 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 | as follows: | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Peer IPv4 Address | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | No. of Prefix | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv4 Prefix #1 | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |Prefix #1 Len | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | : | | ||||
| | : | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv4 Prefix #n | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |Prefix #n Len | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| // Optional TLVs // | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 14: Peer Prefix Advertisement Object Body Format for IPv4 | ||||
| 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | | | ||||
| | Peer IPv6 Address | | ||||
| | | | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | No. of Prefix | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv6 Prefix #1 | | ||||
| | | | ||||
| | | | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |Prefix #1 Len | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | : | | ||||
| | : | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv6 Prefix #n | | ||||
| | | | ||||
| | | | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |Prefix #n Len | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| // Optional TLVs // | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 15: Peer Prefix Advertisement Object Body Format for IPv6 | ||||
| Common Fields: | 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Peer IPv4 Address | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | No. of Prefix | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv4 Prefix #1 | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |Prefix #1 Len | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | : | | ||||
| | : | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv4 Prefix #n | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |Prefix #n Len | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| // Optional TLVs // | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| No. of Prefix: 1 byte. Identifies the number of prefixes that | Figure 14: Peer Prefix Advertisement Object Body Format for IPv4 | |||
| The format of the Peer Prefix Advertisement object body for IPv6 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | | | ||||
| | Peer IPv6 Address | | ||||
| | | | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | No. of Prefix | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv6 Prefix #1 | | ||||
| | | | ||||
| | | | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |Prefix #1 Len | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | : | | ||||
| | : | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv6 Prefix #n | | ||||
| | | | ||||
| | | | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |Prefix #n Len | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| // Optional TLVs // | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 15: Peer Prefix Advertisement Object Body Format for IPv6 | ||||
| Common Fields: | ||||
| No. of Prefix: 1 byte. Identifies the number of prefixes that | ||||
| are advertised to the peer in the PPA object. | are advertised to the peer in the PPA object. | |||
| Reserved: 3 bytes. Ought to be set to zero while sending and | Reserved: 3 bytes. Ought to be set to zero while sending and | |||
| be ignored on receipt. | ignored on receipt. | |||
| Prefix Len: 1 byte. Identifies the length of the prefix. | Prefix Len: 1 byte. Identifies the length of the prefix. | |||
| Optional TLVs: TLVs that are associated with this object, can | Optional TLVs: TLVs that are associated with this object; can be | |||
| be used to convey other necessary information for prefix | used to convey other necessary information for prefix | |||
| advertisement. No TLVs are currently defined. | advertisement. No TLVs are currently defined. | |||
| For IPv4: | For IPv4: | |||
| Peer IPv4 Address: 4 bytes. Identifies the Peer IPv4 Address | ||||
| Peer IPv4 Address: 4 bytes. Identifies the peer IPv4 address | ||||
| that the associated prefixes will be sent to. | that the associated prefixes will be sent to. | |||
| IPv4 Prefix: 4 bytes. Identifies the prefix that will be sent | IPv4 Prefix: 4 bytes. Identifies the prefix that will be sent to | |||
| to the peer identified by Peer IPv4 Address. | the peer identified by the Peer IPv4 Address. | |||
| For IPv6: | ||||
| Peer IPv6 Address: 16 bytes. Identifies the peer IPv6 address | For IPv6: | |||
| Peer IPv6 Address: 16 bytes. Identifies the Peer IPv6 Address | ||||
| that the associated prefixes will be sent to. | that the associated prefixes will be sent to. | |||
| IPv6 Prefix: Identifies the prefix that will be sent to the | IPv6 Prefix: Identifies the prefix that will be sent to the peer | |||
| peer identified by Peer IPv6 Address. | identified by the Peer IPv6 Address. | |||
| If in the future, a requirement is identified to advertise IPv4 | If in the future a requirement is identified to advertise IPv4 | |||
| prefixes toward an IPv6 peering address, or IPv6 prefixes towards | prefixes towards an IPv6 peering address or IPv6 prefixes towards an | |||
| an IPv4 peering address, then a new Peer Prefix Advertisement | IPv4 peering address, then a new Peer Prefix Advertisement Object- | |||
| Object-Types can be defined for these purposes. | Type can be defined for these purposes. | |||
| 8. New Error-Types and Error-Values Defined | 8. New Error-Type and Error-Values Defined | |||
| A PCEP-ERROR object is used to report a PCEP error and is | A PCEP-ERROR object is used to report a PCEP error and is | |||
| characterized by an Error-Type that specifies that type of error and | characterized by an Error-Type that specifies that type of error and | |||
| an Error-value that provides additional information about the error. | an Error-value that provides additional information about the error. | |||
| An additional Error-Type and several Error-values are defined to | An additional Error-Type and several Error-values are defined to | |||
| represent the errors related to the newly defined objects that are | represent the errors related to the newly defined objects that are | |||
| related to Native IP TE procedures. | related to Native IP TE procedures. See Table 4 for the newly | |||
| defined Error-Type and Error-values. | ||||
| +============+==========+=====================================+ | ||||
| | Error-Type | Meaning | Error-value | | ||||
| +=======+===============+=====================================+ | ||||
| | 33 | Native IP TE failure | | ||||
| | | | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |0:Unassigned | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |1:Local IP is in use | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |2:Remote IP is in use | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |3:Explicit Peer Route Error | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |4:EPR/BPI Peer Info mismatch | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |5:BPI/PPA Address Family mismatch | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |6:PPA/BPI Peer Info mismatch | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | 6 | Mandatory Object missing | | ||||
| | | | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |19:Native IP object missing | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | 10 | Reception of an invalid object | | ||||
| | | | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |39:PCECC NATIVE-IP-TE-CAPABILITY bit | | ||||
| | | |is not set | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | 19 | Invalid Operation | | ||||
| | | | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |22:Only one BPI, EPR or PPA object | | ||||
| | | |can be included in this message | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |29:Attempted Native-IP operations | | ||||
| | | |when the capability was not | | ||||
| | | | advertised | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| | | |30:Unknown Native-IP Info | | ||||
| +-------+---------------+-------------------------------------+ | ||||
| Figure 16: Newly defined Error-Type and Error-Value | ||||
| 9. BGP Considerations | 9. BGP Considerations | |||
| This document defines the procedures and objects to create the BGP | This document defines procedures and objects to create the BGP | |||
| sessions and advertise the associated prefixes dynamically. Only the | sessions and to advertise the associated prefixes dynamically. Only | |||
| key information, for example, peer IP addresses, and peer AS numbers | the key information, for example, Peer IP Addresses, and Peer AS | |||
| are exchanged via the PCEP protocol. Other parameters that are | numbers are exchanged via the PCEP. Other parameters that are needed | |||
| needed for the BGP session setup SHOULD be derived from their default | for the BGP session setup SHOULD be derived from their default | |||
| values. | values. | |||
| When the PCE sends out the PCInitiate message with the BPI object | When the PCE sends out the PCInitiate message with the BPI object | |||
| embedded to establish the BGP session between the PCC peers, the PCC | embedded to establish the BGP session between the PCC peers, the PCC | |||
| SHOULD report the BGP session status. For instance, the PCC could | SHOULD report the BGP session status. For instance, the PCC could | |||
| respond with "BGP Session Establishment In Progress" initially and on | respond with "BGP Session Establishment In Progress" initially and, | |||
| session establishment send another PCRpt message with the state | on session establishment, send another PCRpt message with the state | |||
| updated to "BGP Session Established". If there is any error during | updated to "BGP Session Established". If there is any error during | |||
| the BGP session establishment, the PCC SHOULD indicate the reason | the BGP session establishment, the PCC SHOULD indicate the reason | |||
| with the appropriate status value set in the BPI object. | with the appropriate status value set in the BPI object. | |||
| Upon receiving such key information, the BGP module on the PCC SHOULD | Upon receiving such key information, the BGP module on the PCC SHOULD | |||
| try to accomplish the task appointed by the PCEP protocol and report | try to accomplish the task appointed by the PCEP and report the | |||
| the successful status to the PCEP modules after the session is set | successful status to the PCEP modules after the session is set up. | |||
| up. | ||||
| There is no influence on the current implementation of BGP Finite | There is no influence on the current implementation of the BGP Finite | |||
| State Machine (FSM). The PCEP focuses only on the success and | State Machine (FSM). PCEP focuses only on the success and failure | |||
| failure status of the BGP session and acts upon such information | status of the BGP session and acts upon such information accordingly. | |||
| accordingly. | ||||
| The error-handling procedures related to incorrect BGP parameters are | The error-handling procedures related to incorrect BGP parameters are | |||
| specified in Section 6.1, Section 6.2, and Section 6.3. | specified in Sections 6.1, 6.2, and 6.3. | |||
| 10. Deployment Considerations | 10. Deployment Considerations | |||
| The information transferred in this document is mainly used for the | The information transferred in this document is mainly used for the | |||
| BGP session setup, explicit route deployment and the prefix | BGP session setup, explicit route deployment, and prefix | |||
| distribution. The planning, allocation and distribution of the peer | distribution. The planning, allocation, and distribution of the peer | |||
| addresses within IGP needs to be accomplished in advance and they are | addresses within IGP need to be accomplished in advance, and they are | |||
| out of the scope of this document. | out of the scope of this document. | |||
| The communication of PCE and PCC described in this document MUST | The communication of PCE and PCC described in this document MUST | |||
| follow the state synchronization procedures described in [RFC8232], | follow the State Synchronization procedures described in [RFC8232], | |||
| treat the three newly defined objects (BPI, EPR and PPA) associated | i.e., treat the three newly defined objects (BPI, EPR, and PPA) | |||
| with the same symbolic path name as the attribute of the same path in | associated with the same Symbolic Path Name as the attribute of the | |||
| the LSP-DB (LSP State Database). | same path in the LSP Database (LSP-DB). | |||
| When PCE detects one or some of the PCCs are out of its control, it | When the PCE detects that one or some of the PCCs are out of its | |||
| MUST recompute and redeploy the traffic engineering path for native | control, it MUST recompute and redeploy the traffic engineering path | |||
| IP on the currently active PCCs. The PCE MUST ensure the avoidance | for Native IP on the currently active PCCs. The PCE MUST ensure the | |||
| of the possible transient loop in such node failure when it deploys | avoidance of the possible transient loop in such node failure when it | |||
| the explicit peer route on the PCCs. | deploys the explicit peer route on the PCCs. | |||
| In case of a PCE failure, a new PCE can gain control over the central | In case of a PCE failure, a new PCE can gain control over the Central | |||
| controller instructions as described in [RFC9050]. | Controller Instructions as described in [RFC9050]. | |||
| As per the PCEP procedures in [RFC8281], the State Timeout Interval | As per the PCEP procedures in [RFC8281], the State Timeout Interval | |||
| timer is used to ensure that a PCE failure does not result in | timer is used to ensure that a PCE failure does not result in | |||
| automatic and immediate disruption for the services. Similarly, as | automatic and immediate disruption for the services. Similarly, as | |||
| per [RFC9050], the central controller instructions are not removed | per [RFC9050], the Central Controller Instructions are not removed | |||
| immediately upon PCE failure. Instead, they could be re-delegated to | immediately upon PCE failure. Instead, they could be redelegated to | |||
| the new PCE before the expiration of this timer, or be cleaned up on | the new PCE before the expiration of this timer or be cleaned up on | |||
| the expiration of this timer. This allows for network clean up | the expiration of this timer. This allows for network cleanup | |||
| without manual intervention. The PCC supports the removal of CCI as | without manual intervention. The PCC supports the removal of CCI as | |||
| one of the behaviors applied on the expiration of the State Timeout | one of the behaviors applied on the expiration of the State Timeout | |||
| Interval timer. | Interval timer. | |||
| 11. Manageability Considerations | 11. Manageability Considerations | |||
| 11.1. Control of Function and Policy | 11.1. Control of Function and Policy | |||
| A PCE or PCC implementation SHOULD allow the PCECC Native-IP | A PCE or PCC implementation SHOULD allow the PCECC Native IP | |||
| capability to be enabled/disabled as part of the global | capability to be enabled/disabled as part of the global | |||
| configuration. | configuration. | |||
| 11.2. Information and Data Models | 11.2. Information and Data Models | |||
| [RFC7420] describes the PCEP MIB; this MIB could be extended to get | [RFC7420] describes the PCEP MIB; this MIB could be extended to get | |||
| the PCECC Native-IP capability status. The PCEP YANG | the PCECC Native IP capability status. The PCEP YANG module | |||
| [I-D.ietf-pce-pcep-yang] module could be extended to enable/disable | [YANG-PCEP] could be extended to enable/disable the PCECC Native IP | |||
| the PCECC Native-IP capability. | capability. | |||
| 11.3. Liveness Detection and Monitoring | 11.3. Liveness Detection and Monitoring | |||
| Mechanisms defined in this document do not imply any new liveness | Mechanisms defined in this document do not imply any new liveness | |||
| detection and monitoring requirements in addition to those already | detection and monitoring requirements beyond those already listed in | |||
| listed in [RFC5440]. The operator relies on existing IP liveness | [RFC5440]. The operator relies on existing IP liveness detection and | |||
| detection and monitoring. | monitoring. | |||
| 11.4. Verify Correct Operations | 11.4. Verify Correct Operations | |||
| Verification of the mechanisms defined in this document can be built | Verification of the mechanisms defined in this document can be built | |||
| on those already listed in [RFC5440], [RFC8231] and [RFC9050]. | on those already listed in [RFC5440], [RFC8231], and [RFC9050]. | |||
| Further, the operator needs to be able to verify the status of BGP | Further, the operator needs to be able to verify the status of BGP | |||
| sessions and prefix advertisements. | sessions and prefix advertisements. | |||
| 11.5. Requirements on Other Protocols | 11.5. Requirements on Other Protocols | |||
| Mechanisms defined in this document require the interaction with BGP. | Mechanisms defined in this document require the interaction with BGP. | |||
| Section 9 describes in detail the considerations regarding the BGP. | Section 9 describes in detail the considerations regarding the BGP. | |||
| During the BGP session establishment, the Local/Peer IP address MUST | During the BGP session establishment, the Local/Peer IP Address MUST | |||
| be dedicated to the usage of the native IP TE solution, and MUST NOT | be dedicated to the usage of the Native IP TE solution and MUST NOT | |||
| be used by other BGP sessions that are established manually or in | be used by other BGP sessions that are established manually or in | |||
| other ways. | other ways. | |||
| 11.6. Impact on Network Operations | 11.6. Impact on Network Operations | |||
| [RFC8821] describes the various deployment considerations in CCDR | [RFC8821] describes the various deployment considerations in CCDR | |||
| architecture and their impact on network operations. | architecture and their impact on network operations. | |||
| 12. Security Considerations | 12. Security Considerations | |||
| In this setup, the BGP sessions, prefix advertisement, and explicit | In this setup, the BGP sessions, prefix advertisement, and explicit | |||
| peer route establishment are all controlled by the PCE. See | peer route establishment are all controlled by the PCE. See | |||
| [RFC4271] for security consideration of classical BGP implementation, | [RFC4271] for classical BGP implementation security considerations | |||
| and [RFC4272] for classical BGP vulnerabilities analysis. Security | and [RFC4272] for classical BGP vulnerabilities analysis. Security | |||
| considerations in [RFC5440]for basic PCEP protocol, [RFC8231] for | considerations in [RFC5440] for the basic PCEP, [RFC8231] for PCEP | |||
| PCEP extension for stateful PCE and [RFC8281] for PCE-Initiated LSP | extension for stateful PCE, and [RFC8281] for PCE-initiated LSP setup | |||
| setup SHOULD be considered. To prevent a bogus PCE from sending | SHOULD be considered. To prevent a bogus PCE from sending harmful | |||
| harmful messages to the network nodes, the network devices SHOULD | messages to the network nodes, the network devices SHOULD | |||
| authenticate the PCE and ensure a secure communication channel | authenticate the PCE and ensure a secure communication channel | |||
| between them. Thus, the mechanisms described in [RFC8253] for the | between them. Thus, the mechanisms described in [RFC8253] for the | |||
| usage of TLS for PCEP and [RFC9050] for protection against malicious | usage of TLS for PCEP and [RFC9050] for protection against malicious | |||
| PCEs SHOULD be used. | PCEs SHOULD be used. | |||
| If suitable default values as discussed in Section 9 aren't enough | If the default values discussed in Section 9 aren't enough and | |||
| and securing the BGP transport is required(for example, the TCP-AO | securing the BGP transport is required (for example, by using TCP | |||
| [RFC5925], it can be provided through the addition of optional TLVs | Authentication Option (TCP-AO) [RFC5925]), a suitable value can be | |||
| to the BGP Peer Info object that conveys the necessary additional | provided through the addition of optional TLVs to the BGP Peer Info | |||
| information (for example, a key chain [RFC8177]name). | object that conveys the necessary additional information (for | |||
| example, a key chain [RFC8177] name). | ||||
| 13. IANA Considerations | 13. IANA Considerations | |||
| 13.1. Path Setup Type Registry | 13.1. PCEP Path Setup Types | |||
| [RFC8408] created a registry within the "Path Computation Element | ||||
| Protocol (PCEP) Numbers" registry group called "PCEP Path Setup | ||||
| Types". IANA is requested to allocate a new code point within this | ||||
| registry, as follows: | ||||
| Value Description Reference | ||||
| 4 Native IP TE Path This document | ||||
| 13.2. PCECC-CAPABILITY sub-TLV's Flag field | ||||
| Editorial Note (To be removed by RFC Editor): This experimental track | [RFC8408] created the "PCEP Path Setup Types" registry within the | |||
| document is allocating a code point in the registry under the | "Path Computation Element Protocol (PCEP) Numbers" registry group. | |||
| standards action registry which is not allowed. | IANA has allocated a new codepoint within this registry, as follows: | |||
| [I-D.ietf-pce-iana-update] updates the registration policy to IETF | ||||
| review allowing for this allocation. Note that an early allocation | ||||
| was made when the document was being progressed in the standards | ||||
| track. At the time of publication, please remove this note and the | ||||
| reference to [I-D.ietf-pce-iana-update]. | ||||
| [RFC9050] created a registry within the "Path Computation Element | +=======+===================+===========+ | |||
| Protocol (PCEP) Numbers" registry group to manage the value of the | | Value | Description | Reference | | |||
| PCECC-CAPABILITY sub-TLV's 32-bit Flag field. IANA is requested to | +=======+===================+===========+ | |||
| allocate a new bit position within this registry, as follows: | | 4 | Native IP TE Path | RFC 9757 | | |||
| +-------+-------------------+-----------+ | ||||
| Bit Name Reference | Table 1: PCEP Path Setup Types Registry | |||
| 30 NATIVE IP This document | ||||
| 13.3. PCEP Object | 13.2. PCECC-CAPABILITY Sub-TLV Flag Field | |||
| IANA is requested to allocate new codepoints in the "PCEP Objects" | [RFC9050] created the "PCECC-CAPABILITY sub-TLV" registry within the | |||
| registry as follows: | "Path Computation Element Protocol (PCEP) Numbers" registry group to | |||
| manage the value of the PCECC-CAPABILITY sub-TLV's 32-bit Flag field. | ||||
| IANA has allocated a new bit position within this registry, as | ||||
| follows: | ||||
| Object-Class Value Name Reference | +=====+===========+===========+ | |||
| 44 CCI Object This document | | Bit | Name | Reference | | |||
| Object-Type | +=====+===========+===========+ | |||
| 2: Native IP | | 30 | Native IP | RFC 9757 | | |||
| +-----+-----------+-----------+ | ||||
| 46 BGP Peer Info This document | Table 2: PCECC-CAPABILITY | |||
| Object-Type | Sub-TLV Registry | |||
| 1: IPv4 address | ||||
| 2: IPv6 address | ||||
| 47 Explicit Peer Route This document | 13.3. PCEP Objects | |||
| Object-Type | ||||
| 1: IPv4 address | ||||
| 2: IPv6 address | ||||
| 48 Peer Prefix Advertisement This document | IANA has allocated new codepoints in the "PCEP Objects" registry, as | |||
| Object-Type | follows: | |||
| 1: IPv4 address | ||||
| 2: IPv6 address | ||||
| 13.4. PCEP-Error Object | +==============+===================+=============+===========+ | |||
| | Object-Class | Name | Object-Type | Reference | | ||||
| | Value | | | | | ||||
| +==============+===================+=============+===========+ | ||||
| | 44 | CCI Object-Type | 2: Native | RFC 9757 | | ||||
| | | | IP | | | ||||
| +--------------+-------------------+-------------+-----------+ | ||||
| | 46 | BGP Peer Info | 0: Reserved | RFC 9757 | | ||||
| | | Object-Type | | | | ||||
| | | +-------------+-----------+ | ||||
| | | | 1: IPv4 | RFC 9757 | | ||||
| | | | address | | | ||||
| | | +-------------+-----------+ | ||||
| | | | 2: IPv6 | RFC 9757 | | ||||
| | | | address | | | ||||
| +--------------+-------------------+-------------+-----------+ | ||||
| | 47 | Explicit Peer | 0: Reserved | RFC 9757 | | ||||
| | | Route Object-Type | | | | ||||
| | | +-------------+-----------+ | ||||
| | | | 1: IPv4 | RFC 9757 | | ||||
| | | | address | | | ||||
| | | +-------------+-----------+ | ||||
| | | | 2: IPv6 | RFC 9757 | | ||||
| | | | address | | | ||||
| +--------------+-------------------+-------------+-----------+ | ||||
| | 48 | Peer Prefix | 0: Reserved | RFC 9757 | | ||||
| | | Advertisement | | | | ||||
| | | Object-Type | | | | ||||
| | | +-------------+-----------+ | ||||
| | | | 1: IPv4 | RFC 9757 | | ||||
| | | | address | | | ||||
| | | +-------------+-----------+ | ||||
| | | | 2: IPv6 | RFC 9757 | | ||||
| | | | address | | | ||||
| +--------------+-------------------+-------------+-----------+ | ||||
| IANA is requested to allocate new error types and error values within | Table 3: PCEP Objects Registry | |||
| the "PCEP-ERROR Object Error Types and Values" registry of the "Path | ||||
| Computation Element Protocol (PCEP) Numbers" registry group for the | ||||
| following errors: | ||||
| Error-Type Meaning Error-value | 13.4. PCEP-Error Objects | |||
| 6 Mandatory Object missing | ||||
| 19:Native IP object missing | ||||
| 10 Reception of an invalid object | IANA has allocated a new Error-Type and several Error-values in the | |||
| 39:PCECC NATIVE-IP-TE-CAPABILITY bit | "PCEP-ERROR Object Error Types and Values" registry within the "Path | |||
| is not set | Computation Element Protocol (PCEP) Numbers" registry group, as | |||
| follows: | ||||
| 19 Invalid Operation | +============+==============+==========================+===========+ | |||
| 22:Only one BPI, EPR or PPA object can | | Error-Type | Meaning | Error-value | Reference | | |||
| be included in this message | +============+==============+==========================+===========+ | |||
| 29:Attempted Native-IP operations | | 6 | Mandatory | 19: Native IP object | RFC 9757 | | |||
| when the capability was not advertised | | | Object | missing | | | |||
| 30:Unknown Native-IP Info | | | missing | | | | |||
| +------------+--------------+--------------------------+-----------+ | ||||
| | 10 | Reception of | 39: PCECC NATIVE-IP-TE- | RFC 9757 | | ||||
| | | an invalid | CAPABILITY bit is not | | | ||||
| | | object | set | | | ||||
| +------------+--------------+--------------------------+-----------+ | ||||
| | 19 | Invalid | 22: Only one BPI, EPR, | RFC 9757 | | ||||
| | | Operation | or PPA object can be | | | ||||
| | | | included in this message | | | ||||
| | | +--------------------------+-----------+ | ||||
| | | | 29: Attempted Native IP | RFC 9757 | | ||||
| | | | operations when the | | | ||||
| | | | capability was not | | | ||||
| | | | advertised | | | ||||
| | | +--------------------------+-----------+ | ||||
| | | | 30: Unknown Native IP | RFC 9757 | | ||||
| | | | Info | | | ||||
| +------------+--------------+--------------------------+-----------+ | ||||
| | 33 | Native IP TE | 0: Unassigned | RFC 9757 | | ||||
| | | failure | | | | ||||
| | | +--------------------------+-----------+ | ||||
| | | | 1: Local IP is in use | RFC9757 | | ||||
| | | +--------------------------+-----------+ | ||||
| | | | 2: Remote IP is in use | RFC 9757 | | ||||
| | | +--------------------------+-----------+ | ||||
| | | | 3: Explicit Peer Route | RFC 9757 | | ||||
| | | | Error | | | ||||
| | | +--------------------------+-----------+ | ||||
| | | | 4: EPR/BPI Peer Info | RFC 9757 | | ||||
| | | | mismatch | | | ||||
| | | +--------------------------+-----------+ | ||||
| | | | 5: BPI/PPA Address | RFC 9757 | | ||||
| | | | Family mismatch | | | ||||
| | | +--------------------------+-----------+ | ||||
| | | | 6: PPA/BPI Peer Info | RFC 9757 | | ||||
| | | | mismatch | | | ||||
| +------------+--------------+--------------------------+-----------+ | ||||
| 33 Native IP TE failure | Table 4: PCEP-ERROR Object Error Types and Values Registry | |||
| 1:Local IP is in use | ||||
| 2:Remote IP is in use | ||||
| 3:Explicit Peer Route Error | ||||
| 4:EPR/BPI Peer Info mismatch | ||||
| 5:BPI/PPA Address Family mismatch | ||||
| 6:PPA/BPI Peer Info mismatch | ||||
| The reference for the new Error-type/value should be set to this | The reference for each new Error-Type/Error-value should be set to | |||
| document. | this document. | |||
| 13.5. CCI Object Flag Field | 13.5. CCI Object Flag Field | |||
| IANA is requested to create a new registry to manage the 16-bits Flag | IANA has created the "CCI Object Flag Field for Native IP" registry | |||
| field of the new CCI Object called "CCI Object Flag Field for Native- | to manage the 16-bit Flag field of the new CCI object. New values | |||
| IP". New values are to be assigned by IETF review [RFC8126]. Each | are to be assigned by IETF Review [RFC8126]. Each bit should be | |||
| bit should be tracked with the following qualities: | tracked with the following qualities: | |||
| bit number (counting from bit 0 as the most significant bit, and | * bit number (counting from bit 0 as the most significant bit and | |||
| bit 15 as the lest significant bit) | bit 15 as the least significant bit) | |||
| capability description | * capability description | |||
| defining RFC | * defining RFC | |||
| Currently, no flags are assigned. | Currently, no flags are assigned. | |||
| 13.6. BPI Object Status Code | 13.6. BPI Object Status Codes | |||
| IANA is requested to create a new registry "BPI Object Status Code | ||||
| Field" within the "Path Computation Element Protocol (PCEP) Numbers" | ||||
| registry group. New values are assigned by IETF review [RFC8126]. | ||||
| Each value should be tracked with the following qualities: value, | ||||
| meaning, and defining RFC. The following values are defined in this | ||||
| document: | ||||
| Value Meaning Reference | ||||
| 0 Reserved This document | ||||
| 1 BGP Session Established This document | ||||
| 2 BGP Session Establishment In Progress This document | ||||
| 3 BGP Session Down This document | ||||
| 4-255 Unassigned This document | ||||
| 13.7. BPI Object Error Code | IANA has created the "BPI Object Status Code Field" registry within | |||
| the "Path Computation Element Protocol (PCEP) Numbers" registry | ||||
| group. New values are assigned by IETF Review [RFC8126]. Each value | ||||
| should be tracked with the following qualities: value, meaning, and | ||||
| defining RFC. The following values are defined in this document: | ||||
| IANA is requested to create a new registry "BPI Object Error Code | +=======+=======================================+===========+ | |||
| Field" within the "Path Computation Element Protocol (PCEP) Numbers" | | Value | Meaning | Reference | | |||
| registry group. New values are assigned by IETF review [RFC8126]. | +=======+=======================================+===========+ | |||
| Each value should be tracked with the following qualities: value, | | 0 | Reserved | RFC 9757 | | |||
| meaning, and defining RFC. The following values are defined in this | +-------+---------------------------------------+-----------+ | |||
| document: | | 1 | BGP Session Established | RFC 9757 | | |||
| +-------+---------------------------------------+-----------+ | ||||
| | 2 | BGP Session Establishment In Progress | RFC 9757 | | ||||
| +-------+---------------------------------------+-----------+ | ||||
| | 3 | BGP Session Down | RFC 9757 | | ||||
| +-------+---------------------------------------+-----------+ | ||||
| | 4-255 | Unassigned | RFC 9757 | | ||||
| +-------+---------------------------------------+-----------+ | ||||
| Value Meaning Reference | Table 5: BPI Object Status Code Field Registry | |||
| 0 Reserved This document | ||||
| 1 ASes does not match, BGP Session Failure This document | ||||
| 2 Peer IP can't be reached, BGP Session Failure This document | ||||
| 3-255 Unassigned This document | ||||
| 13.8. BPI Object Flag Field | 13.7. BPI Object Error Codes | |||
| IANA is requested to create a new registry "BPI Object Flag Field" | IANA has created the "BPI Object Error Code Field" registry within | |||
| within the "Path Computation Element Protocol (PCEP) Numbers" | the "Path Computation Element Protocol (PCEP) Numbers" registry | |||
| registry group. New values are to be assigned by IETF review | group. New values are assigned by IETF Review [RFC8126]. Each value | |||
| [RFC8126]. Each bit should be tracked with the following qualities: | should be tracked with the following qualities: value, meaning, and | |||
| defining RFC. The following values are defined in this document: | ||||
| bit number (counting from bit 0 as the most significant bit) | +=======+=========================================+===========+ | |||
| | Value | Meaning | Reference | | ||||
| +=======+=========================================+===========+ | ||||
| | 0 | Reserved | RFC 9757 | | ||||
| +-------+-----------------------------------------+-----------+ | ||||
| | 1 | ASes do not match - BGP Session Failure | RFC 9757 | | ||||
| +-------+-----------------------------------------+-----------+ | ||||
| | 2 | Peer IP can't be reached - BGP Session | RFC 9757 | | ||||
| | | Failure | | | ||||
| +-------+-----------------------------------------+-----------+ | ||||
| | 3-255 | Unassigned | RFC 9757 | | ||||
| +-------+-----------------------------------------+-----------+ | ||||
| capability description | Table 6: BPI Object Error Code Field Registry | |||
| defining RFC | 13.8. BPI Object Flag Field | |||
| The following values are defined in this document: | IANA has created the "BPI Object Flag Field" registry within the | |||
| "Path Computation Element Protocol (PCEP) Numbers" registry group. | ||||
| New values are to be assigned by IETF Review [RFC8126]. Each bit | ||||
| should be tracked with the following qualities: | ||||
| Bit Meaning Reference | * bit number (counting from bit 0 as the most significant bit) | |||
| 0-6 Unassigned | ||||
| 7 T (IPnIP) bit This document | ||||
| 14. Contributor | * capability description | |||
| Dhruv Dhody has contributed to this document. | * defining RFC | |||
| 15. Acknowledgement | The following values are defined in this document: | |||
| Thanks Mike Koldychev, Susan Hares, Siva Sivabalan and Adam Simpson | +=====+==================+===========+ | |||
| for their valuable suggestions and comments. | | Bit | Meaning | Reference | | |||
| +=====+==================+===========+ | ||||
| | 0-6 | Unassigned | | ||||
| +-----+------------------+-----------+ | ||||
| | 7 | T (IP-in-IP) bit | RFC 9757 | | ||||
| +-----+------------------+-----------+ | ||||
| 16. References | Table 7: BPI Object Flag Field | |||
| Registry | ||||
| 16.1. Normative References | 14. References | |||
| [I-D.ietf-pce-iana-update] | 14.1. Normative References | |||
| Dhody, D. and A. Farrel, "Update to the IANA PCEP | ||||
| Registration Procedures and Allowing Experimental Error | ||||
| Codes", Work in Progress, Internet-Draft, draft-ietf-pce- | ||||
| iana-update-01, 27 August 2024, | ||||
| <https://datatracker.ietf.org/doc/html/draft-ietf-pce- | ||||
| iana-update-01>. | ||||
| [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, | [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, | |||
| DOI 10.17487/RFC2003, October 1996, | DOI 10.17487/RFC2003, October 1996, | |||
| <https://www.rfc-editor.org/info/rfc2003>. | <https://www.rfc-editor.org/info/rfc2003>. | |||
| [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, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| skipping to change at page 36, line 12 ¶ | skipping to change at line 1600 ¶ | |||
| Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, | Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, | |||
| July 2018, <https://www.rfc-editor.org/info/rfc8408>. | July 2018, <https://www.rfc-editor.org/info/rfc8408>. | |||
| [RFC9050] Li, Z., Peng, S., Negi, M., Zhao, Q., and C. Zhou, "Path | [RFC9050] Li, Z., Peng, S., Negi, M., Zhao, Q., and C. Zhou, "Path | |||
| Computation Element Communication Protocol (PCEP) | Computation Element Communication Protocol (PCEP) | |||
| Procedures and Extensions for Using the PCE as a Central | Procedures and Extensions for Using the PCE as a Central | |||
| Controller (PCECC) of LSPs", RFC 9050, | Controller (PCECC) of LSPs", RFC 9050, | |||
| DOI 10.17487/RFC9050, July 2021, | DOI 10.17487/RFC9050, July 2021, | |||
| <https://www.rfc-editor.org/info/rfc9050>. | <https://www.rfc-editor.org/info/rfc9050>. | |||
| 16.2. Informative References | 14.2. Informative References | |||
| [I-D.ietf-pce-pcep-yang] | ||||
| Dhody, D., Beeram, V. P., Hardwick, J., and J. Tantsura, | ||||
| "A YANG Data Model for Path Computation Element | ||||
| Communications Protocol (PCEP)", Work in Progress, | ||||
| Internet-Draft, draft-ietf-pce-pcep-yang-25, 21 May 2024, | ||||
| <https://datatracker.ietf.org/doc/html/draft-ietf-pce- | ||||
| pcep-yang-25>. | ||||
| [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | |||
| and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | |||
| Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, | Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, | |||
| <https://www.rfc-editor.org/info/rfc3209>. | <https://www.rfc-editor.org/info/rfc3209>. | |||
| [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", | [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", | |||
| RFC 4272, DOI 10.17487/RFC4272, January 2006, | RFC 4272, DOI 10.17487/RFC4272, January 2006, | |||
| <https://www.rfc-editor.org/info/rfc4272>. | <https://www.rfc-editor.org/info/rfc4272>. | |||
| [RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., | [RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., | |||
| "LDP Specification", RFC 5036, DOI 10.17487/RFC5036, | "LDP Specification", RFC 5036, DOI 10.17487/RFC5036, | |||
| October 2007, <https://www.rfc-editor.org/info/rfc5036>. | October 2007, <https://www.rfc-editor.org/info/rfc5036>. | |||
| [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | ||||
| Code: The Implementation Status Section", BCP 205, | ||||
| RFC 7942, DOI 10.17487/RFC7942, July 2016, | ||||
| <https://www.rfc-editor.org/info/rfc7942>. | ||||
| [RFC8177] Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. | [RFC8177] Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. | |||
| Zhang, "YANG Data Model for Key Chains", RFC 8177, | Zhang, "YANG Data Model for Key Chains", RFC 8177, | |||
| DOI 10.17487/RFC8177, June 2017, | DOI 10.17487/RFC8177, June 2017, | |||
| <https://www.rfc-editor.org/info/rfc8177>. | <https://www.rfc-editor.org/info/rfc8177>. | |||
| [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An | [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An | |||
| Architecture for Use of PCE and the PCE Communication | Architecture for Use of PCE and the PCE Communication | |||
| Protocol (PCEP) in a Network with Central Control", | Protocol (PCEP) in a Network with Central Control", | |||
| RFC 8283, DOI 10.17487/RFC8283, December 2017, | RFC 8283, DOI 10.17487/RFC8283, December 2017, | |||
| <https://www.rfc-editor.org/info/rfc8283>. | <https://www.rfc-editor.org/info/rfc8283>. | |||
| skipping to change at page 37, line 15 ¶ | skipping to change at line 1636 ¶ | |||
| [RFC8735] Wang, A., Huang, X., Kou, C., Li, Z., and P. Mi, | [RFC8735] Wang, A., Huang, X., Kou, C., Li, Z., and P. Mi, | |||
| "Scenarios and Simulation Results of PCE in a Native IP | "Scenarios and Simulation Results of PCE in a Native IP | |||
| Network", RFC 8735, DOI 10.17487/RFC8735, February 2020, | Network", RFC 8735, DOI 10.17487/RFC8735, February 2020, | |||
| <https://www.rfc-editor.org/info/rfc8735>. | <https://www.rfc-editor.org/info/rfc8735>. | |||
| [RFC8821] Wang, A., Khasanov, B., Zhao, Q., and H. Chen, "PCE-Based | [RFC8821] Wang, A., Khasanov, B., Zhao, Q., and H. Chen, "PCE-Based | |||
| Traffic Engineering (TE) in Native IP Networks", RFC 8821, | Traffic Engineering (TE) in Native IP Networks", RFC 8821, | |||
| DOI 10.17487/RFC8821, April 2021, | DOI 10.17487/RFC8821, April 2021, | |||
| <https://www.rfc-editor.org/info/rfc8821>. | <https://www.rfc-editor.org/info/rfc8821>. | |||
| [YANG-PCEP] | ||||
| Dhody, D., Beeram, V. P., Hardwick, J., and J. Tantsura, | ||||
| "A YANG Data Model for Path Computation Element | ||||
| Communications Protocol (PCEP)", Work in Progress, | ||||
| Internet-Draft, draft-ietf-pce-pcep-yang-30, 26 January | ||||
| 2025, <https://datatracker.ietf.org/doc/html/draft-ietf- | ||||
| pce-pcep-yang-30>. | ||||
| Acknowledgements | ||||
| Thanks to Mike Koldychev, Susan Hares, Siva Sivabalan, and Adam | ||||
| Simpson for their valuable suggestions and comments. | ||||
| Contributors | ||||
| Ren Tan and Dhruv Dhody have contributed to this document. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Aijun Wang | Aijun Wang | |||
| China Telecom | China Telecom | |||
| Beiqijia Town, Changping District | Beiqijia Town, Changping District | |||
| Beijing | Beijing | |||
| Beijing, 102209 | 102209 | |||
| China | China | |||
| Email: wangaijun@tsinghua.org.cn | Email: wangaijun@tsinghua.org.cn | |||
| Boris Khasanov | Boris Khasanov | |||
| MTS Web Services (MWS) | MTS Web Services (MWS) | |||
| Andropova av.,18/9 115432 | Andropova av., 18/9 | |||
| Moscow | Moscow | |||
| 115432 | ||||
| Russian Federation | ||||
| Email: bhassanov@yahoo.com | Email: bhassanov@yahoo.com | |||
| Sheng Fang | Sheng Fang | |||
| Huawei Technologies | Huawei Technologies | |||
| Huawei Bld., No.156 Beiqing Rd. | Huawei Bld., No.156 Beiqing Rd. | |||
| Beijing | Beijing | |||
| China | China | |||
| Email: fsheng@huawei.com | Email: fsheng@huawei.com | |||
| Ren Tan | ||||
| Huawei Technologies | ||||
| Huawei Bld., No.156 Beiqing Rd. | ||||
| Beijing | ||||
| China | ||||
| Email: tanren@huawei.com | ||||
| Chun Zhu | Chun Zhu | |||
| ZTE Corporation | ZTE Corporation | |||
| 50 Software Avenue, Yuhua District | 50 Software Avenue, Yuhua District | |||
| Nanjing | Nanjing | |||
| Jiangsu, 210012 | Jiangsu, 210012 | |||
| China | China | |||
| Email: zhu.chun1@zte.com.cn | Email: zhu.chun1@zte.com.cn | |||
| End of changes. 234 change blocks. | ||||
| 829 lines changed or deleted | 857 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||