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 | R. Tan | |||
Huawei Technologies | Huawei Technologies | |||
C. Zhu | C. Zhu | |||
ZTE Corporation | ZTE Corporation | |||
11 September 2024 | February 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, expand PCEP's capabilities beyond its traditional use in | |||
By implementing these extensions, IP network resources can be | 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 multiple Border | |||
Gateway Protocol (BGP) sessions-based solution. It requires only the | Gateway Protocol (BGP) sessions-based solution. It requires only the | |||
PCE to send the instructions to the PCCs, to build multiple BGP | PCE to send the instructions to the Path Computation Clients (PCCs) | |||
sessions, distribute different prefixes on the established BGP | to build multiple BGP sessions, distribute different prefixes on the | |||
sessions and assign the different paths to the BGP next hops. | 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 their PCECC capability. A new flag is defined in | |||
PCECC-CAPABILITY sub-TLV for Native IP: | 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 accomplish the multiple BGP | |||
establishment, E2E Native-IP TE path deployment, and route prefixes | sessions establishment, E2E Native-IP TE path deployment, and route | |||
advertisement among different BGP sessions. A new PST for Native-IP | prefixes advertisement among different BGP sessions. A new PST for | |||
is used to indicate the path setup based on TE in Native IP networks. | Native-IP is used to indicate 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 instance of BPI, EPR, or PPA object present, the | |||
receiving PCC MUST send a PCErr message with Error-type=19 (Invalid | receiving PCC MUST send a PCErr message with Error-type=19 (Invalid | |||
Operation) and Error-value=22 (Only one BPI, EPR or PPA object can be | Operation) and Error-value=22 (Only one BPI, EPR, or PPA object can | |||
included in this message). | be included in 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, object among BPI, EPR or PPA object | |||
MUST be present. | MUST be 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 are | |||
more than one instance of BPI, EPR or PPA objects present, the | more than one instance of BPI, EPR or PPA objects present, the | |||
receiving PCE MUST send a PCErr message with Error-type=19 (Invalid | receiving PCE MUST send a PCErr message with Error-type=19 (Invalid | |||
Operation) and Error-value=22 (Only one BPI, EPR or PPA object can be | Operation) and Error-value=22 (Only one BPI, EPR, or PPA object can | |||
included in this message). | be included in 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 492 ¶ | |||
| | 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 598 ¶ | |||
| |----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 648 ¶ | |||
| |----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 there is traffic | |||
from different attached points to the same destination coming into | from different attached points to the same destination coming into | |||
the network, they could share the priority path which may not be the | the network, they could share the priority path, which may not be the | |||
initial desire. For example, as illustrated in Figure 1, the initial | initial desire. For example, as illustrated in Figure 1, the initial | |||
aim is to ensure traffic that enters the network via R1 and exits the | aim is to ensure that traffic enters the network via R1 and exits the | |||
network at R7 via R5-R6-R7. If some traffic enters the network via | network at R7 via R5-R6-R7. If some traffic enters the network via | |||
the R2 router, passes through R5 and exits at R7, they may share the | the R2 router, passes through R5, and exits at R7, they may share the | |||
priority path among R5-R6-R7, which may not be the desired effect. | 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 IPinIP tunnel type [RFC2003] is used between the | |||
BGP peers by default. | 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 flag 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 IPinIP tunnel (the tunnel source | |||
1, the length is 4 bytes; when Object-Type is 2, the length is 16 | is the Local IP Address, and the tunnel destination is the Peer IP | |||
bytes. | 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. | |||
+============+==========+=====================================+ | +============+=================+===============================+ | |||
| Error-Type | Meaning | Error-value | | | Error-Type | Meaning | Error-value | | |||
+=======+===============+=====================================+ | +============+=================+===============================+ | |||
| 33 | Native IP TE failure | | | 6 | Mandatory | 19: Native IP object missing | | |||
| | | | | | Object missing | | | |||
+-------+---------------+-------------------------------------+ | +------------+-----------------+-------------------------------+ | |||
| | |0:Unassigned | | | 10 | Reception of an | 39: PCECC NATIVE-IP-TE- | | |||
+-------+---------------+-------------------------------------+ | | | invalid object | CAPABILITY bit is not set | | |||
| | |1:Local IP is in use | | +------------+-----------------+-------------------------------+ | |||
+-------+---------------+-------------------------------------+ | | 19 | Invalid | 22: Only one BPI, EPR, or PPA | | |||
| | |2:Remote IP is in use | | | | Operation | object can be included in | | |||
+-------+---------------+-------------------------------------+ | | | | this message | | |||
| | |3:Explicit Peer Route Error | | | | +-------------------------------+ | |||
+-------+---------------+-------------------------------------+ | | | | 29: Attempted Native-IP | | |||
| | |4:EPR/BPI Peer Info mismatch | | | | | operations when the | | |||
+-------+---------------+-------------------------------------+ | | | | capability was not advertised | | |||
| | |5:BPI/PPA Address Family mismatch | | | | +-------------------------------+ | |||
+-------+---------------+-------------------------------------+ | | | | 30: Unknown Native-IP Info | | |||
| | |6:PPA/BPI Peer Info mismatch | | +------------+-----------------+-------------------------------+ | |||
+-------+---------------+-------------------------------------+ | | 33 | Native IP TE | 1: Local IP is in use | | |||
| 6 | Mandatory Object missing | | | | failure | | | |||
| | | | | | +-------------------------------+ | |||
+-------+---------------+-------------------------------------+ | | | | 2: Remote IP is in use | | |||
| | |19:Native IP object missing | | | | +-------------------------------+ | |||
+-------+---------------+-------------------------------------+ | | | | 3: Explicit Peer Route Error | | |||
| 10 | Reception of an invalid object | | | | +-------------------------------+ | |||
| | | | | | | 4: EPR/BPI Peer Info mismatch | | |||
+-------+---------------+-------------------------------------+ | | | +-------------------------------+ | |||
| | |39:PCECC NATIVE-IP-TE-CAPABILITY bit | | | | | 5: BPI/PPA Address Family | | |||
| | |is not set | | | | | mismatch | | |||
+-------+---------------+-------------------------------------+ | | | +-------------------------------+ | |||
| 19 | Invalid Operation | | | | | 6: PPA/BPI Peer Info mismatch | | |||
| | | | +------------+-----------------+-------------------------------+ | |||
+-------+---------------+-------------------------------------+ | ||||
| | |22:Only one BPI, EPR or PPA object | | Table 1: Newly Defined Error-Type and Error-Values | |||
| | |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 protocol. Other parameters that | |||
needed for the BGP session setup SHOULD be derived from their default | are needed for the BGP session setup SHOULD be derived from their | |||
values. | default 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 protocol and report | |||
the successful status to the PCEP modules after the session is set | the 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 State 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 in addition to those already | |||
listed in [RFC5440]. The operator relies on existing IP liveness | listed in [RFC5440]. The operator relies on existing IP liveness | |||
detection and monitoring. | detection and 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 protocol, [RFC8231] | |||
PCEP extension for stateful PCE and [RFC8281] for PCE-Initiated LSP | for PCEP extension for stateful PCE, and [RFC8281] for PCE-Initiated | |||
setup SHOULD be considered. To prevent a bogus PCE from sending | LSP setup SHOULD be considered. To prevent a bogus PCE from sending | |||
harmful messages to the network nodes, the network devices SHOULD | harmful 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 suitable default values discussed in Section 9 aren't enough | |||
and securing the BGP transport is required(for example, the TCP-AO | and securing the BGP transport is required (for example, the TCP | |||
[RFC5925], it can be provided through the addition of optional TLVs | Authentication Option (TCP-AO) [RFC5925]), it can be provided through | |||
to the BGP Peer Info object that conveys the necessary additional | the addition of optional TLVs to the BGP Peer Info object that | |||
information (for example, a key chain [RFC8177]name). | 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 code point 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 2: 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 3: 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 code points 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 | | | ||||
| | | address | | | ||||
| | +-------------+-----------+ | ||||
| | | 2: IPv6 | | | ||||
| | | address | | | ||||
+--------------+-------------------+-------------+-----------+ | ||||
| 47 | Explicit Peer | 0: Reserved | RFC 9757 | | ||||
| | Route Object-Type | | | | ||||
| | +-------------+-----------+ | ||||
| | | 1: IPv4 | | | ||||
| | | address | | | ||||
| | +-------------+-----------+ | ||||
| | | 2: IPv6 | | | ||||
| | | address | | | ||||
+--------------+-------------------+-------------+-----------+ | ||||
| 48 | Peer Prefix | 0: Reserved | RFC 9757 | | ||||
| | Advertisement | | | | ||||
| | Object-Type | | | | ||||
| | +-------------+-----------+ | ||||
| | | 1: IPv4 | | | ||||
| | | address | | | ||||
| | +-------------+-----------+ | ||||
| | | 2: IPv6 | | | ||||
| | | address | | | ||||
+--------------+-------------------+-------------+-----------+ | ||||
IANA is requested to allocate new error types and error values within | Table 4: 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 | | |||
be included in this message | +============+=================+===============================+ | |||
29:Attempted Native-IP operations | | 6 | Mandatory | 19: Native IP object missing | | |||
when the capability was not advertised | | | Object missing | | | |||
30:Unknown Native-IP Info | +------------+-----------------+-------------------------------+ | |||
| 10 | Reception of an | 39: PCECC NATIVE-IP-TE- | | ||||
| | invalid object | CAPABILITY bit is not set | | ||||
+------------+-----------------+-------------------------------+ | ||||
| 19 | Invalid | 22: Only one BPI, EPR, or PPA | | ||||
| | Operation | object can be included in | | ||||
| | | this message | | ||||
| | +-------------------------------+ | ||||
| | | 29: Attempted Native-IP | | ||||
| | | operations when the | | ||||
| | | capability was not advertised | | ||||
| | +-------------------------------+ | ||||
| | | 30: Unknown Native-IP Info | | ||||
+------------+-----------------+-------------------------------+ | ||||
| 33 | Native IP TE | 0: Unassigned | | ||||
| | failure | | | ||||
| | +-------------------------------+ | ||||
| | | 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 | | ||||
+------------+-----------------+-------------------------------+ | ||||
33 Native IP TE failure | Table 5: 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 6: 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 7: 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 (IPnIP) bit | RFC 9757 | | ||||
+-----+---------------+-----------+ | ||||
16. References | Table 8: 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 1630 ¶ | |||
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>. | |||
skipping to change at page 37, line 15 ¶ | skipping to change at line 1671 ¶ | |||
[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 | ||||
Dhruv Dhody has 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 | Ren Tan | |||
End of changes. 221 change blocks. | ||||
767 lines changed or deleted | 836 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |