blob: 35a95c974cad7c4acca01e7b8b99ce5835cef064 [file] [log] [blame]
Sean Condonfae8e662016-12-15 10:25:13 +00001module msea-soam-fm {
2
3 namespace "http://www.microsemi.com/microsemi-edge-assure/msea-soam-fm";
4 prefix "msea-soam-fm"; //MicroSemi EdgeAssure (msea)
5
6 import ietf-yang-types {
7 prefix yang;
8 revision-date 2013-07-15;
9 }
10
11 import msea-cfm {
12 prefix msea-cfm;
13 }
14
15 import msea-types {
16 prefix msea;
17 }
18
19 organization
20 "Microsemi Inc., FTD Division";
21
22 contact
23 "Web URL: http://www.microsemi.com/
24 E-mail: info@microsemi.com
25 Postal: Microsemi Corporation Corporate Headquarters
26 One Enterprise Aliso Viejo,
27 CA 92656
28 U.S.A.
29 Phone: +1 949 380 6100
30 Fax: +1 949 215-4996";
31
32 description
33 "This YANG module is a fork of the original mef-soam-fm YANG Module defined in MEF 38
34 for the management of Ethernet Services Operations, Administration and
35 Maintenance for Fault Management and extends the Connectivity Fault
36 Management (CFM) YANG modules.
37 This fork is done specifically to suit the EdgeAssure which has some extra
38 constraints that are not handled by the original YANG.
39
40 Copyright 2016 Microsemi Inc.
41 All rights reserved.";
42
43 revision "2016-02-29" {
44 description
45 "Initial EdgeAssure version forked from mef-soam-fm@2012-04-16 - Sean Condon, Microsemi";
46 reference
47 "Service OAM Fault Management YANG Modules (MEF 38), April 2012";
48 }
49
50 //
51 // Type definitions related to MEF SOAM FM
52 //
53
54 typedef operational-state-type {
55 type enumeration {
56 enum enabled {
57 description
58 "The MEP is able to provide OAM capabilities and has been set to
59 active via the 'administrative-state' leaf.";
60 }
61 enum disabled {
62 description
63 "The MEP is not able to provide OAM capabilities, for example
64 because it has been disabled via the administrative-state leaf,
65 has detected an operational failure condition, or has failed an
66 internal test.";
67 }
68 enum testing {
69 description
70 "The MEP has been placed into a test mode, either a troubleshooting
71 mode or ETH-Test 'Out-of-service' mode.";
72 }
73 enum unknown {
74 description
75 "The MEP is unable to report the operational state.";
76 }
77 }
78 description
79 "This attribute indicates the operational state (current capability) of
80 a MEP.";
81 reference
82 "[MEF7.1] 9.2.5";
83 }
84
85
86
87 //
88 // Augments into CFM related to MEF SOAM FM
89 //
90 augment "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain/msea-cfm:maintenance-association" {
91 description
92 "This set of data definitions represents the Maintenance Entity Group (Y.1731)
93 configuration that is unique from the Maintenance Association.";
94
95 leaf meg-level {
96 type msea:md-level-type;
97
98// msea:not-changeable;
99
100 must "../msea-cfm:y1731-compliant" {
101 error-message "meg-level can only be set when y1731-compliant is present";
102 error-app-tag "msea-soam-fm-must-04";
103 }
104
105 must "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain[msea-cfm:id = current()/../../msea-cfm:id]/msea-cfm:md-level = current()" {
106 error-message "meg-level must be the same as its parent MD md-level";
107 error-app-tag "msea-soam-fm-must-05";
108 }
109
110 description
111 "This attribute indicates the MEG Level of the MEG. It has to be the same as the
112 MDs level, which is a way of ensuring that all MEG under this MD have the same level";
113
114 reference
115 "[MEF31] MEF-SOAM-FM-MIB.mefSoamNetCfgMegLevel";
116 }
117 }
118
119
120
121
122
123 augment "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain/msea-cfm:maintenance-association/msea-cfm:component-list" {
124 description
125 "This set of data definitions extends the component list of the Maintenance
126 Entity Group (as defined in Y.1731) or Maintenance Association (as defined
127 in 802.1q)";
128 reference
129 "[MEF7.1] 9.2.2";
130
131 leaf mep-port-status-tlv-included {
132 type boolean;
133 default true;
134
135 description
136 "Indicates whether a Port Status TLV is included in CCM frame
137 transmission. A value of 'true' indicates that the Port Status
138 TLV is to be included. A value of 'false' indicates that the
139 Port Status TLV is not to be included.";
140 reference
141 "[MEF7.1] 9.2.2";
142 }
143
144 leaf mep-interface-status-tlv-included {
145 type boolean;
146 default true;
147
148 description
149 "Indicates whether a Interface Status TLV is included in CCM frame
150 transmission. A value of 'true' indicates that the Interface Status TLV
151 is to be included. A value of 'false' indicates that the Interface
152 Status TLV is not to be included.";
153 reference
154 "[MEF7.1] 9.2.2";
155 }
156 }
157
158
159
160
161 augment "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain/msea-cfm:maintenance-association/msea-cfm:maintenance-association-end-point" {
162 description
163 "This set of data definitions extends the MEG End Point (as described in
164 Y.1731) or Maintenance association End Point (as described in 802.1q)
165 defined in the MEF CFM module (MEF-CFM)";
166 reference
167 "[MEF7.1] 9.2.2";
168
169 leaf operational-state {
170 type operational-state-type;
171
172 config false;
173
174 description
175 "This attribute indicates the operational state (current capability) of
176 the MEP.";
177 reference
178 "[MEF7.1] 9.2.5";
179 }
180
181 leaf connectivity-status {
182 type enumeration {
183 enum active {
184 description
185 "Refers to the ability to exchange SOAM PDU frames among all the UNIs
186 of an EVC.";
187 }
188 enum partially-active {
189 description
190 "Refers to the ability to exchange SOAM PDU frames among some but not
191 all the UNIs of an EVC.";
192 }
193 enum inactive {
194 description
195 "Refers to the ability to exchange SOAM PDU frames among any of the UNIs
196 of an EVC.";
197 }
198 }
199 config false;
200
201 description
202 "This attribute indicates the connectivity status for a MEP in an EVC
203 MEs. An 'active' MEP Connectivity Status refers to the ability
204 to exchange SOAM PDU frames among all the UNIs of an EVC. A
205 'partially-active' MEP Connectivity Status refers to the
206 ability to exchange SOAM PDU frames among some but not all the
207 UNIs of an EVC. An 'inactive' MEP Connectivity Status refers to
208 the inability to exchange SOAM PDU frames among any of the UNIs
209 of an EVC.";
210 reference
211 "[MEF7.1] 9.2.5";
212 }
213
214 leaf port-status {
215 type msea:port-status-type;
216 config false;
217
218 description
219 "An enumerated value of the Port status TLV sent in the last CCM from the
220 local MEP or the default value psNoPortStateTLV indicating no
221 CCM has been sent or no Port Status TLV has been sent.";
222 reference
223 "[802.1q] 17.5";
224 }
225
226 leaf interface-status {
227 type msea:interface-status-type;
228 config false;
229
230 description
231 "An enumerated value of the Interface status TLV sent in the last CCM
232 from the local MEP or the default value no-status-tlv
233 indicating no CCM has been sent or no Interface Status TLV has
234 been sent.";
235 reference
236 "[802.1q] 17.5";
237 }
238
239 leaf last-defect-sent {
240 type msea-cfm:fault-alarm-defect-bits-type;
241 config false;
242
243 description
244 "This attribute indicates the state of the previous MEP defects,
245 that was sent with the previous
246 mep-defect-alarm notification. It is always some *previous*
247 value of cfm:active-defects. Once an mep-defect-alarm is sent
248 the mep-defect-alarm that was sent in the notification
249 updates the contents of this leaf.
250
251 If no mep-defect-alarm notification has been sent the value of
252 this leaf is '0'.";
253 reference
254 "[MEF31] MEF-SOAM-FM-MIB.mefSoamMepStatusLastDefectSentStatus";
255 }
256
257 leaf rdi-transmit-status {
258 type boolean;
259 config false;
260
261 description
262 "Indicates whether the local MEP is generating a RDI bit in the CCM that
263 it transmits. A value of 'true' indicates that a RDI bit was
264 set in the last CCM that the MEP transmitted. A value of
265 'false' indicates that the last CCM transmitted by the MEP did
266 not set the RDI bit or that a CCM has never been transmitted by
267 the MEP.";
268 reference
269 "[MEF7.1] 9.2.2";
270 }
271
272 } //end of MEP augmentation
273
274
275 augment "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain/msea-cfm:maintenance-association/msea-cfm:maintenance-association-end-point/msea-cfm:loopback" {
276 description
277 "This set of data definitions extends on-demand Ethernet OAM Fault
278 Management Loopback function (ETH-LB) as defined in Y.1731 and
279 802.1q and defined in MEF-CFM";
280 reference
281 "[MEF7.1] 9.3.2";
282
283 leaf multicast-enabled {
284 type boolean;
285 default false;
286
287 description
288 "This attribute specifies whether a MEP uses unicast or multicast
289 to send the ETH-LB messages (LBM). The 802.1ag standard only allows
290 unicast LBM. ITU-T Y.1731 allows LBM to be multicast. This attribute
291 allows the MEP to send either multicast or unicast LBM on a per MEP
292 basis.
293
294 The value 'true' indicates multicast is enabled.
295
296 The value 'false' indicates unicast is enabled.";
297 reference
298 "[MEF7.1] 9.3.2.1";
299 }
300
301 leaf interval {
302 type uint16 {
303 range "0..2096";
304 }
305 units milliseconds;
306 default 1000;
307
308 description
309 "This attribute specifies the period between LBM transmissions in an LB
310 Session. For an LB Session, the period for LBM transmission
311 is configurable in the range 0 and 2096 milliseconds . Granularity is 1 ms.
312 The transmission of the next LBM is not dependent upon the
313 reception the first LBR. The next LBM is sent out based upon
314 the interval count.
315
316 An interval count of '0' indicates that the subsequent LBM is sent
317 out with the minimum possible delay.";
318 reference
319 "[MEF7.1] 9.3.2.1";
320 }
321
322 leaf frame-size {
323 type uint16 {
324 range "64..9600";
325 }
326 units "bytes";
327
328 description
329 "This attribute specifies the LBM frame size. For an LB Session, the size
330 of the LBM frame is configurable to any Ethernet frame size
331 between 64 Bytes and the maximum transmission unit of the EVC.
332
333 The range of frame sizes from 64 through 2000 octets, in 4 octet increments,
334 MUST be supported, and the range of frame sizes from 2004 through 9600
335 octets, in 4 octet increments, SHOULD be supported.
336
337 The adjustment to the frame size of the standard LBM PDU size is accomplished
338 by the addition of a Data TLV or a Test TLV.";
339 reference
340 "[MEF7.1] 9.3.2.1";
341 }
342
343
344 leaf timeout {
345 type yang:gauge32 {
346 range "5000";
347 }
348 default 5000;
349
350 description
351 "This attribute specifies the maximum amount of time to receive an LBR in
352 response to a LBM. If a LBR is not received within the timeout
353 value it is considered lost.";
354 reference
355 "[MEF31] MEF-SOAM-FM-MIB.mefSoamLbCfgTimeout";
356 }
357
358 list responses {
359 key "receive-order";
360 config false;
361
362 description
363 "A list of responses from a Multicast Loopback Message. This are shown only when multicast is enabled";
364 reference
365 "[MEF31] MEF-SOAM-FM-MIB.mefSoamLbrMulticastTable";
366
367 leaf receive-order {
368 type int8;
369
370 description
371 "Loopback transaction identifier returned by a previous loopback message
372 command, indicating which loopback request is returned.";
373 reference
374 "[MEF31] MEF-SOAM-FM-MIB.mefSoamLbrMulticastTransId";
375 }
376
377 leaf multicast-reply-mac {
378 type yang:mac-address;
379
380 description
381 "Source MAC address returned in the LBR Ethernet frame";
382 reference
383 "[802.1q] 21.7, [Y.1731] 7.2,
384 [MEF31] MEF-SOAM-FM-MIB.mefSoamLbrMulticastReplyMac";
385 }
386 }
387 }
388
389
390
391 augment "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain/msea-cfm:maintenance-association/msea-cfm:maintenance-association-end-point/msea-cfm:linktrace" {
392 description
393 "Augments to support the enhanced CFM Linktrace functionality";
394 reference
395 "[MEF30] 8.4";
396
397 leaf ltm-msgs-transmitted {
398 type yang:zero-based-counter32;
399 config false;
400
401 description
402 "This attribute contains the count of the total number of LTM messages
403 transmitted by the MEP";
404 reference
405 "[MEF31] MEF-SOAM-FM-MIB.mefSoamLtLtmTransmitted";
406 }
407
408 leaf ltr-msgs-received {
409 type yang:zero-based-counter32;
410 config false;
411
412 description
413 "This attribute contains the count of the total number of LTR messages
414 received by the MEP";
415 reference
416 "[MEF31] MEF-SOAM-FM-MIB.mefSoamLtLtrReceived";
417 }
418
419 leaf ltm-msgs-received {
420 type yang:zero-based-counter32;
421 config false;
422
423 description
424 "This attribute contains the count of the total number of LTM messages
425 received by the MEP";
426 reference
427 "[MEF31] MEF-SOAM-FM-MIB.mefSoamLtLtmReceived";
428 }
429
430 leaf ltr-msgs-transmitted {
431 type yang:zero-based-counter32;
432 config false;
433
434 description
435 "This attribute contains the count of the total number of LTR messages
436 transmitted by the MEP";
437 reference
438 "[MEF31] MEF-SOAM-FM-MIB.mefSoamLtLtrTransmitted";
439 }
440 }
441
442
443 //
444 // Data definitions related to MEF SOAM FM
445 //
446 augment "/msea-cfm:mef-cfm" {
447 description
448 "A set of data definitions related to FM event notifications.";
449 reference
450 "[MEF31] MEF-SOAM-FM-MIB.mefSoamFmNotificationCfg";
451
452 container notification-configuration {
453 description
454 "A set of data definitions related to FM event notifications.";
455 reference
456 "[MEF31] MEF-SOAM-FM-MIB.mefSoamFmNotificationCfg";
457
458 leaf active-alarms {
459 type bits {
460 bit fault-alarm {
461 description "Send notifications when a specific MEP has a persistent defect condition";
462 }
463
464 bit mep-defect-alarm {
465 description "Send notifications when the value of mep-defects changes";
466 }
467
468 bit mep-operational-state-changed {
469 description "Send notifications when the value of a MEP's operational-state changes";
470 }
471 }
472 description "Configure the fault notification generator to enable the alarms given in
473 the bitmask list.";
474 }
475 }
476 }
477
478 //
479 // Notifications related to MEF SOAM FM
480 //
481
482 notification mep-defect-alarm {
483 description
484 "A mep-defect-alarm notification is generated when the value of
485 mep-defects changes. It indicates a persistent defect in
486 the MEP. This notification is sent whenever the
487 cfm:active-defects of the MEP changes, regardless of the
488 cfm:highest-priority-defect-found leaf.
489
490 The inclusion of the cfm:remote-mep-state leaf is
491 optional. It shall not be included if the defect is not based
492 upon a specific MEP instance, e.g.. bDefErrorCCM.";
493
494 reference
495 "[MEF31] MEF-SOAM-FM-MIB.mefSoamMepDefectAlarm";
496
497 uses msea-cfm:mep-notification-reference;
498
499 leaf remote-mep {
500 type msea:mep-id-type;
501 description "Remote MEP identifier";
502 }
503
504 leaf last-defect-sent {
505 type msea-cfm:fault-alarm-defect-type;
506
507 description
508 "The last defect sent on the specific MEP";
509 }
510 leaf active-defects {
511 type msea-cfm:fault-alarm-defect-bits-type;
512 description
513 "The currently active defects on the specific MEP.";
514 }
515
516 leaf remote-mep-state {
517 type msea-cfm:remote-mep-state-type;
518
519 description
520 "The value of the remote MEP state on a specific MEP";
521 reference
522 "[802.1q] 12.14.7.6.3:b";
523 }
524 }
525
526 notification mep-operational-state-changed {
527 description
528 "A mep-operational-state-changed notification is sent when the value of a
529 MEP's operational-state changes. It indicates an operational
530 state change in the MEP. This notification is sent whenever the
531 operational status of the MEP changes.";
532 reference
533 "[MEF31] MEF-SOAM-FM-MIB.mefSoamMepOperStatusAlarm";
534
535 uses msea-cfm:mep-notification-reference;
536
537 leaf operational-state {
538 type operational-state-type;
539
540 description
541 "The operational-state leaf of the affected MEP";
542 }
543 }
544}
545