blob: 51b01e7288f338bdff6bf91756f0ab93b05d0fc4 [file] [log] [blame]
Jeff Groom34c28ce2018-04-26 19:42:18 -06001module ciena-waveserver-ptp {
2 namespace "urn:ciena:params:xml:ns:yang:ciena-ws:ciena-waveserver-ptp";
3 prefix ptp;
4
5 import ciena-waveserver-typedefs {
6 prefix cienawstypes;
7 }
8 import ciena-waveserver-xcvr {
9 prefix xcvr;
10 }
11
12 organization
13 "Ciena Corporation";
14 contact
15 "Web URL: http://www.ciena.com/
16 Postal: 7035 Ridge Road
17 Hanover, Maryland 21076
18 U.S.A.
19 Phone: +1 800-921-1144
20 Fax: +1 410-694-5750";
21 description
22 "Physical Termination Point. This module models the physical characteristics of the signal. This base module contains generic definitions for all PTPs. Specific characteristics of PTPs can augment this model to provide more detail. PTPs are automatically provisioned by the system.";
23
24 revision 2017-11-27 {
25 description
26 "Added conditional 'when' statements to line-specific and client-specific leafs.";
27 reference "Waveserver Ai user's guide.";
28 }
29 revision 2017-08-10 {
30 description
31 "Waveserver Platform Data Model
32 Migrated from Waveserver Classic R1.4 YANG model.
33 Updated namespace to 'ciena-waveserver'.
34 Changed 'ptps' list key from 'ptp-index' (integer type) to 'ptp-id' (string type) to accommodate '<slot>-<port>' format.
35 Changed 'parent-index' to 'parent-id' (this is the parent xcvr-id) and type to leafref.
36 Changed 'rate' enum to 'nominal-bit-rate' string type, in Gbps units.
37 Renamed 'channels' container to 'lanes'.
38 Removed 'diagnostics' container.
39 Added 'lower-level-down' operational state value.
40 Wavelength is operational (config false) now. Also moved 'actual' wavelength attribute to per-lane attributes.
41 Moved ptp-pluggable operational attributes (tx loss-of-signal, loss-of-lock) into this common module. The pluggable-only attributes will be omitted from the display of line-side/modem PTP queries.
42 Added 'spli-management' support.";
43 reference "Waveserver Ai user's guide.";
44 }
45
46 typedef ptp-op-enum {
47 type enumeration {
48 enum "up" {
49 description
50 "The PTP is enabled/operational and capable of carrying traffic.";
51 }
52 enum "down" {
53 description
54 "The PTP is disabled.";
55 }
56 enum "tuning" {
57 description
58 "Wavelength or CDR tuning in progress.";
59 }
60 enum "fault" {
61 description
62 "There is an active alarm associated with the PTP.";
63 }
64 enum "lower-layer-down" {
65 description
66 "The PTP is enabled, but a parent object is faulted.";
67 }
68 }
69 description
70 "PTP operational state.";
71 }
72
73 container waveserver-ptps {
74 description
75 "Waveserver Physical Termination Point (PTP) configuration and operational data.";
76 list ptps {
77 key "ptp-id";
78 description
79 "List of PTP objects.";
80 leaf ptp-id {
81 type cienawstypes:name-string;
82 mandatory true;
83 description
84 "Unique, access identifier string of the PTP (e.g., '1-1'). Key value for the PTP list. Read-only attribute.";
85 }
86 container id {
87 config false;
88 description
89 "Identification information of this PTP instance.";
90 leaf name {
91 type cienawstypes:name-string;
92 config false;
93 description
94 "Name of the PTP instance. Read only attribute.";
95 }
96 }
97 container state {
98 description
99 "State information of this PTP instance.";
100 leaf admin-state {
101 type cienawstypes:enabled-disabled-enum;
102 description
103 "Administrative state (enabled or disabled) of the PTP. If Admin State is set to enabled, majority of the PTP fields will no longer be modifiable. When PTP Transmitter State is Disabled, PTP Admin State cannot be changed from Disabled to Enabled.";
104 }
105 leaf operational-state {
106 type ptp-op-enum;
107 config false;
108 description
109 "Operational state of the PTP. Read-only attribute.";
110 }
111 leaf spli-management {
112 when "../../properties/xcvr-type = 'WaveLogic Ai'" {
113 description
114 "SPLI management supported on line-side PTPs only.";
115 }
116 type cienawstypes:enabled-disabled-enum;
117 description
118 "Whether or not SPLI management is enabled for this PTP.";
119 }
120 }
121 container properties {
122 description
123 "All the configurable and operational data of this PTP instance.";
124 leaf xcvr-type {
125 type cienawstypes:xcvr-type;
126 description
127 "Transceiver type of the XCVR that's associated with this PTP. Type depends on what is physically plugged in. Read only attribute.";
128 }
129 leaf parent-id {
130 type leafref {
131 path "/xcvr:waveserver-xcvrs/xcvr:xcvrs/xcvr:xcvr-id";
132 }
133 config false;
134 description
135 "Reference to the name of the transceiver (XCVR) associated with the PTP. Read-only attribute.";
136 }
137 leaf nominal-bit-rate {
138 type cienawstypes:string-maxl-16;
139 units "Gbps";
140 config false;
141 description
142 "Bit rate, nominal, in Gbps.";
143 }
144 container transmitter {
145 description
146 "PTP transmitter related config and operational data fields.";
147 leaf state {
148 type cienawstypes:enabled-disabled-na-enum;
149 description
150 "Transmitter state (enabled or disabled) of the PTP. PTP Admin State cannot be changed to enabled unless the transmitter state is enabled.";
151 }
152 container wavelength {
153 config false;
154 description
155 "PTP tx wavelength related operational data fields.";
156 leaf value {
157 type cienawstypes:decimal-2-dig;
158 units "nm";
159 config false;
160 description
161 "Wavelength value setting of the PTP, in nm. Read-only attribute.";
162 }
163 leaf min-value {
164 when "../../../xcvr-type = 'WaveLogic Ai'" {
165 description
166 "XCVR min-value supported on line-side PTPs only.";
167 }
168 type cienawstypes:decimal-2-dig-small;
169 units "nm";
170 config false;
171 description
172 "The minimum wavelength supported by the XCVR. Supported on line-side ports only.";
173 }
174 leaf max-value {
175 when "../../../xcvr-type = 'WaveLogic Ai'" {
176 description
177 "XCVR max-value supported on line-side PTPs only.";
178 }
179 type cienawstypes:decimal-2-dig-small;
180 units "nm";
181 config false;
182 description
183 "The maximum wavelength supported by the XCVR. Supported on line-side ports only.";
184 }
185 }
186 }
187 container lanes {
188 config false;
189 description
190 "PTP lanes related operational data fields.";
191 leaf number-of-lanes {
192 type cienawstypes:lanes-number;
193 config false;
194 description
195 "Number of lanes this PTP has.";
196 }
197 list lane {
198 key "lane-number";
199 config false;
200 max-elements "4";
201 description
202 "Operational data of a specific PTP lane.";
203 leaf lane-number {
204 type cienawstypes:lanes-number;
205 config false;
206 description
207 "Lane number of the PTP being queried.";
208 }
209 leaf actual-wavelength {
210 type cienawstypes:decimal-2-dig;
211 units "nm";
212 config false;
213 description
214 "Actual wavelength value for the lane, in nm.";
215 }
216 container rx {
217 description
218 "Lane Rx attributes.";
219 container power {
220 description
221 "Lane Rx Power operational attributes (actual power, min/max recorded power, etc.).";
222 uses xcvr:optical-power-group;
223 }
224 container status {
225 description
226 "Lane Rx Power high/low alarm/warning status/thresholds, where applicable for the XCVR type.";
227 uses xcvr:optical-power-status-group;
228 uses xcvr:optical-power-threshold-group;
229 leaf loss-of-signal {
230 type boolean;
231 config false;
232 description
233 "Rx Loss of Signal.";
234 }
235 leaf loss-of-lock {
236 when "../../../../../xcvr-type = 'QSFP28'" {
237 description
238 "Returned for on pluggables only.";
239 }
240 type boolean;
241 config false;
242 description
243 "Rx Loss of Lock.";
244 }
245 }
246 }
247 container tx {
248 description
249 "Lane Tx attributes.";
250 container power {
251 description
252 "Lane Tx Power operational attributes (actual power, min/max recorded power, etc.).";
253 uses xcvr:optical-power-group;
254 }
255 container status {
256 description
257 "Lane Tx Power high/low alarm/warning status/thresholds, where applicable for the XCVR type.";
258 uses xcvr:optical-power-status-group;
259 uses xcvr:optical-power-threshold-group;
260 leaf loss-of-signal {
261 when "../../../../../xcvr-type = 'QSFP28'" {
262 description
263 "Returned for on pluggables only.";
264 }
265 type boolean;
266 config false;
267 description
268 "Tx Loss of Signal.";
269 }
270 leaf loss-of-lock {
271 when "../../../../../xcvr-type = 'QSFP28'" {
272 description
273 "Returned for on pluggables only.";
274 }
275 type boolean;
276 config false;
277 description
278 "Tx Loss of Lock.";
279 }
280 }
281 }
282 }
283 }
284 }
285 }
286 }
287}