draft-ietf-teas-nrp-yang-04.txt   draft-ietf-teas-nrp-yang-05.txt 
Network Working Group B. Wu Network Working Group B. Wu
Internet-Draft D. Dhody Internet-Draft D. Dhody
Intended status: Standards Track Huawei Technologies Intended status: Standards Track Huawei Technologies
Expires: 22 January 2026 V.P. Beeram Expires: 26 July 2026 V.P. Beeram
Juniper Networks Juniper Networks
T. Saad T. Saad
Cisco Systems Cisco Systems
S. Peng S. Peng
ZTE Corporation ZTE Corporation
21 July 2025 22 January 2026
YANG Data Models for Network Resource Partitions (NRPs) YANG Data Models for Network Resource Partitions (NRPs)
draft-ietf-teas-nrp-yang-04 draft-ietf-teas-nrp-yang-05
Abstract Abstract
RFC 9543 describes a framework for Network Slices in networks built RFC 9543 describes a framework for Network Slices in networks built
from IETF technologies. In this framework, the network resource from IETF technologies. In this framework, the network resource
partition (NRP) is introduced as a collection of network resources partition (NRP) is introduced as a collection of network resources
allocated from the underlay network to carry a specific set of allocated from the underlay network to carry a specific set of
Network Slice Service traffic and meet specific Service Level Network Slice Service traffic and meet specific Service Level
Objective (SLO) and Service Level Expectation (SLE) characteristics. Objective (SLO) and Service Level Expectation (SLE) characteristics.
This document defines YANG data models for Network Resource This document defines two YANG data models for Network Resource
Partitions (NRPs), applicable to devices and network controllers. Partitions (NRPs): a network-level model for policy configuration by
The models can be used, in particular, for the realization of the a Network Slice Controller, and a device-level model for
RFC9543 Network Slice Services in IP/MPLS and Segment Routing (SR) configuration of individual network elements. These models enable
networks. automated provisioning of NRPs in IP/MPLS and Segment Routing (SR)
networks, supporting scalable realization of RFC 9543 Network Slice
Services.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 22 January 2026. This Internet-Draft will expire on 26 July 2026.
Copyright Notice Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the Copyright (c) 2026 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License. provided without warranty as described in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions and Definitions . . . . . . . . . . . . . . . . . 3
3. NRP Data Models . . . . . . . . . . . . . . . . . . . . . . . 4 3. NRP Data Models . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. Models Usage . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Models Usage . . . . . . . . . . . . . . . . . . . . . . 5
3.2. NRPs Instantiation . . . . . . . . . . . . . . . . . . . 5 3.2. NRPs Instantiation . . . . . . . . . . . . . . . . . . . 6
3.2.1. Resource Reservation . . . . . . . . . . . . . . . . 8 3.2.1. Resource Reservation . . . . . . . . . . . . . . . . 8
3.2.2. NRP Selector Identifier (NRP Selector ID) . . . . . . 8 3.2.2. NRP Selector Identifier (NRP Selector ID) . . . . . . 9
3.2.3. Per-Hop Behavior (PHB) . . . . . . . . . . . . . . . 9 3.2.3. Per-Hop Behavior (PHB) . . . . . . . . . . . . . . . 10
3.2.4. NRP Topology . . . . . . . . . . . . . . . . . . . . 9 3.2.4. NRP Topology . . . . . . . . . . . . . . . . . . . . 10
3.3. NRPs Monitoring . . . . . . . . . . . . . . . . . . . . . 11 3.3. NRPs Monitoring . . . . . . . . . . . . . . . . . . . . . 12
3.4. NRPs Device Model Description . . . . . . . . . . . . . . 12 3.4. NRPs Device Model Description . . . . . . . . . . . . . . 14
4. NRPs YANG Module . . . . . . . . . . . . . . . . . . . . . . 13 4. NRPs YANG Module . . . . . . . . . . . . . . . . . . . . . . 15
5. NRPs Device YANG Module . . . . . . . . . . . . . . . . . . . 29 5. NRPs Device YANG Module . . . . . . . . . . . . . . . . . . . 32
6. Scalability Considerations . . . . . . . . . . . . . . . . . 32 6. Scalability Considerations . . . . . . . . . . . . . . . . . 36
7. Security Considerations . . . . . . . . . . . . . . . . . . . 34 7. Security Considerations . . . . . . . . . . . . . . . . . . . 37
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 35 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 39
10. Contributor . . . . . . . . . . . . . . . . . . . . . . . . . 35 10. Contributor . . . . . . . . . . . . . . . . . . . . . . . . . 39
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 36 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 40
11.1. Normative References . . . . . . . . . . . . . . . . . . 36 11.1. Normative References . . . . . . . . . . . . . . . . . . 40
11.2. Informative References . . . . . . . . . . . . . . . . . 39 11.2. Informative References . . . . . . . . . . . . . . . . . 42
Appendix A. Open issues . . . . . . . . . . . . . . . . . . . . 40 Appendix A. Open issues . . . . . . . . . . . . . . . . . . . . 45
Appendix B. An Example . . . . . . . . . . . . . . . . . . . . . 41 Appendix B. An Example . . . . . . . . . . . . . . . . . . . . . 45
Appendix C. NRPs YANG Module Tree . . . . . . . . . . . . . . . 44 Appendix C. NRPs YANG Module Tree . . . . . . . . . . . . . . . 50
Appendix D. NRPs Device YANG Module Tree . . . . . . . . . . . . 47 Appendix D. NRPs Device YANG Module Tree . . . . . . . . . . . . 53
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 49 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 55
1. Introduction 1. Introduction
[RFC9543] describes a framework for Network Slices in networks built [RFC9543] describes a framework for Network Slices in networks built
from IETF technologies. As specified in Section 7.4 [RFC9543], an from IETF technologies. As specified in Section 7.4 [RFC9543], an
NRP is a collection of resources identified in the underlay network NRP is a collection of resources identified in the underlay network
to support the RFC 9543 Network Slice Service to meet the slice to support the RFC 9543 Network Slice Service to meet the slice
Service Level Objectives (SLOs) and Service Level Expectations (SLEs) Service Level Objectives (SLOs) and Service Level Expectations (SLEs)
characteristics and network scalability. This document follows the characteristics and network scalability. This document follows the
Network Slice Service defined in [RFC9543], and all references to Network Slice Service defined in [RFC9543], and all references to
"Network Slice" refers to that same context. "Network Slice" refer to that same context.
Considering the NRPs realizations in IP/MPLS and Segment Routing (SR) Considering the NRPs realizations in IP/MPLS and Segment Routing (SR)
networks, [I-D.ietf-teas-ns-ip-mpls] and networks, [I-D.ietf-teas-ns-ip-mpls] and
[I-D.ietf-teas-nrp-scalability] describe NRP mechanisms of control [I-D.ietf-teas-nrp-scalability] describe NRP mechanisms of control
plane, data plane, and management plane to provide specific plane, data plane, and management plane to provide specific
forwarding treatment (scheduling, drop policy, resource usage) to the forwarding treatment (scheduling, drop policy, resource usage) to the
Slice Service packets associated with an NRP. Specifically, for Slice Service packets associated with an NRP. Specifically, for
instantiation of the device-specific and network wide NRPs, instantiation of the device-specific and network wide NRPs,
Section 3.5 of [I-D.ietf-teas-ns-ip-mpls] introduces the construct of Section 3.5 of [I-D.ietf-teas-ns-ip-mpls] introduces the construct of
NRP Policy. NRP Policy.
Based on these descriptions of NRP, this document defines two YANG Based on these descriptions of NRP, this document defines two YANG
models: NRPs network model in Section 4 and NRPs device model in modules:
Section 5. The NRP network model can be used by an Network Slice
Controller (NSC) (defined in Section 6.3 [RFC9543]) to manage NRP
instances for Network Slice Service realizations, which is a network
configuration model according to the YANG model classification of
[RFC8309]. And the NRPs device model can be used by a network
controller to set NRP parameters on an individual device, including
device-specific configuration (e.g. interfaces), which is a device
configuration model by the classification.
The NRPs models conforms to the Network Management Datastore * ietf-nrp: A network-level model used by a Network Slice Controller
Architecture (NMDA) [RFC8342]. (NSC) (defined in Section 6.3 [RFC9543]) to manage NRP instances
for Network Slice Service realizations. This is a network
configuration model according to the YANG model classification of
[RFC8309].
2. Terminology * ietf-nrp-device: A device-level model used by a network controller
to set NRP parameters on an individual device, including device-
specific interface configurations. This is a device configuration
model by the classification.
The following terms are defined in [RFC6241] and are used in this The NRPs models conform to the Network Management Datastore
specification: Architecture (NMDA) [RFC8342] and are designed to support both
configuration and operational state retrieval.
2. Conventions and Definitions
The keywords "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
BCP14, [RFC2119], [RFC8174] when, and only when, they appear in all
capitals, as shown here.
The following terms are defined in [RFC6241], [RFC7950], and
[RFC8345] and are used in this specification:
* configuration data * configuration data
* state data * state data
The following terms are defined in [RFC7950] and are used in this
specification:
* augment * augment
* data model * data model
* data node * data node
* network topology
The terminology for describing YANG data models is found in The terminology for describing YANG data models is found in
[RFC7950]. [RFC7950]. The tree diagram used in this document follows the
notation defined in [RFC8340].
The tree diagram used in this document follows the notation defined Additionally, this document uses the following terms:
in [RFC8340].
Network Resource Partition (NRP): A collection of network
resources allocated from the underlay network to support one or
more RFC 9543 Network Slice Services, meeting specific SLO/SLE
requirements. Defined in Section 7.1 of [RFC9543].
NRP Policy: A configuration construct that specifies the rules for
creating and maintaining an NRP, including resource allocation,
selector identification, and topology association.
NRP Instance: The operational realization of an NRP Policy on
network devices, representing the actual allocated resources and
configured forwarding behaviors.
NRP Selector ID: A data plane identifier used by network devices
to classify packets belonging to a specific NRP and apply the
corresponding forwarding treatment.
PHB Profile: A named set of Per-Hop Behavior parameters that
define the forwarding treatment (e.g., scheduling, drop policy)
for packets associated with an NRP. Profiles are locally defined
by the network operator.
NRP-Enabled Device: A network element that supports NRP data plane
identification and resource partitioning mechanisms.
Network Slice Controller (NSC): A functional component responsible
for translating Network Slice Service requests into network
configuration, including NRP management. Defined in Section 6.3
of [RFC9543].
3. NRP Data Models 3. NRP Data Models
3.1. Models Usage 3.1. Models Usage
As defined in Section 7.1 [RFC9543], the Network Slice Controller As defined in Section 7.1 [RFC9543], the Network Slice Controller
(NSC) can determine which specific connectivity constructs from one (NSC) can determine which specific connectivity constructs from one
or more slices could be grouped together upon Slice Service requests. or more slices could be grouped together upon Slice Service requests.
This could be based on a specific set of SLOs and SLEs, or on any This could be based on a specific set of SLOs and SLEs, or on any
administrative or operational policy. The NSC can further map these administrative or operational policy. The NSC can further map these
skipping to change at page 5, line 30 skipping to change at page 6, line 27
* NRPs Deletion: If an NSC determines that no Slice Service is using * NRPs Deletion: If an NSC determines that no Slice Service is using
an NRP, the NSC can delete the NRP instance. Another example is an NRP, the NSC can delete the NRP instance. Another example is
when it is necessary to merge NRPs. when it is necessary to merge NRPs.
* NRPs Monitoring: The NSC can use the NRPs model to track and * NRPs Monitoring: The NSC can use the NRPs model to track and
monitor NRPs resource status and usage. monitor NRPs resource status and usage.
3.2. NRPs Instantiation 3.2. NRPs Instantiation
Section 3.5 of [I-D.ietf-teas-ns-ip-mpls] introduces the construct of An NRP Policy is a configuration construct that specifies the rules
NRP policy, which specifies the rules to trigger how an NRP can be for creating and maintaining a Network Resource Partition. It
realized in IP/MPLS/SR networks. These rules are generic and can be defines how network resources are allocated, how traffic is
applied to both device and network-level configurations. identified, which topology is used, and what forwarding treatment is
applied. These rules apply to both device-level and network-level
Section 5.1 of [I-D.ietf-teas-ns-ip-mpls] states the rules may configurations.
include the following:
1. Topology customization policies: Determine the topology An NRP Policy includes the following key components:
associated with the NRP, including policies of nodes, links, and
functions membership that belong to the NRP.
2. Data plane specific policies: Include the NRP data plane 1. Topology customization rules: Determine the set of nodes, links,
identifier, QoS profiles, bandwidth reservations, etc., and network functions that belong to the NRP.
associated with the NRP.
3. Control plane specific policies: Include bandwidth reservation, 2. Data plane rules: Specify the NRP selector ID, QoS profiles, and
resource sharing policy, reservation preferences, etc. bandwidth reservations for traffic identification and forwarding
treatment.
To further specify if the NRP realization involves the data plane or 3. Control plane rules: Define resource reservation, resource
control plane, Section 4 of [I-D.ietf-teas-ns-ip-mpls] also defines sharing, reservation preferences policy, etc.
three partition modes for an NRP policy:
a. Data plane only: This mode Indicates that the physical network NRP Policies support three resource partition modes:
resources (e.g., bandwidth) can be partitioned on network devices
for the NRP. The devices need to enable NRP data plane mechanism
to support the NRP data plane identification to ensure the proper
forwarding treatment by applying a Per Hop forwarding Behavior
(PHB) to the packets forwarded on the specific NRP.
b. Control plane only: This mode indicates the NRP state reservation a. Data Plane Partition: Physical network resources (e.g.,
for each NRP can be maintained at the some NRP aware Traffic bandwidth) are partitioned on network devices. Devices enable
Engineering (TE) network devices (e.g., RSVP-TE devices) or the NRP data plane mechanisms to apply Per-Hop Behavior (PHB) to
network controllers. This mode provides no physical network packets.
resources isolation.
c. Both control and data planes: This mode indicates the network b. Control Plane Partition: Resource reservation state for each NRP
resources can be partitioned in both the control plane (TE or is maintained in NRP-aware TE devices or network controllers,
IGP) and data plane. without physical resource isolation.
The NRP policy modes (a), (b) and (c), require the topology c. Hybrid Partition: Combines both data plane and control plane
associated with the NRP to be specified. partitioning for full resource isolation and stateful management.
The NRP policy modes (a) and (c) require the forwarding engine on All modes require NRP topology specification. Modes (a) and (c)
each NRP-enabled device to identify the traffic belonging to a require NRP selector identification for packet classification. Modes
specific NRP and to apply the corresponding Per-Hop Behavior (PHB) or (b) and (c) require distributed or centralized resource reservation
forwarding mechanism that determines the forwarding treatment of the management. When IGP routing is used with mode (c), NRP-aware IGP
packets belonging to the NRP. This NRP identification is referred to extensions may be employed for scalability.
as the NRP selector identifier.
For some Traffic Engineering (TE) scenarios, the NRP policy modes (b) For further implementation considerations, the concepts align with
and (c) require the distributed and/or centralized resource the NRP mechanisms described in [I-D.ietf-teas-ns-ip-mpls] and
reservation management for NRP stateful TE ( Section 4.2 of [I-D.ietf-teas-nrp-scalability].
[I-D.ietf-teas-ns-ip-mpls])). For better scalability scenarios
defined in [I-D.ietf-teas-nrp-scalability], control plane of mode (c)
also requires NRP aware IGP routing.
The high-level model structure of NRP policy as modeled in this The high-level model structure of NRP policy as modeled in this
document is shown in Figure 2: document is shown in Figure 2:
module: ietf-nrp module: ietf-nrp
augment /nw:networks: augment /nw:networks:
+--rw nrp-policies +--rw nrp-policies
+--rw policy-profiles +--rw policy-profiles
| +--rw phb-profile-identifier* [id] | +--rw phb-profile-identifier* [id]
| ... | ...
skipping to change at page 7, line 29 skipping to change at page 8, line 5
+--rw phb-profile? leafref +--rw phb-profile? leafref
+--rw topology +--rw topology
... ...
Figure 2: NRP Policy subtree high-level structure Figure 2: NRP Policy subtree high-level structure
The "networks" container from the "ietf-network" module [RFC8345] The "networks" container from the "ietf-network" module [RFC8345]
provides a placeholder for an inventory of nodes in the network. provides a placeholder for an inventory of nodes in the network.
This container is augmented to include a set of NRP policies. This container is augmented to include a set of NRP policies.
The "policy-profiles" container provides a list of policy profile The "policy-profiles" container provides a list of PHB policy profile
entries. Each of these entries can be referenced by one or more entries. Each of these entries can be referenced by one or more
NRPs. A "phb-profile-identifier" entry can have a reference to a NRPs. A "phb-profile-identifier" entry can have a reference to a
standard PHB profile available on the device or the network standard PHB profile available on the device or the network
controller. controller.
The "nrp-policies" container includes a list of NRP policies. Each The "nrp-policies" container includes a list of NRP policies. Each
"nrp-policy" entry is identified by a name and holds the set of "nrp-policy" entry is identified by a name and holds the set of
attributes needed to instantiate an NRP. attributes needed to instantiate an NRP.
The description of the "nrp-policies" data nodes are as follows, and The description of the "nrp-policies" data nodes are as follows, and
the other key elements of each nrp-policy entry are discussed in the the other key elements of each nrp-policy entry are discussed in the
following sub-sections. following sub-sections.
* "nrp-id": Is an identifier that is used to uniquely identify an * "nrp-id": Is an identifier that is used to uniquely identify an
NRP instance within an NSC network scope, which is created by the NRP instance within an NSC network scope, which is created by the
enforcement of the "nrp-policy". enforcement of the "nrp-policy".
* "mode": Refers to control plane resource partition, data plane * "mode": Refers to control plane partition, data plane partition,
resource partition, or a combination of both types. or hybrid partition.
3.2.1. Resource Reservation 3.2.1. Resource Reservation
The "resource-reservation" container may include bandwidth The "resource-reservation" container specifies bidirectional
reservation, resource sharing policy, protection policy, etc. bandwidth allocation for an NRP, expressed as either an absolute
value or a percentage of link capacity. While currently limited to
bandwidth, the container is designed to accommodate future extensions
such as resource sharing or protection mechanisms described in
[I-D.ietf-teas-ns-ip-mpls].
Bandwidth reservation specifies the bidirectiona bandwidth resource The bandwidth reservation specified at the policy level serves as a
allocated to an NRP. This can be overridden by the configuration of default for all links in the NRP topology. This can be overridden by
the link specific "resource-reservation" of "nrp-topology" in link-specific configuration in the "nrp-topology" container
Section 3.2.4. Section 3.2.4.
+--rw resource-reservation +--rw resource-reservation
+--rw (max-bw-type)? +--rw (max-bw-type)?
+--:(bw-value) +--:(bw-value)
| +--rw maximum-bandwidth? uint64 | +--rw maximum-bandwidth? uint64
+--:(bw-percentage) +--:(bw-percentage)
+--rw maximum-bandwidth-percent? rt-types:percentage +--rw maximum-bandwidth-percent? rt-types:percentage
Figure 3: NRP Resource Reservation YANG subtree structure Figure 3: NRP Resource Reservation YANG subtree structure
3.2.2. NRP Selector Identifier (NRP Selector ID) 3.2.2. NRP Selector Identifier (NRP Selector ID)
NRP selector ID defines the data plane encapsulation types and values The NRP selector ID defines data plane encapsulation types and values
that are used to identify NRP-specific network resources. The used to identify NRP-specific network resources. The configuration
configuration can be overridden by the link specific "selector-id" of can be overridden by link-specific "selector-id" configuration in
"nrp-topology" in Section 3.2.4. "nrp-topology" (Section 3.2.4).
[I-D.ietf-teas-nrp-scalability] discusses several candidate NRP Implementations MUST support at least one selector type in the NRP
selector ID encapsulation schemes, including IP, MPLS, and SRv6, for model of data plane partition or hybrid partition. Multiple selector
example, the IPv6 Hop-by-Hop extension header defined in types MAY be configured to support heterogeneous network
[I-D.ietf-6man-enhanced-vpn-vtn-id], or the SRv6 SID defined in environments. Selector ID values MUST be unique within the network
[I-D.ietf-spring-sr-for-enhanced-vpn]. Since the MPLS encapsulation scope where the NRP operates.
schemes are still under discussion, the model only provides a place
holder for future updates. Additionally, the use of NRP-specific IP The following selector types are supported:
addresses to identify NRP resources, or the use of specific ACLs, are
optional NRP selector ID mechanisms. IPv4-derived: Uses destination IPv4 prefixes to identify NRP
traffic. Suitable for networks where NRPs are aligned with IP
addressing.
IPv6: Provides three sub-options:
- Dedicated: Uses a value in the IPv6 Hop-by-Hop extension header
as specified in [I-D.ietf-6man-enhanced-vpn-vtn-id]
- SRv6-derived: Uses SRv6 SIDs where the SID structure encodes the
NRP identifier, per [I-D.ietf-spring-sr-for-enhanced-vpn].
- IPv6-destination-derived: Uses destination IPv6 prefixes,
similar to IPv4-derived.
MPLS: Supports two encoding mechanisms:
- In-Stack MPLS Network Action (MNA): Embeds the selector in the
MPLS label stack using the format defined in
[I-D.ietf-mpls-mna-nrp-selector]. Supports 13-bit (NRPS13) or
20-bit (NRPS20/ENRPS20) encodings.
- Post-Stack (PSD): Uses a dedicated post-stack label per
[I-D.ietf-mpls-mna-psd-nrp-selector].
ACL-based: References standard ACLs to match NRP traffic.
Provides flexibility for complex classification rules but may have
higher processing overhead.
+--rw selector-id +--rw selector-id
| +--rw ipv4-derived | +--rw ipv4-derived
| | +--rw destination-prefix* inet:ipv4-prefix | | +--rw destination-prefix* inet:ipv4-prefix
| +--rw ipv6 | +--rw ipv6
| | +--rw (selector-type)? | | +--rw (selector-type)?
| | +--:(dedicated) | | +--:(dedicated)
| | | +--rw ipv6-hbh-eh? uint32 | | | +--rw ipv6-hbh-eh? uint32
| | +--:(srv6-sid-derived) | | +--:(srv6-derived)
| | | +--rw srv6-sid* inet:ipv6-prefix | | | +--rw srv6-sid* srv6-types:srv6-sid
| | +--:(ipv6-destination-derived) | | +--:(ipv6-destination-derived)
| | +--rw destination-prefix* inet:ipv6-prefix | | +--rw destination-prefix* inet:ipv6-prefix
| +--rw mpls | +--rw mpls
| +--rw acl-ref* nrp-acl-ref | | +--rw (mpls-encapsulation)?
| | +--:(mna-in-stack)
| | | +--rw in-stack-identifier? uint32
| | | +--rw identifier-format? enumeration
| | +--:(post-stack)
| | +--rw post-stack-identifier? uint32
| +--rw acl-ref* acl-ref
Figure 4: NRP Selector ID YANG subtree structure Figure 4: NRP Selector ID YANG subtree structure
3.2.3. Per-Hop Behavior (PHB) 3.2.3. Per-Hop Behavior (PHB)
PHB and NRP selector are combined mechanisms. PHB is used to specify Per-Hop Behavior (PHB) defines the forwarding treatment for packets
the forwarding treatment of packets belonging to a specific NRP belonging to an NRP, including bandwidth control, congestion control,
selector ID, such as bandwidth control, congestion control (e.g., and scheduling priority (e.g., Section 3.4 [RFC3644]). The PHB
Section 3.4 [RFC3644]). The "phb-profile" can be overridden by the profile and NRP selector are paired mechanisms: the selector
link specific "phb-profile" of "nrp-topology" in Section 3.2.4. classifies packets, and the referenced PHB profile applies the
corresponding forwarding behavior. Profile contents are
implementation-specific and may include standard IETF PHBs (e.g.,
"Assured Forwarding (AF)", "Expedited Forwarding (EF)") or customized
local policies (e.g., "High", "Low", "Standard").
The "phb-profile" leaf refers to a standard profile defined. The The phb-profile configured at the NRP policy level serves as the
exact definition of PHB is locally defined by the device or network default for the entire NRP topology. This may be overridden by link-
controller managing the NRPs. Some examples of "phb-probile" may be specific PHB configuration in the topology container Section 3.2.4.
standard PHBs, such as "Assured Forwarding (AF)", "Expedited
Forwarding (EF)", or a customized local policies, such as "High",
"Low", "Standard".
+--rw phb-profile? leafref +--rw phb-profile? leafref
Figure 5: PHB YANG subtree structure Figure 5: PHB YANG subtree structure
3.2.4. NRP Topology 3.2.4. NRP Topology
"nrp-topology" defines a customized NRP topology used for an NRP. "nrp-topology" defines a customized NRP topology used for an NRP.
When an NRP support IGP routing, the topology of the NRP must be When an NRP supports IGP routing, the topology of the NRP must be
congruent with an IGP instance.The topology used for IGP route congruent with an IGP instance. The topology used for IGP route
computation and forwarding can be derived using Multi-Topology computation and forwarding can be derived using Multi-Topology
Routing (MTR) [RFC4915], [RFC5120], and [I-D.ietf-lsr-isis-sr-vtn-mt] Routing (MTR) [RFC4915], [RFC5120], and [I-D.ietf-lsr-isis-sr-vtn-mt]
or Flex-algo [RFC9350]. or Flex-algo [RFC9350].
Figure 6 shows an example of NRP-1 enabling "igp-congruent", which Figure 6 shows an example of NRP-1 enabling "igp-congruent", which
indicates that this NRP instance uses the same IGP topology with the indicates that this NRP instance uses the same IGP topology with the
specified "multi-topology-id" or "algo-id". NRP-1 has different link specified "multi-topology-id" or "algo-id". NRP-1 has different link
resource attributes from those of the IGP, but shares the same nodes resource attributes from those of the IGP, but shares the same nodes
and termination points (TPs) of the IGP topology. and termination points (TPs) of the IGP topology.
skipping to change at page 11, line 15 skipping to change at page 12, line 15
+--rw topology +--rw topology
+--rw igp-congruent! +--rw igp-congruent!
| +--rw multi-topology-id? uint32 | +--rw multi-topology-id? uint32
| +--rw algo-id? uint32 | +--rw algo-id? uint32
| +--rw sharing? boolean | +--rw sharing? boolean
+--rw (topology-type)? +--rw (topology-type)?
+--:(selection) +--:(selection)
| +--rw select | +--rw select
| +--rw topology-group* [group-id] | +--rw topology-group* [group-id]
| +--rw group-id string | +--rw group-id string
| +--rw base-topology-ref | +--rw network-ref?
| | ... | | -> /nw:networks/network/network-id
| +--rw links* [link-ref] | +--rw link* [link-ref]
| | ... | | ...
| +--rw resource-reservation | +--rw resource-reservation
| | ... | | ...
| +--rw link-partition-type? | +--rw link-partition-type? identityref
| | identityref
| +--rw phb-profile? leafref | +--rw phb-profile? leafref
+--:(filter) +--:(filter)
+--rw filters +--rw filters
+--rw filter* [filter-ref] +--rw filter* [filter-ref]
+--rw filter-ref +--rw filter-ref
| nrp-topo-filter-ref | topo-filter-ref
+--rw resource-reservation +--rw resource-reservation
| ... | ...
+--rw selector-id +--rw selector-id
| ... | ...
+--rw phb-profile? leafref +--rw phb-profile? leafref
Figure 7: NRP Topology YANG subtree structure Figure 7: NRP Topology YANG subtree structure
3.3. NRPs Monitoring 3.3. NRPs Monitoring
The NRP model can be used to monitor the operational status and The NRP model can be used to monitor the operational status and
resource usage of NRPs. resource usage of NRPs.
augment /nw:networks/nw:network/nw:network-types: augment /nw:networks/nw:network/nw:network-types:
+--rw nrp! +--rw nrp!
augment /nw:networks/nw:network/nw:node: augment /nw:networks/nw:network/nw:node:
+--ro nrp-node-attributes +--rw (nrp-attachment-type)?
+--ro selector-id +--:(single-nrp)
+--ro srv6? srv6-types:srv6-sid | +--ro nrp-node-attributes
augment /nw:networks/nw:network/nt:link: | +--ro selector-id
+--ro nrp-link-attributes | +--ro srv6? srv6-types:srv6-sid
+--ro link-partition-type? identityref | +--ro mpls-nrp-selector? uint32
+--ro bandwidth-value? uint64 +--:(multi-nrp)
+--ro selector-id +--ro node-nrp-list
| +--ro srv6? srv6-types:srv6-sid +--ro nrp* [nrp-id]
+--ro statistics +--ro nrp-id uint32
+--ro status +--ro nrp-node-attributes
| ... +--ro selector-id
+--ro one-way-available-bandwidth? uint64 +--ro srv6? srv6-types:srv6-sid
+--ro one-way-utilized-bandwidth? uint64 +--ro mpls-nrp-selector? uint32
+--ro one-way-min-delay? uint32
+--ro one-way-max-delay? uint32
+--ro one-way-delay-variation? uint32
+--ro one-way-packet-loss? decimal64
augment /nw:networks/nw:network/nw:node:
+--rw nrps-node-attributes
+--ro nrp* [nrp-id]
+--ro nrp-id uint32
+--ro nrp-node-attributes
...
augment /nw:networks/nw:network/nt:link: augment /nw:networks/nw:network/nt:link:
+--ro nrps-link-attributes +--rw (nrp-attachment-type)?
+--ro nrp* [nrp-id] +--:(single-nrp)
+--ro nrp-id uint32 | +--ro nrp-link-attributes
+--ro nrp-link-attributes | +--ro link-partition-type? identityref
... | +--ro bandwidth-value? uint64
| +--ro selector-id
| | +--ro srv6? srv6-types:srv6-sid
| | +--ro mpls-nrp-selector? uint32
| +--ro statistics
| +--ro status
| | +--ro admin-status
| | | +--ro status? identityref
| | | +--ro last-change? yang:date-and-time
| | +--ro oper-status
| | +--ro status? identityref
| | +--ro last-change? yang:date-and-time
| +--ro one-way-available-bandwidth? uint64
| +--ro one-way-utilized-bandwidth? uint64
| +--ro one-way-min-delay? uint32
| +--ro one-way-max-delay? uint32
| +--ro one-way-delay-variation? uint32
| +--ro one-way-packet-loss? decimal64
+--:(multi-nrp)
+--ro link-nrp-list
+--ro nrp* [nrp-id]
+--ro nrp-id uint32
+--ro nrp-link-attributes
+--ro link-partition-type? identityref
+--ro bandwidth-value? uint64
+--ro selector-id
| +--ro srv6? srv6-types:srv6-sid
| +--ro mpls-nrp-selector? uint32
+--ro statistics
+--ro status
| +--ro admin-status
| | +--ro status? identityref
| | +--ro last-change? yang:date-and-time
| +--ro oper-status
| +--ro status? identityref
| +--ro last-change? yang:date-and-time
+--ro one-way-available-bandwidth? uint64
+--ro one-way-utilized-bandwidth? uint64
+--ro one-way-min-delay? uint32
+--ro one-way-max-delay? uint32
+--ro one-way-delay-variation? uint32
+--ro one-way-packet-loss? decimal64
Figure 8: NRPs Monitoring YANG subtree structure Figure 8: NRPs Monitoring YANG subtree structure
3.4. NRPs Device Model Description 3.4. NRPs Device Model Description
The device-specific NRPs model is defined in module "ietf-nrp-device" The device-specific NRPs model is defined in module "ietf-nrp-device"
as shown in Section 5. as shown in Section 5.
The NRP device YANG data model is only applicable to device The NRP device YANG data model is only applicable to device
configuration and includes attributes such as QoS policies, resource configuration and includes attributes such as QoS policies, resource
skipping to change at page 13, line 25 skipping to change at page 15, line 22
+--rw nrp-id? uint32 +--rw nrp-id? uint32
+--rw resource-reservation +--rw resource-reservation
| +--rw (max-bw-type)? | +--rw (max-bw-type)?
| ... | ...
+--rw selector-id +--rw selector-id
| +--rw ipv4-derived | +--rw ipv4-derived
| | ... | | ...
| +--rw ipv6 | +--rw ipv6
| | ... | | ...
| +--rw mpls | +--rw mpls
| +--rw acl-ref* nrp-acl-ref | | ...
| +--rw acl-ref* acl-ref
+--rw phb-profile? leafref +--rw phb-profile? leafref
+--rw igp-congruent! +--rw igp-congruent!
| +--rw multi-topology-id? uint32 | +--rw multi-topology-id? uint32
| +--rw algo-id? uint32 | +--rw algo-id? uint32
| +--rw sharing? boolean | +--rw sharing? boolean
+--rw interfaces +--rw interfaces
+--rw interface* [interface] +--rw interface* [interface]
... ...
Figure 9: NRPs Device YANG subtree high-level structure Figure 9: NRPs Device YANG subtree high-level structure
4. NRPs YANG Module 4. NRPs YANG Module
The "ietf-nrp" module uses types defined in [RFC8345], The "ietf-nrp" module uses types defined in [RFC8345],
[RFC8294],[RFC8776], [RFC6991], [RFC8519], [RFC8294],[RFC8776], [RFC9911], [RFC8519],
[I-D.ietf-spring-srv6-yang], and [I-D.ietf-spring-srv6-yang], and
[I-D.ietf-teas-yang-topology-filter]. [I-D.ietf-teas-yang-topology-filter].
<CODE BEGINS> file "ietf-nrp@2025-03-02.yang" <CODE BEGINS> file "ietf-nrp@2026-01-22.yang"
module ietf-nrp { module ietf-nrp {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-nrp"; namespace "urn:ietf:params:xml:ns:yang:ietf-nrp";
prefix nrp; prefix nrp;
import ietf-network { import ietf-network {
prefix nw; prefix nw;
reference reference
"RFC 8345: A YANG Data Model for Network Topologies, "RFC 8345: A YANG Data Model for Network Topologies,
Section 6.1"; Section 6.1";
skipping to change at page 14, line 32 skipping to change at page 16, line 31
VPNs"; VPNs";
} }
import ietf-te-packet-types { import ietf-te-packet-types {
prefix te-packet-types; prefix te-packet-types;
reference reference
"RFC 8776: Traffic Engineering Common YANG Types"; "RFC 8776: Traffic Engineering Common YANG Types";
} }
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference reference
"RFC 6991: Common YANG Data Types"; "RFC 9911: Common YANG Data Types";
} }
import ietf-access-control-list { import ietf-access-control-list {
prefix acl; prefix acl;
reference reference
"RFC 8519: YANG Data Model for Network Access Control Lists "RFC 8519: YANG Data Model for Network Access Control Lists
(ACLs)"; (ACLs)";
} }
import ietf-srv6-types { import ietf-srv6-types {
prefix srv6-types; prefix srv6-types;
reference reference
"draft-ietf-spring-srv6-yang: YANG Data Model for SRv6 Base "draft-ietf-spring-srv6-yang: YANG Data Model for SRv6 Base
and Static"; and Static";
} }
import ietf-topology-filter { import ietf-topology-filter {
prefix topo-filt; prefix topo-filt;
reference reference
"draft-bestbar-teas-yang-topology-filter: YANG Data Model "draft-ietf-teas-yang-topology-filter: YANG Data Model
for Topology Filter"; for Topology Filter";
} }
organization organization
"IETF Traffic Engineering Architecture and Signaling (TEAS) "IETF Traffic Engineering Architecture and Signaling (TEAS)
Working Group"; Working Group";
contact contact
"WG Web: <https://datatracker.ietf.org/wg/teas/> "WG Web: <https://datatracker.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org> WG List: <mailto:teas@ietf.org>
Editor: Bo Wu Editor: Bo Wu
<mailto:lana.wubo@huawei.com> <mailto:lana.wubo@huawei.com>
Editor: Dhruv Dhody Editor: Dhruv Dhody
skipping to change at page 15, line 28 skipping to change at page 17, line 27
Editor: Tarek Saad Editor: Tarek Saad
<mailto:tsaad.net@gmail.com> <mailto:tsaad.net@gmail.com>
Editor: Shaofu Peng Editor: Shaofu Peng
<mailto:peng.shaofu@zte.com.cn>"; <mailto:peng.shaofu@zte.com.cn>";
description description
"This YANG module defines a data model for "This YANG module defines a data model for
Network Resource Partitions (NRPs) management. Network Resource Partitions (NRPs) management.
Copyright (c) 2025 IETF Trust and the persons identified as Copyright (c) 2026 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Revised BSD License to the license terms contained in, the Revised BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(https://trustee.ietf.org/license-info). (https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX This version of this YANG module is part of RFC XXXX
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
for full legal notices."; for full legal notices.";
revision 2025-03-02 { revision 2026-01-22 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: YANG Data Models for Network Resource "RFC XXXX: YANG Data Models for Network Resource
Partitions (NRPs)"; Partitions (NRPs)";
} }
/* /*
* I D E N T I T I E S * I D E N T I T I E S
*/ */
skipping to change at page 16, line 34 skipping to change at page 18, line 33
base nrp-partition-mode; base nrp-partition-mode;
description description
"Both control and data planes partitions of NRP."; "Both control and data planes partitions of NRP.";
} }
identity nrp-link-partition-type { identity nrp-link-partition-type {
description description
"Base identity for NRP interface partition type."; "Base identity for NRP interface partition type.";
} }
identity virtual-sub-interface-partition { identity virtual-interface {
base nrp-link-partition-type; base nrp-link-partition-type;
description description
"Identity for NRP virtual interface or sub-interface partition, "Identity for NRP virtual interface or sub-interface partition,
e.g., FlexE."; e.g., FlexE.";
} }
identity queue-partition { identity queue-partition {
base nrp-link-partition-type; base nrp-link-partition-type;
description description
"Identity for NRP queue partition type."; "Identity for NRP queue partition type.";
skipping to change at page 17, line 6 skipping to change at page 19, line 4
"Identity for NRP queue partition type."; "Identity for NRP queue partition type.";
} }
/* /*
* T Y P E D E F S * T Y P E D E F S
*/ */
typedef acl-ref { typedef acl-ref {
type leafref { type leafref {
path "/acl:acls/acl:acl/acl:name"; path "/acl:acls/acl:acl/acl:name";
} }
description description
"Used to reference an ACL."; "Used to reference an ACL.";
} }
typedef topo-filter-ref { typedef topo-filter-ref {
type leafref { type leafref {
path "/nw:networks/topo-filt:topology-filters/" path "/nw:networks/topo-filt:topology-filters/"
+ "topo-filt:topology-filter/topo-filt:name"; + "topo-filt:topology-filter/topo-filt:name";
} }
description description
"This type is used to reference a Topology Filter."; "This type is used to reference a Topology Filter.";
reference reference
"draft-bestbar-teas-yang-topology-filter: YANG Data Model "draft-ietf-teas-yang-topology-filter: YANG Data Model
for Topology Filter"; for Topology Filter";
} }
/* /*
* Grouping - NRP Resource Reservation * Grouping - NRP Resource Reservation
*/ */
grouping resource-reservation { grouping resource-reservation {
description description
"Grouping for NRP resource reservation."; "Grouping for NRP resource reservation.";
skipping to change at page 18, line 50 skipping to change at page 20, line 48
type uint32; type uint32;
description description
"The selector ID carried in Hop-by-Hop option of "The selector ID carried in Hop-by-Hop option of
IPv6 extension header."; IPv6 extension header.";
reference reference
"draft-ietf-6man-enhanced-vpn-vtn-id: Carrying "draft-ietf-6man-enhanced-vpn-vtn-id: Carrying
Network Resource (NRP) related Information in IPv6 Network Resource (NRP) related Information in IPv6
Extension Header"; Extension Header";
} }
} }
case srv6-sid-derived { case srv6-derived {
leaf-list srv6-sid { leaf-list srv6-sid {
type srv6-types:srv6-sid; type srv6-types:srv6-sid;
description description
"Any SID from the specified set of SRv6 SID can "Any SID from the specified set of SRv6 SID can
be the NRP selector ID."; be the NRP selector ID.";
reference reference
"draft-ietf-spring-sr-for-enhanced-vpn: Segment "draft-ietf-spring-sr-for-enhanced-vpn: Segment
Routing based Network Resource Partition (NRP) for Routing based Network Resource Partition (NRP) for
Enhanced VPN"; Enhanced VPN";
} }
skipping to change at page 19, line 25 skipping to change at page 21, line 23
type inet:ipv6-prefix; type inet:ipv6-prefix;
description description
"Any prefix from the specified set of IPv6 "Any prefix from the specified set of IPv6
destination prefixes can be the NRP selector ID."; destination prefixes can be the NRP selector ID.";
} }
} }
} }
} }
container mpls { container mpls {
description description
"Container for MPLS NRP selector ID. This is a placeholder "Container for MPLS NRP selector ID. Supports both
for future updates based on the MPLS solutions."; In-Stack (MNA) and Post-Stack (PSD) encoding mechanisms.";
choice mpls-encapsulation {
description
"Selects the MPLS NRP Selector encoding mechanism.";
case mna-in-stack {
description
"In-Stack NRP Selector action.
Refers to draft-ietf-mpls-mna-nrp-selector.";
leaf in-stack-identifier {
type uint32;
must
"(../identifier-format='nrps13' and . <= 8191) or
(../identifier-format='nrps20' and . <= 1048575) or
(../identifier-format='enrps20' and . <= 1048575)" {
error-message
"NRP Selector value exceeds format range";
}
description
"The NRP Selector value. The valid range depends on the
encoding format (13-bit or 20-bit) selected.";
}
leaf identifier-format {
type enumeration {
enum nrps13 {
description
"13-bit NRP Selector (NRPS13).
Value range: 0-8191.";
}
enum nrps20 {
description
"20-bit NRP Selector (NRPS20).
Value range: 0-1048575.";
}
enum enrps20 {
description
"20-bit Extended NRP Selector (ENRPS20) compatible
with Entropy Label. Value range: 0-1048575.";
}
}
description
"Specifies the encoding format for the In-Stack
NRP Selector.";
}
}
case post-stack {
description
"Post-Stack NRP Selector (PS-NRP).
Refers to draft-ietf-mpls-mna-psd-nrp-selector.";
leaf post-stack-identifier {
type uint32 {
range "0..4294967295"; // 2^32 - 1
}
description
"The 32-bit Post-Stack NRP Selector.";
}
}
}
} }
leaf-list acl-ref { leaf-list acl-ref {
type acl-ref; type acl-ref;
description description
"NRP selection is done based on the specified list of "NRP selection is done based on the specified list of
ACLs."; ACLs.";
reference reference
"RFC 8519: YANG Data Model for Network Access Control Lists "RFC 8519: YANG Data Model for Network Access Control Lists
(ACLs)"; (ACLs)";
} }
skipping to change at page 20, line 26 skipping to change at page 23, line 32
/* /*
* Grouping - NRP QoS Per-Hop Behavior (PHB) profile * Grouping - NRP QoS Per-Hop Behavior (PHB) profile
*/ */
grouping qos-phb-profile { grouping qos-phb-profile {
description description
"Grouping for NRP QoS Per-Hop Behavior (PHB) profile."; "Grouping for NRP QoS Per-Hop Behavior (PHB) profile.";
leaf phb-profile { leaf phb-profile {
type leafref { type leafref {
path "/nw:networks/nrp-policies/" path "/nw:networks/nrp:nrp-policies/"
+ "qos-profiles/phb-profile-identifier/id"; + "nrp:qos-profiles/nrp:phb-profile-identifier/nrp:id";
} }
description description
"PHB profile identifier, specifying the forwarding treatment "PHB profile identifier, specifying the forwarding treatment
of packets belonging to a specific NRP selector ID, such as of packets belonging to a specific NRP selector ID, such as
bandwidth control, congestion control bandwidth control, congestion control
(e.g., Section 3.4 of [RFC3644]). (e.g., Section 3.4 of [RFC3644]).
The PHB may be standard PHB, such as Assured Forwarding (AF), The PHB may be standard PHB, such as Assured Forwarding (AF),
Expedited Forwarding (EF), or a customized local policy, Expedited Forwarding (EF), or a customized local policy,
such as 'High', 'Low', 'Standard'."; such as 'High', 'Low', 'Standard'.";
} }
skipping to change at page 22, line 35 skipping to change at page 25, line 42
list topology-group { list topology-group {
key "group-id"; key "group-id";
description description
"List of groups for NRP topology elements (node or links) "List of groups for NRP topology elements (node or links)
that share common attributes."; that share common attributes.";
leaf group-id { leaf group-id {
type string; type string;
description description
"The NRP topology group identifier."; "The NRP topology group identifier.";
} }
container base-topology-ref { /*The base topology reference. All links in
description the list below must belong to this specific
"Container for the base topology reference."; network.*/
uses nw:network-ref; uses nw:network-ref;
}
list link { list link {
key "link-ref"; key "link-ref";
description description
"A list of links with common attributes"; "A list of links with common attributes that are
part of the referenced network";
leaf link-ref { leaf link-ref {
type leafref { type leafref {
path path "/nw:networks/nw:network"
"/nw:networks/nw:network[nw:network-id=current()" + "[nw:network-id=current()/../../nrp:network-ref]"
+ "/../../base-topology-ref/network-ref]" + "/nt:link/nt:link-id";
+ "/nt:link/nt:link-id";
} }
description description
"A reference to a link in the base topology."; "A reference to a link in the base topology specified
by the 'network-ref' sibling node.";
} }
} }
uses resource-reservation; uses resource-reservation;
leaf link-partition-type { leaf link-partition-type {
type identityref { type identityref {
base nrp-link-partition-type; base nrp-link-partition-type;
} }
description description
"Indicates the resource reservation type of an NRP link."; "Indicates the resource reservation type of an NRP link.";
} }
skipping to change at page 24, line 44 skipping to change at page 27, line 51
grouping selector-id-state { grouping selector-id-state {
description description
"The grouping of NRP selector ID state."; "The grouping of NRP selector ID state.";
container selector-id { container selector-id {
config false; config false;
description description
"The container of NRP selector ID."; "The container of NRP selector ID.";
leaf srv6 { leaf srv6 {
type srv6-types:srv6-sid; type srv6-types:srv6-sid;
description description
"Indicates the SRv6 SID value as the NRP selector ID."; "SRv6 SID value.";
}
leaf mpls-nrp-selector {
type uint32;
description
"MPLS NRP selector value.";
} }
} }
} }
// nrp-link-statistics // nrp-link-statistics
grouping statistics-per-link { grouping statistics-per-link {
description description
"Statistics attributes per NRP link."; "Statistics attributes per NRP link.";
container statistics { container statistics {
skipping to change at page 25, line 20 skipping to change at page 28, line 31
uses vpn-common:service-status; uses vpn-common:service-status;
uses nrp-bandwidth-metrics; uses nrp-bandwidth-metrics;
uses te-packet-types:one-way-performance-metrics-packet; uses te-packet-types:one-way-performance-metrics-packet;
} }
} }
/* /*
* Grouping - NRP node attributes * Grouping - NRP node attributes
*/ */
grouping nrp-node-attributes { grouping node-nrp-attributes {
description description
"NRP node scope attributes."; "NRP node scope attributes.";
container nrp-node-attributes { container nrp-node-attributes {
config false; config false;
description description
"Containing NRP attributes."; "Containing NRP attributes.";
uses selector-id-state; uses selector-id-state;
} }
} }
/* /*
* Grouping - NRP Link Attributes * Grouping - NRP Link Attributes
*/ */
grouping nrp-link-attributes { grouping link-nrp-attributes {
description description
"NRP link scope attributes."; "NRP link scope attributes.";
container nrp-link-attributes { container nrp-link-attributes {
config false; config false;
description description
"Contains NRP link attributes."; "Contains NRP link attributes.";
leaf link-partition-type { leaf link-partition-type {
type identityref { type identityref {
base nrp-link-partition-type; base nrp-link-partition-type;
} }
skipping to change at page 26, line 39 skipping to change at page 29, line 50
description description
"Bandwidth utilization that represents the actual "Bandwidth utilization that represents the actual
utilization of the link (i.e., as measured in the router)."; utilization of the link (i.e., as measured in the router).";
} }
} }
/* /*
* Grouping - NRPs Node Attributes * Grouping - NRPs Node Attributes
*/ */
grouping nrps-node-attributes { grouping node-nrp-list-attributes {
description description
"Grouping for NRPs nodes attributes."; "Grouping for NRPs nodes attributes.";
container nrps-node-attributes { container node-nrp-list {
config false;
description description
"Containing NRPs attributes."; "Containing NRPs attributes.";
list nrp { list nrp {
key "nrp-id"; key "nrp-id";
config false;
description description
"List of NRPs."; "List of NRPs.";
leaf nrp-id { leaf nrp-id {
type uint32; type uint32;
description description
"NRP identifier"; "NRP identifier";
} }
uses nrp-node-attributes; uses node-nrp-attributes;
} }
} }
} }
/* /*
* Grouping - NRPs Link Attributes * Grouping - NRPs Link Attributes
*/ */
grouping nrps-link-attributes { grouping link-nrp-list-attributes {
description description
"Grouping for NRPs link attributes."; "Grouping for NRPs link attributes.";
container nrps-link-attributes { container link-nrp-list {
config false; config false;
description description
"Contains NRPs link attributes."; "Contains NRPs link attributes.";
list nrp { list nrp {
key "nrp-id"; key "nrp-id";
config false;
description description
"List of NRPs."; "List of NRPs.";
leaf nrp-id { leaf nrp-id {
type uint32; type uint32;
description description
"NRP identifier"; "NRP identifier";
} }
uses nrp-link-attributes; uses link-nrp-attributes;
} }
} }
} }
// nrp-network-type // nrp-network-type
grouping nrp-network-type { grouping nrp-network-type {
description description
"Identifies the network type to be NRP."; "Identifies the network type to be NRP.";
container nrp { container nrp {
skipping to change at page 28, line 28 skipping to change at page 31, line 37
description description
"Indicates the network type of NRP"; "Indicates the network type of NRP";
uses nrp-network-type; uses nrp-network-type;
} }
/* /*
* Augment - NRP node operational status. * Augment - NRP node operational status.
*/ */
augment "/nw:networks/nw:network/nw:node" { augment "/nw:networks/nw:network/nw:node" {
when '../nw:network-types/nrp:nrp' {
description
"Augments only for NRP network topology.";
}
description description
"Augments node with NRP state attributes."; "Augments node with NRP state attributes.";
uses nrp-node-attributes; choice nrp-attachment-type {
}
/*
* Augment - NRP link operational status.
*/
augment "/nw:networks/nw:network/nt:link" {
when '../nw:network-types/nrp:nrp' {
description description
"Augments only for NRP network topology."; "Determines how NRP information is attached to node:
single-nrp for NRP-specific topology, multi-nrp for
native topology with multiple NRPs.";
case single-nrp {
when '../nw:network-types/nrp:nrp' {
description
"Condition: only applies to NRP network topologies.";
}
uses node-nrp-attributes;
}
case multi-nrp {
description
"Native topology with NRPs node operational status.";
uses node-nrp-list-attributes;
}
} }
description
"Augments link with NRP state attributes.";
uses nrp-link-attributes;
} }
/* /*
* Augment - Native topology with NRPs node operational status. * Augment - NRP link operational status.
*/
augment "/nw:networks/nw:network/nw:node" {
description
"Augments node with NRP list state attributes.";
uses nrps-node-attributes;
}
/*
* Augment - Native topology with NRPs link operational status.
*/ */
augment "/nw:networks/nw:network/nt:link" { augment "/nw:networks/nw:network/nt:link" {
description description
"Augments link with NRP list state attributes."; "Augments link with NRP state attributes.";
uses nrps-link-attributes; choice nrp-attachment-type {
description
"Determines how NRP information is attached to link:
single-nrp for NRP-specific topology, multi-nrp for
native topology with multiple NRPs.";
case single-nrp {
when '../nw:network-types/nrp:nrp' {
description
"Condition: only applies to NRP network topology.";
}
uses link-nrp-attributes;
}
case multi-nrp {
/*Native topology with NRPs link operational status.*/
description
"Native topology with NRPs link operational status.";
uses link-nrp-list-attributes;
}
}
} }
} }
<CODE ENDS> <CODE ENDS>
5. NRPs Device YANG Module 5. NRPs Device YANG Module
The NRP YANG module for devices ("ietf-nrp-device") reuses the qos The NRP YANG module for devices ("ietf-nrp-device") reuses the qos
policy, "resource-reservation", "selector-id" grouping defined in policy, "resource-reservation", "selector-id" grouping defined in
Section 4,and adds interface-specific NRP attributes. Section 4,and adds interface-specific NRP attributes.
skipping to change at page 34, line 7 skipping to change at page 37, line 30
Per-NRP view: Operational state scoped to a single "nrp-id", Per-NRP view: Operational state scoped to a single "nrp-id",
letting the controller present the logical network dedicated to letting the controller present the logical network dedicated to
that NRP. that NRP.
Network-wide view: An extension of the RFC 8345 topology model Network-wide view: An extension of the RFC 8345 topology model
that exposes the mapping between the underlay network and all that exposes the mapping between the underlay network and all
associated NRPs, including per-node and per-link NRP status. associated NRPs, including per-node and per-link NRP status.
7. Security Considerations 7. Security Considerations
The YANG models defined in this document is designed to be accessed The YANG models defined in this document are designed to be accessed
via network management protocols such as NETCONF [RFC6241] or via network management protocols such as NETCONF [RFC6241] or
RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport
layer, and the mandatory-to-implement secure transport is Secure layer, and the mandatory-to-implement secure transport is Secure
Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the
mandatory-to-implement secure transport is TLS [RFC8446]. mandatory-to-implement secure transport is TLS [RFC8446].
The NETCONF access control model [RFC8341] provides the means to The NETCONF access control model [RFC8341] provides the means to
restrict access for particular NETCONF or RESTCONF users to a restrict access for particular NETCONF or RESTCONF users to a
preconfigured subset of all available NETCONF or RESTCONF protocol preconfigured subset of all available NETCONF or RESTCONF protocol
operations and content. operations and content.
There are a number of data nodes defined in this YANG model that are There are a number of data nodes defined in this YANG model that are
writable/creatable/deletable (i.e., config true, which is the writable/creatable/deletable (i.e., config true, which is the
default). These data nodes may be considered sensitive or vulnerable default). These data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., edit-config) in some network environments. Write operations (e.g., edit-config)
to these data nodes without proper protection can have a negative to these data nodes without proper protection can have a negative
effect on network operations. effect on network operations.
nrp-link: A malicious client could attempt to remove a link from a nrp-policies: Unauthorized creation or modification of NRP policies
topology, add a new link. In each case, the structure of the can allocate excessive network resources (bandwidth, buffers,
topology would be sabotaged, and this scenario could, for example, forwarding entries), causing denial of service to other services.
result in an NRP topology that is less than optimal. Implementations MUST enforce resource limits and validate quota
constraints before applying NRP configurations. NETCONF access
control SHOULD restrict NRP policy creation to authorized network-
admin roles only.
selector-id and phb-profile: Misconfiguration of NRP selector IDs or
PHB profiles may cause traffic to be forwarded on the wrong NRP,
violating isolation guarantees and SLOs. Implementations MUST
validate selector ID uniqueness within the network scope and prevent
overlapping PHB configurations that could create ambiguous forwarding
rules.
topology: Modification of NRP topology (links, nodes, filters) could
reroute traffic through unintended paths, bypassing security policies
or causing congestion. Operators MUST apply access controls to
topology modifications and audit all changes. The model's
operational state SHOULD be monitored to detect unauthorized topology
alterations.
The entries in the nodes above include the whole network The entries in the nodes above include the whole network
configurations corresponding with the NRP, and indirectly create or configurations corresponding with the NRP, and indirectly create or
modify the PE or P device configurations. Unexpected changes to modify the PE or P device configurations. Unexpected changes to
these entries could lead to service disruption and/or network these entries could lead to service disruption and/or network
misbehavior. misbehavior.
Sensitive Data Exposure: Operational state data (e.g., utilized
bandwidth, delay statistics) may reveal sensitive information about
network load and customer traffic patterns. Access to operational
state SHOULD be restricted using NACM rules, limiting visibility to
authorized monitoring systems.
8. IANA Considerations 8. IANA Considerations
This document registers a URI in the IETF XML registry [RFC3688]. This document registers a URI in the IETF XML registry [RFC3688].
Following the format in [RFC3688], the following registration is Following the format in [RFC3688], the following registration is
requested to be made: requested to be made:
URI: urn:ietf:params:xml:ns:yang:ietf-nrp URI: urn:ietf:params:xml:ns:yang:ietf-nrp
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace. XML: N/A, the requested URI is an XML namespace.
skipping to change at page 36, line 39 skipping to change at page 40, line 39
Email: chengying10@chinaunicom.cn Email: chengying10@chinaunicom.cn
Liyan Gong Liyan Gong
China Mobile China Mobile
Email: gongliyan@chinamobile.com Email: gongliyan@chinamobile.com
11. References 11. References
11.1. Normative References 11.1. Normative References
[I-D.ietf-teas-nrp-scalability] [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Dong, J., Li, Z., Gong, L., Yang, G., and G. S. Mishra, Requirement Levels", BCP 14, RFC 2119,
"Scalability Considerations for Network Resource DOI 10.17487/RFC2119, March 1997,
Partition", Work in Progress, Internet-Draft, draft-ietf- <https://www.rfc-editor.org/info/rfc2119>.
teas-nrp-scalability-07, 2 March 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-teas-
nrp-scalability-07>.
[I-D.ietf-teas-ns-ip-mpls]
Saad, T., Beeram, V. P., Dong, J., Halpern, J. M., and S.
Peng, "Realizing Network Slices in IP/MPLS Networks", Work
in Progress, Internet-Draft, draft-ietf-teas-ns-ip-mpls-
05, 2 March 2025, <https://datatracker.ietf.org/doc/html/
draft-ietf-teas-ns-ip-mpls-05>.
[I-D.ietf-teas-yang-topology-filter]
Beeram, V. P., Saad, T., Gandhi, R., and X. Liu, "YANG
Data Model for Topology Filter", Work in Progress,
Internet-Draft, draft-ietf-teas-yang-topology-filter-01, 6
July 2025, <https://datatracker.ietf.org/doc/html/draft-
ietf-teas-yang-topology-filter-01>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, DOI 10.17487/RFC3688, January 2004,
<https://www.rfc-editor.org/info/rfc3688>. <https://www.rfc-editor.org/info/rfc3688>.
[RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P.
Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF",
RFC 4915, DOI 10.17487/RFC4915, June 2007, RFC 4915, DOI 10.17487/RFC4915, June 2007,
<https://www.rfc-editor.org/info/rfc4915>. <https://www.rfc-editor.org/info/rfc4915>.
skipping to change at page 37, line 36 skipping to change at page 41, line 20
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<https://www.rfc-editor.org/info/rfc6242>. <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", [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016, RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>. <https://www.rfc-editor.org/info/rfc7950>.
[RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG",
RFC 7951, DOI 10.17487/RFC7951, August 2016, RFC 7951, DOI 10.17487/RFC7951, August 2016,
<https://www.rfc-editor.org/info/rfc7951>. <https://www.rfc-editor.org/info/rfc7951>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>. <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>.
[RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger,
"Common YANG Data Types for the Routing Area", RFC 8294, "Common YANG Data Types for the Routing Area", RFC 8294,
DOI 10.17487/RFC8294, December 2017, DOI 10.17487/RFC8294, December 2017,
<https://www.rfc-editor.org/info/rfc8294>. <https://www.rfc-editor.org/info/rfc8294>.
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>. <https://www.rfc-editor.org/info/rfc8340>.
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration
skipping to change at page 39, line 5 skipping to change at page 42, line 39
"Common YANG Data Types for Traffic Engineering", "Common YANG Data Types for Traffic Engineering",
RFC 8776, DOI 10.17487/RFC8776, June 2020, RFC 8776, DOI 10.17487/RFC8776, June 2020,
<https://www.rfc-editor.org/info/rfc8776>. <https://www.rfc-editor.org/info/rfc8776>.
[RFC9543] Farrel, A., Ed., Drake, J., Ed., Rokui, R., Homma, S., [RFC9543] Farrel, A., Ed., Drake, J., Ed., Rokui, R., Homma, S.,
Makhijani, K., Contreras, L., and J. Tantsura, "A Makhijani, K., Contreras, L., and J. Tantsura, "A
Framework for Network Slices in Networks Built from IETF Framework for Network Slices in Networks Built from IETF
Technologies", RFC 9543, DOI 10.17487/RFC9543, March 2024, Technologies", RFC 9543, DOI 10.17487/RFC9543, March 2024,
<https://www.rfc-editor.org/info/rfc9543>. <https://www.rfc-editor.org/info/rfc9543>.
[RFC9911] Schönwälder, J., Ed., "Common YANG Data Types", RFC 9911,
DOI 10.17487/RFC9911, December 2025,
<https://www.rfc-editor.org/info/rfc9911>.
11.2. Informative References 11.2. Informative References
[I-D.bestbar-teas-yang-nrp-policy] [I-D.bestbar-teas-yang-nrp-policy]
Beeram, V. P., Saad, T., Wen, B., Ceccarelli, D., Peng, Beeram, V. P., Saad, T., Wen, B., Ceccarelli, D., Peng,
S., Chen, R., Contreras, L. M., and X. Liu, "YANG Data S., Chen, R., Contreras, L. M., and X. Liu, "YANG Data
Model for Network Resource Partition Policy", Work in Model for Network Resource Partition Policy", Work in
Progress, Internet-Draft, draft-bestbar-teas-yang-nrp- Progress, Internet-Draft, draft-bestbar-teas-yang-nrp-
policy-03, 24 October 2022, policy-03, 24 October 2022,
<https://datatracker.ietf.org/doc/html/draft-bestbar-teas- <https://datatracker.ietf.org/doc/html/draft-bestbar-teas-
yang-nrp-policy-03>. yang-nrp-policy-03>.
[I-D.ietf-6man-enhanced-vpn-vtn-id] [I-D.ietf-6man-enhanced-vpn-vtn-id]
Dong, J., Li, Z., Xie, C., Ma, C., and G. S. Mishra, Dong, J., Li, Z., Xie, C., Ma, C., and G. S. Mishra,
"Carrying Network Resource (NR) related Information in "Carrying Network Resource (NR) related Information in
IPv6 Extension Header", Work in Progress, Internet-Draft, IPv6 Extension Header", Work in Progress, Internet-Draft,
draft-ietf-6man-enhanced-vpn-vtn-id-12, 7 July 2025, draft-ietf-6man-enhanced-vpn-vtn-id-13, 20 October 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-6man- <https://datatracker.ietf.org/doc/html/draft-ietf-6man-
enhanced-vpn-vtn-id-12>. enhanced-vpn-vtn-id-13>.
[I-D.ietf-lsr-isis-sr-vtn-mt] [I-D.ietf-lsr-isis-sr-vtn-mt]
Xie, C., Ma, C., Dong, J., and Z. Li, "Applicability of Xie, C., Ma, C., Dong, J., and Z. Li, "Applicability of
IS-IS Multi-Topology (MT) for Segment Routing based IS-IS Multi-Topology (MT) for Segment Routing based
Network Resource Partition (NRP)", Work in Progress, Network Resource Partition (NRP)", Work in Progress,
Internet-Draft, draft-ietf-lsr-isis-sr-vtn-mt-10, 13 April Internet-Draft, draft-ietf-lsr-isis-sr-vtn-mt-11, 13
2025, <https://datatracker.ietf.org/doc/html/draft-ietf- October 2025, <https://datatracker.ietf.org/doc/html/
lsr-isis-sr-vtn-mt-10>. draft-ietf-lsr-isis-sr-vtn-mt-11>.
[I-D.ietf-mpls-mna-nrp-selector]
Li, T., Beeram, V. P., Drake, J., Saad, T., and I. Meilik,
"MPLS Network Actions for Network Resource Partition
Selector", Work in Progress, Internet-Draft, draft-ietf-
mpls-mna-nrp-selector-03, 23 December 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-mpls-
mna-nrp-selector-03>.
[I-D.ietf-mpls-mna-psd-nrp-selector]
Li, Z. and J. Dong, "Carrying NRP related Information in
MPLS Packets", Work in Progress, Internet-Draft, draft-
ietf-mpls-mna-psd-nrp-selector-00, 13 August 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-mpls-
mna-psd-nrp-selector-00>.
[I-D.ietf-spring-sr-for-enhanced-vpn] [I-D.ietf-spring-sr-for-enhanced-vpn]
Dong, J., Miyasaka, T., Zhu, Y., Qin, F., and Z. Li, Dong, J., Miyasaka, T., Zhu, Y., Qin, F., and Z. Li,
"Segment Routing based Network Resource Partition (NRP) "Segment Routing based Network Resource Partition (NRP)
for Enhanced VPN", Work in Progress, Internet-Draft, for Enhanced VPN", Work in Progress, Internet-Draft,
draft-ietf-spring-sr-for-enhanced-vpn-09, 10 June 2025, draft-ietf-spring-sr-for-enhanced-vpn-10, 15 December
<https://datatracker.ietf.org/doc/html/draft-ietf-spring- 2025, <https://datatracker.ietf.org/doc/html/draft-ietf-
sr-for-enhanced-vpn-09>. spring-sr-for-enhanced-vpn-10>.
[I-D.ietf-spring-srv6-yang] [I-D.ietf-spring-srv6-yang]
Raza, S. K., Rajamanickam, J., Matsushima, S., Yu, P., and Raza, S. K., Rajamanickam, J., Matsushima, S., Yu, P., and
X. Liu, "YANG Data Model for SRv6 Base and Static", Work X. Liu, "YANG Data Model for SRv6 Base and Static", Work
in Progress, Internet-Draft, draft-ietf-spring-srv6-yang- in Progress, Internet-Draft, draft-ietf-spring-srv6-yang-
05, 7 July 2025, <https://datatracker.ietf.org/doc/html/ 05, 7 July 2025, <https://datatracker.ietf.org/doc/html/
draft-ietf-spring-srv6-yang-05>. draft-ietf-spring-srv6-yang-05>.
[I-D.ietf-teas-nrp-scalability]
Dong, J., Li, Z., Gong, L., Yang, G., and G. S. Mishra,
"Scalability Considerations for Network Resource
Partition", Work in Progress, Internet-Draft, draft-ietf-
teas-nrp-scalability-08, 20 October 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-teas-
nrp-scalability-08>.
[I-D.ietf-teas-ns-ip-mpls]
Saad, T., Beeram, V. P., Dong, J., Halpern, J. M., and S.
Peng, "Realizing Network Slices in IP/MPLS Networks", Work
in Progress, Internet-Draft, draft-ietf-teas-ns-ip-mpls-
06, 20 October 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-teas-ns-
ip-mpls-06>.
[I-D.ietf-teas-yang-topology-filter]
Beeram, V. P., Saad, T., Gandhi, R., and X. Liu, "YANG
Data Model for Topology Filter", Work in Progress,
Internet-Draft, draft-ietf-teas-yang-topology-filter-02,
19 October 2025, <https://datatracker.ietf.org/doc/html/
draft-ietf-teas-yang-topology-filter-02>.
[I-D.wd-teas-nrp-yang] [I-D.wd-teas-nrp-yang]
Wu, B., Dhody, D., Boucadair, M., Cheng, Y., and L. Gong, Wu, B., Dhody, D., Boucadair, M., Cheng, Y., and L. Gong,
"A YANG Data Model for Network Resource Partitions "A YANG Data Model for Network Resource Partitions
(NRPs)", Work in Progress, Internet-Draft, draft-wd-teas- (NRPs)", Work in Progress, Internet-Draft, draft-wd-teas-
nrp-yang-02, 25 September 2022, nrp-yang-02, 25 September 2022,
<https://datatracker.ietf.org/doc/html/draft-wd-teas-nrp- <https://datatracker.ietf.org/doc/html/draft-wd-teas-nrp-
yang-02>. yang-02>.
[RFC3644] Snir, Y., Ramberg, Y., Strassner, J., Cohen, R., and B. [RFC3644] Snir, Y., Ramberg, Y., Strassner, J., Cohen, R., and B.
Moore, "Policy Quality of Service (QoS) Information Moore, "Policy Quality of Service (QoS) Information
skipping to change at page 40, line 29 skipping to change at page 45, line 7
Explained", RFC 8309, DOI 10.17487/RFC8309, January 2018, Explained", RFC 8309, DOI 10.17487/RFC8309, January 2018,
<https://www.rfc-editor.org/info/rfc8309>. <https://www.rfc-editor.org/info/rfc8309>.
[RFC9350] Psenak, P., Ed., Hegde, S., Filsfils, C., Talaulikar, K., [RFC9350] Psenak, P., Ed., Hegde, S., Filsfils, C., Talaulikar, K.,
and A. Gulko, "IGP Flexible Algorithm", RFC 9350, and A. Gulko, "IGP Flexible Algorithm", RFC 9350,
DOI 10.17487/RFC9350, February 2023, DOI 10.17487/RFC9350, February 2023,
<https://www.rfc-editor.org/info/rfc9350>. <https://www.rfc-editor.org/info/rfc9350>.
Appendix A. Open issues Appendix A. Open issues
This section lists the non-blocking issues raised during the Working All issues identified during Working Group review have been resolved.
Group adoption process. The issues listed below need to be fully This section is intentionally left blank for the final publication.
resolved before publication
1. Raised by Tom Petch: Abstract lacks the reference to the NS
framework that defines the NRP.
2. Raised by Adrain Farrel: 1) Avoid limiting IP/MPLS technology to
realize NRPs, SR should be in scope; 2) Avoid the "IETF Network
Slice" language, should use terms as "RFC 9543 Network Slice" and
"RFC 9543 Network Slice Service" 3) It's good to investigate any
scaling issues with the model and any implications on deployments
or implementations, just as draft-ietf-teas-nrp-scalability.
3. Raised by Med Boucadair: 1) Normative dependency on individual
drafts, such as I-D.bestbar-teas-yang-topology-filter, suggesting
to add it back when stable 2) The device model in the spec is not
a device model as it augments a network model. 3) Some of the
review provided in https://github.com/boucadair/IETF-Drafts-
Reviews/blob/master/2024/draft-ahuang-netconf-udp-client-server-
01-rev%20Med.pdf
4. Raised by Lius Contreras: 1) Clarify the NRP model usage in NSC,
network controllers, and devices; 2) Rename Section 3.1.1 title
to bandwidth reservation; 3) Add the references of "NRP capable
node"; 4) In Section 3.1.3, better to clarify single PHB or
multiple PHB per NRP and Whether the PHB management scope is in
the NSC or network controller; 5) Section 3.1 adds description of
NRP policy modes (b) and (c).
5. Raised by Xuesong: 1) Clarify the considerations for defining the
NRP policy; 2) Distinguish NRP model operation and NRP mode
(CP,DP, and hybrid); 3) Clarify the relationship and design
consideration of NRPs network and device models.
6. Raised by Italo: 1) Clarify the models are technology-agnostic
NRPs model or IP technology-specific NRPs model; 2) Updates the
abstract/introduction to clarify that this model applies on
devices and on controllers.
Appendix B. An Example Appendix B. An Example
This section contains an example of an instance data tree in JSON This section contains an example of an instance data tree in JSON
encoding [RFC7951]. The example below instantiates an NRP for the encoding [RFC7951].
topology that is depicted in the following diagram. There are three
nodes, D1, D2, and D3. D1 has three termination points, 1-0-1,
1-2-1, and 1-3-1. D2 has three termination points as well, 2-1-1,
2-0-1, and 2-3-1. D3 has two termination points, 3-1-1 and 3-2-1.
In addition there are six links, two between each pair of nodes with
one going in each direction.
+------------+ +------------+ +------------+ +------------+
| D1 | | D2 | | D1 | | D2 |
/-\ /-\ /-\ /-\ /-\ /-\ /-\ /-\
| | 1-0-1 | |---------------->| | 2-1-1 | | | | 1-0-1 | |---------------->| | 2-1-1 | |
| | 1-2-1 | |<----------------| | 2-0-1 | | | | 1-2-1 | |<----------------| | 2-0-1 | |
\-/ 1-3-1 \-/ \-/ 2-3-1 \-/ \-/ 1-3-1 \-/ \-/ 2-3-1 \-/
| /----\ | | /----\ | | /----\ | | /----\ |
+---| |---+ +---| |---+ +---| |---+ +---| |---+
\----/ \----/ \----/ \----/
skipping to change at page 42, line 28 skipping to change at page 45, line 38
| | | D3 | | | | | | D3 | | |
| | /-\ /-\ | | | | /-\ /-\ | |
| +----->| | 3-1-1 | |-------+ | | +----->| | 3-1-1 | |-------+ |
+---------| | 3-2-1 | |<---------+ +---------| | 3-2-1 | |<---------+
\-/ \-/ \-/ \-/
| | | |
+------------+ +------------+
Figure 10: An NRP Instance Example Figure 10: An NRP Instance Example
An corresponding IGP congruent NRP instance data tree is depicted The following example configures a hybrid NRP (NRP1) with SRv6
below: selector and Flex-Algo based topology.
============== NOTE: '\' line wrapping per RFC 8792 =============== ============== NOTE: '\' line wrapping per RFC 8792 ===============
{ {
"ietf-network:networks": { "ietf-network:networks": {
"ietf-nrp:nrp-policies": { "ietf-nrp:nrp-policies": {
"qos-profiles": {
"phb-profile-identifier": [
{
"id": "High-Priority-Profile"
}
]
},
"nrp-policy": [ "nrp-policy": [
{ {
"name": "NRP1", "name": "NRP1-SRv6-FlexAlgo",
"nrp-id": "example:nrp-example1", "nrp-id": "example:nrp-example1",
"mode": "ietf-nrp:hybrid-plane-partition", "mode": "ietf-nrp:hybrid-plane-partition",
"resource-reservation": { "resource-reservation": {
"bw-value": "10000" "maximum-bandwidth": "10000000000"
}, },
"selector-id": { "selector-id": {
"ipv6": { "ipv6": {
"ipv6-hbh-eh:": "100" "srv6-derived": {
"srv6-sid": [
"2001:db8:100::"
]
}
} }
}, },
"phb-profile:": "High", "phb-profile:" "High-Priority-Profile",
"topology": { "topology": {
"igp-congruent": { "igp-congruent": {
"multi-topology-id": "2" "algo-id": "128",
"sharing": false
}, },
"select": { ]
"topology-group": [ }
{
"group-id": "access-group",
"base-topology-ref": {
"network-ref": "native-topology"
},
"link": [
{
"link-ref": "example:D1,example:1-2-1,\
example:D2,example:2-1-1"
},
{
"link-ref": "example:D2,example:2-1-1,\
example:D1,example:1-2-1"
},
{
"link-ref": "example:D1,example:1-3-1,\
example:D3,example:3-1-1"
},
{
"link-ref": "example:D3,example:3-1-1,\
example:D1,example:1-3-1"
},
{
"link-ref": "example:D2,example:2-3-1,\
example:D3,example:3-2-1"
},
{
"link-ref": "example:D3,example:3-2-1,\
example:D2,example:2-3-1"
}
],
"link-partition-type": "virtual-sub-interface-\
partition"
}
]
}
} }
} }
] ]
} }
} }
} }
Figure 11: Instance data tree Figure 11: Instance data tree
In addition, an example of an NRP that supports the control plane Another example of an NRP that supports the control plane partition
partition mode is shown in the following figure. mode is shown in the following figure.
{ {
"ietf-network:networks": { "ietf-network:networks": {
"ietf-nrp:nrp-policies": { "ietf-nrp:nrp-policies": {
"nrp-policy": [ "nrp-policy": [
{ {
"name": "NRP2", "name": "NRP2-CONTROL-PLANE",
"nrp-id": "example:nrp-example2", "nrp-id": "example:nrp-example2",
"mode": "control-plane-partition", "mode": "control-plane-partition",
"resource-reservation": { "resource-reservation": {
"bw-value": "10000" "bw-value": "10000"
}, },
"phb-profile:": "EF", "phb-profile:": "EF",
"topology": { "topology": {
"filters": { "filters": {
"filter": [ "filter": [
{ {
skipping to change at page 44, line 35 skipping to change at page 47, line 32
} }
] ]
} }
} }
} }
] ]
} }
} }
} }
The following example configures a router with two NRP instances
using IPv6 Hop-by-Hop extension header options for traffic
identification. NRP-100 uses selector ID 100 for high-priority
service traffic, while NRP-200 uses selector ID 200 for standard
services.
{
"ietf-interfaces:interfaces": {
"interface": [
{
"name": "GigabitEthernet0/0/0/0",
"type": "iana-if-type:ethernetCsmacd",
"enabled": true
},
{
"name": "GigabitEthernet0/0/0/1",
"type": "iana-if-type:ethernetCsmacd",
"enabled": true
},
{
"name": "GigabitEthernet0/0/0/2",
"type": "iana-if-type:ethernetCsmacd",
"enabled": true
}
]
},
"ietf-nrp-device:nrp-policies": {
"qos-profiles": {
"phb-profile-identifier": [
{
"id": "High-Priority-PHB"
},
{
"id": "Standard-PHB"
}
]
},
"nrp-policy": [
{
"name": "NRP-Premium-Service",
"nrp-id": 100,
"mode": "ietf-nrp:hybrid-plane-partition",
"resource-reservation": {
"maximum-bandwidth-percent": 20
},
"selector-id": {
"ipv6": {
"ipv6-hbh-eh": 100
}
},
"phb-profile": "High-Priority-PHB",
"igp-congruent": {
"algo-id": 128,
"sharing": false
},
"interfaces": {
"interface": [
{
"interface": "GigabitEthernet0/0/0/0",
"resource-reservation": {
"maximum-bandwidth-percent": 40
},
"selector-id": {
"ipv6": {
"ipv6-hbh-eh": 101
}
},
"phb-profile": "High-Priority-PHB"
},
{
"interface": "GigabitEthernet0/0/0/1",
"resource-reservation": {
"maximum-bandwidth-percent": 30
},
"selector-id": {
"ipv6": {
"ipv6-hbh-eh": 102
}
},
"phb-profile": "High-Priority-PHB"
}
]
}
},
{
"name": "NRP-Standard-Service",
"nrp-id": 200,
"mode": "ietf-nrp:data-plane-partition",
"resource-reservation": {
"maximum-bandwidth-percent": 50
},
"selector-id": {
"ipv6": {
"ipv6-hbh-eh": 200
}
},
"phb-profile": "Standard-PHB",
"interfaces": {
"interface": [
{
"interface": "GigabitEthernet0/0/0/2",
"resource-reservation": {
"maximum-bandwidth-percent": 50
},
"selector-id": {
"ipv6": {
"ipv6-hbh-eh": 201
}
},
"phb-profile": "Standard-PHB"
}
]
}
}
]
}
}
Appendix C. NRPs YANG Module Tree Appendix C. NRPs YANG Module Tree
Figure 12 shows the full tree diagram of the NRPs YANG model defined Figure 12 shows the full tree diagram of the NRPs YANG model defined
in module "ietf-nrp.yang". in module "ietf-nrp.yang".
module: ietf-nrp module: ietf-nrp
augment /nw:networks:
+--rw nrp-policies
+--rw qos-profiles
| +--rw phb-profile-identifier* [id]
| +--rw id string
+--rw nrp-policy* [name]
+--rw name string
+--rw nrp-id? uint32
+--rw mode? identityref
+--rw resource-reservation
| +--rw (max-bw-type)?
| +--:(bw-value)
| | +--rw maximum-bandwidth? uint64
| +--:(bw-percentage)
| +--rw maximum-bandwidth-percent?
| rt-types:percentage
+--rw selector-id
| +--rw ipv4-derived
| | +--rw destination-prefix* inet:ipv4-prefix
| +--rw ipv6
| | +--rw (selector-type)?
| | +--:(dedicated)
| | | +--rw ipv6-hbh-eh? uint32
| | +--:(srv6-sid-derived)
| | | +--rw srv6-sid* srv6-types:srv6-sid
| | +--:(ipv6-destination-derived)
| | +--rw destination-prefix* inet:ipv6-prefix
| +--rw mpls
| +--rw acl-ref* acl-ref
+--rw phb-profile? leafref
+--rw topology
+--rw igp-congruent!
| +--rw multi-topology-id? uint32
| +--rw algo-id? uint32
| +--rw sharing? boolean
+--rw (topology-type)?
+--:(selection)
| +--rw select
| +--rw topology-group* [group-id]
| +--rw group-id string
| +--rw base-topology-ref
| | +--rw network-ref?
| | -> /nw:networks/network/network-id
| +--rw link* [link-ref]
| | +--rw link-ref leafref
| +--rw resource-reservation
| | +--rw (max-bw-type)?
| | +--:(bw-value)
| | | +--rw maximum-bandwidth?
| | | uint64
| | +--:(bw-percentage)
| | +--rw maximum-bandwidth-percent?
| | rt-types:percentage
| +--rw link-partition-type? identityref
| +--rw phb-profile? leafref
+--:(filter)
+--rw filters
+--rw filter* [filter-ref]
+--rw filter-ref
| topo-filter-ref
+--rw resource-reservation
| +--rw (max-bw-type)?
| +--:(bw-value)
| | +--rw maximum-bandwidth?
| | uint64
| +--:(bw-percentage)
| +--rw maximum-bandwidth-percent?
| rt-types:percentage
+--rw selector-id
| +--rw ipv4-derived
| | +--rw destination-prefix*
| | inet:ipv4-prefix
| +--rw ipv6
| | +--rw (selector-type)?
| | +--:(dedicated)
| | | +--rw ipv6-hbh-eh?
| | | uint32
| | +--:(srv6-sid-derived)
| | | +--rw srv6-sid*
| | | srv6-types:srv6-sid
| | +--:(ipv6-destination-derived)
| | +--rw destination-prefix*
| | inet:ipv6-prefix
| +--rw mpls
| +--rw acl-ref* acl-ref
+--rw phb-profile? leafref
augment /nw:networks/nw:network/nw:network-types:
+--rw nrp!
augment /nw:networks/nw:network/nw:node:
+--ro nrp-node-attributes
+--ro selector-id
+--ro srv6? srv6-types:srv6-sid
augment /nw:networks/nw:network/nt:link:
+--ro nrp-link-attributes
+--ro link-partition-type? identityref
+--ro bandwidth-value? uint64
+--ro selector-id
| +--ro srv6? srv6-types:srv6-sid
+--ro statistics
+--ro status
| +--ro admin-status
| | +--ro status? identityref
| | +--ro last-change? yang:date-and-time
| +--ro oper-status
| +--ro status? identityref
| +--ro last-change? yang:date-and-time
+--ro one-way-available-bandwidth? uint64
+--ro one-way-utilized-bandwidth? uint64
+--ro one-way-min-delay? uint32
+--ro one-way-max-delay? uint32
+--ro one-way-delay-variation? uint32
+--ro one-way-packet-loss? decimal64
augment /nw:networks/nw:network/nw:node:
+--rw nrps-node-attributes
+--ro nrp* [nrp-id]
+--ro nrp-id uint32
+--ro nrp-node-attributes
+--ro selector-id
+--ro srv6? srv6-types:srv6-sid
augment /nw:networks/nw:network/nt:link:
+--ro nrps-link-attributes
+--ro nrp* [nrp-id]
+--ro nrp-id uint32
+--ro nrp-link-attributes
+--ro link-partition-type? identityref
+--ro bandwidth-value? uint64
+--ro selector-id
| +--ro srv6? srv6-types:srv6-sid
+--ro statistics
+--ro status
| +--ro admin-status
| | +--ro status? identityref
| | +--ro last-change? yang:date-and-time
| +--ro oper-status
| +--ro status? identityref
| +--ro last-change? yang:date-and-time
+--ro one-way-available-bandwidth? uint64
+--ro one-way-utilized-bandwidth? uint64
+--ro one-way-min-delay? uint32
+--ro one-way-max-delay? uint32
+--ro one-way-delay-variation? uint32
+--ro one-way-packet-loss? decimal64
Figure 12 augment /nw:networks:
+--rw nrp-policies
+--rw qos-profiles
| +--rw phb-profile-identifier* [id]
| +--rw id string
+--rw nrp-policy* [name]
+--rw name string
+--rw nrp-id? uint32
+--rw mode? identityref
+--rw resource-reservation
| +--rw (max-bw-type)?
| +--:(bw-value)
| | +--rw maximum-bandwidth? uint64
| +--:(bw-percentage)
| +--rw maximum-bandwidth-percent?
| rt-types:percentage
+--rw selector-id
| +--rw ipv4-derived
| | +--rw destination-prefix* inet:ipv4-prefix
| +--rw ipv6
| | +--rw (selector-type)?
| | +--:(dedicated)
| | | +--rw ipv6-hbh-eh? uint32
| | +--:(srv6-derived)
| | | +--rw srv6-sid* srv6-types:srv6-sid
| | +--:(ipv6-destination-derived)
| | +--rw destination-prefix* inet:ipv6-prefix
| +--rw mpls
| | +--rw (mpls-encapsulation)?
| | +--:(mna-in-stack)
| | | +--rw in-stack-identifier? uint32
| | | +--rw identifier-format? enumeration
| | +--:(post-stack)
| | +--rw post-stack-identifier? uint32
| +--rw acl-ref* acl-ref
+--rw phb-profile? leafref
+--rw topology
+--rw igp-congruent!
| +--rw multi-topology-id? uint32
| +--rw algo-id? uint32
| +--rw sharing? boolean
+--rw (topology-type)?
+--:(selection)
| +--rw select
| +--rw topology-group* [group-id]
| +--rw group-id string
| +--rw network-ref?
| | -> /nw:networks/network/network-id
| +--rw link* [link-ref]
| | +--rw link-ref leafref
| +--rw resource-reservation
| | +--rw (max-bw-type)?
| | +--:(bw-value)
| | | +--rw maximum-bandwidth?
| | | uint64
| | +--:(bw-percentage)
| | +--rw maximum-bandwidth-percent?
| | rt-types:percentage
| +--rw link-partition-type? identityref
| +--rw phb-profile? leafref
+--:(filter)
+--rw filters
+--rw filter* [filter-ref]
+--rw filter-ref
| topo-filter-ref
+--rw resource-reservation
| +--rw (max-bw-type)?
| +--:(bw-value)
| | +--rw maximum-bandwidth?
| | uint64
| +--:(bw-percentage)
| +--rw maximum-bandwidth-percent?
| rt-types:percentage
+--rw selector-id
| +--rw ipv4-derived
| | +--rw destination-prefix*
| | inet:ipv4-prefix
| +--rw ipv6
| | +--rw (selector-type)?
| | +--:(dedicated)
| | | +--rw ipv6-hbh-eh?
| | | uint32
| | +--:(srv6-derived)
| | | +--rw srv6-sid*
| | | srv6-types:srv6-sid
| | +--:(ipv6-destination-derived)
| | +--rw destination-prefix*
| | inet:ipv6-prefix
| +--rw mpls
| | +--rw (mpls-encapsulation)?
| | +--:(mna-in-stack)
| | | +--rw in-stack-identifier?
| | | | uint32
| | | +--rw identifier-format?
| | | enumeration
| | +--:(post-stack)
| | +--rw post-stack-identifier?
| | uint32
| +--rw acl-ref* acl-ref
+--rw phb-profile? leafref
augment /nw:networks/nw:network/nw:network-types:
+--rw nrp!
augment /nw:networks/nw:network/nw:node:
+--rw (nrp-attachment-type)?
+--:(single-nrp)
| +--ro nrp-node-attributes
| +--ro selector-id
| +--ro srv6? srv6-types:srv6-sid
| +--ro mpls-nrp-selector? uint32
+--:(multi-nrp)
+--ro node-nrp-list
+--ro nrp* [nrp-id]
+--ro nrp-id uint32
+--ro nrp-node-attributes
+--ro selector-id
+--ro srv6? srv6-types:srv6-sid
+--ro mpls-nrp-selector? uint32
augment /nw:networks/nw:network/nt:link:
+--rw (nrp-attachment-type)?
+--:(single-nrp)
| +--ro nrp-link-attributes
| +--ro link-partition-type? identityref
| +--ro bandwidth-value? uint64
| +--ro selector-id
| | +--ro srv6? srv6-types:srv6-sid
| | +--ro mpls-nrp-selector? uint32
| +--ro statistics
| +--ro status
| | +--ro admin-status
| | | +--ro status? identityref
| | | +--ro last-change? yang:date-and-time
| | +--ro oper-status
| | +--ro status? identityref
| | +--ro last-change? yang:date-and-time
| +--ro one-way-available-bandwidth? uint64
| +--ro one-way-utilized-bandwidth? uint64
| +--ro one-way-min-delay? uint32
| +--ro one-way-max-delay? uint32
| +--ro one-way-delay-variation? uint32
| +--ro one-way-packet-loss? decimal64
+--:(multi-nrp)
+--ro link-nrp-list
+--ro nrp* [nrp-id]
+--ro nrp-id uint32
+--ro nrp-link-attributes
+--ro link-partition-type? identityref
+--ro bandwidth-value? uint64
+--ro selector-id
| +--ro srv6? srv6-types:srv6-sid
| +--ro mpls-nrp-selector? uint32
+--ro statistics
+--ro status
| +--ro admin-status
| | +--ro status? identityref
| | +--ro last-change? yang:date-and-time
| +--ro oper-status
| +--ro status? identityref
| +--ro last-change? yang:date-and-time
+--ro one-way-available-bandwidth? uint64
+--ro one-way-utilized-bandwidth? uint64
+--ro one-way-min-delay? uint32
+--ro one-way-max-delay? uint32
+--ro one-way-delay-variation? uint32
+--ro one-way-packet-loss? decimal64
Figure 12
Appendix D. NRPs Device YANG Module Tree Appendix D. NRPs Device YANG Module Tree
Figure 13 shows the full tree diagram of the NRPs device YANG model Figure 13 shows the full tree diagram of the NRPs device YANG model
defined in module "ietf-nrp-device.yang". defined in module "ietf-nrp-device.yang".
module: ietf-nrp-device module: ietf-nrp-device
+--rw nrp-policies +--rw nrp-policies
+--rw qos-profiles +--rw qos-profiles
| +--rw phb-profile-identifier* [id] | +--rw phb-profile-identifier* [id]
skipping to change at page 48, line 20 skipping to change at page 54, line 13
| +--:(bw-percentage) | +--:(bw-percentage)
| +--rw maximum-bandwidth-percent? | +--rw maximum-bandwidth-percent?
| rt-types:percentage | rt-types:percentage
+--rw selector-id +--rw selector-id
| +--rw ipv4-derived | +--rw ipv4-derived
| | +--rw destination-prefix* inet:ipv4-prefix | | +--rw destination-prefix* inet:ipv4-prefix
| +--rw ipv6 | +--rw ipv6
| | +--rw (selector-type)? | | +--rw (selector-type)?
| | +--:(dedicated) | | +--:(dedicated)
| | | +--rw ipv6-hbh-eh? uint32 | | | +--rw ipv6-hbh-eh? uint32
| | +--:(srv6-sid-derived) | | +--:(srv6-derived)
| | | +--rw srv6-sid* srv6-types:srv6-sid | | | +--rw srv6-sid* srv6-types:srv6-sid
| | +--:(ipv6-destination-derived) | | +--:(ipv6-destination-derived)
| | +--rw destination-prefix* inet:ipv6-prefix | | +--rw destination-prefix* inet:ipv6-prefix
| +--rw mpls | +--rw mpls
| | +--rw (mpls-encapsulation)?
| | +--:(mna-in-stack)
| | | +--rw in-stack-identifier? uint32
| | | +--rw identifier-format? enumeration
| | +--:(post-stack)
| | +--rw post-stack-identifier? uint32
| +--rw acl-ref* acl-ref | +--rw acl-ref* acl-ref
+--rw phb-profile? leafref +--rw phb-profile? leafref
+--rw igp-congruent! +--rw igp-congruent!
| +--rw multi-topology-id? uint32 | +--rw multi-topology-id? uint32
| +--rw algo-id? uint32 | +--rw algo-id? uint32
| +--rw sharing? boolean | +--rw sharing? boolean
+--rw interfaces +--rw interfaces
+--rw interface* [interface] +--rw interface* [interface]
+--rw interface if:interface-ref +--rw interface if:interface-ref
+--rw resource-reservation +--rw resource-reservation
skipping to change at page 48, line 48 skipping to change at page 54, line 47
| +--:(bw-percentage) | +--:(bw-percentage)
| +--rw maximum-bandwidth-percent? | +--rw maximum-bandwidth-percent?
| rt-types:percentage | rt-types:percentage
+--rw selector-id +--rw selector-id
| +--rw ipv4-derived | +--rw ipv4-derived
| | +--rw destination-prefix* inet:ipv4-prefix | | +--rw destination-prefix* inet:ipv4-prefix
| +--rw ipv6 | +--rw ipv6
| | +--rw (selector-type)? | | +--rw (selector-type)?
| | +--:(dedicated) | | +--:(dedicated)
| | | +--rw ipv6-hbh-eh? uint32 | | | +--rw ipv6-hbh-eh? uint32
| | +--:(srv6-sid-derived) | | +--:(srv6-derived)
| | | +--rw srv6-sid* | | | +--rw srv6-sid*
| | | srv6-types:srv6-sid | | | srv6-types:srv6-sid
| | +--:(ipv6-destination-derived) | | +--:(ipv6-destination-derived)
| | +--rw destination-prefix* | | +--rw destination-prefix*
| | inet:ipv6-prefix | | inet:ipv6-prefix
| +--rw mpls | +--rw mpls
| | +--rw (mpls-encapsulation)?
| | +--:(mna-in-stack)
| | | +--rw in-stack-identifier? uint32
| | | +--rw identifier-format? enumeration
| | +--:(post-stack)
| | +--rw post-stack-identifier? uint32
| +--rw acl-ref* acl-ref | +--rw acl-ref* acl-ref
+--rw phb-profile? leafref +--rw phb-profile? leafref
Figure 13 Figure 13
Authors' Addresses Authors' Addresses
Bo Wu Bo Wu
Huawei Technologies Huawei Technologies
101 Software Avenue, Yuhua District 101 Software Avenue, Yuhua District
 End of changes. 111 change blocks. 
518 lines changed or deleted 817 lines changed or added

This html diff was produced by rfcdiff 1.49. The latest version is available from https://github.com/ietf-tools/rfcdiff