A YANG Data Model for Segment Routing (SR) Policy and SR in IPv6 (SRv6) support in Path Computation Element Communications Protocol (PCEP)
draft-ietf-pce-pcep-srv6-yang-09
| Document | Type | Active Internet-Draft (pce WG) | |
|---|---|---|---|
| Authors | Cheng Li , Siva Sivabalan , Shuping Peng , Mike Koldychev , Luc-Fabrice Ndifor | ||
| Last updated | 2026-05-13 | ||
| Replaces | draft-li-pce-pcep-srv6-yang | ||
| RFC stream | Internet Engineering Task Force (IETF) | ||
| Intended RFC status | (None) | ||
| Formats | |||
| Yang Validation | 0 errors, 0 warnings | ||
| Additional resources |
Yang catalog entry for ietf-pcep-srpolicy.yang
Yang catalog entry for ietf-pcep-srv6.yang Yang impact analysis for draft-ietf-pce-pcep-srv6-yang Mailing list discussion |
||
| Stream | WG state | WG Document | |
| Document shepherd | (None) | ||
| IESG | IESG state | I-D Exists | |
| Consensus boilerplate | Unknown | ||
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-ietf-pce-pcep-srv6-yang-09
PCE Working Group C. Li
Internet-Draft Huawei Technologies
Intended status: Standards Track S. Sivabalan
Expires: 14 November 2026 Ciena Corporation
S. Peng
Huawei Technologies
M. Koldychev
Cisco Systems, Inc.
L. Ndifor
MTN Cameroon
13 May 2026
A YANG Data Model for Segment Routing (SR) Policy and SR in IPv6 (SRv6)
support in Path Computation Element Communications Protocol (PCEP)
draft-ietf-pce-pcep-srv6-yang-09
Abstract
This document augments a YANG data model for the management of Path
Computation Element Communications Protocol (PCEP) for communications
between a Path Computation Client (PCC) and a Path Computation
Element (PCE), or between two PCEs in support for Segment Routing in
IPv6 (SRv6) and SR Policy. The data model includes configuration
data and state data (status information and counters for the
collection of statistics).
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 14 November 2026.
Copyright Notice
Copyright (c) 2026 IETF Trust and the persons identified as the
document authors. All rights reserved.
Li, et al. Expires 14 November 2026 [Page 1]
Internet-Draft PCEP-SR-YANG May 2026
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Terminology and Notation . . . . . . . . . . . . . . . . . . 3
3.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4
3.3. References in the Model . . . . . . . . . . . . . . . . . 5
3.4. Further Discussion . . . . . . . . . . . . . . . . . . . 6
4. The Design of YANG Data Model . . . . . . . . . . . . . . . . 7
4.1. The Overview of PCEP SRv6 Data Model . . . . . . . . . . 7
4.2. The Overview of PCEP SR Policy Data Model . . . . . . . . 7
5. The YANG Modules . . . . . . . . . . . . . . . . . . . . . . 9
5.1. ietf-pcep-srv6 module . . . . . . . . . . . . . . . . . . 9
5.2. ietf-pcep-srpolicy module . . . . . . . . . . . . . . . . 14
6. Security Considerations . . . . . . . . . . . . . . . . . . . 25
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 27
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 27
9.1. Normative References . . . . . . . . . . . . . . . . . . 27
9.2. Informative References . . . . . . . . . . . . . . . . . 30
Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 31
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31
1. Introduction
The Path Computation Element (PCE) defined in [RFC4655] is an entity
that is capable of computing a network path or route based on a
network graph, and applying computational constraints. A Path
Computation Client (PCC) may make requests to a PCE for paths to be
computed.
PCEP is the communication protocol between a PCC and PCE and is
defined in [RFC5440]. PCEP interactions include path computation
requests and path computation replies, as well as notifications of
specific states related to the use of a PCE in the context of
Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS)
Traffic Engineering (TE). [RFC8231] specifies extensions to PCEP to
enable stateful control of MPLS TE LSPs.
Li, et al. Expires 14 November 2026 [Page 2]
Internet-Draft PCEP-SR-YANG May 2026
[RFC9603] extends [RFC8664] to support SR for IPv6 data plane.
[RFC9826] defines a YANG [RFC7950] data model for the management of
PCEP speakers. This document contains a specification of the PCEP-
SRv6 YANG module, "ietf-pcep-srv6" which provides the PCEP-SRv6
[RFC9603] data model. This document also contains the PCEP SR Policy
YANG module, "ietf-pcep-srpolicy" which provides a reference to SR
Policies [RFC9256].
The PCEP operational state is included in the same tree as the PCEP
configuration, consistent with Network Management Datastore
Architecture (NMDA) [RFC8342]. The origin of the data is indicated
as per the origin metadata annotation.
2. Requirements Language
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.
3. Terminology and Notation
This document also uses the following terms defined in [RFC7420]:
* PCEP entity: a local PCEP speaker.
* PCEP peer: a remote PCEP speaker.
* PCEP speaker: where it is not necessary to distinguish between
local and remote.
Further, this document also uses the following terms defined in
[RFC8231] :
* Stateful PCE, Passive Stateful PCE, Active Stateful PCE.
* Delegation, Revocation, Redelegation.
* LSP State Report, Path Computation Report message (PCRpt).
* LSP State Update, Path Computation Update message (PCUpd).
[RFC8281] :
* PCE-initiated LSP, Path Computation LSP Initiate Message
(PCInitiate).
Li, et al. Expires 14 November 2026 [Page 3]
Internet-Draft PCEP-SR-YANG May 2026
[RFC8408] :
* Path Setup Type (PST).
[RFC8664] :
* Segment Routing (SR).
[RFC9603] :
* Segment Routing in IPv6 (SRv6).
[RFC9256] :
* SR Policy.
3.1. Tree Diagrams
A simplified graphical representation of the data model is used in
this document. The meaning of the symbols in these diagrams is
defined in [RFC8340].
3.2. Prefixes in Data Node Names
In this document, names of data nodes and other data model objects
are often used without a prefix, as long as it is clear from the
context in which the YANG module each name is defined. Otherwise,
names are prefixed using the standard prefix associated with the
corresponding YANG module, as shown in Table 1.
Li, et al. Expires 14 November 2026 [Page 4]
Internet-Draft PCEP-SR-YANG May 2026
+============+=================+==================================+
| Prefix | YANG module | Reference |
+============+=================+==================================+
| inet | ietf-inet-types | [RFC6991] |
+------------+-----------------+----------------------------------+
| te-types | ietf-te-types | [RFC8776] |
+------------+-----------------+----------------------------------+
| iana-msd- | iana-msd-types | [RFC9702] |
| types | | |
+------------+-----------------+----------------------------------+
| pcep | ietf-pcep | [RFC9826] |
+------------+-----------------+----------------------------------+
| srv6-types | ietf-srv6-types | [I-D.ietf-spring-srv6-yang] |
+------------+-----------------+----------------------------------+
| sr-policy- | ietf-sr-policy- | [I-D.ietf-spring-sr-policy-yang] |
| types | types | |
+------------+-----------------+----------------------------------+
Table 1: Prefixes and corresponding YANG modules
3.3. References in the Model
The following additional documents are referenced in the model
defined in this document -
Li, et al. Expires 14 November 2026 [Page 5]
Internet-Draft PCEP-SR-YANG May 2026
+=======================+==========================================+
| Title | Reference |
+=======================+==========================================+
| Path Computation | [RFC9603] |
| Element Communication | |
| Protocol (PCEP) | |
| Extensions for IPv6 | |
| Segment Routing | |
+-----------------------+------------------------------------------+
| Carrying Binding | [RFC9604] |
| Label/Segment | |
| Identifier (SID) in | |
| PCE-based Networks | |
+-----------------------+------------------------------------------+
| Segment Routing | [RFC9256] |
| Policy Architecture | |
+-----------------------+------------------------------------------+
| YANG Data Model for | [RFC9702] |
| Maximum Segment | |
| Identifier (SID) | |
| Depth Types and MPLS | |
| Maximum SID Depth | |
+-----------------------+------------------------------------------+
| PCEP Extensions for | [I-D.ietf-pce-multipath] |
| Signaling Multipath | |
| Information | |
+-----------------------+------------------------------------------+
| PCEP extension to | [I-D.ietf-pce-segment-routing-policy-cp] |
| support Segment | |
| Routing Policy | |
| Candidate Paths | |
+-----------------------+------------------------------------------+
| Carrying SR-Algorithm | [I-D.ietf-pce-sid-algo] |
| in Path Computation | |
| Element Communication | |
| Protocol (PCEP) | |
+-----------------------+------------------------------------------+
Table 2: References in the YANG modules
3.4. Further Discussion
[I-D.ietf-pce-multipath] defines a mechanism to encode multiple paths
for a single set of objectives and constraints. This is a generic
PCEP mechanism, not specific to any path setup type or dataplane but
the key usecase is SR.
Further discussion is needed on how to model it in PCEP YANG.
Li, et al. Expires 14 November 2026 [Page 6]
Internet-Draft PCEP-SR-YANG May 2026
4. The Design of YANG Data Model
4.1. The Overview of PCEP SRv6 Data Model
The PCEP-SRv6 YANG module defined in this document has all the common
building blocks for the PCEP-SRv6 extension. The model augments PCEP
SRv6 capabilities including support for NAI, Algorithm, MSD at the
Entity and peer level. The SID structure is added at the entity
level.
module: ietf-pcep-srv6
augment /pcep:pcep/pcep:entity/pcep:capabilities:
+--rw srv6 {srv6}?
| +--rw enabled? boolean
| +--rw nai? boolean
| +--rw algo? boolean {algo}?
| +--ro srv6-msd* [msd-type]
| +--ro msd-type identityref
| +--ro msd-value? uint8
+--rw sid-str {sid-str}?
+--rw lb? uint8
+--rw ln? uint8
+--rw fn? uint8
+--rw an? uint8
augment /pcep:pcep/pcep:entity/pcep:peers/pcep:peer
/pcep:capabilities:
+--rw srv6 {srv6}?
+--rw enabled? boolean
+--rw nai? boolean
+--rw algo? boolean {algo}?
+--ro srv6-msd* [msd-type]
+--ro msd-type identityref
+--ro msd-value? uint8
4.2. The Overview of PCEP SR Policy Data Model
The PCEP-SRPolicy YANG module defined in this document has all the
common building blocks for the PCEP-SR Policy extension. The model
augments the LSP in the LSPDB to have information refering to the SR
Policy and the candidate path. Further, the SR segment list
information is added at the LSP in the LSP-DB.
Li, et al. Expires 14 November 2026 [Page 7]
Internet-Draft PCEP-SR-YANG May 2026
module: ietf-pcep-srpolicy
augment /pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp:
+--ro sr-policy
+--ro headend? inet:ip-address-no-zone
+--ro color? sr-policy-types:color-type
+--ro endpoint? inet:ip-address-no-zone
+--ro name? sr-policy-types:name-type
+--ro cp
+--ro protocol-origin? identityref
+--ro originator? string
+--ro discriminator? uint32
+--ro name? string
augment /pcep:pcep/pcep:entity/pcep:capabilities
/pcep:sr-mpls:
+--rw algo? boolean {algo}?
augment /pcep:pcep/pcep:entity/pcep:peers/pcep:peer
/pcep:capabilities/pcep:sr-mpls:
+--rw algo? boolean {algo}?
augment /pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp:
+--ro sr
+--ro segment-list* [path-id]
+--ro path-id uint32
+--ro segment* [index]
+--ro index uint32
+--ro sid-value?
| sr-policy-types:sid-value-type
+--ro nai-type?
| identityref
+--ro (nai)?
| +--:(ipv4-node-id)
| | +--ro ipv4-node-id
| | inet:ipv4-address-no-zone
| +--:(ipv6-node-id)
| | +--ro ipv6-node-id
| | inet:ipv6-address-no-zone
| +--:(ipv4-adjacency)
| | +--ro ipv4-adjacency
| | +--ro local
| | | inet:ipv4-address-no-zone
| | +--ro remote
| | inet:ipv4-address-no-zone
| +--:(ipv6-adjacency-global)
| | +--ro ipv6-adjacency-global
| | +--ro local
| | | inet:ipv6-address-no-zone
| | +--ro remote
| | inet:ipv6-address-no-zone
Li, et al. Expires 14 November 2026 [Page 8]
Internet-Draft PCEP-SR-YANG May 2026
| +--:(unnumbered-adjacency-ipv4-node-id)
| | +--ro unnumbered-adjacency
| | +--ro local
| | | +--ro node-id
| | | | inet:ipv4-address-no-zone
| | | +--ro if-id uint32
| | +--ro remote
| | +--ro node-id
| | | inet:ipv4-address-no-zone
| | +--ro if-id uint32
| +--:(ipv6-adjacency-linklocal)
| | +--ro ipv6-adjacency-linklocal
| | +--ro local
| | | +--ro global-address
| | | | inet:ipv6-address-no-zone
| | | +--ro if-id uint32
| | +--ro remote
| | +--ro global-address
| | | inet:ipv6-address-no-zone
| | +--ro if-id uint32
| +--:(absent)
+--ro algorithm? uint8
+--ro srv6 {pcep-srv6:srv6}?
+--ro sid-str {sid-str}?
| +--ro lb? uint8
| +--ro ln? uint8
| +--ro fn? uint8
| +--ro an? uint8
+--ro endpoint-behavior? identityref
5. The YANG Modules
5.1. ietf-pcep-srv6 module
RFC Ed.: In this section, replace all occurrences of 'XXXX' with the
actual RFC number and all occurrences of the revision date below with
the date of RFC publication (and remove this note).
<CODE BEGINS> file "ietf-pcep-srv6@2026-05-03.yang"
module ietf-pcep-srv6 {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-pcep-srv6";
prefix pcep-srv6;
import ietf-te-types {
prefix te-types;
reference
"RFC 8776: Common YANG Data Types for Traffic Engineering";
Li, et al. Expires 14 November 2026 [Page 9]
Internet-Draft PCEP-SR-YANG May 2026
}
import iana-msd-types {
prefix iana-msd-types;
reference
"RFC 9702: YANG Data Model for Maximum Segment Identifier (SID)
Depth Types and MPLS Maximum SID Depth";
}
import ietf-pcep {
prefix pcep;
reference
"RFC 9826: A YANG Data Model for Path
Computation Element Communications Protocol (PCEP)";
}
organization
"IETF PCE (Path Computation Element) Working Group";
contact
"WG Web: <https://datatracker.ietf.org/wg/pce/>
WG List: <mailto:pce@ietf.org>
Editor: Cheng Li
<mailto:c.l@huawei.com>
Shuping Peng
<mailto:pengshuping@huawei.com>";
description
"The YANG module augments the Path Computation Element
Communications Protocol (PCEP) YANG operational model
with Segment Routing in IPv6 (SRv6).
Copyright (c) 2026 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Revised BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices.";
revision 2026-05-03 {
description
"Initial revision.";
reference
"RFC XXXX: A YANG Data Model for Segment Routing (SR) Policy
and SRv6 support in Path Computation Element Communications
Protocol (PCEP)";
Li, et al. Expires 14 November 2026 [Page 10]
Internet-Draft PCEP-SR-YANG May 2026
}
/* Features */
feature srv6 {
description
"Support Segment Routing in IPv6 (SRv6) for PCE.";
reference
"RFC 9603: Path Computation Element Communication Protocol
(PCEP) Extensions for IPv6 Segment Routing";
}
feature bsid {
description
"Support Binding SID for PCE.";
reference
"RFC 9604: Carrying Binding Label/SID in PCE-Based Networks";
}
feature sid-str {
description
"Support for SID Structure";
reference
"RFC 9603: Path Computation Element Communication Protocol
(PCEP) Extensions for IPv6 Segment Routing";
}
feature algo {
description
"Support for SR Algorithm";
reference
"I-D.ietf-pce-sid-algo: Carrying SR-Algorithm in Path
Computation Element Communication Protocol (PCEP)";
}
/* Identity */
identity path-setup-srv6 {
if-feature "srv6";
base te-types:path-signaling-type;
description
"SRv6 path setup type";
}
/* Groupings */
grouping srv6-msd {
description
Li, et al. Expires 14 November 2026 [Page 11]
Internet-Draft PCEP-SR-YANG May 2026
"SRv6 MSD";
leaf msd-type {
type identityref {
base iana-msd-types:msd-base-srh;
}
description
"SRv6 Maximum Segment Depth (MSD) Type";
reference
"RFC 9702: YANG Data Model for Maximum Segment Identifier (SID)
Depth Types and MPLS Maximum SID Depth";
}
leaf msd-value {
type uint8;
description
"SRv6 MSD value for the type";
}
reference
"RFC 9603: Path Computation Element Communication Protocol
(PCEP) Extensions for IPv6 Segment Routing";
}
grouping srv6 {
description
"SRv6";
container srv6 {
if-feature "srv6";
description
"If SRv6 is supported";
leaf enabled {
type boolean;
description
"Enabled or Disabled; set to true when
Enabled";
}
leaf nai {
type boolean;
default "false";
description
"True indicates capability to resolve Node or
Adjacency Identifier (NAI) to SRv6 Segment
Identifier (SID)";
}
leaf algo {
if-feature "algo";
type boolean;
default "false";
description
"Indicates capability for SRv6 Algorithm";
Li, et al. Expires 14 November 2026 [Page 12]
Internet-Draft PCEP-SR-YANG May 2026
}
list srv6-msd {
key "msd-type";
config false;
description
"list of SRv6 MSD";
uses srv6-msd;
}
}
}
grouping sid-str {
description
"The default SID Structure";
container sid-str {
if-feature "sid-str";
description
"The default SID Structure";
leaf lb {
type uint8;
description
"SRv6 SID Locator Block length in bits";
}
leaf ln {
type uint8;
description
"SRv6 SID Locator Node length in bits";
}
leaf fn {
type uint8;
description
"SRv6 SID Function length in bits";
}
leaf an {
type uint8;
description
"SRv6 SID Arguments length in bits";
}
}
}
/*
* Augment modules to add SRv6
*/
augment "/pcep:pcep/pcep:entity/pcep:capabilities" {
description
"Augmenting SRv6 capabilities";
Li, et al. Expires 14 November 2026 [Page 13]
Internet-Draft PCEP-SR-YANG May 2026
uses srv6;
uses sid-str;
}
augment "/pcep:pcep/pcep:entity/pcep:peers/pcep:peer"
+ "/pcep:capabilities" {
description
"Augmenting SRv6 capabilities for peer";
uses srv6;
}
}
<CODE ENDS>
5.2. ietf-pcep-srpolicy module
RFC Ed.: In this section, replace all occurrences of 'XXXX' with the
actual RFC number and all occurrences of the revision date below with
the date of RFC publication (and remove this note).
<CODE BEGINS> file "ietf-pcep-srpolicy@2026-05-03.yang"
module ietf-pcep-srpolicy {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-pcep-srpolicy";
prefix pcep-srp;
import ietf-inet-types {
prefix inet;
reference
"RFC 6991: Common YANG Data Types";
}
import ietf-te-types {
prefix te-types;
reference
"RFC 8776: Common YANG Data Types for Traffic Engineering";
}
import ietf-pcep {
prefix pcep;
reference
"RFC 9826: A YANG Data Model for Path
Computation Element Communications Protocol (PCEP)";
}
import ietf-sr-policy-types {
prefix sr-policy-types;
reference
"I-D.ietf-spring-sr-policy-yang: YANG Data Model for
Segment Routing Policy";
}
import ietf-srv6-types {
Li, et al. Expires 14 November 2026 [Page 14]
Internet-Draft PCEP-SR-YANG May 2026
prefix srv6-types;
reference
"I-D.ietf-spring-srv6-yang: YANG Data Model for SRv6
Base and Static";
}
import ietf-pcep-srv6 {
prefix pcep-srv6;
reference
"I-D.ietf-pce-pcep-srv6-yang: A YANG Data Model for
Segment Routing (SR) Policy and SR in IPv6 (SRv6)
support in Path Computation Element Communications
Protocol (PCEP)";
}
organization
"IETF PCE (Path Computation Element) Working Group";
contact
"WG Web: <https://datatracker.ietf.org/wg/pce/>
WG List: <mailto:pce@ietf.org>
Editor: Cheng Li
<mailto:c.l@huawei.com>
Shuping Peng
<mailto:pengshuping@huawei.com>";
description
"The YANG module augments the Path Computation Element
Communications Protocol (PCEP) YANG model with Segment
Routing (SR) Policy.
Copyright (c) 2026 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Revised BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices.";
revision 2026-05-03 {
description
"Initial revision.";
reference
"RFC XXXX: A YANG Data Model for Segment Routing (SR) Policy
and SRv6 support in Path Computation Element Communications
Protocol (PCEP)";
Li, et al. Expires 14 November 2026 [Page 15]
Internet-Draft PCEP-SR-YANG May 2026
}
/* Features */
feature multipath {
description
"Support for multipath ERO.";
reference
"I-D.ietf-pce-multipath: PCEP Extensions for Signaling
Multipath Information";
}
feature algo {
description
"Support for SR Algorithm";
reference
"I-D.ietf-pce-sid-algo: Carrying SR-Algorithm in Path
Computation Element Communication Protocol (PCEP)";
}
/* Identities */
identity sr-policy {
base te-types:association-type;
description
"SR Policy Association";
reference
"I-D.ietf-pce-segment-routing-policy-cp: PCEP extension to
support Segment Routing Policy Candidate Paths";
}
identity nai-type {
description
"Base identity for NAI (Node or Adjacency Identifier) Type
(NT)";
reference
"Derived from the specification of NAI Type (NT) field in
[I-D/related document section].";
}
identity nai-type-absent {
base nai-type;
description
"NT=0: The NAI is absent.";
}
identity nai-type-ipv4-node-id {
base nai-type;
Li, et al. Expires 14 November 2026 [Page 16]
Internet-Draft PCEP-SR-YANG May 2026
description
"NT=1: The NAI is an IPv4 node ID.";
}
identity nai-type-ipv6-node-id {
base nai-type;
description
"NT=2: The NAI is an IPv6 node ID.";
}
identity nai-type-ipv4-adjacency {
base nai-type;
description
"NT=3: The NAI is an IPv4 adjacency.";
}
identity nai-type-ipv6-adjacency-global {
base nai-type;
description
"NT=4: The NAI is an IPv6 adjacency with global IPv6
addresses.";
}
identity nai-type-unnumbered-adjacency-ipv4-node-id {
base nai-type;
description
"NT=5: The NAI is an unnumbered adjacency with IPv4 node
IDs.";
}
identity nai-type-ipv6-adjacency-linklocal {
base nai-type;
description
"NT=6: The NAI is an IPv6 adjacency with link-local
IPv6 addresses.";
}
/* Groupings */
grouping sr-policy {
description
"Segment Routing Policy grouping";
leaf headend {
type inet:ip-address-no-zone;
description
"SR Policy headend";
reference
"RFC 9256: Segment Routing Policy Architecture";
Li, et al. Expires 14 November 2026 [Page 17]
Internet-Draft PCEP-SR-YANG May 2026
}
leaf color {
type sr-policy-types:color-type;
description
"SR Policy Color";
reference
"RFC 9256: Segment Routing Policy Architecture";
}
leaf endpoint {
type inet:ip-address-no-zone;
description
"SR Policy Endpoint";
reference
"RFC 9256: Segment Routing Policy Architecture";
}
leaf name {
type sr-policy-types:name-type;
description
"SR Policy name";
reference
"RFC 9256: Segment Routing Policy Architecture";
}
}
grouping sr-policy-cp {
description
"Segment Routing Policy Candidate Path grouping";
leaf protocol-origin {
type identityref {
base sr-policy-types:protocol-origin-type;
}
description
"SR Policy Candidate Path Protocol";
reference
"RFC 9256: Segment Routing Policy Architecture";
}
leaf originator {
type string;
description
"SR Policy Candidate Path Originator";
reference
"RFC 9256: Segment Routing Policy Architecture";
}
leaf discriminator {
type uint32 {
range "1..max";
}
description
Li, et al. Expires 14 November 2026 [Page 18]
Internet-Draft PCEP-SR-YANG May 2026
"SR Policy Candidate Path Discriminator";
reference
"RFC 9256: Segment Routing Policy Architecture";
}
leaf name {
type string;
description
"SR Policy Candidate Path name";
reference
"RFC 9256: Segment Routing Policy Architecture";
}
}
grouping segment-lists {
description
"Segment list grouping";
list segment-list {
key "path-id";
leaf path-id {
type uint32;
description
"Uniquely identify a path or segment-list within
a candidate path";
}
description
"Segment list";
list segment {
key "index";
description
"Configure Segment/hop at the index";
uses segment-properties;
}
}
}
grouping segment-properties {
description
"Segment properties grouping";
leaf index {
type uint32;
description
"Segment index";
}
leaf sid-value {
type sr-policy-types:sid-value-type;
description
"SID value";
reference
Li, et al. Expires 14 November 2026 [Page 19]
Internet-Draft PCEP-SR-YANG May 2026
"RFC 8664:Path Computation Element Communication Protocol
(PCEP) Extensions for Segment Routing
RFC 9603:Path Computation Element Communication Protocol
(PCEP) Extensions for IPv6 Segment Routing";
}
leaf nai-type {
type identityref {
base nai-type;
}
description
"Indicates the type and format of the NAI";
}
choice nai {
description
"Choice for NAI Types";
case ipv4-node-id {
when "derived-from-or-self(./nai-type,
'pcep-srp:nai-type-ipv4-node-id')";
leaf ipv4-node-id {
type inet:ipv4-address-no-zone;
mandatory true;
description
"NT=1: IPv4 Node ID.";
}
}
case ipv6-node-id {
when "derived-from-or-self(./nai-type,
'pcep-srp:nai-type-ipv6-node-id')";
leaf ipv6-node-id {
type inet:ipv6-address-no-zone;
mandatory true;
description
"NT=2: IPv6 Node ID.";
}
}
case ipv4-adjacency {
when "derived-from-or-self(./nai-type,
'pcep-srp:nai-type-ipv4-adjacency')";
container ipv4-adjacency {
description
"NT=3: pair of IPv4 addresses (local, remote).";
leaf local {
type inet:ipv4-address-no-zone;
mandatory true;
description
"local IPv4 address.";
}
leaf remote {
Li, et al. Expires 14 November 2026 [Page 20]
Internet-Draft PCEP-SR-YANG May 2026
type inet:ipv4-address-no-zone;
mandatory true;
description
"remote IPv4 address.";
}
}
}
case ipv6-adjacency-global {
when "derived-from-or-self(./nai-type,
'pcep-srp:nai-type-ipv6-adjacency-global')";
container ipv6-adjacency-global {
description
"NT=4: pair of global IPv6 addresses (local, remote).";
leaf local {
type inet:ipv6-address-no-zone;
mandatory true;
description
"local IPv6 address.";
}
leaf remote {
type inet:ipv6-address-no-zone;
mandatory true;
description
"remote IPv6 address.";
}
}
}
case unnumbered-adjacency-ipv4-node-id {
when "derived-from-or-self(./nai-type,
'pcep-srp:nai-type-unnumbered-adjacency-ipv4-node-id')";
container unnumbered-adjacency {
description
"NT=5: (node ID, interface ID) tuples for local and
remote.";
container local {
description
"local";
leaf node-id {
type inet:ipv4-address-no-zone;
mandatory true;
description
"local node ID.";
}
leaf if-id {
type uint32;
mandatory true;
description
"local interface ID.";
Li, et al. Expires 14 November 2026 [Page 21]
Internet-Draft PCEP-SR-YANG May 2026
}
}
container remote {
description
"remote";
leaf node-id {
type inet:ipv4-address-no-zone;
mandatory true;
description
"remote node ID.";
}
leaf if-id {
type uint32;
mandatory true;
description
"remote interface ID.";
}
}
}
}
case ipv6-adjacency-linklocal {
when "derived-from-or-self(./nai-type,
'pcep-srp:nai-type-ipv6-adjacency-linklocal')";
container ipv6-adjacency-linklocal {
description
"NT=6: (global IPv6 address, interface ID) tuples for
local/remote.";
container local {
description
"local";
leaf global-address {
type inet:ipv6-address-no-zone;
mandatory true;
description
"local global address.";
}
leaf if-id {
type uint32;
mandatory true;
description
"local interface ID.";
}
}
container remote {
description
"remote";
leaf global-address {
type inet:ipv6-address-no-zone;
Li, et al. Expires 14 November 2026 [Page 22]
Internet-Draft PCEP-SR-YANG May 2026
mandatory true;
description
"remote global address.";
}
leaf if-id {
type uint32;
mandatory true;
description
"remote interface ID.";
}
}
}
}
case absent {
when "derived-from-or-self(./nai-type,
'pcep-srp:nai-type-absent')";
description
"NT=0: NAI absent; no payload.";
}
}
leaf algorithm {
type uint8;
description
"SID algorithm identifier";
}
container srv6 {
when "derived-from-or-self
(/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst,
'path-setup-srv6')" {
description
"For SRv6 path";
}
if-feature "pcep-srv6:srv6";
uses pcep-srv6:sid-str;
leaf endpoint-behavior {
type identityref {
base srv6-types:srv6-endpoint-type;
}
description
"The behavior associated with the SRv6 SIDs.";
}
description
"SRv6 specific parameters";
}
}
augment "/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp" {
description
Li, et al. Expires 14 November 2026 [Page 23]
Internet-Draft PCEP-SR-YANG May 2026
"Augmenting SR Policy";
container sr-policy {
when "derived-from-or-self
(/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst,
'path-setup-sr') or
derived-from-or-self
(/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst,
'path-setup-srv6')" {
description
"Applicable for SR or SRv6";
}
uses sr-policy;
container cp {
uses sr-policy-cp;
description
"SR Policy Candidate Path Information";
}
description
"SR Policy information";
}
}
augment "/pcep:pcep/pcep:entity/pcep:capabilities"
+ "/pcep:sr-mpls" {
description
"Augmenting Algorithm Capability";
leaf algo {
if-feature "algo";
type boolean;
default "false";
description
"Indicates capability for SR-MPLS Algorithm";
}
}
augment "/pcep:pcep/pcep:entity/pcep:peers/pcep:peer"
+ "/pcep:capabilities/pcep:sr-mpls" {
description
"Augmenting Algorithm Capability";
leaf algo {
if-feature "algo";
type boolean;
default "false";
description
"Indicates capability for SR-MPLS Algorithm";
}
}
Li, et al. Expires 14 November 2026 [Page 24]
Internet-Draft PCEP-SR-YANG May 2026
augment "/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp" {
description
"Augmenting SR-MPLS for LSP";
container sr {
when "derived-from-or-self
(/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst,
'path-setup-sr') or
derived-from-or-self
(/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst,
'path-setup-srv6')" {
description
"Applicable for SR or SRv6";
}
uses segment-lists;
description
"SR information";
}
}
}
<CODE ENDS>
6. Security Considerations
The YANG modules defined in this document are designed to be accessed
via a network management protocol such as NETCONF [RFC6241] or
RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport
layer and the mandatory-to-implement secure transport is SSH
[RFC6242]. The lowest RESTCONF layer is HTTPS, and the mandatory-to-
implement secure transport is TLS [RFC8446].
The NETCONF access control model [RFC8341] provides the means to
restrict access for particular NETCONF or RESTCONF users to a pre-
configured subset of all available NETCONF or RESTCONF protocol
operations and content.
There are a number of data nodes defined in the YANG modules which
are writable/creatable/deletable (i.e., config true, which is the
default). These data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., <edit-config>)
to these data nodes without proper protection can have a negative
effect on network operations. These are the subtrees and data nodes
and their sensitivity/vulnerability:
/pcep:pcep/pcep:entity/pcep:capabilities/pcep-srv6:srv6 -
configures local SRv6 capabilities and parameters.
/pcep:pcep/pcep:entity/pcep:capabilities/pcep-srv6:sid-str -
configures SRv6 SID structure parameters.
Li, et al. Expires 14 November 2026 [Page 25]
Internet-Draft PCEP-SR-YANG May 2026
/pcep:pcep/pcep:entity/pcep:capabilities/pcep:sr-mpls/pcep-
srp:algo - configures supported SR algorithm capabilities.
/pcep:pcep/pcep:entity/pcep:peers/pcep:peer/pcep:capabilities/
pcep-srv6:srv6 - configures peer SRv6 capabilities and parameters.
Unauthorized access to the above data nodes can adversely affect the
PCEP session between the local entity and its peers. This may lead
to incorrect capability advertisement, inability to compute new
paths, or incorrect stateful operations on delegated as well as PCE-
initiated LSPs.
Some of the readable data nodes in these YANG modules may be
considered sensitive or vulnerable in some network environments. It
is thus important to control read access (e.g., via <get>, <get-
config>, or notifications) to these data nodes. These are the
subtrees and data nodes and their sensitivity/vulnerability:
/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep-srpolicy:sr -
exposes SR segment list information information, which may reveal
path and topology information.
/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep-srpolicy:sr-
policy - exposes SR Policy information, which may reveal policy
usage and traffic steering behavior.
The YANG modules defined in this document do not define any RPC or
action operations.
These modules augment the base PCEP YANG model defined in [RFC9826].
The security considerations of that document also apply to these
modules.
7. IANA Considerations
This document registers a URI in the "IETF XML Registry" [RFC3688].
Following the format in RFC 3688, the following registration has been
made.
URI: urn:ietf:params:xml:ns:yang:ietf-pcep-srv6
Registrant Contact: The PCE WG of the IETF.
XML: N/A; the requested URI is an XML namespace.
URI: urn:ietf:params:xml:ns:yang:ietf-pcep-srpolicy
Registrant Contact: The PCE WG of the IETF.
Li, et al. Expires 14 November 2026 [Page 26]
Internet-Draft PCEP-SR-YANG May 2026
XML: N/A; the requested URI is an XML namespace.
This document registers a YANG module in the "YANG Module Names"
registry [RFC6020].
Name: ietf-pcep-srv6
Namespace: urn:ietf:params:xml:ns:yang:ietf-pcep-srv6
Prefix: pcep-srv6
Reference: This I-D
Name: ietf-pcep-srpolicy
Namespace: urn:ietf:params:xml:ns:yang:ietf-pcep-srpolicy
Prefix: pcep-srp
Reference: This I-D
8. Acknowledgements
The authors would like to thank TBD.
9. References
9.1. Normative References
[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>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004,
<https://www.rfc-editor.org/info/rfc3688>.
[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>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010,
<https://www.rfc-editor.org/info/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>.
Li, et al. Expires 14 November 2026 [Page 27]
Internet-Draft PCEP-SR-YANG May 2026
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<https://www.rfc-editor.org/info/rfc6242>.
[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
RFC 6991, DOI 10.17487/RFC6991, July 2013,
<https://www.rfc-editor.org/info/rfc6991>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>.
[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>.
[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>.
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>.
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration
Access Control Model", STD 91, RFC 8341,
DOI 10.17487/RFC8341, March 2018,
<https://www.rfc-editor.org/info/rfc8341>.
[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>.
Li, et al. Expires 14 November 2026 [Page 28]
Internet-Draft PCEP-SR-YANG May 2026
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>.
[RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
and J. Hardwick, "Path Computation Element Communication
Protocol (PCEP) Extensions for Segment Routing", RFC 8664,
DOI 10.17487/RFC8664, December 2019,
<https://www.rfc-editor.org/info/rfc8664>.
[RFC8776] Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin,
"Common YANG Data Types for Traffic Engineering",
RFC 8776, DOI 10.17487/RFC8776, June 2020,
<https://www.rfc-editor.org/info/rfc8776>.
[RFC9603] Li, C., Ed., Kaladharan, P., Sivabalan, S., Koldychev, M.,
and Y. Zhu, "Path Computation Element Communication
Protocol (PCEP) Extensions for IPv6 Segment Routing",
RFC 9603, DOI 10.17487/RFC9603, July 2024,
<https://www.rfc-editor.org/info/rfc9603>.
[RFC9702] Qu, Y., Lindem, A., Litkowski, S., and J. Tantsura, "YANG
Data Model for Maximum Segment Identifier (SID) Depth
(MSD) Types and MPLS MSD", RFC 9702, DOI 10.17487/RFC9702,
January 2025, <https://www.rfc-editor.org/info/rfc9702>.
[RFC9826] Dhody, D., Ed., Beeram, V., Hardwick, J., and J. Tantsura,
"A YANG Data Model for the Path Computation Element
Communication Protocol (PCEP)", RFC 9826,
DOI 10.17487/RFC9826, September 2025,
<https://www.rfc-editor.org/info/rfc9826>.
[I-D.ietf-spring-srv6-yang]
Raza, S. K., Rajamanickam, J., Matsushima, S., Yu, P., and
X. Liu, "YANG Data Model for SRv6 Base and Static", Work
in Progress, Internet-Draft, draft-ietf-spring-srv6-yang-
05, 7 July 2025, <https://datatracker.ietf.org/doc/html/
draft-ietf-spring-srv6-yang-05>.
[I-D.ietf-spring-sr-policy-yang]
Saleh, T., Raza, S. K., Zhuang, S., Matsushima, S., and V.
P. Beeram, "YANG Data Model for Segment Routing Policy",
Work in Progress, Internet-Draft, draft-ietf-spring-sr-
policy-yang-06, 20 October 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-spring-
sr-policy-yang-06>.
Li, et al. Expires 14 November 2026 [Page 29]
Internet-Draft PCEP-SR-YANG May 2026
[I-D.ietf-pce-segment-routing-policy-cp]
Koldychev, M., Sivabalan, S., Sidor, S., Barth, C., Peng,
S., and H. Bidgoli, "Path Computation Element
Communication Protocol (PCEP) Extensions for Segment
Routing (SR) Policy Candidate Paths", Work in Progress,
Internet-Draft, draft-ietf-pce-segment-routing-policy-cp-
27, 4 April 2025, <https://datatracker.ietf.org/doc/html/
draft-ietf-pce-segment-routing-policy-cp-27>.
[I-D.ietf-pce-sid-algo]
Sidor, S., Rose, Z., Peng, S., Peng, S., and A. Stone,
"Carrying SR-Algorithm in Path Computation Element
Communication Protocol (PCEP)", Work in Progress,
Internet-Draft, draft-ietf-pce-sid-algo-29, 15 October
2025, <https://datatracker.ietf.org/doc/html/draft-ietf-
pce-sid-algo-29>.
9.2. Informative References
[RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path
Computation Element (PCE)-Based Architecture", RFC 4655,
DOI 10.17487/RFC4655, August 2006,
<https://www.rfc-editor.org/info/rfc4655>.
[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>.
[RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
and R. Wilton, "Network Management Datastore Architecture
(NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
<https://www.rfc-editor.org/info/rfc8342>.
[RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov,
A., and P. Mattes, "Segment Routing Policy Architecture",
RFC 9256, DOI 10.17487/RFC9256, July 2022,
<https://www.rfc-editor.org/info/rfc9256>.
[RFC9604] Sivabalan, S., Filsfils, C., Tantsura, J., Previdi, S.,
and C. Li, Ed., "Carrying Binding Label/SID in PCE-Based
Networks", RFC 9604, DOI 10.17487/RFC9604, August 2024,
<https://www.rfc-editor.org/info/rfc9604>.
[I-D.ietf-pce-multipath]
Koldychev, M. and S. Sidor, "Path Computation Element
Communication Protocol (PCEP) Extensions for Signaling
Li, et al. Expires 14 November 2026 [Page 30]
Internet-Draft PCEP-SR-YANG May 2026
Multipath Information", Work in Progress, Internet-Draft,
draft-ietf-pce-multipath-25, 13 May 2026,
<https://datatracker.ietf.org/doc/html/draft-ietf-pce-
multipath-25>.
Appendix A. Contributors
The following have contributed:
Dhruv Dhody
Huawei
India
Email: dhruv.ietf@gmail.com
Samuel Sidor
Cisco
Slovakia
Email: ssidor@cisco.com
Authors' Addresses
Cheng Li
Huawei Technologies
Huawei Campus, No. 156 Beiqing Rd.
Beijing
100095
China
Email: c.l@huawei.com
Siva Sivabalan
Ciena Corporation
Email: ssivabal@ciena.com
Shuping Peng
Huawei Technologies
Huawei Campus, No. 156 Beiqing Rd.
Beijing
100095
China
Email: pengshuping@huawei.com
Mike Koldychev
Cisco Systems, Inc.
Email: mkoldych@cisco.com
Li, et al. Expires 14 November 2026 [Page 31]
Internet-Draft PCEP-SR-YANG May 2026
Luc-Fabrice Ndifor
MTN Cameroon
Cameroon
Email: Luc-Fabrice.Ndifor@mtn.com
Li, et al. Expires 14 November 2026 [Page 32]