mirror of
https://github.com/Telecominfraproject/oopt-gnpy-api.git
synced 2025-10-29 09:02:39 +00:00
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com> Change-Id: I44c9c96c58fabb79e2b569f7b404036b475b4fde
3459 lines
102 KiB
YANG
Executable File
3459 lines
102 KiB
YANG
Executable File
module ietf-te-types {
|
|
yang-version 1.1;
|
|
namespace "urn:ietf:params:xml:ns:yang:ietf-te-types";
|
|
prefix te-types;
|
|
|
|
import ietf-inet-types {
|
|
prefix inet;
|
|
reference
|
|
"RFC 6991: Common YANG Data Types";
|
|
}
|
|
import ietf-yang-types {
|
|
prefix yang;
|
|
reference
|
|
"RFC 6991: Common YANG Data Types";
|
|
}
|
|
import ietf-routing-types {
|
|
prefix rt-types;
|
|
reference
|
|
"RFC 8294: Common YANG Data Types for the Routing Area";
|
|
}
|
|
|
|
organization
|
|
"IETF Traffic Engineering Architecture and Signaling (TEAS)
|
|
Working Group";
|
|
contact
|
|
"WG Web: <https://datatracker.ietf.org/wg/teas/>
|
|
WG List: <mailto:teas@ietf.org>
|
|
|
|
Editor: Tarek Saad
|
|
<mailto:tsaad@juniper.net>
|
|
|
|
Editor: Rakesh Gandhi
|
|
<mailto:rgandhi@cisco.com>
|
|
|
|
Editor: Vishnu Pavan Beeram
|
|
<mailto:vbeeram@juniper.net>
|
|
|
|
Editor: Xufeng Liu
|
|
<mailto:xufeng.liu.ietf@gmail.com>
|
|
|
|
Editor: Igor Bryskin
|
|
<mailto:i_bryskin@yahoo.com>";
|
|
description
|
|
"This YANG module contains a collection of generally useful
|
|
YANG data type definitions specific to TE. The model fully
|
|
conforms to the Network Management Datastore Architecture
|
|
(NMDA).
|
|
|
|
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
|
|
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
|
|
'MAY', and 'OPTIONAL' in this document are to be interpreted as
|
|
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
|
|
they appear in all capitals, as shown here.
|
|
|
|
Copyright (c) 2020 IETF Trust and the persons identified as
|
|
authors of the code. All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or
|
|
without modification, is permitted pursuant to, and subject to
|
|
the license terms contained in, the Simplified BSD License set
|
|
forth in Section 4.c of the IETF Trust's Legal Provisions
|
|
Relating to IETF Documents
|
|
(https://trustee.ietf.org/license-info).
|
|
|
|
This version of this YANG module is part of RFC 8776; see the
|
|
RFC itself for full legal notices.";
|
|
|
|
revision 2022-10-21 {
|
|
description
|
|
"te-tp-id: add inet:uri for consistency with tp-id in ietf-network-topology@2018-02-26.yang";
|
|
}
|
|
|
|
revision 2021-02-13 {
|
|
description
|
|
"te-topology-id: invert order of params in union for typedef te-topology-id because of mdsal bug ";
|
|
}
|
|
|
|
revision 2020-11-26 {
|
|
description
|
|
"te-topology-id: workaround for typedef from another typedef which is of type enum because of mdsal bug ";
|
|
}
|
|
|
|
revision 2020-06-10 {
|
|
description
|
|
"Latest revision of TE types.";
|
|
reference
|
|
"RFC 8776: Common YANG Data Types for Traffic Engineering";
|
|
}
|
|
|
|
/**
|
|
* Typedefs
|
|
*/
|
|
|
|
typedef admin-group {
|
|
type yang:hex-string {
|
|
/* 01:02:03:04 */
|
|
length "1..11";
|
|
}
|
|
description
|
|
"Administrative group / resource class / color representation
|
|
in 'hex-string' type.
|
|
The most significant byte in the hex-string is the farthest
|
|
to the left in the byte sequence. Leading zero bytes in the
|
|
configured value may be omitted for brevity.";
|
|
reference
|
|
"RFC 3630: Traffic Engineering (TE) Extensions to OSPF
|
|
Version 2
|
|
RFC 5305: IS-IS Extensions for Traffic Engineering
|
|
RFC 7308: Extended Administrative Groups in MPLS Traffic
|
|
Engineering (MPLS-TE)";
|
|
}
|
|
|
|
typedef admin-groups {
|
|
type union {
|
|
type admin-group;
|
|
type extended-admin-group;
|
|
}
|
|
description
|
|
"Derived types for TE administrative groups.";
|
|
}
|
|
|
|
typedef extended-admin-group {
|
|
type yang:hex-string;
|
|
description
|
|
"Extended administrative group / resource class / color
|
|
representation in 'hex-string' type.
|
|
The most significant byte in the hex-string is the farthest
|
|
to the left in the byte sequence. Leading zero bytes in the
|
|
configured value may be omitted for brevity.";
|
|
reference
|
|
"RFC 7308: Extended Administrative Groups in MPLS Traffic
|
|
Engineering (MPLS-TE)";
|
|
}
|
|
|
|
typedef path-attribute-flags {
|
|
type union {
|
|
type identityref {
|
|
base session-attributes-flags;
|
|
}
|
|
type identityref {
|
|
base lsp-attributes-flags;
|
|
}
|
|
}
|
|
description
|
|
"Path attributes flags type.";
|
|
}
|
|
|
|
typedef performance-metrics-normality {
|
|
type enumeration {
|
|
enum unknown {
|
|
value 0;
|
|
description
|
|
"Unknown.";
|
|
}
|
|
enum normal {
|
|
value 1;
|
|
description
|
|
"Normal. Indicates that the anomalous bit is not set.";
|
|
}
|
|
enum abnormal {
|
|
value 2;
|
|
description
|
|
"Abnormal. Indicates that the anomalous bit is set.";
|
|
}
|
|
}
|
|
description
|
|
"Indicates whether a performance metric is normal (anomalous
|
|
bit not set), abnormal (anomalous bit set), or unknown.";
|
|
reference
|
|
"RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
|
|
RFC 7823: Performance-Based Path Selection for Explicitly
|
|
Routed Label Switched Paths (LSPs) Using TE Metric
|
|
Extensions
|
|
RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
|
|
}
|
|
|
|
typedef srlg {
|
|
type uint32;
|
|
description
|
|
"SRLG type.";
|
|
reference
|
|
"RFC 4203: OSPF Extensions in Support of Generalized
|
|
Multi-Protocol Label Switching (GMPLS)
|
|
RFC 5307: IS-IS Extensions in Support of Generalized
|
|
Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
typedef te-common-status {
|
|
type enumeration {
|
|
enum up {
|
|
description
|
|
"Enabled.";
|
|
}
|
|
enum down {
|
|
description
|
|
"Disabled.";
|
|
}
|
|
enum testing {
|
|
description
|
|
"In some test mode.";
|
|
}
|
|
enum preparing-maintenance {
|
|
description
|
|
"The resource is disabled in the control plane to prepare
|
|
for a graceful shutdown for maintenance purposes.";
|
|
reference
|
|
"RFC 5817: Graceful Shutdown in MPLS and Generalized MPLS
|
|
Traffic Engineering Networks";
|
|
}
|
|
enum maintenance {
|
|
description
|
|
"The resource is disabled in the data plane for maintenance
|
|
purposes.";
|
|
}
|
|
enum unknown {
|
|
description
|
|
"Status is unknown.";
|
|
}
|
|
}
|
|
description
|
|
"Defines a type representing the common states of a TE
|
|
resource.";
|
|
}
|
|
|
|
typedef te-bandwidth {
|
|
type string {
|
|
pattern '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
|
|
+ '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+'
|
|
+ '(,(0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
|
|
+ '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+))*';
|
|
}
|
|
description
|
|
"This is the generic bandwidth type. It is a string containing
|
|
a list of numbers separated by commas, where each of these
|
|
numbers can be non-negative decimal, hex integer, or
|
|
hex float:
|
|
|
|
(dec | hex | float)[*(','(dec | hex | float))]
|
|
|
|
For the packet-switching type, the string encoding follows
|
|
the type 'bandwidth-ieee-float32' as defined in RFC 8294
|
|
(e.g., 0x1p10), where the units are in bytes per second.
|
|
|
|
For the Optical Transport Network (OTN) switching type,
|
|
a list of integers can be used, such as '0,2,3,1', indicating
|
|
two ODU0s and one ODU3. ('ODU' stands for 'Optical Data
|
|
Unit'.) For Dense Wavelength Division Multiplexing (DWDM),
|
|
a list of pairs of slot numbers and widths can be 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.
|
|
Canonically, the string is represented as all lowercase and in
|
|
hex, where the prefix '0x' precedes the hex number.";
|
|
reference
|
|
"RFC 8294: Common YANG Data Types for the Routing Area
|
|
ITU-T Recommendation G.709: Interfaces for the
|
|
optical transport network";
|
|
}
|
|
|
|
typedef te-ds-class {
|
|
type uint8 {
|
|
range "0..7";
|
|
}
|
|
description
|
|
"The Differentiated Services Class-Type of traffic.";
|
|
reference
|
|
"RFC 4124: Protocol Extensions for Support of Diffserv-aware
|
|
MPLS Traffic Engineering, Section 4.3.1";
|
|
}
|
|
|
|
typedef te-global-id {
|
|
type uint32;
|
|
description
|
|
"An identifier to uniquely identify an operator, which can be
|
|
either a provider or a client.
|
|
The definition of this type is taken from RFCs 6370 and 5003.
|
|
This attribute type is used solely to provide a globally
|
|
unique context for TE topologies.";
|
|
reference
|
|
"RFC 5003: Attachment Individual Identifier (AII) Types for
|
|
Aggregation
|
|
RFC 6370: MPLS Transport Profile (MPLS-TP) Identifiers";
|
|
}
|
|
|
|
typedef te-hop-type {
|
|
type enumeration {
|
|
enum loose {
|
|
description
|
|
"A loose hop in an explicit path.";
|
|
}
|
|
enum strict {
|
|
description
|
|
"A strict hop in an explicit path.";
|
|
}
|
|
}
|
|
description
|
|
"Enumerated type for specifying loose or strict paths.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
|
|
Section 4.3.3";
|
|
}
|
|
|
|
typedef te-link-access-type {
|
|
type enumeration {
|
|
enum point-to-point {
|
|
description
|
|
"The link is point-to-point.";
|
|
}
|
|
enum multi-access {
|
|
description
|
|
"The link is multi-access, including broadcast and NBMA.";
|
|
}
|
|
}
|
|
description
|
|
"Defines a type representing the access type of a TE link.";
|
|
reference
|
|
"RFC 3630: Traffic Engineering (TE) Extensions to OSPF
|
|
Version 2";
|
|
}
|
|
|
|
typedef te-label-direction {
|
|
type enumeration {
|
|
enum forward {
|
|
description
|
|
"Label allocated for the forward LSP direction.";
|
|
}
|
|
enum reverse {
|
|
description
|
|
"Label allocated for the reverse LSP direction.";
|
|
}
|
|
}
|
|
description
|
|
"Enumerated type for specifying the forward or reverse
|
|
label.";
|
|
}
|
|
|
|
typedef te-link-direction {
|
|
type enumeration {
|
|
enum incoming {
|
|
description
|
|
"The explicit route represents an incoming link on
|
|
a node.";
|
|
}
|
|
enum outgoing {
|
|
description
|
|
"The explicit route represents an outgoing link on
|
|
a node.";
|
|
}
|
|
}
|
|
description
|
|
"Enumerated type for specifying the direction of a link on
|
|
a node.";
|
|
}
|
|
|
|
typedef te-metric {
|
|
type uint32;
|
|
description
|
|
"TE metric.";
|
|
reference
|
|
"RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a
|
|
second MPLS Traffic Engineering (TE) Metric";
|
|
}
|
|
|
|
typedef te-node-id {
|
|
type yang:dotted-quad;
|
|
description
|
|
"A type representing the identifier for a node in a TE
|
|
topology.
|
|
The identifier is represented as 4 octets in dotted-quad
|
|
notation.
|
|
This attribute MAY be mapped to the Router Address TLV
|
|
described in Section 2.4.1 of RFC 3630, the TE Router ID
|
|
described in Section 3 of RFC 6827, the Traffic Engineering
|
|
Router ID TLV described in Section 4.3 of RFC 5305, or the
|
|
TE Router ID TLV described in Section 3.2.1 of RFC 6119.
|
|
The reachability of such a TE node MAY be achieved by a
|
|
mechanism such as that described in Section 6.2 of RFC 6827.";
|
|
reference
|
|
"RFC 3630: Traffic Engineering (TE) Extensions to OSPF
|
|
Version 2, Section 2.4.1
|
|
RFC 5305: IS-IS Extensions for Traffic Engineering,
|
|
Section 4.3
|
|
RFC 6119: IPv6 Traffic Engineering in IS-IS, Section 3.2.1
|
|
RFC 6827: Automatically Switched Optical Network (ASON)
|
|
Routing for OSPFv2 Protocols, Section 3";
|
|
}
|
|
|
|
typedef te-oper-status {
|
|
type enumeration {
|
|
enum up {
|
|
description
|
|
"Enabled.";
|
|
}
|
|
enum down {
|
|
description
|
|
"Disabled.";
|
|
}
|
|
enum testing {
|
|
description
|
|
"In some test mode.";
|
|
}
|
|
enum preparing-maintenance {
|
|
description
|
|
"The resource is disabled in the control plane to prepare
|
|
for a graceful shutdown for maintenance purposes.";
|
|
reference
|
|
"RFC 5817: Graceful Shutdown in MPLS and Generalized MPLS
|
|
Traffic Engineering Networks";
|
|
}
|
|
enum maintenance {
|
|
description
|
|
"The resource is disabled in the data plane for maintenance
|
|
purposes.";
|
|
}
|
|
enum unknown {
|
|
description
|
|
"Status is unknown.";
|
|
}
|
|
}
|
|
description
|
|
"Defines a type representing the operational status of
|
|
a TE resource.";
|
|
}
|
|
|
|
typedef te-admin-status {
|
|
type enumeration {
|
|
enum up {
|
|
description
|
|
"Enabled.";
|
|
}
|
|
enum down {
|
|
description
|
|
"Disabled.";
|
|
}
|
|
enum testing {
|
|
description
|
|
"In some test mode.";
|
|
}
|
|
enum preparing-maintenance {
|
|
description
|
|
"The resource is disabled in the control plane to prepare
|
|
for a graceful shutdown for maintenance purposes.";
|
|
reference
|
|
"RFC 5817: Graceful Shutdown in MPLS and Generalized MPLS
|
|
Traffic Engineering Networks";
|
|
}
|
|
enum maintenance {
|
|
description
|
|
"The resource is disabled in the data plane for maintenance
|
|
purposes.";
|
|
}
|
|
enum unknown {
|
|
description
|
|
"Status is unknown.";
|
|
}
|
|
}
|
|
description
|
|
"Defines a type representing the administrative status of
|
|
a TE resource.";
|
|
}
|
|
|
|
typedef te-path-disjointness {
|
|
type bits {
|
|
bit node {
|
|
position 0;
|
|
description
|
|
"Node disjoint.";
|
|
}
|
|
bit link {
|
|
position 1;
|
|
description
|
|
"Link disjoint.";
|
|
}
|
|
bit srlg {
|
|
position 2;
|
|
description
|
|
"SRLG (Shared Risk Link Group) disjoint.";
|
|
}
|
|
}
|
|
description
|
|
"Type of the resource disjointness for a TE tunnel path.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
typedef te-recovery-status {
|
|
type enumeration {
|
|
enum normal {
|
|
description
|
|
"Both the recovery span and the working span are fully
|
|
allocated and active, data traffic is being
|
|
transported over (or selected from) the working
|
|
span, and no trigger events are reported.";
|
|
}
|
|
enum recovery-started {
|
|
description
|
|
"The recovery action has been started but not completed.";
|
|
}
|
|
enum recovery-succeeded {
|
|
description
|
|
"The recovery action has succeeded. The working span has
|
|
reported a failure/degrade condition, and the user traffic
|
|
is being transported (or selected) on the recovery span.";
|
|
}
|
|
enum recovery-failed {
|
|
description
|
|
"The recovery action has failed.";
|
|
}
|
|
enum reversion-started {
|
|
description
|
|
"The reversion has started.";
|
|
}
|
|
enum reversion-succeeded {
|
|
description
|
|
"The reversion action has succeeded.";
|
|
}
|
|
enum reversion-failed {
|
|
description
|
|
"The reversion has failed.";
|
|
}
|
|
enum recovery-unavailable {
|
|
description
|
|
"The recovery is unavailable, as a result of either an
|
|
operator's lockout command or a failure condition
|
|
detected on the recovery span.";
|
|
}
|
|
enum recovery-admin {
|
|
description
|
|
"The operator has issued a command to switch the user
|
|
traffic to the recovery span.";
|
|
}
|
|
enum wait-to-restore {
|
|
description
|
|
"The recovery domain is recovering from a failure/degrade
|
|
condition on the working span that is being controlled by
|
|
the Wait-to-Restore (WTR) timer.";
|
|
}
|
|
}
|
|
description
|
|
"Defines the status of a recovery action.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)
|
|
RFC 6378: MPLS Transport Profile (MPLS-TP) Linear Protection";
|
|
}
|
|
|
|
typedef te-template-name {
|
|
type string {
|
|
pattern '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*';
|
|
}
|
|
description
|
|
"A type for the name of a TE node template or TE link
|
|
template.";
|
|
}
|
|
|
|
typedef te-topology-event-type {
|
|
type enumeration {
|
|
enum add {
|
|
value 0;
|
|
description
|
|
"A TE node or TE link has been added.";
|
|
}
|
|
enum remove {
|
|
value 1;
|
|
description
|
|
"A TE node or TE link has been removed.";
|
|
}
|
|
enum update {
|
|
value 2;
|
|
description
|
|
"A TE node or TE link has been updated.";
|
|
}
|
|
}
|
|
description
|
|
"TE event type for notifications.";
|
|
}
|
|
|
|
typedef te-topology-id {
|
|
type union {
|
|
type string {
|
|
pattern '([a-zA-Z0-9\-_.]+:)*'
|
|
+ '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*';
|
|
}
|
|
type string {
|
|
length "0";
|
|
// empty string
|
|
}
|
|
}
|
|
|
|
description
|
|
"An identifier for a topology.
|
|
It is optional to have one or more prefixes at the beginning,
|
|
separated by colons. The prefixes can be 'network-types' as
|
|
defined in the 'ietf-network' module in RFC 8345, to help the
|
|
user better understand the topology before further inquiry
|
|
is made.";
|
|
reference
|
|
"RFC 8345: A YANG Data Model for Network Topologies";
|
|
}
|
|
|
|
typedef te-tp-id {
|
|
type union {
|
|
type inet:uri;
|
|
// Added for consistency with tp-id in ietf-network-topology@2018-02-26.yang
|
|
type uint32;
|
|
// Unnumbered
|
|
type inet:ip-address;
|
|
// IPv4 or IPv6 address
|
|
}
|
|
|
|
description
|
|
"An identifier for a TE link endpoint on a node.
|
|
This attribute is mapped to a local or remote link identifier
|
|
as defined in RFCs 3630 and 5305.";
|
|
reference
|
|
"RFC 3630: Traffic Engineering (TE) Extensions to OSPF
|
|
Version 2
|
|
RFC 5305: IS-IS Extensions for Traffic Engineering";
|
|
}
|
|
|
|
/* TE features */
|
|
|
|
feature p2mp-te {
|
|
description
|
|
"Indicates support for Point-to-Multipoint TE (P2MP-TE).";
|
|
reference
|
|
"RFC 4875: Extensions to Resource Reservation Protocol -
|
|
Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE
|
|
Label Switched Paths (LSPs)";
|
|
}
|
|
|
|
feature frr-te {
|
|
description
|
|
"Indicates support for TE Fast Reroute (FRR).";
|
|
reference
|
|
"RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels";
|
|
}
|
|
|
|
feature extended-admin-groups {
|
|
description
|
|
"Indicates support for TE link extended administrative
|
|
groups.";
|
|
reference
|
|
"RFC 7308: Extended Administrative Groups in MPLS Traffic
|
|
Engineering (MPLS-TE)";
|
|
}
|
|
|
|
feature named-path-affinities {
|
|
description
|
|
"Indicates support for named path affinities.";
|
|
}
|
|
|
|
feature named-extended-admin-groups {
|
|
description
|
|
"Indicates support for named extended administrative groups.";
|
|
}
|
|
|
|
feature named-srlg-groups {
|
|
description
|
|
"Indicates support for named SRLG groups.";
|
|
}
|
|
|
|
feature named-path-constraints {
|
|
description
|
|
"Indicates support for named path constraints.";
|
|
}
|
|
|
|
feature path-optimization-metric {
|
|
description
|
|
"Indicates support for path optimization metrics.";
|
|
}
|
|
|
|
feature path-optimization-objective-function {
|
|
description
|
|
"Indicates support for path optimization objective functions.";
|
|
}
|
|
|
|
/*
|
|
* Identities
|
|
*/
|
|
|
|
identity session-attributes-flags {
|
|
description
|
|
"Base identity for the RSVP-TE session attributes flags.";
|
|
}
|
|
|
|
identity local-protection-desired {
|
|
base session-attributes-flags;
|
|
description
|
|
"Local protection is desired.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
|
|
Section 4.7.1";
|
|
}
|
|
|
|
identity se-style-desired {
|
|
base session-attributes-flags;
|
|
description
|
|
"Shared explicit style, to allow the LSP to be established
|
|
and share resources with the old LSP.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
|
|
}
|
|
|
|
identity local-recording-desired {
|
|
base session-attributes-flags;
|
|
description
|
|
"Label recording is desired.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
|
|
Section 4.7.1";
|
|
}
|
|
|
|
identity bandwidth-protection-desired {
|
|
base session-attributes-flags;
|
|
description
|
|
"Requests FRR bandwidth protection on LSRs, if present.";
|
|
reference
|
|
"RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels";
|
|
}
|
|
|
|
identity node-protection-desired {
|
|
base session-attributes-flags;
|
|
description
|
|
"Requests FRR node protection on LSRs, if present.";
|
|
reference
|
|
"RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels";
|
|
}
|
|
|
|
identity path-reevaluation-request {
|
|
base session-attributes-flags;
|
|
description
|
|
"This flag indicates that a path re-evaluation (of the
|
|
current path in use) is requested. Note that this does
|
|
not trigger any LSP reroutes but instead just signals a
|
|
request to evaluate whether a preferable path exists.";
|
|
reference
|
|
"RFC 4736: Reoptimization of Multiprotocol Label Switching
|
|
(MPLS) Traffic Engineering (TE) Loosely Routed Label Switched
|
|
Path (LSP)";
|
|
}
|
|
|
|
identity soft-preemption-desired {
|
|
base session-attributes-flags;
|
|
description
|
|
"Soft preemption of LSP resources is desired.";
|
|
reference
|
|
"RFC 5712: MPLS Traffic Engineering Soft Preemption";
|
|
}
|
|
|
|
identity lsp-attributes-flags {
|
|
description
|
|
"Base identity for LSP attributes flags.";
|
|
}
|
|
|
|
identity end-to-end-rerouting-desired {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Indicates end-to-end rerouting behavior for an LSP
|
|
undergoing establishment. This MAY also be used to
|
|
specify the behavior of end-to-end LSP recovery for
|
|
established LSPs.";
|
|
reference
|
|
"RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS
|
|
RSVP-TE
|
|
RFC 5420: Encoding of Attributes for MPLS LSP Establishment
|
|
Using Resource Reservation Protocol Traffic Engineering
|
|
(RSVP-TE)
|
|
RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)";
|
|
}
|
|
|
|
identity boundary-rerouting-desired {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Indicates boundary rerouting behavior for an LSP undergoing
|
|
establishment. This MAY also be used to specify
|
|
segment-based LSP recovery through nested crankback for
|
|
established LSPs. The boundary Area Border Router (ABR) /
|
|
Autonomous System Border Router (ASBR) can decide to forward
|
|
the PathErr message upstream to either an upstream boundary
|
|
ABR/ASBR or the ingress LSR. Alternatively, it can try to
|
|
select another egress boundary LSR.";
|
|
reference
|
|
"RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS
|
|
RSVP-TE
|
|
RFC 5420: Encoding of Attributes for MPLS LSP Establishment
|
|
Using Resource Reservation Protocol Traffic Engineering
|
|
(RSVP-TE)
|
|
RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)";
|
|
}
|
|
|
|
identity segment-based-rerouting-desired {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Indicates segment-based rerouting behavior for an LSP
|
|
undergoing establishment. This MAY also be used to specify
|
|
segment-based LSP recovery for established LSPs.";
|
|
reference
|
|
"RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS
|
|
RSVP-TE
|
|
RFC 5420: Encoding of Attributes for MPLS LSP Establishment
|
|
Using Resource Reservation Protocol Traffic Engineering
|
|
(RSVP-TE)
|
|
RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)";
|
|
}
|
|
|
|
identity lsp-integrity-required {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Indicates that LSP integrity is required.";
|
|
reference
|
|
"RFC 4875: Extensions to Resource Reservation Protocol -
|
|
Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE
|
|
Label Switched Paths (LSPs)
|
|
RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)";
|
|
}
|
|
|
|
identity contiguous-lsp-desired {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Indicates that a contiguous LSP is desired.";
|
|
reference
|
|
"RFC 5151: Inter-Domain MPLS and GMPLS Traffic Engineering --
|
|
Resource Reservation Protocol-Traffic Engineering (RSVP-TE)
|
|
Extensions
|
|
RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)";
|
|
}
|
|
|
|
identity lsp-stitching-desired {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Indicates that LSP stitching is desired.";
|
|
reference
|
|
"RFC 5150: Label Switched Path Stitching with Generalized
|
|
Multiprotocol Label Switching Traffic Engineering (GMPLS TE)
|
|
RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)";
|
|
}
|
|
|
|
identity pre-planned-lsp-flag {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Indicates that the LSP MUST be provisioned in the
|
|
control plane only.";
|
|
reference
|
|
"RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions for
|
|
Multi-Layer and Multi-Region Networks (MLN/MRN)
|
|
RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)";
|
|
}
|
|
|
|
identity non-php-behavior-flag {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Indicates that non-PHP (non-Penultimate Hop Popping) behavior
|
|
for the LSP is desired.";
|
|
reference
|
|
"RFC 6511: Non-Penultimate Hop Popping Behavior and Out-of-Band
|
|
Mapping for RSVP-TE Label Switched Paths
|
|
RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)";
|
|
}
|
|
|
|
identity oob-mapping-flag {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Indicates that signaling of the egress binding information is
|
|
out of band (e.g., via the Border Gateway Protocol (BGP)).";
|
|
reference
|
|
"RFC 6511: Non-Penultimate Hop Popping Behavior and Out-of-Band
|
|
Mapping for RSVP-TE Label Switched Paths
|
|
RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)";
|
|
}
|
|
|
|
identity entropy-label-capability {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Indicates entropy label capability.";
|
|
reference
|
|
"RFC 6790: The Use of Entropy Labels in MPLS Forwarding
|
|
RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)";
|
|
}
|
|
|
|
identity oam-mep-entity-desired {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"OAM Maintenance Entity Group End Point (MEP) entities
|
|
desired.";
|
|
reference
|
|
"RFC 7260: GMPLS RSVP-TE Extensions for Operations,
|
|
Administration, and Maintenance (OAM) Configuration";
|
|
}
|
|
|
|
identity oam-mip-entity-desired {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"OAM Maintenance Entity Group Intermediate Points (MIP)
|
|
entities desired.";
|
|
reference
|
|
"RFC 7260: GMPLS RSVP-TE Extensions for Operations,
|
|
Administration, and Maintenance (OAM) Configuration";
|
|
}
|
|
|
|
identity srlg-collection-desired {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"SRLG collection desired.";
|
|
reference
|
|
"RFC 7570: Label Switched Path (LSP) Attribute in the Explicit
|
|
Route Object (ERO)
|
|
RFC 8001: RSVP-TE Extensions for Collecting Shared Risk
|
|
Link Group (SRLG) Information";
|
|
}
|
|
|
|
identity loopback-desired {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"This flag indicates that a particular node on the LSP is
|
|
required to enter loopback mode. This can also be
|
|
used to specify the loopback state of the node.";
|
|
reference
|
|
"RFC 7571: GMPLS RSVP-TE Extensions for Lock Instruct and
|
|
Loopback";
|
|
}
|
|
|
|
identity p2mp-te-tree-eval-request {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"P2MP-TE tree re-evaluation request.";
|
|
reference
|
|
"RFC 8149: RSVP Extensions for Reoptimization of Loosely Routed
|
|
Point-to-Multipoint Traffic Engineering Label Switched Paths
|
|
(LSPs)";
|
|
}
|
|
|
|
identity rtm-set-desired {
|
|
base lsp-attributes-flags;
|
|
description
|
|
"Residence Time Measurement (RTM) attribute flag requested.";
|
|
reference
|
|
"RFC 8169: Residence Time Measurement in MPLS Networks";
|
|
}
|
|
|
|
identity link-protection-type {
|
|
description
|
|
"Base identity for the link protection type.";
|
|
}
|
|
|
|
identity link-protection-unprotected {
|
|
base link-protection-type;
|
|
description
|
|
"Unprotected link type.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity link-protection-extra-traffic {
|
|
base link-protection-type;
|
|
description
|
|
"Extra-Traffic protected link type.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity link-protection-shared {
|
|
base link-protection-type;
|
|
description
|
|
"Shared protected link type.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity link-protection-1-for-1 {
|
|
base link-protection-type;
|
|
description
|
|
"One-for-one (1:1) protected link type.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity link-protection-1-plus-1 {
|
|
base link-protection-type;
|
|
description
|
|
"One-plus-one (1+1) protected link type.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity link-protection-enhanced {
|
|
base link-protection-type;
|
|
description
|
|
"A compound link protection type derived from the underlay
|
|
TE tunnel protection configuration supporting the TE link.";
|
|
}
|
|
|
|
identity association-type {
|
|
description
|
|
"Base identity for the tunnel association.";
|
|
}
|
|
|
|
identity association-type-recovery {
|
|
base association-type;
|
|
description
|
|
"Association type for recovery, used to associate LSPs of the
|
|
same tunnel for recovery.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery
|
|
RFC 6780: RSVP ASSOCIATION Object Extensions";
|
|
}
|
|
|
|
identity association-type-resource-sharing {
|
|
base association-type;
|
|
description
|
|
"Association type for resource sharing, used to enable
|
|
resource sharing during make-before-break.";
|
|
reference
|
|
"RFC 4873: GMPLS Segment Recovery
|
|
RFC 6780: RSVP ASSOCIATION Object Extensions";
|
|
}
|
|
|
|
identity association-type-double-sided-bidir {
|
|
base association-type;
|
|
description
|
|
"Association type for double-sided bidirectional LSPs,
|
|
used to associate two LSPs of two tunnels that are
|
|
independently configured on either endpoint.";
|
|
reference
|
|
"RFC 7551: RSVP-TE Extensions for Associated Bidirectional
|
|
Label Switched Paths (LSPs)";
|
|
}
|
|
|
|
identity association-type-single-sided-bidir {
|
|
base association-type;
|
|
description
|
|
"Association type for single-sided bidirectional LSPs,
|
|
used to associate two LSPs of two tunnels, where one
|
|
tunnel is configured on one side/endpoint and the other
|
|
tunnel is dynamically created on the other endpoint.";
|
|
reference
|
|
"RFC 6780: RSVP ASSOCIATION Object Extensions
|
|
RFC 7551: RSVP-TE Extensions for Associated Bidirectional
|
|
Label Switched Paths (LSPs)";
|
|
}
|
|
|
|
identity objective-function-type {
|
|
description
|
|
"Base objective function type.";
|
|
}
|
|
|
|
identity of-minimize-cost-path {
|
|
base objective-function-type;
|
|
description
|
|
"Objective function for minimizing path cost.";
|
|
reference
|
|
"RFC 5541: Encoding of Objective Functions in the Path
|
|
Computation Element Communication Protocol (PCEP)";
|
|
}
|
|
|
|
identity of-minimize-load-path {
|
|
base objective-function-type;
|
|
description
|
|
"Objective function for minimizing the load on one or more
|
|
paths.";
|
|
reference
|
|
"RFC 5541: Encoding of Objective Functions in the Path
|
|
Computation Element Communication Protocol (PCEP)";
|
|
}
|
|
|
|
identity of-maximize-residual-bandwidth {
|
|
base objective-function-type;
|
|
description
|
|
"Objective function for maximizing residual bandwidth.";
|
|
reference
|
|
"RFC 5541: Encoding of Objective Functions in the Path
|
|
Computation Element Communication Protocol (PCEP)";
|
|
}
|
|
|
|
identity of-minimize-agg-bandwidth-consumption {
|
|
base objective-function-type;
|
|
description
|
|
"Objective function for minimizing aggregate bandwidth
|
|
consumption.";
|
|
reference
|
|
"RFC 5541: Encoding of Objective Functions in the Path
|
|
Computation Element Communication Protocol (PCEP)";
|
|
}
|
|
|
|
identity of-minimize-load-most-loaded-link {
|
|
base objective-function-type;
|
|
description
|
|
"Objective function for minimizing the load on the link that
|
|
is carrying the highest load.";
|
|
reference
|
|
"RFC 5541: Encoding of Objective Functions in the Path
|
|
Computation Element Communication Protocol (PCEP)";
|
|
}
|
|
|
|
identity of-minimize-cost-path-set {
|
|
base objective-function-type;
|
|
description
|
|
"Objective function for minimizing the cost on a path set.";
|
|
reference
|
|
"RFC 5541: Encoding of Objective Functions in the Path
|
|
Computation Element Communication Protocol (PCEP)";
|
|
}
|
|
|
|
identity path-computation-method {
|
|
description
|
|
"Base identity for supported path computation mechanisms.";
|
|
}
|
|
|
|
identity path-locally-computed {
|
|
base path-computation-method;
|
|
description
|
|
"Indicates a constrained-path LSP in which the
|
|
path is computed by the local LER.";
|
|
reference
|
|
"RFC 3272: Overview and Principles of Internet Traffic
|
|
Engineering, Section 5.4";
|
|
}
|
|
|
|
identity path-externally-queried {
|
|
base path-computation-method;
|
|
description
|
|
"Constrained-path LSP in which the path is obtained by
|
|
querying an external source, such as a PCE server.
|
|
In the case that an LSP is defined to be externally queried,
|
|
it may also have associated explicit definitions (provided
|
|
to the external source to aid computation). The path that is
|
|
returned by the external source may require further local
|
|
computation on the device.";
|
|
reference
|
|
"RFC 3272: Overview and Principles of Internet Traffic
|
|
Engineering
|
|
RFC 4657: Path Computation Element (PCE) Communication
|
|
Protocol Generic Requirements";
|
|
}
|
|
|
|
identity path-explicitly-defined {
|
|
base path-computation-method;
|
|
description
|
|
"Constrained-path LSP in which the path is
|
|
explicitly specified as a collection of strict and/or loose
|
|
hops.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
|
|
RFC 3272: Overview and Principles of Internet Traffic
|
|
Engineering";
|
|
}
|
|
|
|
identity lsp-metric-type {
|
|
description
|
|
"Base identity for the LSP metric specification types.";
|
|
}
|
|
|
|
identity lsp-metric-relative {
|
|
base lsp-metric-type;
|
|
description
|
|
"The metric specified for the LSPs to which this identity
|
|
refers is specified as a value relative to the IGP metric
|
|
cost to the LSP's tail end.";
|
|
reference
|
|
"RFC 4657: Path Computation Element (PCE) Communication
|
|
Protocol Generic Requirements";
|
|
}
|
|
|
|
identity lsp-metric-absolute {
|
|
base lsp-metric-type;
|
|
description
|
|
"The metric specified for the LSPs to which this identity
|
|
refers is specified as an absolute value.";
|
|
reference
|
|
"RFC 4657: Path Computation Element (PCE) Communication
|
|
Protocol Generic Requirements";
|
|
}
|
|
|
|
identity lsp-metric-inherited {
|
|
base lsp-metric-type;
|
|
description
|
|
"The metric for the LSPs to which this identity refers is
|
|
not specified explicitly; rather, it is directly inherited
|
|
from the IGP cost.";
|
|
reference
|
|
"RFC 4657: Path Computation Element (PCE) Communication
|
|
Protocol Generic Requirements";
|
|
}
|
|
|
|
identity te-tunnel-type {
|
|
description
|
|
"Base identity from which specific tunnel types are derived.";
|
|
}
|
|
|
|
identity te-tunnel-p2p {
|
|
base te-tunnel-type;
|
|
description
|
|
"TE Point-to-Point (P2P) tunnel type.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
|
|
}
|
|
|
|
identity te-tunnel-p2mp {
|
|
base te-tunnel-type;
|
|
description
|
|
"TE P2MP tunnel type.";
|
|
reference
|
|
"RFC 4875: Extensions to Resource Reservation Protocol -
|
|
Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE
|
|
Label Switched Paths (LSPs)";
|
|
}
|
|
|
|
identity tunnel-action-type {
|
|
description
|
|
"Base identity from which specific tunnel action types
|
|
are derived.";
|
|
}
|
|
|
|
identity tunnel-action-resetup {
|
|
base tunnel-action-type;
|
|
description
|
|
"TE tunnel action that tears down the tunnel's current LSP
|
|
(if any) and attempts to re-establish a new LSP.";
|
|
}
|
|
|
|
identity tunnel-action-reoptimize {
|
|
base tunnel-action-type;
|
|
description
|
|
"TE tunnel action that reoptimizes the placement of the
|
|
tunnel LSP(s).";
|
|
}
|
|
|
|
identity tunnel-action-switchpath {
|
|
base tunnel-action-type;
|
|
description
|
|
"TE tunnel action that switches the tunnel's LSP to use the
|
|
specified path.";
|
|
}
|
|
|
|
identity te-action-result {
|
|
description
|
|
"Base identity from which specific TE action results
|
|
are derived.";
|
|
}
|
|
|
|
identity te-action-success {
|
|
base te-action-result;
|
|
description
|
|
"TE action was successful.";
|
|
}
|
|
|
|
identity te-action-fail {
|
|
base te-action-result;
|
|
description
|
|
"TE action failed.";
|
|
}
|
|
|
|
identity tunnel-action-inprogress {
|
|
base te-action-result;
|
|
description
|
|
"TE action is in progress.";
|
|
}
|
|
|
|
identity tunnel-admin-state-type {
|
|
description
|
|
"Base identity for TE tunnel administrative states.";
|
|
}
|
|
|
|
identity tunnel-admin-state-up {
|
|
base tunnel-admin-state-type;
|
|
description
|
|
"Tunnel's administrative state is up.";
|
|
}
|
|
|
|
identity tunnel-admin-state-down {
|
|
base tunnel-admin-state-type;
|
|
description
|
|
"Tunnel's administrative state is down.";
|
|
}
|
|
|
|
identity tunnel-state-type {
|
|
description
|
|
"Base identity for TE tunnel states.";
|
|
}
|
|
|
|
identity tunnel-state-up {
|
|
base tunnel-state-type;
|
|
description
|
|
"Tunnel's state is up.";
|
|
}
|
|
|
|
identity tunnel-state-down {
|
|
base tunnel-state-type;
|
|
description
|
|
"Tunnel's state is down.";
|
|
}
|
|
|
|
identity lsp-state-type {
|
|
description
|
|
"Base identity for TE LSP states.";
|
|
}
|
|
|
|
identity lsp-path-computing {
|
|
base lsp-state-type;
|
|
description
|
|
"State path computation is in progress.";
|
|
}
|
|
|
|
identity lsp-path-computation-ok {
|
|
base lsp-state-type;
|
|
description
|
|
"State path computation was successful.";
|
|
}
|
|
|
|
identity lsp-path-computation-failed {
|
|
base lsp-state-type;
|
|
description
|
|
"State path computation failed.";
|
|
}
|
|
|
|
identity lsp-state-setting-up {
|
|
base lsp-state-type;
|
|
description
|
|
"State is being set up.";
|
|
}
|
|
|
|
identity lsp-state-setup-ok {
|
|
base lsp-state-type;
|
|
description
|
|
"State setup was successful.";
|
|
}
|
|
|
|
identity lsp-state-setup-failed {
|
|
base lsp-state-type;
|
|
description
|
|
"State setup failed.";
|
|
}
|
|
|
|
identity lsp-state-up {
|
|
base lsp-state-type;
|
|
description
|
|
"State is up.";
|
|
}
|
|
|
|
identity lsp-state-tearing-down {
|
|
base lsp-state-type;
|
|
description
|
|
"State is being torn down.";
|
|
}
|
|
|
|
identity lsp-state-down {
|
|
base lsp-state-type;
|
|
description
|
|
"State is down.";
|
|
}
|
|
|
|
identity path-invalidation-action-type {
|
|
description
|
|
"Base identity for TE path invalidation action types.";
|
|
}
|
|
|
|
identity path-invalidation-action-drop {
|
|
base path-invalidation-action-type;
|
|
description
|
|
"Upon invalidation of the TE tunnel path, the tunnel remains
|
|
valid, but any packet mapped over the tunnel is dropped.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
|
|
Section 2.5";
|
|
}
|
|
|
|
identity path-invalidation-action-teardown {
|
|
base path-invalidation-action-type;
|
|
description
|
|
"TE path invalidation action teardown.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
|
|
Section 2.5";
|
|
}
|
|
|
|
identity lsp-restoration-type {
|
|
description
|
|
"Base identity from which LSP restoration types are derived.";
|
|
}
|
|
|
|
identity lsp-restoration-restore-any {
|
|
base lsp-restoration-type;
|
|
description
|
|
"Any LSP affected by a failure is restored.";
|
|
}
|
|
|
|
identity lsp-restoration-restore-all {
|
|
base lsp-restoration-type;
|
|
description
|
|
"Affected LSPs are restored after all LSPs of the tunnel are
|
|
broken.";
|
|
}
|
|
|
|
identity restoration-scheme-type {
|
|
description
|
|
"Base identity for LSP restoration schemes.";
|
|
}
|
|
|
|
identity restoration-scheme-preconfigured {
|
|
base restoration-scheme-type;
|
|
description
|
|
"Restoration LSP is preconfigured prior to the failure.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity restoration-scheme-precomputed {
|
|
base restoration-scheme-type;
|
|
description
|
|
"Restoration LSP is precomputed prior to the failure.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity restoration-scheme-presignaled {
|
|
base restoration-scheme-type;
|
|
description
|
|
"Restoration LSP is presignaled prior to the failure.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity lsp-protection-type {
|
|
description
|
|
"Base identity from which LSP protection types are derived.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity lsp-protection-unprotected {
|
|
base lsp-protection-type;
|
|
description
|
|
"'Unprotected' LSP protection type.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity lsp-protection-reroute-extra {
|
|
base lsp-protection-type;
|
|
description
|
|
"'(Full) Rerouting' LSP protection type.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity lsp-protection-reroute {
|
|
base lsp-protection-type;
|
|
description
|
|
"'Rerouting without Extra-Traffic' LSP protection type.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity lsp-protection-1-for-n {
|
|
base lsp-protection-type;
|
|
description
|
|
"'1:N Protection with Extra-Traffic' LSP protection type.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity lsp-protection-1-for-1 {
|
|
base lsp-protection-type;
|
|
description
|
|
"LSP protection '1:1 Protection Type'.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity lsp-protection-unidir-1-plus-1 {
|
|
base lsp-protection-type;
|
|
description
|
|
"'1+1 Unidirectional Protection' LSP protection type.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity lsp-protection-bidir-1-plus-1 {
|
|
base lsp-protection-type;
|
|
description
|
|
"'1+1 Bidirectional Protection' LSP protection type.";
|
|
reference
|
|
"RFC 4872: RSVP-TE Extensions in Support of End-to-End
|
|
Generalized Multi-Protocol Label Switching (GMPLS) Recovery";
|
|
}
|
|
|
|
identity lsp-protection-extra-traffic {
|
|
base lsp-protection-type;
|
|
description
|
|
"Extra-Traffic LSP protection type.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity lsp-protection-state {
|
|
description
|
|
"Base identity of protection states for reporting purposes.";
|
|
}
|
|
|
|
identity normal {
|
|
base lsp-protection-state;
|
|
description
|
|
"Normal state.";
|
|
}
|
|
|
|
identity signal-fail-of-protection {
|
|
base lsp-protection-state;
|
|
description
|
|
"The protection transport entity has a signal fail condition
|
|
that is of higher priority than the forced switchover
|
|
command.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity lockout-of-protection {
|
|
base lsp-protection-state;
|
|
description
|
|
"A Loss of Protection (LoP) command is active.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity forced-switch {
|
|
base lsp-protection-state;
|
|
description
|
|
"A forced switchover command is active.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity signal-fail {
|
|
base lsp-protection-state;
|
|
description
|
|
"There is a signal fail condition on either the working path
|
|
or the protection path.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity signal-degrade {
|
|
base lsp-protection-state;
|
|
description
|
|
"There is a signal degrade condition on either the working
|
|
path or the protection path.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity manual-switch {
|
|
base lsp-protection-state;
|
|
description
|
|
"A manual switchover command is active.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity wait-to-restore {
|
|
base lsp-protection-state;
|
|
description
|
|
"A WTR timer is running.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity do-not-revert {
|
|
base lsp-protection-state;
|
|
description
|
|
"A Do Not Revert (DNR) condition is active because of
|
|
non-revertive behavior.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity failure-of-protocol {
|
|
base lsp-protection-state;
|
|
description
|
|
"LSP protection is not working because of a protocol failure
|
|
condition.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity protection-external-commands {
|
|
description
|
|
"Base identity from which protection-related external commands
|
|
used for troubleshooting purposes are derived.";
|
|
}
|
|
|
|
identity action-freeze {
|
|
base protection-external-commands;
|
|
description
|
|
"A temporary configuration action initiated by an operator
|
|
command that prevents any switchover action from being taken
|
|
and, as such, freezes the current state.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity clear-freeze {
|
|
base protection-external-commands;
|
|
description
|
|
"An action that clears the active freeze state.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity action-lockout-of-normal {
|
|
base protection-external-commands;
|
|
description
|
|
"A temporary configuration action initiated by an operator
|
|
command to ensure that the normal traffic is not allowed
|
|
to use the protection transport entity.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity clear-lockout-of-normal {
|
|
base protection-external-commands;
|
|
description
|
|
"An action that clears the active lockout of the
|
|
normal state.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity action-lockout-of-protection {
|
|
base protection-external-commands;
|
|
description
|
|
"A temporary configuration action initiated by an operator
|
|
command to ensure that the protection transport entity is
|
|
temporarily not available to transport a traffic signal
|
|
(either normal or Extra-Traffic).";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity action-forced-switch {
|
|
base protection-external-commands;
|
|
description
|
|
"A switchover action initiated by an operator command to switch
|
|
the Extra-Traffic signal, the normal traffic signal, or the
|
|
null signal to the protection transport entity, unless a
|
|
switchover command of equal or higher priority is in effect.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity action-manual-switch {
|
|
base protection-external-commands;
|
|
description
|
|
"A switchover action initiated by an operator command to switch
|
|
the Extra-Traffic signal, the normal traffic signal, or
|
|
the null signal to the protection transport entity, unless
|
|
a fault condition exists on other transport entities or a
|
|
switchover command of equal or higher priority is in effect.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity action-exercise {
|
|
base protection-external-commands;
|
|
description
|
|
"An action that starts testing whether or not APS communication
|
|
is operating correctly. It is of lower priority than any
|
|
other state or command.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity clear {
|
|
base protection-external-commands;
|
|
description
|
|
"An action that clears the active near-end lockout of a
|
|
protection, forced switchover, manual switchover, WTR state,
|
|
or exercise command.";
|
|
reference
|
|
"RFC 4427: Recovery (Protection and Restoration) Terminology
|
|
for Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
|
|
identity switching-capabilities {
|
|
description
|
|
"Base identity for interface switching capabilities.";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity switching-psc1 {
|
|
base switching-capabilities;
|
|
description
|
|
"Packet-Switch Capable-1 (PSC-1).";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity switching-evpl {
|
|
base switching-capabilities;
|
|
description
|
|
"Ethernet Virtual Private Line (EVPL).";
|
|
reference
|
|
"RFC 6004: Generalized MPLS (GMPLS) Support for Metro Ethernet
|
|
Forum and G.8011 Ethernet Service Switching";
|
|
}
|
|
|
|
identity switching-l2sc {
|
|
base switching-capabilities;
|
|
description
|
|
"Layer-2 Switch Capable (L2SC).";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity switching-tdm {
|
|
base switching-capabilities;
|
|
description
|
|
"Time-Division-Multiplex Capable (TDM).";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity switching-otn {
|
|
base switching-capabilities;
|
|
description
|
|
"OTN-TDM capable.";
|
|
reference
|
|
"RFC 7138: Traffic Engineering Extensions to OSPF for GMPLS
|
|
Control of Evolving G.709 Optical Transport Networks";
|
|
}
|
|
|
|
identity switching-dcsc {
|
|
base switching-capabilities;
|
|
description
|
|
"Data Channel Switching Capable (DCSC).";
|
|
reference
|
|
"RFC 6002: Generalized MPLS (GMPLS) Data Channel
|
|
Switching Capable (DCSC) and Channel Set Label Extensions";
|
|
}
|
|
|
|
identity switching-lsc {
|
|
base switching-capabilities;
|
|
description
|
|
"Lambda-Switch Capable (LSC).";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity switching-fsc {
|
|
base switching-capabilities;
|
|
description
|
|
"Fiber-Switch Capable (FSC).";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity lsp-encoding-types {
|
|
description
|
|
"Base identity for encoding types.";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity lsp-encoding-packet {
|
|
base lsp-encoding-types;
|
|
description
|
|
"Packet LSP encoding.";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity lsp-encoding-ethernet {
|
|
base lsp-encoding-types;
|
|
description
|
|
"Ethernet LSP encoding.";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity lsp-encoding-pdh {
|
|
base lsp-encoding-types;
|
|
description
|
|
"ANSI/ETSI PDH LSP encoding.";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity lsp-encoding-sdh {
|
|
base lsp-encoding-types;
|
|
description
|
|
"SDH ITU-T G.707 / SONET ANSI T1.105 LSP encoding.";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity lsp-encoding-digital-wrapper {
|
|
base lsp-encoding-types;
|
|
description
|
|
"Digital Wrapper LSP encoding.";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity lsp-encoding-lambda {
|
|
base lsp-encoding-types;
|
|
description
|
|
"Lambda (photonic) LSP encoding.";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity lsp-encoding-fiber {
|
|
base lsp-encoding-types;
|
|
description
|
|
"Fiber LSP encoding.";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity lsp-encoding-fiber-channel {
|
|
base lsp-encoding-types;
|
|
description
|
|
"FiberChannel LSP encoding.";
|
|
reference
|
|
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Functional Description";
|
|
}
|
|
|
|
identity lsp-encoding-oduk {
|
|
base lsp-encoding-types;
|
|
description
|
|
"G.709 ODUk (Digital Path) LSP encoding.";
|
|
reference
|
|
"RFC 4328: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Extensions for G.709 Optical Transport Networks
|
|
Control";
|
|
}
|
|
|
|
identity lsp-encoding-optical-channel {
|
|
base lsp-encoding-types;
|
|
description
|
|
"G.709 Optical Channel LSP encoding.";
|
|
reference
|
|
"RFC 4328: Generalized Multi-Protocol Label Switching (GMPLS)
|
|
Signaling Extensions for G.709 Optical Transport Networks
|
|
Control";
|
|
}
|
|
|
|
identity lsp-encoding-line {
|
|
base lsp-encoding-types;
|
|
description
|
|
"Line (e.g., 8B/10B) LSP encoding.";
|
|
reference
|
|
"RFC 6004: Generalized MPLS (GMPLS) Support for Metro
|
|
Ethernet Forum and G.8011 Ethernet Service Switching";
|
|
}
|
|
|
|
identity path-signaling-type {
|
|
description
|
|
"Base identity from which specific LSP path setup types
|
|
are derived.";
|
|
}
|
|
|
|
identity path-setup-static {
|
|
base path-signaling-type;
|
|
description
|
|
"Static LSP provisioning path setup.";
|
|
}
|
|
|
|
identity path-setup-rsvp {
|
|
base path-signaling-type;
|
|
description
|
|
"RSVP-TE signaling path setup.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
|
|
}
|
|
|
|
identity path-setup-sr {
|
|
base path-signaling-type;
|
|
description
|
|
"Segment-routing path setup.";
|
|
}
|
|
|
|
identity path-scope-type {
|
|
description
|
|
"Base identity from which specific path scope types are
|
|
derived.";
|
|
}
|
|
|
|
identity path-scope-segment {
|
|
base path-scope-type;
|
|
description
|
|
"Path scope segment.";
|
|
reference
|
|
"RFC 4873: GMPLS Segment Recovery";
|
|
}
|
|
|
|
identity path-scope-end-to-end {
|
|
base path-scope-type;
|
|
description
|
|
"Path scope end to end.";
|
|
reference
|
|
"RFC 4873: GMPLS Segment Recovery";
|
|
}
|
|
|
|
identity route-usage-type {
|
|
description
|
|
"Base identity for route usage.";
|
|
}
|
|
|
|
identity route-include-object {
|
|
base route-usage-type;
|
|
description
|
|
"'Include route' object.";
|
|
}
|
|
|
|
identity route-exclude-object {
|
|
base route-usage-type;
|
|
description
|
|
"'Exclude route' object.";
|
|
reference
|
|
"RFC 4874: Exclude Routes - Extension to Resource ReserVation
|
|
Protocol-Traffic Engineering (RSVP-TE)";
|
|
}
|
|
|
|
identity route-exclude-srlg {
|
|
base route-usage-type;
|
|
description
|
|
"Excludes SRLGs.";
|
|
reference
|
|
"RFC 4874: Exclude Routes - Extension to Resource ReserVation
|
|
Protocol-Traffic Engineering (RSVP-TE)";
|
|
}
|
|
|
|
identity path-metric-type {
|
|
description
|
|
"Base identity for the path metric type.";
|
|
}
|
|
|
|
identity path-metric-te {
|
|
base path-metric-type;
|
|
description
|
|
"TE path metric.";
|
|
reference
|
|
"RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a
|
|
second MPLS Traffic Engineering (TE) Metric";
|
|
}
|
|
|
|
identity path-metric-igp {
|
|
base path-metric-type;
|
|
description
|
|
"IGP path metric.";
|
|
reference
|
|
"RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a
|
|
second MPLS Traffic Engineering (TE) Metric";
|
|
}
|
|
|
|
identity path-metric-hop {
|
|
base path-metric-type;
|
|
description
|
|
"Hop path metric.";
|
|
}
|
|
|
|
identity path-metric-delay-average {
|
|
base path-metric-type;
|
|
description
|
|
"Average unidirectional link delay.";
|
|
reference
|
|
"RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions";
|
|
}
|
|
|
|
identity path-metric-delay-minimum {
|
|
base path-metric-type;
|
|
description
|
|
"Minimum unidirectional link delay.";
|
|
reference
|
|
"RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions";
|
|
}
|
|
|
|
identity path-metric-residual-bandwidth {
|
|
base path-metric-type;
|
|
description
|
|
"Unidirectional Residual Bandwidth, which is defined to be
|
|
Maximum Bandwidth (RFC 3630) minus the bandwidth currently
|
|
allocated to LSPs.";
|
|
reference
|
|
"RFC 3630: Traffic Engineering (TE) Extensions to OSPF
|
|
Version 2
|
|
RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions";
|
|
}
|
|
|
|
identity path-metric-optimize-includes {
|
|
base path-metric-type;
|
|
description
|
|
"A metric that optimizes the number of included resources
|
|
specified in a set.";
|
|
}
|
|
|
|
identity path-metric-optimize-excludes {
|
|
base path-metric-type;
|
|
description
|
|
"A metric that optimizes to a maximum the number of excluded
|
|
resources specified in a set.";
|
|
}
|
|
|
|
identity path-tiebreaker-type {
|
|
description
|
|
"Base identity for the path tiebreaker type.";
|
|
}
|
|
|
|
identity path-tiebreaker-minfill {
|
|
base path-tiebreaker-type;
|
|
description
|
|
"Min-Fill LSP path placement.";
|
|
}
|
|
|
|
identity path-tiebreaker-maxfill {
|
|
base path-tiebreaker-type;
|
|
description
|
|
"Max-Fill LSP path placement.";
|
|
}
|
|
|
|
identity path-tiebreaker-random {
|
|
base path-tiebreaker-type;
|
|
description
|
|
"Random LSP path placement.";
|
|
}
|
|
|
|
identity resource-affinities-type {
|
|
description
|
|
"Base identity for resource class affinities.";
|
|
reference
|
|
"RFC 2702: Requirements for Traffic Engineering Over MPLS";
|
|
}
|
|
|
|
identity resource-aff-include-all {
|
|
base resource-affinities-type;
|
|
description
|
|
"The set of attribute filters associated with a
|
|
tunnel, all of which must be present for a link
|
|
to be acceptable.";
|
|
reference
|
|
"RFC 2702: Requirements for Traffic Engineering Over MPLS
|
|
RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
|
|
}
|
|
|
|
identity resource-aff-include-any {
|
|
base resource-affinities-type;
|
|
description
|
|
"The set of attribute filters associated with a
|
|
tunnel, any of which must be present for a link
|
|
to be acceptable.";
|
|
reference
|
|
"RFC 2702: Requirements for Traffic Engineering Over MPLS
|
|
RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
|
|
}
|
|
|
|
identity resource-aff-exclude-any {
|
|
base resource-affinities-type;
|
|
description
|
|
"The set of attribute filters associated with a
|
|
tunnel, any of which renders a link unacceptable.";
|
|
reference
|
|
"RFC 2702: Requirements for Traffic Engineering Over MPLS
|
|
RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
|
|
}
|
|
|
|
identity te-optimization-criterion {
|
|
description
|
|
"Base identity for the TE optimization criteria.";
|
|
reference
|
|
"RFC 3272: Overview and Principles of Internet Traffic
|
|
Engineering";
|
|
}
|
|
|
|
identity not-optimized {
|
|
base te-optimization-criterion;
|
|
description
|
|
"Optimization is not applied.";
|
|
}
|
|
|
|
identity cost {
|
|
base te-optimization-criterion;
|
|
description
|
|
"Optimized on cost.";
|
|
reference
|
|
"RFC 5541: Encoding of Objective Functions in the Path
|
|
Computation Element Communication Protocol (PCEP)";
|
|
}
|
|
|
|
identity delay {
|
|
base te-optimization-criterion;
|
|
description
|
|
"Optimized on delay.";
|
|
reference
|
|
"RFC 5541: Encoding of Objective Functions in the Path
|
|
Computation Element Communication Protocol (PCEP)";
|
|
}
|
|
|
|
identity path-computation-srlg-type {
|
|
description
|
|
"Base identity for SRLG path computation.";
|
|
}
|
|
|
|
identity srlg-ignore {
|
|
base path-computation-srlg-type;
|
|
description
|
|
"Ignores SRLGs in the path computation.";
|
|
}
|
|
|
|
identity srlg-strict {
|
|
base path-computation-srlg-type;
|
|
description
|
|
"Includes a strict SRLG check in the path computation.";
|
|
}
|
|
|
|
identity srlg-preferred {
|
|
base path-computation-srlg-type;
|
|
description
|
|
"Includes a preferred SRLG check in the path computation.";
|
|
}
|
|
|
|
identity srlg-weighted {
|
|
base path-computation-srlg-type;
|
|
description
|
|
"Includes a weighted SRLG check in the path computation.";
|
|
}
|
|
|
|
/**
|
|
* TE bandwidth groupings
|
|
**/
|
|
|
|
grouping te-bandwidth {
|
|
description
|
|
"This grouping defines the generic TE bandwidth.
|
|
For some known data-plane technologies, specific modeling
|
|
structures are specified. The string-encoded 'te-bandwidth'
|
|
type is used for unspecified technologies.
|
|
The modeling structure can be augmented later for other
|
|
technologies.";
|
|
container te-bandwidth {
|
|
description
|
|
"Container that specifies TE bandwidth. The choices
|
|
can be augmented for specific data-plane technologies.";
|
|
choice technology {
|
|
default "generic";
|
|
description
|
|
"Data-plane technology type.";
|
|
case generic {
|
|
leaf generic {
|
|
type te-bandwidth;
|
|
description
|
|
"Bandwidth specified in a generic format.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* TE label groupings
|
|
**/
|
|
|
|
grouping te-label {
|
|
description
|
|
"This grouping defines the generic TE label.
|
|
The modeling structure can be augmented for each technology.
|
|
For unspecified technologies, 'rt-types:generalized-label'
|
|
is used.";
|
|
container te-label {
|
|
description
|
|
"Container that specifies the TE label. The choices can
|
|
be augmented for specific data-plane technologies.";
|
|
choice technology {
|
|
default "generic";
|
|
description
|
|
"Data-plane technology type.";
|
|
case generic {
|
|
leaf generic {
|
|
type rt-types:generalized-label;
|
|
description
|
|
"TE label specified in a generic format.";
|
|
}
|
|
}
|
|
}
|
|
leaf direction {
|
|
type te-label-direction;
|
|
default "forward";
|
|
description
|
|
"Label direction.";
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping te-topology-identifier {
|
|
description
|
|
"Augmentation for a TE topology.";
|
|
container te-topology-identifier {
|
|
description
|
|
"TE topology identifier container.";
|
|
leaf provider-id {
|
|
type te-global-id;
|
|
default "0";
|
|
description
|
|
"An identifier to uniquely identify a provider.
|
|
If omitted, it assumes that the topology provider ID
|
|
value = 0 (the default).";
|
|
}
|
|
leaf client-id {
|
|
type te-global-id;
|
|
default "0";
|
|
description
|
|
"An identifier to uniquely identify a client.
|
|
If omitted, it assumes that the topology client ID
|
|
value = 0 (the default).";
|
|
}
|
|
leaf topology-id {
|
|
type te-topology-id;
|
|
default "";
|
|
description
|
|
"When the datastore contains several topologies,
|
|
'topology-id' distinguishes between them. If omitted,
|
|
the default (empty) string for this leaf is assumed.";
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* TE performance metrics groupings
|
|
**/
|
|
|
|
grouping performance-metrics-one-way-delay-loss {
|
|
description
|
|
"Performance Metrics (PM) information in real time that can
|
|
be applicable to links or connections. PM defined in this
|
|
grouping are applicable to generic TE PM as well as packet TE
|
|
PM.";
|
|
reference
|
|
"RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
|
|
RFC 7823: Performance-Based Path Selection for Explicitly
|
|
Routed Label Switched Paths (LSPs) Using TE Metric
|
|
Extensions
|
|
RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
|
|
leaf one-way-delay {
|
|
type uint32 {
|
|
range "0..16777215";
|
|
}
|
|
description
|
|
"One-way delay or latency in microseconds.";
|
|
}
|
|
leaf one-way-delay-normality {
|
|
type te-types:performance-metrics-normality;
|
|
description
|
|
"One-way delay normality.";
|
|
}
|
|
}
|
|
|
|
grouping performance-metrics-two-way-delay-loss {
|
|
description
|
|
"PM information in real time that can be applicable to links or
|
|
connections. PM defined in this grouping are applicable to
|
|
generic TE PM as well as packet TE PM.";
|
|
reference
|
|
"RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
|
|
RFC 7823: Performance-Based Path Selection for Explicitly
|
|
Routed Label Switched Paths (LSPs) Using TE Metric
|
|
Extensions
|
|
RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
|
|
leaf two-way-delay {
|
|
type uint32 {
|
|
range "0..16777215";
|
|
}
|
|
description
|
|
"Two-way delay or latency in microseconds.";
|
|
}
|
|
leaf two-way-delay-normality {
|
|
type te-types:performance-metrics-normality;
|
|
description
|
|
"Two-way delay normality.";
|
|
}
|
|
}
|
|
|
|
grouping performance-metrics-one-way-bandwidth {
|
|
description
|
|
"PM information in real time that can be applicable to links.
|
|
PM defined in this grouping are applicable to generic TE PM
|
|
as well as packet TE PM.";
|
|
reference
|
|
"RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
|
|
RFC 7823: Performance-Based Path Selection for Explicitly
|
|
Routed Label Switched Paths (LSPs) Using TE Metric
|
|
Extensions
|
|
RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
|
|
leaf one-way-residual-bandwidth {
|
|
type rt-types:bandwidth-ieee-float32;
|
|
units "bytes per second";
|
|
default "0x0p0";
|
|
description
|
|
"Residual bandwidth that subtracts tunnel reservations from
|
|
Maximum Bandwidth (or link capacity) (RFC 3630) and
|
|
provides an aggregated remainder across QoS classes.";
|
|
reference
|
|
"RFC 3630: Traffic Engineering (TE) Extensions to OSPF
|
|
Version 2";
|
|
}
|
|
leaf one-way-residual-bandwidth-normality {
|
|
type te-types:performance-metrics-normality;
|
|
default "normal";
|
|
description
|
|
"Residual bandwidth normality.";
|
|
}
|
|
leaf one-way-available-bandwidth {
|
|
type rt-types:bandwidth-ieee-float32;
|
|
units "bytes per second";
|
|
default "0x0p0";
|
|
description
|
|
"Available bandwidth that is defined to be residual
|
|
bandwidth minus the measured bandwidth used for the
|
|
actual forwarding of non-RSVP-TE LSP packets. For a
|
|
bundled link, available bandwidth is defined to be the
|
|
sum of the component link available bandwidths.";
|
|
}
|
|
leaf one-way-available-bandwidth-normality {
|
|
type te-types:performance-metrics-normality;
|
|
default "normal";
|
|
description
|
|
"Available bandwidth normality.";
|
|
}
|
|
leaf one-way-utilized-bandwidth {
|
|
type rt-types:bandwidth-ieee-float32;
|
|
units "bytes per second";
|
|
default "0x0p0";
|
|
description
|
|
"Bandwidth utilization that represents the actual
|
|
utilization of the link (i.e., as measured in the router).
|
|
For a bundled link, bandwidth utilization is defined to
|
|
be the sum of the component link bandwidth utilizations.";
|
|
}
|
|
leaf one-way-utilized-bandwidth-normality {
|
|
type te-types:performance-metrics-normality;
|
|
default "normal";
|
|
description
|
|
"Bandwidth utilization normality.";
|
|
}
|
|
}
|
|
|
|
grouping one-way-performance-metrics {
|
|
description
|
|
"One-way PM throttle grouping.";
|
|
leaf one-way-delay {
|
|
type uint32 {
|
|
range "0..16777215";
|
|
}
|
|
default "0";
|
|
description
|
|
"One-way delay or latency in microseconds.";
|
|
}
|
|
leaf one-way-residual-bandwidth {
|
|
type rt-types:bandwidth-ieee-float32;
|
|
units "bytes per second";
|
|
default "0x0p0";
|
|
description
|
|
"Residual bandwidth that subtracts tunnel reservations from
|
|
Maximum Bandwidth (or link capacity) (RFC 3630) and
|
|
provides an aggregated remainder across QoS classes.";
|
|
reference
|
|
"RFC 3630: Traffic Engineering (TE) Extensions to OSPF
|
|
Version 2";
|
|
}
|
|
leaf one-way-available-bandwidth {
|
|
type rt-types:bandwidth-ieee-float32;
|
|
units "bytes per second";
|
|
default "0x0p0";
|
|
description
|
|
"Available bandwidth that is defined to be residual
|
|
bandwidth minus the measured bandwidth used for the
|
|
actual forwarding of non-RSVP-TE LSP packets. For a
|
|
bundled link, available bandwidth is defined to be the
|
|
sum of the component link available bandwidths.";
|
|
}
|
|
leaf one-way-utilized-bandwidth {
|
|
type rt-types:bandwidth-ieee-float32;
|
|
units "bytes per second";
|
|
default "0x0p0";
|
|
description
|
|
"Bandwidth utilization that represents the actual
|
|
utilization of the link (i.e., as measured in the router).
|
|
For a bundled link, bandwidth utilization is defined to
|
|
be the sum of the component link bandwidth utilizations.";
|
|
}
|
|
}
|
|
|
|
grouping two-way-performance-metrics {
|
|
description
|
|
"Two-way PM throttle grouping.";
|
|
leaf two-way-delay {
|
|
type uint32 {
|
|
range "0..16777215";
|
|
}
|
|
default "0";
|
|
description
|
|
"Two-way delay or latency in microseconds.";
|
|
}
|
|
}
|
|
|
|
grouping performance-metrics-thresholds {
|
|
description
|
|
"Grouping for configurable thresholds for measured
|
|
attributes.";
|
|
uses one-way-performance-metrics;
|
|
uses two-way-performance-metrics;
|
|
}
|
|
|
|
grouping performance-metrics-attributes {
|
|
description
|
|
"Contains PM attributes.";
|
|
container performance-metrics-one-way {
|
|
description
|
|
"One-way link performance information in real time.";
|
|
reference
|
|
"RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
|
|
RFC 7823: Performance-Based Path Selection for Explicitly
|
|
Routed Label Switched Paths (LSPs) Using TE Metric
|
|
Extensions
|
|
RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
|
|
uses performance-metrics-one-way-delay-loss;
|
|
uses performance-metrics-one-way-bandwidth;
|
|
}
|
|
container performance-metrics-two-way {
|
|
description
|
|
"Two-way link performance information in real time.";
|
|
reference
|
|
"RFC 6374: Packet Loss and Delay Measurement for MPLS
|
|
Networks";
|
|
uses performance-metrics-two-way-delay-loss;
|
|
}
|
|
}
|
|
|
|
grouping performance-metrics-throttle-container {
|
|
description
|
|
"Controls PM throttling.";
|
|
container throttle {
|
|
must 'suppression-interval >= measure-interval' {
|
|
error-message "'suppression-interval' cannot be less than "
|
|
+ "'measure-interval'.";
|
|
description
|
|
"Constraint on 'suppression-interval' and
|
|
'measure-interval'.";
|
|
}
|
|
description
|
|
"Link performance information in real time.";
|
|
reference
|
|
"RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions
|
|
RFC 7823: Performance-Based Path Selection for Explicitly
|
|
Routed Label Switched Paths (LSPs) Using TE Metric
|
|
Extensions
|
|
RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions";
|
|
leaf one-way-delay-offset {
|
|
type uint32 {
|
|
range "0..16777215";
|
|
}
|
|
default "0";
|
|
description
|
|
"Offset value to be added to the measured delay value.";
|
|
}
|
|
leaf measure-interval {
|
|
type uint32;
|
|
default "30";
|
|
description
|
|
"Interval, in seconds, to measure the extended metric
|
|
values.";
|
|
}
|
|
leaf advertisement-interval {
|
|
type uint32;
|
|
default "0";
|
|
description
|
|
"Interval, in seconds, to advertise the extended metric
|
|
values.";
|
|
}
|
|
leaf suppression-interval {
|
|
type uint32 {
|
|
range "1..max";
|
|
}
|
|
default "120";
|
|
description
|
|
"Interval, in seconds, to suppress advertisement of the
|
|
extended metric values.";
|
|
reference
|
|
"RFC 8570: IS-IS Traffic Engineering (TE) Metric
|
|
Extensions, Section 6";
|
|
}
|
|
container threshold-out {
|
|
uses performance-metrics-thresholds;
|
|
description
|
|
"If the measured parameter falls outside an upper bound
|
|
for all but the minimum-delay metric (or a lower bound
|
|
for the minimum-delay metric only) and the advertised
|
|
value is not already outside that bound, an 'anomalous'
|
|
announcement (anomalous bit set) will be triggered.";
|
|
}
|
|
container threshold-in {
|
|
uses performance-metrics-thresholds;
|
|
description
|
|
"If the measured parameter falls inside an upper bound
|
|
for all but the minimum-delay metric (or a lower bound
|
|
for the minimum-delay metric only) and the advertised
|
|
value is not already inside that bound, a 'normal'
|
|
announcement (anomalous bit cleared) will be triggered.";
|
|
}
|
|
container threshold-accelerated-advertisement {
|
|
description
|
|
"When the difference between the last advertised value and
|
|
the current measured value exceeds this threshold, an
|
|
'anomalous' announcement (anomalous bit set) will be
|
|
triggered.";
|
|
uses performance-metrics-thresholds;
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* TE tunnel generic groupings
|
|
**/
|
|
|
|
grouping explicit-route-hop {
|
|
description
|
|
"The explicit route entry grouping.";
|
|
choice type {
|
|
description
|
|
"The explicit route entry type.";
|
|
case numbered-node-hop {
|
|
container numbered-node-hop {
|
|
leaf node-id {
|
|
type te-node-id;
|
|
mandatory true;
|
|
description
|
|
"The identifier of a node in the TE topology.";
|
|
}
|
|
leaf hop-type {
|
|
type te-hop-type;
|
|
default "strict";
|
|
description
|
|
"Strict or loose hop.";
|
|
}
|
|
description
|
|
"Numbered node route hop.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
|
|
Section 4.3, EXPLICIT_ROUTE in RSVP-TE
|
|
RFC 3477: Signalling Unnumbered Links in Resource
|
|
ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
|
|
}
|
|
}
|
|
case numbered-link-hop {
|
|
container numbered-link-hop {
|
|
leaf link-tp-id {
|
|
type te-tp-id;
|
|
mandatory true;
|
|
description
|
|
"TE Link Termination Point (LTP) identifier.";
|
|
}
|
|
leaf hop-type {
|
|
type te-hop-type;
|
|
default "strict";
|
|
description
|
|
"Strict or loose hop.";
|
|
}
|
|
leaf direction {
|
|
type te-link-direction;
|
|
default "outgoing";
|
|
description
|
|
"Link route object direction.";
|
|
}
|
|
description
|
|
"Numbered link explicit route hop.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
|
|
Section 4.3, EXPLICIT_ROUTE in RSVP-TE
|
|
RFC 3477: Signalling Unnumbered Links in Resource
|
|
ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
|
|
}
|
|
}
|
|
case unnumbered-link-hop {
|
|
container unnumbered-link-hop {
|
|
leaf link-tp-id {
|
|
type te-tp-id;
|
|
mandatory true;
|
|
description
|
|
"TE LTP identifier. The combination of the TE link ID
|
|
and the TE node ID is used to identify an unnumbered
|
|
TE link.";
|
|
}
|
|
leaf node-id {
|
|
type te-node-id;
|
|
mandatory true;
|
|
description
|
|
"The identifier of a node in the TE topology.";
|
|
}
|
|
leaf hop-type {
|
|
type te-hop-type;
|
|
default "strict";
|
|
description
|
|
"Strict or loose hop.";
|
|
}
|
|
leaf direction {
|
|
type te-link-direction;
|
|
default "outgoing";
|
|
description
|
|
"Link route object direction.";
|
|
}
|
|
description
|
|
"Unnumbered link explicit route hop.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels,
|
|
Section 4.3, EXPLICIT_ROUTE in RSVP-TE
|
|
RFC 3477: Signalling Unnumbered Links in Resource
|
|
ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
|
|
}
|
|
}
|
|
case as-number {
|
|
container as-number-hop {
|
|
leaf as-number {
|
|
type inet:as-number;
|
|
mandatory true;
|
|
description
|
|
"The Autonomous System (AS) number.";
|
|
}
|
|
leaf hop-type {
|
|
type te-hop-type;
|
|
default "strict";
|
|
description
|
|
"Strict or loose hop.";
|
|
}
|
|
description
|
|
"AS explicit route hop.";
|
|
}
|
|
}
|
|
case label {
|
|
container label-hop {
|
|
description
|
|
"Label hop type.";
|
|
uses te-label;
|
|
}
|
|
description
|
|
"The label explicit route hop type.";
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping record-route-state {
|
|
description
|
|
"The Record Route grouping.";
|
|
leaf index {
|
|
type uint32;
|
|
description
|
|
"Record Route hop index. The index is used to
|
|
identify an entry in the list. The order of entries
|
|
is defined by the user without relying on key values.";
|
|
}
|
|
choice type {
|
|
description
|
|
"The Record Route entry type.";
|
|
case numbered-node-hop {
|
|
container numbered-node-hop {
|
|
description
|
|
"Numbered node route hop container.";
|
|
leaf node-id {
|
|
type te-node-id;
|
|
mandatory true;
|
|
description
|
|
"The identifier of a node in the TE topology.";
|
|
}
|
|
leaf-list flags {
|
|
type path-attribute-flags;
|
|
description
|
|
"Path attributes flags.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
|
|
RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
|
|
Tunnels
|
|
RFC 4561: Definition of a Record Route Object (RRO)
|
|
Node-Id Sub-Object";
|
|
}
|
|
}
|
|
description
|
|
"Numbered node route hop.";
|
|
}
|
|
case numbered-link-hop {
|
|
container numbered-link-hop {
|
|
description
|
|
"Numbered link route hop container.";
|
|
leaf link-tp-id {
|
|
type te-tp-id;
|
|
mandatory true;
|
|
description
|
|
"Numbered TE LTP identifier.";
|
|
}
|
|
leaf-list flags {
|
|
type path-attribute-flags;
|
|
description
|
|
"Path attributes flags.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
|
|
RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
|
|
Tunnels
|
|
RFC 4561: Definition of a Record Route Object (RRO)
|
|
Node-Id Sub-Object";
|
|
}
|
|
}
|
|
description
|
|
"Numbered link route hop.";
|
|
}
|
|
case unnumbered-link-hop {
|
|
container unnumbered-link-hop {
|
|
leaf link-tp-id {
|
|
type te-tp-id;
|
|
mandatory true;
|
|
description
|
|
"TE LTP identifier. The combination of the TE link ID
|
|
and the TE node ID is used to identify an unnumbered
|
|
TE link.";
|
|
}
|
|
leaf node-id {
|
|
type te-node-id;
|
|
description
|
|
"The identifier of a node in the TE topology.";
|
|
}
|
|
leaf-list flags {
|
|
type path-attribute-flags;
|
|
description
|
|
"Path attributes flags.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
|
|
RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
|
|
Tunnels
|
|
RFC 4561: Definition of a Record Route Object (RRO)
|
|
Node-Id Sub-Object";
|
|
}
|
|
description
|
|
"Unnumbered link Record Route hop.";
|
|
reference
|
|
"RFC 3477: Signalling Unnumbered Links in Resource
|
|
ReSerVation Protocol - Traffic Engineering (RSVP-TE)";
|
|
}
|
|
description
|
|
"Unnumbered link route hop.";
|
|
}
|
|
case label {
|
|
container label-hop {
|
|
description
|
|
"Label route hop type.";
|
|
uses te-label;
|
|
leaf-list flags {
|
|
type path-attribute-flags;
|
|
description
|
|
"Path attributes flags.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels
|
|
RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP
|
|
Tunnels
|
|
RFC 4561: Definition of a Record Route Object (RRO)
|
|
Node-Id Sub-Object";
|
|
}
|
|
}
|
|
description
|
|
"The label Record Route entry types.";
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping label-restriction-info {
|
|
description
|
|
"Label set item information.";
|
|
leaf restriction {
|
|
type enumeration {
|
|
enum inclusive {
|
|
description
|
|
"The label or label range is inclusive.";
|
|
}
|
|
enum exclusive {
|
|
description
|
|
"The label or label range is exclusive.";
|
|
}
|
|
}
|
|
default "inclusive";
|
|
description
|
|
"Indicates whether the list item is inclusive or exclusive.";
|
|
}
|
|
leaf index {
|
|
type uint32;
|
|
description
|
|
"The index of the label restriction list entry.";
|
|
}
|
|
container label-start {
|
|
must "(not(../label-end/te-label/direction) and"
|
|
+ " not(te-label/direction))"
|
|
+ " or "
|
|
+ "(../label-end/te-label/direction = te-label/direction)"
|
|
+ " or "
|
|
+ "(not(te-label/direction) and"
|
|
+ " (../label-end/te-label/direction = 'forward'))"
|
|
+ " or "
|
|
+ "(not(../label-end/te-label/direction) and"
|
|
+ " (te-label/direction = 'forward'))" {
|
|
error-message "'label-start' and 'label-end' must have the "
|
|
+ "same direction.";
|
|
}
|
|
description
|
|
"This is the starting label if a label range is specified.
|
|
This is the label value if a single label is specified,
|
|
in which case the 'label-end' attribute is not set.";
|
|
uses te-label;
|
|
}
|
|
container label-end {
|
|
must "(not(../label-start/te-label/direction) and"
|
|
+ " not(te-label/direction))"
|
|
+ " or "
|
|
+ "(../label-start/te-label/direction = te-label/direction)"
|
|
+ " or "
|
|
+ "(not(te-label/direction) and"
|
|
+ " (../label-start/te-label/direction = 'forward'))"
|
|
+ " or "
|
|
+ "(not(../label-start/te-label/direction) and"
|
|
+ " (te-label/direction = 'forward'))" {
|
|
error-message "'label-start' and 'label-end' must have the "
|
|
+ "same direction.";
|
|
}
|
|
description
|
|
"This is the ending label if a label range is specified.
|
|
This attribute is not set if a single label is specified.";
|
|
uses te-label;
|
|
}
|
|
container label-step {
|
|
description
|
|
"The step increment between labels in the label range.
|
|
The label start/end values will have to be consistent
|
|
with the sign of label step. For example,
|
|
'label-start' < 'label-end' enforces 'label-step' > 0
|
|
'label-start' > 'label-end' enforces 'label-step' < 0.";
|
|
choice technology {
|
|
default "generic";
|
|
description
|
|
"Data-plane technology type.";
|
|
case generic {
|
|
leaf generic {
|
|
type int32;
|
|
default "1";
|
|
description
|
|
"Label range step.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
leaf range-bitmap {
|
|
type yang:hex-string;
|
|
description
|
|
"When there are gaps between 'label-start' and 'label-end',
|
|
this attribute is used to specify the positions
|
|
of the used labels. This is represented in big endian as
|
|
'hex-string'.
|
|
The most significant byte in the hex-string is the farthest
|
|
to the left in the byte sequence. Leading zero bytes in the
|
|
configured value may be omitted for brevity.
|
|
Each bit position in the 'range-bitmap' 'hex-string' maps
|
|
to a label in the range derived from 'label-start'.
|
|
|
|
For example, assuming that 'label-start' = 16000 and
|
|
'range-bitmap' = 0x01000001, then:
|
|
|
|
- bit position (0) is set, and the corresponding mapped
|
|
label from the range is 16000 + (0 * 'label-step') or
|
|
16000 for default 'label-step' = 1.
|
|
- bit position (24) is set, and the corresponding mapped
|
|
label from the range is 16000 + (24 * 'label-step') or
|
|
16024 for default 'label-step' = 1.";
|
|
}
|
|
}
|
|
|
|
grouping label-set-info {
|
|
description
|
|
"Grouping for the list of label restrictions specifying what
|
|
labels may or may not be used.";
|
|
container label-restrictions {
|
|
description
|
|
"The label restrictions container.";
|
|
list label-restriction {
|
|
key "index";
|
|
description
|
|
"The absence of the label restrictions container implies
|
|
that all labels are acceptable; otherwise, only restricted
|
|
labels are available.";
|
|
reference
|
|
"RFC 7579: General Network Element Constraint Encoding
|
|
for GMPLS-Controlled Networks";
|
|
uses label-restriction-info;
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping optimization-metric-entry {
|
|
description
|
|
"Optimization metrics configuration grouping.";
|
|
leaf metric-type {
|
|
type identityref {
|
|
base path-metric-type;
|
|
}
|
|
description
|
|
"Identifies the 'metric-type' that the path computation
|
|
process uses for optimization.";
|
|
}
|
|
leaf weight {
|
|
type uint8;
|
|
default "1";
|
|
description
|
|
"TE path metric normalization weight.";
|
|
}
|
|
container explicit-route-exclude-objects {
|
|
when "../metric-type = "
|
|
+ "'te-types:path-metric-optimize-excludes'";
|
|
description
|
|
"Container for the 'exclude route' object list.";
|
|
uses path-route-exclude-objects;
|
|
}
|
|
container explicit-route-include-objects {
|
|
when "../metric-type = "
|
|
+ "'te-types:path-metric-optimize-includes'";
|
|
description
|
|
"Container for the 'include route' object list.";
|
|
uses path-route-include-objects;
|
|
}
|
|
}
|
|
|
|
grouping common-constraints {
|
|
description
|
|
"Common constraints grouping that can be set on
|
|
a constraint set or directly on the tunnel.";
|
|
uses te-bandwidth {
|
|
description
|
|
"A requested bandwidth to use for path computation.";
|
|
}
|
|
leaf link-protection {
|
|
type identityref {
|
|
base link-protection-type;
|
|
}
|
|
default "te-types:link-protection-unprotected";
|
|
description
|
|
"Link protection type required for the links included
|
|
in the computed path.";
|
|
reference
|
|
"RFC 4202: Routing Extensions in Support of
|
|
Generalized Multi-Protocol Label Switching (GMPLS)";
|
|
}
|
|
leaf setup-priority {
|
|
type uint8 {
|
|
range "0..7";
|
|
}
|
|
default "7";
|
|
description
|
|
"TE LSP requested setup priority.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
|
|
}
|
|
leaf hold-priority {
|
|
type uint8 {
|
|
range "0..7";
|
|
}
|
|
default "7";
|
|
description
|
|
"TE LSP requested hold priority.";
|
|
reference
|
|
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels";
|
|
}
|
|
leaf signaling-type {
|
|
type identityref {
|
|
base path-signaling-type;
|
|
}
|
|
default "te-types:path-setup-rsvp";
|
|
description
|
|
"TE tunnel path signaling type.";
|
|
}
|
|
}
|
|
|
|
grouping tunnel-constraints {
|
|
description
|
|
"Tunnel constraints grouping that can be set on
|
|
a constraint set or directly on the tunnel.";
|
|
uses te-topology-identifier;
|
|
uses common-constraints;
|
|
}
|
|
|
|
grouping path-constraints-route-objects {
|
|
description
|
|
"List of route entries to be included or excluded when
|
|
performing the path computation.";
|
|
container explicit-route-objects-always {
|
|
description
|
|
"Container for the 'exclude route' object list.";
|
|
list route-object-exclude-always {
|
|
key "index";
|
|
ordered-by user;
|
|
description
|
|
"List of route objects to always exclude from the path
|
|
computation.";
|
|
leaf index {
|
|
type uint32;
|
|
description
|
|
"Explicit Route Object index. The index is used to
|
|
identify an entry in the list. The order of entries
|
|
is defined by the user without relying on key values.";
|
|
}
|
|
uses explicit-route-hop;
|
|
}
|
|
list route-object-include-exclude {
|
|
key "index";
|
|
ordered-by user;
|
|
description
|
|
"List of route objects to include or exclude in the path
|
|
computation.";
|
|
leaf explicit-route-usage {
|
|
type identityref {
|
|
base route-usage-type;
|
|
}
|
|
default "te-types:route-include-object";
|
|
description
|
|
"Indicates whether to include or exclude the
|
|
route object. The default is to include it.";
|
|
}
|
|
leaf index {
|
|
type uint32;
|
|
description
|
|
"Route object include-exclude index. The index is used
|
|
to identify an entry in the list. The order of entries
|
|
is defined by the user without relying on key values.";
|
|
}
|
|
uses explicit-route-hop {
|
|
augment "type" {
|
|
case srlg {
|
|
container srlg {
|
|
description
|
|
"SRLG container.";
|
|
leaf srlg {
|
|
type uint32;
|
|
description
|
|
"SRLG value.";
|
|
}
|
|
}
|
|
description
|
|
"An SRLG value to be included or excluded.";
|
|
}
|
|
description
|
|
"Augmentation for a generic explicit route for SRLG
|
|
exclusion.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping path-route-include-objects {
|
|
description
|
|
"List of route objects to be included when performing
|
|
the path computation.";
|
|
list route-object-include-object {
|
|
key "index";
|
|
ordered-by user;
|
|
description
|
|
"List of Explicit Route Objects to be included in the
|
|
path computation.";
|
|
leaf index {
|
|
type uint32;
|
|
description
|
|
"Route object entry index. The index is used to
|
|
identify an entry in the list. The order of entries
|
|
is defined by the user without relying on key values.";
|
|
}
|
|
uses explicit-route-hop;
|
|
}
|
|
}
|
|
|
|
grouping path-route-exclude-objects {
|
|
description
|
|
"List of route objects to be excluded when performing
|
|
the path computation.";
|
|
list route-object-exclude-object {
|
|
key "index";
|
|
ordered-by user;
|
|
description
|
|
"List of Explicit Route Objects to be excluded in the
|
|
path computation.";
|
|
leaf index {
|
|
type uint32;
|
|
description
|
|
"Route object entry index. The index is used to
|
|
identify an entry in the list. The order of entries
|
|
is defined by the user without relying on key values.";
|
|
}
|
|
uses explicit-route-hop {
|
|
augment "type" {
|
|
case srlg {
|
|
container srlg {
|
|
description
|
|
"SRLG container.";
|
|
leaf srlg {
|
|
type uint32;
|
|
description
|
|
"SRLG value.";
|
|
}
|
|
}
|
|
description
|
|
"An SRLG value to be included or excluded.";
|
|
}
|
|
description
|
|
"Augmentation for a generic explicit route for SRLG
|
|
exclusion.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping generic-path-metric-bounds {
|
|
description
|
|
"TE path metric bounds grouping.";
|
|
container path-metric-bounds {
|
|
description
|
|
"TE path metric bounds container.";
|
|
list path-metric-bound {
|
|
key "metric-type";
|
|
description
|
|
"List of TE path metric bounds.";
|
|
leaf metric-type {
|
|
type identityref {
|
|
base path-metric-type;
|
|
}
|
|
description
|
|
"Identifies an entry in the list of 'metric-type' items
|
|
bound for the TE path.";
|
|
}
|
|
leaf upper-bound {
|
|
type uint64;
|
|
default "0";
|
|
description
|
|
"Upper bound on the end-to-end TE path metric. A zero
|
|
indicates an unbounded upper limit for the specific
|
|
'metric-type'.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping generic-path-optimization {
|
|
description
|
|
"TE generic path optimization grouping.";
|
|
container optimizations {
|
|
description
|
|
"The objective function container that includes
|
|
attributes to impose when computing a TE path.";
|
|
choice algorithm {
|
|
description
|
|
"Optimizations algorithm.";
|
|
case metric {
|
|
if-feature "path-optimization-metric";
|
|
/* Optimize by metric */
|
|
list optimization-metric {
|
|
key "metric-type";
|
|
description
|
|
"TE path metric type.";
|
|
uses optimization-metric-entry;
|
|
}
|
|
/* Tiebreakers */
|
|
container tiebreakers {
|
|
description
|
|
"Container for the list of tiebreakers.";
|
|
list tiebreaker {
|
|
key "tiebreaker-type";
|
|
description
|
|
"The list of tiebreaker criteria to apply on an
|
|
equally favored set of paths, in order to pick
|
|
the best.";
|
|
leaf tiebreaker-type {
|
|
type identityref {
|
|
base path-metric-type;
|
|
}
|
|
description
|
|
"Identifies an entry in the list of tiebreakers.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
case objective-function {
|
|
if-feature "path-optimization-objective-function";
|
|
/* Objective functions */
|
|
container objective-function {
|
|
description
|
|
"The objective function container that includes
|
|
attributes to impose when computing a TE path.";
|
|
leaf objective-function-type {
|
|
type identityref {
|
|
base objective-function-type;
|
|
}
|
|
default "te-types:of-minimize-cost-path";
|
|
description
|
|
"Objective function entry.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping generic-path-affinities {
|
|
description
|
|
"Path affinities grouping.";
|
|
container path-affinities-values {
|
|
description
|
|
"Path affinities represented as values.";
|
|
list path-affinities-value {
|
|
key "usage";
|
|
description
|
|
"List of named affinity constraints.";
|
|
leaf usage {
|
|
type identityref {
|
|
base resource-affinities-type;
|
|
}
|
|
description
|
|
"Identifies an entry in the list of value affinity
|
|
constraints.";
|
|
}
|
|
leaf value {
|
|
type admin-groups;
|
|
default "";
|
|
description
|
|
"The affinity value. The default is empty.";
|
|
}
|
|
}
|
|
}
|
|
container path-affinity-names {
|
|
description
|
|
"Path affinities represented as names.";
|
|
list path-affinity-name {
|
|
key "usage";
|
|
description
|
|
"List of named affinity constraints.";
|
|
leaf usage {
|
|
type identityref {
|
|
base resource-affinities-type;
|
|
}
|
|
description
|
|
"Identifies an entry in the list of named affinity
|
|
constraints.";
|
|
}
|
|
list affinity-name {
|
|
key "name";
|
|
leaf name {
|
|
type string;
|
|
description
|
|
"Identifies a named affinity entry.";
|
|
}
|
|
description
|
|
"List of named affinities.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping generic-path-srlgs {
|
|
description
|
|
"Path SRLG grouping.";
|
|
container path-srlgs-lists {
|
|
description
|
|
"Path SRLG properties container.";
|
|
list path-srlgs-list {
|
|
key "usage";
|
|
description
|
|
"List of SRLG values to be included or excluded.";
|
|
leaf usage {
|
|
type identityref {
|
|
base route-usage-type;
|
|
}
|
|
description
|
|
"Identifies an entry in a list of SRLGs to either
|
|
include or exclude.";
|
|
}
|
|
leaf-list values {
|
|
type srlg;
|
|
description
|
|
"List of SRLG values.";
|
|
}
|
|
}
|
|
}
|
|
container path-srlgs-names {
|
|
description
|
|
"Container for the list of named SRLGs.";
|
|
list path-srlgs-name {
|
|
key "usage";
|
|
description
|
|
"List of named SRLGs to be included or excluded.";
|
|
leaf usage {
|
|
type identityref {
|
|
base route-usage-type;
|
|
}
|
|
description
|
|
"Identifies an entry in a list of named SRLGs to either
|
|
include or exclude.";
|
|
}
|
|
leaf-list names {
|
|
type string;
|
|
description
|
|
"List of named SRLGs.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
grouping generic-path-disjointness {
|
|
description
|
|
"Path disjointness grouping.";
|
|
leaf disjointness {
|
|
type te-path-disjointness;
|
|
description
|
|
"The type of resource disjointness.
|
|
When configured for a primary path, the disjointness level
|
|
applies to all secondary LSPs. When configured for a
|
|
secondary path, the disjointness level overrides the level
|
|
configured for the primary path.";
|
|
}
|
|
}
|
|
|
|
grouping common-path-constraints-attributes {
|
|
description
|
|
"Common path constraints configuration grouping.";
|
|
uses common-constraints;
|
|
uses generic-path-metric-bounds;
|
|
uses generic-path-affinities;
|
|
uses generic-path-srlgs;
|
|
}
|
|
|
|
grouping generic-path-constraints {
|
|
description
|
|
"Global named path constraints configuration grouping.";
|
|
container path-constraints {
|
|
description
|
|
"TE named path constraints container.";
|
|
uses common-path-constraints-attributes;
|
|
uses generic-path-disjointness;
|
|
}
|
|
}
|
|
|
|
grouping generic-path-properties {
|
|
description
|
|
"TE generic path properties grouping.";
|
|
container path-properties {
|
|
config false;
|
|
description
|
|
"The TE path properties.";
|
|
list path-metric {
|
|
key "metric-type";
|
|
description
|
|
"TE path metric type.";
|
|
leaf metric-type {
|
|
type identityref {
|
|
base path-metric-type;
|
|
}
|
|
description
|
|
"TE path metric type.";
|
|
}
|
|
leaf accumulative-value {
|
|
type uint64;
|
|
description
|
|
"TE path metric accumulative value.";
|
|
}
|
|
}
|
|
uses generic-path-affinities;
|
|
uses generic-path-srlgs;
|
|
container path-route-objects {
|
|
description
|
|
"Container for the list of route objects either returned by
|
|
the computation engine or actually used by an LSP.";
|
|
list path-route-object {
|
|
key "index";
|
|
ordered-by user;
|
|
description
|
|
"List of route objects either returned by the computation
|
|
engine or actually used by an LSP.";
|
|
leaf index {
|
|
type uint32;
|
|
description
|
|
"Route object entry index. The index is used to
|
|
identify an entry in the list. The order of entries
|
|
is defined by the user without relying on key
|
|
values.";
|
|
}
|
|
uses explicit-route-hop;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|