draft-ietf-teas-yang-te-types-10.txt   draft-ietf-teas-yang-te-types-11.txt 
TEAS Working Group T. Saad TEAS Working Group T. Saad
Internet-Draft Juniper Networks Internet-Draft Juniper Networks
Intended status: Standards Track R. Gandhi Intended status: Standards Track R. Gandhi
Expires: January 6, 2020 Cisco Systems Inc Expires: April 3, 2020 Cisco Systems Inc
X. Liu X. Liu
Volta Networks Volta Networks
V. Beeram V. Beeram
Juniper Networks Juniper Networks
I. Bryskin I. Bryskin
Huawei Technologies Huawei Technologies
July 05, 2019 October 01, 2019
Traffic Engineering Common YANG Types Traffic Engineering Common YANG Types
draft-ietf-teas-yang-te-types-10 draft-ietf-teas-yang-te-types-11
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 40 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 January 6, 2020. This Internet-Draft will expire on April 3, 2020.
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 21 skipping to change at page 2, line 21
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 . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. TE Types Module Contents . . . . . . . . . . . . . . . . 4 3.1. TE Types Module Contents . . . . . . . . . . . . . . . . 4
3.2. Packet TE Types Module Contents . . . . . . . . . . . . . 8 3.2. Packet TE Types Module Contents . . . . . . . . . . . . . 8
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 . . . . . . . . . . . . . . . . . 67
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 76 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 76
7. Security Considerations . . . . . . . . . . . . . . . . . . . 77 7. Security Considerations . . . . . . . . . . . . . . . . . . . 76
8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 77 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 77
9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 78 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 77
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 78 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 77
10.1. Normative References . . . . . . . . . . . . . . . . . . 78 10.1. Normative References . . . . . . . . . . . . . . . . . . 77
10.2. Informative References . . . . . . . . . . . . . . . . . 79 10.2. Informative References . . . . . . . . . . . . . . . . . 79
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 86 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 85
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 15 skipping to change at page 4, line 15
SF: Signal Fail SF: Signal Fail
WTR: Wait to Restore WTR: Wait to Restore
PM: Performance Metrics PM: Performance Metrics
3. Overview 3. Overview
This document defines two YANG modules for common TE types: ietf-te- This document defines two YANG modules for common TE types: ietf-te-
types for TE generic types and ietf-te-packet-types for packet types for TE generic types and ietf-te-packet-types for packet-
specific types. Other technology specific TE types are outside the specific types. Other technology-specific TE types are outside the
scope of this document. scope of this document.
3.1. TE Types Module Contents 3.1. TE Types Module Contents
The ietf-te-types module contains common TE types that are The ietf-te-types module contains common TE types that are
independent and agnostic of any specific technology or control plane independent and agnostic of any specific technology or control plane
instance. instance.
The ietf-te-types module contains the following YANG reusable types The ietf-te-types module contains the following YANG reusable types
and groupings: and groupings:
skipping to change at page 5, line 30 skipping to change at page 5, line 30
A type representing the identifier that uniquely identify an A type representing the identifier that uniquely identify an
operator, which can be either a provider or a client. The operator, which can be either a provider or a client. The
definition of this type is taken from [RFC6370] and [RFC5003]. definition of this type is taken from [RFC6370] and [RFC5003].
This attribute type is used solely to provide a globally unique This attribute type is used solely to provide a globally unique
context for TE topologies. context for TE topologies.
te-node-id: te-node-id:
A type representing the identifier for a node in a TE topology. A type representing the identifier for a node in a TE topology.
The identifier is represented as 32-bit unsigned integer in the The identifier is represented as 4 octets in dotted-quad notation.
dotted-quad notation. This attribute MAY be mapped to the Router This attribute MAY be mapped to the Router Address described in
Address described in Section 2.4.1 of [RFC3630], the TE Router ID Section 2.4.1 of [RFC3630], the TE Router ID described in
described in Section 3 of [RFC6827], the Traffic Engineering Section 3 of [RFC6827], the Traffic Engineering Router ID
Router ID described in Section 4.3 of [RFC5305], or the TE Router described in Section 4.3 of [RFC5305], or the TE Router ID
ID described in Section 3.2.1 of [RFC6119]. The reachability of described in Section 3.2.1 of [RFC6119]. The reachability of such
such a TE node MAY be achieved by a mechanism such as Section 6.2 a TE node MAY be achieved by a mechanism such as Section 6.2 of
of [RFC6827]. [RFC6827].
te-topology-id: te-topology-id:
A type representing the identifier for a topology. It is optional A type representing the identifier for a topology. It is optional
to have one or more prefixes at the beginning, separated by to have one or more prefixes at the beginning, separated by
colons. The prefixes can be the network-types, defined in ietf- colons. The prefixes can be the network-types, defined in ietf-
network [RFC8345], to help user to understand the topology better network [RFC8345], to help user to understand the topology better
before further inquiry. before further inquiry.
te-tp-id: te-tp-id:
skipping to change at page 6, line 22 skipping to change at page 6, line 22
A union type for TE link's classic or extended administrative A union type for TE link's classic or extended administrative
groups as defined in [RFC3630] and [RFC5305]. groups as defined in [RFC3630] and [RFC5305].
srlg: srlg:
A type representing the Shared Risk Link Group (SRLG) as defined A type representing the Shared Risk Link Group (SRLG) as defined
in [RFC4203] and [RFC5307]. in [RFC4203] and [RFC5307].
te-metric: te-metric:
A type representing the TE link metric as defined in [RFC3785]. A type representing the TE metric as defined in [RFC3785].
te-recovery-status: te-recovery-status:
An enumerated type for the different status of a recovery action An enumerated type for the different status of a recovery action
as defined in [RFC4427] and [RFC6378]. as defined in [RFC4427] and [RFC6378].
path-attribute-flags: path-attribute-flags:
A base YANG identity for supported LSP path flags as defined in A base YANG identity for supported LSP path flags as defined in
[RFC3209], [RFC4090], [RFC4736], [RFC5712], [RFC4920], [RFC5420], [RFC3209], [RFC4090], [RFC4736], [RFC5712], [RFC4920], [RFC5420],
skipping to change at page 8, line 8 skipping to change at page 8, line 8
in [RFC3209] and [RFC3477]. in [RFC3209] and [RFC3477].
te-link-access-type: te-link-access-type:
An enumerated type for the different TE link access types as An enumerated type for the different TE link access types as
defined in [RFC3630]. defined in [RFC3630].
3.2. Packet TE Types Module Contents 3.2. Packet TE Types Module Contents
The ietf-te-packet-types module covers the common types and groupings The ietf-te-packet-types module covers the common types and groupings
specific packet technology. that are specific to packet technology.
The ietf-te-packet-types module contains the following YANG reusable The ietf-te-packet-types module contains the following YANG reusable
types and groupings: types and groupings:
backup-protection-type: backup-protection-type:
A base YANG identity for supported protection types that a backup A base YANG identity for supported protection types that a backup
or bypass tunnel can provide as defined in [RFC4090]. or bypass tunnel can provide as defined in [RFC4090].
te-class-type: te-class-type:
skipping to change at page 8, line 41 skipping to change at page 8, line 41
constraint models as defined in [RFC4125], [RFC4126] and constraint models as defined in [RFC4125], [RFC4126] and
[RFC4127]. [RFC4127].
te-bandwidth-requested-type: te-bandwidth-requested-type:
An enumerated type for the different options to request bandwidth An enumerated type for the different options to request bandwidth
for a specific tunnel. for a specific tunnel.
performance-metrics-attributes-packet: performance-metrics-attributes-packet:
A YANG grouping for the augmentation of packet specific metrics to A YANG grouping that contains the generic performance metrics and
the generic performance metrics grouping parameters. additional packet specific metrics.
4. TE Types YANG Module 4. TE Types YANG Module
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], [RFC4090], [RFC4561] and [RFC7308], [RFC7551], [RFC7571], [RFC7579], [RFC4090], [RFC4561] and
[RFC7951]. [RFC7951], [G709].
<CODE BEGINS> file "ietf-te-types@2019-07-05.yang" <CODE BEGINS> file "ietf-te-types@2019-10-01.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 42 skipping to change at page 9, line 42
} }
organization organization
"IETF Traffic Engineering Architecture and Signaling (TEAS) "IETF Traffic Engineering Architecture and Signaling (TEAS)
Working Group"; Working Group";
contact contact
"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
<mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Editor: Tarek Saad Editor: Tarek Saad
<mailto:tsaad@juniper.net> <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
skipping to change at page 10, line 44 skipping to change at page 10, line 38
(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-07-05" { revision "2019-10-01" {
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 7 skipping to change at page 11, line 50
typedef performance-metrics-normality { typedef performance-metrics-normality {
type enumeration { type enumeration {
enum "unknown" { enum "unknown" {
value 0; value 0;
description description
"Unknown."; "Unknown.";
} }
enum "normal" { enum "normal" {
value 1; value 1;
description description
"Normal."; "Normal. Indicates anomalous bit is not set";
} }
enum "abnormal" { enum "abnormal" {
value 2; value 2;
description description
"Abnormal. The anomalous bit is set."; "Abnormal. Indicate that the anomalous bit is set.";
} }
} }
description description
"Indicates whether a performance metric is normal, abnormal, or "Indicates whether a performance metric is normal (anomalous
unknown."; bit not set, abnormal (anomalous bit set), or unknown.";
reference reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
RFC8570: IS-IS Traffic Engineering (TE) Metric Extensions. RFC8570: IS-IS Traffic Engineering (TE) Metric Extensions.
RFC7823: Performance-Based Path Selection for Explicitly RFC7823: Performance-Based Path Selection for Explicitly
Routed Label Switched Paths (LSPs) Using TE Metric Routed Label Switched Paths (LSPs) Using TE Metric
Extensions"; Extensions";
} }
typedef srlg { typedef srlg {
type uint32; type uint32;
description "SRLG type"; description "SRLG type";
reference "RFC4203 and RFC5307"; reference "RFC4203 and RFC5307";
} }
typedef te-admin-status { typedef te-common-status {
type enumeration { type enumeration {
enum up { enum up {
description description
"Enabled."; "Enabled.";
} }
enum down { enum down {
description description
"Disabled."; "Disabled.";
} }
enum testing { enum testing {
skipping to change at page 13, line 10 skipping to change at page 13, line 4
"Resource is disabled in the control plane to prepare for "Resource is disabled in the control plane to prepare for
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 { enum unknown {
description description
"Status is unknown"; "Status is unknown";
} }
} }
description description
"Defines a type representing the administrative status of "Defines a type representing the common states of a TE
a TE resource."; 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?))|'
+ '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|' + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|'
+ '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+' + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+'
+ '(,(0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' + '(,(0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
+ '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|' + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|'
+ '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+))*'; + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+))*';
} }
description description
"This is the generic bandwidth type that is a string containing "This is the generic bandwidth type that is a string containing
a list of numbers separated by commas, with each of these a list of numbers separated by commas, with each of these
number can be non-negative decimal, hex integer, or hex float: number can be non-negative decimal, hex integer, or hex float:
(dec | hex | float)[*(','(dec | hex | float))] (dec | hex | float)[*(','(dec | hex | float))]
For packet switching type, a float number is used, such as For packet switching type, the string encoding follows the
0x1p10. type bandwidth-ieee-float32 defined in RFC 8294 (e.g. 0x1p10).
For OTN switching type, a list of integers can be used, such For OTN switching type, a list of integers can be used, such
as '0,2,3,1', indicating 2 odu0's and 1 odu3. as '0,2,3,1', indicating 2 odu0's and 1 odu3.
For DWDM, a list of pairs of slot number and width can be For DWDM, a list of pairs of slot number and width can be
used, such as '0, 2, 3, 3', indicating a frequency slot 0 with used, such as '0,2,3,3', indicating a frequency slot 0 with
slot width 2 and a frequency slot 3 with slot width 3. slot width 2 and a frequency slot 3 with slot width 3.
Canonically, the string is represented as all lowercase and in Canonically, the string is represented as all lowercase and in
hex where the prefix '0x' precedes the hex number"; hex where the prefix '0x' precedes the hex number";
reference "RFC 8294, G709";
} // te-bandwidth } // te-bandwidth
typedef te-ds-class { typedef te-ds-class {
type uint8 { type uint8 {
range "0..7"; range '0..7';
} }
description description
"The Differentiated Class-Type of traffic."; "The Differentiated Class-Type of traffic.";
reference "RFC4124: section-4.3.1"; reference "RFC4124: section-4.3.1";
} }
typedef te-global-id { typedef te-global-id {
type uint32; type uint32;
description description
"An identifier to uniquely identify an operator, which can be "An identifier to uniquely identify an operator, which can be
skipping to change at page 15, line 37 skipping to change at page 15, line 33
description description
"explicit route represents an outgoing link on a node"; "explicit route represents an outgoing link on a node";
} }
} }
description description
"enumerated type for specifying direction of link on a node"; "enumerated type for specifying direction of link on a node";
} }
typedef te-metric { typedef te-metric {
type uint32; type uint32;
description "TE link metric"; description "TE metric";
reference "RFC3785"; reference "RFC3785";
} }
typedef te-node-id { typedef te-node-id {
type yang:dotted-quad; type yang:dotted-quad;
description description
"A type representing the identifier for a node in a TE "A type representing the identifier for a node in a TE
topology. topology.
The identifier is represented as 32-bit unsigned integer in The identifier is represented as 4 octets in dotted-quad
the dotted-quad notation. notation.
This attribute MAY be mapped to the Router Address described This attribute MAY be mapped to the Router Address described
in Section 2.4.1 of [RFC3630], the TE Router ID described in in Section 2.4.1 of [RFC3630], the TE Router ID described in
Section 3 of [RFC6827], the Traffic Engineering Router ID Section 3 of [RFC6827], the Traffic Engineering Router ID
described in Section 4.3 of [RFC5305], or the TE Router ID described in Section 4.3 of [RFC5305], or the TE Router ID
described in Section 3.2.1 of [RFC6119]. described in Section 3.2.1 of [RFC6119].
The reachability of such a TE node MAY be achieved by a The reachability of such a TE node MAY be achieved by a
mechanism such as Section 6.2 of [RFC6827]."; mechanism such as Section 6.2 of [RFC6827].";
} }
typedef te-oper-status { typedef te-oper-status {
type enumeration { type te-common-status;
enum up {
description
"Operational up.";
}
enum down {
description
"Operational down.";
}
enum testing {
description
"In some test mode.";
}
enum unknown {
description
"Status cannot be determined for some reason.";
}
enum preparing-maintenance {
description
"Resource is disabled in the control plane to prepare for
graceful shutdown for maintenance purposes.";
reference
"RFC5817: Graceful Shutdown in MPLS and Generalized MPLS
Traffic Engineering Networks";
}
enum maintenance {
description
"Resource is disabled in the data plane for maintenance
purposes.";
}
}
description description
"Defines a type representing the operational status of "Defines a type representing the operational status of
a TE resource."; a TE resource.";
} }
typedef te-admin-status {
type te-common-status;
description
"Defines a type representing the administrative status of
a TE resource.";
}
typedef te-path-disjointness { typedef te-path-disjointness {
type bits { type bits {
bit node { bit node {
position 0; position 0;
description "Node disjoint."; description "Node disjoint.";
} }
bit link { bit link {
position 1; position 1;
description "Link disjoint."; description "Link disjoint.";
skipping to change at page 21, line 15 skipping to change at page 20, line 32
identity session-attributes-flags { identity session-attributes-flags {
description description
"Base identity for the RSVP-TE session attributes flags"; "Base identity for the RSVP-TE session attributes flags";
} }
identity local-protection-desired { identity local-protection-desired {
base session-attributes-flags; base session-attributes-flags;
description "Fastreroute local protection is desired."; description "Fastreroute local protection is desired.";
reference "RFC3209"; reference "RFC3209";
} }
identity se-style-desired { identity se-style-desired {
base session-attributes-flags;
description description
"Shared explicit style to allow the LSP to be "Shared explicit style to allow the LSP to be
established sharing resources with the old LSP."; established sharing resources with the old LSP.";
reference "RFC3209"; reference "RFC3209";
} }
identity local-recording-desired { identity local-recording-desired {
base session-attributes-flags;
description "Local recording desired"; description "Local recording desired";
reference "RFC3209"; reference "RFC3209";
} }
identity bandwidth-protection-desired { identity bandwidth-protection-desired {
base session-attributes-flags; base session-attributes-flags;
description description
"Request FRR bandwidth protection on LSRs if "Request FRR bandwidth protection on LSRs if
present."; present.";
reference "RFC4090"; reference "RFC4090";
} }
skipping to change at page 23, line 33 skipping to change at page 23, line 5
is out-of-band , (e.g., via Border Gateway Protocol (BGP))"; is out-of-band , (e.g., via Border Gateway Protocol (BGP))";
reference "RFC6511, RFC7570"; reference "RFC6511, RFC7570";
} }
identity entropy-label-capability { identity entropy-label-capability {
base lsp-attributes-flags; base lsp-attributes-flags;
description "Indicates entropy label capability"; description "Indicates entropy label capability";
reference "RFC6790, RFC7570"; reference "RFC6790, RFC7570";
} }
identity oam-mep-entity-desired { identity oam-mep-entity-desired {
base lsp-attributes-flags; base lsp-attributes-flags;
description "OAM MEP entities desired"; description
"OAM Maintenance Entity Group End Point (MEP) entities desired";
reference "RFC7260"; reference "RFC7260";
} }
identity oam-mip-entity-desired { identity oam-mip-entity-desired {
base lsp-attributes-flags; base lsp-attributes-flags;
description "OAM MIP entities desired"; description
"OAM Maintenance Entity Group Intermediate Points (MIP)
entities desired";
reference "RFC7260"; reference "RFC7260";
} }
identity srlg-collection-desired { identity srlg-collection-desired {
base lsp-attributes-flags; base lsp-attributes-flags;
description "SRLG collection desired"; description "SRLG collection desired";
reference "RFC8001, RFC7570"; reference "RFC8001, RFC7570";
} }
identity loopback-desired { identity loopback-desired {
base lsp-attributes-flags; base lsp-attributes-flags;
description description
skipping to change at page 24, line 4 skipping to change at page 23, line 28
description "SRLG collection desired"; description "SRLG collection desired";
reference "RFC8001, RFC7570"; reference "RFC8001, RFC7570";
} }
identity loopback-desired { identity loopback-desired {
base lsp-attributes-flags; base lsp-attributes-flags;
description description
"This flag indicates a particular node on the LSP is "This flag indicates a particular node on the LSP is
required to enter loopback mode. This can also be required to enter loopback mode. This can also be
used for specifying the loopback state of the node."; used for specifying the loopback state of the node.";
reference "RFC7571"; reference "RFC7571";
} }
identity p2mp-te-tree-eval-request { identity p2mp-te-tree-eval-request {
base lsp-attributes-flags; base lsp-attributes-flags;
description "P2MP-TE tree re-evaluation request"; description "P2MP-TE tree re-evaluation request";
reference "RFC8149"; reference "RFC8149";
} }
identity rtm-set-desired { identity rtm-set-desired {
base lsp-attributes-flags; base lsp-attributes-flags;
description description
"Residence Time Measurement (RTM) attribute flag"; "Residence Time Measurement (RTM) attribute flag requested";
reference "RFC8169"; reference "RFC8169";
} }
identity link-protection-type { identity link-protection-type {
description "Base identity for link protection type."; description "Base identity for link protection type.";
} }
identity link-protection-unprotected { identity link-protection-unprotected {
base link-protection-type; base link-protection-type;
description "Unprotected link type"; description "Unprotected link type";
reference "RFC4872"; reference "RFC4872";
skipping to change at page 25, line 9 skipping to change at page 24, line 33
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";
} }
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 associate LSPs of
same tunnel for recovery"; same tunnel for recovery";
reference "RFC6780, 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 "RFC6780, RFC4873"; reference "RFC6780, RFC4873";
} }
skipping to change at page 26, line 46 skipping to change at page 26, line 21
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"; reference "RFC3272 section 5.4";
} }
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). The path that is
returned by the external source is not required to provide a returned by the external source may require further local
wholly resolved path back to the originating system - that is to computation on the device.";
say, some local computation may also be required"; reference "RFC4657, RFC3272";
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"; reference "RFC3209 and RFC3272";
} }
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
skipping to change at page 30, line 44 skipping to change at page 30, line 20
} }
identity lsp-state-down { identity lsp-state-down {
base lsp-state-type; base lsp-state-type;
description "State down"; description "State down";
} }
identity path-invalidation-action-type { identity path-invalidation-action-type {
description description
"Base identity for TE path invalidation action types"; "Base identity for TE path invalidation action types";
} }
identity path-invalidation-action-drop-type { identity path-invalidation-action-drop {
base path-invalidation-action-type; base path-invalidation-action-type;
description description
"TE path invalidation action drop"; "TE path invalidation action to drop";
reference "RFC3209 section 2.5";
} }
identity path-invalidation-action-drop-tear { identity path-invalidation-action-teardown {
base path-invalidation-action-type; base path-invalidation-action-type;
description description
"TE path invalidation action tear"; "TE path invalidation action teardown";
reference "RFC3209 section 2.5";
} }
identity lsp-restoration-type { identity lsp-restoration-type {
description description
"Base identity from which LSP restoration types are "Base identity from which LSP restoration types are
derived."; derived.";
} }
identity lsp-restoration-restore-any { identity lsp-restoration-restore-any {
base lsp-restoration-type; base lsp-restoration-type;
description description
skipping to change at page 41, line 27 skipping to change at page 41, line 4
"Unidirectional Residual Bandwidth, which is defined to be "Unidirectional Residual Bandwidth, which is defined to be
Maximum Bandwidth [RFC3630] minus the bandwidth currently Maximum Bandwidth [RFC3630] minus the bandwidth currently
allocated to LSPs."; allocated to LSPs.";
reference "RFC7471"; reference "RFC7471";
} }
identity path-metric-optimize-includes { identity path-metric-optimize-includes {
base path-metric-type; base path-metric-type;
description description
"A metric that optimizes the number of included resources "A metric that optimizes the number of included resources
specified in a set"; specified in a set";
} }
identity path-metric-optimize-excludes { identity path-metric-optimize-excludes {
base path-metric-type; base path-metric-type;
description description
"A metric that optimizes the number of excluded resources "A metric that optimizes to a maximum the number of excluded
specified in a set"; resources specified in a set";
} }
identity path-tiebreaker-type { identity path-tiebreaker-type {
description description
"Base identity for path tie-breaker type"; "Base identity for path tie-breaker type";
} }
identity path-tiebreaker-minfill { identity path-tiebreaker-minfill {
base path-tiebreaker-type; base path-tiebreaker-type;
description description
"Min-Fill LSP path placement"; "Min-Fill LSP path placement";
skipping to change at page 45, line 49 skipping to change at page 45, line 26
in this grouping is applicable to generic TE performance in this grouping is applicable to generic TE performance
metrics as well as packet TE performance metrics."; metrics as well as packet TE performance metrics.";
reference reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
RFC8570: IS-IS Traffic Engineering (TE) Metric Extensions. RFC8570: IS-IS Traffic Engineering (TE) Metric Extensions.
RFC7823: Performance-Based Path Selection for Explicitly RFC7823: Performance-Based Path Selection for Explicitly
Routed Label Switched Paths (LSPs) Using TE Metric Routed Label Switched Paths (LSPs) Using TE Metric
Extensions"; Extensions";
leaf one-way-delay { leaf one-way-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
description "One-way delay or latency in micro seconds."; description "One-way delay or latency in micro seconds.";
} }
leaf one-way-delay-normality { leaf one-way-delay-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
description "One-way delay normality."; description "One-way delay normality.";
} }
} }
grouping performance-metrics-two-way-delay-loss { grouping performance-metrics-two-way-delay-loss {
description description
"Performance metric information in real time that can "Performance metric information in real time that can
skipping to change at page 46, line 26 skipping to change at page 45, line 50
in this grouping is applicable to generic TE performance in this grouping is applicable to generic TE performance
metrics as well as packet TE performance metrics."; metrics as well as packet TE performance metrics.";
reference reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
RFC8570: IS-IS Traffic Engineering (TE) Metric Extensions. RFC8570: IS-IS Traffic Engineering (TE) Metric Extensions.
RFC7823: Performance-Based Path Selection for Explicitly RFC7823: Performance-Based Path Selection for Explicitly
Routed Label Switched Paths (LSPs) Using TE Metric Routed Label Switched Paths (LSPs) Using TE Metric
Extensions"; Extensions";
leaf two-way-delay { leaf two-way-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
description "Two-way delay or latency in micro seconds."; description "Two-way delay or latency in micro seconds.";
} }
leaf two-way-delay-normality { leaf two-way-delay-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
description "Two-way delay normality."; description "Two-way delay normality.";
} }
} }
grouping performance-metrics-one-way-bandwidth { grouping performance-metrics-one-way-bandwidth {
skipping to change at page 47, line 51 skipping to change at page 47, line 28
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';
} }
default 0; default 0;
description "One-way delay or latency in micro seconds."; description "One-way delay or latency in micro seconds.";
} }
leaf one-way-residual-bandwidth { leaf one-way-residual-bandwidth {
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)
skipping to change at page 48, line 45 skipping to change at page 48, line 21
be the sum of the component link bandwidth be the sum of the component link bandwidth
utilizations."; utilizations.";
} }
} }
grouping two-way-performance-metrics { grouping two-way-performance-metrics {
description description
"Two-way performance metrics throttle grouping."; "Two-way performance metrics throttle grouping.";
leaf two-way-delay { leaf two-way-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description "Two-way delay or latency in micro seconds."; description "Two-way delay or latency in micro seconds.";
} }
} }
grouping performance-metrics-thresholds { grouping performance-metrics-thresholds {
description description
"Grouping for configurable thresholds for measured attributes"; "Grouping for configurable thresholds for measured attributes";
uses one-way-performance-metrics; uses one-way-performance-metrics;
skipping to change at page 50, line 13 skipping to change at page 49, line 38
description description
"Link performance information in real time."; "Link performance information in real time.";
reference reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
RFC8570: IS-IS Traffic Engineering (TE) Metric Extensions. RFC8570: IS-IS Traffic Engineering (TE) Metric Extensions.
RFC7823: Performance-Based Path Selection for Explicitly RFC7823: Performance-Based Path Selection for Explicitly
Routed Label Switched Paths (LSPs) Using TE Metric Routed Label Switched Paths (LSPs) Using TE Metric
Extensions"; Extensions";
leaf one-way-delay-offset { leaf one-way-delay-offset {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description description
"Offset value to be added to the measured delay value."; "Offset value to be added to the measured delay value.";
} }
leaf measure-interval { leaf measure-interval {
type uint32; type uint32;
default 30; default 30;
description description
"Interval in seconds to measure the extended metric "Interval in seconds to measure the extended metric
skipping to change at page 50, line 35 skipping to change at page 50, line 12
} }
leaf advertisement-interval { leaf advertisement-interval {
type uint32; type uint32;
default 0; default 0;
description description
"Interval in seconds to advertise the extended metric "Interval in seconds to advertise the extended metric
values."; values.";
} }
leaf suppression-interval { leaf suppression-interval {
type uint32 { type uint32 {
range "1 .. max"; range '1 .. max';
} }
default 120; default 120;
description description
"Interval in seconds to suppress advertising the extended "Interval in seconds to suppress advertising the extended
metric values."; metric values.";
reference "RFC 7810, Section-6";
} }
container threshold-out { container threshold-out {
uses performance-metrics-thresholds; uses performance-metrics-thresholds;
description description
"If the measured parameter falls outside an upper bound "If the measured parameter falls outside an upper bound
for all but the min delay metric (or lower bound for for all but the min delay metric (or lower bound for
min-delay metric only) and the advertised value is not min-delay metric only) and the advertised value is not
already outside that bound, anomalous announcement will be already outside that bound, anomalous announcement will be
triggered."; triggered.";
} }
skipping to change at page 59, line 22 skipping to change at page 58, line 47
description description
"Link protection type required for the links included "Link protection type required for the links included
in the computed path"; 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;
description description
"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;
} }
skipping to change at page 66, line 13 skipping to change at page 65, line 39
leaf usage { leaf usage {
type identityref { type identityref {
base route-usage-type; base route-usage-type;
} }
description description
"Identifies an entry of list of named SRLGs to either "Identifies an entry of list of named SRLGs to either
include or exclude"; include or exclude";
} }
leaf-list names { leaf-list names {
type string; type string;
description "List named SRLGs"; description "List of named SRLGs";
} }
} }
} }
} }
grouping generic-path-disjointness { grouping generic-path-disjointness {
description "Path disjointness grouping"; description "Path disjointness grouping";
leaf disjointness { leaf disjointness {
type te-path-disjointness; type te-path-disjointness;
description description
"The type of resource disjointness. "The type of resource disjointness.
Under primary path, disjointness level applies to When configured for a primary path, the disjointness level
all secondary LSPs. Under secondary, disjointness applies to all secondary LSPs. When configured for a secondary
level overrides the one under primary"; path, disjointness level overrides the one configured for the
primary path";
} }
} }
grouping common-path-constraints-attributes { grouping common-path-constraints-attributes {
description description
"Common path constraints configuration grouping"; "Common path constraints configuration grouping";
uses common-constraints; uses common-constraints;
uses generic-path-metric-bounds; uses generic-path-metric-bounds;
uses generic-path-affinities; uses generic-path-affinities;
uses generic-path-srlgs; uses generic-path-srlgs;
skipping to change at page 68, line 11 skipping to change at page 67, line 36
<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-07-05.yang" <CODE BEGINS> file "ietf-te-packet-types@2019-10-01.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 68, line 26 skipping to change at page 68, line 4
/* 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;
reference reference
"RFC XXXX: A YANG Data Model for Common Traffic Engineering "RFC XXXX: A YANG Data Model for Common Traffic Engineering
Types"; Types";
} }
organization organization
"IETF TEAS Working Group"; "IETF TEAS Working Group";
contact contact
"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
<mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Editor: Tarek Saad Editor: Tarek Saad
<mailto:tsaad@juniper.net> <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
skipping to change at page 69, line 35 skipping to change at page 69, line 8
(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-07-05" { revision "2019-10-01" {
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 70, line 26 skipping to change at page 69, line 47
"Diffserv-TE class-type that defines a set of Traffic "Diffserv-TE class-type that defines a set of Traffic
Trunks crossing a link that is governed by a specific Trunks crossing a link that is governed by a specific
set of bandwidth constraints. CT is used for the set of bandwidth constraints. CT is used for the
purposes of link bandwidth allocation, constraint- purposes of link bandwidth allocation, constraint-
based routing and admission control."; based routing and admission control.";
reference "RFC4124: Protocols for Diffserv-aware TE"; reference "RFC4124: Protocols for Diffserv-aware TE";
} }
typedef bc-type { typedef bc-type {
type uint8 { type uint8 {
range "0..7"; range '0..7';
} }
description description
"Diffserv-TE bandwidth constraint as defined in RFC4124"; "Diffserv-TE bandwidth constraint as defined in RFC4124";
reference "RFC4124: Protocols for Diffserv-aware TE"; reference "RFC4124: Protocols for Diffserv-aware TE";
} }
typedef bandwidth-kbps { typedef bandwidth-kbps {
type uint64; type uint64;
units "Kbps"; units "Kbps";
description description
"Bandwidth values expressed in kilobits per second"; "Bandwidth values expressed in kilobits per second";
} }
typedef bandwidth-mbps { typedef bandwidth-mbps {
type uint64; type uint64;
units "Mbps"; units "Mbps";
skipping to change at page 72, line 4 skipping to change at page 71, line 23
reference "RFC4125: Maximum Allocation Model for DS-TE"; reference "RFC4125: Maximum Allocation Model for DS-TE";
} }
identity bc-model-mar { identity bc-model-mar {
base bc-model-type; base bc-model-type;
description description
"Maximum Allocation with Reservation "Maximum Allocation with Reservation
bandwidth constraint model type."; bandwidth constraint model type.";
reference "RFC4126: MAR Bandwidth Constraints Model for DS-TE"; reference "RFC4126: MAR Bandwidth Constraints Model for DS-TE";
} }
grouping performance-metrics-attributes-packet { grouping performance-metrics-attributes-packet {
description description
"A container containing performance metric attributes."; "A container containing performance metric attributes.";
uses te-types:performance-metrics-attributes { uses te-types:performance-metrics-attributes {
augment performance-metrics-one-way { augment performance-metrics-one-way {
leaf one-way-min-delay { leaf one-way-min-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
description description
"One-way minimum delay or latency in micro seconds."; "One-way minimum delay or latency in micro seconds.";
} }
leaf one-way-min-delay-normality { leaf one-way-min-delay-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default "normal";
description "One-way minimum delay or latency normality."; description "One-way minimum delay or latency normality.";
} }
leaf one-way-max-delay { leaf one-way-max-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
description description
"One-way maximum delay or latency in micro seconds."; "One-way maximum delay or latency in micro seconds.";
} }
leaf one-way-max-delay-normality { leaf one-way-max-delay-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default "normal";
description "One-way maximum delay or latency normality."; description "One-way maximum delay or latency normality.";
} }
leaf one-way-delay-variation { leaf one-way-delay-variation {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
description "One-way delay variation in micro seconds."; description "One-way delay variation in micro seconds.";
} }
leaf one-way-delay-variation-normality { leaf one-way-delay-variation-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default "normal";
description "One-way delay variation normality."; description "One-way delay variation normality.";
} }
leaf one-way-packet-loss { leaf one-way-packet-loss {
type decimal64 { type decimal64 {
fraction-digits 6; fraction-digits 6;
range "0 .. 50.331642"; range '0 .. 50.331642';
} }
description description
"One-way packet loss as a percentage of the total traffic "One-way packet loss as a percentage of the total traffic
sent over a configurable interval. The finest precision is sent over a configurable interval. The finest precision is
0.000003%."; 0.000003%. where the maximum 50.331642%.";
reference "RFC 7810, section-4.4";
} }
leaf one-way-packet-loss-normality { leaf one-way-packet-loss-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default "normal";
description "Packet loss normality."; description "Packet loss normality.";
} }
description description
"PM one-way packet specific augmentation to generic PM "PM one-way packet specific augmentation to generic PM
grouping"; grouping";
} }
augment performance-metrics-two-way { augment performance-metrics-two-way {
leaf two-way-min-delay { leaf two-way-min-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description description
"Two-way minimum delay or latency in micro seconds."; "Two-way minimum delay or latency in micro seconds.";
} }
leaf two-way-min-delay-normality { leaf two-way-min-delay-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default "normal";
description "Two-way minimum delay or latency normality."; description "Two-way minimum delay or latency normality.";
} }
leaf two-way-max-delay { leaf two-way-max-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description description
"Two-way maximum delay or latency in micro seconds."; "Two-way maximum delay or latency in micro seconds.";
} }
leaf two-way-max-delay-normality { leaf two-way-max-delay-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default "normal";
description "Two-way maximum delay or latency normality."; description "Two-way maximum delay or latency normality.";
} }
leaf two-way-delay-variation { leaf two-way-delay-variation {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description "Two-way delay variation in micro seconds."; description "Two-way delay variation in micro seconds.";
} }
leaf two-way-delay-variation-normality { leaf two-way-delay-variation-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default "normal";
description "Two-way delay variation normality."; description "Two-way delay variation normality.";
} }
leaf two-way-packet-loss { leaf two-way-packet-loss {
type decimal64 { type decimal64 {
fraction-digits 6; fraction-digits 6;
range "0 .. 50.331642"; range '0 .. 50.331642';
} }
default 0; default 0;
description description
"Two-way packet loss as a percentage of the total traffic "Two-way packet loss as a percentage of the total traffic
sent over a configurable interval. The finest precision is sent over a configurable interval. The finest precision is
0.000003%."; 0.000003%.";
} }
leaf two-way-packet-loss-normality { leaf two-way-packet-loss-normality {
type te-types:performance-metrics-normality; type te-types:performance-metrics-normality;
default "normal"; default "normal";
skipping to change at page 74, line 34 skipping to change at page 74, line 7
grouping"; grouping";
} }
} }
} }
grouping one-way-performance-metrics-packet { grouping one-way-performance-metrics-packet {
description description
"One-way packet performance metrics throttle grouping."; "One-way packet performance metrics throttle grouping.";
leaf one-way-min-delay { leaf one-way-min-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description "One-way minimum delay or latency in micro seconds."; description "One-way minimum delay or latency in micro seconds.";
} }
leaf one-way-max-delay { leaf one-way-max-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description "One-way maximum delay or latency in micro seconds."; description "One-way maximum delay or latency in micro seconds.";
} }
leaf one-way-delay-variation { leaf one-way-delay-variation {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description "One-way delay variation in micro seconds."; description "One-way delay variation in micro seconds.";
} }
leaf one-way-packet-loss { leaf one-way-packet-loss {
type decimal64 { type decimal64 {
fraction-digits 6; fraction-digits 6;
range "0 .. 50.331642"; range '0 .. 50.331642';
} }
default 0; default 0;
description description
"One-way packet loss as a percentage of the total traffic sent "One-way packet loss as a percentage of the total traffic sent
over a configurable interval. The finest precision is over a configurable interval. The finest precision is
0.000003%."; 0.000003%.";
} }
} }
grouping two-way-performance-metrics-packet { grouping two-way-performance-metrics-packet {
description description
"Two-way packet performance metrics throttle grouping."; "Two-way packet performance metrics throttle grouping.";
leaf two-way-min-delay { leaf two-way-min-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description "Two-way minimum delay or latency in micro seconds."; description "Two-way minimum delay or latency in micro seconds.";
} }
leaf two-way-max-delay { leaf two-way-max-delay {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description "Two-way maximum delay or latency in micro seconds."; description "Two-way maximum delay or latency in micro seconds.";
} }
leaf two-way-delay-variation { leaf two-way-delay-variation {
type uint32 { type uint32 {
range 0..16777215; range '0..16777215';
} }
default 0; default 0;
description "Two-way delay variation in micro seconds."; description "Two-way delay variation in micro seconds.";
} }
leaf two-way-packet-loss { leaf two-way-packet-loss {
type decimal64 { type decimal64 {
fraction-digits 6; fraction-digits 6;
range "0 .. 50.331642"; range '0 .. 50.331642';
} }
default 0; default 0;
description description
"Two-way packet loss as a percentage of the total traffic sent "Two-way packet loss as a percentage of the total traffic sent
over a configurable interval. The finest precision is over a configurable interval. The finest precision is
0.000003%."; 0.000003%.";
} }
} }
grouping performance-metrics-throttle-container-packet { grouping performance-metrics-throttle-container-packet {
description description
"Packet performance metrics threshold grouping"; "Packet performance metrics threshold grouping";
uses te-types:performance-metrics-throttle-container { uses te-types:performance-metrics-throttle-container {
augment "throttle/threshold-out" { augment "throttle/threshold-out" {
uses one-way-performance-metrics-packet; uses one-way-performance-metrics-packet;
uses two-way-performance-metrics-packet; uses two-way-performance-metrics-packet;
skipping to change at page 79, line 38 skipping to change at page 79, line 11
Ananthakrishnan, H., and X. Liu, "A YANG Data Model for Ananthakrishnan, H., and X. Liu, "A YANG Data Model for
Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March
2018, <https://www.rfc-editor.org/info/rfc8345>. 2018, <https://www.rfc-editor.org/info/rfc8345>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>. <https://www.rfc-editor.org/info/rfc8446>.
10.2. Informative References 10.2. Informative References
[G709] "G.709: Interfaces for the optical transport network",
June 2016, <https://www.itu.int/rec/T-REC-G.709>.
[RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J. [RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J.
McManus, "Requirements for Traffic Engineering Over MPLS", McManus, "Requirements for Traffic Engineering Over MPLS",
RFC 2702, DOI 10.17487/RFC2702, September 1999, RFC 2702, DOI 10.17487/RFC2702, September 1999,
<https://www.rfc-editor.org/info/rfc2702>. <https://www.rfc-editor.org/info/rfc2702>.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
<https://www.rfc-editor.org/info/rfc3209>. <https://www.rfc-editor.org/info/rfc3209>.
 End of changes. 90 change blocks. 
142 lines changed or deleted 116 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/