Sean Condon | fae8e66 | 2016-12-15 10:25:13 +0000 | [diff] [blame] | 1 | module 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 |
|