rfc9826v1.txt   rfc9826.txt 
skipping to change at line 58 skipping to change at line 58
Trust Legal Provisions and are provided without warranty as described Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License. in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction 1. Introduction
2. Requirements Language 2. Requirements Language
3. Terminology and Notation 3. Terminology and Notation
3.1. Tree Diagrams 3.1. Tree Diagrams
3.2. Prefixes in Data Node Names 3.2. Prefixes in Data Node Names
3.3. References in the Model 3.3. References in the YANG Data Model
4. The Design of PCEP Data Model 4. The Design of PCEP Data Model
4.1. The Entity 4.1. The Entity
4.1.1. The Peer List 4.1.1. The Peer List
4.1.1.1. The Session List 4.1.1.1. The Session List
4.2. Notifications 4.2. Notifications
4.3. RPC 4.3. RPC
5. The Design of PCEP Statistics Data Model 5. The Design of PCEP Statistics Data Model
6. Advanced PCE Features 6. Advanced PCE Features
6.1. Stateful PCE's LSP-DB 6.1. Stateful PCE's LSP-DB
7. Other Considerations 7. Other Considerations
skipping to change at line 157 skipping to change at line 157
PCEP entity: a local PCEP speaker PCEP entity: a local PCEP speaker
PCEP peer: a remote PCEP speaker PCEP peer: a remote PCEP speaker
PCEP speaker: term used when it is not necessary to distinguish PCEP speaker: term used when it is not necessary to distinguish
between local and remote. between local and remote.
Further, this document uses the following terms defined in [RFC8231]: Further, this document uses the following terms defined in [RFC8231]:
* Stateful PCE, Passive Stateful PCE, Active Stateful PCE * Stateful PCE
* Delegation, Revocation, Redelegation * Passive Stateful PCE
* Active Stateful PCE
* Delegation
* Revocation
* Redelegation
* Path Computation LSP State Report (PCRpt) message * Path Computation LSP State Report (PCRpt) message
* Path Computation LSP Update Request (PCUpd) message * Path Computation LSP Update Request (PCUpd) message
* PLSP-ID (a PCEP-specific identifier for the LSP) * PLSP-ID (a PCEP-specific identifier for the LSP)
* Stateful PCE Request Parameter (SRP) * Stateful PCE Request Parameter (SRP)
This document also uses the following terms defined in [RFC8281]: This document also uses the following terms defined in [RFC8281]:
skipping to change at line 192 skipping to change at line 200
* Objective Function (OF) [RFC5541] * Objective Function (OF) [RFC5541]
* Association [RFC8697] * Association [RFC8697]
* Configuration data [RFC6241] * Configuration data [RFC6241]
* State data [RFC6241] * State data [RFC6241]
3.1. Tree Diagrams 3.1. Tree Diagrams
A simplified graphical representation of the data model is used in Simplified graphical representations of the data model are used in
this document. The meaning of the symbols in these diagrams is this document. The meaning of the symbols in these diagrams is
defined in [RFC8340]. defined in [RFC8340].
3.2. Prefixes in Data Node Names 3.2. Prefixes in Data Node Names
In this document, the names of data nodes and other data model In this document, the names of data nodes and other data model
objects are often used without a prefix, as long as it is clear from objects are often used without a prefix, as long as it is clear from
the context in which YANG module each name is defined. Otherwise, the context in which YANG module each name is defined. Otherwise,
names are prefixed using the standard prefix associated with the names are prefixed using the standard prefix associated with the
corresponding YANG module, as shown in Table 1. corresponding YANG module, as shown in Table 1.
skipping to change at line 229 skipping to change at line 237
| tlsc | ietf-tls-client | [RFC9645] | | tlsc | ietf-tls-client | [RFC9645] |
+-----------+------------------+-----------+ +-----------+------------------+-----------+
| ospf | ietf-ospf | [RFC9129] | | ospf | ietf-ospf | [RFC9129] |
+-----------+------------------+-----------+ +-----------+------------------+-----------+
| isis | ietf-isis | [RFC9130] | | isis | ietf-isis | [RFC9130] |
+-----------+------------------+-----------+ +-----------+------------------+-----------+
Table 1: Prefixes and Corresponding YANG Table 1: Prefixes and Corresponding YANG
Modules Modules
3.3. References in the Model 3.3. References in the YANG Data Model
The following documents are referenced in the model defined in this The following table lists the documents that are referenced in the
document. YANG data model defined in this document.
+=====================================================+=============+ +=====================================================+=============+
| Documents | Reference | | Documents | Reference |
+=====================================================+=============+ +=====================================================+=============+
| OSPF Protocol Extensions for Path Computation | [RFC5088] | | OSPF Protocol Extensions for Path Computation | [RFC5088] |
| Element (PCE) Discovery | | | Element (PCE) Discovery | |
+-----------------------------------------------------+-------------+ +-----------------------------------------------------+-------------+
| IS-IS Protocol Extensions for Path Computation | [RFC5089] | | IS-IS Protocol Extensions for Path Computation | [RFC5089] |
| Element (PCE) Discovery | | | Element (PCE) Discovery | |
+-----------------------------------------------------+-------------+ +-----------------------------------------------------+-------------+
skipping to change at line 356 skipping to change at line 364
+-----------------------------------------------------+-------------+ +-----------------------------------------------------+-------------+
| Extensions to the Path Computation Element | [RFC8282] | | Extensions to the Path Computation Element | [RFC8282] |
| Communication Protocol (PCEP) for Inter-Layer | | | Communication Protocol (PCEP) for Inter-Layer | |
| MPLS and GMPLS Traffic Engineering | | | MPLS and GMPLS Traffic Engineering | |
+-----------------------------------------------------+-------------+ +-----------------------------------------------------+-------------+
| Path Computation Element Communication Protocol | [RFC9005] | | Path Computation Element Communication Protocol | [RFC9005] |
| (PCEP) Extension for Associating Policies and | | | (PCEP) Extension for Associating Policies and | |
| Label Switched Paths (LSPs) | | | Label Switched Paths (LSPs) | |
+-----------------------------------------------------+-------------+ +-----------------------------------------------------+-------------+
Table 2: References in the YANG Modules Table 2: References in the YANG Data Model
4. The Design of PCEP Data Model 4. The Design of PCEP Data Model
The PCEP YANG module defined in this document has all the common The PCEP YANG module defined in this document has all the common
building blocks for PCEP, which are listed below and further detailed building blocks for PCEP, which are listed below and further detailed
in the subsequent subsections. in the subsequent subsections.
* The local PCEP entity * The local PCEP entity
* The PCEP peer * The PCEP peer
skipping to change at line 705 skipping to change at line 713
+--rw peer* [addr] +--rw peer* [addr]
+--rw addr inet:ip-address-no-zone +--rw addr inet:ip-address-no-zone
+--rw role role +--rw role role
+--rw description? string +--rw description? string
+--rw domains +--rw domains
| +--rw domain* [type domain] | +--rw domain* [type domain]
| +--rw type identityref | +--rw type identityref
| +--rw domain domain | +--rw domain domain
+--rw capabilities +--rw capabilities
| +--rw capability? bits | +--rw capability? bits
| +--rw pce-initiated? boolean {pce-initiated}? | +--rw pce-initiated? boolean
| | {pce-initiated}?
| +--rw include-db-ver? boolean | +--rw include-db-ver? boolean
| | {stateful,sync-opt}? | | {stateful,sync-opt}?
| +--rw trigger-resync? boolean | +--rw trigger-resync? boolean
| | {stateful,sync-opt}? | | {stateful,sync-opt}?
| +--rw trigger-initial-sync? boolean | +--rw trigger-initial-sync? boolean
| | {stateful,sync-opt}? | | {stateful,sync-opt}?
| +--rw incremental-sync? boolean | +--rw incremental-sync? boolean
| | {stateful,sync-opt}? | | {stateful,sync-opt}?
| +--rw sr-mpls {sr-mpls}? | +--rw sr-mpls {sr-mpls}?
| | +--rw enabled? boolean | | +--rw enabled? boolean
skipping to change at line 748 skipping to change at line 757
+--rw auth +--rw auth
| +--rw (auth-type-selection)? | +--rw (auth-type-selection)?
| +--:(auth-key-chain) | +--:(auth-key-chain)
| | +--rw key-chain? | | +--rw key-chain?
| | key-chain:key-chain-ref | | key-chain:key-chain-ref
| +--:(auth-key) | +--:(auth-key)
| | +--rw crypto-algorithm identityref | | +--rw crypto-algorithm identityref
| | +--rw (key-string-style)? | | +--rw (key-string-style)?
| | +--:(keystring) | | +--:(keystring)
| | | +--rw keystring? string | | | +--rw keystring? string
| | +--:(hexadecimal) {key-chain:hex-key-string}? | | +--:(hexadecimal)
| | +--rw hexadecimal-string? yang:hex-string | | {key-chain:hex-key-string}?
| | +--rw hexadecimal-string?
| | yang:hex-string
| +--:(auth-tls) {tls}? | +--:(auth-tls) {tls}?
| +--rw (role)? | +--rw (role)?
| +--:(server) | +--:(server)
| | +--rw tls-server | | +--rw tls-server
| | ... | | ...
| +--:(client) | +--:(client)
| +--rw tls-client | +--rw tls-client
| ... | ...
+--ro discontinuity-time? yang:timestamp +--ro discontinuity-time? yang:timestamp
+--ro initiate-session? boolean +--ro initiate-session? boolean
skipping to change at line 799 skipping to change at line 810
module: ietf-pcep module: ietf-pcep
+--rw pcep! +--rw pcep!
+--rw entity +--rw entity
+--... +--...
+--rw peers +--rw peers
+--rw peer* [addr] +--rw peer* [addr]
+--... +--...
+--ro sessions +--ro sessions
+--ro session* [initiator] +--ro session* [initiator]
+--ro initiator initiator +--ro initiator initiator
+--ro role? -> ../../../role +--ro role?
| -> ../../../role
+--ro state-last-change? yang:timestamp +--ro state-last-change? yang:timestamp
+--ro state? sess-state +--ro state? sess-state
+--ro session-creation? yang:timestamp +--ro session-creation? yang:timestamp
+--ro connect-retry? yang:counter32 +--ro connect-retry? yang:counter32
+--ro local-id? uint8 +--ro local-id? uint8
+--ro remote-id? uint8 +--ro remote-id? uint8
+--ro keepalive-timer? uint8 +--ro keepalive-timer? uint8
+--ro peer-keepalive-timer? uint8 +--ro peer-keepalive-timer? uint8
+--ro dead-timer? uint8 +--ro dead-timer? uint8
+--ro peer-dead-timer? uint8 +--ro peer-dead-timer? uint8
skipping to change at line 1094 skipping to change at line 1106
* Stateful PCE * Stateful PCE
* Segment Routing (SR) for the MPLS data plane * Segment Routing (SR) for the MPLS data plane
* Authentication including PCEPS (TLS) * Authentication including PCEPS (TLS)
* Hierarchical PCE (H-PCE) * Hierarchical PCE (H-PCE)
Segment Routing in the IPv6 data plane is out of the scope of this Segment Routing in the IPv6 data plane is out of the scope of this
document. Refer to [YANG-PCEP-SR] for the PCEP-SRv6 YANG module. document. Refer to [YANG-PCEP-SRV6] for the PCEP-SRv6 YANG module.
6.1. Stateful PCE's LSP-DB 6.1. Stateful PCE's LSP-DB
In the operational datastore of stateful PCE, the list of LSP state In the operational datastore of stateful PCE, the list of LSP state
is maintained in the LSP-DB. The key is the PLSP-ID, the PCC's IP is maintained in the LSP-DB. The key is the PLSP-ID, the PCC's IP
address, and the LSP-ID. address, and the LSP-ID.
The PCEP data model contains the operational state of LSPs The PCEP data model contains the operational state of LSPs
(/pcep/entity/lsp-db/lsp/) with PCEP-specific attributes. The (/pcep/entity/lsp-db/lsp/) with PCEP-specific attributes. The
generic TE attributes of the LSP are defined in [YANG-TE]. A generic TE attributes of the LSP are defined in [YANG-TE]. A
skipping to change at line 1264 skipping to change at line 1276
Path Computation Element (PCE)."; Path Computation Element (PCE).";
} }
} }
description description
"The role of a PCEP speaker. "The role of a PCEP speaker.
Takes one of the following values: Takes one of the following values:
- unknown(0): the role is not known, - unknown(0): the role is not known,
- pcc(1): the role is of a Path Computation - pcc(1): the role is of a Path Computation
Client (PCC), Client (PCC),
- pce(2): the role is of a Path Computation - pce(2): the role is of a Path Computation
Server (PCE), Element (PCE),
- pcc-and-pce(3): the role is of both a PCC and - pcc-and-pce(3): the role is of both a PCC and
a PCE."; a PCE.";
reference reference
"RFC 5440: Path Computation Element (PCE) Communication "RFC 5440: Path Computation Element (PCE) Communication
Protocol (PCEP)"; Protocol (PCEP)";
} }
typedef oper-status { typedef oper-status {
type enumeration { type enumeration {
enum oper-status-up { enum oper-status-up {
skipping to change at line 3310 skipping to change at line 3322
leaf creation-time { leaf creation-time {
type yang:timestamp; type yang:timestamp;
description description
"The timestamp value at the time this path-key "The timestamp value at the time this path-key
was created."; was created.";
} }
leaf discard-time { leaf discard-time {
type uint32; type uint32;
units "minutes"; units "minutes";
description description
"A time after which this path-keys will be "A time after which this path-key will be
discarded."; discarded.";
} }
leaf reuse-time { leaf reuse-time {
type uint32; type uint32;
units "minutes"; units "minutes";
description description
"A time after which this path-keys could be "A time after which this path-key could be
reused."; reused.";
} }
} }
} }
container peers { container peers {
description description
"The list of configured peers for the "The list of configured peers for the
entity (remote PCE)."; entity (remote PCE).";
list peer { list peer {
key "addr"; key "addr";
skipping to change at line 4741 skipping to change at line 4753
is thus important to control access to these operations. is thus important to control access to these operations.
Specifically, the following operation has particular sensitivities/ Specifically, the following operation has particular sensitivities/
vulnerabilities: vulnerabilities:
* trigger-resync: Triggers resynchronization with the PCE. * trigger-resync: Triggers resynchronization with the PCE.
Unauthorized access to this could force a PCEP session into Unauthorized access to this could force a PCEP session into
continuous state synchronization. continuous state synchronization.
This YANG module uses groupings from other YANG modules that define This YANG module uses groupings from other YANG modules that define
nodes that may be considered sensitive or vulnerable in network nodes that may be considered sensitive or vulnerable in network
environments. Refer to the Security Considerations of respective environments. Refer to the Security Considerations of [RFC9645] and
RFCs for information as to which nodes may be considered sensitive or [RFC8776] for information as to which nodes may be considered
vulnerable in network environments. sensitive or vulnerable in network environments.
The YANG module defines a set of identities, types, and groupings. The YANG module defines a set of identities, types, and groupings.
These nodes are intended to be reused by other YANG modules. The These nodes are intended to be reused by other YANG modules. The
module by itself does not expose any data nodes that are writable, module by itself does not expose any data nodes that are writable,
data nodes that contain read-only state, or RPCs. As such, there are data nodes that contain read-only state, or RPCs. As such, there are
no additional security issues related to the YANG module that need to no additional security issues related to the YANG module that need to
be considered. be considered.
Modules that use the groupings that are defined in this document Modules that use the groupings that are defined in this document
should identify the corresponding security considerations. should identify the corresponding security considerations.
skipping to change at line 5111 skipping to change at line 5123
<https://www.rfc-editor.org/info/rfc9603>. <https://www.rfc-editor.org/info/rfc9603>.
[YANG-GUIDELINES] [YANG-GUIDELINES]
Bierman, A., Boucadair, M., and Q. Wu, "Guidelines for Bierman, A., Boucadair, M., and Q. Wu, "Guidelines for
Authors and Reviewers of Documents Containing YANG Data Authors and Reviewers of Documents Containing YANG Data
Models", Work in Progress, Internet-Draft, draft-ietf- Models", Work in Progress, Internet-Draft, draft-ietf-
netmod-rfc8407bis-28, 5 June 2025, netmod-rfc8407bis-28, 5 June 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-netmod- <https://datatracker.ietf.org/doc/html/draft-ietf-netmod-
rfc8407bis-28>. rfc8407bis-28>.
[YANG-PCEP-SR] [YANG-PCEP-SRV6]
Li, C., Sivabalan, S., Peng, S., Koldychev, M., and L. Li, C., Sivabalan, S., Peng, S., Koldychev, M., and L.
Ndifor, "A YANG Data Model for Segment Routing (SR) Policy Ndifor, "A YANG Data Model for Segment Routing (SR) Policy
and SR in IPv6 (SRv6) support in Path Computation Element and SR in IPv6 (SRv6) support in Path Computation Element
Communications Protocol (PCEP)", Work in Progress, Communications Protocol (PCEP)", Work in Progress,
Internet-Draft, draft-ietf-pce-pcep-srv6-yang-07, 21 April Internet-Draft, draft-ietf-pce-pcep-srv6-yang-07, 21 April
2025, <https://datatracker.ietf.org/doc/html/draft-ietf- 2025, <https://datatracker.ietf.org/doc/html/draft-ietf-
pce-pcep-srv6-yang-07>. pce-pcep-srv6-yang-07>.
[YANG-TE] Saad, T., Gandhi, R., Liu, X., Beeram, V. P., and I. [YANG-TE] Saad, T., Gandhi, R., Liu, X., Beeram, V. P., and I.
Bryskin, "A YANG Data Model for Traffic Engineering Bryskin, "A YANG Data Model for Traffic Engineering
skipping to change at line 5342 skipping to change at line 5354
+--rw peer* [addr] +--rw peer* [addr]
+--rw addr inet:ip-address-no-zone +--rw addr inet:ip-address-no-zone
+--rw role role +--rw role role
+--rw description? string +--rw description? string
+--rw domains +--rw domains
| +--rw domain* [type domain] | +--rw domain* [type domain]
| +--rw type identityref | +--rw type identityref
| +--rw domain domain | +--rw domain domain
+--rw capabilities +--rw capabilities
| +--rw capability? bits | +--rw capability? bits
| +--rw pce-initiated? boolean {pce-initiated}? | +--rw pce-initiated? boolean
| | {pce-initiated}?
| +--rw include-db-ver? boolean | +--rw include-db-ver? boolean
| | {stateful,sync-opt}? | | {stateful,sync-opt}?
| +--rw trigger-resync? boolean | +--rw trigger-resync? boolean
| | {stateful,sync-opt}? | | {stateful,sync-opt}?
| +--rw trigger-initial-sync? boolean | +--rw trigger-initial-sync? boolean
| | {stateful,sync-opt}? | | {stateful,sync-opt}?
| +--rw incremental-sync? boolean | +--rw incremental-sync? boolean
| | {stateful,sync-opt}? | | {stateful,sync-opt}?
| +--rw sr-mpls {sr-mpls}? | +--rw sr-mpls {sr-mpls}?
| | +--rw enabled? boolean | | +--rw enabled? boolean
skipping to change at line 5385 skipping to change at line 5398
+--rw auth +--rw auth
| +--rw (auth-type-selection)? | +--rw (auth-type-selection)?
| +--:(auth-key-chain) | +--:(auth-key-chain)
| | +--rw key-chain? | | +--rw key-chain?
| | key-chain:key-chain-ref | | key-chain:key-chain-ref
| +--:(auth-key) | +--:(auth-key)
| | +--rw crypto-algorithm identityref | | +--rw crypto-algorithm identityref
| | +--rw (key-string-style)? | | +--rw (key-string-style)?
| | +--:(keystring) | | +--:(keystring)
| | | +--rw keystring? string | | | +--rw keystring? string
| | +--:(hexadecimal) {key-chain:hex-key-string}? | | +--:(hexadecimal)
| | +--rw hexadecimal-string? yang:hex-string | | {key-chain:hex-key-string}?
| | +--rw hexadecimal-string?
| | yang:hex-string
| +--:(auth-tls) {tls}? | +--:(auth-tls) {tls}?
| +--rw (role)? | +--rw (role)?
| +--:(server) | +--:(server)
| | +--rw tls-server | | +--rw tls-server
| | ... | | ...
| +--:(client) | +--:(client)
| +--rw tls-client | +--rw tls-client
| ... | ...
+--ro discontinuity-time? yang:timestamp +--ro discontinuity-time? yang:timestamp
+--ro initiate-session? boolean +--ro initiate-session? boolean
+--ro session-exists? boolean +--ro session-exists? boolean
+--ro session-up-time? yang:timestamp +--ro session-up-time? yang:timestamp
+--ro session-fail-time? yang:timestamp +--ro session-fail-time? yang:timestamp
+--ro session-fail-up-time? yang:timestamp +--ro session-fail-up-time? yang:timestamp
+--ro sessions +--ro sessions
+--ro session* [initiator] +--ro session* [initiator]
+--ro initiator initiator +--ro initiator initiator
+--ro role? -> ../../../role +--ro role?
| -> ../../../role
+--ro state-last-change? yang:timestamp +--ro state-last-change? yang:timestamp
+--ro state? sess-state +--ro state? sess-state
+--ro session-creation? yang:timestamp +--ro session-creation? yang:timestamp
+--ro connect-retry? yang:counter32 +--ro connect-retry? yang:counter32
+--ro local-id? uint8 +--ro local-id? uint8
+--ro remote-id? uint8 +--ro remote-id? uint8
+--ro keepalive-timer? uint8 +--ro keepalive-timer? uint8
+--ro peer-keepalive-timer? uint8 +--ro peer-keepalive-timer? uint8
+--ro dead-timer? uint8 +--ro dead-timer? uint8
+--ro peer-dead-timer? uint8 +--ro peer-dead-timer? uint8
skipping to change at line 5481 skipping to change at line 5497
| +--ro peer-overload-time? uint32 | +--ro peer-overload-time? uint32
+---n pcep-session-peer-overload-clear +---n pcep-session-peer-overload-clear
+--ro peer-addr? +--ro peer-addr?
| -> /pcep/entity/peers/peer/addr | -> /pcep/entity/peers/peer/addr
+--ro peer-overloaded? boolean +--ro peer-overloaded? boolean
+--ro peer-overloaded-clear-timestamp? yang:timestamp +--ro peer-overloaded-clear-timestamp? yang:timestamp
Appendix B. Example Appendix B. Example
The example below provides an overview of PCEP peer session The example below provides an overview of PCEP peer session
information and LSP-DB in the YANG module. information and LSP-DB in the "ietf-pcep" module.
+-------+ +-------+ +-------+ +-------+
| | | | | | | |
| PCC1 |<---------------->| | | PCC1 |<---------------->| |
| | | | | | | |
+-------+ | | +-------+ | |
IP:192.0.2.1 | | IP:192.0.2.1 | |
| PCE | | PCE |
| | | |
+-------+ | | +-------+ | |
skipping to change at line 6008 skipping to change at line 6024
Xian Zhang Xian Zhang
Huawei Technologies Huawei Technologies
Bantian, Longgang District Bantian, Longgang District
Shenzhen Shenzhen
518129 518129
China China
Email: zhang.xian@huawei.com Email: zhang.xian@huawei.com
Avantika Avantika
ECI Telecom Ciena
India India
Email: avantika.srm@gmail.com Email: avantika.srm@gmail.com
Shashikanth Shashikanth
India India
Email: shashivh@gmail.com Email: shashivh@gmail.com
Authors' Addresses Authors' Addresses
Dhruv Dhody (editor) Dhruv Dhody (editor)
 End of changes. 21 change blocks. 
26 lines changed or deleted 42 lines changed or added

This html diff was produced by rfcdiff 1.48.