ietf-te-topology-state-preformat.yang | ietf-te-topology-state.yang | |||
---|---|---|---|---|
module ietf-te-topology-state { | module ietf-te-topology-state { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state"; | namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state"; | |||
prefix tet-s; | ||||
prefix "tet-s"; | ||||
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-te-topology { | import ietf-te-topology { | |||
prefix "tet"; | prefix tet; | |||
reference | reference | |||
"RFC 8795: YANG Data Model for Traffic Engineering (TE) | "RFC 8795: YANG Data Model for Traffic Engineering (TE) | |||
Topologies"; | Topologies"; | |||
} | } | |||
import ietf-network-state { | import ietf-network-state { | |||
prefix "nw-s"; | prefix nw-s; | |||
reference | reference | |||
"RFC 8345: A YANG Data Model for Network Topologies"; | "RFC 8345: A YANG Data Model for Network Topologies"; | |||
} | } | |||
import ietf-network-topology-state { | import ietf-network-topology-state { | |||
prefix "nt-s"; | prefix nt-s; | |||
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 74 ¶ | skipping to change at line 68 ¶ | |||
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"; | |||
} | } | |||
/* | /* | |||
* Groupings | * Groupings | |||
*/ | */ | |||
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 Link Termination Point (LTP)."; | "Reference to a source Link Termination Point (LTP)."; | |||
leaf tp-ref { | leaf tp-ref { | |||
type leafref { | type leafref { | |||
path "../../../../../../nt-s:termination-point/nt-s:tp-id"; | path "../../../../../../nt-s:termination-point/nt-s:tp-id"; | |||
} | } | |||
skipping to change at line 112 ¶ | skipping to change at line 108 ¶ | |||
leaf tp-ref { | leaf tp-ref { | |||
type leafref { | type leafref { | |||
path "../../../../../../nt-s:termination-point/nt-s:tp-id"; | path "../../../../../../nt-s:termination-point/nt-s: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 tet:connectivity-matrix-entry-path-attributes; | uses tet:connectivity-matrix-entry-path-attributes; | |||
} // te-node-connectivity-matrix-attributes | } | |||
// te-node-connectivity-matrix-attributes | ||||
grouping te-node-tunnel-termination-point-llc-list { | grouping te-node-tunnel-termination-point-llc-list { | |||
description | description | |||
"Local Link Connectivity List (LLCL) of a Tunnel Termination | "Local Link Connectivity List (LLCL) of a Tunnel Termination | |||
Point (TTP) on a TE node."; | Point (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 | |||
skipping to change at line 130 ¶ | skipping to change at line 128 ¶ | |||
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-s:termination-point/nt-s:tp-id"; | path "../../../../../nt-s:termination-point/nt-s:tp-id"; | |||
} | } | |||
description | description | |||
"LTP."; | "LTP."; | |||
} | } | |||
uses te-types:label-set-info; | uses te-types:label-set-info; | |||
uses tet:connectivity-matrix-entry-path-attributes; | uses tet:connectivity-matrix-entry-path-attributes; | |||
} // local-link-connectivity | } | |||
} // te-node-tunnel-termination-point-config | // local-link-connectivity | |||
} | ||||
// te-node-tunnel-termination-point-config | ||||
/* | /* | |||
* Data nodes | * Data nodes | |||
*/ | */ | |||
augment "/nw-s:networks/nw-s:network/nw-s:network-types" { | augment "/nw-s:networks/nw-s:network/nw-s: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 163 ¶ | skipping to change at line 163 ¶ | |||
} | } | |||
} | } | |||
augment "/nw-s:networks" { | augment "/nw-s:networks" { | |||
description | description | |||
"Augmentation parameters for TE topologies."; | "Augmentation parameters for TE topologies."; | |||
uses tet:te-topologies-augment; | uses tet:te-topologies-augment; | |||
} | } | |||
augment "/nw-s:networks/nw-s:network" { | augment "/nw-s:networks/nw-s:network" { | |||
when "nw-s:network-types/tet-s:te-topology" { | when 'nw-s:network-types/tet-s: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 tet:te-topology-augment; | uses tet:te-topology-augment; | |||
} | } | |||
augment "/nw-s:networks/nw-s:network/nw-s:node" { | augment "/nw-s:networks/nw-s:network/nw-s:node" { | |||
when "../nw-s:network-types/tet-s:te-topology" { | when '../nw-s:network-types/tet-s: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-s:supporting-node)<=1" { | must 'count(../nw-s: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 tet:te-node-augment; | uses tet:te-node-augment; | |||
} // te | } | |||
// te | ||||
} | } | |||
augment "/nw-s:networks/nw-s:network/nt-s:link" { | augment "/nw-s:networks/nw-s:network/nt-s:link" { | |||
when "../nw-s:network-types/tet-s:te-topology" { | when '../nw-s:network-types/tet-s: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-s:supporting-link)<=1" { | must 'count(../nt-s: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 tet:te-link-augment; | uses tet:te-link-augment; | |||
} // te | } | |||
// te | ||||
} | } | |||
augment "/nw-s:networks/nw-s:network/nw-s:node/" | augment "/nw-s:networks/nw-s:network/nw-s:node/" | |||
+ "nt-s:termination-point" { | + "nt-s:termination-point" { | |||
when "../../nw-s:network-types/tet-s:te-topology" { | when '../../nw-s:network-types/tet-s: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 tet:te-termination-point-augment; | uses tet:te-termination-point-augment; | |||
} | } | |||
augment | augment "/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/" | |||
"/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/" | + "bundle/bundled-links/bundled-link" { | |||
+ "bundle/bundled-links/bundled-link" { | when '../../../../nw-s:network-types/tet-s:te-topology' { | |||
when "../../../../nw-s:network-types/tet-s: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-s:node[nw-s:node-id = " | path "../../../../../nw-s:node[nw-s:node-id = " | |||
+ "current()/../../../../nt-s:source/" | + "current()/../../../../nt-s:source/" | |||
+ "nt-s:source-node]/" | + "nt-s:source-node]/" | |||
+ "nt-s:termination-point/nt-s:tp-id"; | + "nt-s:termination-point/nt-s: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-s:node[nw-s:node-id = " | path "../../../../../nw-s:node[nw-s:node-id = " | |||
+ "current()/../../../../nt-s:destination/" | + "current()/../../../../nt-s:destination/" | |||
+ "nt-s:dest-node]/" | + "nt-s:dest-node]/" | |||
+ "nt-s:termination-point/nt-s:tp-id"; | + "nt-s:termination-point/nt-s: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-s:networks/nw-s:network/nw-s:node/te/" | |||
"/nw-s:networks/nw-s:network/nw-s:node/te/" | + "information-source-entry/connectivity-matrices/" | |||
+ "information-source-entry/connectivity-matrices/" | + "connectivity-matrix" { | |||
+ "connectivity-matrix" { | when '../../../../../nw-s:network-types/tet-s:te-topology' { | |||
when "../../../../../nw-s:network-types/tet-s: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-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/" | |||
"/nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/" | + "connectivity-matrices/connectivity-matrix" { | |||
+ "connectivity-matrices/connectivity-matrix" { | when '../../../../../nw-s:network-types/tet-s:te-topology' { | |||
when "../../../../../nw-s:network-types/tet-s: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-s:networks/nw-s:network/nw-s:node/te/" | |||
"/nw-s:networks/nw-s:network/nw-s:node/te/" | + "tunnel-termination-point/local-link-connectivities" { | |||
+ "tunnel-termination-point/local-link-connectivities" { | when '../../../../nw-s:network-types/tet-s:te-topology' { | |||
when "../../../../nw-s:network-types/tet-s: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. 32 change blocks. | ||||
48 lines changed or deleted | 48 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/ |