forked from tsaad-dev/te
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ietf-te-topology-packet.yang
266 lines (231 loc) · 7.72 KB
/
ietf-te-topology-packet.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
module ietf-te-topology-packet {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-packet";
prefix "tet-pkt";
import ietf-network {
prefix "nw";
reference "RFC 8345: A YANG Data Model for Network Topologies";
}
import ietf-network-topology {
prefix "nt";
reference "RFC 8345: A YANG Data Model for Network Topologies";
}
import ietf-routing-types {
prefix "rt-types";
reference
"RFC 8294: Common YANG Data Types for the Routing Area";
}
import ietf-te-topology {
prefix "tet";
reference
"I-D.ietf-teas-yang-te-topo: YANG Data Model for Traffic
Engineering (TE) Topologies";
}
import ietf-te-types {
prefix "te-types";
reference
"I-D.ietf-teas-yang-te: A YANG Data Model for Traffic
Engineering Tunnels and Interfaces";
}
import ietf-te-packet-types {
prefix "te-packet-types";
reference
"XXX";
}
organization
"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
"YANG data model for representing and manipulating PSC (Packet
Switching) TE Topologies.
Copyright (c) 2018 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 2018-06-22 {
description "Initial revision";
reference "RFC XXXX: YANG Data Model for Layer 3 TE Topologies";
}
/*
* Features
*/
feature te-performance-metric {
description
"This feature indicates that the system supports
TE performance metric.";
reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.
RFC7823: Performance-Based Path Selection for Explicitly
Routed Label Switched Paths (LSPs) Using TE Metric
Extensions";
}
/*
* Groupings
*/
grouping packet-switch-capable-container {
description
"The container of packet switch capable attributes.";
container packet-switch-capable {
description
"Interface has packet-switching capabilities.";
leaf minimum-lsp-bandwidth {
type rt-types:bandwidth-ieee-float32;
description
"Minimum LSP Bandwidth. Units in bytes per second";
}
leaf interface-mtu {
type uint16;
description
"Interface MTU.";
}
}
}
/*
* Augmentations
*/
/* Augmentations to connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices" {
description
"Parameters for PSC TE topology.";
uses te-packet-types:performance-metrics-attributes-packet {
if-feature te-performance-metric;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix" {
description
"Parameters for PSC TE topology.";
uses te-packet-types:performance-metrics-attributes-packet {
if-feature te-performance-metric;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices" {
description
"Parameters for PSC TE topology.";
uses te-packet-types:performance-metrics-attributes-packet {
if-feature te-performance-metric;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix" {
description
"Parameters for PSC TE topology.";
uses te-packet-types:performance-metrics-attributes-packet {
if-feature te-performance-metric;
}
}
/* Augmentations to tunnel-termination-point */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities" {
description
"Parameters for PSC TE topology.";
uses te-packet-types:performance-metrics-attributes-packet {
if-feature te-performance-metric;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity" {
description
"Parameters for PSC TE topology.";
uses te-packet-types:performance-metrics-attributes-packet {
if-feature te-performance-metric;
}
}
/* Augmentations to te-link-attributes */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes" {
when "tet:interface-switching-capability "
+ "[tet:switching-capability = 'te-types:switching-psc1']" {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses te-packet-types:performance-metrics-attributes-packet {
if-feature te-performance-metric;
}
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes" {
when "tet:interface-switching-capability "
+ "[tet:switching-capability = 'te-types:switching-psc1']" {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses te-packet-types:performance-metrics-attributes-packet {
if-feature te-performance-metric;
}
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry" {
when "tet:interface-switching-capability "
+ "[tet:switching-capability = 'te-types:switching-psc1']" {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses te-packet-types:performance-metrics-attributes-packet {
if-feature te-performance-metric;
}
}
/* Augmentations to interface-switching-capability */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:interface-switching-capability" {
when "tet:switching-capability = 'te-types:switching-psc1' " {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses packet-switch-capable-container;
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:interface-switching-capability" {
when "tet:switching-capability = 'te-types:switching-psc1' " {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses packet-switch-capable-container;
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:interface-switching-capability" {
when "tet:switching-capability = 'te-types:switching-psc1' " {
description "Valid only for PSC";
}
description
"Parameters for PSC TE topology.";
uses packet-switch-capable-container;
}
}