RFC 9757

Path Computation Element Communication Protocol (PCEP) Extensions for Native IP Networks

๐Ÿ“… published March 2025, from ietf

RFC 9757: Path Computation Element Communication Protocol (PCEP) Extensions for Native IP Networks ๐Ÿฆ‹

okay bestie, this is an Experimental RFC from the IETF, dated March 2025. ๐ŸŽ€ It's numbered RFC 9757 and the ISSN is 2070-1721. The authors are A. Wang from China Telecom, B. Khasanov from MTS Web Services (MWS), S. Fang from Huawei Technologies, and C. Zhu from ZTE Corporation. ๐Ÿ’– The header doesn't have an "Obsoletes" or "Updates" line, so it doesn't list any RFCs as obsoleted or updated. โœจ

Abstract

this doc adds extensions to PCEP so a PCE can do path computation in Native IP networks ๐Ÿงš through a PCE-based central control mechanism called Centralized Control Dynamic Routing (CCDR). the PCE can calculate and manage paths just for Native IP networks, so PCEP grows past its old job in MPLS and GMPLS networks. ๐Ÿ”ฅ once these extensions are in place, IP network resources get used more efficiently, which makes traffic engineering easier to deploy in Native IP environments. it's giving main character energy ๐Ÿ‘‘

Status of This Memo

ngl this part is the legal-ish stuff, but it's important ๐Ÿ’… this document is not an Internet Standards Track specification. it's published for examination, experimental implementation, and evaluation. ๐Ÿงช

it defines an Experimental Protocol for the Internet community ๐ŸŒˆ and it's a product of the Internet Engineering Task Force (IETF). it represents the consensus of the IETF community and got public review. the Internet Engineering Steering Group (IESG) approved it for publication. not every IESG-approved doc is a candidate for any level of Internet Standard, so check Section 2 of RFC 7841 if you want the details. ๐Ÿ™ˆ

for the current status, any errata, and how to send feedback, go to https://www.rfc-editor.org/info/rfc9757 โœจ

Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved. ๐Ÿซถ

this document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they stand on the publication date. please read these carefully, because they spell out your rights and restrictions for this document. ๐Ÿ“œ code components pulled out of this document must include Revised BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come with no warranty, as described in the Revised BSD License. ๐Ÿ’œ

Table of Contents ๐ŸŽ€

1.  Introduction
2.  Conventions Used in This Document
  2.1.  Use of RBNF
  2.2.  Experimental Status Consideration
3.  Terminology
4.  Capability Advertisement
  4.1.  Open Message
5.  PCEP Messages
  5.1.  The PCInitiate Message
  5.2.  The PCRpt Message
6.  PCECC Native IP TE Procedures
  6.1.  BGP Session Establishment Procedures
  6.2.  Explicit Route Establishment Procedures
  6.3.  BGP Prefix Advertisement Procedures
  6.4.  Selection of the Raw Mode and Tunnel Mode Forwarding
        Strategy
  6.5.  Cleanup
  6.6.  Other Procedures
7.  New PCEP Objects
  7.1.  CCI Object
  7.2.  BGP Peer Info Object
  7.3.  Explicit Peer Route Object
  7.4.  Peer Prefix Advertisement Object
8.  New Error-Type and Error-Values Defined
9.  BGP Considerations
10. Deployment Considerations
11. Manageability Considerations
  11.1.  Control of Function and Policy
  11.2.  Information and Data Models
  11.3.  Liveness Detection and Monitoring
  11.4.  Verify Correct Operations
  11.5.  Requirements on Other Protocols
  11.6.  Impact on Network Operations
12. Security Considerations
13. IANA Considerations
  13.1.  PCEP Path Setup Types
  13.2.  PCECC-CAPABILITY Sub-TLV Flag Field
  13.3.  PCEP Objects
  13.4.  PCEP-Error Objects
  13.5.  CCI Object Flag Field
  13.6.  BPI Object Status Codes
  13.7.  BPI Object Error Codes
  13.8.  BPI Object Flag Field
14. References
  14.1.  Normative References
  14.2.  Informative References
Acknowledgements
Contributors
Authors' Addresses

1. Introduction ๐ŸŒธ

okay so, MPLS-TE normally needs the network devices to support the Resource ReSerVation Protocol (RSVP) [RFC3209] and the Label Distribution Protocol (LDP) [RFC5036] so that End-to-End (E2E) traffic performance is guaranteed. ๐Ÿ’… but in the Native IP network scenarios from [RFC8735], there's no signaling protocol to keep the actions of different network devices in sync. ๐Ÿ™ˆ it's doable to use the central control mode from [RFC8283] to line up the forwarding behavior across devices. ๐Ÿ”ฅ

then [RFC8821] describes the architecture and solution philosophy for E2E traffic assurance in a Native IP network, using multiple Border Gateway Protocol (BGP) sessions. ๐Ÿงš the only thing the PCE has to do is send instructions to the Path Computation Clients (PCCs) so they can build multiple BGP sessions, spread different prefixes across those sessions, and assign different paths to the BGP next hops. it's so clean, no cap โœจ

this document describes the PCEP extensions that carry the key info about the BGP peer, the peer prefix advertisement, and the explicit peer route on on-path routers. ๐Ÿ’–

2. 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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. ๐Ÿ’… so the capital letters are the whole point, don't lowercase them lol ๐Ÿ˜ญ

2.1. Use of RBNF

the message formats in this document are shown with Routing Backus-Naur Form (RBNF) encoding, as specified in [RFC5511]. ๐Ÿงฉ RBNF is only illustrative and it may leave out important details. the normative spec for messages is the prose description. if the RBNF and the prose ever disagree, the prose wins, periodt ๐Ÿ‘‘

2.2. Experimental Status Consideration

