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/ |