gnpy-api 0.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gnpy_api-0.0.0.dist-info/METADATA +78 -0
- gnpy_api-0.0.0.dist-info/RECORD +40 -0
- gnpy_api-0.0.0.dist-info/WHEEL +5 -0
- gnpy_api-0.0.0.dist-info/licenses/AUTHORS +1 -0
- gnpy_api-0.0.0.dist-info/licenses/LICENSE +28 -0
- gnpy_api-0.0.0.dist-info/pbr.json +1 -0
- gnpy_api-0.0.0.dist-info/top_level.txt +1 -0
- gnpyapi/__init__.py +0 -0
- gnpyapi/core/__init__.py +12 -0
- gnpyapi/core/exception/__init__.py +1 -0
- gnpyapi/core/exception/config_error.py +14 -0
- gnpyapi/core/exception/equipment_error.py +14 -0
- gnpyapi/core/exception/exception_handler.py +34 -0
- gnpyapi/core/exception/path_computation_error.py +14 -0
- gnpyapi/core/exception/topology_error.py +13 -0
- gnpyapi/core/model/__init__.py +1 -0
- gnpyapi/core/model/error.py +17 -0
- gnpyapi/core/model/result.py +8 -0
- gnpyapi/core/route/__init__.py +1 -0
- gnpyapi/core/route/path_request_route.py +28 -0
- gnpyapi/core/route/status_route.py +8 -0
- gnpyapi/core/service/__init__.py +1 -0
- gnpyapi/core/service/config_service.py +4 -0
- gnpyapi/core/service/equipment_service.py +5 -0
- gnpyapi/core/service/path_request_service.py +36 -0
- gnpyapi/core/service/topology_service.py +5 -0
- gnpyapi/exampledata/planning_demand_example.json +1578 -0
- gnpyapi/tools/__init__.py +0 -0
- gnpyapi/yang/gnpy-api@2021-01-06.yang +81 -0
- gnpyapi/yang/gnpy-eqpt-config@2020-10-22.yang +442 -0
- gnpyapi/yang/gnpy-eqpt-config@2025-01-20.yang +770 -0
- gnpyapi/yang/gnpy-network-topology@2020-10-22.yang +300 -0
- gnpyapi/yang/gnpy-network-topology@2025-01-20.yang +594 -0
- gnpyapi/yang/gnpy-path-computation-simplified@2020-10-22.yang +559 -0
- gnpyapi/yang/gnpy-path-computation@2025-01-21.yang +632 -0
- gnpyapi/yang/ietf-layer0-types@2024-03-04.yang +2247 -0
- gnpyapi/yang/ietf-optical-impairment-topology@2024-05-21.yang +1776 -0
- gnpyapi/yang/ietf-routing-types@2017-12-04.yang +771 -0
- gnpyapi/yang/ietf-te-topology@2020-08-06.yang +1952 -0
- gnpyapi/yang/ietf-te-types@2022-10-21.yang +3458 -0
|
@@ -0,0 +1,1776 @@
|
|
|
1
|
+
module ietf-optical-impairment-topology {
|
|
2
|
+
yang-version 1.1;
|
|
3
|
+
namespace "urn:ietf:params:xml"
|
|
4
|
+
+ ":ns:yang:ietf-optical-impairment-topology";
|
|
5
|
+
prefix "oit";
|
|
6
|
+
|
|
7
|
+
import ietf-network {
|
|
8
|
+
prefix "nw";
|
|
9
|
+
reference
|
|
10
|
+
"RFC 8345: A YANG Data Model for Network Topologies";
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
import ietf-network-topology {
|
|
14
|
+
prefix "nt";
|
|
15
|
+
reference
|
|
16
|
+
"RFC 8345: A YANG Data Model for Network Topologies";
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
import ietf-te-topology {
|
|
20
|
+
prefix "tet";
|
|
21
|
+
reference
|
|
22
|
+
"RFC 8795: YANG Data Model for Traffic Engineering (TE)
|
|
23
|
+
Topologies";
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
import ietf-te-types {
|
|
27
|
+
prefix "te-types";
|
|
28
|
+
reference
|
|
29
|
+
"RFC YYYY: Updated Common YANG Data Types for Traffic
|
|
30
|
+
Engineering";
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Note: The RFC Editor will replace YYYY with the number assigned
|
|
34
|
+
to the RFC once draft-ietf-teas-rfc8776-update becomes an RFC.*/
|
|
35
|
+
|
|
36
|
+
import ietf-layer0-types {
|
|
37
|
+
prefix "l0-types";
|
|
38
|
+
reference
|
|
39
|
+
"RFC ZZZZ: A YANG Data Model for Layer 0 Types";
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Note: The RFC Editor will replace ZZZZ with the number assigned
|
|
43
|
+
to the RFC once draft-ietf-ccamp-rfc9093-bis becomes an RFC.*/
|
|
44
|
+
|
|
45
|
+
organization
|
|
46
|
+
"IETF CCAMP Working Group";
|
|
47
|
+
|
|
48
|
+
contact
|
|
49
|
+
"WG Web: <https://datatracker.ietf.org/wg/ccamp/>
|
|
50
|
+
WG List: <mailto:ccamp@ietf.org>
|
|
51
|
+
|
|
52
|
+
Editor: Young Lee <younglee.tx@gmail.com>
|
|
53
|
+
Editor: Haomian Zheng <zhenghaomian@huawei.com>
|
|
54
|
+
Editor: Nicola Sambo <nicosambo@gmail.com>
|
|
55
|
+
Editor: Victor Lopez <victor.lopez@nokia.com>
|
|
56
|
+
Editor: Gabriele Galimberti <ggalimbe@cisco.com>
|
|
57
|
+
Editor: Giovanni Martinelli <giomarti@cisco.com>
|
|
58
|
+
Editor: Jean-Luc Auge <jeanluc.auge@orange.com>
|
|
59
|
+
Editor: Le Rouzic Esther <esther.lerouzic@orange.com>
|
|
60
|
+
Editor: Julien Meuric <julien.meuric@orange.com>
|
|
61
|
+
Editor: Italo Busi <Italo.Busi@huawei.com>
|
|
62
|
+
Editor: Dieter Beller <dieter.beller@nokia.com>
|
|
63
|
+
Editor: Sergio Belotti <Sergio.belotti@nokia.com>
|
|
64
|
+
Editor: Griseri Enrico <enrico.griseri@nokia.com>
|
|
65
|
+
Editor: Gert Grammel <ggrammel@juniper.net>";
|
|
66
|
+
|
|
67
|
+
description
|
|
68
|
+
"This module contains a collection of YANG definitions for
|
|
69
|
+
impairment-aware optical networks.
|
|
70
|
+
|
|
71
|
+
Copyright (c) 2024 IETF Trust and the persons identified as
|
|
72
|
+
authors of the code. All rights reserved.
|
|
73
|
+
|
|
74
|
+
Redistribution and use in source and binary forms, with or
|
|
75
|
+
without modification, is permitted pursuant to, and subject
|
|
76
|
+
to the license terms contained in, the Revised BSD
|
|
77
|
+
License set forth in Section 4.c of the IETF Trust's Legal
|
|
78
|
+
Provisions Relating to IETF Documents
|
|
79
|
+
(https://trustee.ietf.org/license-info).
|
|
80
|
+
|
|
81
|
+
This version of this YANG module is part of RFC XXXX; see
|
|
82
|
+
the RFC itself for full legal notices.";
|
|
83
|
+
|
|
84
|
+
// RFC Ed.: replace XXXX with actual RFC number and remove
|
|
85
|
+
// this note
|
|
86
|
+
// replace the revision date with the module publication date
|
|
87
|
+
// the format is (year-month-day)
|
|
88
|
+
revision 2024-05-21 {
|
|
89
|
+
description
|
|
90
|
+
"Initial Version";
|
|
91
|
+
reference
|
|
92
|
+
"RFC XXXX: A Yang Data Model for Impairment-aware
|
|
93
|
+
Optical Networks";
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/*
|
|
97
|
+
* Identities
|
|
98
|
+
*/
|
|
99
|
+
|
|
100
|
+
identity otsi-protection {
|
|
101
|
+
base te-types:lsp-protection-type;
|
|
102
|
+
description
|
|
103
|
+
"Individual OTSi(G) protection LSP protection type.";
|
|
104
|
+
reference
|
|
105
|
+
"ITU-T G.873.1 v5.2 (02/2022): Optical transport network:
|
|
106
|
+
Linear protection";
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/*
|
|
110
|
+
* Groupings
|
|
111
|
+
*/
|
|
112
|
+
|
|
113
|
+
grouping amplifier-params {
|
|
114
|
+
description "describes parameters for an amplifier";
|
|
115
|
+
container amplifier {
|
|
116
|
+
description
|
|
117
|
+
"amplifier type, operatonal parameters are described.";
|
|
118
|
+
leaf type-variety {
|
|
119
|
+
type string;
|
|
120
|
+
mandatory true ;
|
|
121
|
+
description
|
|
122
|
+
"String identifier of amplifier type referencing
|
|
123
|
+
a specification in a separate equipment catalog";
|
|
124
|
+
}
|
|
125
|
+
container operational {
|
|
126
|
+
description "amplifier operational parameters";
|
|
127
|
+
list amplifier-element {
|
|
128
|
+
key "frequency-range-id stage-order";
|
|
129
|
+
description
|
|
130
|
+
"The list of parallel amplifier elements within an
|
|
131
|
+
amplifier used to amplify different frequency ranges.
|
|
132
|
+
|
|
133
|
+
Two elements in the list must not have the same range
|
|
134
|
+
or overlapping ranges.";
|
|
135
|
+
leaf frequency-range-id {
|
|
136
|
+
type uint16;
|
|
137
|
+
description
|
|
138
|
+
"The identifier of the frequency range.";
|
|
139
|
+
}
|
|
140
|
+
leaf stage-order {
|
|
141
|
+
type uint8;
|
|
142
|
+
description
|
|
143
|
+
"It allows defining for each spectrum badwidth the
|
|
144
|
+
cascade order of each amplifier-element.";
|
|
145
|
+
}
|
|
146
|
+
leaf name {
|
|
147
|
+
type string;
|
|
148
|
+
description
|
|
149
|
+
"The name of the amplifier element as specified in
|
|
150
|
+
the vendor's specification associated with the
|
|
151
|
+
type-variety.";
|
|
152
|
+
}
|
|
153
|
+
leaf type-variety {
|
|
154
|
+
type string;
|
|
155
|
+
description
|
|
156
|
+
"String identifier of amplifier element type
|
|
157
|
+
referencing a specification in a separate equipment
|
|
158
|
+
catalog.
|
|
159
|
+
|
|
160
|
+
This attributes applies only when the type-variety of
|
|
161
|
+
the amplifier is not sufficient to describe the
|
|
162
|
+
amplifier element type.";
|
|
163
|
+
}
|
|
164
|
+
container frequency-range {
|
|
165
|
+
description
|
|
166
|
+
"The frequency range amplified by the amplifier
|
|
167
|
+
element.";
|
|
168
|
+
uses l0-types:frequency-range;
|
|
169
|
+
}
|
|
170
|
+
container power-param {
|
|
171
|
+
description
|
|
172
|
+
"The optical power after the out-voa of each amplifier
|
|
173
|
+
element.";
|
|
174
|
+
choice power-param {
|
|
175
|
+
mandatory true;
|
|
176
|
+
description
|
|
177
|
+
"Select the mode: channel power or power spectral
|
|
178
|
+
density (PSD).";
|
|
179
|
+
case channel-power {
|
|
180
|
+
leaf nominal-carrier-power {
|
|
181
|
+
type l0-types:power-dbm-or-null;
|
|
182
|
+
mandatory true;
|
|
183
|
+
description
|
|
184
|
+
"Reference channel power.";
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
case power-spectral-density {
|
|
188
|
+
leaf nominal-psd {
|
|
189
|
+
type l0-types:psd-or-null;
|
|
190
|
+
mandatory true;
|
|
191
|
+
description
|
|
192
|
+
"Reference power spectral density (PSD).";
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
} // container power-param
|
|
197
|
+
leaf pdl {
|
|
198
|
+
type l0-types:power-loss-or-null;
|
|
199
|
+
description "Polarization Dependent Loss (PDL)";
|
|
200
|
+
}
|
|
201
|
+
choice amplifier-element-type {
|
|
202
|
+
mandatory true;
|
|
203
|
+
description
|
|
204
|
+
"Identifies whether the amplifier element is an
|
|
205
|
+
Optical Amplifier (OA) or a Dynamic Gain Equalizer
|
|
206
|
+
(DGE).";
|
|
207
|
+
container optical-amplifier {
|
|
208
|
+
description
|
|
209
|
+
"The attributes applicable only to amplifier
|
|
210
|
+
elements";
|
|
211
|
+
leaf actual-gain {
|
|
212
|
+
type l0-types:power-gain-or-null;
|
|
213
|
+
mandatory true;
|
|
214
|
+
description
|
|
215
|
+
"The value of the gain provided by the
|
|
216
|
+
amplification stage of the optical amplifier.";
|
|
217
|
+
}
|
|
218
|
+
leaf in-voa {
|
|
219
|
+
type l0-types:power-loss-or-null;
|
|
220
|
+
description
|
|
221
|
+
"Loss introduced by the Variable Optical Attenuator
|
|
222
|
+
(VOA) at the input of the amplification stage of
|
|
223
|
+
the amplifier, if present";
|
|
224
|
+
}
|
|
225
|
+
leaf out-voa {
|
|
226
|
+
type l0-types:power-loss-or-null;
|
|
227
|
+
description
|
|
228
|
+
"Loss introduced by the Variable Optical Attenuator
|
|
229
|
+
(VOA) at the output of the amplification stage of
|
|
230
|
+
the amplifier, if present.";
|
|
231
|
+
}
|
|
232
|
+
leaf tilt-target {
|
|
233
|
+
type l0-types:decimal-2-or-null;
|
|
234
|
+
units "dB";
|
|
235
|
+
mandatory true ;
|
|
236
|
+
description
|
|
237
|
+
"The tilt target defined between lower and upper
|
|
238
|
+
frequency of the amplifier frequency range.";
|
|
239
|
+
}
|
|
240
|
+
leaf total-output-power {
|
|
241
|
+
type l0-types:power-dbm-or-null;
|
|
242
|
+
mandatory true;
|
|
243
|
+
description
|
|
244
|
+
"It represent total output power measured in the
|
|
245
|
+
range specified by the frequency-range.
|
|
246
|
+
|
|
247
|
+
Optical power is especially needed to
|
|
248
|
+
re-compute/check consistency of span
|
|
249
|
+
(fiber + concentrated loss) loss value, with
|
|
250
|
+
respect to loss/gain information on elements.";
|
|
251
|
+
}
|
|
252
|
+
leaf raman-direction {
|
|
253
|
+
type enumeration {
|
|
254
|
+
enum co-propagating {
|
|
255
|
+
description
|
|
256
|
+
"Co-propagating indicates that optical pump
|
|
257
|
+
light is injected in the same direction to the
|
|
258
|
+
optical signal that is amplified
|
|
259
|
+
(forward pump).";
|
|
260
|
+
}
|
|
261
|
+
enum counter-propagating {
|
|
262
|
+
description
|
|
263
|
+
"Counter-propagating indicates that optical
|
|
264
|
+
pump light is injected in opposite direction
|
|
265
|
+
to the optical signal that is amplified
|
|
266
|
+
(backward pump).";
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
description
|
|
270
|
+
"The direction of injection of the raman pump.";
|
|
271
|
+
}
|
|
272
|
+
list raman-pump {
|
|
273
|
+
key pump-id;
|
|
274
|
+
description
|
|
275
|
+
"The list of pumps for the Raman amplifier.";
|
|
276
|
+
leaf pump-id {
|
|
277
|
+
type uint16;
|
|
278
|
+
description
|
|
279
|
+
"The identifier of a pump within an amplifier
|
|
280
|
+
element.";
|
|
281
|
+
}
|
|
282
|
+
leaf frequency {
|
|
283
|
+
type l0-types:frequency-thz;
|
|
284
|
+
description
|
|
285
|
+
"The raman pump central frequency.";
|
|
286
|
+
}
|
|
287
|
+
leaf power {
|
|
288
|
+
type l0-types:decimal-2-or-null;
|
|
289
|
+
units "Watts";
|
|
290
|
+
description
|
|
291
|
+
"The total pump power considering a depolarized
|
|
292
|
+
pump at the raman pump central frequency.";
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
} // container optical-amplifier
|
|
296
|
+
container dynamic-gain-equalizer {
|
|
297
|
+
presence
|
|
298
|
+
"When present it indicates that the amplifier element
|
|
299
|
+
is a Dynamic Gain Equalizer (DGE)";
|
|
300
|
+
description
|
|
301
|
+
"The attributes applicable only to DEG amplifier
|
|
302
|
+
elements.";
|
|
303
|
+
list media-channel {
|
|
304
|
+
key "flexi-n";
|
|
305
|
+
description
|
|
306
|
+
"List of media channels represented as (n,m)";
|
|
307
|
+
|
|
308
|
+
uses l0-types:flexi-grid-frequency-slot {
|
|
309
|
+
refine flexi-m {
|
|
310
|
+
mandatory true;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
leaf delta-power {
|
|
315
|
+
type l0-types:power-ratio-or-null;
|
|
316
|
+
description
|
|
317
|
+
" Deviation from the reference carrier power
|
|
318
|
+
defined for the OMS.";
|
|
319
|
+
}
|
|
320
|
+
} // media channels list
|
|
321
|
+
} // container dynamic-gain-equalizer
|
|
322
|
+
} // choice amplifier-element-type
|
|
323
|
+
} // list amplifier-element
|
|
324
|
+
} // container operational
|
|
325
|
+
} // container amplifier
|
|
326
|
+
} // grouping amplifier-params
|
|
327
|
+
|
|
328
|
+
grouping fiber-params {
|
|
329
|
+
description
|
|
330
|
+
"String identifier of fiber type referencing a
|
|
331
|
+
specification in a separate equipment catalog";
|
|
332
|
+
container fiber {
|
|
333
|
+
description "fiber characteristics";
|
|
334
|
+
leaf type-variety {
|
|
335
|
+
type string ;
|
|
336
|
+
mandatory true ;
|
|
337
|
+
description "fiber type";
|
|
338
|
+
}
|
|
339
|
+
leaf length {
|
|
340
|
+
type l0-types:decimal-2-or-null;
|
|
341
|
+
units km;
|
|
342
|
+
mandatory true ;
|
|
343
|
+
description "length of fiber";
|
|
344
|
+
}
|
|
345
|
+
leaf loss-coef {
|
|
346
|
+
type l0-types:decimal-2-or-null;
|
|
347
|
+
units dB/km;
|
|
348
|
+
mandatory true ;
|
|
349
|
+
description "loss coefficient of the fiber";
|
|
350
|
+
}
|
|
351
|
+
leaf total-loss {
|
|
352
|
+
type l0-types:power-loss-or-null;
|
|
353
|
+
description
|
|
354
|
+
"The measured total loss of the fiber, which includes
|
|
355
|
+
all possible losses: fiber loss and conn-in and conn-out
|
|
356
|
+
losses.
|
|
357
|
+
|
|
358
|
+
This attribute is not present when the total loss cannot
|
|
359
|
+
be measured.";
|
|
360
|
+
}
|
|
361
|
+
leaf pmd {
|
|
362
|
+
type l0-types:decimal-2-or-null;
|
|
363
|
+
units "ps";
|
|
364
|
+
description "pmd of the fiber";
|
|
365
|
+
}
|
|
366
|
+
leaf conn-in{
|
|
367
|
+
type l0-types:power-loss-or-null;
|
|
368
|
+
description "connector-in";
|
|
369
|
+
}
|
|
370
|
+
leaf conn-out{
|
|
371
|
+
type l0-types:power-loss-or-null;
|
|
372
|
+
description "connector-out";
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
grouping roadm-common-path {
|
|
378
|
+
description
|
|
379
|
+
"The optical impairments of a ROADM which are common to all
|
|
380
|
+
its paths (express path, add path or drop path).";
|
|
381
|
+
leaf roadm-pmd {
|
|
382
|
+
type union {
|
|
383
|
+
type decimal64 {
|
|
384
|
+
fraction-digits 8;
|
|
385
|
+
range "0..max";
|
|
386
|
+
}
|
|
387
|
+
type empty;
|
|
388
|
+
}
|
|
389
|
+
units "ps";
|
|
390
|
+
description
|
|
391
|
+
"Polarization Mode Dispersion (PMD), when known, or an
|
|
392
|
+
empty value when unknown.";
|
|
393
|
+
}
|
|
394
|
+
leaf roadm-cd {
|
|
395
|
+
type l0-types:decimal-5-or-null;
|
|
396
|
+
units "ps/nm";
|
|
397
|
+
description "Chromatic Dispersion (CD)";
|
|
398
|
+
}
|
|
399
|
+
leaf roadm-pdl {
|
|
400
|
+
type l0-types:power-loss-or-null;
|
|
401
|
+
description "Polarization Dependent Loss (PDL)";
|
|
402
|
+
}
|
|
403
|
+
leaf roadm-inband-crosstalk {
|
|
404
|
+
type l0-types:decimal-2-or-null;
|
|
405
|
+
units "dB";
|
|
406
|
+
description
|
|
407
|
+
"In-band crosstalk, or coherent crosstalk, can occur in
|
|
408
|
+
components that can have multiple same wavelength inputs
|
|
409
|
+
with the inputs either routed to different output ports,
|
|
410
|
+
or all but one blocked";
|
|
411
|
+
}
|
|
412
|
+
leaf roadm-maxloss {
|
|
413
|
+
type l0-types:power-loss-or-null;
|
|
414
|
+
description
|
|
415
|
+
"This is the maximum expected path loss from the
|
|
416
|
+
ROADM ingress to the ROADM egress
|
|
417
|
+
assuming no additional path loss is added";
|
|
418
|
+
}
|
|
419
|
+
} // grouping roadm-common-path
|
|
420
|
+
|
|
421
|
+
grouping roadm-express-path {
|
|
422
|
+
description
|
|
423
|
+
"The optical impairments of a ROADM express path.";
|
|
424
|
+
uses roadm-common-path;
|
|
425
|
+
} // grouping roadm-express-path
|
|
426
|
+
|
|
427
|
+
grouping roadm-add-path {
|
|
428
|
+
description
|
|
429
|
+
"The optical impairments of a ROADM add path.";
|
|
430
|
+
uses roadm-common-path {
|
|
431
|
+
refine roadm-inband-crosstalk {
|
|
432
|
+
description
|
|
433
|
+
"In-band crosstalk, or coherent crosstalk,
|
|
434
|
+
can occur in components that can have multiple same
|
|
435
|
+
wavelength inputs,with the inputs either
|
|
436
|
+
routed to different output ports,
|
|
437
|
+
or all but one blocked.
|
|
438
|
+
|
|
439
|
+
In the case of add path it is the total
|
|
440
|
+
of the add block + egress WSS crosstalk contributions.";
|
|
441
|
+
}
|
|
442
|
+
refine roadm-maxloss {
|
|
443
|
+
description
|
|
444
|
+
"This is the maximum expected add path loss from
|
|
445
|
+
the add/drop port input to the ROADM egress,
|
|
446
|
+
assuming no additional add path loss is added.
|
|
447
|
+
This is used to establish the minimum required
|
|
448
|
+
transponder output power required
|
|
449
|
+
to hit the ROADM egress target power
|
|
450
|
+
levels and preventing
|
|
451
|
+
to hit the WSS attenuation limits.
|
|
452
|
+
If the add path contains an internal amplifier
|
|
453
|
+
this loss value should be based
|
|
454
|
+
on worst case expected amplifier gain due to
|
|
455
|
+
ripple or gain uncertainty";
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
leaf roadm-pmax {
|
|
459
|
+
type l0-types:power-dbm-or-null;
|
|
460
|
+
description
|
|
461
|
+
"This is the maximum (per carrier) power level
|
|
462
|
+
permitted at the add block input ports,
|
|
463
|
+
that can be handled by the ROADM node.
|
|
464
|
+
This may reflect either add amplifier power
|
|
465
|
+
contraints or WSS adjustment limits.
|
|
466
|
+
Higher power transponders would need to have
|
|
467
|
+
their launch power reduced
|
|
468
|
+
to this value or lower";
|
|
469
|
+
}
|
|
470
|
+
leaf roadm-osnr {
|
|
471
|
+
type l0-types:snr-or-null;
|
|
472
|
+
description
|
|
473
|
+
"Optical Signal-to-Noise Ratio (OSNR).
|
|
474
|
+
If the add path contains the ability to adjust the
|
|
475
|
+
carrier power levels into an add path amplifier
|
|
476
|
+
(if present) to a target value,
|
|
477
|
+
this reflects the OSNR contribution of the
|
|
478
|
+
add amplifier assuming this target value is obtained.
|
|
479
|
+
The worst case OSNR based on the input power and
|
|
480
|
+
NF calculation method, and this value, should be used
|
|
481
|
+
(if both are defined).";
|
|
482
|
+
}
|
|
483
|
+
leaf roadm-noise-figure {
|
|
484
|
+
type l0-types:decimal-5-or-null;
|
|
485
|
+
units "dB";
|
|
486
|
+
description
|
|
487
|
+
"Noise Figure. If the add path contains an amplifier,
|
|
488
|
+
this is the noise figure of that amplifier inferred
|
|
489
|
+
to the add port.
|
|
490
|
+
This permits add path OSNR calculation based
|
|
491
|
+
on the input power levels to the add block
|
|
492
|
+
without knowing the ROADM path losses to
|
|
493
|
+
the add amplifier.";
|
|
494
|
+
}
|
|
495
|
+
} // grouping roadm-add-path
|
|
496
|
+
|
|
497
|
+
grouping roadm-drop-path {
|
|
498
|
+
description
|
|
499
|
+
"The optical impairments of a ROADM drop path";
|
|
500
|
+
uses roadm-common-path {
|
|
501
|
+
refine roadm-inband-crosstalk {
|
|
502
|
+
description
|
|
503
|
+
"In-band crosstalk, or coherent crosstalk, can occur in
|
|
504
|
+
components that can have multiple same wavelength
|
|
505
|
+
inputs,with the inputs either routed to different
|
|
506
|
+
output ports,or all but one blocked.
|
|
507
|
+
|
|
508
|
+
In the case of drop path it is the total
|
|
509
|
+
of the ingress
|
|
510
|
+
to drop e.g. WSS and drop block crosstalk
|
|
511
|
+
contributions.";
|
|
512
|
+
}
|
|
513
|
+
refine roadm-maxloss {
|
|
514
|
+
description
|
|
515
|
+
"The net loss from the ROADM input,to the output
|
|
516
|
+
of the drop block.
|
|
517
|
+
If ROADM ingress to drop path includes an amplifier,
|
|
518
|
+
the amplifier gain reduces the net loss.
|
|
519
|
+
This is before any additional drop path attenuation
|
|
520
|
+
that may be required
|
|
521
|
+
due to drop amplifier power contraints.
|
|
522
|
+
The max value correspond to worst case expected loss,
|
|
523
|
+
including amplifier gain ripple or uncertainty.
|
|
524
|
+
It is the maximum output power of the drop
|
|
525
|
+
amplifier.";
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
leaf roadm-minloss {
|
|
529
|
+
type l0-types:power-loss-or-null;
|
|
530
|
+
description
|
|
531
|
+
"The net loss from the ROADM input, to the
|
|
532
|
+
output of the drop block.
|
|
533
|
+
If this ROADM ingress to drop path includes
|
|
534
|
+
an amplifier,the amplifier gain reduces the net loss.
|
|
535
|
+
This is before any additional drop path attenuation
|
|
536
|
+
that may be required due to drop amplifier power
|
|
537
|
+
contraints.
|
|
538
|
+
The min value correspond to best case expected loss,
|
|
539
|
+
including amplifier gain ripple or uncertainty.";
|
|
540
|
+
}
|
|
541
|
+
leaf roadm-typloss {
|
|
542
|
+
type l0-types:power-loss-or-null;
|
|
543
|
+
description
|
|
544
|
+
"The net loss from the ROADM input,
|
|
545
|
+
to the output of the drop block.
|
|
546
|
+
If this ROADM ingress to drop path
|
|
547
|
+
includes an amplifier,
|
|
548
|
+
the amplifier gain reduces the net loss.
|
|
549
|
+
This is before any additional drop path
|
|
550
|
+
attenuation
|
|
551
|
+
that may be required due to drop amplifier
|
|
552
|
+
power contraints.
|
|
553
|
+
The typ value correspond to typical case
|
|
554
|
+
expected loss.";
|
|
555
|
+
}
|
|
556
|
+
leaf roadm-pmin {
|
|
557
|
+
type l0-types:power-dbm-or-null;
|
|
558
|
+
description
|
|
559
|
+
"If the drop path has additional loss
|
|
560
|
+
that is added, for example,
|
|
561
|
+
to hit target power levels into a
|
|
562
|
+
drop path amplifier, or simply, to reduce the
|
|
563
|
+
power of a strong carrier
|
|
564
|
+
(due to ripple,for example),
|
|
565
|
+
then the use of the ROADM input power levels and
|
|
566
|
+
the above drop losses is not appropriate.
|
|
567
|
+
This parameter corresponds to the min per
|
|
568
|
+
carrier power levels
|
|
569
|
+
expected at the output of the drop block.
|
|
570
|
+
A detail example of the comparison using
|
|
571
|
+
these parameters is
|
|
572
|
+
detailed in section xxx of the document yyy.";
|
|
573
|
+
}
|
|
574
|
+
leaf roadm-pmax {
|
|
575
|
+
type l0-types:power-dbm-or-null;
|
|
576
|
+
description
|
|
577
|
+
"If the drop path has additional loss that is added,
|
|
578
|
+
for example, to hit target power levels into a
|
|
579
|
+
drop path amplifier,or simply,to reduce the power
|
|
580
|
+
of a strong carrier(due to ripple,for example),
|
|
581
|
+
then the use of the ROADM input power levels and the
|
|
582
|
+
above drop losses is not appropriate.
|
|
583
|
+
This parameter corresponds to the best case per
|
|
584
|
+
carrier power levels expected at the output of the
|
|
585
|
+
drop block.
|
|
586
|
+
A detail example of the comparison using
|
|
587
|
+
these parameters
|
|
588
|
+
is detailed in section xxx of the document yyy";
|
|
589
|
+
}
|
|
590
|
+
leaf roadm-ptyp {
|
|
591
|
+
type l0-types:power-dbm-or-null;
|
|
592
|
+
description
|
|
593
|
+
"If the drop path has additional loss that is added,
|
|
594
|
+
for example, to hit target power levels into a
|
|
595
|
+
drop path amplifier,or simply,to reduce the
|
|
596
|
+
power of a strong carrier(due to ripple,for example),
|
|
597
|
+
then the use of the ROADM input power levels and
|
|
598
|
+
the above drop losses is not appropriate.
|
|
599
|
+
This parameter corresponds to the typical case
|
|
600
|
+
per carrier power levels expected
|
|
601
|
+
at the output of the drop block.";
|
|
602
|
+
}
|
|
603
|
+
leaf roadm-osnr {
|
|
604
|
+
type l0-types:snr-or-null;
|
|
605
|
+
description
|
|
606
|
+
"Optical Signal-to-Noise Ratio (OSNR).
|
|
607
|
+
Expected OSNR contribution of the drop path
|
|
608
|
+
amplifier(if present)
|
|
609
|
+
for the case of additional drop path loss
|
|
610
|
+
(before this amplifier)
|
|
611
|
+
in order to hit a target power level (per carrier).
|
|
612
|
+
If both, the OSNR based on the ROADM
|
|
613
|
+
input power level
|
|
614
|
+
(Pcarrier =
|
|
615
|
+
Pref+10Log(carrier-baudrate/ref-baud) + delta-power)
|
|
616
|
+
and the input inferred NF(NF.drop),
|
|
617
|
+
and this OSNR value, are defined,
|
|
618
|
+
the minimum value between these two should be used";
|
|
619
|
+
}
|
|
620
|
+
leaf roadm-noise-figure {
|
|
621
|
+
type l0-types:decimal-5-or-null;
|
|
622
|
+
units "dB";
|
|
623
|
+
description
|
|
624
|
+
"Drop path Noise Figure.
|
|
625
|
+
If the drop path contains an amplifier,
|
|
626
|
+
this is the noise figure
|
|
627
|
+
of that amplifier, inferred to the
|
|
628
|
+
ROADM ingress port.
|
|
629
|
+
This permits to determine
|
|
630
|
+
amplifier OSNR contribution
|
|
631
|
+
without having to specify the
|
|
632
|
+
ROADM node's losses to that amplifier.
|
|
633
|
+
This applies for the case of no
|
|
634
|
+
additional drop path loss,
|
|
635
|
+
before the amplifier, in order to reduce the power
|
|
636
|
+
of the carriers to a target value";
|
|
637
|
+
}
|
|
638
|
+
} // grouping roadm-drop-path
|
|
639
|
+
|
|
640
|
+
grouping concentratedloss-params {
|
|
641
|
+
description "concentrated loss";
|
|
642
|
+
container concentratedloss{
|
|
643
|
+
description "concentrated loss";
|
|
644
|
+
leaf loss {
|
|
645
|
+
type l0-types:power-loss-or-null;
|
|
646
|
+
mandatory true;
|
|
647
|
+
description
|
|
648
|
+
"Loss introduced by the concentrated loss element.";
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
grouping oms-general-optical-params {
|
|
654
|
+
description "OMS link optical parameters";
|
|
655
|
+
leaf generalized-snr {
|
|
656
|
+
type l0-types:snr;
|
|
657
|
+
description "generalized snr";
|
|
658
|
+
}
|
|
659
|
+
leaf equalization-mode{
|
|
660
|
+
type identityref {
|
|
661
|
+
base l0-types:type-power-mode;
|
|
662
|
+
}
|
|
663
|
+
description
|
|
664
|
+
"The equalization mode.
|
|
665
|
+
|
|
666
|
+
When not present it indicates that the information about
|
|
667
|
+
the equalization mode is not reported.
|
|
668
|
+
|
|
669
|
+
Reporting this value is needed to support optical
|
|
670
|
+
impairments applications.";
|
|
671
|
+
}
|
|
672
|
+
container power-param {
|
|
673
|
+
description
|
|
674
|
+
"Optical channel power or power spectral densitity (PSD)
|
|
675
|
+
after the ROADM.";
|
|
676
|
+
leaf nominal-carrier-power {
|
|
677
|
+
when "derived-from-or-self(../../equalization-mode, "
|
|
678
|
+
+ "'l0-types:carrier-power')";
|
|
679
|
+
type l0-types:power-dbm-or-null;
|
|
680
|
+
description
|
|
681
|
+
"Reference channel power.";
|
|
682
|
+
}
|
|
683
|
+
leaf nominal-psd {
|
|
684
|
+
when "derived-from-or-self(../../equalization-mode, "
|
|
685
|
+
+ "'l0-types:power-spectral-density')";
|
|
686
|
+
type l0-types:psd-or-null;
|
|
687
|
+
description
|
|
688
|
+
" Reference power spectral density (PSD).";
|
|
689
|
+
}
|
|
690
|
+
} // container power-param
|
|
691
|
+
} // grouping oms-general-optical-params
|
|
692
|
+
|
|
693
|
+
grouping otsi-group {
|
|
694
|
+
description "OTSiG definition , representing client
|
|
695
|
+
digital information stream supported by one or more OTSi";
|
|
696
|
+
|
|
697
|
+
list otsi {
|
|
698
|
+
key "otsi-carrier-id";
|
|
699
|
+
config false;
|
|
700
|
+
description
|
|
701
|
+
"list of OTSi contained in one OTSiG.
|
|
702
|
+
The list could also be of only one element";
|
|
703
|
+
leaf otsi-carrier-id {
|
|
704
|
+
type uint16;
|
|
705
|
+
description "OTSi carrier-id";
|
|
706
|
+
}
|
|
707
|
+
leaf otsi-carrier-frequency {
|
|
708
|
+
type union {
|
|
709
|
+
type l0-types:frequency-thz;
|
|
710
|
+
type empty;
|
|
711
|
+
}
|
|
712
|
+
description
|
|
713
|
+
"OTSi carrier frequency, equivalent to the
|
|
714
|
+
actual configured transmitter frequency, when known, or
|
|
715
|
+
an empty value when unknown.";
|
|
716
|
+
}
|
|
717
|
+
leaf-list e2e-mc-path-id {
|
|
718
|
+
type uint16;
|
|
719
|
+
description
|
|
720
|
+
"The list of the possible end-to-end Media Channel
|
|
721
|
+
(e2e-MC) paths associated with the OTSi which have
|
|
722
|
+
different optical impairments.
|
|
723
|
+
|
|
724
|
+
This list is meaningful in case the OTSi can be associated
|
|
725
|
+
with multiple end-to-end Media Channel (e2e-MC) paths
|
|
726
|
+
(e.g., when OPS protection is configured).
|
|
727
|
+
|
|
728
|
+
The list can be empty when the OTSi has only one
|
|
729
|
+
e2e-MC path.";
|
|
730
|
+
}
|
|
731
|
+
} // OTSi list
|
|
732
|
+
} // OTSiG grouping
|
|
733
|
+
|
|
734
|
+
grouping media-channel-groups {
|
|
735
|
+
description
|
|
736
|
+
"media channel groups.
|
|
737
|
+
|
|
738
|
+
This grouping is not intended to be reused outside of this
|
|
739
|
+
module.";
|
|
740
|
+
|
|
741
|
+
container media-channel-groups {
|
|
742
|
+
presence
|
|
743
|
+
"When present, it indicates that the list media channel
|
|
744
|
+
groups is reported.";
|
|
745
|
+
description
|
|
746
|
+
"The top level container for the list of media channel
|
|
747
|
+
groups.";
|
|
748
|
+
list media-channel-group {
|
|
749
|
+
key "otsi-group-ref";
|
|
750
|
+
description
|
|
751
|
+
"The list of media channel groups";
|
|
752
|
+
leaf otsi-group-ref {
|
|
753
|
+
type leafref {
|
|
754
|
+
path "../../../../../../../otsis/" +
|
|
755
|
+
"otsi-group/otsi-group-id";
|
|
756
|
+
}
|
|
757
|
+
description
|
|
758
|
+
"Reference to the OTSiG to which the OTSis carried by
|
|
759
|
+
this media channel group belong to.";
|
|
760
|
+
}
|
|
761
|
+
list media-channel {
|
|
762
|
+
// key "flexi-n";
|
|
763
|
+
key "media-channel-id";
|
|
764
|
+
unique "flexi-n";
|
|
765
|
+
description
|
|
766
|
+
"list of media channels represented as (n,m)";
|
|
767
|
+
leaf media-channel-id {
|
|
768
|
+
type int16;
|
|
769
|
+
description
|
|
770
|
+
"The identifier of media channel within media channel
|
|
771
|
+
group.
|
|
772
|
+
|
|
773
|
+
It may be equal to the flexi-n attribute, when the
|
|
774
|
+
flexi-n attribute is present.";
|
|
775
|
+
}
|
|
776
|
+
// this grouping add both n.m values
|
|
777
|
+
uses l0-types:flexi-grid-frequency-slot;
|
|
778
|
+
|
|
779
|
+
list otsi-ref {
|
|
780
|
+
key "otsi-carrier-ref";
|
|
781
|
+
description
|
|
782
|
+
"The list of references to the OTSis and their
|
|
783
|
+
end-to-end Media Channel (e2e-MC) paths within the
|
|
784
|
+
OTSiG carried by this media channel.";
|
|
785
|
+
leaf otsi-carrier-ref {
|
|
786
|
+
type leafref {
|
|
787
|
+
path "../../../../../../../../../otsis/" +
|
|
788
|
+
"otsi-group[otsi-group-id=current()" +
|
|
789
|
+
"/../../../otsi-group-ref]/" +
|
|
790
|
+
"otsi/otsi-carrier-id" ;
|
|
791
|
+
}
|
|
792
|
+
description
|
|
793
|
+
"Reference to the OTSi within the OTSiG carried
|
|
794
|
+
by this media channel.";
|
|
795
|
+
}
|
|
796
|
+
leaf-list e2e-mc-path-ref {
|
|
797
|
+
type leafref {
|
|
798
|
+
path "../../../../../../../../../otsis/" +
|
|
799
|
+
"otsi-group[otsi-group-id=current()" +
|
|
800
|
+
"/../../../otsi-group-ref]/" +
|
|
801
|
+
"otsi[otsi-carrier-id=current()" +
|
|
802
|
+
"/../otsi-carrier-ref]/e2e-mc-path-id";
|
|
803
|
+
}
|
|
804
|
+
description
|
|
805
|
+
"References to the end-to-end Media Channel (e2e-MC)
|
|
806
|
+
paths of this OTSi which are routed through this
|
|
807
|
+
media channel.";
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
leaf delta-power {
|
|
811
|
+
type l0-types:power-ratio-or-null;
|
|
812
|
+
description
|
|
813
|
+
" Deviation from the reference carrier power defined
|
|
814
|
+
for the OMS.";
|
|
815
|
+
}
|
|
816
|
+
} // media channels list
|
|
817
|
+
} // media-channel-groups list
|
|
818
|
+
}
|
|
819
|
+
} // media media-channel-groups grouping
|
|
820
|
+
|
|
821
|
+
grouping oms-element {
|
|
822
|
+
description "OMS description";
|
|
823
|
+
container OMS-elements {
|
|
824
|
+
presence
|
|
825
|
+
"When present, it indicates that the list of OMS elements
|
|
826
|
+
is reported.";
|
|
827
|
+
description
|
|
828
|
+
"The top level container for the list of OMS elements.";
|
|
829
|
+
list OMS-element {
|
|
830
|
+
key "elt-index";
|
|
831
|
+
description
|
|
832
|
+
"defines the spans and the amplifier blocks of
|
|
833
|
+
the amplified lines";
|
|
834
|
+
leaf elt-index {
|
|
835
|
+
type uint16;
|
|
836
|
+
description
|
|
837
|
+
"ordered list of Index of OMS element
|
|
838
|
+
(whether it's a Fiber, an EDFA or a
|
|
839
|
+
Concentratedloss)";
|
|
840
|
+
}
|
|
841
|
+
leaf oms-element-uid {
|
|
842
|
+
type union {
|
|
843
|
+
type string;
|
|
844
|
+
type empty;
|
|
845
|
+
}
|
|
846
|
+
description
|
|
847
|
+
"Unique id of the element, if it exists and it is known.
|
|
848
|
+
|
|
849
|
+
When unknown, an empty value is reported.
|
|
850
|
+
|
|
851
|
+
When it does not exist, the attribute is not present.";
|
|
852
|
+
}
|
|
853
|
+
container reverse-element-ref {
|
|
854
|
+
description
|
|
855
|
+
"It contains references to the elements which are
|
|
856
|
+
associated with this element in the reverse
|
|
857
|
+
direction.";
|
|
858
|
+
leaf link-ref {
|
|
859
|
+
type leafref {
|
|
860
|
+
path "../../../../../../../../nt:link/nt:link-id";
|
|
861
|
+
}
|
|
862
|
+
description
|
|
863
|
+
"The reference to the OMS link which the OMS elements
|
|
864
|
+
belongs to.";
|
|
865
|
+
}
|
|
866
|
+
leaf-list oms-element-ref {
|
|
867
|
+
type leafref {
|
|
868
|
+
path "../../../../../../../../nt:link[nt:link-id="
|
|
869
|
+
+ "current()/../link-ref]/tet:te/"
|
|
870
|
+
+ "tet:te-link-attributes/OMS-attributes/"
|
|
871
|
+
+ "OMS-elements/OMS-element/elt-index";
|
|
872
|
+
}
|
|
873
|
+
description
|
|
874
|
+
"The references to the OMS elements.";
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
choice element {
|
|
878
|
+
mandatory true;
|
|
879
|
+
description "OMS element type";
|
|
880
|
+
case amplifier {
|
|
881
|
+
uses tet:geolocation-container;
|
|
882
|
+
uses amplifier-params;
|
|
883
|
+
}
|
|
884
|
+
case fiber {
|
|
885
|
+
uses fiber-params;
|
|
886
|
+
}
|
|
887
|
+
case concentratedloss {
|
|
888
|
+
uses concentratedloss-params ;
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
grouping otsi-ref {
|
|
896
|
+
description
|
|
897
|
+
"References to an OTSi.
|
|
898
|
+
|
|
899
|
+
This grouping is intended to be reused within the
|
|
900
|
+
transceiver's list only.";
|
|
901
|
+
leaf otsi-group-ref {
|
|
902
|
+
type leafref {
|
|
903
|
+
path "../../../../../../otsis/otsi-group/" +
|
|
904
|
+
"otsi-group-id";
|
|
905
|
+
}
|
|
906
|
+
description
|
|
907
|
+
"The OTSi generated by the transceiver's transmitter.";
|
|
908
|
+
}
|
|
909
|
+
leaf otsi-ref {
|
|
910
|
+
type leafref {
|
|
911
|
+
path "../../../../../../otsis/otsi-group" +
|
|
912
|
+
"[otsi-group-id=current()/../otsi-group-ref]/otsi/" +
|
|
913
|
+
"otsi-carrier-id";
|
|
914
|
+
}
|
|
915
|
+
description
|
|
916
|
+
"The OTSi generated by the transceiver's transmitter.";
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
/*
|
|
921
|
+
* Data nodes
|
|
922
|
+
*/
|
|
923
|
+
|
|
924
|
+
augment "/nw:networks/nw:network/nw:network-types"
|
|
925
|
+
+ "/tet:te-topology" {
|
|
926
|
+
description "optical-impairment topology augmented";
|
|
927
|
+
container optical-impairment-topology {
|
|
928
|
+
presence
|
|
929
|
+
"Indicates an impairment-aware topology of optical networks";
|
|
930
|
+
description
|
|
931
|
+
"Container to identify impairment-aware topology type";
|
|
932
|
+
reference
|
|
933
|
+
"RFC8345: A YANG Data Model for Network Topologies.";
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
augment "/nw:networks/nw:network" {
|
|
938
|
+
when "./nw:network-types/tet:te-topology" +
|
|
939
|
+
"/oit:optical-impairment-topology" {
|
|
940
|
+
description
|
|
941
|
+
"This augment is only valid for Optical Impairment
|
|
942
|
+
topology.";
|
|
943
|
+
}
|
|
944
|
+
description
|
|
945
|
+
"Network augmentation for optical impairments data.";
|
|
946
|
+
container otsis {
|
|
947
|
+
presence
|
|
948
|
+
"When present, it indicates that OTSi information is
|
|
949
|
+
reported.";
|
|
950
|
+
description
|
|
951
|
+
"The information about the OTSis configured on the WDM-TE
|
|
952
|
+
link.";
|
|
953
|
+
list otsi-group {
|
|
954
|
+
key "otsi-group-id";
|
|
955
|
+
config false;
|
|
956
|
+
description
|
|
957
|
+
"the list of possible OTSiG representing client digital
|
|
958
|
+
stream";
|
|
959
|
+
leaf otsi-group-id {
|
|
960
|
+
type string;
|
|
961
|
+
description
|
|
962
|
+
"A network-wide unique identifier of otsi-group element.
|
|
963
|
+
It could be structured e.g., as an URI or as an UUID.";
|
|
964
|
+
}
|
|
965
|
+
uses otsi-group;
|
|
966
|
+
} // list of OTSiG
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
container templates {
|
|
970
|
+
config false;
|
|
971
|
+
description
|
|
972
|
+
"Templates for set of parameters which can be common to
|
|
973
|
+
multiple elements.";
|
|
974
|
+
container roadm-path-impairments {
|
|
975
|
+
description
|
|
976
|
+
"The top level container for the list of the set of
|
|
977
|
+
optical impairments related to ROADM paths.";
|
|
978
|
+
list roadm-path-impairment {
|
|
979
|
+
key "roadm-path-impairments-id";
|
|
980
|
+
description
|
|
981
|
+
"The list of the set of optical impairments related to
|
|
982
|
+
ROADM paths.";
|
|
983
|
+
|
|
984
|
+
leaf roadm-path-impairments-id {
|
|
985
|
+
type string;
|
|
986
|
+
description
|
|
987
|
+
"The identifier of the set of optical impairments
|
|
988
|
+
related to a ROADM path.";
|
|
989
|
+
}
|
|
990
|
+
choice impairment-type {
|
|
991
|
+
description "type path impairment";
|
|
992
|
+
case roadm-express-path {
|
|
993
|
+
list roadm-express-path {
|
|
994
|
+
key frequency-range-id;
|
|
995
|
+
description
|
|
996
|
+
"The list of optical impairments on a ROADM express
|
|
997
|
+
path for different frequency ranges.
|
|
998
|
+
|
|
999
|
+
Two elements in the list must not have the same
|
|
1000
|
+
range or overlapping ranges.";
|
|
1001
|
+
leaf frequency-range-id {
|
|
1002
|
+
type uint16;
|
|
1003
|
+
description
|
|
1004
|
+
"The identifier of the frequency range.";
|
|
1005
|
+
}
|
|
1006
|
+
container frequency-range {
|
|
1007
|
+
description
|
|
1008
|
+
"The frequency range for which these optical
|
|
1009
|
+
impairments apply.";
|
|
1010
|
+
uses l0-types:frequency-range;
|
|
1011
|
+
}
|
|
1012
|
+
uses roadm-express-path;
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
case roadm-add-path {
|
|
1016
|
+
list roadm-add-path {
|
|
1017
|
+
key frequency-range-id;
|
|
1018
|
+
description
|
|
1019
|
+
"The list of optical impairments on a ROADM add
|
|
1020
|
+
path for different frequency ranges.
|
|
1021
|
+
|
|
1022
|
+
Two elements in the list must not have the same
|
|
1023
|
+
range or overlapping ranges.";
|
|
1024
|
+
leaf frequency-range-id {
|
|
1025
|
+
type uint16;
|
|
1026
|
+
description
|
|
1027
|
+
"The identifier of a frequency range.";
|
|
1028
|
+
}
|
|
1029
|
+
container frequency-range {
|
|
1030
|
+
description
|
|
1031
|
+
"The frequency range for which these optical
|
|
1032
|
+
impairments apply.";
|
|
1033
|
+
uses l0-types:frequency-range;
|
|
1034
|
+
}
|
|
1035
|
+
uses roadm-add-path;
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
case roadm-drop-path {
|
|
1039
|
+
list roadm-drop-path {
|
|
1040
|
+
key frequency-range-id;
|
|
1041
|
+
description
|
|
1042
|
+
"The list of optical impairments on a ROADM add
|
|
1043
|
+
path for different frequency ranges.
|
|
1044
|
+
|
|
1045
|
+
Two elements in the list must not have the same
|
|
1046
|
+
range or overlapping ranges.";
|
|
1047
|
+
leaf frequency-range-id {
|
|
1048
|
+
type uint16;
|
|
1049
|
+
description
|
|
1050
|
+
"The identifier of a frequency range.";
|
|
1051
|
+
}
|
|
1052
|
+
container frequency-range {
|
|
1053
|
+
description
|
|
1054
|
+
"The frequency range for which these optical
|
|
1055
|
+
impairments apply.";
|
|
1056
|
+
uses l0-types:frequency-range;
|
|
1057
|
+
}
|
|
1058
|
+
uses roadm-drop-path;
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
} // list roadm-path-impairments
|
|
1063
|
+
} // container roadm-path-impairments
|
|
1064
|
+
container explicit-transceiver-modes {
|
|
1065
|
+
description
|
|
1066
|
+
"The top level container for the list of the
|
|
1067
|
+
transceivers' explicit modes.";
|
|
1068
|
+
list explicit-transceiver-mode {
|
|
1069
|
+
key explicit-transceiver-mode-id;
|
|
1070
|
+
description
|
|
1071
|
+
"The list of the transceivers' explicit modes.";
|
|
1072
|
+
leaf explicit-transceiver-mode-id {
|
|
1073
|
+
type string;
|
|
1074
|
+
description
|
|
1075
|
+
"The identifier of the transceivers' explicit mode.";
|
|
1076
|
+
}
|
|
1077
|
+
uses l0-types:explicit-mode;
|
|
1078
|
+
} // list explicit-transceiver-mode
|
|
1079
|
+
} // container explicit-transceiver-modes
|
|
1080
|
+
} // container templates
|
|
1081
|
+
} // augment network
|
|
1082
|
+
|
|
1083
|
+
augment "/nw:networks/nw:network/nw:node" {
|
|
1084
|
+
when "../nw:network-types/tet:te-topology" +
|
|
1085
|
+
"/oit:optical-impairment-topology" {
|
|
1086
|
+
description
|
|
1087
|
+
"This augment is only valid for Optical Impairment.";
|
|
1088
|
+
}
|
|
1089
|
+
description
|
|
1090
|
+
"Node augmentation for optical impairments data.";
|
|
1091
|
+
container transponders {
|
|
1092
|
+
presence
|
|
1093
|
+
"If present, it indicates that the list of transponders is
|
|
1094
|
+
reported.";
|
|
1095
|
+
description
|
|
1096
|
+
"The top level container for the list of transponders.";
|
|
1097
|
+
list transponder {
|
|
1098
|
+
key "transponder-id";
|
|
1099
|
+
config false;
|
|
1100
|
+
description "The list of transponders.";
|
|
1101
|
+
leaf transponder-id {
|
|
1102
|
+
type uint32;
|
|
1103
|
+
description "transponder identifier";
|
|
1104
|
+
}
|
|
1105
|
+
leaf termination-type-capabilities {
|
|
1106
|
+
type enumeration {
|
|
1107
|
+
enum tunnel-only {
|
|
1108
|
+
description
|
|
1109
|
+
"The transponder can only be used in an Optical
|
|
1110
|
+
Tunnel termination configuration.";
|
|
1111
|
+
}
|
|
1112
|
+
enum 3r-only {
|
|
1113
|
+
description
|
|
1114
|
+
"The transponder can only be used in a 3R
|
|
1115
|
+
configuration.";
|
|
1116
|
+
}
|
|
1117
|
+
enum 3r-or-tunnel {
|
|
1118
|
+
description
|
|
1119
|
+
"The transponder can be configure to be used either
|
|
1120
|
+
in an Optical Tunnel termination configuration or in
|
|
1121
|
+
a 3R configuration.";
|
|
1122
|
+
}
|
|
1123
|
+
}
|
|
1124
|
+
description
|
|
1125
|
+
"Describes whether the transponder can be used in an
|
|
1126
|
+
Optical Tunnel termination configuration or in a 3R
|
|
1127
|
+
configuration (or both).";
|
|
1128
|
+
}
|
|
1129
|
+
leaf supported-3r-mode {
|
|
1130
|
+
when '(../termination-type-capabilities = "3r-only") or
|
|
1131
|
+
(../termination-type-capabilities = "3r-or-tunnel")'
|
|
1132
|
+
{
|
|
1133
|
+
description
|
|
1134
|
+
"Applies only when the transponder supports 3R
|
|
1135
|
+
configuration.";
|
|
1136
|
+
}
|
|
1137
|
+
type enumeration {
|
|
1138
|
+
enum unidir {
|
|
1139
|
+
description
|
|
1140
|
+
"Unidirectional 3R configuration.";
|
|
1141
|
+
}
|
|
1142
|
+
enum bidir {
|
|
1143
|
+
description
|
|
1144
|
+
"Bidirectional 3R configuration.";
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
description
|
|
1148
|
+
"Describes the supported 3R configuration type.";
|
|
1149
|
+
}
|
|
1150
|
+
list transceiver {
|
|
1151
|
+
key "transceiver-id";
|
|
1152
|
+
config false;
|
|
1153
|
+
min-elements 1;
|
|
1154
|
+
description "list of transceiver related to a transponder";
|
|
1155
|
+
leaf transceiver-id {
|
|
1156
|
+
type uint32;
|
|
1157
|
+
description "transceiver identifier";
|
|
1158
|
+
}
|
|
1159
|
+
uses l0-types:transceiver-capabilities {
|
|
1160
|
+
augment "supported-modes/supported-mode/mode/"
|
|
1161
|
+
+ "explicit-mode/explicit-mode" {
|
|
1162
|
+
description
|
|
1163
|
+
"Augment the explicit-mode container with the
|
|
1164
|
+
proper leafref.";
|
|
1165
|
+
leaf explicit-transceiver-mode-ref {
|
|
1166
|
+
type leafref {
|
|
1167
|
+
path "../../../../../../../../oit:templates"
|
|
1168
|
+
+ "/oit:explicit-transceiver-modes"
|
|
1169
|
+
+ "/oit:explicit-transceiver-mode"
|
|
1170
|
+
+ "/oit:explicit-transceiver-mode-id";
|
|
1171
|
+
}
|
|
1172
|
+
description
|
|
1173
|
+
"The refernce to the explicit transceiver
|
|
1174
|
+
mode template.";
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
leaf configured-mode {
|
|
1179
|
+
type union {
|
|
1180
|
+
type empty;
|
|
1181
|
+
type leafref {
|
|
1182
|
+
path "../supported-modes/supported-mode/mode-id";
|
|
1183
|
+
}
|
|
1184
|
+
}
|
|
1185
|
+
description
|
|
1186
|
+
"Reference to the configured mode for transceiver
|
|
1187
|
+
compatibility approach.
|
|
1188
|
+
|
|
1189
|
+
The empty value is used to report that no mode has
|
|
1190
|
+
been configured and there is no default mode.
|
|
1191
|
+
|
|
1192
|
+
When not present, the configured-mode is not reported
|
|
1193
|
+
by the server.";
|
|
1194
|
+
}
|
|
1195
|
+
uses l0-types:common-transceiver-param;
|
|
1196
|
+
container outgoing-otsi {
|
|
1197
|
+
when "../../../../../otsis" {
|
|
1198
|
+
description
|
|
1199
|
+
"It applies only when the OTSi information is
|
|
1200
|
+
reported.";
|
|
1201
|
+
}
|
|
1202
|
+
description
|
|
1203
|
+
"The OTSi generated by the transceiver's transmitter.";
|
|
1204
|
+
uses otsi-ref;
|
|
1205
|
+
}
|
|
1206
|
+
container incoming-otsi {
|
|
1207
|
+
when "../../../../../otsis" {
|
|
1208
|
+
description
|
|
1209
|
+
"It applies only when the OTSi information is
|
|
1210
|
+
reported.";
|
|
1211
|
+
}
|
|
1212
|
+
description
|
|
1213
|
+
"The OTSi received by the transceiver's received.";
|
|
1214
|
+
uses otsi-ref;
|
|
1215
|
+
}
|
|
1216
|
+
leaf configured-termination-type {
|
|
1217
|
+
type enumeration {
|
|
1218
|
+
enum unused-transceiver {
|
|
1219
|
+
description
|
|
1220
|
+
"The transcevier is not used.";
|
|
1221
|
+
}
|
|
1222
|
+
enum tunnel-termination {
|
|
1223
|
+
description
|
|
1224
|
+
"The transceiver is currently used in an Optical
|
|
1225
|
+
Tunnel termination configuration.";
|
|
1226
|
+
}
|
|
1227
|
+
enum 3r-regeneration {
|
|
1228
|
+
description
|
|
1229
|
+
"The transceiver is currently used in a 3R
|
|
1230
|
+
configuration.";
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1233
|
+
description
|
|
1234
|
+
"Describes whether the current configuration of the
|
|
1235
|
+
transceiver is used in an Optical Tunnel termination
|
|
1236
|
+
configuration or in a 3R configuration.
|
|
1237
|
+
|
|
1238
|
+
If empty, it means that the information about the
|
|
1239
|
+
configured-termination-type is not reported.";
|
|
1240
|
+
}
|
|
1241
|
+
} // end of list of transceiver
|
|
1242
|
+
} // end list of transponder
|
|
1243
|
+
}
|
|
1244
|
+
container regen-groups {
|
|
1245
|
+
presence
|
|
1246
|
+
"When present, it indicates that the list of 3R groups
|
|
1247
|
+
is reported.";
|
|
1248
|
+
description
|
|
1249
|
+
"The top level container for the list of 3R groups.";
|
|
1250
|
+
list regen-group {
|
|
1251
|
+
key "group-id";
|
|
1252
|
+
config false;
|
|
1253
|
+
description
|
|
1254
|
+
"The list of 3R groups.
|
|
1255
|
+
|
|
1256
|
+
Any 3R group represent a group of transponder in which an
|
|
1257
|
+
a an electrical connectivity is either in place or could
|
|
1258
|
+
be dynamically provided, to associated transponders used
|
|
1259
|
+
for 3R regeneration.";
|
|
1260
|
+
leaf group-id {
|
|
1261
|
+
type uint32;
|
|
1262
|
+
description
|
|
1263
|
+
"Group identifier used an index to access elements in the
|
|
1264
|
+
list of 3R groups.";
|
|
1265
|
+
}
|
|
1266
|
+
leaf regen-metric {
|
|
1267
|
+
type uint32;
|
|
1268
|
+
description
|
|
1269
|
+
"The cost permits choice among different group of
|
|
1270
|
+
transponders during path computation";
|
|
1271
|
+
}
|
|
1272
|
+
leaf-list transponder-ref {
|
|
1273
|
+
type leafref {
|
|
1274
|
+
path "../../../transponders/transponder/transponder-id";
|
|
1275
|
+
}
|
|
1276
|
+
description
|
|
1277
|
+
"The list of transponder belonging to this 3R group.";
|
|
1278
|
+
}
|
|
1279
|
+
} // end 3R-group
|
|
1280
|
+
}
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
augment "/nw:networks/nw:network/nt:link/tet:te"
|
|
1284
|
+
+ "/tet:te-link-attributes" {
|
|
1285
|
+
when "../../../nw:network-types/tet:te-topology/"
|
|
1286
|
+
+ "oit:optical-impairment-topology" {
|
|
1287
|
+
description
|
|
1288
|
+
"This augment is only valid for Optical Impairment
|
|
1289
|
+
topology.";
|
|
1290
|
+
}
|
|
1291
|
+
description "Optical Link augmentation for impairment data.";
|
|
1292
|
+
container OMS-attributes {
|
|
1293
|
+
config false;
|
|
1294
|
+
description "OMS attributes";
|
|
1295
|
+
uses oms-general-optical-params;
|
|
1296
|
+
uses media-channel-groups;
|
|
1297
|
+
uses oms-element;
|
|
1298
|
+
}
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
augment "/nw:networks/nw:network/nw:node/tet:te"
|
|
1302
|
+
+ "/tet:tunnel-termination-point" {
|
|
1303
|
+
when "../../../nw:network-types/tet:te-topology/"
|
|
1304
|
+
+ "oit:optical-impairment-topology" {
|
|
1305
|
+
description
|
|
1306
|
+
"This augment is only valid for Optical Impairment
|
|
1307
|
+
topology.";
|
|
1308
|
+
}
|
|
1309
|
+
description
|
|
1310
|
+
"Tunnel termination point augmentation for impairment data.";
|
|
1311
|
+
|
|
1312
|
+
list ttp-transceiver {
|
|
1313
|
+
when "../../../transponders" {
|
|
1314
|
+
description
|
|
1315
|
+
"It applies only when the list of transponders is
|
|
1316
|
+
reported.";
|
|
1317
|
+
}
|
|
1318
|
+
key "transponder-ref transceiver-ref";
|
|
1319
|
+
config false;
|
|
1320
|
+
min-elements 1;
|
|
1321
|
+
description
|
|
1322
|
+
"The list of the transceivers used by the TTP.";
|
|
1323
|
+
leaf transponder-ref {
|
|
1324
|
+
type leafref {
|
|
1325
|
+
path "../../../../transponders/transponder/transponder-id";
|
|
1326
|
+
}
|
|
1327
|
+
description
|
|
1328
|
+
"The reference to the transponder hosting the transceiver
|
|
1329
|
+
of the TTP.";
|
|
1330
|
+
}
|
|
1331
|
+
leaf transceiver-ref {
|
|
1332
|
+
type leafref {
|
|
1333
|
+
path "../../../../transponders/transponder" +
|
|
1334
|
+
"[transponder-id=current()/../transponder-ref]/" +
|
|
1335
|
+
"transceiver/transceiver-id";
|
|
1336
|
+
}
|
|
1337
|
+
description
|
|
1338
|
+
"The reference to the transceiver of the TTP.";
|
|
1339
|
+
}
|
|
1340
|
+
} // list of transceivers
|
|
1341
|
+
} // end of augment
|
|
1342
|
+
|
|
1343
|
+
// Should this leaf be moved to te-topology?
|
|
1344
|
+
augment "/nw:networks/nw:network/nw:node/nt:termination-point" {
|
|
1345
|
+
when "../../nw:network-types/tet:te-topology/"
|
|
1346
|
+
+ "oit:optical-impairment-topology" {
|
|
1347
|
+
description
|
|
1348
|
+
"This augment is only valid for Optical Impairment
|
|
1349
|
+
topology";
|
|
1350
|
+
}
|
|
1351
|
+
description
|
|
1352
|
+
"Augment LTP";
|
|
1353
|
+
leaf protection-type {
|
|
1354
|
+
type identityref {
|
|
1355
|
+
base te-types:lsp-protection-type;
|
|
1356
|
+
}
|
|
1357
|
+
description
|
|
1358
|
+
"The protection type that this LTP is capable of.
|
|
1359
|
+
|
|
1360
|
+
When not present it indicates that the information about
|
|
1361
|
+
the protection type is not reported.";
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
augment "/nw:networks/nw:network/nw:node/nt:termination-point"
|
|
1366
|
+
+ "/tet:te" {
|
|
1367
|
+
when "../../../nw:network-types/tet:te-topology/"
|
|
1368
|
+
+ "oit:optical-impairment-topology" {
|
|
1369
|
+
description
|
|
1370
|
+
"This augment is only valid for Optical Impairment
|
|
1371
|
+
topology";
|
|
1372
|
+
}
|
|
1373
|
+
description
|
|
1374
|
+
"Augment TE attributes of an LTP";
|
|
1375
|
+
|
|
1376
|
+
leaf inter-layer-sequence-number {
|
|
1377
|
+
type uint32;
|
|
1378
|
+
description
|
|
1379
|
+
"The inter-layer-sequence-number (ILSN) is used to report
|
|
1380
|
+
additional connectivity constraints between a client layer
|
|
1381
|
+
Link Termination Point (LTP), such as a muxponder port, and
|
|
1382
|
+
the server layer Tunnel Termination Point (TTP).
|
|
1383
|
+
|
|
1384
|
+
A client service cannot be setup between two client layer
|
|
1385
|
+
LTPs which report different values of the ILSN.
|
|
1386
|
+
|
|
1387
|
+
This attribute is not reported when there are no additional
|
|
1388
|
+
connectivity constraints.
|
|
1389
|
+
|
|
1390
|
+
Therefore, a client service can be setup when at least one
|
|
1391
|
+
of the two client layer LTPs does not report any ILSN or
|
|
1392
|
+
both client layer LTPs report the same ILSN value and the
|
|
1393
|
+
corresponding server layer TTPs have at least one common
|
|
1394
|
+
server-layer switching capability and at least one common
|
|
1395
|
+
client-layer switching capability.";
|
|
1396
|
+
}
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
augment "/nw:networks/nw:network/nw:node/tet:te"
|
|
1400
|
+
+ "/tet:te-node-attributes" {
|
|
1401
|
+
when "../../../nw:network-types/tet:te-topology"
|
|
1402
|
+
+ "/oit:optical-impairment-topology" {
|
|
1403
|
+
description
|
|
1404
|
+
"This augment is only valid for Optical Impairment
|
|
1405
|
+
topology";
|
|
1406
|
+
}
|
|
1407
|
+
description
|
|
1408
|
+
"node attributes augmentantion for optical-impairment ROADM
|
|
1409
|
+
node";
|
|
1410
|
+
|
|
1411
|
+
} // augmentation for optical-impairment ROADM
|
|
1412
|
+
|
|
1413
|
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
1414
|
+
+ "tet:information-source-entry/tet:connectivity-matrices"{
|
|
1415
|
+
when "../../../../nw:network-types/tet:te-topology/"
|
|
1416
|
+
+ "oit:optical-impairment-topology" {
|
|
1417
|
+
description
|
|
1418
|
+
"This augment is only valid for Optical Impairment
|
|
1419
|
+
topology ";
|
|
1420
|
+
}
|
|
1421
|
+
description
|
|
1422
|
+
"Augment default TE node connectivity matrix information
|
|
1423
|
+
source.";
|
|
1424
|
+
|
|
1425
|
+
leaf roadm-path-impairments {
|
|
1426
|
+
type leafref {
|
|
1427
|
+
path "../../../../../oit:templates"
|
|
1428
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1429
|
+
+ "/oit:roadm-path-impairments-id";
|
|
1430
|
+
}
|
|
1431
|
+
config false;
|
|
1432
|
+
description
|
|
1433
|
+
"Pointer to the list set of ROADM optical impairments";
|
|
1434
|
+
}
|
|
1435
|
+
} // augmentation connectivity-matrices information-source
|
|
1436
|
+
|
|
1437
|
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
1438
|
+
+ "tet:information-source-entry/tet:connectivity-matrices/"
|
|
1439
|
+
+ "tet:connectivity-matrix" {
|
|
1440
|
+
when "../../../../../nw:network-types/tet:te-topology/"
|
|
1441
|
+
+ "oit:optical-impairment-topology" {
|
|
1442
|
+
description
|
|
1443
|
+
"This augment is only valid for Optical Impairment
|
|
1444
|
+
topology ";
|
|
1445
|
+
}
|
|
1446
|
+
description
|
|
1447
|
+
"Augment TE node connectivity matrix entry information
|
|
1448
|
+
source.";
|
|
1449
|
+
leaf roadm-path-impairments {
|
|
1450
|
+
type leafref {
|
|
1451
|
+
path "../../../../../../oit:templates"
|
|
1452
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1453
|
+
+ "/oit:roadm-path-impairments-id";
|
|
1454
|
+
}
|
|
1455
|
+
config false;
|
|
1456
|
+
description
|
|
1457
|
+
"Pointer to the list set of ROADM optical impairments";
|
|
1458
|
+
}
|
|
1459
|
+
} // augmentation connectivity-matrix information-source
|
|
1460
|
+
|
|
1461
|
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
1462
|
+
+ "tet:te-node-attributes/tet:connectivity-matrices" {
|
|
1463
|
+
when "../../../../nw:network-types/tet:te-topology/"
|
|
1464
|
+
+ "oit:optical-impairment-topology" {
|
|
1465
|
+
description
|
|
1466
|
+
"This augment is only valid for Optical Impairment
|
|
1467
|
+
topology ";
|
|
1468
|
+
}
|
|
1469
|
+
description
|
|
1470
|
+
"Augment default TE node connectivity matrix.";
|
|
1471
|
+
leaf roadm-path-impairments {
|
|
1472
|
+
type leafref {
|
|
1473
|
+
path "../../../../../oit:templates"
|
|
1474
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1475
|
+
+ "/oit:roadm-path-impairments-id";
|
|
1476
|
+
}
|
|
1477
|
+
config false; /*the identifier in the list */
|
|
1478
|
+
/*"roadm-path-impairments" of ROADM optical impairment*/
|
|
1479
|
+
/*is read-only as the rest of attributes*/
|
|
1480
|
+
description "pointer to the list set of ROADM optical
|
|
1481
|
+
impairments";
|
|
1482
|
+
}
|
|
1483
|
+
} // augmentation connectivity-matrices
|
|
1484
|
+
|
|
1485
|
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
1486
|
+
+ "tet:te-node-attributes/"
|
|
1487
|
+
+ "tet:connectivity-matrices/tet:connectivity-matrix" {
|
|
1488
|
+
when "../../../../../nw:network-types/tet:te-topology/"
|
|
1489
|
+
+ "oit:optical-impairment-topology" {
|
|
1490
|
+
description
|
|
1491
|
+
"This augment is only valid for
|
|
1492
|
+
Optical Impairment topology ";
|
|
1493
|
+
}
|
|
1494
|
+
description
|
|
1495
|
+
"Augment TE node connectivity matrix entry.";
|
|
1496
|
+
leaf roadm-path-impairments {
|
|
1497
|
+
type leafref {
|
|
1498
|
+
path "../../../../../../oit:templates"
|
|
1499
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1500
|
+
+ "/oit:roadm-path-impairments-id";
|
|
1501
|
+
}
|
|
1502
|
+
config false;
|
|
1503
|
+
description "pointer to the list set of ROADM optical
|
|
1504
|
+
impairments";
|
|
1505
|
+
}
|
|
1506
|
+
} // augmentation connectivity-matrix
|
|
1507
|
+
|
|
1508
|
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
1509
|
+
+ "tet:te-node-attributes/tet:connectivity-matrices/"
|
|
1510
|
+
+ "tet:connectivity-matrix/tet:from" {
|
|
1511
|
+
when "../../../../../../nw:network-types/tet:te-topology/"
|
|
1512
|
+
+ "oit:optical-impairment-topology" {
|
|
1513
|
+
description
|
|
1514
|
+
"This augment is only valid for
|
|
1515
|
+
Optical Impairment topology ";
|
|
1516
|
+
}
|
|
1517
|
+
description
|
|
1518
|
+
"Augment the attributes for the 'from' LTP for the TE node
|
|
1519
|
+
connectivity matrix entry.";
|
|
1520
|
+
list additional-ltp {
|
|
1521
|
+
when "derived-from-or-self(../../../../../../"
|
|
1522
|
+
+ "nt:termination-point"
|
|
1523
|
+
+ "[nt:tp-id=current()/../../tet:to/tet:tp-ref]/"
|
|
1524
|
+
+ "oit:protection-type,"
|
|
1525
|
+
+ "'oit:otsi-protection')" {
|
|
1526
|
+
description
|
|
1527
|
+
"This list applies only when the 'to' LTP for this
|
|
1528
|
+
connectivity matrix entry supports individual OTSi(G)
|
|
1529
|
+
protection.";
|
|
1530
|
+
}
|
|
1531
|
+
key "ltp-ref";
|
|
1532
|
+
config false;
|
|
1533
|
+
description
|
|
1534
|
+
"The restricted list of the potential secondary LTPs that
|
|
1535
|
+
can be selected when the 'from' LTP of this connectivity
|
|
1536
|
+
matrix entry is selected as a working LTP.
|
|
1537
|
+
|
|
1538
|
+
If this list is empty, all the other LTPs that can reach
|
|
1539
|
+
the 'to' LTP of this connectivity matrix entry can be
|
|
1540
|
+
selected as secondary LTPs.";
|
|
1541
|
+
leaf ltp-ref {
|
|
1542
|
+
type leafref {
|
|
1543
|
+
path "../../../../../../../nt:termination-point/nt:tp-id";
|
|
1544
|
+
}
|
|
1545
|
+
description
|
|
1546
|
+
"The reference to the potential secondary LTP that can be
|
|
1547
|
+
selected when the 'from' LTP of this connectivity matrix
|
|
1548
|
+
entry is selected as a working LTP";
|
|
1549
|
+
}
|
|
1550
|
+
leaf roadm-path-impairments {
|
|
1551
|
+
type leafref {
|
|
1552
|
+
path "../../../../../../../../oit:templates"
|
|
1553
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1554
|
+
+ "/oit:roadm-path-impairments-id";
|
|
1555
|
+
}
|
|
1556
|
+
description
|
|
1557
|
+
"Pointer to ROADM optical impairments of the ROADM path
|
|
1558
|
+
between this secondary 'from' LTP and the 'to' LTP of
|
|
1559
|
+
this connectivity matrix entry.";
|
|
1560
|
+
}
|
|
1561
|
+
}
|
|
1562
|
+
} // augmentation connectivity-matrix from
|
|
1563
|
+
|
|
1564
|
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
1565
|
+
+ "tet:te-node-attributes/tet:connectivity-matrices/"
|
|
1566
|
+
+ "tet:connectivity-matrix/tet:to" {
|
|
1567
|
+
when "../../../../../../nw:network-types/tet:te-topology/"
|
|
1568
|
+
+ "oit:optical-impairment-topology" {
|
|
1569
|
+
description
|
|
1570
|
+
"This augment is only valid for
|
|
1571
|
+
Optical Impairment topology ";
|
|
1572
|
+
}
|
|
1573
|
+
description
|
|
1574
|
+
"Augment the attributes for the 'to' LTP for the TE node
|
|
1575
|
+
connectivity matrix entry.";
|
|
1576
|
+
list additional-ltp {
|
|
1577
|
+
when "derived-from-or-self(../../../../../../"
|
|
1578
|
+
+ "nt:termination-point"
|
|
1579
|
+
+ "[nt:tp-id=current()/../../tet:from/tet:tp-ref]/"
|
|
1580
|
+
+ "oit:protection-type,"
|
|
1581
|
+
+ "'oit:otsi-protection')" {
|
|
1582
|
+
description
|
|
1583
|
+
"This list applies only when the 'from' LTP for this
|
|
1584
|
+
connectivity matrix entry supports individual OTSi(G)
|
|
1585
|
+
protection.";
|
|
1586
|
+
}
|
|
1587
|
+
key "ltp-ref";
|
|
1588
|
+
config false;
|
|
1589
|
+
description
|
|
1590
|
+
"The restricted list of the potential secondary LTPs that
|
|
1591
|
+
can be selected when the 'to' LTP of this connectivity
|
|
1592
|
+
matrix entry is selected as a working LTP.
|
|
1593
|
+
|
|
1594
|
+
If this list is empty, all the other LTPs that can be
|
|
1595
|
+
reached from the 'from' LTP of this connectivity matrix
|
|
1596
|
+
entry can be selected as secondary LTPs.";
|
|
1597
|
+
leaf ltp-ref {
|
|
1598
|
+
type leafref {
|
|
1599
|
+
path "../../../../../../../nt:termination-point/nt:tp-id";
|
|
1600
|
+
}
|
|
1601
|
+
description
|
|
1602
|
+
"The reference to the potential secondary LTP that can be
|
|
1603
|
+
selected when the 'to' LTP of this connectivity matrix
|
|
1604
|
+
entry is selected as a working LTP";
|
|
1605
|
+
}
|
|
1606
|
+
leaf roadm-path-impairments {
|
|
1607
|
+
type leafref {
|
|
1608
|
+
path "../../../../../../../../oit:templates"
|
|
1609
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1610
|
+
+ "/oit:roadm-path-impairments-id";
|
|
1611
|
+
}
|
|
1612
|
+
description
|
|
1613
|
+
"Pointer to ROADM optical impairments of the ROADM path
|
|
1614
|
+
between the 'from' LTP of this connectivity matrix entry
|
|
1615
|
+
and this secondary LTP.";
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
} // augmentation connectivity-matrix to
|
|
1619
|
+
|
|
1620
|
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
1621
|
+
+ "tet:tunnel-termination-point/"
|
|
1622
|
+
+ "tet:local-link-connectivities" {
|
|
1623
|
+
when "../../../../nw:network-types/tet:te-topology/"
|
|
1624
|
+
+ "oit:optical-impairment-topology" {
|
|
1625
|
+
description
|
|
1626
|
+
"This augment is only valid for Optical Impairment topology ";
|
|
1627
|
+
}
|
|
1628
|
+
description
|
|
1629
|
+
"Augment default TTP LLC.";
|
|
1630
|
+
leaf add-path-impairments {
|
|
1631
|
+
type leafref {
|
|
1632
|
+
path "../../../../../oit:templates"
|
|
1633
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1634
|
+
+ "/oit:roadm-path-impairments-id" ;
|
|
1635
|
+
}
|
|
1636
|
+
config false;
|
|
1637
|
+
description "pointer to the list set of ROADM optical
|
|
1638
|
+
impairments";
|
|
1639
|
+
}
|
|
1640
|
+
leaf drop-path-impairments {
|
|
1641
|
+
type leafref {
|
|
1642
|
+
path "../../../../../oit:templates"
|
|
1643
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1644
|
+
+ "/oit:roadm-path-impairments-id" ;
|
|
1645
|
+
}
|
|
1646
|
+
config false;
|
|
1647
|
+
description "pointer to the list set of ROADM
|
|
1648
|
+
optical impairments";
|
|
1649
|
+
}
|
|
1650
|
+
} // augmentation local-link-connectivities
|
|
1651
|
+
|
|
1652
|
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
|
|
1653
|
+
+ "tet:tunnel-termination-point/"
|
|
1654
|
+
+ "tet:local-link-connectivities/"
|
|
1655
|
+
+ "tet:local-link-connectivity" {
|
|
1656
|
+
when "../../../../../nw:network-types/tet:te-topology/"
|
|
1657
|
+
+ "oit:optical-impairment-topology" {
|
|
1658
|
+
description
|
|
1659
|
+
"This augment is only valid for
|
|
1660
|
+
Optical Impairment topology ";
|
|
1661
|
+
}
|
|
1662
|
+
description
|
|
1663
|
+
"Augment TTP LLC entry.";
|
|
1664
|
+
leaf add-path-impairments {
|
|
1665
|
+
type leafref {
|
|
1666
|
+
path "../../../../../../oit:templates"
|
|
1667
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1668
|
+
+ "/oit:roadm-path-impairments-id" ;
|
|
1669
|
+
}
|
|
1670
|
+
config false;
|
|
1671
|
+
description "pointer to the list set of ROADM optical
|
|
1672
|
+
impairments";
|
|
1673
|
+
}
|
|
1674
|
+
leaf drop-path-impairments {
|
|
1675
|
+
type leafref {
|
|
1676
|
+
path "../../../../../../oit:templates"
|
|
1677
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1678
|
+
+ "/oit:roadm-path-impairments-id" ;
|
|
1679
|
+
}
|
|
1680
|
+
config false;
|
|
1681
|
+
description "pointer to the list set of ROADM optical
|
|
1682
|
+
impairments";
|
|
1683
|
+
}
|
|
1684
|
+
list llc-transceiver {
|
|
1685
|
+
key "ttp-transponder-ref ttp-transceiver-ref";
|
|
1686
|
+
config false;
|
|
1687
|
+
description
|
|
1688
|
+
"The list of transceivers having a LLC different from the
|
|
1689
|
+
default LLC.";
|
|
1690
|
+
leaf ttp-transponder-ref {
|
|
1691
|
+
type leafref {
|
|
1692
|
+
path "../../../../ttp-transceiver/transponder-ref";
|
|
1693
|
+
}
|
|
1694
|
+
description
|
|
1695
|
+
"The reference to the transponder hosting the transceiver
|
|
1696
|
+
of this LLCL entry.";
|
|
1697
|
+
}
|
|
1698
|
+
leaf ttp-transceiver-ref {
|
|
1699
|
+
type leafref {
|
|
1700
|
+
path "../../../../ttp-transceiver/transceiver-ref";
|
|
1701
|
+
}
|
|
1702
|
+
description
|
|
1703
|
+
"The reference to the the transceiver of this LLCL entry.";
|
|
1704
|
+
}
|
|
1705
|
+
leaf is-allowed {
|
|
1706
|
+
type boolean;
|
|
1707
|
+
description
|
|
1708
|
+
"'true' - connectivity from this transceiver is allowed;
|
|
1709
|
+
'false' - connectivity from this transceiver is
|
|
1710
|
+
disallowed.";
|
|
1711
|
+
}
|
|
1712
|
+
leaf add-path-impairments {
|
|
1713
|
+
type leafref {
|
|
1714
|
+
path "../../../../../../../oit:templates"
|
|
1715
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1716
|
+
+ "/oit:roadm-path-impairments-id" ;
|
|
1717
|
+
}
|
|
1718
|
+
description "pointer to the list set of ROADM optical
|
|
1719
|
+
impairments";
|
|
1720
|
+
}
|
|
1721
|
+
leaf drop-path-impairments {
|
|
1722
|
+
type leafref {
|
|
1723
|
+
path "../../../../../../../oit:templates"
|
|
1724
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1725
|
+
+ "/oit:roadm-path-impairments-id" ;
|
|
1726
|
+
}
|
|
1727
|
+
description "pointer to the list set of ROADM
|
|
1728
|
+
optical impairments";
|
|
1729
|
+
}
|
|
1730
|
+
}
|
|
1731
|
+
list additional-ltp {
|
|
1732
|
+
when "derived-from-or-self(../../../tet:protection-type,"
|
|
1733
|
+
+ "'oit:otsi-protection')" {
|
|
1734
|
+
description
|
|
1735
|
+
"This list applies only to TTPs that support individual
|
|
1736
|
+
OTSi(G) protection.";
|
|
1737
|
+
}
|
|
1738
|
+
key "ltp-ref";
|
|
1739
|
+
config false;
|
|
1740
|
+
description
|
|
1741
|
+
"The restricted list of the potential secondary LTPs that
|
|
1742
|
+
can be selected when the LTP associated with this LLCP
|
|
1743
|
+
entry is selected as a working LTP.
|
|
1744
|
+
|
|
1745
|
+
If this list is empty, all the other LTPs that can be
|
|
1746
|
+
reached by this TTP can be selected as secondary LTPs.";
|
|
1747
|
+
leaf ltp-ref {
|
|
1748
|
+
type leafref {
|
|
1749
|
+
path "../../../../../../nt:termination-point/nt:tp-id";
|
|
1750
|
+
}
|
|
1751
|
+
description
|
|
1752
|
+
"The reference to potential secondary LTP that can be
|
|
1753
|
+
selected when the LTP associated with this LLCP entry is
|
|
1754
|
+
selected as a working LTP";
|
|
1755
|
+
}
|
|
1756
|
+
leaf add-path-impairments {
|
|
1757
|
+
type leafref {
|
|
1758
|
+
path "../../../../../../../oit:templates"
|
|
1759
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1760
|
+
+ "/oit:roadm-path-impairments-id" ;
|
|
1761
|
+
}
|
|
1762
|
+
description "pointer to the list set of ROADM optical
|
|
1763
|
+
impairments";
|
|
1764
|
+
}
|
|
1765
|
+
leaf drop-path-impairments {
|
|
1766
|
+
type leafref {
|
|
1767
|
+
path "../../../../../../../oit:templates"
|
|
1768
|
+
+ "/oit:roadm-path-impairments/oit:roadm-path-impairment"
|
|
1769
|
+
+ "/oit:roadm-path-impairments-id" ;
|
|
1770
|
+
}
|
|
1771
|
+
description "pointer to the list set of ROADM
|
|
1772
|
+
optical impairments";
|
|
1773
|
+
}
|
|
1774
|
+
}
|
|
1775
|
+
} // augmentation local-link-connectivity
|
|
1776
|
+
}
|