draft-ietf-teas-yang-te-types-06.txt   draft-ietf-teas-yang-te-types-07.txt 
TEAS Working Group T. Saad TEAS Working Group T. Saad
Internet-Draft R. Gandhi Internet-Draft Juniper Networks
Intended status: Standards Track Cisco Systems Inc Intended status: Standards Track R. Gandhi
Expires: August 10, 2019 X. Liu Expires: October 10, 2019 Cisco Systems Inc
X. Liu
Volta Networks Volta Networks
V. Beeram V. Beeram
Juniper Networks Juniper Networks
I. Bryskin I. Bryskin
Huawei Technologies Huawei Technologies
February 06, 2019 April 08, 2019
Traffic Engineering Common YANG Types Traffic Engineering Common YANG Types
draft-ietf-teas-yang-te-types-06 draft-ietf-teas-yang-te-types-07
Abstract Abstract
This document defines a collection of common data types and groupings This document defines a collection of common data types and groupings
in YANG data modeling language. These derived common types and in YANG data modeling language. These derived common types and
groupings are intended to be imported by modules that model Traffic groupings are intended to be imported by modules that model Traffic
Engineering (TE) configuration and state capabilities. Engineering (TE) configuration and state capabilities.
Status of This Memo Status of This Memo
skipping to change at page 1, line 39 skipping to change at page 1, line 40
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 August 10, 2019. This Internet-Draft will expire on October 10, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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 Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 16 skipping to change at page 2, line 17
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3 1.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3
2. Acronyms and Abbreviations . . . . . . . . . . . . . . . . . 3 2. Acronyms and Abbreviations . . . . . . . . . . . . . . . . . 3
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. TE Types Module Contents . . . . . . . . . . . . . . . . 4 3.1. TE Types Module Contents . . . . . . . . . . . . . . . . 4
3.2. Packet TE Types Module Contents . . . . . . . . . . . . . 7 3.2. Packet TE Types Module Contents . . . . . . . . . . . . . 7
4. TE Types YANG Module . . . . . . . . . . . . . . . . . . . . 8 4. TE Types YANG Module . . . . . . . . . . . . . . . . . . . . 8
5. Packet TE Types YANG Module . . . . . . . . . . . . . . . . . 68 5. Packet TE Types YANG Module . . . . . . . . . . . . . . . . . 69
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 77 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 78
7. Security Considerations . . . . . . . . . . . . . . . . . . . 77 7. Security Considerations . . . . . . . . . . . . . . . . . . . 78
8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 77 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 78
9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 78 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 79
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 78 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 79
10.1. Normative References . . . . . . . . . . . . . . . . . . 78 10.1. Normative References . . . . . . . . . . . . . . . . . . 79
10.2. Informative References . . . . . . . . . . . . . . . . . 79 10.2. Informative References . . . . . . . . . . . . . . . . . 80
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 85 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 86
1. Introduction 1. Introduction
YANG [RFC6020] and [RFC7950] is a data modeling language used to YANG [RFC6020] and [RFC7950] is a data modeling language used to
model configuration data, state data, Remote Procedure Calls, and model configuration data, state data, Remote Procedure Calls, and
notifications for network management protocols such as NETCONF notifications for network management protocols such as NETCONF
[RFC6241]. The YANG language supports a small set of built-in data [RFC6241]. The YANG language supports a small set of built-in data
types and provides mechanisms to derive other types from the built-in types and provides mechanisms to derive other types from the built-in
types. types.
skipping to change at page 4, line 31 skipping to change at page 4, line 38
te-label: te-label:
A YANG grouping that defines the generic TE label. The modeling A YANG grouping that defines the generic TE label. The modeling
structure allows augmentation for each technology. For un- structure allows augmentation for each technology. For un-
specified technologies, rt-types:generalized-label is used. specified technologies, rt-types:generalized-label is used.
performance-metrics-attributes: performance-metrics-attributes:
A YANG grouping that defines one-way and two-way measured A YANG grouping that defines one-way and two-way measured
performance metrics and anomalous indication on link(s) or the performance metrics and anomalous indication on link(s) or the
path as defined in [RFC7471], [RFC7810], and [RFC7823]. path as defined in [RFC7471], [RFC8570], and [RFC7823].
performance-metrics-throttle-container: performance-metrics-throttle-container:
A YANG grouping that defines configurable thresholds for A YANG grouping that defines configurable thresholds for
advertisement suppression and measurement intervals. advertisement suppression and measurement intervals.
te-ds-class: te-ds-class:
A type representing the Differentiated-Services (DS) Class-Type of A type representing the Differentiated-Services (DS) Class-Type of
traffic as defined in [RFC4124]. traffic as defined in [RFC4124].
skipping to change at page 8, line 41 skipping to change at page 8, line 48
The ietf-te-types module imports from the following modules: The ietf-te-types module imports from the following modules:
o ietf-yang-types and ietf-inet-types defined in [RFC6991] o ietf-yang-types and ietf-inet-types defined in [RFC6991]
o ietf-routing-types defined in [RFC8294] o ietf-routing-types defined in [RFC8294]
In addition to the references cross-referenced in Section 3.1, this In addition to the references cross-referenced in Section 3.1, this
model also references the following RFCs in defining the types and model also references the following RFCs in defining the types and
YANG grouping of the YANG module: [RFC3272], [RFC4202], [RFC4328], YANG grouping of the YANG module: [RFC3272], [RFC4202], [RFC4328],
[RFC4657], [RFC5817], [RFC6004], [RFC6511], [RFC6205], [RFC7139], [RFC4657], [RFC5817], [RFC6004], [RFC6511], [RFC6205], [RFC7139],
[RFC7308], [RFC7551], [RFC7571], [RFC7579], and [RFC7951]. [RFC7308], [RFC7551], [RFC7571], [RFC7579], [RFC4090], [RFC4561] and
[RFC7951].
<CODE BEGINS> file "ietf-te-types@2019-02-06.yang" <CODE BEGINS> file "ietf-te-types@2019-04-08.yang"
module ietf-te-types { module ietf-te-types {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-types"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-types";
/* Replace with IANA when assigned */ /* Replace with IANA when assigned */
prefix "te-types"; prefix "te-types";
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference "RFC6991: Common YANG Data Types"; reference "RFC6991: Common YANG Data Types";
skipping to change at page 9, line 32 skipping to change at page 9, line 40
"WG Web: <http://tools.ietf.org/wg/teas/> "WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org> WG List: <mailto:teas@ietf.org>
WG Chair: Lou Berger WG Chair: Lou Berger
<mailto:lberger@labn.net> <mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net> <mailto:vbeeram@juniper.net>
Editor: Tarek Saad Editor: Tarek Saad
<mailto:tsaad@cisco.com> <mailto:tsaad@juniper.net>
Editor: Rakesh Gandhi Editor: Rakesh Gandhi
<mailto:rgandhi@cisco.com> <mailto:rgandhi@cisco.com>
Editor: Vishnu Pavan Beeram Editor: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net> <mailto:vbeeram@juniper.net>
Editor: Himanshu Shah Editor: Himanshu Shah
<mailto:hshah@ciena.com> <mailto:hshah@ciena.com>
skipping to change at page 10, line 28 skipping to change at page 10, line 35
(https://trustee.ietf.org/license-info). (https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note. // note.
// RFC Ed.: update the date below with the date of RFC publication // RFC Ed.: update the date below with the date of RFC publication
// and remove this note. // and remove this note.
revision "2019-02-06" { revision "2019-04-08" {
description "Latest revision of TE types"; description "Latest revision of TE types";
reference reference
"RFC XXXX: A YANG Data Model for Common Traffic Engineering "RFC XXXX: A YANG Data Model for Common Traffic Engineering
Types"; Types";
} }
/** /**
* Typedefs * Typedefs
*/ */
typedef admin-group { typedef admin-group {
skipping to change at page 12, line 43 skipping to change at page 12, line 51
graceful shutdown for maintenance purposes."; graceful shutdown for maintenance purposes.";
reference reference
"RFC5817: Graceful Shutdown in MPLS and Generalized MPLS "RFC5817: Graceful Shutdown in MPLS and Generalized MPLS
Traffic Engineering Networks"; Traffic Engineering Networks";
} }
enum maintenance { enum maintenance {
description description
"Resource is disabled in the data plane for maintenance "Resource is disabled in the data plane for maintenance
purposes."; purposes.";
} }
enum unknown {
description
"Status is unknown";
}
} }
description description
"Defines a type representing the administrative status of "Defines a type representing the administrative status of
a TE resource."; a TE resource.";
} }
typedef te-bandwidth { typedef te-bandwidth {
type string { type string {
pattern pattern
'0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
skipping to change at page 17, line 28 skipping to change at page 17, line 41
is being transported (or selected) on the recovery span."; is being transported (or selected) on the recovery span.";
} }
enum recovery-failed { enum recovery-failed {
description description
"The recovery action has failed."; "The recovery action has failed.";
} }
enum reversion-started { enum reversion-started {
description description
"The reversion has started."; "The reversion has started.";
} }
enum reversion-succeeded {
description
"The reversion action has succeeded.";
}
enum reversion-failed { enum reversion-failed {
description description
"The reversion has failed."; "The reversion has failed.";
} }
enum recovery-unavailable { enum recovery-unavailable {
description description
"The recovery is unavailable -- either as a result of an "The recovery is unavailable -- either as a result of an
operator Lockout command or a failure condition detected operator Lockout command or a failure condition detected
on the recovery span."; on the recovery span.";
} }
skipping to change at page 24, line 29 skipping to change at page 24, line 46
reference "RFC4872"; reference "RFC4872";
} }
identity link-protection-enhanced { identity link-protection-enhanced {
base link-protection-type; base link-protection-type;
description "Enhanced protection protected link type"; description "Enhanced protection protected link type";
reference "RFC4872"; reference "RFC4872";
} }
identity association-type { identity association-type {
description "Base identity for tunnel association"; description "Base identity for tunnel association";
reference "RFC6780, RFC4872, RFC4873";
} }
identity association-type-recovery { identity association-type-recovery {
base association-type; base association-type;
description description
"Association Type Recovery used to association LSPs of "Association Type Recovery used to association LSPs of
same tunnel for recovery"; same tunnel for recovery";
reference "RFC4872";
reference "RFC6780, RFC4872";
} }
identity association-type-resource-sharing { identity association-type-resource-sharing {
base association-type; base association-type;
description description
"Association Type Resource Sharing used to enable resource "Association Type Resource Sharing used to enable resource
sharing during make-before-break."; sharing during make-before-break.";
reference "RFC4873"; reference "RFC6780, RFC4873";
} }
identity association-type-double-sided-bidir { identity association-type-double-sided-bidir {
base association-type; base association-type;
description description
"Association Type Double Sided bidirectional used to associate "Association Type Double Sided bidirectional used to associate
two LSPs of two tunnels that are independently configured on two LSPs of two tunnels that are independently configured on
either endpoint"; either endpoint";
reference "RFC7551"; reference "RFC7551";
} }
identity association-type-single-sided-bidir { identity association-type-single-sided-bidir {
base association-type; base association-type;
description description
"Association Type Single Sided bidirectional used to associate "Association Type Single Sided bidirectional used to associate
two LSPs of two tunnels, where a tunnel is configured on one two LSPs of two tunnels, where a tunnel is configured on one
side/endpoint, and the other tunnel is dynamically created on side/endpoint, and the other tunnel is dynamically created on
the other endpoint"; the other endpoint";
reference "RFC7551"; reference "RFC6780,RFC7551";
} }
identity objective-function-type { identity objective-function-type {
description "Base objective function type"; description "Base objective function type";
reference "RFC4657";
} }
identity of-minimize-cost-path { identity of-minimize-cost-path {
base objective-function-type; base objective-function-type;
description description
"Minimize cost of path objective function"; "Minimize cost of path objective function";
reference "RFC5541"; reference "RFC5541";
} }
identity of-minimize-load-path { identity of-minimize-load-path {
base objective-function-type; base objective-function-type;
description description
"Minimize the load on path(s) objective "Minimize the load on path(s) objective
function"; function";
reference "RFC5541";
} }
identity of-maximize-residual-bandwidth { identity of-maximize-residual-bandwidth {
base objective-function-type; base objective-function-type;
description description
"Maximize the residual bandwidth objective "Maximize the residual bandwidth objective
function"; function";
reference "RFC5541";
} }
identity of-minimize-agg-bandwidth-consumption { identity of-minimize-agg-bandwidth-consumption {
base objective-function-type; base objective-function-type;
description description
"minimize the aggregate bandwidth consumption "minimize the aggregate bandwidth consumption
objective function"; objective function";
reference "RFC5541";
} }
identity of-minimize-load-most-loaded-link { identity of-minimize-load-most-loaded-link {
base objective-function-type; base objective-function-type;
description description
"Minimize the load on the most loaded link "Minimize the load on the most loaded link
objective function"; objective function";
reference "RFC5541";
} }
identity of-minimize-cost-path-set { identity of-minimize-cost-path-set {
base objective-function-type; base objective-function-type;
description description
"Minimize the cost on a path set objective "Minimize the cost on a path set objective
function"; function";
reference "RFC5541";
} }
identity path-computation-method { identity path-computation-method {
description description
"base identity for supported path computation "base identity for supported path computation
mechanisms"; mechanisms";
} }
identity path-locally-computed { identity path-locally-computed {
base path-computation-method; base path-computation-method;
description description
"indicates a constrained-path LSP in which the "indicates a constrained-path LSP in which the
path is computed by the local LER"; path is computed by the local LER";
reference "RFC3209";
} }
identity path-externally-queried { identity path-externally-queried {
base path-computation-method; base path-computation-method;
description description
"Constrained-path LSP in which the path is "Constrained-path LSP in which the path is
obtained by querying an external source, such as a PCE server. obtained by querying an external source, such as a PCE server.
In the case that an LSP is defined to be externally queried, it In the case that an LSP is defined to be externally queried, it
may also have associated explicit definitions (provided may also have associated explicit definitions (provided
to the external source to aid computation); and the path that is to the external source to aid computation); and the path that is
returned by the external source is not required to provide a returned by the external source is not required to provide a
wholly resolved path back to the originating system - that is to wholly resolved path back to the originating system - that is to
say, some local computation may also be required"; say, some local computation may also be required";
reference "RFC4657";
} }
identity path-explicitly-defined { identity path-explicitly-defined {
base path-computation-method; base path-computation-method;
description description
"constrained-path LSP in which the path is "constrained-path LSP in which the path is
explicitly specified as a collection of strict or/and loose explicitly specified as a collection of strict or/and loose
hops"; hops";
reference "RFC3209";
} }
identity lsp-metric-type { identity lsp-metric-type {
description description
"Base identity for types of LSP metric specification"; "Base identity for types of LSP metric specification";
} }
identity lsp-metric-relative { identity lsp-metric-relative {
base lsp-metric-type; base lsp-metric-type;
description description
"The metric specified for the LSPs to which this identity refers "The metric specified for the LSPs to which this identity refers
is specified as a relative value to the IGP metric cost to the is specified as a relative value to the IGP metric cost to the
LSP's tail-end."; LSP's tail-end.";
reference "RFC4657";
} }
identity lsp-metric-absolute { identity lsp-metric-absolute {
base lsp-metric-type; base lsp-metric-type;
description description
"The metric specified for the LSPs to which this identity refers "The metric specified for the LSPs to which this identity refers
is specified as an absolute value"; is specified as an absolute value";
reference "RFC4657";
} }
identity lsp-metric-inherited { identity lsp-metric-inherited {
base lsp-metric-type; base lsp-metric-type;
description description
"The metric for the LSPs to which this identity refers is "The metric for the LSPs to which this identity refers is
not specified explicitly - but rather inherited from the IGP not specified explicitly - but rather inherited from the IGP
cost directly"; cost directly";
reference "RFC4657";
} }
identity te-tunnel-type { identity te-tunnel-type {
description description
"Base identity from which specific tunnel types are "Base identity from which specific tunnel types are
derived."; derived.";
} }
identity te-tunnel-p2p { identity te-tunnel-p2p {
base te-tunnel-type; base te-tunnel-type;
description description
"TE point-to-point tunnel type."; "TE point-to-point tunnel type.";
reference "RFC3209";
} }
identity te-tunnel-p2mp { identity te-tunnel-p2mp {
base te-tunnel-type; base te-tunnel-type;
description description
"TE point-to-multipoint tunnel type."; "TE point-to-multipoint tunnel type.";
reference "RFC4875"; reference "RFC4875";
} }
identity tunnel-action-type { identity tunnel-action-type {
description description
skipping to change at page 30, line 41 skipping to change at page 31, line 20
} }
identity lsp-restoration-restore-all { identity lsp-restoration-restore-all {
base lsp-restoration-type; base lsp-restoration-type;
description description
"Restores when all the tunnel LSPs are affected by failure"; "Restores when all the tunnel LSPs are affected by failure";
} }
identity restoration-scheme-type { identity restoration-scheme-type {
description description
"Base identity for LSP restoration schemes"; "Base identity for LSP restoration schemes";
reference "RFC4872";
} }
identity restoration-scheme-preconfigured { identity restoration-scheme-preconfigured {
base restoration-scheme-type; base restoration-scheme-type;
description description
"Restoration LSP is preconfigured prior to the failure"; "Restoration LSP is preconfigured prior to the failure";
reference "RFC4427";
} }
identity restoration-scheme-precomputed { identity restoration-scheme-precomputed {
base restoration-scheme-type; base restoration-scheme-type;
description description
"Restoration LSP is precomputed prior to the failure"; "Restoration LSP is precomputed prior to the failure";
reference "RFC4427";
} }
identity restoration-scheme-presignaled { identity restoration-scheme-presignaled {
base restoration-scheme-type; base restoration-scheme-type;
description description
"Restoration LSP is presignaled prior to the failure"; "Restoration LSP is presignaled prior to the failure";
reference "RFC4427";
} }
identity lsp-protection-type { identity lsp-protection-type {
description description
"Base identity from which LSP protection types are "Base identity from which LSP protection types are
derived."; derived.";
reference "RFC4872";
} }
identity lsp-protection-unprotected { identity lsp-protection-unprotected {
base lsp-protection-type; base lsp-protection-type;
description description
"LSP protection 'Unprotected'"; "LSP protection 'Unprotected'";
reference "RFC4872"; reference "RFC4872";
} }
identity lsp-protection-reroute-extra { identity lsp-protection-reroute-extra {
base lsp-protection-type; base lsp-protection-type;
description description
skipping to change at page 34, line 4 skipping to change at page 34, line 33
"RFC4427"; "RFC4427";
} }
identity failure-of-protocol { identity failure-of-protocol {
base lsp-protection-state; base lsp-protection-state;
description description
"The protection is not working because of a failure of "The protection is not working because of a failure of
protocol condition."; protocol condition.";
reference reference
"RFC4427"; "RFC4427";
} }
identity protection-external-commands { identity protection-external-commands {
description description
"Protection external commands for trouble shooting "Base identity from which protection external commands
purposes."; for trouble shooting purposes are derived.";
} }
identity action-freeze { identity action-freeze {
base protection-external-commands; base protection-external-commands;
description description
"A temporary configuration action initiated by an operator "A temporary configuration action initiated by an operator
command to prevent any switch action to be taken and as such command to prevent any switch action to be taken and as such
freezes the current state."; freezes the current state.";
reference reference
"RFC4427"; "RFC4427";
} }
skipping to change at page 36, line 4 skipping to change at page 36, line 34
identity switching-capabilities { identity switching-capabilities {
description description
"Base identity for interface switching capabilities"; "Base identity for interface switching capabilities";
reference "RFC3471"; reference "RFC3471";
} }
identity switching-psc1 { identity switching-psc1 {
base switching-capabilities; base switching-capabilities;
description description
"Packet-Switch Capable-1 (PSC-1)"; "Packet-Switch Capable-1 (PSC-1)";
reference "RFC3471"; reference "RFC3471";
} }
identity switching-evpl { identity switching-evpl {
base switching-capabilities; base switching-capabilities;
description description
"Ethernet Virtual Private Line (EVPL)"; "Ethernet Virtual Private Line (EVPL)";
reference "RFC6004";
} }
identity switching-l2sc { identity switching-l2sc {
base switching-capabilities; base switching-capabilities;
description description
"Layer-2 Switch Capable (L2SC)"; "Layer-2 Switch Capable (L2SC)";
reference "RFC3471"; reference "RFC3471";
} }
identity switching-tdm { identity switching-tdm {
base switching-capabilities; base switching-capabilities;
description description
skipping to change at page 36, line 22 skipping to change at page 37, line 4
identity switching-l2sc { identity switching-l2sc {
base switching-capabilities; base switching-capabilities;
description description
"Layer-2 Switch Capable (L2SC)"; "Layer-2 Switch Capable (L2SC)";
reference "RFC3471"; reference "RFC3471";
} }
identity switching-tdm { identity switching-tdm {
base switching-capabilities; base switching-capabilities;
description description
"Time-Division-Multiplex Capable (TDM)"; "Time-Division-Multiplex Capable (TDM)";
reference "RFC3471"; reference "RFC3471";
} }
identity switching-otn { identity switching-otn {
base switching-capabilities; base switching-capabilities;
description description
"OTN-TDM capable"; "OTN-TDM capable";
reference "RFC7138";
} }
identity switching-dcsc { identity switching-dcsc {
base switching-capabilities; base switching-capabilities;
description description
"Data Channel Switching Capable (DCSC)"; "Data Channel Switching Capable (DCSC)";
reference "RFC6002";
} }
identity switching-lsc { identity switching-lsc {
base switching-capabilities; base switching-capabilities;
description description
"Lambda-Switch Capable (LSC)"; "Lambda-Switch Capable (LSC)";
reference "RFC3471"; reference "RFC3471";
} }
identity switching-fsc { identity switching-fsc {
base switching-capabilities; base switching-capabilities;
description description
skipping to change at page 39, line 4 skipping to change at page 39, line 38
identity path-scope-type { identity path-scope-type {
description description
"base identity from which specific path "base identity from which specific path
scope types are derived"; scope types are derived";
} }
identity path-scope-segment { identity path-scope-segment {
base path-scope-type; base path-scope-type;
description description
"Path scope segment"; "Path scope segment";
reference "RFC4873";
} }
identity path-scope-end-to-end { identity path-scope-end-to-end {
base path-scope-type; base path-scope-type;
description description
"Path scope end to end"; "Path scope end to end";
reference "RFC4873";
} }
identity route-usage-type { identity route-usage-type {
description description
"Base identity for route usage"; "Base identity for route usage";
} }
identity route-include-object { identity route-include-object {
base route-usage-type; base route-usage-type;
description description
"Include route object"; "Include route object";
} }
identity route-exclude-object { identity route-exclude-object {
base route-usage-type; base route-usage-type;
description description
"Exclude route object"; "Exclude route object";
reference "RFC4874";
} }
identity route-exclude-srlg { identity route-exclude-srlg {
base route-usage-type; base route-usage-type;
description "Exclude SRLG"; description "Exclude SRLG";
reference "RFC4874";
} }
identity path-metric-type { identity path-metric-type {
description description
"Base identity for path metric type"; "Base identity for path metric type";
} }
identity path-metric-te { identity path-metric-te {
base path-metric-type; base path-metric-type;
description description
"TE path metric"; "TE path metric";
skipping to change at page 41, line 51 skipping to change at page 42, line 41
"RFC3272: Overview and Principles of Internet Traffic "RFC3272: Overview and Principles of Internet Traffic
Engineering."; Engineering.";
} }
identity not-optimized { identity not-optimized {
base te-optimization-criterion; base te-optimization-criterion;
description "Optimization is not applied."; description "Optimization is not applied.";
} }
identity cost { identity cost {
base te-optimization-criterion; base te-optimization-criterion;
description "Optimized on cost."; description "Optimized on cost.";
reference "RFC5541";
} }
identity delay { identity delay {
base te-optimization-criterion; base te-optimization-criterion;
description "Optimized on delay."; description "Optimized on delay.";
reference "RFC5541";
} }
identity path-computation-srlg-type { identity path-computation-srlg-type {
description description
"Base identity for SRLG path computation"; "Base identity for SRLG path computation";
} }
identity srlg-ignore { identity srlg-ignore {
base path-computation-srlg-type; base path-computation-srlg-type;
description description
"Ignores SRLGs in path computation"; "Ignores SRLGs in path computation";
} }
identity srlg-strict { identity srlg-strict {
base path-computation-srlg-type; base path-computation-srlg-type;
description description
"Include strict SRLG check in path computation"; "Include strict SRLG check in path computation";
skipping to change at page 42, line 38 skipping to change at page 43, line 31
identity srlg-weighted { identity srlg-weighted {
base path-computation-srlg-type; base path-computation-srlg-type;
description description
"Include weighted SRLG check in path computation"; "Include weighted SRLG check in path computation";
} }
identity otn-rate-type { identity otn-rate-type {
description description
"Base type to identify OTN bit rates of various information "Base type to identify OTN bit rates of various information
structures."; structures.";
reference "RFC7139";
} }
identity odu0 { identity odu0 {
base otn-rate-type; base otn-rate-type;
description description
"ODU0 bit rate."; "ODU0 bit rate.";
reference "RFC7139";
} }
identity odu1 { identity odu1 {
base otn-rate-type; base otn-rate-type;
description description
"ODU1 bit rate."; "ODU1 bit rate.";
reference "RFC7139";
} }
identity odu2 { identity odu2 {
base otn-rate-type; base otn-rate-type;
description description
"ODU2 bit rate."; "ODU2 bit rate.";
reference "RFC7139";
} }
identity odu3 { identity odu3 {
base otn-rate-type; base otn-rate-type;
description description
"ODU3 bit rate."; "ODU3 bit rate.";
reference "RFC7139";
} }
identity odu4 { identity odu4 {
base otn-rate-type; base otn-rate-type;
description description
"ODU4 bit rate."; "ODU4 bit rate.";
reference "RFC7139";
} }
identity odu2e { identity odu2e {
base otn-rate-type; base otn-rate-type;
description description
"ODU2e bit rate."; "ODU2e bit rate.";
reference "RFC7139";
} }
identity oduc { identity oducn {
base otn-rate-type; base otn-rate-type;
description description
"ODUCn bit rate."; "ODUCn bit rate.";
reference "RFC7139";
} }
identity oduflex { identity oduflex {
base otn-rate-type; base otn-rate-type;
description description
"ODUflex bit rate."; "ODUflex bit rate.";
reference "RFC7139";
} }
identity wdm-spectrum-type { identity wdm-spectrum-type {
description description
"Base type to identify WDM spectrum type."; "Base type to identify WDM spectrum type.";
} }
identity cwdm { identity cwdm {
base wdm-spectrum-type; base wdm-spectrum-type;
description "CWDM."; description "CWDM.";
reference "RFC6205"; reference "RFC6205";
skipping to change at page 45, line 13 skipping to change at page 46, line 13
case generic { case generic {
leaf generic { leaf generic {
type rt-types:generalized-label; type rt-types:generalized-label;
description description
"TE label specified in a generic format."; "TE label specified in a generic format.";
} }
} }
} }
leaf direction { leaf direction {
type te-label-direction; type te-label-direction;
default forward; default 'forward';
description "Label direction"; description "Label direction";
} }
} }
} }
grouping te-topology-identifier { grouping te-topology-identifier {
description description
"Augmentation for TE topology."; "Augmentation for TE topology.";
container te-topology-identifier { container te-topology-identifier {
description "TE topology identifier container"; description "TE topology identifier container";
skipping to change at page 47, line 28 skipping to change at page 48, line 28
type rt-types:bandwidth-ieee-float32; type rt-types:bandwidth-ieee-float32;
default '0x0p0'; default '0x0p0';
description description
"Residual bandwidth that subtracts tunnel "Residual bandwidth that subtracts tunnel
reservations from Maximum Bandwidth (or link capacity) reservations from Maximum Bandwidth (or link capacity)
[RFC3630] and provides an aggregated remainder across QoS [RFC3630] and provides an aggregated remainder across QoS
classes."; classes.";
} }
leaf one-way-residual-bandwidth-normality { leaf one-way-residual-bandwidth-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default 'normal';
description "Residual bandwidth normality."; description "Residual bandwidth normality.";
} }
leaf one-way-available-bandwidth { leaf one-way-available-bandwidth {
type rt-types:bandwidth-ieee-float32; type rt-types:bandwidth-ieee-float32;
default '0x0p0'; default '0x0p0';
description description
"Available bandwidth that is defined to be residual "Available bandwidth that is defined to be residual
bandwidth minus the measured bandwidth used for the bandwidth minus the measured bandwidth used for the
actual forwarding of non-RSVP-TE LSP packets. For a actual forwarding of non-RSVP-TE LSP packets. For a
bundled link, available bandwidth is defined to be the bundled link, available bandwidth is defined to be the
sum of the component link available bandwidths."; sum of the component link available bandwidths.";
} }
leaf one-way-available-bandwidth-normality { leaf one-way-available-bandwidth-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default 'normal';
description "Available bandwidth normality."; description "Available bandwidth normality.";
} }
leaf one-way-utilized-bandwidth { leaf one-way-utilized-bandwidth {
type rt-types:bandwidth-ieee-float32; type rt-types:bandwidth-ieee-float32;
default '0x0p0'; default '0x0p0';
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).
For a bundled link, bandwidth utilization is defined to For a bundled link, bandwidth utilization is defined to
be the sum of the component link bandwidth be the sum of the component link bandwidth
utilizations."; utilizations.";
} }
leaf one-way-utilized-bandwidth-normality { leaf one-way-utilized-bandwidth-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default 'normal';
description "Bandwidth utilization normality."; description "Bandwidth utilization normality.";
} }
} }
grouping one-way-performance-metrics { grouping one-way-performance-metrics {
description description
"One-way performance metrics throttle grouping."; "One-way performance metrics throttle grouping.";
leaf one-way-delay { leaf one-way-delay {
type uint32 { type uint32 {
range 0..16777215; range 0..16777215;
skipping to change at page 52, line 10 skipping to change at page 53, line 10
case numbered-node-hop { case numbered-node-hop {
container numbered-node-hop { container numbered-node-hop {
leaf node-id { leaf node-id {
type te-node-id; type te-node-id;
mandatory true; mandatory true;
description description
"The identifier of a node in the TE topology."; "The identifier of a node in the TE topology.";
} }
leaf hop-type { leaf hop-type {
type te-hop-type; type te-hop-type;
default strict; default 'strict';
description "strict or loose hop"; description "strict or loose hop";
} }
description "Numbered node route hop"; description "Numbered node route hop";
reference reference
"RFC3209: section 4.3 for EXPLICIT_ROUTE in RSVP-TE "RFC3209: section 4.3 for EXPLICIT_ROUTE in RSVP-TE
RFC3477: Signalling Unnumbered Links in RSVP-TE"; RFC3477: Signalling Unnumbered Links in RSVP-TE";
} }
} }
case numbered-link-hop { case numbered-link-hop {
container numbered-link-hop { container numbered-link-hop {
leaf link-tp-id { leaf link-tp-id {
type te-tp-id; type te-tp-id;
mandatory true; mandatory true;
description description
"TE link termination point identifier."; "TE link termination point identifier.";
} }
leaf hop-type { leaf hop-type {
type te-hop-type; type te-hop-type;
default strict; default 'strict';
description "strict or loose hop"; description "strict or loose hop";
} }
leaf direction { leaf direction {
type te-link-direction; type te-link-direction;
default outgoing; default 'outgoing';
description "Link route object direction"; description "Link route object direction";
} }
description description
"Numbered link explicit route hop"; "Numbered link explicit route hop";
reference reference
"RFC3209: section 4.3 for EXPLICIT_ROUTE in RSVP-TE "RFC3209: section 4.3 for EXPLICIT_ROUTE in RSVP-TE
RFC3477: Signalling Unnumbered Links in RSVP-TE"; RFC3477: Signalling Unnumbered Links in RSVP-TE";
} }
} }
case unnumbered-link-hop { case unnumbered-link-hop {
skipping to change at page 53, line 14 skipping to change at page 54, line 14
unnumbered TE link."; unnumbered TE link.";
} }
leaf node-id { leaf node-id {
type te-node-id; type te-node-id;
mandatory true; mandatory true;
description description
"The identifier of a node in the TE topology."; "The identifier of a node in the TE topology.";
} }
leaf hop-type { leaf hop-type {
type te-hop-type; type te-hop-type;
default strict; default 'strict';
description "strict or loose hop"; description "strict or loose hop";
} }
leaf direction { leaf direction {
type te-link-direction; type te-link-direction;
default outgoing; default 'outgoing';
description "Link route object direction"; description "Link route object direction";
} }
description description
"Unnumbered link explicit route hop"; "Unnumbered link explicit route hop";
reference reference
"RFC3209: section 4.3 for EXPLICIT_ROUTE in RSVP-TE "RFC3209: section 4.3 for EXPLICIT_ROUTE in RSVP-TE
RFC3477: Signalling Unnumbered Links in RSVP-TE"; RFC3477: Signalling Unnumbered Links in RSVP-TE";
} }
} }
case as-number { case as-number {
container as-number-hop { container as-number-hop {
leaf as-number { leaf as-number {
type inet:as-number; type inet:as-number;
mandatory true; mandatory true;
description "The AS number"; description "The AS number";
} }
leaf hop-type { leaf hop-type {
type te-hop-type; type te-hop-type;
default strict; default 'strict';
description "strict or loose hop"; description "strict or loose hop";
} }
description description
"Autonomous System explicit route hop"; "Autonomous System explicit route hop";
} }
} }
case label { case label {
container label-hop { container label-hop {
description "Label hop type"; description "Label hop type";
uses te-label; uses te-label;
} }
description description
"The label explicit route hop type"; "The label explicit route hop type";
} }
} }
} }
grouping record-route_state { grouping record-route-state {
description description
"The record route grouping"; "The record route grouping";
leaf index { leaf index {
type uint32; type uint32;
description description
"Record route hop index. The index is used to "Record route hop index. The index is used to
identify an entry in the list. The order of entries identify an entry in the list. The order of entries
is defined by the user without relying on key values"; is defined by the user without relying on key values";
} }
choice type { choice type {
skipping to change at page 54, line 34 skipping to change at page 55, line 34
description "Numbered node route hop container"; description "Numbered node route hop container";
leaf node-id { leaf node-id {
type te-node-id; type te-node-id;
mandatory true; mandatory true;
description description
"The identifier of a node in the TE topology."; "The identifier of a node in the TE topology.";
} }
leaf-list flags { leaf-list flags {
type path-attribute-flags; type path-attribute-flags;
description "Record route per hop flags"; description "Record route per hop flags";
reference "RFC3209 and others"; reference "RFC3209, RFC4090, RFC4561";
} }
} }
description "Numbered node route hop"; description "Numbered node route hop";
} }
case numbered-link-hop { case numbered-link-hop {
container numbered-link-hop { container numbered-link-hop {
description "Numbered link route hop container"; description "Numbered link route hop container";
leaf link-tp-id { leaf link-tp-id {
type te-tp-id; type te-tp-id;
mandatory true; mandatory true;
description description
"Numbered TE link termination point identifier."; "Numbered TE link termination point identifier.";
} }
leaf-list flags { leaf-list flags {
type path-attribute-flags; type path-attribute-flags;
description "Record route per hop flags"; description "Record route per hop flags";
reference "RFC3209 and others"; reference "RFC3209, RFC4090, RFC4561";
} }
} }
description "Numbered link route hop"; description "Numbered link route hop";
} }
case unnumbered-link-hop { case unnumbered-link-hop {
container unnumbered-link-hop { container unnumbered-link-hop {
leaf link-tp-id { leaf link-tp-id {
type te-tp-id; type te-tp-id;
mandatory true; mandatory true;
skipping to change at page 55, line 26 skipping to change at page 56, line 26
unnumbered TE link."; unnumbered TE link.";
} }
leaf node-id { leaf node-id {
type te-node-id; type te-node-id;
description description
"The identifier of a node in the TE topology."; "The identifier of a node in the TE topology.";
} }
leaf-list flags { leaf-list flags {
type path-attribute-flags; type path-attribute-flags;
description "Record route per hop flags"; description "Record route per hop flags";
reference "RFC3209 and others"; reference "RFC3209, RFC4090, RFC4561";
} }
description description
"Unnumbered link record route hop"; "Unnumbered link record route hop";
reference reference
"RFC3477: Signalling Unnumbered Links in "RFC3477: Signalling Unnumbered Links in
RSVP-TE"; RSVP-TE";
} }
description "Unnumbered link route hop"; description "Unnumbered link route hop";
} }
case label { case label {
container label-hop { container label-hop {
description "Label route hop type"; description "Label route hop type";
uses te-label; uses te-label;
leaf-list flags { leaf-list flags {
type path-attribute-flags; type path-attribute-flags;
description "Record route per hop flags"; description "Record route per hop flags";
reference "RFC3209 and others"; reference "RFC3209, RFC4090, RFC4561";
} }
} }
description description
"The Label record route entry types"; "The Label record route entry types";
} }
} }
} }
grouping label-restriction-info { grouping label-restriction-info {
description "Label set item info"; description "Label set item info";
leaf restriction { leaf restriction {
type enumeration { type enumeration {
enum inclusive { enum inclusive {
description "The label or label range is inclusive."; description "The label or label range is inclusive.";
} }
enum exclusive { enum exclusive {
description "The label or label range is exclusive."; description "The label or label range is exclusive.";
} }
} }
default inclusive; default 'inclusive';
description description
"Whether the list item is inclusive or exclusive."; "Whether the list item is inclusive or exclusive.";
} }
leaf index { leaf index {
type uint32; type uint32;
description description
"The index of the label restriction list entry."; "The index of the label restriction list entry.";
} }
container label-start { container label-start {
must "(not(../label-end/te-label/direction) and" + must "(not(../label-end/te-label/direction) and" +
skipping to change at page 58, line 4 skipping to change at page 59, line 4
Each bit-position in the range-bitmap hex-string maps to a Each bit-position in the range-bitmap hex-string maps to a
label in the range derived from the label-start. label in the range derived from the label-start.
For example, assuming label-start=16000 and For example, assuming label-start=16000 and
range-bitmap=0x01000001, then: range-bitmap=0x01000001, then:
- bit-position(0) is set, and the corresponding mapped label - bit-position(0) is set, and the corresponding mapped label
from the range is: 16000 + (0 * label-step) or from the range is: 16000 + (0 * label-step) or
16000 for default label-step=1. 16000 for default label-step=1.
- bit-position(24) is set, and the corresponding mapped label - bit-position(24) is set, and the corresponding mapped label
from ihe ranage is: 16000 + (24 * label-step) or from the range is: 16000 + (24 * label-step) or
16024 for defautl label-step=1"; 16024 for defautl label-step=1";
} }
} }
grouping label-set-info { grouping label-set-info {
description description
"Grouping for List of label restrictions specifying what labels "Grouping for List of label restrictions specifying what labels
may or may not be used on a link connectivity."; may or may not be used on a link connectivity.";
container label-restrictions { container label-restrictions {
description description
skipping to change at page 59, line 29 skipping to change at page 60, line 29
description description
"A requested bandwidth to use for path computation"; "A requested bandwidth to use for path computation";
} }
leaf link-protection { leaf link-protection {
type identityref { type identityref {
base link-protection-type; base link-protection-type;
} }
default te-types:link-protection-unprotected; default te-types:link-protection-unprotected;
description description
"Link Protection Type desired for this link."; "Link protection type required for the links included
in the computed path";
reference reference
"RFC4202: Routing Extensions in Support of "RFC4202: Routing Extensions in Support of
Generalized Multi-Protocol Label Switching (GMPLS)."; Generalized Multi-Protocol Label Switching (GMPLS).";
} }
leaf setup-priority { leaf setup-priority {
type uint8 { type uint8 {
range "0..7"; range "0..7";
} }
default 7; default 7;
skipping to change at page 59, line 51 skipping to change at page 61, line 4
"TE LSP requested setup priority"; "TE LSP requested setup priority";
reference "RFC3209"; reference "RFC3209";
} }
leaf hold-priority { leaf hold-priority {
type uint8 { type uint8 {
range "0..7"; range "0..7";
} }
default 7; default 7;
description description
"TE LSP requested hold priority"; "TE LSP requested hold priority";
reference "RFC3209";
reference "RFC3209";
} }
leaf signaling-type { leaf signaling-type {
type identityref { type identityref {
base path-signaling-type; base path-signaling-type;
} }
default te-types:path-setup-rsvp; default te-types:path-setup-rsvp;
description "TE tunnel path signaling type"; description "TE tunnel path signaling type";
} }
} }
skipping to change at page 68, line 25 skipping to change at page 69, line 26
<CODE ENDS> <CODE ENDS>
Figure 1: TE basic types YANG module Figure 1: TE basic types YANG module
5. Packet TE Types YANG Module 5. Packet TE Types YANG Module
The ietf-te-packet-types module imports from the following modules: The ietf-te-packet-types module imports from the following modules:
o ietf-te-types defined in this document. o ietf-te-types defined in this document.
<CODE BEGINS> file "ietf-te-packet-types@2019-02-06.yang" <CODE BEGINS> file "ietf-te-packet-types@2019-04-08.yang"
module ietf-te-packet-types { module ietf-te-packet-types {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-packet-types"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-packet-types";
/* Replace with IANA when assigned */ /* Replace with IANA when assigned */
prefix "te-packet-types"; prefix "te-packet-types";
/* Import TE generic types */ /* Import TE generic types */
import ietf-te-types { import ietf-te-types {
prefix te-types; prefix te-types;
skipping to change at page 69, line 7 skipping to change at page 70, line 9
"WG Web: <http://tools.ietf.org/wg/teas/> "WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org> WG List: <mailto:teas@ietf.org>
WG Chair: Lou Berger WG Chair: Lou Berger
<mailto:lberger@labn.net> <mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net> <mailto:vbeeram@juniper.net>
Editor: Tarek Saad Editor: Tarek Saad
<mailto:tsaad@cisco.com> <mailto:tsaad@juniper.net>
Editor: Rakesh Gandhi Editor: Rakesh Gandhi
<mailto:rgandhi@cisco.com> <mailto:rgandhi@cisco.com>
Editor: Vishnu Pavan Beeram Editor: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net> <mailto:vbeeram@juniper.net>
Editor: Himanshu Shah Editor: Himanshu Shah
<mailto:hshah@ciena.com> <mailto:hshah@ciena.com>
skipping to change at page 69, line 50 skipping to change at page 70, line 52
(https://trustee.ietf.org/license-info). (https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note. // note.
// RFC Ed.: update the date below with the date of RFC publication // RFC Ed.: update the date below with the date of RFC publication
// and remove this note. // and remove this note.
revision "2019-02-06" { revision "2019-04-08" {
description "Latest revision of TE MPLS types"; description "Latest revision of TE MPLS types";
reference reference
"RFC XXXX: A YANG Data Model for Common Traffic Engineering "RFC XXXX: A YANG Data Model for Common Traffic Engineering
Types"; Types";
} }
/** /**
* Typedefs * Typedefs
*/ */
typedef te-bandwidth-requested-type { typedef te-bandwidth-requested-type {
skipping to change at page 81, line 11 skipping to change at page 82, line 11
Transport Networks Control", RFC 4328, Transport Networks Control", RFC 4328,
DOI 10.17487/RFC4328, January 2006, DOI 10.17487/RFC4328, January 2006,
<https://www.rfc-editor.org/info/rfc4328>. <https://www.rfc-editor.org/info/rfc4328>.
[RFC4427] Mannie, E., Ed. and D. Papadimitriou, Ed., "Recovery [RFC4427] Mannie, E., Ed. and D. Papadimitriou, Ed., "Recovery
(Protection and Restoration) Terminology for Generalized (Protection and Restoration) Terminology for Generalized
Multi-Protocol Label Switching (GMPLS)", RFC 4427, Multi-Protocol Label Switching (GMPLS)", RFC 4427,
DOI 10.17487/RFC4427, March 2006, DOI 10.17487/RFC4427, March 2006,
<https://www.rfc-editor.org/info/rfc4427>. <https://www.rfc-editor.org/info/rfc4427>.
[RFC4561] Vasseur, J., Ed., Ali, Z., and S. Sivabalan, "Definition
of a Record Route Object (RRO) Node-Id Sub-Object",
RFC 4561, DOI 10.17487/RFC4561, June 2006,
<https://www.rfc-editor.org/info/rfc4561>.
[RFC4657] Ash, J., Ed. and J. Le Roux, Ed., "Path Computation [RFC4657] Ash, J., Ed. and J. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol Generic Element (PCE) Communication Protocol Generic
Requirements", RFC 4657, DOI 10.17487/RFC4657, September Requirements", RFC 4657, DOI 10.17487/RFC4657, September
2006, <https://www.rfc-editor.org/info/rfc4657>. 2006, <https://www.rfc-editor.org/info/rfc4657>.
[RFC4736] Vasseur, JP., Ed., Ikejiri, Y., and R. Zhang, [RFC4736] Vasseur, JP., Ed., Ikejiri, Y., and R. Zhang,
"Reoptimization of Multiprotocol Label Switching (MPLS) "Reoptimization of Multiprotocol Label Switching (MPLS)
Traffic Engineering (TE) Loosely Routed Label Switched Traffic Engineering (TE) Loosely Routed Label Switched
Path (LSP)", RFC 4736, DOI 10.17487/RFC4736, November Path (LSP)", RFC 4736, DOI 10.17487/RFC4736, November
2006, <https://www.rfc-editor.org/info/rfc4736>. 2006, <https://www.rfc-editor.org/info/rfc4736>.
skipping to change at page 84, line 48 skipping to change at page 85, line 48
RSVP-TE Extensions for Lock Instruct and Loopback", RSVP-TE Extensions for Lock Instruct and Loopback",
RFC 7571, DOI 10.17487/RFC7571, July 2015, RFC 7571, DOI 10.17487/RFC7571, July 2015,
<https://www.rfc-editor.org/info/rfc7571>. <https://www.rfc-editor.org/info/rfc7571>.
[RFC7579] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and [RFC7579] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and
J. Han, "General Network Element Constraint Encoding for J. Han, "General Network Element Constraint Encoding for
GMPLS-Controlled Networks", RFC 7579, GMPLS-Controlled Networks", RFC 7579,
DOI 10.17487/RFC7579, June 2015, DOI 10.17487/RFC7579, June 2015,
<https://www.rfc-editor.org/info/rfc7579>. <https://www.rfc-editor.org/info/rfc7579>.
[RFC7810] Previdi, S., Ed., Giacalone, S., Ward, D., Drake, J., and
Q. Wu, "IS-IS Traffic Engineering (TE) Metric Extensions",
RFC 7810, DOI 10.17487/RFC7810, May 2016,
<https://www.rfc-editor.org/info/rfc7810>.
[RFC7823] Atlas, A., Drake, J., Giacalone, S., and S. Previdi, [RFC7823] Atlas, A., Drake, J., Giacalone, S., and S. Previdi,
"Performance-Based Path Selection for Explicitly Routed "Performance-Based Path Selection for Explicitly Routed
Label Switched Paths (LSPs) Using TE Metric Extensions", Label Switched Paths (LSPs) Using TE Metric Extensions",
RFC 7823, DOI 10.17487/RFC7823, May 2016, RFC 7823, DOI 10.17487/RFC7823, May 2016,
<https://www.rfc-editor.org/info/rfc7823>. <https://www.rfc-editor.org/info/rfc7823>.
[RFC8001] Zhang, F., Ed., Gonzalez de Dios, O., Ed., Margaria, C., [RFC8001] Zhang, F., Ed., Gonzalez de Dios, O., Ed., Margaria, C.,
Hartley, M., and Z. Ali, "RSVP-TE Extensions for Hartley, M., and Z. Ali, "RSVP-TE Extensions for
Collecting Shared Risk Link Group (SRLG) Information", Collecting Shared Risk Link Group (SRLG) Information",
RFC 8001, DOI 10.17487/RFC8001, January 2017, RFC 8001, DOI 10.17487/RFC8001, January 2017,
skipping to change at page 85, line 28 skipping to change at page 86, line 22
Y. Kamite, "RSVP Extensions for Reoptimization of Loosely Y. Kamite, "RSVP Extensions for Reoptimization of Loosely
Routed Point-to-Multipoint Traffic Engineering Label Routed Point-to-Multipoint Traffic Engineering Label
Switched Paths (LSPs)", RFC 8149, DOI 10.17487/RFC8149, Switched Paths (LSPs)", RFC 8149, DOI 10.17487/RFC8149,
April 2017, <https://www.rfc-editor.org/info/rfc8149>. April 2017, <https://www.rfc-editor.org/info/rfc8149>.
[RFC8169] Mirsky, G., Ruffini, S., Gray, E., Drake, J., Bryant, S., [RFC8169] Mirsky, G., Ruffini, S., Gray, E., Drake, J., Bryant, S.,
and A. Vainshtein, "Residence Time Measurement in MPLS and A. Vainshtein, "Residence Time Measurement in MPLS
Networks", RFC 8169, DOI 10.17487/RFC8169, May 2017, Networks", RFC 8169, DOI 10.17487/RFC8169, May 2017,
<https://www.rfc-editor.org/info/rfc8169>. <https://www.rfc-editor.org/info/rfc8169>.
[RFC8570] Ginsberg, L., Ed., Previdi, S., Ed., Giacalone, S., Ward,
D., Drake, J., and Q. Wu, "IS-IS Traffic Engineering (TE)
Metric Extensions", RFC 8570, DOI 10.17487/RFC8570, March
2019, <https://www.rfc-editor.org/info/rfc8570>.
Authors' Addresses Authors' Addresses
Tarek Saad Tarek Saad
Cisco Systems Inc Juniper Networks
Email: tsaad@cisco.com Email: tsaad@juniper.net
Rakesh Gandhi Rakesh Gandhi
Cisco Systems Inc Cisco Systems Inc
Email: rgandhi@cisco.com Email: rgandhi@cisco.com
Xufeng Liu Xufeng Liu
Volta Networks Volta Networks
Email: xufeng.liu.ietf@gmail.com Email: xufeng.liu.ietf@gmail.com
 End of changes. 88 change blocks. 
63 lines changed or deleted 112 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/