-
Notifications
You must be signed in to change notification settings - Fork 19
/
ietf-te-topology-state.yang
312 lines (281 loc) · 9.21 KB
/
ietf-te-topology-state.yang
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
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";
reference
"I-D.ietf-teas-yang-te-types: Traffic Engineering Common YANG
Types";
}
import ietf-te-topology {
prefix "tet";
}
import ietf-network-state {
prefix "nw-s";
reference "RFC 8345: A YANG Data Model for Network Topologies";
}
import ietf-network-topology-state {
prefix "nt-s";
reference "RFC 8345: A YANG Data Model for Network Topologies";
}
organization
"IETF Traffic Engineering Architecture and Signaling (TEAS)
Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:[email protected]>
Editor: Xufeng Liu
<mailto:[email protected]>
Editor: Igor Bryskin
<mailto:[email protected]>
Editor: Vishnu Pavan Beeram
<mailto:[email protected]>
Editor: Tarek Saad
<mailto:[email protected]>
Editor: Himanshu Shah
<mailto:[email protected]>
Editor: Oscar Gonzalez De Dios
<mailto:[email protected]>";
description
"TE topology state model.
Copyright (c) 2019 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject to
the license terms contained in, the Simplified BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices.";
revision "2019-02-07" {
description "Initial revision";
reference "RFC XXXX: YANG Data Model for TE Topologies";
// RFC Ed.: replace XXXX with actual RFC number and remove
// this note
}
/*
* 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 te-types:label-set-info;
}
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 te-types:label-set-info;
}
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)
(defined in RFC 6001) on each link-tp can be derived from
this local-link-connectivity list.";
reference
"RFC 6001: 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 te-types:label-set-info;
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/tet-s: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/tet-s: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/tet-s: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/tet-s: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/tet-s: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 source 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/tet-s: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/tet-s: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/tet-s: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;
}
}