ietf-te-topology-preformat.yang | ietf-te-topology.yang | |||
---|---|---|---|---|
module ietf-te-topology { | module ietf-te-topology { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology"; | namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology"; | |||
prefix tet; | ||||
prefix "tet"; | ||||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix "yang"; | prefix yang; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
} | } | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix "inet"; | prefix inet; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
} | } | |||
import ietf-te-types { | import ietf-te-types { | |||
prefix "te-types"; | prefix te-types; | |||
reference | reference | |||
"RFC 8776: Common YANG Data Types for Traffic Engineering"; | "RFC 8776: Common YANG Data Types for Traffic Engineering"; | |||
} | } | |||
import ietf-network { | import ietf-network { | |||
prefix "nw"; | prefix nw; | |||
reference | reference | |||
"RFC 8345: A YANG Data Model for Network Topologies"; | "RFC 8345: A YANG Data Model for Network Topologies"; | |||
} | } | |||
import ietf-network-topology { | import ietf-network-topology { | |||
prefix "nt"; | prefix nt; | |||
reference | reference | |||
"RFC 8345: A YANG Data Model for Network Topologies"; | "RFC 8345: A YANG Data Model for Network Topologies"; | |||
} | } | |||
organization | organization | |||
"IETF Traffic Engineering Architecture and Signaling (TEAS) | "IETF Traffic Engineering Architecture and Signaling (TEAS) | |||
Working Group"; | Working Group"; | |||
contact | contact | |||
"WG Web: <https://datatracker.ietf.org/wg/teas/> | "WG Web: <https://datatracker.ietf.org/wg/teas/> | |||
WG List: <mailto:teas@ietf.org> | WG List: <mailto:teas@ietf.org> | |||
Editor: Xufeng Liu | Editor: Xufeng Liu | |||
<mailto:xufeng.liu.ietf@gmail.com> | <mailto:xufeng.liu.ietf@gmail.com> | |||
Editor: Igor Bryskin | Editor: Igor Bryskin | |||
<mailto:i_bryskin@yahoo.com> | <mailto:i_bryskin@yahoo.com> | |||
skipping to change at line 79 ¶ | skipping to change at line 73 ¶ | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject to | without modification, is permitted pursuant to, and subject to | |||
the license terms contained in, the Simplified BSD License set | the license terms contained in, the Simplified BSD License set | |||
forth in Section 4.c of the IETF Trust's Legal Provisions | forth in Section 4.c of the IETF Trust's Legal Provisions | |||
Relating to IETF Documents | Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of RFC 8795; see the | This version of this YANG module is part of RFC 8795; see the | |||
RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
revision "2020-06-29" { | revision 2020-06-29 { | |||
description "Initial revision."; | description | |||
"Initial revision."; | ||||
reference | reference | |||
"RFC 8795: YANG Data Model for Traffic Engineering (TE) | "RFC 8795: YANG Data Model for Traffic Engineering (TE) | |||
Topologies"; | Topologies"; | |||
} | } | |||
/* | /* | |||
* Features | * Features | |||
*/ | */ | |||
feature nsrlg { | feature nsrlg { | |||
description | description | |||
"This feature indicates that the system supports NSRLGs | "This feature indicates that the system supports NSRLGs | |||
(Non-Shared Risk Link Groups)."; | (Non-Shared Risk Link Groups)."; | |||
} | } | |||
feature te-topology-hierarchy { | feature te-topology-hierarchy { | |||
description | description | |||
"This feature indicates that the system allows an underlay | "This feature indicates that the system allows an underlay | |||
and/or overlay TE topology hierarchy."; | and/or overlay TE topology hierarchy."; | |||
skipping to change at line 110 ¶ | skipping to change at line 106 ¶ | |||
feature template { | feature template { | |||
description | description | |||
"This feature indicates that the system supports | "This feature indicates that the system supports | |||
template configuration."; | template configuration."; | |||
} | } | |||
/* | /* | |||
* Typedefs | * Typedefs | |||
*/ | */ | |||
typedef geographic-coordinate-degree { | typedef geographic-coordinate-degree { | |||
type decimal64 { | type decimal64 { | |||
fraction-digits 8; | fraction-digits 8; | |||
} | } | |||
description | description | |||
"Decimal degree (DD) used to express latitude and longitude | "Decimal degree (DD) used to express latitude and longitude | |||
geographic coordinates."; | geographic coordinates."; | |||
} // geographic-coordinate-degree | } | |||
// geographic-coordinate-degree | ||||
typedef te-info-source { | typedef te-info-source { | |||
type enumeration { | type enumeration { | |||
enum unknown { | enum unknown { | |||
description "The source is unknown."; | description | |||
"The source is unknown."; | ||||
} | } | |||
enum locally-configured { | enum locally-configured { | |||
description "Configured entity."; | description | |||
"Configured entity."; | ||||
} | } | |||
enum ospfv2 { | enum ospfv2 { | |||
description "OSPFv2."; | description | |||
"OSPFv2."; | ||||
} | } | |||
enum ospfv3 { | enum ospfv3 { | |||
description "OSPFv3."; | description | |||
"OSPFv3."; | ||||
} | } | |||
enum isis { | enum isis { | |||
description "IS-IS."; | description | |||
"IS-IS."; | ||||
} | } | |||
enum bgp-ls { | enum bgp-ls { | |||
description "BGP-LS."; | description | |||
"BGP-LS."; | ||||
reference | reference | |||
"RFC 7752: North-Bound Distribution of Link-State and | "RFC 7752: North-Bound Distribution of Link-State and | |||
Traffic Engineering (TE) Information Using BGP"; | Traffic Engineering (TE) Information Using BGP"; | |||
} | } | |||
enum system-processed { | enum system-processed { | |||
description "System-processed entity."; | description | |||
"System-processed entity."; | ||||
} | } | |||
enum other { | enum other { | |||
description "Other source."; | description | |||
"Other source."; | ||||
} | } | |||
} | } | |||
description | description | |||
"Describes the type of source that has provided the | "Describes the type of source that has provided the | |||
related information, and the source's credibility."; | related information, and the source's credibility."; | |||
} // te-info-source | } | |||
// te-info-source | ||||
/* | /* | |||
* Groupings | * Groupings | |||
*/ | */ | |||
grouping connectivity-matrix-entry-path-attributes { | grouping connectivity-matrix-entry-path-attributes { | |||
description | description | |||
"Attributes of a connectivity matrix entry."; | "Attributes of a connectivity matrix entry."; | |||
leaf is-allowed { | leaf is-allowed { | |||
type boolean; | type boolean; | |||
description | description | |||
"'true' - switching is allowed; | "'true' - switching is allowed; | |||
'false' - switching is disallowed."; | 'false' - switching is disallowed."; | |||
} | } | |||
container underlay { | container underlay { | |||
skipping to change at line 166 ¶ | skipping to change at line 176 ¶ | |||
grouping connectivity-matrix-entry-path-attributes { | grouping connectivity-matrix-entry-path-attributes { | |||
description | description | |||
"Attributes of a connectivity matrix entry."; | "Attributes of a connectivity matrix entry."; | |||
leaf is-allowed { | leaf is-allowed { | |||
type boolean; | type boolean; | |||
description | description | |||
"'true' - switching is allowed; | "'true' - switching is allowed; | |||
'false' - switching is disallowed."; | 'false' - switching is disallowed."; | |||
} | } | |||
container underlay { | container underlay { | |||
if-feature te-topology-hierarchy; | if-feature "te-topology-hierarchy"; | |||
description "Attributes of the TE link underlay."; | description | |||
"Attributes of the TE link underlay."; | ||||
reference | reference | |||
"RFC 4206: Label Switched Paths (LSP) Hierarchy with | "RFC 4206: Label Switched Paths (LSP) Hierarchy with | |||
Generalized Multi-Protocol Label Switching (GMPLS) | Generalized Multi-Protocol Label Switching (GMPLS) | |||
Traffic Engineering (TE)"; | Traffic Engineering (TE)"; | |||
uses te-link-underlay-attributes; | uses te-link-underlay-attributes; | |||
} // underlay | } | |||
// underlay | ||||
uses te-types:generic-path-constraints; | uses te-types:generic-path-constraints; | |||
uses te-types:generic-path-optimization; | uses te-types:generic-path-optimization; | |||
uses te-types:generic-path-properties; | uses te-types:generic-path-properties; | |||
} // connectivity-matrix-entry-path-attributes | } | |||
// connectivity-matrix-entry-path-attributes | ||||
grouping geolocation-container { | grouping geolocation-container { | |||
description | description | |||
"Contains a GPS location."; | "Contains a GPS location."; | |||
container geolocation{ | container geolocation { | |||
config false; | config false; | |||
description | description | |||
"Contains a GPS location."; | "Contains a GPS location."; | |||
leaf altitude { | leaf altitude { | |||
type int64; | type int64; | |||
units millimeter; | units "millimeter"; | |||
description | description | |||
"Distance above sea level."; | "Distance above sea level."; | |||
} | } | |||
leaf latitude { | leaf latitude { | |||
type geographic-coordinate-degree { | type geographic-coordinate-degree { | |||
range "-90..90"; | range "-90..90"; | |||
} | } | |||
description | description | |||
"Relative position north or south on the Earth's surface."; | "Relative position north or south on the Earth's surface."; | |||
} | } | |||
leaf longitude { | leaf longitude { | |||
type geographic-coordinate-degree { | type geographic-coordinate-degree { | |||
range "-180..180"; | range "-180..180"; | |||
} | } | |||
description | description | |||
"Angular distance east or west on the Earth's surface."; | "Angular distance east or west on the Earth's surface."; | |||
} | } | |||
} // gps-location | } | |||
} // geolocation-container | // gps-location | |||
} | ||||
// geolocation-container | ||||
grouping information-source-state-attributes { | grouping information-source-state-attributes { | |||
description | description | |||
"The attributes identifying the source that has provided the | "The attributes identifying the source that has provided the | |||
related information, and the source's credibility."; | related information, and the source's credibility."; | |||
leaf credibility-preference { | leaf credibility-preference { | |||
type uint16; | type uint16; | |||
description | description | |||
"The preference value for calculating the Traffic | "The preference value for calculating the Traffic | |||
Engineering database credibility value used for | Engineering database credibility value used for | |||
tie-break selection between different information-source | tie-break selection between different information-source | |||
values. A higher value is preferable."; | values. A higher value is preferable."; | |||
} | } | |||
leaf logical-network-element { | leaf logical-network-element { | |||
type string; | type string; | |||
description | description | |||
"When applicable, this is the name of a logical network | "When applicable, this is the name of a logical network | |||
element from which the information is learned."; | element from which the information is learned."; | |||
} // logical-network-element | } | |||
// logical-network-element | ||||
leaf network-instance { | leaf network-instance { | |||
type string; | type string; | |||
description | description | |||
"When applicable, this is the name of a network instance | "When applicable, this is the name of a network instance | |||
from which the information is learned."; | from which the information is learned."; | |||
} // network-instance | } | |||
} // information-source-state-attributes | // network-instance | |||
} | ||||
// information-source-state-attributes | ||||
grouping information-source-per-link-attributes { | grouping information-source-per-link-attributes { | |||
description | description | |||
"Per-node container of the attributes identifying the source | "Per-node container of the attributes identifying the source | |||
that has provided the related information, and the source's | that has provided the related information, and the source's | |||
credibility."; | credibility."; | |||
leaf information-source { | leaf information-source { | |||
type te-info-source; | type te-info-source; | |||
config false; | config false; | |||
description | description | |||
skipping to change at line 267 ¶ | skipping to change at line 286 ¶ | |||
description | description | |||
"Contains state attributes related to the information | "Contains state attributes related to the information | |||
source."; | source."; | |||
uses information-source-state-attributes; | uses information-source-state-attributes; | |||
container topology { | container topology { | |||
description | description | |||
"When the information is processed by the system, | "When the information is processed by the system, | |||
the attributes in this container indicate which topology | the attributes in this container indicate which topology | |||
is used to generate the result information."; | is used to generate the result information."; | |||
uses nt:link-ref; | uses nt:link-ref; | |||
} // topology | } | |||
} // information-source-state | // topology | |||
} // information-source-per-link-attributes | } | |||
// information-source-state | ||||
} | ||||
// information-source-per-link-attributes | ||||
grouping information-source-per-node-attributes { | grouping information-source-per-node-attributes { | |||
description | description | |||
"Per-node container of the attributes identifying the source | "Per-node container of the attributes identifying the source | |||
that has provided the related information, and the source's | that has provided the related information, and the source's | |||
credibility."; | credibility."; | |||
leaf information-source { | leaf information-source { | |||
type te-info-source; | type te-info-source; | |||
config false; | config false; | |||
description | description | |||
skipping to change at line 301 ¶ | skipping to change at line 324 ¶ | |||
description | description | |||
"Contains state attributes related to the information | "Contains state attributes related to the information | |||
source."; | source."; | |||
uses information-source-state-attributes; | uses information-source-state-attributes; | |||
container topology { | container topology { | |||
description | description | |||
"When the information is processed by the system, | "When the information is processed by the system, | |||
the attributes in this container indicate which topology | the attributes in this container indicate which topology | |||
is used to generate the result information."; | is used to generate the result information."; | |||
uses nw:node-ref; | uses nw:node-ref; | |||
} // topology | } | |||
} // information-source-state | // topology | |||
} // information-source-per-node-attributes | } | |||
// information-source-state | ||||
} | ||||
// information-source-per-node-attributes | ||||
grouping interface-switching-capability-list { | grouping interface-switching-capability-list { | |||
description | description | |||
"List of Interface Switching Capability Descriptors (ISCDs)."; | "List of Interface Switching Capability Descriptors (ISCDs)."; | |||
list interface-switching-capability { | list interface-switching-capability { | |||
key "switching-capability encoding"; | key "switching-capability encoding"; | |||
description | description | |||
"List of ISCDs for this link."; | "List of ISCDs for this link."; | |||
reference | reference | |||
"RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) | "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) | |||
skipping to change at line 332 ¶ | skipping to change at line 359 ¶ | |||
"Switching capability for this interface."; | "Switching capability for this interface."; | |||
} | } | |||
leaf encoding { | leaf encoding { | |||
type identityref { | type identityref { | |||
base te-types:lsp-encoding-types; | base te-types:lsp-encoding-types; | |||
} | } | |||
description | description | |||
"Encoding supported by this interface."; | "Encoding supported by this interface."; | |||
} | } | |||
uses te-link-iscd-attributes; | uses te-link-iscd-attributes; | |||
} // interface-switching-capability | } | |||
} // interface-switching-capability-list | // interface-switching-capability | |||
} | ||||
// interface-switching-capability-list | ||||
grouping statistics-per-link { | grouping statistics-per-link { | |||
description | description | |||
"Statistics attributes per TE link."; | "Statistics attributes per TE link."; | |||
leaf discontinuity-time { | leaf discontinuity-time { | |||
type yang:date-and-time; | type yang:date-and-time; | |||
description | description | |||
"The time of the most recent occasion at which any one or | "The time of the most recent occasion at which any one or | |||
more of this interface's counters suffered a | more of this interface's counters suffered a | |||
discontinuity. If no such discontinuities have occurred | discontinuity. If no such discontinuities have occurred | |||
skipping to change at line 368 ¶ | skipping to change at line 398 ¶ | |||
} | } | |||
leaf maintenance-clears { | leaf maintenance-clears { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that a link was taken out of maintenance."; | "Number of times that a link was taken out of maintenance."; | |||
} | } | |||
leaf maintenance-sets { | leaf maintenance-sets { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that a link was put in maintenance."; | "Number of times that a link was put in maintenance."; | |||
} | } | |||
leaf modifies { | leaf modifies { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that a link was modified."; | "Number of times that a link was modified."; | |||
} | } | |||
/* Operational attributes */ | /* Operational attributes */ | |||
leaf downs { | leaf downs { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that a link was set to an operational state | "Number of times that a link was set to an operational state | |||
skipping to change at line 447 ¶ | skipping to change at line 477 ¶ | |||
description | description | |||
"Number of times that a link experienced restoration | "Number of times that a link experienced restoration | |||
reversion start."; | reversion start."; | |||
} | } | |||
leaf restoration-reversion-successes { | leaf restoration-reversion-successes { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that a link experienced restoration | "Number of times that a link experienced restoration | |||
reversion success."; | reversion success."; | |||
} | } | |||
} // statistics-per-link | } | |||
// statistics-per-link | ||||
grouping statistics-per-node { | grouping statistics-per-node { | |||
description | description | |||
"Statistics attributes per TE node."; | "Statistics attributes per TE node."; | |||
leaf discontinuity-time { | leaf discontinuity-time { | |||
type yang:date-and-time; | type yang:date-and-time; | |||
description | description | |||
"The time of the most recent occasion at which any one or | "The time of the most recent occasion at which any one or | |||
more of this interface's counters suffered a | more of this interface's counters suffered a | |||
discontinuity. If no such discontinuities have occurred | discontinuity. If no such discontinuities have occurred | |||
skipping to change at line 491 ¶ | skipping to change at line 523 ¶ | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that a node was taken out of | "Number of times that a node was taken out of | |||
maintenance."; | maintenance."; | |||
} | } | |||
leaf modifies { | leaf modifies { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that a node was modified."; | "Number of times that a node was modified."; | |||
} | } | |||
} // node | } | |||
// node | ||||
container connectivity-matrix-entry { | container connectivity-matrix-entry { | |||
description | description | |||
"Contains statistics attributes at the level of a | "Contains statistics attributes at the level of a | |||
connectivity matrix entry."; | connectivity matrix entry."; | |||
leaf creates { | leaf creates { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that a connectivity matrix entry was | "Number of times that a connectivity matrix entry was | |||
created."; | created."; | |||
reference | reference | |||
skipping to change at line 532 ¶ | skipping to change at line 565 ¶ | |||
description | description | |||
"Number of times that a connectivity matrix entry was | "Number of times that a connectivity matrix entry was | |||
enabled."; | enabled."; | |||
} | } | |||
leaf modifies { | leaf modifies { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that a connectivity matrix entry was | "Number of times that a connectivity matrix entry was | |||
modified."; | modified."; | |||
} | } | |||
} // connectivity-matrix-entry | } | |||
} // statistics-per-node | // connectivity-matrix-entry | |||
} | ||||
// statistics-per-node | ||||
grouping statistics-per-ttp { | grouping statistics-per-ttp { | |||
description | description | |||
"Statistics attributes per TE TTP (Tunnel Termination Point)."; | "Statistics attributes per TE TTP (Tunnel Termination Point)."; | |||
leaf discontinuity-time { | leaf discontinuity-time { | |||
type yang:date-and-time; | type yang:date-and-time; | |||
description | description | |||
"The time of the most recent occasion at which any one or | "The time of the most recent occasion at which any one or | |||
more of this interface's counters suffered a | more of this interface's counters suffered a | |||
discontinuity. If no such discontinuities have occurred | discontinuity. If no such discontinuities have occurred | |||
skipping to change at line 602 ¶ | skipping to change at line 638 ¶ | |||
description | description | |||
"Number of times that a TTP was taken out of service | "Number of times that a TTP was taken out of service | |||
(TE tunnel was released)."; | (TE tunnel was released)."; | |||
} | } | |||
leaf in-service-sets { | leaf in-service-sets { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that a TTP was put in service by a TE | "Number of times that a TTP was put in service by a TE | |||
tunnel (TE tunnel was set up)."; | tunnel (TE tunnel was set up)."; | |||
} | } | |||
} // tunnel-termination-point | } | |||
// tunnel-termination-point | ||||
container local-link-connectivity { | container local-link-connectivity { | |||
description | description | |||
"Contains statistics attributes at the TE LLCL (Local Link | "Contains statistics attributes at the TE LLCL (Local Link | |||
Connectivity List) level."; | Connectivity List) level."; | |||
leaf creates { | leaf creates { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that an LLCL entry was created."; | "Number of times that an LLCL entry was created."; | |||
reference | reference | |||
"RFC 6241: Network Configuration Protocol (NETCONF), | "RFC 6241: Network Configuration Protocol (NETCONF), | |||
skipping to change at line 639 ¶ | skipping to change at line 675 ¶ | |||
leaf enables { | leaf enables { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that an LLCL entry was enabled."; | "Number of times that an LLCL entry was enabled."; | |||
} | } | |||
leaf modifies { | leaf modifies { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Number of times that an LLCL entry was modified."; | "Number of times that an LLCL entry was modified."; | |||
} | } | |||
} // local-link-connectivity | } | |||
} // statistics-per-ttp | // local-link-connectivity | |||
} | ||||
// statistics-per-ttp | ||||
grouping te-link-augment { | grouping te-link-augment { | |||
description | description | |||
"Augmentation for a TE link."; | "Augmentation for a TE link."; | |||
uses te-link-config; | uses te-link-config; | |||
uses te-link-state-derived; | uses te-link-state-derived; | |||
container statistics { | container statistics { | |||
config false; | config false; | |||
description | description | |||
"Statistics data."; | "Statistics data."; | |||
uses statistics-per-link; | uses statistics-per-link; | |||
} // statistics | } | |||
} // te-link-augment | // statistics | |||
} | ||||
// te-link-augment | ||||
grouping te-link-config { | grouping te-link-config { | |||
description | description | |||
"TE link configuration grouping."; | "TE link configuration grouping."; | |||
choice bundle-stack-level { | choice bundle-stack-level { | |||
description | description | |||
"The TE link can be partitioned into bundled links or | "The TE link can be partitioned into bundled links or | |||
component links."; | component links."; | |||
case bundle { | case bundle { | |||
container bundled-links { | container bundled-links { | |||
skipping to change at line 679 ¶ | skipping to change at line 721 ¶ | |||
list bundled-link { | list bundled-link { | |||
key "sequence"; | key "sequence"; | |||
description | description | |||
"Specifies a bundled interface that is | "Specifies a bundled interface that is | |||
further partitioned."; | further partitioned."; | |||
leaf sequence { | leaf sequence { | |||
type uint32; | type uint32; | |||
description | description | |||
"Identifies the sequence in the bundle."; | "Identifies the sequence in the bundle."; | |||
} | } | |||
} // list bundled-link | } | |||
// list bundled-link | ||||
} | } | |||
} | } | |||
case component { | case component { | |||
container component-links { | container component-links { | |||
description | description | |||
"A set of component links."; | "A set of component links."; | |||
list component-link { | list component-link { | |||
key "sequence"; | key "sequence"; | |||
description | description | |||
"Specifies a component interface that is | "Specifies a component interface that is | |||
skipping to change at line 713 ¶ | skipping to change at line 755 ¶ | |||
} | } | |||
leaf des-interface-ref { | leaf des-interface-ref { | |||
type string; | type string; | |||
description | description | |||
"Reference to a component link interface on the | "Reference to a component link interface on the | |||
destination node."; | destination node."; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} // bundle-stack-level | } | |||
// bundle-stack-level | ||||
leaf-list te-link-template { | leaf-list te-link-template { | |||
if-feature template; | if-feature "template"; | |||
type leafref { | type leafref { | |||
path "../../../../te/templates/link-template/name"; | path "../../../../te/templates/link-template/name"; | |||
} | } | |||
description | description | |||
"The reference to a TE link template."; | "The reference to a TE link template."; | |||
} | } | |||
uses te-link-config-attributes; | uses te-link-config-attributes; | |||
} // te-link-config | } | |||
// te-link-config | ||||
grouping te-link-config-attributes { | grouping te-link-config-attributes { | |||
description | description | |||
"Link configuration attributes in a TE topology."; | "Link configuration attributes in a TE topology."; | |||
container te-link-attributes { | container te-link-attributes { | |||
description "Link attributes in a TE topology."; | description | |||
"Link attributes in a TE topology."; | ||||
leaf access-type { | leaf access-type { | |||
type te-types:te-link-access-type; | type te-types:te-link-access-type; | |||
description | description | |||
"Link access type, which can be point-to-point or | "Link access type, which can be point-to-point or | |||
multi-access."; | multi-access."; | |||
} | } | |||
container external-domain { | container external-domain { | |||
description | description | |||
"For an inter-domain link, specifies the attributes of | "For an inter-domain link, specifies the attributes of | |||
the remote end of the link, to facilitate the signaling at | the remote end of the link, to facilitate the signaling at | |||
skipping to change at line 760 ¶ | skipping to change at line 805 ¶ | |||
leaf remote-te-link-tp-id { | leaf remote-te-link-tp-id { | |||
type te-types:te-tp-id; | type te-types:te-tp-id; | |||
description | description | |||
"Remote TE LTP identifier, used together with | "Remote TE LTP identifier, used together with | |||
'remote-te-node-id' to identify the remote LTP in a | 'remote-te-node-id' to identify the remote LTP in a | |||
different domain."; | different domain."; | |||
} | } | |||
} | } | |||
leaf is-abstract { | leaf is-abstract { | |||
type empty; | type empty; | |||
description "Present if the link is abstract."; | description | |||
"Present if the link is abstract."; | ||||
} | } | |||
leaf name { | leaf name { | |||
type string; | type string; | |||
description "Link name."; | description | |||
"Link name."; | ||||
} | } | |||
container underlay { | container underlay { | |||
if-feature te-topology-hierarchy; | if-feature "te-topology-hierarchy"; | |||
description "Attributes of the TE link underlay."; | description | |||
"Attributes of the TE link underlay."; | ||||
reference | reference | |||
"RFC 4206: Label Switched Paths (LSP) Hierarchy with | "RFC 4206: Label Switched Paths (LSP) Hierarchy with | |||
Generalized Multi-Protocol Label Switching (GMPLS) | Generalized Multi-Protocol Label Switching (GMPLS) | |||
Traffic Engineering (TE)"; | Traffic Engineering (TE)"; | |||
uses te-link-underlay-attributes; | uses te-link-underlay-attributes; | |||
} // underlay | } | |||
// underlay | ||||
leaf admin-status { | leaf admin-status { | |||
type te-types:te-admin-status; | type te-types:te-admin-status; | |||
description | description | |||
"The administrative state of the link."; | "The administrative state of the link."; | |||
} | } | |||
uses te-link-info-attributes; | uses te-link-info-attributes; | |||
} // te-link-attributes | } | |||
} // te-link-config-attributes | // te-link-attributes | |||
} | ||||
// te-link-config-attributes | ||||
grouping te-link-info-attributes { | grouping te-link-info-attributes { | |||
description | description | |||
"Advertised TE information attributes."; | "Advertised TE information attributes."; | |||
leaf link-index { | leaf link-index { | |||
type uint64; | type uint64; | |||
description | description | |||
"The link identifier. If OSPF is used, this object | "The link identifier. If OSPF is used, this object | |||
represents an ospfLsdbID. If IS-IS is used, this object | represents an ospfLsdbID. If IS-IS is used, this object | |||
represents an isisLSPID. If a locally configured link is | represents an isisLSPID. If a locally configured link is | |||
skipping to change at line 849 ¶ | skipping to change at line 896 ¶ | |||
description | description | |||
"Maximum amount of bandwidth that can be reserved in this | "Maximum amount of bandwidth that can be reserved in this | |||
direction in this link. Units are in bytes per second."; | direction in this link. Units are in bytes per second."; | |||
reference | reference | |||
"RFC 3630: Traffic Engineering (TE) Extensions to OSPF | "RFC 3630: Traffic Engineering (TE) Extensions to OSPF | |||
Version 2 | Version 2 | |||
RFC 5305: IS-IS Extensions for Traffic Engineering"; | RFC 5305: IS-IS Extensions for Traffic Engineering"; | |||
} | } | |||
list unreserved-bandwidth { | list unreserved-bandwidth { | |||
key "priority"; | key "priority"; | |||
max-elements "8"; | max-elements 8; | |||
description | description | |||
"Unreserved bandwidth for priority levels 0-7. Units are in | "Unreserved bandwidth for priority levels 0-7. Units are in | |||
bytes per second."; | bytes per second."; | |||
reference | reference | |||
"RFC 3630: Traffic Engineering (TE) Extensions to OSPF | "RFC 3630: Traffic Engineering (TE) Extensions to OSPF | |||
Version 2 | Version 2 | |||
RFC 5305: IS-IS Extensions for Traffic Engineering"; | RFC 5305: IS-IS Extensions for Traffic Engineering"; | |||
leaf priority { | leaf priority { | |||
type uint8 { | type uint8 { | |||
range "0..7"; | range "0..7"; | |||
} | } | |||
description "Priority."; | description | |||
"Priority."; | ||||
} | } | |||
uses te-types:te-bandwidth; | uses te-types:te-bandwidth; | |||
} | } | |||
leaf te-default-metric { | leaf te-default-metric { | |||
type uint32; | type uint32; | |||
description | description | |||
"Traffic Engineering metric."; | "Traffic Engineering metric."; | |||
reference | reference | |||
"RFC 3630: Traffic Engineering (TE) Extensions to OSPF | "RFC 3630: Traffic Engineering (TE) Extensions to OSPF | |||
Version 2 | Version 2 | |||
skipping to change at line 894 ¶ | skipping to change at line 942 ¶ | |||
"IGP metric used for Traffic Engineering."; | "IGP metric used for Traffic Engineering."; | |||
reference | reference | |||
"RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a | "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a | |||
second MPLS Traffic Engineering (TE) Metric"; | second MPLS Traffic Engineering (TE) Metric"; | |||
} | } | |||
container te-srlgs { | container te-srlgs { | |||
description | description | |||
"Contains a list of SRLGs."; | "Contains a list of SRLGs."; | |||
leaf-list value { | leaf-list value { | |||
type te-types:srlg; | type te-types:srlg; | |||
description "SRLG value."; | description | |||
"SRLG value."; | ||||
reference | reference | |||
"RFC 4202: Routing Extensions in Support of | "RFC 4202: Routing Extensions in Support of | |||
Generalized Multi-Protocol Label Switching (GMPLS)"; | Generalized Multi-Protocol Label Switching (GMPLS)"; | |||
} | } | |||
} | } | |||
container te-nsrlgs { | container te-nsrlgs { | |||
if-feature nsrlg; | if-feature "nsrlg"; | |||
description | description | |||
"Contains a list of NSRLGs (Non-Shared Risk Link Groups). | "Contains a list of NSRLGs (Non-Shared Risk Link Groups). | |||
When an abstract TE link is configured, this list specifies | When an abstract TE link is configured, this list specifies | |||
the request that underlay TE paths need to be mutually | the request that underlay TE paths need to be mutually | |||
disjoint with other TE links in the same groups."; | disjoint with other TE links in the same groups."; | |||
leaf-list id { | leaf-list id { | |||
type uint32; | type uint32; | |||
description | description | |||
"NSRLG ID, uniquely configured within a topology."; | "NSRLG ID, uniquely configured within a topology."; | |||
reference | reference | |||
"RFC 4872: RSVP-TE Extensions in Support of End-to-End | "RFC 4872: RSVP-TE Extensions in Support of End-to-End | |||
Generalized Multi-Protocol Label Switching (GMPLS) | Generalized Multi-Protocol Label Switching (GMPLS) | |||
Recovery"; | Recovery"; | |||
} | } | |||
} | } | |||
} // te-link-info-attributes | } | |||
// te-link-info-attributes | ||||
grouping te-link-iscd-attributes { | grouping te-link-iscd-attributes { | |||
description | description | |||
"TE link ISCD attributes."; | "TE link ISCD attributes."; | |||
reference | reference | |||
"RFC 4203: OSPF Extensions in Support of Generalized | "RFC 4203: OSPF Extensions in Support of Generalized | |||
Multi-Protocol Label Switching (GMPLS), Section 1.4"; | Multi-Protocol Label Switching (GMPLS), Section 1.4"; | |||
list max-lsp-bandwidth { | list max-lsp-bandwidth { | |||
key "priority"; | key "priority"; | |||
max-elements "8"; | max-elements 8; | |||
description | description | |||
"Maximum Label Switched Path (LSP) bandwidth at | "Maximum Label Switched Path (LSP) bandwidth at | |||
priorities 0-7."; | priorities 0-7."; | |||
leaf priority { | leaf priority { | |||
type uint8 { | type uint8 { | |||
range "0..7"; | range "0..7"; | |||
} | } | |||
description "Priority."; | description | |||
"Priority."; | ||||
} | } | |||
uses te-types:te-bandwidth; | uses te-types:te-bandwidth; | |||
} | } | |||
} // te-link-iscd-attributes | } | |||
// te-link-iscd-attributes | ||||
grouping te-link-state-derived { | grouping te-link-state-derived { | |||
description | description | |||
"Link state attributes in a TE topology."; | "Link state attributes in a TE topology."; | |||
leaf oper-status { | leaf oper-status { | |||
type te-types:te-oper-status; | type te-types:te-oper-status; | |||
config false; | config false; | |||
description | description | |||
"The current operational state of the link."; | "The current operational state of the link."; | |||
} | } | |||
skipping to change at line 990 ¶ | skipping to change at line 1044 ¶ | |||
description | description | |||
"Restoration status."; | "Restoration status."; | |||
} | } | |||
leaf protection-status { | leaf protection-status { | |||
type te-types:te-recovery-status; | type te-types:te-recovery-status; | |||
description | description | |||
"Protection status."; | "Protection status."; | |||
} | } | |||
} | } | |||
container underlay { | container underlay { | |||
if-feature te-topology-hierarchy; | if-feature "te-topology-hierarchy"; | |||
config false; | config false; | |||
description "State attributes for the TE link underlay."; | description | |||
"State attributes for the TE link underlay."; | ||||
leaf dynamic { | leaf dynamic { | |||
type boolean; | type boolean; | |||
description | description | |||
"'true' if the underlay is dynamically created."; | "'true' if the underlay is dynamically created."; | |||
} | } | |||
leaf committed { | leaf committed { | |||
type boolean; | type boolean; | |||
description | description | |||
"'true' if the underlay is committed."; | "'true' if the underlay is committed."; | |||
} | } | |||
} | } | |||
} // te-link-state-derived | } | |||
// te-link-state-derived | ||||
grouping te-link-underlay-attributes { | grouping te-link-underlay-attributes { | |||
description "Attributes for the TE link underlay."; | description | |||
"Attributes for the TE link underlay."; | ||||
reference | reference | |||
"RFC 4206: Label Switched Paths (LSP) Hierarchy with | "RFC 4206: Label Switched Paths (LSP) Hierarchy with | |||
Generalized Multi-Protocol Label Switching (GMPLS) | Generalized Multi-Protocol Label Switching (GMPLS) | |||
Traffic Engineering (TE)"; | Traffic Engineering (TE)"; | |||
leaf enabled { | leaf enabled { | |||
type boolean; | type boolean; | |||
description | description | |||
"'true' if the underlay is enabled. | "'true' if the underlay is enabled. | |||
'false' if the underlay is disabled."; | 'false' if the underlay is disabled."; | |||
} | } | |||
skipping to change at line 1029 ¶ | skipping to change at line 1087 ¶ | |||
description | description | |||
"The service path on the underlay topology that | "The service path on the underlay topology that | |||
supports this link."; | supports this link."; | |||
uses nw:network-ref; | uses nw:network-ref; | |||
list path-element { | list path-element { | |||
key "path-element-id"; | key "path-element-id"; | |||
description | description | |||
"A list of path elements describing the service path."; | "A list of path elements describing the service path."; | |||
leaf path-element-id { | leaf path-element-id { | |||
type uint32; | type uint32; | |||
description "To identify the element in a path."; | description | |||
"To identify the element in a path."; | ||||
} | } | |||
uses te-path-element; | uses te-path-element; | |||
} | } | |||
} // primary-path | } | |||
// primary-path | ||||
list backup-path { | list backup-path { | |||
key "index"; | key "index"; | |||
description | description | |||
"A list of backup service paths on the underlay topology that | "A list of backup service paths on the underlay topology that | |||
protect the underlay primary path. If the primary path is | protect the underlay primary path. If the primary path is | |||
not protected, the list contains zero elements. If the | not protected, the list contains zero elements. If the | |||
primary path is protected, the list contains one or more | primary path is protected, the list contains one or more | |||
elements."; | elements."; | |||
leaf index { | leaf index { | |||
type uint32; | type uint32; | |||
skipping to change at line 1055 ¶ | skipping to change at line 1115 ¶ | |||
"A sequence number to identify a backup path."; | "A sequence number to identify a backup path."; | |||
} | } | |||
uses nw:network-ref; | uses nw:network-ref; | |||
list path-element { | list path-element { | |||
key "path-element-id"; | key "path-element-id"; | |||
description | description | |||
"A list of path elements describing the backup service | "A list of path elements describing the backup service | |||
path."; | path."; | |||
leaf path-element-id { | leaf path-element-id { | |||
type uint32; | type uint32; | |||
description "To identify the element in a path."; | description | |||
"To identify the element in a path."; | ||||
} | } | |||
uses te-path-element; | uses te-path-element; | |||
} | } | |||
} // underlay-backup-path | } | |||
// underlay-backup-path | ||||
leaf protection-type { | leaf protection-type { | |||
type identityref { | type identityref { | |||
base te-types:lsp-protection-type; | base te-types:lsp-protection-type; | |||
} | } | |||
description | description | |||
"Underlay protection type desired for this link."; | "Underlay protection type desired for this link."; | |||
} | } | |||
container tunnel-termination-points { | container tunnel-termination-points { | |||
description | description | |||
"Underlay TTPs desired for this link."; | "Underlay TTPs desired for this link."; | |||
skipping to change at line 1086 ¶ | skipping to change at line 1148 ¶ | |||
type binary; | type binary; | |||
description | description | |||
"Destination TTP identifier."; | "Destination TTP identifier."; | |||
} | } | |||
} | } | |||
container tunnels { | container tunnels { | |||
description | description | |||
"Underlay TE tunnels supporting this TE link."; | "Underlay TE tunnels supporting this TE link."; | |||
leaf sharing { | leaf sharing { | |||
type boolean; | type boolean; | |||
default true; | default "true"; | |||
description | description | |||
"'true' if the underlay tunnel can be shared with other | "'true' if the underlay tunnel can be shared with other | |||
TE links; | TE links; | |||
'false' if the underlay tunnel is dedicated to this | 'false' if the underlay tunnel is dedicated to this | |||
TE link. | TE link. | |||
This leaf is the default option for all TE tunnels | This leaf is the default option for all TE tunnels | |||
and may be overridden by the per-TE-tunnel value."; | and may be overridden by the per-TE-tunnel value."; | |||
} | } | |||
list tunnel { | list tunnel { | |||
key "tunnel-name"; | key "tunnel-name"; | |||
skipping to change at line 1117 ¶ | skipping to change at line 1179 ¶ | |||
"RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; | "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; | |||
} | } | |||
leaf sharing { | leaf sharing { | |||
type boolean; | type boolean; | |||
description | description | |||
"'true' if the underlay tunnel can be shared with other | "'true' if the underlay tunnel can be shared with other | |||
TE links; | TE links; | |||
'false' if the underlay tunnel is dedicated to this | 'false' if the underlay tunnel is dedicated to this | |||
TE link."; | TE link."; | |||
} | } | |||
} // tunnel | } | |||
} // tunnels | // tunnel | |||
} // te-link-underlay-attributes | } | |||
// tunnels | ||||
} | ||||
// te-link-underlay-attributes | ||||
grouping te-node-augment { | grouping te-node-augment { | |||
description | description | |||
"Augmentation for a TE node."; | "Augmentation for a TE node."; | |||
uses te-node-config; | uses te-node-config; | |||
uses te-node-state-derived; | uses te-node-state-derived; | |||
container statistics { | container statistics { | |||
config false; | config false; | |||
description | description | |||
"Statistics data."; | "Statistics data."; | |||
uses statistics-per-node; | uses statistics-per-node; | |||
} // statistics | } | |||
// statistics | ||||
list tunnel-termination-point { | list tunnel-termination-point { | |||
key "tunnel-tp-id"; | key "tunnel-tp-id"; | |||
description | description | |||
"A termination point can terminate a tunnel."; | "A termination point can terminate a tunnel."; | |||
leaf tunnel-tp-id { | leaf tunnel-tp-id { | |||
type binary; | type binary; | |||
description | description | |||
"TTP identifier."; | "TTP identifier."; | |||
} | } | |||
uses te-node-tunnel-termination-point-config; | uses te-node-tunnel-termination-point-config; | |||
leaf oper-status { | leaf oper-status { | |||
type te-types:te-oper-status; | type te-types:te-oper-status; | |||
config false; | config false; | |||
description | description | |||
"The current operational state of the TTP."; | "The current operational state of the TTP."; | |||
} | } | |||
uses geolocation-container; | uses geolocation-container; | |||
container statistics { | container statistics { | |||
config false; | config false; | |||
skipping to change at line 1156 ¶ | skipping to change at line 1221 ¶ | |||
config false; | config false; | |||
description | description | |||
"The current operational state of the TTP."; | "The current operational state of the TTP."; | |||
} | } | |||
uses geolocation-container; | uses geolocation-container; | |||
container statistics { | container statistics { | |||
config false; | config false; | |||
description | description | |||
"Statistics data."; | "Statistics data."; | |||
uses statistics-per-ttp; | uses statistics-per-ttp; | |||
} // statistics | } | |||
// statistics | ||||
// Relationship to other TTPs | // Relationship to other TTPs | |||
list supporting-tunnel-termination-point { | list supporting-tunnel-termination-point { | |||
key "node-ref tunnel-tp-ref"; | key "node-ref tunnel-tp-ref"; | |||
description | description | |||
"Identifies the TTPs on which this TTP depends."; | "Identifies the TTPs on which this TTP depends."; | |||
leaf node-ref { | leaf node-ref { | |||
type inet:uri; | type inet:uri; | |||
description | description | |||
"This leaf identifies the node in which the supporting | "This leaf identifies the node in which the supporting | |||
TTP is present. | TTP is present. | |||
This node is either the supporting node or a node in | This node is either the supporting node or a node in | |||
an underlay topology."; | an underlay topology."; | |||
} | } | |||
leaf tunnel-tp-ref { | leaf tunnel-tp-ref { | |||
type binary; | type binary; | |||
description | description | |||
"Reference to a TTP that is in either the supporting node | "Reference to a TTP that is in either the supporting node | |||
or a node in an underlay topology."; | or a node in an underlay topology."; | |||
} | } | |||
} // supporting-tunnel-termination-point | } | |||
} // tunnel-termination-point | // supporting-tunnel-termination-point | |||
} // te-node-augment | } | |||
// tunnel-termination-point | ||||
} | ||||
// te-node-augment | ||||
grouping te-node-config { | grouping te-node-config { | |||
description "TE node configuration grouping."; | description | |||
"TE node configuration grouping."; | ||||
leaf-list te-node-template { | leaf-list te-node-template { | |||
if-feature template; | if-feature "template"; | |||
type leafref { | type leafref { | |||
path "../../../../te/templates/node-template/name"; | path "../../../../te/templates/node-template/name"; | |||
} | } | |||
description | description | |||
"The reference to a TE node template."; | "The reference to a TE node template."; | |||
} | } | |||
uses te-node-config-attributes; | uses te-node-config-attributes; | |||
} // te-node-config | } | |||
// te-node-config | ||||
grouping te-node-config-attributes { | grouping te-node-config-attributes { | |||
description "Configuration node attributes in a TE topology."; | description | |||
"Configuration node attributes in a TE topology."; | ||||
container te-node-attributes { | container te-node-attributes { | |||
description "Contains node attributes in a TE topology."; | description | |||
"Contains node attributes in a TE topology."; | ||||
leaf admin-status { | leaf admin-status { | |||
type te-types:te-admin-status; | type te-types:te-admin-status; | |||
description | description | |||
"The administrative state of the link."; | "The administrative state of the link."; | |||
} | } | |||
uses te-node-connectivity-matrices; | uses te-node-connectivity-matrices; | |||
uses te-node-info-attributes; | uses te-node-info-attributes; | |||
} // te-node-attributes | } | |||
} // te-node-config-attributes | // te-node-attributes | |||
} | ||||
// te-node-config-attributes | ||||
grouping te-node-config-attributes-template { | grouping te-node-config-attributes-template { | |||
description | description | |||
"Configuration node attributes for a template in a TE | "Configuration node attributes for a template in a TE | |||
topology."; | topology."; | |||
container te-node-attributes { | container te-node-attributes { | |||
description "Contains node attributes in a TE topology."; | description | |||
"Contains node attributes in a TE topology."; | ||||
leaf admin-status { | leaf admin-status { | |||
type te-types:te-admin-status; | type te-types:te-admin-status; | |||
description | description | |||
"The administrative state of the link."; | "The administrative state of the link."; | |||
} | } | |||
uses te-node-info-attributes; | uses te-node-info-attributes; | |||
} // te-node-attributes | } | |||
} // te-node-config-attributes-template | // te-node-attributes | |||
} | ||||
// te-node-config-attributes-template | ||||
grouping te-node-connectivity-matrices { | grouping te-node-connectivity-matrices { | |||
description "Connectivity matrix on a TE node."; | description | |||
"Connectivity matrix on a TE node."; | ||||
container connectivity-matrices { | container connectivity-matrices { | |||
description | description | |||
"Contains a connectivity matrix on a TE node."; | "Contains a connectivity matrix on a TE node."; | |||
leaf number-of-entries { | leaf number-of-entries { | |||
type uint16; | type uint16; | |||
description | description | |||
"The number of connectivity matrix entries. | "The number of connectivity matrix entries. | |||
If this number is specified in the configuration request, | If this number is specified in the configuration request, | |||
the number is the requested number of entries, which may | the number is the requested number of entries, which may | |||
not all be listed in the list; | not all be listed in the list; | |||
skipping to change at line 1251 ¶ | skipping to change at line 1333 ¶ | |||
key "id"; | key "id"; | |||
description | description | |||
"Represents a node's switching limitations, i.e., | "Represents a node's switching limitations, i.e., | |||
limitations in the interconnecting network TE links | limitations in the interconnecting network TE links | |||
across the node."; | across the node."; | |||
reference | reference | |||
"RFC 7579: General Network Element Constraint Encoding | "RFC 7579: General Network Element Constraint Encoding | |||
for GMPLS-Controlled Networks"; | for GMPLS-Controlled Networks"; | |||
leaf id { | leaf id { | |||
type uint32; | type uint32; | |||
description "Identifies the connectivity matrix entry."; | description | |||
"Identifies the connectivity matrix entry."; | ||||
} | } | |||
} // connectivity-matrix | } | |||
} // connectivity-matrices | // connectivity-matrix | |||
} // te-node-connectivity-matrices | } | |||
// connectivity-matrices | ||||
} | ||||
// te-node-connectivity-matrices | ||||
grouping te-node-connectivity-matrix-attributes { | grouping te-node-connectivity-matrix-attributes { | |||
description | description | |||
"Termination point references of a connectivity matrix entry."; | "Termination point references of a connectivity matrix entry."; | |||
container from { | container from { | |||
description | description | |||
"Reference to a source LTP."; | "Reference to a source LTP."; | |||
leaf tp-ref { | leaf tp-ref { | |||
type leafref { | type leafref { | |||
path "../../../../../../nt:termination-point/nt:tp-id"; | path "../../../../../../nt:termination-point/nt:tp-id"; | |||
skipping to change at line 1285 ¶ | skipping to change at line 1372 ¶ | |||
leaf tp-ref { | leaf tp-ref { | |||
type leafref { | type leafref { | |||
path "../../../../../../nt:termination-point/nt:tp-id"; | path "../../../../../../nt:termination-point/nt:tp-id"; | |||
} | } | |||
description | description | |||
"Relative reference to a termination point."; | "Relative reference to a termination point."; | |||
} | } | |||
uses te-types:label-set-info; | uses te-types:label-set-info; | |||
} | } | |||
uses connectivity-matrix-entry-path-attributes; | uses connectivity-matrix-entry-path-attributes; | |||
} // te-node-connectivity-matrix-attributes | } | |||
// te-node-connectivity-matrix-attributes | ||||
grouping te-node-info-attributes { | grouping te-node-info-attributes { | |||
description | description | |||
"Advertised TE information attributes."; | "Advertised TE information attributes."; | |||
leaf domain-id { | leaf domain-id { | |||
type uint32; | type uint32; | |||
description | description | |||
"Identifies the domain to which this node belongs. | "Identifies the domain to which this node belongs. | |||
This attribute is used to support inter-domain links."; | This attribute is used to support inter-domain links."; | |||
reference | reference | |||
skipping to change at line 1312 ¶ | skipping to change at line 1401 ¶ | |||
System (AS) MPLS and GMPLS Traffic Engineering"; | System (AS) MPLS and GMPLS Traffic Engineering"; | |||
} | } | |||
leaf is-abstract { | leaf is-abstract { | |||
type empty; | type empty; | |||
description | description | |||
"Present if the node is abstract; not present if the node | "Present if the node is abstract; not present if the node | |||
is actual."; | is actual."; | |||
} | } | |||
leaf name { | leaf name { | |||
type string; | type string; | |||
description "Node name."; | description | |||
"Node name."; | ||||
} | } | |||
leaf-list signaling-address { | leaf-list signaling-address { | |||
type inet:ip-address; | type inet:ip-address; | |||
description "The node's signaling address."; | description | |||
"The node's signaling address."; | ||||
} | } | |||
container underlay-topology { | container underlay-topology { | |||
if-feature te-topology-hierarchy; | if-feature "te-topology-hierarchy"; | |||
description | description | |||
"When an abstract node encapsulates a topology, the | "When an abstract node encapsulates a topology, the | |||
attributes in this container point to said topology."; | attributes in this container point to said topology."; | |||
uses nw:network-ref; | uses nw:network-ref; | |||
} | } | |||
} // te-node-info-attributes | } | |||
// te-node-info-attributes | ||||
grouping te-node-state-derived { | grouping te-node-state-derived { | |||
description "Node state attributes in a TE topology."; | description | |||
"Node state attributes in a TE topology."; | ||||
leaf oper-status { | leaf oper-status { | |||
type te-types:te-oper-status; | type te-types:te-oper-status; | |||
config false; | config false; | |||
description | description | |||
"The current operational state of the node."; | "The current operational state of the node."; | |||
} | } | |||
uses geolocation-container; | uses geolocation-container; | |||
leaf is-multi-access-dr { | leaf is-multi-access-dr { | |||
type empty; | type empty; | |||
config false; | config false; | |||
skipping to change at line 1359 ¶ | skipping to change at line 1453 ¶ | |||
list information-source-entry { | list information-source-entry { | |||
key "information-source information-source-instance"; | key "information-source information-source-instance"; | |||
config false; | config false; | |||
description | description | |||
"A list of information sources learned, including the source | "A list of information sources learned, including the source | |||
that is used."; | that is used."; | |||
uses information-source-per-node-attributes; | uses information-source-per-node-attributes; | |||
uses te-node-connectivity-matrices; | uses te-node-connectivity-matrices; | |||
uses te-node-info-attributes; | uses te-node-info-attributes; | |||
} | } | |||
} // te-node-state-derived | } | |||
// te-node-state-derived | ||||
grouping te-node-tunnel-termination-point-config { | grouping te-node-tunnel-termination-point-config { | |||
description | description | |||
"Termination capability of a TTP on a TE node."; | "Termination capability of a TTP on a TE node."; | |||
uses te-node-tunnel-termination-point-config-attributes; | uses te-node-tunnel-termination-point-config-attributes; | |||
container local-link-connectivities { | container local-link-connectivities { | |||
description | description | |||
"Contains an LLCL for a TTP on a TE node."; | "Contains an LLCL for a TTP on a TE node."; | |||
leaf number-of-entries { | leaf number-of-entries { | |||
type uint16; | type uint16; | |||
description | description | |||
"The number of LLCL entries. | "The number of LLCL entries. | |||
If this number is specified in the configuration request, | If this number is specified in the configuration request, | |||
the number is the requested number of entries, which may | the number is the requested number of entries, which may | |||
not all be listed in the list; | not all be listed in the list; | |||
if this number is reported in the state data, | if this number is reported in the state data, | |||
the number is the current number of operational entries."; | the number is the current number of operational entries."; | |||
} | } | |||
uses te-types:label-set-info; | uses te-types:label-set-info; | |||
uses connectivity-matrix-entry-path-attributes; | uses connectivity-matrix-entry-path-attributes; | |||
} // local-link-connectivities | } | |||
} // te-node-tunnel-termination-point-config | // local-link-connectivities | |||
} | ||||
// te-node-tunnel-termination-point-config | ||||
grouping te-node-tunnel-termination-point-config-attributes { | grouping te-node-tunnel-termination-point-config-attributes { | |||
description | description | |||
"Configuration attributes of a TTP on a TE node."; | "Configuration attributes of a TTP on a TE node."; | |||
leaf admin-status { | leaf admin-status { | |||
type te-types:te-admin-status; | type te-types:te-admin-status; | |||
description | description | |||
"The administrative state of the TTP."; | "The administrative state of the TTP."; | |||
} | } | |||
leaf name { | leaf name { | |||
skipping to change at line 1459 ¶ | skipping to change at line 1557 ¶ | |||
leaf encoding { | leaf encoding { | |||
type identityref { | type identityref { | |||
base te-types:lsp-encoding-types; | base te-types:lsp-encoding-types; | |||
} | } | |||
description | description | |||
"Encoding supported by the client-layer adaptation."; | "Encoding supported by the client-layer adaptation."; | |||
} | } | |||
uses te-types:te-bandwidth; | uses te-types:te-bandwidth; | |||
} | } | |||
} | } | |||
} // te-node-tunnel-termination-point-config-attributes | } | |||
// te-node-tunnel-termination-point-config-attributes | ||||
grouping te-node-tunnel-termination-point-llc-list { | grouping te-node-tunnel-termination-point-llc-list { | |||
description | description | |||
"LLCL of a TTP on a TE node."; | "LLCL of a TTP on a TE node."; | |||
list local-link-connectivity { | list local-link-connectivity { | |||
key "link-tp-ref"; | key "link-tp-ref"; | |||
description | description | |||
"The termination capabilities between the TTP and the LTP. | "The termination capabilities between the TTP and the LTP. | |||
This capability information can be used to compute | This capability information can be used to compute | |||
the tunnel path. | the tunnel path. | |||
skipping to change at line 1476 ¶ | skipping to change at line 1576 ¶ | |||
description | description | |||
"The termination capabilities between the TTP and the LTP. | "The termination capabilities between the TTP and the LTP. | |||
This capability information can be used to compute | This capability information can be used to compute | |||
the tunnel path. | the tunnel path. | |||
The Interface Adjustment Capability Descriptors (IACDs) | The Interface Adjustment Capability Descriptors (IACDs) | |||
(defined in RFC 6001) on each LTP can be derived from | (defined in RFC 6001) on each LTP can be derived from | |||
this list."; | this list."; | |||
reference | reference | |||
"RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions | "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions | |||
for Multi-Layer and Multi-Region Networks (MLN/MRN)"; | for Multi-Layer and Multi-Region Networks (MLN/MRN)"; | |||
leaf link-tp-ref { | leaf link-tp-ref { | |||
type leafref { | type leafref { | |||
path "../../../../../nt:termination-point/nt:tp-id"; | path "../../../../../nt:termination-point/nt:tp-id"; | |||
} | } | |||
description | description | |||
"LTP."; | "LTP."; | |||
} | } | |||
uses te-types:label-set-info; | uses te-types:label-set-info; | |||
uses connectivity-matrix-entry-path-attributes; | uses connectivity-matrix-entry-path-attributes; | |||
} // local-link-connectivity | } | |||
} // te-node-tunnel-termination-point-config | // local-link-connectivity | |||
} | ||||
// te-node-tunnel-termination-point-config | ||||
grouping te-path-element { | grouping te-path-element { | |||
description | description | |||
"A group of attributes defining an element in a TE path, | "A group of attributes defining an element in a TE path, | |||
such as a TE node, TE link, TE atomic resource, or label."; | such as a TE node, TE link, TE atomic resource, or label."; | |||
uses te-types:explicit-route-hop; | uses te-types:explicit-route-hop; | |||
} // te-path-element | } | |||
// te-path-element | ||||
grouping te-termination-point-augment { | grouping te-termination-point-augment { | |||
description | description | |||
"Augmentation for a TE termination point."; | "Augmentation for a TE termination point."; | |||
leaf te-tp-id { | leaf te-tp-id { | |||
type te-types:te-tp-id; | type te-types:te-tp-id; | |||
description | description | |||
"An identifier that uniquely identifies a TE termination | "An identifier that uniquely identifies a TE termination | |||
point."; | point."; | |||
} | } | |||
container te { | container te { | |||
must "../te-tp-id"; | must '../te-tp-id'; | |||
presence "TE support"; | presence "TE support"; | |||
description | description | |||
"Indicates TE support."; | "Indicates TE support."; | |||
uses te-termination-point-config; | uses te-termination-point-config; | |||
leaf oper-status { | leaf oper-status { | |||
type te-types:te-oper-status; | type te-types:te-oper-status; | |||
config false; | config false; | |||
description | description | |||
"The current operational state of the LTP."; | "The current operational state of the LTP."; | |||
} | } | |||
uses geolocation-container; | uses geolocation-container; | |||
} // te | } | |||
} // te-termination-point-augment | // te | |||
} | ||||
// te-termination-point-augment | ||||
grouping te-termination-point-config { | grouping te-termination-point-config { | |||
description | description | |||
"TE termination point configuration grouping."; | "TE termination point configuration grouping."; | |||
leaf admin-status { | leaf admin-status { | |||
type te-types:te-admin-status; | type te-types:te-admin-status; | |||
description | description | |||
"The administrative state of the LTP."; | "The administrative state of the LTP."; | |||
} | } | |||
leaf name { | leaf name { | |||
skipping to change at line 1558 ¶ | skipping to change at line 1664 ¶ | |||
type uint32; | type uint32; | |||
description | description | |||
"Inter-layer lock ID, used for path computation in a TE | "Inter-layer lock ID, used for path computation in a TE | |||
topology covering multiple layers or multiple regions."; | topology covering multiple layers or multiple regions."; | |||
reference | reference | |||
"RFC 5212: Requirements for GMPLS-Based Multi-Region and | "RFC 5212: Requirements for GMPLS-Based Multi-Region and | |||
Multi-Layer Networks (MRN/MLN) | Multi-Layer Networks (MRN/MLN) | |||
RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions | RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions | |||
for Multi-Layer and Multi-Region Networks (MLN/MRN)"; | for Multi-Layer and Multi-Region Networks (MLN/MRN)"; | |||
} | } | |||
} // te-termination-point-config | } | |||
// te-termination-point-config | ||||
grouping te-topologies-augment { | grouping te-topologies-augment { | |||
description | description | |||
"Augmentation for TE topologies."; | "Augmentation for TE topologies."; | |||
container te { | container te { | |||
presence "TE support"; | presence "TE support"; | |||
description | description | |||
"Indicates TE support."; | "Indicates TE support."; | |||
container templates { | container templates { | |||
description | description | |||
"Configuration parameters for templates used for a TE | "Configuration parameters for templates used for a TE | |||
topology."; | topology."; | |||
list node-template { | list node-template { | |||
if-feature template; | if-feature "template"; | |||
key "name"; | key "name"; | |||
leaf name { | leaf name { | |||
type te-types:te-template-name; | type te-types:te-template-name; | |||
description | description | |||
"The name to identify a TE node template."; | "The name to identify a TE node template."; | |||
} | } | |||
description | description | |||
"The list of TE node templates used to define sharable | "The list of TE node templates used to define sharable | |||
and reusable TE node attributes."; | and reusable TE node attributes."; | |||
uses template-attributes; | uses template-attributes; | |||
uses te-node-config-attributes-template; | uses te-node-config-attributes-template; | |||
} // node-template | } | |||
// node-template | ||||
list link-template { | list link-template { | |||
if-feature template; | if-feature "template"; | |||
key "name"; | key "name"; | |||
leaf name { | leaf name { | |||
type te-types:te-template-name; | type te-types:te-template-name; | |||
description | description | |||
"The name to identify a TE link template."; | "The name to identify a TE link template."; | |||
} | } | |||
description | description | |||
"The list of TE link templates used to define sharable | "The list of TE link templates used to define sharable | |||
and reusable TE link attributes."; | and reusable TE link attributes."; | |||
uses template-attributes; | uses template-attributes; | |||
uses te-link-config-attributes; | uses te-link-config-attributes; | |||
} // link-template | } | |||
} // templates | // link-template | |||
} // te | } | |||
} // te-topologies-augment | // templates | |||
} | ||||
// te | ||||
} | ||||
// te-topologies-augment | ||||
grouping te-topology-augment { | grouping te-topology-augment { | |||
description | description | |||
"Augmentation for a TE topology."; | "Augmentation for a TE topology."; | |||
uses te-types:te-topology-identifier; | uses te-types:te-topology-identifier; | |||
container te { | container te { | |||
must "../te-topology-identifier/provider-id" | must '../te-topology-identifier/provider-id' | |||
+ " and ../te-topology-identifier/client-id" | + ' and ../te-topology-identifier/client-id' | |||
+ " and ../te-topology-identifier/topology-id"; | + ' and ../te-topology-identifier/topology-id'; | |||
presence "TE support"; | presence "TE support"; | |||
description | description | |||
"Indicates TE support."; | "Indicates TE support."; | |||
uses te-topology-config; | uses te-topology-config; | |||
uses geolocation-container; | uses geolocation-container; | |||
} // te | } | |||
} // te-topology-augment | // te | |||
} | ||||
// te-topology-augment | ||||
grouping te-topology-config { | grouping te-topology-config { | |||
description | description | |||
"TE topology configuration grouping."; | "TE topology configuration grouping."; | |||
leaf name { | leaf name { | |||
type string; | type string; | |||
description | description | |||
"Name of the TE topology. This attribute is optional and can | "Name of the TE topology. This attribute is optional and can | |||
be specified by the operator to describe the TE topology, | be specified by the operator to describe the TE topology, | |||
which can be useful when 'network-id' (RFC 8345) is not | which can be useful when 'network-id' (RFC 8345) is not | |||
skipping to change at line 1657 ¶ | skipping to change at line 1769 ¶ | |||
type identityref { | type identityref { | |||
base te-types:objective-function-type; | base te-types:objective-function-type; | |||
} | } | |||
description | description | |||
"Optimization criterion applied to this topology."; | "Optimization criterion applied to this topology."; | |||
reference | reference | |||
"RFC 3272: Overview and Principles of Internet Traffic | "RFC 3272: Overview and Principles of Internet Traffic | |||
Engineering"; | Engineering"; | |||
} | } | |||
list nsrlg { | list nsrlg { | |||
if-feature nsrlg; | if-feature "nsrlg"; | |||
key "id"; | key "id"; | |||
description | description | |||
"List of NSRLGs (Non-Shared Risk Link Groups)."; | "List of NSRLGs (Non-Shared Risk Link Groups)."; | |||
reference | reference | |||
"RFC 4872: RSVP-TE Extensions in Support of End-to-End | "RFC 4872: RSVP-TE Extensions in Support of End-to-End | |||
Generalized Multi-Protocol Label Switching (GMPLS) | Generalized Multi-Protocol Label Switching (GMPLS) | |||
Recovery"; | Recovery"; | |||
leaf id { | leaf id { | |||
type uint32; | type uint32; | |||
description | description | |||
"Identifies the NSRLG entry."; | "Identifies the NSRLG entry."; | |||
} | } | |||
leaf disjointness { | leaf disjointness { | |||
type te-types:te-path-disjointness; | type te-types:te-path-disjointness; | |||
description | description | |||
"The type of resource disjointness."; | "The type of resource disjointness."; | |||
} | } | |||
} // nsrlg | } | |||
} // te-topology-config | // nsrlg | |||
} | ||||
// te-topology-config | ||||
grouping template-attributes { | grouping template-attributes { | |||
description | description | |||
"Common attributes for all templates."; | "Common attributes for all templates."; | |||
leaf priority { | leaf priority { | |||
type uint16; | type uint16; | |||
description | description | |||
"The preference value for resolving conflicts between | "The preference value for resolving conflicts between | |||
different templates. When two or more templates specify | different templates. When two or more templates specify | |||
values for one configuration attribute, the value from the | values for one configuration attribute, the value from the | |||
skipping to change at line 1716 ¶ | skipping to change at line 1831 ¶ | |||
"When an attribute changes in this template, the | "When an attribute changes in this template, the | |||
configuration object referring to this template applies | configuration object referring to this template applies | |||
the new attribute value to the corresponding | the new attribute value to the corresponding | |||
configuration."; | configuration."; | |||
} | } | |||
} | } | |||
description | description | |||
"This attribute specifies the action taken for a | "This attribute specifies the action taken for a | |||
configuration node that has a reference to this template."; | configuration node that has a reference to this template."; | |||
} | } | |||
} // template-attributes | } | |||
// template-attributes | ||||
/* | /* | |||
* Data nodes | * Data nodes | |||
*/ | */ | |||
augment "/nw:networks/nw:network/nw:network-types" { | augment "/nw:networks/nw:network/nw:network-types" { | |||
description | description | |||
"Introduces a new network type for a TE topology."; | "Introduces a new network type for a TE topology."; | |||
container te-topology { | container te-topology { | |||
presence "Indicates a TE topology"; | presence "Indicates a TE topology"; | |||
description | description | |||
"Its presence identifies the TE topology type."; | "Its presence identifies the TE topology type."; | |||
} | } | |||
} | } | |||
skipping to change at line 1738 ¶ | skipping to change at line 1855 ¶ | |||
} | } | |||
} | } | |||
augment "/nw:networks" { | augment "/nw:networks" { | |||
description | description | |||
"Augmentation parameters for TE topologies."; | "Augmentation parameters for TE topologies."; | |||
uses te-topologies-augment; | uses te-topologies-augment; | |||
} | } | |||
augment "/nw:networks/nw:network" { | augment "/nw:networks/nw:network" { | |||
when "nw:network-types/tet:te-topology" { | when 'nw:network-types/tet:te-topology' { | |||
description | description | |||
"Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
TE topology type."; | TE topology type."; | |||
} | } | |||
description | description | |||
"Configuration parameters for a TE topology."; | "Configuration parameters for a TE topology."; | |||
uses te-topology-augment; | uses te-topology-augment; | |||
} | } | |||
augment "/nw:networks/nw:network/nw:node" { | augment "/nw:networks/nw:network/nw:node" { | |||
when "../nw:network-types/tet:te-topology" { | when '../nw:network-types/tet:te-topology' { | |||
description | description | |||
"Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
TE topology type."; | TE topology type."; | |||
} | } | |||
description | description | |||
"Configuration parameters for TE at the node level."; | "Configuration parameters for TE at the node level."; | |||
leaf te-node-id { | leaf te-node-id { | |||
type te-types:te-node-id; | type te-types:te-node-id; | |||
description | description | |||
"The identifier of a node in the TE topology. | "The identifier of a node in the TE topology. | |||
A node is specific to a topology to which it belongs."; | A node is specific to a topology to which it belongs."; | |||
} | } | |||
container te { | container te { | |||
must "../te-node-id" { | must '../te-node-id' { | |||
description | description | |||
"'te-node-id' is mandatory."; | "'te-node-id' is mandatory."; | |||
} | } | |||
must "count(../nw:supporting-node)<=1" { | must 'count(../nw:supporting-node)<=1' { | |||
description | description | |||
"For a node in a TE topology, there cannot be more | "For a node in a TE topology, there cannot be more | |||
than one supporting node. If multiple nodes are | than one supporting node. If multiple nodes are | |||
abstracted, the 'underlay-topology' field is used."; | abstracted, the 'underlay-topology' field is used."; | |||
} | } | |||
presence "TE support"; | presence "TE support"; | |||
description | description | |||
"Indicates TE support."; | "Indicates TE support."; | |||
uses te-node-augment; | uses te-node-augment; | |||
} // te | } | |||
// te | ||||
} | } | |||
augment "/nw:networks/nw:network/nt:link" { | augment "/nw:networks/nw:network/nt:link" { | |||
when "../nw:network-types/tet:te-topology" { | when '../nw:network-types/tet:te-topology' { | |||
description | description | |||
"Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
TE topology type."; | TE topology type."; | |||
} | } | |||
description | description | |||
"Configuration parameters for TE at the link level."; | "Configuration parameters for TE at the link level."; | |||
container te { | container te { | |||
must "count(../nt:supporting-link)<=1" { | must 'count(../nt:supporting-link)<=1' { | |||
description | description | |||
"For a link in a TE topology, there cannot be more | "For a link in a TE topology, there cannot be more | |||
than one supporting link. If one or more link paths are | than one supporting link. If one or more link paths are | |||
abstracted, the underlay is used."; | abstracted, the underlay is used."; | |||
} | } | |||
presence "TE support"; | presence "TE support"; | |||
description | description | |||
"Indicates TE support."; | "Indicates TE support."; | |||
uses te-link-augment; | uses te-link-augment; | |||
} // te | } | |||
// te | ||||
} | } | |||
augment "/nw:networks/nw:network/nw:node/" | augment "/nw:networks/nw:network/nw:node/" | |||
+ "nt:termination-point" { | + "nt:termination-point" { | |||
when "../../nw:network-types/tet:te-topology" { | when '../../nw:network-types/tet:te-topology' { | |||
description | description | |||
"Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
TE topology type."; | TE topology type."; | |||
} | } | |||
description | description | |||
"Configuration parameters for TE at the termination point | "Configuration parameters for TE at the termination point | |||
level."; | level."; | |||
uses te-termination-point-augment; | uses te-termination-point-augment; | |||
} | } | |||
augment | augment "/nw:networks/nw:network/nt:link/te/bundle-stack-level/" | |||
"/nw:networks/nw:network/nt:link/te/bundle-stack-level/" | + "bundle/bundled-links/bundled-link" { | |||
+ "bundle/bundled-links/bundled-link" { | when '../../../../nw:network-types/tet:te-topology' { | |||
when "../../../../nw:network-types/tet:te-topology" { | ||||
description | description | |||
"Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
TE topology type."; | TE topology type."; | |||
} | } | |||
description | description | |||
"Augmentation for a TE bundled link."; | "Augmentation for a TE bundled link."; | |||
leaf src-tp-ref { | leaf src-tp-ref { | |||
type leafref { | type leafref { | |||
path "../../../../../nw:node[nw:node-id = " | path "../../../../../nw:node[nw:node-id = " | |||
+ "current()/../../../../nt:source/" | + "current()/../../../../nt:source/" | |||
+ "nt:source-node]/" | + "nt:source-node]/" | |||
+ "nt:termination-point/nt:tp-id"; | + "nt:termination-point/nt:tp-id"; | |||
require-instance true; | require-instance true; | |||
} | } | |||
description | description | |||
"Reference to another TE termination point on the | "Reference to another TE termination point on the | |||
same source node."; | same source node."; | |||
} | } | |||
leaf des-tp-ref { | leaf des-tp-ref { | |||
type leafref { | type leafref { | |||
path "../../../../../nw:node[nw:node-id = " | path "../../../../../nw:node[nw:node-id = " | |||
+ "current()/../../../../nt:destination/" | + "current()/../../../../nt:destination/" | |||
+ "nt:dest-node]/" | + "nt:dest-node]/" | |||
+ "nt:termination-point/nt:tp-id"; | + "nt:termination-point/nt:tp-id"; | |||
require-instance true; | require-instance true; | |||
} | } | |||
description | description | |||
"Reference to another TE termination point on the | "Reference to another TE termination point on the | |||
same destination node."; | same destination node."; | |||
} | } | |||
} | } | |||
augment | augment "/nw:networks/nw:network/nw:node/te/" | |||
"/nw:networks/nw:network/nw:node/te/" | + "information-source-entry/connectivity-matrices/" | |||
+ "information-source-entry/connectivity-matrices/" | + "connectivity-matrix" { | |||
+ "connectivity-matrix" { | when '../../../../../nw:network-types/tet:te-topology' { | |||
when "../../../../../nw:network-types/tet:te-topology" { | ||||
description | description | |||
"Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
TE topology type."; | TE topology type."; | |||
} | } | |||
description | description | |||
"Augmentation for the TE node connectivity matrix."; | "Augmentation for the TE node connectivity matrix."; | |||
uses te-node-connectivity-matrix-attributes; | uses te-node-connectivity-matrix-attributes; | |||
} | } | |||
augment | augment "/nw:networks/nw:network/nw:node/te/te-node-attributes/" | |||
"/nw:networks/nw:network/nw:node/te/te-node-attributes/" | + "connectivity-matrices/connectivity-matrix" { | |||
+ "connectivity-matrices/connectivity-matrix" { | when '../../../../../nw:network-types/tet:te-topology' { | |||
when "../../../../../nw:network-types/tet:te-topology" { | ||||
description | description | |||
"Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
TE topology type."; | TE topology type."; | |||
} | } | |||
description | description | |||
"Augmentation for the TE node connectivity matrix."; | "Augmentation for the TE node connectivity matrix."; | |||
uses te-node-connectivity-matrix-attributes; | uses te-node-connectivity-matrix-attributes; | |||
} | } | |||
augment | augment "/nw:networks/nw:network/nw:node/te/" | |||
"/nw:networks/nw:network/nw:node/te/" | + "tunnel-termination-point/local-link-connectivities" { | |||
+ "tunnel-termination-point/local-link-connectivities" { | when '../../../../nw:network-types/tet:te-topology' { | |||
when "../../../../nw:network-types/tet:te-topology" { | ||||
description | description | |||
"Augmentation parameters apply only for networks with a | "Augmentation parameters apply only for networks with a | |||
TE topology type."; | TE topology type."; | |||
} | } | |||
description | description | |||
"Augmentation for TE node TTP LLCs (Local Link | "Augmentation for TE node TTP LLCs (Local Link | |||
Connectivities)."; | Connectivities)."; | |||
uses te-node-tunnel-termination-point-llc-list; | uses te-node-tunnel-termination-point-llc-list; | |||
} | } | |||
} | } | |||
End of changes. 137 change blocks. | ||||
192 lines changed or deleted | 313 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |