HTTP/2 200
date: Fri, 10 Oct 2025 20:49:42 GMT
content-type: application/rfc+xml; charset=utf-8
content-length: 16591
cf-ray: 98c8fc5baed8ad8b-BLR
last-modified: Fri, 14 Mar 2025 23:19:12 GMT
etag: "14aa9-63055aa901e9f-gzip"
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
cf-cache-status: DYNAMIC
set-cookie: __cf_bm=6ZCFDptfVd.anhHBO4WWYEW6ocVUiJlNyklFds9AQjk-1760129382-1.0.1.1-zEBlrg0RJalUNfNscsSUkTKN6F2.2HTYzLi580EgbhVIUmyxsayzyqEkd_d4PhQGcBt1pX6lbW6pacHNrlLC2PaN5OaQBXUvghnQJh59IpM; path=/; expires=Fri, 10-Oct-25 21:19:42 GMT; domain=.rfc-editor.org; HttpOnly; Secure; SameSite=None
server: cloudflare
alt-svc: h3=":443"; ma=86400
]>
Path Computation Element Communication
Protocol (PCEP) Extensions for Native IP NetworksChina TelecomBeiqijia Town, Changping DistrictBeijing102209Chinawangaijun@tsinghua.org.cnMTS Web Services (MWS)Andropova av., 18/9Moscow115432Russian Federationbhassanov@yahoo.comHuawei TechnologiesHuawei Bld., No.156 Beiqing Rd.BeijingChinafsheng@huawei.comZTE Corporation50 Software Avenue, Yuhua DistrictNanjingJiangsu210012Chinazhu.chun1@zte.com.cn
RTG
pceCCDRPCECCThis document introduces extensions to the Path Computation Element Communication Protocol
(PCEP) to support path computation in Native IP networks through a
PCE-based central control mechanism known as Centralized Control Dynamic
Routing (CCDR). These extensions empower a PCE to calculate and manage
paths specifically for Native IP networks, thereby expanding PCEP's
capabilities beyond its past use in MPLS and GMPLS networks. By
implementing these extensions, IP network resources can be utilized more
efficiently, facilitating the deployment of traffic engineering in
Native IP environments.IntroductionGenerally, Multiprotocol Label Switching Traffic Engineering
(MPLS-TE) requires the corresponding network devices to support the Resource
ReSerVation Protocol (RSVP) and the Label Distribution
Protocol (LDP) to ensure
End-to-End (E2E) traffic performance. But in Native IP network scenarios
described in , there will be no such signaling
protocol to synchronize the actions among different network devices. It
is feasible to use the central control mode described in to correlate the forwarding behavior among different
network devices.
describes the architecture and
solution philosophy for the E2E traffic assurance in the Native IP
network via a solution based on multiple Border Gateway Protocol (BGP) sessions.
It requires only the PCE to send the instructions to the Path Computation Clients (PCCs)
to build multiple BGP sessions, distribute different prefixes on the
established BGP sessions, and assign the different paths to the BGP next
hops.This document describes the corresponding Path Computation Element
Communication Protocol (PCEP) extensions to transfer the key information
about the BGP peer, peer prefix advertisement, and explicit peer route
on on-path routers.Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14
when, and only when, they appear in all capitals, as shown here.
Use of RBNFThe message formats in this document are illustrated using Routing
Backus-Naur Form (RBNF) encoding, as specified in . The use of RBNF is illustrative only and may elide
certain important details; the normative specification of messages is
found in the prose description. If there is any divergence between the
RBNF and the prose, the prose is considered authoritative.Experimental Status ConsiderationThe procedures outlined in this document are experimental. The
experiment aims to explore the use of PCE (and PCEP) for E2E
traffic assurance in Native IP networks through multiple BGP sessions.
Additional implementation is necessary to gain a deeper understanding
of the operational impact, scalability, and stability of the mechanism
described. Feedback from deployments will be crucial in determining
whether this specification should advance from Experimental to the
IETF Standards Track.TerminologyThis document uses the following terms defined in : PCC, PCE, and PCEP.Additionally, the following terminology is used in this document:
BPI:
BGP Peer Info
CCDR:
Centralized Control Dynamic Routing
CCI:
Central Controller Instructions (defined in )
E2E:
End-to-End
EPR:
Explicit Peer Route
Native IP network:
Network that forwards traffic based solely on
the IP address, instead of another indicator, for example, MPLS,
etc.
PCECC:
PCE as a Central Controller (defined in )
PPA:
Peer Prefix Advertisement
PST:
Path Setup Type (defined in )
SRP:
Stateful PCE Request Parameter (defined in )
RR:
Route Reflector
Capability AdvertisementOpen MessageDuring the PCEP Initialization Phase, PCEP speakers (PCE or PCC)
advertise their support of Native IP extensions.This document defines a new Path Setup Type (PST) for Native IP, as follows:
PST = 4: Path is a Native IP TE path as per .
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 object with this new PST included in the PST list. defined the PCECC-CAPABILITY sub-TLV to
exchange information about the PCEP speakers' PCECC capability. A new flag is
defined in the PCECC-CAPABILITY sub-TLV for Native IP:N (NATIVE-IP-TE-CAPABILITY - 1 bit - 30): When set to 1 by a PCEP
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 and
PCE MUST set this flag to support this extension.If a PCEP speaker receives the PATH-SETUP-TYPE-CAPABILITY TLV with
the newly defined PST, but without the N bit set in
PCECC-CAPABILITY sub-TLV, it MUST:
send a PCErr message with Error-Type=10 (Reception of an
invalid object) and Error-value=39 (PCECC NATIVE-IP-TE-CAPABILITY
bit is not set) and
terminate the PCEP session.
If a PCEP speaker receives the PATH-SETUP-TYPE-CAPABILITY TLV with
the newly defined PST, but without the PCECC-CAPABILITY
sub-TLV, it MUST:
send a PCErr message with Error-Type=10 (Reception of an invalid
object) and Error-value=33 (Missing PCECC Capability sub-TLV) and
terminate the PCEP session.
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 used. If a Native IP operation is attempted when both speakers have
not agreed on the OPEN messages, the receiver of the message MUST:
send a PCErr message with Error-Type=19 (Invalid Operation) and
Error-value=29 (Attempted Native IP operations when the
capability was not advertised) and
terminate the PCEP session.
PCEP MessagesThe PCECC Native IP TE solution uses the existing PCE Label Switched Path
(LSP) Initiate Request message (PCInitiate)
and PCE Report message (PCRpt) to establish
multiple BGP sessions, deploy the E2E Native IP TE path,
and advertise route prefixes among different BGP
sessions. A new PST for Native IP is used to indicate the path setup
based on TE in Native IP networks.The extended PCInitiate message described in
is used to download or remove the Central Controller Instructions
(CCI). specifies an object called CCI for the
encoding of the central controller's instructions. This document
specifies a new CCI Object-Type for Native IP. The PCEP messages are
extended in this document to handle the PCECC operations for Native IP.
Three new PCEP objects (BGP Peer Info (BPI), Explicit Peer Route
(EPR), and Peer Prefix Advertisement (PPA)) are defined in
this document. Refer to for detailed object
definitions. All PCEP procedures specified in
continue to apply unless specified otherwise.The PCInitiate MessageThe PCInitiate message defined in and
extended in is further extended to support
Native IP CCI.The format of the extended PCInitiate message is as follows:
::=
]]>Where: is defined in RFC 5440
::=
[]
::=
(|
|
)
::= ::=
[||]
[]
]]>Where:
<PCE-initiated-lsp-instantiation> and
<PCE-initiated-lsp-deletion> are as per .
The LSP and SRP objects are defined in .
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 present. Error handling for missing SRP, LSP, or CCI objects MUST be
performed as specified in . Additionally,
exactly one object among the BPI, EPR, or PPA objects MUST be present.
The PCEP-specific LSP
identifier (PLSP-ID) and Symbolic Path Name TLVs are set as per the existing
rules in , , and . The Symbolic Path Name is used by the PCE/PCC to
uniquely identify the E2E Native IP TE path. The related Native IP
instructions with 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 MUST send a PCErr message with Error-Type=6 (Mandatory Object
missing) and Error-value=19 (Native IP object missing). If there is
more than one BPI, EPR, or PPA object present, the
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
included in this message).When the PCInitiate message is not used for Native IP instructions,
i.e., when the CCI Object-Type is not equal to 2, the BPI, EPR, and PPA
objects SHOULD NOT be present. If present, they MUST be ignored by the
receiver.To clean up the existing Native IP instructions, the SRP object
MUST set the R (remove) bit.The PCRpt MessageThe PCRpt message is used to acknowledge the Native IP instructions
received from the central controller (PCE) as well as during the State
Synchronization phase.The format of the PCRpt message is as follows: ::=
]]>Where: ::= []
::= (|
)
::= []
::= []
::=
[||]
[]
]]>Where:
<path> is as per .
The LSP and SRP objects are also defined in .
The error handling for missing CCI objects is as per . Furthermore, one and only one BPI,
EPR, or PPA object MUST be present.If none of the BPI, EPR, or PPA objects are present, the receiving
PCE MUST send a PCErr message with Error-Type=6 (Mandatory Object
missing) and Error-value=19 (Native IP object missing). If there is
more than one BPI, EPR, or PPA object present, the
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
included in this message).When the PCInitiate message is not used for Native IP instructions,
i.e., when the CCI Object-Type is not equal to 2, the BPI, EPR, and PPA
objects SHOULD NOT be present. If present, they MUST be ignored by the
receiver.PCECC Native IP TE ProceduresThe detailed procedures for the TE in the Native IP environment are
described in the following sections.BGP Session Establishment ProceduresThe PCInitiate and PCRpt message pair is used to exchange the
configuration parameters for a BGP peer session. This pair of PCEP
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 session has
been initiated via this pair of PCEP messages, the BGP session
establishes and operates in a normal fashion. The BGP peers can be
used for External BGP (EBGP) peers or Internal BGP (IBGP) peers. For
IBGP connection topologies, the Route Reflector (RR) is required.The PCInitiate message is sent to the BGP router and/or RR (which
are acting as the PCC).The RR topology for a single Autonomous System (AS) is shown in
. The BGP routers R1, R3, and R7 are within a single AS. R1
and R7 are BGP RR clients, and R3 is an RR. The PCInitiate message is
sent to the BGP routers R1, R3, and R7, which need to establish a BGP
session.PCInitiate message creates an autoconfiguration function for these
BGP peers by providing the indicated Peer AS and the Local/Peer IP
Address.When the PCC receives the BPI and CCI objects (with the R bit set 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 the AS and
Local/Peer IP Address.During the establishment procedure, the PCC MUST report
the status of 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
corresponding SRP and CCI objects included.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
configuration and tear down the BGP session that is indicated by the
BPI object.When the PCC successfully clears the specified BGP session
configuration, it MUST report the result via the PCRpt message, with
the BPI object and the corresponding SRP and CCI
objects included.BGP Session Establishment Procedures (R3 acts as the RR) PCE <----------+
| +--------^---------+ |
| | |
| PCInitiate/PCRpt |
| | |
| +----v--+ |
+---------------+ R3(RR)+-----------------+
| +-------+ |
PCInitiate/PCRpt PCInitiate/PCRpt
| |
+v-+ +--+ +--+ +-v+
|R1+----------+R5+----------+R6+---------+R7|
++-+ +-++ +--+ +-++
| | |
| +--+ +--+ |
+------------+R2+----------+R4+-----------+
+--+ +--+
]]>The message peers, message types, message key parameters, and
procedures in the above figure are shown below:Message Information and Procedures|
| | | |BPI Object(Peer AS, Local_IP=R1_A, Peer_IP=R3_A)|
+--------+ | |
| | (For R1/R3 BGP Session on R3) |
| |<--PCInitiate,CC-ID=Y1,Symbolic Path Name=Class A-----|
| | BPI Object(Peer AS, Local_IP=R3_A, Peer_IP=R1_A)|
| |---PCRpt,CC-ID=Y1,Symbolic Path Name=Class A--------->|
| | BPI Object(Peer AS, Local_IP=R3_A, Peer_IP=R1_A)|
| | |
| | (For R3/R7 BGP Session on R3) |
| |<--PCInitiate,CC-ID=Y2,Symbolic Path Name=Class A-----|
| | BPI Object(Peer AS, Local_IP=R3_A, Peer_IP=R7_A) |
| |----PCRpt,CC-ID=Y2,Symbolic Path Name=Class A-------->|
| | BPI Object(Peer AS, Local_IP=R3_A, Peer_IP=R7_A) |
| |
| (For R3/R7 BGP Session on R7) |
|<--PCInitiate,CC-ID=Z,Symbolic Path Name=Class A--------------|
| BPI Object(Peer AS, Local_IP=R7_A, Peer_IP=R3_A) |
|---PCRpt,CC-ID=Z,Symbolic Path Name=Class A------------------>|
| BPI Object(Peer AS, Local_IP=R7_A, Peer_IP=R3_A) |
]]>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 that
are established manually or in other ways. If the Local IP Address or
Peer IP Address within the BPI object is used in other existing BGP
sessions, the PCC MUST report such an error situation via a PCErr
message with:
Error-Type=33 (Native IP TE failure) and Error-value=1 (Local
IP is in use) or
Error-Type=33 (Native IP TE failure) and Error-value=2 (Remote
IP is in use).
The detailed Error-Types and Error-values are defined in .If the established BGP session is broken, the PCC MUST report such
information via a PCRpt message with the status field set to "BGP
session down" in the associated BPI object. The error code field
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 again,
the PCC MUST report that as well via the PCRpt message with the status
field set to "BGP Session Established".Explicit Route Establishment ProceduresThe explicit route establishment procedures can be used by a PCE to
install a route on the PCC, using the PCInitiate and PCRpt message
pair. Such explicit routes operate the same as static routes installed
by network management protocols (e.g., Network Configuration Protocol
(NETCONF) / YANG). The procedures of such explicit route addition and
removal MUST be controlled by the PCE in a specific order so that the
pathways are established without loops.For the purpose of explicit route addition, the PCInitiate message
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 is sent
to R1, R2, and R4, as shown in . For the explicit route from R7
to R1, the PCInitiate message is sent to R7, R4, and R2, as shown in
.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
install the explicit route to the peer in the RIB/FIB.When the PCC successfully installs the explicit route to the peer,
it MUST report the result via the PCRpt message, with the EPR object
and the corresponding SRP and CCI objects included.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
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 object, it MUST report the result via the PCRpt message, with the
EPR object and the corresponding SRP and CCI objects included.Explicit Route Establish Procedures (from R1 to R7) PCE +
| +----^-----------^-+
| | |
| | |
| | +------+ |
+---------------|-+R3(RR)+--|-------------+
PCInitiate/PCRpt | +------+ | |
| | | |
+v-+ +--+ | | +--+ +--+
|R1+------+R5+---+-----------|---+R6+----+R7|
++-+ +--+ | | +--+ +-++
| PCInitiate/PCRpt PCInitiate/PCRpt |
| | | |
| +--v--+ +--v-+ |
+------------+- R2 +-----+ R4 +-----------+
+--+--+ +--+-+
]]>The message peers, message types, message key parameters, and
procedures in the above figure are shown below:Message Information and Procedures|
| | | | EPR Object(Peer Address=R7_A, Next Hop=R7_A)|
+--------+ | |
| | (EPR route on R2) |
| |<--PCInitiate,CC-ID=Y,Symbolic Path Name=Class A-----|
| | EPR Object(Peer Address=R7_A, Next Hop=R4_A) |
| |----PCRpt,CC-ID=Y,Symbolic Path Name=Class A-------->|
| | EPR Object(Peer Address=R7_A, Next Hop=R4_A) |
| | |
| |
| (EPR route on R1) |
|<--PCInitiate,CC-ID=X,Symbolic Path Name=Class A-------------|
| EPR Object(Peer Address=R7_A, Next Hop=R2_A) |
|---PCRpt,CC-ID=X1(Symbolic Path Name=Class A)--------------->|
| EPR Object(Peer Address=R7_A, Next Hop=R2_A) |
]]>Explicit Route Establish Procedures (from R7 to R1)The message peers, message types, message key parameters, and
procedures in the above figure are shown below:Explicit Route Establish Procedures (from R7 to R1)|
| | | | EPR Object(Peer Address=R1_A, Next Hop=R1_A) |
+--------+ | |
| | (EPR route on R4) |
| |<--PCInitiate,CC-ID=Y,Symbolic Path Name=Class A-----|
| | EPR Object(Peer Address=R1_A, Next Hop=R2_A) |
| |----PCRpt,CC-ID=Y,Symbolic Path Name=Class A-------->|
| | EPR Object(Peer Address=R1_A, Next Hop=R2_A) |
| | |
| |
| (EPR route on R7) |
|<--PCInitiate,CC-ID=Z,Symbolic Path Name=Class A-------------|
| EPR Object(Peer Address=R1_A, Next Hop=R4_A) |
|---PCRpt,CC-ID=Z,Symbolic Path Name=Class A----------------->|
| EPR Object(Peer Address=R1_A, Next Hop=R4_A) |
]]>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 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.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 but a different next-hop address.The PCC MUST verify that the next-hop address is reachable. In case
of failure, the PCC MUST send the corresponding error via a PCErr
message, with the error information: Error-Type=33 (Native IP TE
failure) and Error-value=3 (Explicit Peer Route Error).When the peer info is not the same as the peer info that is
indicated 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 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 used in case no BPI is received at the PCC.If the PCE needs to update the path, it MUST first instruct the new
CCI with the updated EPR corresponding to the new next hop to use and then
instruct the removal of the older CCI.BGP Prefix Advertisement ProceduresThe detailed procedures for BGP prefix advertisement are shown
below, using the PCInitiate and PCRpt message pair.The PCInitiate message SHOULD be sent to the PCC that acts as a BGP
peer edge router only. In the example, it is sent to R1 and R7,
respectively.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
send the prefixes indicated in this object to the identified BGP peer
via the corresponding BGP session .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 object and the corresponding SRP and CCI objects included.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
withdraw the prefix advertisement to the peer indicated by this
object.When the PCC successfully withdraws the prefixes that are indicated
by this object, it MUST report the result via the PCRpt message, with
the PPA object and the corresponding SRP and CCI
objects included.BGP Prefix Advertisement Procedures PCE <-----------+
| +------------------+ |
| +--+ |
+------------------+R3+-------------------+
PCInitiate/PCRpt +--+ PCInitiate/PCRpt
| |
+v-+ +--+ +--+ +-v+
|R1+----------+R5+----------+R6+---------+R7|
++-+ +--+ +--+ +-++
(BGP Router) (BGP Router)
| |
| |
| +--+ +--+ |
+------------+R2+----------+R4+-----------+
+--+ +--+
]]>The message peers, message types, message key parameters, and
procedures in the above figure are shown below:Message Information and Procedures|
| | 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) |
| |
]]>The AFI/SAFI for the corresponding BGP session SHOULD match the
Peer Prefix Advertisement Object-Type, i.e., AFI/SAFI SHOULD be 1/1 for the
IPv4 prefix and 2/1 for the IPv6 prefix. In case of mismatch, an
error, i.e., Error-Type=33 (Native IP TE failure) and Error-value=5 (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 in the BPI object in the PCC for the same path that is
identified by Symbolic Path Name TLV, an error, i.e., Error-Type=33 (Native
IP TE failure) and Error-value=6 (PPA/BPI Peer Info mismatch), MUST be
reported via the PCErr message. Note that the same error can be used
in case no BPI is received at the PCC.Selection of the Raw Mode and Tunnel Mode Forwarding StrategyNormally, when the above procedures are finished, the user traffic
will be forwarded via the appointed path, but the forwarding will be
based solely on the destination of user traffic.
If traffic is coming into the network
from different attached points but to the same destination,
they could share the priority path, which may not be the
initial desire. For example, as illustrated in , the initial
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 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.The above normal traffic forwarding behavior is clarified as a Raw
mode forwarding strategy. Such a mode can only achieve the moderate
traffic path control effect. To achieve the strict traffic path
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
also between the BGP peer established via .
Such forwarding behavior is called the Tunnel mode forwarding
strategy. For simplicity, the IP-in-IP tunnel type is used between the BGP peers by default.The selection of Raw mode and Tunnel mode forwarding strategies are
controlled via the T bit in the BPI object, which is defined in CleanupTo remove the Native IP state from the PCC, the PCE MUST send
explicit CCI cleanup instructions for PPA, EPR, and BPI objects,
respectively, with the R bit set in the SRP object. If the PCC
receives a PCInitiate message but does not recognize the Native IP
information in the CCI, the PCC MUST generate a PCErr message with
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 the corresponding cleanup (via a PCInitiate message).Other ProceduresThe handling of the State Synchronization, redundant PCEs,
redelegation, and cleanup is the same as other CCIs as specified in
.New PCEP ObjectsOne new CCI Object-Type and three new PCEP objects are defined in
this document. All new PCEP objects are as per .CCI ObjectThe Central Control Instructions (CCI) Object (defined in ) is used by the PCE to specify the forwarding
instructions. This document defines another Object-Type for Native IP
procedures.The CCI Object-Type is 2 for Native IP, as follows: CCI Object for Native IPThe CC-ID field is as described in . The
following fields are defined for CCI Object-Type 2.
Reserved:
2 bytes. Set to zero while sending and
ignored on receipt.
Flags:
2 bytes. Used to carry any additional
information about the Native IP CCI. Currently, no flag bits are
defined. Unassigned flags are set to zero while sending and
ignored on receipt.
Optional TLVs may be included within the CCI object body. The
Symbolic Path Name TLV MUST be included in
the CCI Object-Type 2 to identify the E2E TE path in the Native IP
environment.BGP Peer Info ObjectThe BGP Peer Info (BPI) object is used to specify the information about
the peer with which the PCC wants to establish the BGP session. This
object is included and sent to the source and destination router of
the E2E path in case there is no Route Reflection (RR) involved. If
the RR is used between the source and destination routers, then such
information is sent to the source router, RR, and destination router,
respectively.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
used by other BGP sessions that are established by manual or other
configuration mechanisms.The BGP Peer Info Object-Class is 46.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) is as follows:BGP Peer Info Object Body Format for IPv4The format of the BGP Peer Info object body for IPv6
(Object-Type=2) is as follows:BGP Peer Info Object Body Format for IPv6
Peer AS Number:
4 bytes. Indicates the AS number of the Remote
Peer. Note that if 2-byte AS numbers are in use, the low-order bits (16
through 31) are used, and the high-order bits (0 through 15) are set to
zero.
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:
0:
Reserved
1:
BGP Session Established
2:
BGP Session Establishment In Progress
3:
BGP Session Down
4-255:
Reserved
Error Code:
1 byte. Indicates the reason that the BGP session
can't be established.
0:
Unspecific
1:
ASes do not match, BGP Session Failure
2:
Peer IP can't be reached, BGP Session Failure
3-255:
Reserved
Flag:
1 byte.Currently, only bit 7 (T bit) is defined. When the T bit is set, the
traffic SHOULD be sent in the IP-in-IP tunnel (the tunnel source is
the Local IP Address, and the tunnel destination is the Peer IP Address). When the T bit is
cleared, the traffic is sent via its original source and destination
address. The Tunnel mode (i.e., the T bit is set) is used when the operator wants to
ensure only the traffic from the specified (entry, exit) pair, and the Raw
mode (i.e., the T bit is clear) is used when the operator wants to ensure traffic from
any entry to the specified destination. Unassigned flags are set to zero
while sending and ignored on receipt.
Local IP Address(4/16 bytes):
Unicast IP address of the local
router, used to peer with another end router. When the Object-Type is 1, the
length is 4 bytes; when the Object-Type is 2, the length is 16 bytes.
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
establishment. No TLVs are currently defined.
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.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.Explicit Peer Route ObjectThe Explicit Peer Route (EPR) object is defined to specify the explicit
peer route to the corresponding peer address on each device that is on
the E2E Native IP TE path. This Object ought to be sent to all the
devices on the path that are calculated by the PCE. Although the object
is named "Explicit Peer Route", it can be seen that the
routes it installs are simply host routes. The use of this object to
install host routes for any purpose other than reaching the
corresponding peer address on each device that is on the E2E Native IP
TE path is outside the scope of this specification.By default, the path established by this object MUST have higher
priority than the other paths calculated by the dynamic IGP protocol and
MUST have lower priority than the static route configured by manual,
NETCONF, or any other static means.The Explicit Peer Route Object-Class is 47.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-Type=1) is as follows:Explicit Peer Route Object Body Format for IPv4The format of the Explicit Peer Route object body for IPv6
(Object-Type=2) is as follows: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 used to indicate the preferred path at
each hop.
Reserved:
Set to zero while sending and ignored on receipt.
Peer (IPv4/IPv6) Address:
Peer address for the BGP
session (4/16 bytes).
Next Hop (IPv4/IPv6) Address to the Peer:
Indicates
the next-hop address (4/16 bytes) to the corresponding peer
address.
Optional TLVs:
TLVs that are associated with this
object; can be used to convey other necessary information for
explicit peer path establishment. No TLVs are currently defined.
Peer Prefix Advertisement ObjectThe Peer Prefix Advertisement (PPA) object is defined to specify the IP
prefixes that are advertised to the corresponding peer. This object
only needs to be included and sent to the source/destination router of
the E2E path.The prefix information included in this object MUST only be
advertised to the indicated peer and SHOULD NOT be advertised to
other BGP peers.The Peer Prefix Advertisement Object-Class is 48.The Peer Prefix Advertisement Object-Type is 1 for IPv4 and 2 for
IPv6.The format of the Peer Prefix Advertisement object body for IPv4 is as
follows:Peer Prefix Advertisement Object Body Format for IPv4The format of the Peer Prefix Advertisement object body for IPv6 is as
follows: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.
Reserved:
3 bytes. Ought to be set to zero
while sending and ignored on receipt.
Prefix Len:
1 byte. Identifies the length
of the prefix.
Optional TLVs:
TLVs that are associated with this
object; can be used to convey other necessary information for
prefix advertisement. No TLVs are currently defined.
For IPv4:
Peer IPv4 Address:
4 bytes. Identifies the
Peer IPv4 Address that the associated prefixes will be sent
to.
IPv4 Prefix:
4 bytes. Identifies the prefix
that will be sent to the peer identified by the Peer IPv4
Address.
For IPv6:
Peer IPv6 Address:
16 bytes. Identifies the
Peer IPv6 Address that the associated prefixes will be sent
to.
IPv6 Prefix:
Identifies the prefix that will be
sent to the peer identified by the Peer IPv6 Address.
If in the future a requirement is identified to advertise IPv4
prefixes towards an IPv6 peering address or IPv6 prefixes towards an
IPv4 peering address, then a new Peer Prefix Advertisement
Object-Type can be defined for these purposes.New Error-Type and Error-Values DefinedA PCEP-ERROR object is used to report a PCEP error and is
characterized by an Error-Type that specifies that type of error and an
Error-value that provides additional information about the error. An
additional Error-Type and several Error-values are defined to represent
the errors related to the newly defined objects that are related to
Native IP TE procedures. See for the newly defined
Error-Type and Error-values.BGP ConsiderationsThis document defines procedures and objects to create the BGP
sessions and to advertise the associated prefixes dynamically. Only the key
information, for example, Peer IP Addresses, and Peer AS numbers are
exchanged via the PCEP. Other parameters that are needed for
the BGP session setup SHOULD be derived from their default values.When the PCE sends out the PCInitiate message with the BPI object
embedded to establish the BGP session between the PCC peers, the PCC
SHOULD report the BGP session status. For instance, the PCC could
respond with "BGP Session Establishment In Progress" initially and, on
session establishment, send another PCRpt message with the state updated
to "BGP Session Established". If there is any error during the BGP
session establishment, the PCC SHOULD indicate the reason with the
appropriate status value set in the BPI object.Upon receiving such key information, the BGP module on the PCC SHOULD
try to accomplish the task appointed by the PCEP and report the
successful status to the PCEP modules after the session is set up.There is no influence on the current implementation of the BGP Finite
State Machine (FSM). PCEP focuses only on the success and failure
status of the BGP session and acts upon such information
accordingly.The error-handling procedures related to incorrect BGP parameters are
specified in Sections , , and .Deployment ConsiderationsThe information transferred in this document is mainly used for the
BGP session setup, explicit route deployment, and prefix
distribution. The planning, allocation, and distribution of the peer
addresses within IGP need to be accomplished in advance, and they are
out of the scope of this document.The communication of PCE and PCC described in this document MUST
follow the State Synchronization procedures described in , i.e., treat the three newly defined objects (BPI, EPR, and
PPA) associated with the same Symbolic Path Name as the attribute of the
same path in the LSP Database (LSP-DB).When the PCE detects that one or some of the PCCs are out of its control, it
MUST recompute and redeploy the traffic engineering path for Native IP
on the currently active PCCs. The PCE MUST ensure the avoidance of the
possible transient loop in such node failure when it deploys the
explicit peer route on the PCCs.In case of a PCE failure, a new PCE can gain control over the Central
Controller Instructions as described in .As per the PCEP procedures in , the State
Timeout Interval timer is used to ensure that a PCE failure does not
result in automatic and immediate disruption for the services.
Similarly, as per , the Central Controller
Instructions are not removed 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 expiration of this timer. This allows for
network cleanup without manual intervention. The PCC supports the
removal of CCI as one of the behaviors applied on the expiration of the
State Timeout Interval timer.Manageability ConsiderationsControl of Function and PolicyA PCE or PCC implementation SHOULD allow the PCECC Native IP
capability to be enabled/disabled as part of the global
configuration.Information and Data Models describes the PCEP MIB; this MIB could be
extended to get the PCECC Native IP capability status. The PCEP YANG module
could be extended to
enable/disable the PCECC Native IP capability.Liveness Detection and MonitoringMechanisms defined in this document do not imply any new liveness
detection and monitoring requirements beyond those already listed in
. The operator relies on existing IP
liveness detection and monitoring.Verify Correct OperationsVerification of the mechanisms defined in this document can be
built on those already listed in , , and . Further, the operator
needs to be able to verify the status of BGP sessions and prefix
advertisements.Requirements on Other ProtocolsMechanisms defined in this document require the interaction with
BGP. describes in detail the
considerations regarding the BGP. 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 used by other BGP
sessions that are established manually or in other ways.Impact on Network Operations describes the various deployment
considerations in CCDR architecture and their impact on network
operations.Security ConsiderationsIn this setup, the BGP sessions, prefix advertisement, and explicit
peer route establishment are all controlled by the PCE. See for classical BGP
implementation security considerations and for classical BGP
vulnerabilities analysis. Security considerations in for the basic PCEP, for
PCEP extension for stateful PCE, and for
PCE-initiated LSP setup SHOULD be considered. To prevent a bogus PCE
from sending harmful messages to the network nodes, the network devices
SHOULD authenticate the PCE and ensure a secure communication channel
between them. Thus, the mechanisms described in
for the usage of TLS for PCEP and for
protection against malicious PCEs SHOULD be used.If the default values discussed in aren't enough and securing the BGP
transport is required (for example, by using TCP Authentication Option (TCP-AO) ),
a suitable value can be provided through the addition of optional TLVs to the BGP Peer
Info object that conveys the necessary additional information (for
example, a key chain name).IANA ConsiderationsPCEP Path Setup Types created the "PCEP
Path Setup Types" registry within the "Path
Computation Element Protocol (PCEP) Numbers" registry group. IANA has
allocated a new codepoint
within this registry, as follows:
PCEP Path Setup Types Registry
Value
Description
Reference
4
Native IP TE Path
RFC 9757
PCECC-CAPABILITY Sub-TLV Flag Field created the "PCECC-CAPABILITY sub-TLV" registry within the "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:
PCECC-CAPABILITY Sub-TLV Registry
Bit
Name
Reference
30
Native IP
RFC 9757
PCEP ObjectsIANA has allocated new codepoints in the "PCEP Objects"
registry, as follows:
PCEP Objects Registry
Object-Class Value
Name
Object-Type
Reference
44
CCI Object-Type
2: Native IP
RFC 9757
46
BGP Peer Info Object-Type
0: Reserved
RFC 9757
1: IPv4 address
RFC 9757
2: IPv6 address
RFC 9757
47
Explicit Peer Route Object-Type
0: Reserved
RFC 9757
1: IPv4 address
RFC 9757
2: IPv6 address
RFC 9757
48
Peer Prefix Advertisement Object-Type
0: Reserved
RFC 9757
1: IPv4 address
RFC 9757
2: IPv6 address
RFC 9757
PCEP-Error ObjectsIANA has allocated a new Error-Type and several Error-values
in the "PCEP-ERROR Object Error Types and Values" registry within
the "Path Computation Element Protocol (PCEP) Numbers" registry group, as follows:
PCEP-ERROR Object Error Types and Values Registry
Error-Type
Meaning
Error-value
Reference
6
Mandatory Object missing
19: Native IP object missing
RFC 9757
10
Reception of an invalid object
39: PCECC NATIVE-IP-TE-CAPABILITY bit is not set
RFC 9757
19
Invalid Operation
22: Only one BPI, EPR, or PPA object can be included in this message
RFC 9757
29: Attempted Native IP operations when the capability was not advertised
RFC 9757
30: Unknown Native IP Info
RFC 9757
33
Native IP TE failure
0: Unassigned
RFC 9757
1: Local IP is in use
RFC9757
2: Remote IP is in use
RFC 9757
3: Explicit Peer Route Error
RFC 9757
4: EPR/BPI Peer Info mismatch
RFC 9757
5: BPI/PPA Address Family mismatch
RFC 9757
6: PPA/BPI Peer Info mismatch
RFC 9757
The reference for each new Error-Type/Error-value should be set to this
document.CCI Object Flag FieldIANA has created the "CCI Object Flag Field
for Native IP" registry to manage the
16-bit Flag field of the new CCI object. New values are to be assigned by
IETF Review . Each bit should
be tracked with the following qualities:
bit number (counting from bit 0 as the most significant bit
and bit 15 as the least significant bit)
capability description
defining RFC
Currently, no flags are assigned.BPI Object Status CodesIANA 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 . Each value should be tracked with the following
qualities: value, meaning, and defining RFC. The following values are
defined in this document:
BPI Object Status Code Field Registry
Value
Meaning
Reference
0
Reserved
RFC 9757
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
BPI Object Error CodesIANA has created the "BPI Object Error
Code Field" registry within the "Path Computation Element Protocol (PCEP)
Numbers" registry group. New values are assigned by IETF Review . Each value should be tracked with the following
qualities: value, meaning, and defining RFC. The following values are
defined in this document:
BPI Object Error Code Field Registry
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 Failure
RFC 9757
3-255
Unassigned
RFC 9757
BPI Object Flag FieldIANA 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 .
Each bit should be tracked with the following qualities:
bit number (counting from bit 0 as the most significant
bit)
capability description
defining RFC
The following values are defined in this document:
BPI Object Flag Field Registry
Bit
Meaning
Reference
0-6
Unassigned
7
T (IP-in-IP) bit
RFC 9757
ReferencesNormative ReferencesInformative ReferencesAcknowledgementsThanks to , , , and for their valuable suggestions and
comments.Contributors and have contributed to this document.