the procedures here are experimental ๐Ÿงช the experiment is about using PCE (and PCEP) for E2E traffic assurance in Native IP networks through multiple BGP sessions. more implementation is needed to really understand the operational impact, scalability, and stability of the mechanism. ๐ŸŒˆ feedback from deployments is going to be crucial for deciding whether this spec moves from Experimental to the IETF Standards Track. it's giving "wait and see" energy ๐Ÿ‘€

3. Terminology ๐Ÿงš

this document uses the terms PCC, PCE, and PCEP, which are defined in [RFC5440]. โœจ

also, here's the extra terminology this doc uses:

  • BPI: BGP Peer Info
  • CCDR: Centralized Control Dynamic Routing
  • CCI: Central Controller Instructions (defined in [RFC9050])
  • 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 [RFC8283])
  • PPA: Peer Prefix Advertisement
  • PST: Path Setup Type (defined in [RFC8408])
  • SRP: Stateful PCE Request Parameter (defined in [RFC8231])
  • RR: Route Reflector

4. Capability Advertisement ๐Ÿฆ‹

4.1. Open Message

during the PCEP Initialization Phase, PCEP speakers (PCE or PCC) advertise whether they support the Native IP extensions. ๐Ÿ“ฃ

this document defines a new Path Setup Type (PST) [RFC8408] for Native IP, like so:

  • PST = 4: Path is a Native IP TE path as per [RFC8821].

a PCEP speaker MUST indicate its support for the function in this document by sending a PATH-SETUP-TYPE-CAPABILITY TLV in the OPEN object, with this new PST in the PST list. ๐Ÿ’–

[RFC9050] defined the PCECC-CAPABILITY sub-TLV to exchange info 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 gets the PATH-SETUP-TYPE-CAPABILITY TLV with the new PST, but the N bit isn't set in the 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 gets the PATH-SETUP-TYPE-CAPABILITY TLV with the new PST, but there's no PCECC-CAPABILITY sub-TLV at all, 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) haven't indicated support for Native IP, the PCEP extensions for Native IP MUST NOT be used. if someone tries a Native IP operation when both speakers haven't agreed in 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. ๐Ÿ™…โ€โ™€๏ธ

5. PCEP Messages ๐Ÿ’œ

the PCECC Native IP TE solution uses the existing PCE Label Switched Path (LSP) Initiate Request message (PCInitiate) [RFC8281] and the PCE Report message (PCRpt) [RFC8231]. together they set up multiple BGP sessions, deploy the E2E Native IP TE path, and advertise route prefixes across the different BGP sessions. ๐ŸŒˆ a new PST for Native IP tells everyone the path is being set up based on TE in Native IP networks.

the extended PCInitiate message described in [RFC9050] downloads or removes the Central Controller Instructions (CCI). [RFC9050] specifies an object called CCI that encodes the central controller's instructions. this document specifies a new CCI Object-Type for Native IP, and the PCEP messages are extended here to handle PCECC operations for Native IP. โœจ three new PCEP objects are defined in this document: BGP Peer Info (BPI), Explicit Peer Route (EPR), and Peer Prefix Advertisement (PPA). see Section 7 for the detailed object definitions. all the PCEP procedures in [RFC9050] keep applying unless this document says otherwise. ๐Ÿซถ

(part 1 of 8, more to come ๐Ÿ’–)

5.1. The PCInitiate Message โœจ

okay so the PCInitiate message from [RFC8281] (which got its own upgrade in [RFC9050]) is getting extended AGAIN ๐Ÿ’… so it can handle Native IP CCI ๐Ÿฆ‹ the shape looks like this:

        <PCInitiate Message> ::= <Common Header>
                                 <PCE-initiated-lsp-list>

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-instantiation>|
                              <PCE-initiated-lsp-deletion>|
                              <PCE-initiated-lsp-central-control>)

        <PCE-initiated-lsp-central-control> ::= <SRP>
                                                <LSP>
                                                <cci-list>

        <cci-list> ::=  <CCI>
                        [<BPI>|<EPR>|<PPA>]
                        [<cci-list>]

Where:

  • <PCE-initiated-lsp-instantiation> and <PCE-initiated-lsp-deletion> are as per [RFC8281].
  • The LSP and SRP objects are defined in [RFC8231].

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 [RFC9050]. 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 [RFC8231], [RFC8281], and [RFC9050]. 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). the errors are very specific and very important ๐Ÿ˜ญ

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. ๐Ÿงน

5.2. The PCRpt Message ๐Ÿ“

the PCRpt message is how the Native IP instructions get acknowledged, both when they come in from the central controller (PCE) and during the State Synchronization phase ๐ŸŒธ here's the layout:

         <PCRpt Message> ::= <Common Header>
                             <state-report-list>

         <state-report-list> ::= <state-report>[<state-report-list>]

         <state-report> ::= (<lsp-state-report>|
                             <central-control-report>)

         <lsp-state-report> ::= [<SRP>]
                                <LSP>
                                <path>

         <central-control-report> ::= [<SRP>]
                                      <LSP>
                                      <cci-list>

         <cci-list> ::=  <CCI>
                        [<BPI>|<EPR>|<PPA>]
                        [<cci-list>]

Where:

  • <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]. 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.


6. PCECC Native IP TE Procedures ๐Ÿ’œ

the detailed procedures for TE in the Native IP environment are in the sections below, so let's get into it ๐Ÿงš

6.1. BGP Session Establishment Procedures ๐ŸŒˆ

the PCInitiate and PCRpt message pair is used to swap the configuration parameters for a BGP peer session. this pair of PCEP messages goes between a PCE and each BGP peer (acting as the PCC) that needs to set up a BGP session. once the BGP peer session has been kicked off with this pair of messages, the BGP session comes up and runs like normal ๐Ÿฆ‹ the BGP peers can be External BGP (EBGP) peers or Internal BGP (IBGP) peers. for IBGP 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 Figure 1. the BGP routers R1, R3, and R7 are all in one AS. R1 and R7 are BGP RR clients, and R3 is the RR ๐Ÿ‘‘ the PCInitiate message goes out to R1, R3, and R7, since they all need to set up 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. it's giving self-setup vibes ๐Ÿ’…

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. bye bye session ๐Ÿ‘‹

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.

                           +------------------+
               +----------->       PCE        <----------+
               |           +--------^---------+          |
               |                    |                    |
               |             PCInitiate/PCRpt            |
               |                    |                    |
               |               +----v--+                 |
               +---------------+ R3(RR)+-----------------+
               |               +-------+                 |
         PCInitiate/PCRpt                         PCInitiate/PCRpt
               |                                         |
              +v-+          +--+          +--+         +-v+
              |R1+----------+R5+----------+R6+---------+R7|
              ++-+          +-++          +--+         +-++
               |              |                          |
               |            +--+          +--+           |
               +------------+R2+----------+R4+-----------+
                            +--+          +--+

Figure 1: BGP Session Establishment Procedures (R3 acts as the RR)

The message peers, message types, message key parameters, and procedures in the above figure are shown below:

               +-------+                                       +-------+
               |PCC    |                                       |  PCE  |
               |R1     |                                       +-------+
        +------|       |                                            |
        | PCC  +-------+                                            |
        | R3     | |   (For R1/R3 BGP Session on R1)                |
 +------|        | |<-PCInitiate,CC-ID=X,Symbolic Path Name=Class A-|
 |      |        | |BPI Object(Peer AS, Local_IP=R1_A, Peer_IP=R3_A)|
 |PCC   +--------+ |                                                |
 |R7      |  |     |----PCRpt,CC-ID=X(Symbolic Path Name=Class A)-->|
 |        |  |     |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)  |

Figure 2: Message Information and Procedures

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 Section 8. โš ๏ธ

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". ๐Ÿฅน

6.2. Explicit Route Establishment Procedures โœจ

okay bestie, this part is about how a PCE can install a route directly on a PCC ๐Ÿ’… using the PCInitiate and PCRpt message pair ๐Ÿฆ‹. These explicit routes act just like static routes that network management protocols (e.g., Network Configuration Protocol (NETCONF) / YANG) put in place. ngl the PCE has to be the one running the show here, because it MUST control adding and removing these routes in a specific order so the pathways come up without loops ๐Ÿ”

For explicit route addition, the PCInitiate message ought to go to every router on the explicit path ๐Ÿ›ฃ๏ธ Say we want the explicit route from R1 to R7. Then the PCInitiate message goes to R1, R2, and R4, as you can see in Figure 3 ๐ŸŒธ Going the other way, from R7 to R1, the PCInitiate message goes to R7, R4, and R2, as in Figure 5 ๐Ÿฆ‹

                             +------------------+
                  +---------->       PCE        +
                  |          +----^-----------^-+
                  |               |           |
                  |               |           |
                  |               | +------+  |
                  +---------------|-+R3(RR)+--|-------------+
             PCInitiate/PCRpt     | +------+  |             |
                  |               |           |             |
                 +v-+      +--+   |           |   +--+    +--+
                 |R1+------+R5+---+-----------|---+R6+----+R7|
                 ++-+      +--+   |           |   +--+    +-++
                  |     PCInitiate/PCRpt  PCInitiate/PCRpt  |
                  |               |           |             |
                  |            +--v--+     +--v-+           |
                  +------------+- R2 +-----+ R4 +-----------+
                               +--+--+     +--+-+

Figure 3: Explicit Route Establish Procedures (from R1 to R7)

The message peers, message types, message key parameters, and procedures in the above figure are shown below ๐Ÿ‘€

               +-------+                                       +-------+
               |PCC    |                                       |  PCE  |
               |R4     |                                       +-------+
        +------|       |                                           |
        | PCC  +-------+                                           |
        | R2     | |        (EPR route on R4)                      |
 +------|        | |<-PCInitiate,CC-ID=Z,Symbolic Path Name=Class A|
 |      |        | |   EPR Object(Peer Address=R7_A, Next Hop=R7_A)|
 |PCC   +--------+ |                                               |
 |R1      |  |     |----PCRpt,CC-ID=Z,Symbolic Path Name=Class A-->|
 |        |  |     |   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)   |

Figure 4: Message Information and Procedures

                       +------------------+
                       +       PCE        <-----------+
                       +----^-----------^-+           |
                            |           |             |
                            |           |             |
                            | +------+  |             |
            +-----------------+R3(RR)+--|-------------+
            |               | +------+  |       PCInitiate/PCRpt
            |               |           |             |
           +--+      +--+   |           |   +--+    +-v+
           |R1+------+R5+---+-----------|---+R6+----+R7|
           ++-+      +--+   |           |   +--+    +-++
            |       PCInitiate/PCRpt PCInitiate/PCRpt |
            |               |           |             |
            |            +--v--+     +--v-+           |
            +------------+- R2 +-----+ R4 +-----------+
                         +--+--+     +--+-+

Figure 5: 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 ๐Ÿงš

               +-------+                                       +-------+
               |PCC    |                                       |  PCE  |
               |R2     |                                       +-------+
        +------|       |                                           |
        | PCC  +-------+                                           |
        | R4     | |        (EPR route on R2)                      |
 +------|        | |<-PCInitiate,CC-ID=X,Symbolic Path Name=Class A|
 |      |        | |  EPR Object(Peer Address=R1_A, Next Hop=R1_A) |
 |PCC   +--------+ |                                               |
 |R7      |  |     |----PCRpt,CC-ID=X,Symbolic Path Name=Class A-->|
 |        |  |     |  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)              |

