module ietf-te-topology-state {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state";
prefix "tet-s";
import ietf-te-types {
prefix "te-types";
}
import ietf-te-topology {
prefix "tet";
}
import ietf-network-state {
prefix "nw-s";
}
import ietf-network-topology-state {
prefix "nt-s";
}
organization
"Traffic Engineering Architecture and Signaling (TEAS)
Working Group";
contact
"WG Web:
WG List:
WG Chair: Lou Berger
WG Chair: Vishnu Pavan Beeram
Editor: Xufeng Liu
Editor: Igor Bryskin
Editor: Vishnu Pavan Beeram
Editor: Tarek Saad
Editor: Himanshu Shah
Editor: Oscar Gonzalez De Dios
";
description "TE topology state model";
revision "2017-07-02" {
description "Initial revision";
reference "TBD";
}
/*
* Groupings
*/
grouping te-node-connectivity-matrix-attributes {
description
"Termination point references of a connectivity matrix entry.";
container from {
description
"Reference to source link termination point.";
leaf tp-ref {
type leafref {
path "../../../../../../nt-s:termination-point/nt-s:tp-id";
}
description
"Relative reference to a termination point.";
}
uses tet:connectivity-label-restriction-list;
}
container to {
description
"Reference to destination link termination point.";
leaf tp-ref {
type leafref {
path "../../../../../../nt-s:termination-point/nt-s:tp-id";
}
description
"Relative reference to a termination point.";
}
uses tet:connectivity-label-restriction-list;
}
uses tet:connectivity-matrix-entry-path-attributes;
} // te-node-connectivity-matrix-attributes
grouping te-node-tunnel-termination-point-llc-list {
description
"Local link connectivity list of a tunnel termination
point on a TE node.";
list local-link-connectivity {
key "link-tp-ref";
description
"The termination capabilities between
tunnel-termination-point and link termination-point.
The capability information can be used to compute
the tunnel path.
The Interface Adjustment Capability Descriptors (IACD)
[RFC6001] on each link-tp can be derived from this
local-link-connectivity list.";
reference
"RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN).";
leaf link-tp-ref {
type leafref {
path "../../../../../nt-s:termination-point/nt-s:tp-id";
}
description
"Link termination point.";
}
uses tet:connectivity-label-restriction-list;
uses tet:connectivity-matrix-entry-path-attributes;
} // local-link-connectivity
} // te-node-tunnel-termination-point-config
/*
* Data nodes
*/
augment "/nw-s:networks/nw-s:network/nw-s:network-types" {
description
"Introduce new network type for TE topology.";
container te-topology {
presence "Indicates TE topology.";
description
"Its presence identifies the TE topology type.";
}
}
augment "/nw-s:networks" {
description
"Augmentation parameters for TE topologies.";
uses tet:te-topologies-augment;
}
augment "/nw-s:networks/nw-s:network" {
when "nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Configuration parameters for TE topology.";
uses tet:te-topology-augment;
}
augment "/nw-s:networks/nw-s:network/nw-s:node" {
when "../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Configuration parameters for TE at node level.";
leaf te-node-id {
type te-types:te-node-id;
description
"The identifier of a node in the TE topology.
A node is specific to a topology to which it belongs.";
}
container te {
must "../te-node-id" {
description
"te-node-id is mandatory.";
}
must "count(../nw-s:supporting-node)<=1" {
description
"For a node in a TE topology, there cannot be more
than 1 supporting node. If multiple nodes are abstracted,
the underlay-topology is used.";
}
presence "TE support.";
description
"Indicates TE support.";
uses tet:te-node-augment;
} // te
}
augment "/nw-s:networks/nw-s:network/nt-s:link" {
when "../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Configuration parameters for TE at link level.";
container te {
must "count(../nt-s:supporting-link)<=1" {
description
"For a link in a TE topology, there cannot be more
than 1 supporting link. If one or more link paths are
abstracted, the underlay is used.";
}
presence "TE support.";
description
"Indicates TE support.";
uses tet:te-link-augment;
} // te
}
augment "/nw-s:networks/nw-s:network/nw-s:node/"
+ "nt-s:termination-point" {
when "../../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Configuration parameters for TE at termination point level.";
uses tet:te-termination-point-augment;
}
augment
"/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/"
+ "bundle/bundled-links/bundled-link" {
when "../../../../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Augment TE link bundled link.";
leaf src-tp-ref {
type leafref {
path "../../../../../nw-s:node[nw-s:node-id = "
+ "current()/../../../../nt-s:source/"
+ "nt-s:source-node]/"
+ "nt-s:termination-point/nt-s:tp-id";
require-instance true;
}
description
"Reference to another TE termination point on the
same souruce node.";
}
leaf des-tp-ref {
type leafref {
path "../../../../../nw-s:node[nw-s:node-id = "
+ "current()/../../../../nt-s:destination/"
+ "nt-s:dest-node]/"
+ "nt-s:termination-point/nt-s:tp-id";
require-instance true;
}
description
"Reference to another TE termination point on the
same destination node.";
}
}
augment
"/nw-s:networks/nw-s:network/nw-s:node/te/"
+ "information-source-entry/connectivity-matrices/"
+ "connectivity-matrix" {
when "../../../../../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Augment TE node connectivity-matrix.";
uses te-node-connectivity-matrix-attributes;
}
augment
"/nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/"
+ "connectivity-matrices/connectivity-matrix" {
when "../../../../../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Augment TE node connectivity-matrix.";
uses te-node-connectivity-matrix-attributes;
}
augment
"/nw-s:networks/nw-s:network/nw-s:node/te/"
+ "tunnel-termination-point/local-link-connectivities" {
when "../../../../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Augment TE node tunnel termination point LLCs
(Local Link Connectivities).";
uses te-node-tunnel-termination-point-llc-list;
}
}