Figure 6: Explicit Route Establish Procedures (from R7 to R1)

Now the important rules ๐Ÿ”ฅ When the PCC gets the EPR and the CCI object (with the R bit set to 0 in the SRP object) in a PCInitiate message, the PCC SHOULD install the explicit route to the peer in the RIB/FIB ๐Ÿ’–

Once the PCC successfully installs that 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 gets the EPR and the CCI object with the R bit set to 1 in the SRP object in a PCInitiate message, the PCC MUST remove the explicit route to the peer that the EPR object points to ๐Ÿ—‘๏ธ

After the PCC has removed the explicit route 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 ๐Ÿซถ

Order matters, bestie! To avoid a 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 get 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 ๐Ÿ” If that check fails, 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 indicated in the BPI object in the PCC for the same path identified by the 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.

Last but not least, 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 only then instruct the removal of the older CCI ๐Ÿ‘‘

6.3. BGP Prefix Advertisement Procedures โœจ

okay so here's the play-by-play for BGP prefix advertisement, 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 goes to R1 and R7, respectively.

When the PCC gets 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 listed in this object to the identified BGP peer over the matching BGP session [RFC4271] ๐Ÿฆ‹

Once the PCC has successfully sent the prefixes to the appointed BGP peer, it MUST report the result via PCRpt messages, with the PPA object and the matching SRP and CCI objects included ๐Ÿ“จ

When the PCC gets 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 named in this object ๐Ÿ™…โ€โ™€๏ธ

When the PCC successfully withdraws the prefixes indicated by this object, it MUST report the result via the PCRpt message, with the PPA object and the matching SRP and CCI objects included ๐Ÿ’–

                         +------------------+
              +---------->       PCE        <-----------+
              |          +------------------+           |
              |                  +--+                   |
              +------------------+R3+-------------------+
        PCInitiate/PCRpt         +--+             PCInitiate/PCRpt
              |                                         |
             +v-+          +--+          +--+         +-v+
             |R1+----------+R5+----------+R6+---------+R7|
             ++-+          +--+          +--+         +-++
         (BGP Router)                           (BGP Router)
              |                                         |
              |                                         |
              |            +--+          +--+           |
              +------------+R2+----------+R4+-----------+
                           +--+          +--+

Figure 7: BGP Prefix Advertisement Procedures

the message peers, message types, key parameters, and procedures in the figure above look like this ๐Ÿ‘€

             +-------+                                      +-------+
             |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 matching 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. If they don't line up, 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 isn't the same as the peer info in the BPI object at the PCC for the same path (identified by the 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 if no BPI is received at the PCC ๐Ÿฅบ


6.4. Selection of the Raw Mode and Tunnel Mode Forwarding Strategy ๐Ÿฆ‹

normally, once all the procedures above are done, user traffic gets forwarded along the appointed path. BUT the forwarding is based solely on the destination of the user traffic ๐Ÿ™ˆ So if traffic comes into the network from different attachment points but heads to the same destination, they could end up sharing the priority path, which might not be what you wanted. For example, in Figure 1, the goal is for traffic to enter the network via R1 and exit at R7 via R5-R6-R7. If some traffic enters via R2, passes through R5, and exits at R7, it could share the priority path among R5-R6-R7, and that might not be the desired effect ๐Ÿ˜ญ

That normal forwarding behavior is called the Raw mode forwarding strategy. It can only give you a moderate level of traffic path control ๐Ÿ’… For strict traffic path control, the entry point MUST tunnel the user traffic from the network's entry point to its exit point, which is also between the BGP peers established via Section 6.1. That forwarding behavior is called the Tunnel mode forwarding strategy. For simplicity, the IP-in-IP tunnel type [RFC2003] is used between the BGP peers by default ๐Ÿงš

Picking between Raw mode and Tunnel mode is controlled by the T bit in the BPI object, which is defined in Section 7.2


6.5. Cleanup ๐Ÿงน

To 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 gets a PCInitiate message but doesn't 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 show the error is for the corresponding cleanup (via a PCInitiate message) ๐Ÿ™…โ€โ™€๏ธ


6.6. Other Procedures ๐ŸŒˆ

State Synchronization, redundant PCEs, redelegation, and cleanup are handled the same way as the other CCIs specified in [RFC9050]. no extra drama here โœจ


7. New PCEP Objects ๐ŸŽ€

One new CCI Object-Type and three new PCEP objects are defined in this document. All new PCEP objects follow [RFC5440] ๐Ÿ’œ


7.1. CCI Object ๐Ÿฆ‹

The Central Control Instructions (CCI) Object (defined in [RFC9050]) is what the PCE uses to specify forwarding instructions. This document defines another Object-Type for Native IP procedures ๐Ÿ‘‘

The CCI Object-Type is 2 for Native IP, 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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                            CC-ID                              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |          Reserved             |             Flags             |
  +---------------------------------------------------------------+
  |                                                               |
  //                        Optional TLVs                        //
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 9: CCI Object for Native IP

The CC-ID field works exactly as described in [RFC9050]. These 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. Right now, 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 [RFC8231] MUST be included in the CCI Object-Type 2 to identify the E2E TE path in the Native IP environment. That one's non-negotiable, bestie ๐Ÿ’€

7.2. BGP Peer Info Object ๐Ÿฆ‹

okay bestie, the BGP Peer Info (BPI) object is how the PCC tells a router who to set up a BGP session with ๐Ÿ’– It gets sent to the source and destination router of the E2E path when there's no Route Reflection (RR) involved. If an RR is sitting between the source and destination, the info goes to the source router, the RR, and the destination router instead โœจ

By default, the Local/Peer IP Address MUST be a unicast address and dedicated to the usage of the Native IP TE solution, and it MUST NOT be used by other BGP sessions that are established by manual or other configuration mechanisms. main character energy for that address, no sharing ๐Ÿ’…

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:

   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 AS Number                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   ETTL        |     Status    |   Error Code  |    Flag     |T|
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    Local IP Address                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    Peer IP Address                            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  //                    Optional TLVs                            //
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Figure 10: BGP Peer Info Object Body Format for IPv4

The format of the BGP Peer Info object body for IPv6 (Object-Type=2) 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 AS Number                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   ETTL        |      Status   |   Error Code  |    Flag     |T|
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |               Local IP Address (16 bytes)                     |
  |                                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |               Peer IP Address (16 bytes)                      |
  |                                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  //                    Optional TLVs                            //
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Figure 11: BGP Peer Info Object Body Format for IPv6

Now the fields, the fun part ๐Ÿงš

  • 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:
    • 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. Its values are:
    • 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 ๐Ÿ’œ


7.3. Explicit Peer Route Object ๐ŸŒธ

the Explicit Peer Route (EPR) object is how you specify the 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 the devices on the path that are calculated by the PCE.

ngl the name is a little misleading ๐Ÿ™ˆ Although it's called "Explicit Peer Route", the routes it installs are simply host routes. Using this object to install host routes for any other purpose than reaching the corresponding peer address on each device on the E2E Native IP TE path is outside the scope of this specification. not doing that, bestie ๐Ÿซถ

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. so it sits right in the middle, iykyk ๐Ÿ‘‘

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:

   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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |       Route Priority        |          Reserved               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       Peer IPv4 Address                       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |               Next Hop IPv4 Address to the Peer               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  //                    Optional TLVs                            //
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 12: Explicit Peer Route Object Body Format for IPv4

The format of the Explicit Peer Route object body for IPv6 (Object-Type=2) 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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |       Route Priority        |           Reserved              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |                       Peer IPv6 Address                       |
  |                                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |                Next Hop IPv6 Address to the Peer              |
  |                                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  //                    Optional TLVs                            //
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 13: Explicit Peer Route Object Body Format for IPv6

The fields, bestie ๐Ÿ’…

  • 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.

7.4. Peer Prefix Advertisement Object ๐Ÿ’Œ

Okay so the Peer Prefix Advertisement (PPA) object is the one that spells out which IP prefixes get advertised to the corresponding peer ๐Ÿฆ‹. It only needs to be included and sent over to the source/destination router of the E2E path, no extra drama โœจ

The prefix info in this object MUST only be advertised to the indicated peer ๐Ÿ”’. It SHOULD NOT be advertised to other BGP peers, so keep that between them ๐Ÿคซ

The Peer Prefix Advertisement Object-Class is 48 ๐ŸŽ€

The Peer Prefix Advertisement Object-Type is 1 for IPv4 and 2 for IPv6 ๐Ÿ’œ

Here's the layout for the IPv4 version ๐Ÿ‘€

      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                            //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 14: Peer Prefix Advertisement Object Body Format for IPv4

And here's the IPv6 version ๐ŸŒˆ

      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. Tells you how many prefixes get advertised to the peer in the PPA object ๐Ÿ“ฆ
  • Reserved: 3 bytes. Ought to be set to zero when sending and ignored on receipt ๐Ÿซถ
  • Prefix Len: 1 byte. Tells you the length of the prefix ๐Ÿ“
  • Optional TLVs: TLVs tied to this object, which can carry other info needed for prefix advertisement. No TLVs are currently defined, so it's a blank canvas for now ๐ŸŽจ

For IPv4:

  • Peer IPv4 Address: 4 bytes. The Peer IPv4 Address the associated prefixes get sent to ๐ŸŽฏ
  • IPv4 Prefix: 4 bytes. The prefix that gets sent to the peer identified by the Peer IPv4 Address ๐ŸŒธ

For IPv6:

  • Peer IPv6 Address: 16 bytes. The Peer IPv6 Address the associated prefixes get sent to ๐ŸŽฏ
  • IPv6 Prefix: The prefix that gets sent to the peer identified by the Peer IPv6 Address ๐ŸŒธ

If someday there's a need to advertise IPv4 prefixes toward an IPv6 peering address, or IPv6 prefixes toward an IPv4 peering address, a new Peer Prefix Advertisement Object-Type can be defined for that ๐Ÿ”ฎ


8. New Error-Type and Error-Values Defined โœจ

A PCEP-ERROR object is used to report a PCEP error ๐Ÿšจ. It's characterized by an Error-Type that says what kind of error it is, and an Error-value that gives extra details about it ๐Ÿ”

An additional Error-Type and several Error-values are defined to cover the errors tied to the newly defined objects that relate to Native IP TE procedures ๐Ÿ’–. See Table 4 for the newly defined Error-Type and Error-values ๐Ÿ“‹


9. BGP Considerations ๐Ÿ”ฅ

This document defines procedures and objects to create the BGP sessions and to advertise the associated prefixes dynamically ๐Ÿš€. Only the key info, like Peer IP Addresses and Peer AS numbers, gets exchanged via the PCEP ๐Ÿค. Other parameters 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" at first, and then, once the session is up, send another PCRpt message with the state updated to "BGP Session Established" โœ…. If there's any error during the BGP session establishment, the PCC SHOULD indicate the reason with the appropriate status value set in the BPI object ๐Ÿ™ˆ

Once the BGP module on the PCC gets that key info, it SHOULD try to get the task the PCEP handed it done ๐Ÿ’…. After the session is set up, it reports the successful status back to the PCEP modules ๐Ÿซง

There's no influence on the current implementation of the BGP Finite State Machine (FSM) ๐Ÿ™Œ. PCEP only focuses on the success and failure status of the BGP session and acts on that info accordingly ๐Ÿ’œ

The error-handling procedures for incorrect BGP parameters are specified in Sections 6.1, 6.2, and 6.3 ๐Ÿ“–


10. Deployment Considerations ๐ŸŒธ

The info transferred in this document is mainly used for BGP session setup, explicit route deployment, and prefix distribution ๐Ÿฆ‹. The planning, allocation, and distribution of the peer addresses within the IGP need to be sorted out in advance. That stuff is out of this document's scope ๐Ÿ—บ๏ธ

The communication between PCE and PCC described here MUST follow the State Synchronization procedures described in [RFC8232], i.e., treat the three newly defined objects (BPI, EPR, and PPA) associated with the same Symbolic Path Name as attributes 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 that possible transient loops are avoided during such a node failure when it deploys the explicit peer route on the PCCs ๐Ÿ›ก๏ธ

If a PCE fails, a new PCE can gain control over the Central Controller Instructions, as described in [RFC9050] ๐Ÿ‘‘

As per the PCEP procedures in [RFC8281], the State Timeout Interval timer makes sure a PCE failure doesn't cause automatic and immediate disruption for services โฑ๏ธ. Similarly, as per [RFC9050], the Central Controller Instructions aren't removed right away when a PCE fails. Instead, they could be redelegated to the new PCE before this timer expires, or cleaned up when it does ๐Ÿงน. That lets network cleanup happen without manual intervention ๐Ÿ™Œ. The PCC supports removing CCI as one of the behaviors applied when the State Timeout Interval timer expires โœจ


11. Manageability Considerations ๐Ÿ’…

11.1. Control of Function and Policy

A PCE or PCC implementation SHOULD allow the PCECC Native IP capability to be enabled/disabled as part of the global configuration โš™๏ธ

11.2. Information and Data Models

[RFC7420] describes the PCEP MIB, and this MIB could be extended to get the PCECC Native IP capability status ๐Ÿ“Š. The PCEP YANG module [YANG-PCEP] could be extended to enable/disable the PCECC Native IP capability ๐Ÿงฉ

11.3. Liveness Detection and Monitoring

The mechanisms defined in this document don't imply any new liveness detection and monitoring requirements beyond those already listed in [RFC5440] ๐Ÿ’“. The operator relies on existing IP liveness detection and monitoring ๐Ÿ‘€

11.4. Verify Correct Operations

Verification of the mechanisms defined here can be built on those already listed in [RFC5440], [RFC8231], and [RFC9050] ๐Ÿ”. Further, the operator needs to be able to verify the status of BGP sessions and prefix advertisements ๐Ÿ“ˆ

11.5. Requirements on Other Protocols

The mechanisms defined in this document require interaction with BGP ๐Ÿค. Section 9 goes into detail about the BGP considerations ๐Ÿ“š. During BGP session establishment, the Local/Peer IP Address MUST be dedicated to the usage of the Native IP TE solution, and it MUST NOT be used by other BGP sessions that are established manually or in other ways ๐Ÿ”

11.6. Impact on Network Operations

[RFC8821] describes the various deployment considerations in CCDR architecture and their impact on network operations ๐ŸŒ

12. Security Considerations ๐Ÿ”โœจ

Okay bestie, so in this setup the PCE is the one running the show ๐Ÿ‘‘. It controls the BGP sessions, the prefix advertisements, and the explicit peer route establishment. For the classic BGP security stuff, check out [RFC4271], and for the classic BGP vulnerabilities analysis, look at [RFC4272]. You also SHOULD consider the security notes in [RFC5440] for basic PCEP, [RFC8231] for the PCEP stateful PCE extension, and [RFC8281] for PCE-initiated LSP setup ๐Ÿ’….

Now the big one ๐Ÿšจ. To stop a bogus PCE from sending harmful messages to network nodes, the network devices SHOULD authenticate the PCE and make sure the communication channel between them is secure ๐Ÿ”’. So the mechanisms in [RFC8253] for using TLS with PCEP and in [RFC9050] for protection against malicious PCEs SHOULD be used. No cap, this is the part that keeps the whole thing from getting cooked ๐Ÿ’€.

If the default values from Section 9 aren't enough, and you need to secure the BGP transport (for example, with the TCP Authentication Option (TCP-AO) [RFC5925]), you can give it a suitable value by adding optional TLVs to the BGP Peer Info object. Those TLVs carry the extra info you need, like a key chain [RFC8177] name ๐Ÿ—๏ธ๐ŸŽ€.


13. IANA Considerations ๐Ÿ“‹๐ŸŒธ

13.1. PCEP Path Setup Types

[RFC8408] created the "PCEP Path Setup Types" registry inside the "Path Computation Element Protocol (PCEP) Numbers" registry group. IANA has given this registry one new codepoint, as shown here ๐Ÿ’–:

                 +=======+===================+===========+
                 | Value | Description       | Reference |
                 +=======+===================+===========+
                 | 4     | Native IP TE Path | RFC 9757  |
                 +-------+-------------------+-----------+

                  Table 1: PCEP Path Setup Types Registry

13.2. PCECC-CAPABILITY Sub-TLV Flag Field

[RFC9050] created the "PCECC-CAPABILITY sub-TLV" registry inside the "Path Computation Element Protocol (PCEP) Numbers" registry group, and its job is to manage the value of the PCECC-CAPABILITY sub-TLV's 32-bit Flag field โœจ. IANA has allocated a new bit position in this registry, like so:

                      +=====+===========+===========+
                      | Bit | Name      | Reference |
                      +=====+===========+===========+
                      | 30  | Native IP | RFC 9757  |
                      +-----+-----------+-----------+

                         Table 2: PCECC-CAPABILITY
                              Sub-TLV Registry

13.3. PCEP Objects

IANA has allocated new codepoints in the "PCEP Objects" registry, and they look like this ๐Ÿฆ‹:

      +==============+===================+=============+===========+
      | Object-Class | Name              | Object-Type | Reference |
      | Value        |                   |             |           |
      +==============+===================+=============+===========+
      | 44           | CCI Object-Type   | 2: Native   | RFC 9757  |
      |              |                   | IP          |           |
      +--------------+-------------------+-------------+-----------+
      | 46           | BGP Peer Info     | 0: Reserved | RFC 9757  |
      |              | Object-Type       |             |           |
      |              |                   +-------------+-----------+
      |              |                   | 1: IPv4     | RFC 9757  |
      |              |                   | address     |           |
      |              |                   +-------------+-----------+
      |              |                   | 2: IPv6     | RFC 9757  |
      |              |                   | address     |           |
      +--------------+-------------------+-------------+-----------+
      | 47           | Explicit Peer     | 0: Reserved | RFC 9757  |
      |              | Route Object-Type |             |           |
      |              |                   +-------------+-----------+
      |              |                   | 1: IPv4     | RFC 9757  |
      |              |                   | address     |           |
      |              |                   +-------------+-----------+
      |              |                   | 2: IPv6     | RFC 9757  |
      |              |                   | address     |           |
      +--------------+-------------------+-------------+-----------+
      | 48           | Peer Prefix       | 0: Reserved | RFC 9757  |
      |              | Advertisement     |             |           |
      |              | Object-Type       |             |           |
      |              |                   +-------------+-----------+
      |              |                   | 1: IPv4     | RFC 9757  |
      |              |                   | address     |           |
      |              |                   +-------------+-----------+
      |              |                   | 2: IPv6     | RFC 9757  |
      |              |                   | address     |           |
      +--------------+-------------------+-------------+-----------+

                      Table 3: PCEP Objects Registry

13.4. PCEP-Error Objects

IANA has allocated a new Error-Type and several Error-values in the "PCEP-ERROR Object Error Types and Values" registry, which lives inside the "Path Computation Element Protocol (PCEP) Numbers" registry group ๐Ÿšซ. Here's the lineup:

+============+==============+==========================+===========+
| Error-Type | Meaning      | Error-value              | Reference |
+============+==============+==========================+===========+
| 6          | Mandatory    | 19: Native IP object     | RFC 9757  |
|            | Object       | missing                  |           |
|            | missing      |                          |           |
+------------+--------------+--------------------------+-----------+
| 10         | Reception of | 39: PCECC NATIVE-IP-TE-  | RFC 9757  |
|            | an invalid   | CAPABILITY bit is not    |           |
|            | object       | set                      |           |
+------------+--------------+--------------------------+-----------+
| 19         | Invalid      | 22: Only one BPI, EPR,   | RFC 9757  |
|            | Operation    | or PPA object can be     |           |
|            |              | included in this message |           |
|            |              +--------------------------+-----------+
|            |              | 29: Attempted Native IP  | RFC 9757  |
|            |              | operations when the      |           |
|            |              | capability was not       |           |
|            |              | advertised               |           |
|            |              +--------------------------+-----------+
|            |              | 30: Unknown Native IP    | RFC 9757  |
|            |              | Info                     |           |
+------------+--------------+--------------------------+-----------+
| 33         | Native IP TE | 0: Unassigned            | RFC 9757  |
|            | failure      |                          |           |
|            |              +--------------------------+-----------+
|            |              | 1: Local IP is in use    | RFC9757   |
|            |              +--------------------------+-----------+
|            |              | 2: Remote IP is in use   | RFC 9757  |
|            |              +--------------------------+-----------+
|            |              | 3: Explicit Peer Route   | RFC 9757  |
|            |              | Error                    |           |
|            |              +--------------------------+-----------+
|            |              | 4: EPR/BPI Peer Info     | RFC 9757  |
|            |              | mismatch                 |           |
|            |              +--------------------------+-----------+
|            |              | 5: BPI/PPA Address       | RFC 9757  |
|            |              | Family mismatch          |           |
|            |              +--------------------------+-----------+
|            |              | 6: PPA/BPI Peer Info     | RFC 9757  |
|            |              | mismatch                 |           |
+------------+--------------+--------------------------+-----------+

        Table 4: PCEP-ERROR Object Error Types and Values Registry

The reference for each new Error-Type/Error-value should be set to this document ๐Ÿ“Ž.

13.5. CCI Object Flag Field

IANA 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 [RFC8126]. Each bit should be tracked with these qualities:

  • bit number (counting from bit 0 as the most significant bit and bit 15 as the least significant bit)
  • capability description
  • defining RFC

Right now, no flags are assigned ๐Ÿ™ˆ.

13.6. BPI Object Status Codes

IANA has created the "BPI Object Status Code Field" registry inside the "Path Computation Element Protocol (PCEP) Numbers" registry group. New values are assigned by IETF Review [RFC8126]. Each value should be tracked with these qualities: value, meaning, and defining RFC. The following values are defined in this document ๐Ÿ“:

    +=======+=======================================+===========+
    | 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  |
    +-------+---------------------------------------+-----------+

            Table 5: BPI Object Status Code Field Registry

13.7. BPI Object Error Codes

IANA has created the "BPI Object Error Code Field" registry inside the "Path Computation Element Protocol (PCEP) Numbers" registry group. New values are assigned by IETF Review [RFC8126]. Each value should be tracked with these qualities: value, meaning, and defining RFC. The following values are defined in this document ๐Ÿงš:

   +=======+=========================================+===========+
   | 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  |
   +-------+-----------------------------------------+-----------+

            Table 6: BPI Object Error Code Field Registry

13.8. BPI Object Flag Field ๐ŸŽ€

okay so IANA made a "BPI Object Flag Field" registry ๐Ÿ’… and it lives inside the "Path Computation Element Protocol (PCEP) Numbers" registry group โœจ. New values get assigned by IETF Review [RFC8126]. Each bit should be tracked with these three things:

  • bit number (counting from bit 0 as the most significant bit)
  • capability description
  • defining RFC

The following values are defined in this document ๐Ÿฆ‹:

               +=====+==================+===========+
               | Bit | Meaning          | Reference |
               +=====+==================+===========+
               | 0-6 | Unassigned                   |
               +-----+------------------+-----------+
               | 7   | T (IP-in-IP) bit | RFC 9757  |
               +-----+------------------+-----------+

                   Table 7: BPI Object Flag Field
                              Registry

14. References ๐Ÿ“š

14.1. Normative References

[RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, DOI 10.17487/RFC2003, October 1996, https://www.rfc-editor.org/info/rfc2003.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, https://www.rfc-editor.org/info/rfc2119.

[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, https://www.rfc-editor.org/info/rfc4271.

[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, DOI 10.17487/RFC5440, March 2009, https://www.rfc-editor.org/info/rfc5440.

[RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax Used to Form Encoding Rules in Various Routing Protocol Specifications", RFC 5511, DOI 10.17487/RFC5511, April 2009, https://www.rfc-editor.org/info/rfc5511.

[RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP Authentication Option", RFC 5925, DOI 10.17487/RFC5925, June 2010, https://www.rfc-editor.org/info/rfc5925.

[RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. Hardwick, "Path Computation Element Communication Protocol (PCEP) Management Information Base (MIB) Module", RFC 7420, DOI 10.17487/RFC7420, December 2014, https://www.rfc-editor.org/info/rfc7420.

[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017, https://www.rfc-editor.org/info/rfc8126.

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, https://www.rfc-editor.org/info/rfc8174.

[RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE", RFC 8231, DOI 10.17487/RFC8231, September 2017, https://www.rfc-editor.org/info/rfc8231.

[RFC8232] Crabbe, E., Minei, I., Medved, J., Varga, R., Zhang, X., and D. Dhody, "Optimizations of Label Switched Path State Synchronization Procedures for a Stateful PCE", RFC 8232, DOI 10.17487/RFC8232, September 2017, https://www.rfc-editor.org/info/rfc8232.

[RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, "PCEPS: Usage of TLS to Provide a Secure Transport for the Path Computation Element Communication Protocol (PCEP)", RFC 8253, DOI 10.17487/RFC8253, October 2017, https://www.rfc-editor.org/info/rfc8253.

[RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, https://www.rfc-editor.org/info/rfc8281.

[RFC8408] Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J. Hardwick, "Conveying Path Setup Type in PCE Communication Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, July 2018, https://www.rfc-editor.org/info/rfc8408.

[RFC9050] Li, Z., Peng, S., Negi, M., Zhao, Q., and C. Zhou, "Path Computation Element Communication Protocol (PCEP) Procedures and Extensions for Using the PCE as a Central Controller (PCECC) of LSPs", RFC 9050, DOI 10.17487/RFC9050, July 2021, https://www.rfc-editor.org/info/rfc9050.

14.2. Informative References

[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, https://www.rfc-editor.org/info/rfc3209.

[RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", RFC 4272, DOI 10.17487/RFC4272, January 2006, https://www.rfc-editor.org/info/rfc4272.

[RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., "LDP Specification", RFC 5036, DOI 10.17487/RFC5036, October 2007, https://www.rfc-editor.org/info/rfc5036.

[RFC8177] Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. Zhang, "YANG Data Model for Key Chains", RFC 8177, DOI 10.17487/RFC8177, June 2017, https://www.rfc-editor.org/info/rfc8177.

[RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An Architecture for Use of PCE and the PCE Communication Protocol (PCEP) in a Network with Central Control", RFC 8283, DOI 10.17487/RFC8283, December 2017, https://www.rfc-editor.org/info/rfc8283.

[RFC8735] Wang, A., Huang, X., Kou, C., Li, Z., and P. Mi, "Scenarios and Simulation Results of PCE in a Native IP Network", RFC 8735, DOI 10.17487/RFC8735, February 2020, https://www.rfc-editor.org/info/rfc8735.

[RFC8821] Wang, A., Khasanov, B., Zhao, Q., and H. Chen, "PCE-Based Traffic Engineering (TE) in Native IP Networks", RFC 8821, DOI 10.17487/RFC8821, April 2021, https://www.rfc-editor.org/info/rfc8821.

[YANG-PCEP] Dhody, D., Beeram, V. P., Hardwick, J., and J. Tantsura, "A YANG Data Model for Path Computation Element Communications Protocol (PCEP)", Work in Progress, Internet-Draft, draft-ietf-pce-pcep-yang-30, 26 January 2025, https://datatracker.ietf.org/doc/html/draft-ietf-pce-pcep-yang-30.


Acknowledgements ๐Ÿซถ

Thanks to Mike Koldychev, Susan Hares, Siva Sivabalan, and Adam Simpson for their valuable suggestions and comments ๐Ÿ’–.

Contributors ๐ŸŒˆ

Ren Tan and Dhruv Dhody have contributed to this document โœจ.

Authors' Addresses ๐Ÿฆ‹

Aijun Wang
China Telecom
Beiqijia Town, Changping District
Beijing
102209
China
Email: wangaijun@tsinghua.org.cn


Boris Khasanov
MTS Web Services (MWS)
Andropova av., 18/9
Moscow
115432
Russian Federation
Email: bhassanov@yahoo.com


Sheng Fang
Huawei Technologies
Huawei Bld., No.156 Beiqing Rd.
Beijing
China
Email: fsheng@huawei.com


Chun Zhu
ZTE Corporation
50 Software Avenue, Yuhua District
Nanjing
Jiangsu, 210012
China
Email: zhu.chun1@zte.com.cn
๐Ÿ“ฆ where this page comes from