idnits 2.17.1 draft-wang-netmod-cfm-yang-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 4 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 111 has weird spacing: '...dOrNone cfm...' == Line 199 has weird spacing: '...ntifier cfm...' == Line 362 has weird spacing: '...dOrNone cfm...' == Line 514 has weird spacing: '...ntifier cfm...' == Line 1929 has weird spacing: '...elds of the S...' == (4 more instances...) -- The document date (March 29, 2017) is 2585 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC2578' is defined on line 4169, but no explicit reference was found in the text == Unused Reference: 'RFC2579' is defined on line 4174, but no explicit reference was found in the text == Unused Reference: 'RFC4789' is defined on line 4178, but no explicit reference was found in the text == Unused Reference: 'RFC3417' is defined on line 4182, but no explicit reference was found in the text == Unused Reference: 'RFC1903' is defined on line 4186, but no explicit reference was found in the text == Unused Reference: 'RFC2685' is defined on line 4190, but no explicit reference was found in the text == Unused Reference: 'RFC1906' is defined on line 4193, but no explicit reference was found in the text == Unused Reference: 'RFC2863' is defined on line 4197, but no explicit reference was found in the text == Unused Reference: 'RFC2737' is defined on line 4200, but no explicit reference was found in the text == Unused Reference: 'RFC3046' is defined on line 4203, but no explicit reference was found in the text == Unused Reference: 'IEEE802' is defined on line 4206, but no explicit reference was found in the text ** Obsolete normative reference: RFC 1903 (Obsoleted by RFC 2579) ** Obsolete normative reference: RFC 1906 (Obsoleted by RFC 3417) ** Obsolete normative reference: RFC 2737 (Obsoleted by RFC 4133) -- Possible downref: Non-RFC (?) normative reference: ref. 'IEEE802' -- Possible downref: Non-RFC (?) normative reference: ref. 'IEEE802.1ag' Summary: 3 errors (**), 0 flaws (~~), 19 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Internet Engineering Task Force Kun Wang 2 Internet Draft Ericsson 3 Intended status: Standards Track Alex Wang 4 Expires: September 2017 Ericsson 5 Chin Chen 6 Ericsson 7 Hua Lv 8 Ericsson 9 March 29, 2017 11 Yang Data Model for CFM Protocol 12 draft-wang-netmod-cfm-yang-00.txt 14 Abstract 16 This document defines a YANG data model that can be used to 17 configure and manage CFM. 19 Status of this Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF), its areas, and its working groups. Note that 26 other groups may also distribute working documents as Internet- 27 Drafts. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt 37 The list of Internet-Draft Shadow Directories can be accessed at 38 http://www.ietf.org/shadow.html 40 This Internet-Draft will expire on September 29, 2017. 42 Copyright Notice 44 Copyright (c) 2017 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (http://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Overview.......................................................2 60 1.1. Requirement language......................................2 61 2. Design of Data Model...........................................3 62 2.1. Overview..................................................3 63 2.2. CFM stack.................................................8 64 2.3. CFM Default MD............................................9 65 2.4. CFM VLAN..................................................9 66 2.5. CFM Config Error List....................................10 67 2.6. CFM MD...................................................10 68 2.7. CFM MA...................................................11 69 2.8. CFM MEP..................................................12 70 3. CFM YANG Module...............................................20 71 4. Security Considerations.......................................90 72 5. IANA Considerations...........................................90 73 6. Normative References..........................................90 75 1. Overview 77 This document defines a YANG [RFC6020] data model which can be used 78 for configuring and managing CFM [IEEE802.1ag]. 80 This data model includes configuration data and state data, for 81 example the configuration of MD, MA, and MEP and the state of MEP. 83 1.1. Requirement language 85 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 86 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 87 "OPTIONAL" in this document are to be interpreted as described in 88 [RFC2119]. 90 2. Design of Data Model 92 The goal of this document is to define a data model that provides a 93 common user interface to the CFM. There is very little information 94 that is designated as "mandatory", providing freedom for vendors to 95 adapt this data model to their respective product implementations. 97 2.1. Overview 99 The CFM YANG module defined in this document has all the common 100 building blocks for the CFM protocol. 102 The CFM module is created based on CFM MIB with a slight change for 103 meeting the YANG model requirement. 105 module: ietf-cfm 106 +--ro dot1agCfmStack 107 | +--ro dot1agCfmStackEntry* [dot1agCfmStackifIndex 108 dot1agCfmStackVlanIdOrNone dot1agCfmStackMdLevel 109 dot1agCfmStackDirection] 110 | +--ro dot1agCfmStackifIndex cfm:if-index 111 | +--ro dot1agCfmStackVlanIdOrNone cfm:VlanIdOrNone 112 | +--ro dot1agCfmStackMdLevel cfm:Dot1agCfmMDLevel 113 | +--ro dot1agCfmStackDirection cfm:Dot1agCfmMpDirection 114 | +--ro dot1agCfmStackMdIndex? uint32 115 | +--ro dot1agCfmStackMaIndex? uint32 116 | +--ro dot1agCfmStackMepId? cfm:Dot1agCfmMepIdOrZero 117 | +--ro dot1agCfmStackMacAddress? yang:mac-address 118 +--rw dot1agCfmDefaultMd 119 | +--rw dot1agCfmDefaultMdDefLevel? cfm:Dot1agCfmMDLevel 120 | +--rw dot1agCfmDefaultMdDefMhfCreation? 121 cfm:Dot1agCfmMhfCreation 122 | +--rw dot1agCfmDefaultMdDefIdPermission? 123 cfm:Dot1agCfmIdPermission 124 | +--rw dot1agCfmDefaultMdEntry* [dot1agCfmDefaultMdComponentId 125 dot1agCfmDefaultMdPrimaryVid] 126 | +--rw dot1agCfmDefaultMdComponentId 127 cfm:Dot1agCfmPbbComponentIdentifier 128 | +--rw dot1agCfmDefaultMdPrimaryVid cfm:VlanId 129 | +--ro dot1agCfmDefaultMdStatus? boolean 130 | +--rw dot1agCfmDefaultMdLevel? 131 cfm:Dot1agCfmMDLevelOrNone 132 | +--rw dot1agCfmDefaultMdMhfCreation? 133 cfm:Dot1agCfmMhfCreation 134 | +--rw dot1agCfmDefaultMdIdPermission? 135 cfm:Dot1agCfmIdPermission 136 +--rw dot1agCfmVlan 137 | +--rw dot1agCfmVlanEntry* [dot1agCfmVlanComponentId 138 dot1agCfmVlanVid] 139 | +--rw dot1agCfmVlanComponentId 140 cfm:Dot1agCfmPbbComponentIdentifier 141 | +--rw dot1agCfmVlanVid cfm:VlanId 142 | +--rw dot1agCfmVlanPrimaryVid? cfm:VlanId 143 | +--rw dot1agCfmVlanRowStatus? cfm:RowStatus 144 +--ro dot1agCfmConfigErrorList 145 | +--ro dot1agCfmConfigErrorListEntry* 146 [dot1agCfmConfigErrorListVid dot1agCfmConfigErrorListIfIndex] 147 | +--ro dot1agCfmConfigErrorListVid cfm:VlanId 148 | +--ro dot1agCfmConfigErrorListIfIndex cfm:if-index 149 | +--ro dot1agCfmConfigErrorListErrorType? 150 cfm:Dot1agCfmConfigErrors 151 +--rw dot1agCfmMd 152 | +--ro dot1agCfmMdTableNextIndex? 153 cfm:Dot1afCfmIndexIntegerNextFree 154 | +--rw dot1agCfmMdEntry* [dot1agCfmMdIndex] 155 | +--rw dot1agCfmMdIndex uint32 156 | +--rw dot1agCfmMdFormat? 157 cfm:Dot1agCfmMaintDomainNameType 158 | +--rw dot1agCfmMdName? 159 cfm:Dot1agCfmMaintDomainName 160 | +--rw dot1agCfmMdMdLevel? cfm:Dot1agCfmMDLevel 161 | +--rw dot1agCfmMdMhfCreation? cfm:Dot1agCfmMhfCreation 162 | +--rw dot1agCfmMdMhfIdPermission? 163 cfm:Dot1agCfmIdPermission 164 | +--ro dot1agCfmMdMaNextIndex? 165 cfm:Dot1afCfmIndexIntegerNextFree 166 | +--rw dot1agCfmMdRowStatus? cfm:RowStatus 167 +--rw dot1agCfmMa 168 | +--rw dot1agCfmMaNetEntry* [dot1agCfmMdIndex dot1agCfmMaIndex] 169 | | +--rw dot1agCfmMdIndex -> 170 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 171 | | +--rw dot1agCfmMaIndex uint32 172 | | +--rw dot1agCfmMaNetFormat? 173 cfm:Dot1agCfmMaintAssocNameType 174 | | +--rw dot1agCfmMaNetName? 175 cfm:Dot1agCfmMaintAssocName 176 | | +--rw dot1agCfmMaNetCcmInterval? cfm:Dot1agCfmCcmInterval 177 | | +--rw dot1agCfmMaNetRowStatus? cfm:RowStatus 178 | +--rw dot1agCfmMaCompEntry* [dot1agCfmMaComponentId 179 dot1agCfmMdIndex dot1agCfmMaIndex] 180 | | +--rw dot1agCfmMdIndex -> 181 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 182 | | +--rw dot1agCfmMaIndex -> 183 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 184 | | +--rw dot1agCfmMaComponentId 185 cfm:Dot1agCfmPbbComponentIdentifier 186 | | +--rw dot1agCfmMaCompPrimaryVlanId? cfm:VlanIdOrNone 187 | | +--rw dot1agCfmMaCompMhfCreation? 188 cfm:Dot1agCfmMhfCreation 189 | | +--rw dot1agCfmMaCompIdPermission? 190 cfm:Dot1agCfmIdPermission 191 | | +--ro dot1agCfmMaCompNumberOfVids? uint32 192 | | +--rw dot1agCfmMaCompRowStatus? cfm:RowStatus 193 | +--rw dot1agCfmMaMepListEntry* [dot1agCfmMdIndex 194 dot1agCfmMaIndex dot1agCfmMaMepListIdentifier] 195 | +--rw dot1agCfmMdIndex -> 196 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 197 | +--rw dot1agCfmMaIndex -> 198 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 199 | +--rw dot1agCfmMaMepListIdentifier cfm:Dot1agCfmMepId 200 | +--rw dot1agCfmMaMepListRowStatus? cfm:RowStatus 201 +--rw dot1agCfmMep 202 +--rw dot1agCfmMepEntry* [dot1agCfmMdIndex dot1agCfmMaIndex 203 dot1agCfmMepIdentifier] 204 | +--rw dot1agCfmMdIndex -> 205 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 206 | +--rw dot1agCfmMaIndex -> 207 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 208 | +--rw dot1agCfmMepIdentifier 209 cfm:Dot1agCfmMepId 210 | +--rw dot1agCfmMepIfIndex? cfm:if- 211 index-or-zero 212 | +--rw dot1agCfmMepDirection? 213 cfm:Dot1agCfmMpDirection 214 | +--rw dot1agCfmMepPrimaryVid? uint32 215 | +--rw dot1agCfmMepActive? boolean 216 | +--ro dot1agCfmMepFngState? 217 cfm:Dot1agCfmFngState 218 | +--rw dot1agCfmMepCciEnabled? boolean 219 | +--rw dot1agCfmMepCcmLtmPriority? uint32 220 | +--ro dot1agCfmMepMacAddress? yang:mac- 221 address 222 | +--rw dot1agCfmMepLowPrDef? 223 cfm:Dot1agCfmLowestAlarmPri 224 | +--rw dot1agCfmMepFngAlarmTime? 225 cfm:TimeInterval 226 | +--rw dot1agCfmMepFngResetTime? 227 cfm:TimeInterval 228 | +--ro dot1agCfmMepHighestPrDefect? 229 cfm:Dot1agCfmHighestDefectPri 230 | +--ro dot1agCfmMepDefects? 231 cfm:Dot1agCfmMepDefects 232 | +--ro dot1agCfmMepErrorCcmLastFailure? binary 233 | +--ro dot1agCfmMepXconCcmLastFailure? binary 234 | +--ro dot1agCfmMepCcmSequenceErrors? 235 yang:counter32 236 | +--ro dot1agCfmMepCciSentCcms? 237 yang:counter32 238 | +--ro dot1agCfmMepNextLbmTransId? uint32 239 | +--ro dot1agCfmMepLbrIn? 240 yang:counter32 241 | +--ro dot1agCfmMepLbrInOutOfOrder? 242 yang:counter32 243 | +--ro dot1agCfmMepLbrBadMsdu? 244 yang:counter32 245 | +--ro dot1agCfmMepLtmNextSeqNumber? uint32 246 | +--ro dot1agCfmMepUnexpLtrIn? 247 yang:counter32 248 | +--ro dot1agCfmMepLbrOut? 249 yang:counter32 250 | +--rw dot1agCfmMepTransmitLbmStatus? boolean 251 | +--rw dot1agCfmMepTransmitLbmDestMacAddress? yang:mac- 252 address 253 | +--rw dot1agCfmMepTransmitLbmDestMepId? 254 cfm:Dot1agCfmMepIdOrZero 255 | +--rw dot1agCfmMepTransmitLbmDestIsMepId? boolean 256 | +--rw dot1agCfmMepTransmitLbmMessages? int32 257 | +--rw dot1agCfmMepTransmitLbmDataTlv? binary 258 | +--rw dot1agCfmMepTransmitLbmVlanPriority? int32 259 | +--rw dot1agCfmMepTransmitLbmVlanDropEnable? boolean 260 | +--ro dot1agCfmMepTransmitLbmResultOK? boolean 261 | +--ro dot1agCfmMepTransmitLbmSeqNumber? uint32 262 | +--ro dot1agCfmMepTransmitLtmStatus? boolean 263 | +--rw dot1agCfmMepTransmitLtmFlags? bits 264 | +--rw dot1agCfmMepTransmitLtmTargetMacAddress? yang:mac- 265 address 266 | +--rw dot1agCfmMepTransmitLtmTargetMepId? 267 cfm:Dot1agCfmMepIdOrZero 268 | +--rw dot1agCfmMepTransmitLtmTargetIsMepId? boolean 269 | +--rw dot1agCfmMepTransmitLtmTtl? uint32 270 | +--ro dot1agCfmMepTransmitLtmResult? boolean 271 | +--ro dot1agCfmMepTransmitLtmSeqNumber? uint32 272 | +--rw dot1agCfmMepTransmitLtmEgressIdentifier? binary 273 | +--rw dot1agCfmMepRowStatus? 274 cfm:RowStatus 275 +--rw dot1agCfmLtrEntry* [dot1agCfmMdIndex dot1agCfmMaIndex 276 dot1agCfmMepIdentifier dot1agCfmLtrSeqNumber 277 dot1agCfmLtrReceiveOrder] 278 | +--rw dot1agCfmMdIndex -> 279 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 280 | +--rw dot1agCfmMaIndex -> 281 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 282 | +--rw dot1agCfmMepIdentifier -> 283 /dot1agCfmMep/dot1agCfmMepEntry/dot1agCfmMepIdentifier 284 | +--rw dot1agCfmLtrSeqNumber uint32 285 | +--rw dot1agCfmLtrReceiveOrder uint32 286 | +--ro dot1agCfmLtrTtl? uint32 287 | +--ro dot1agCfmLtrForwarded? boolean 288 | +--ro dot1agCfmLtrTerminalMep? boolean 289 | +--ro dot1agCfmLtrLastEgressIdentifier? binary 290 | +--ro dot1agCfmLtrNextEgressIdentifier? binary 291 | +--ro dot1agCfmLtrRelay? 292 cfm:Dot1agCfmRelayActionFieldValue 293 | +--ro dot1agCfmLtrChassisIdSubtype? 294 cfm:LldpChassisIdSubtype 295 | +--ro dot1agCfmLtrChassisId? 296 cfm:LldpChassisId 297 | +--ro dot1agCfmLtrManAddressDomain? cfm:TDomain 298 | +--ro dot1agCfmLtrManAddress? cfm:TAddress 299 | +--ro dot1agCfmLtrIngress? 300 cfm:Dot1agCfmIngressActionFieldValue 301 | +--ro dot1agCfmLtrIngressMac? yang:mac- 302 address 303 | +--ro dot1agCfmLtrIngressPortIdSubtype? 304 cfm:LldpPortIdSubtype 305 | +--ro dot1agCfmLtrIngressPortId? cfm:LldpPortId 306 | +--ro dot1agCfmLtrEgress? 307 cfm:Dot1agCfmEgressActionFieldValue 308 | +--ro dot1agCfmLtrEgressMac? yang:mac- 309 address 310 | +--ro dot1agCfmLtrEgressPortIdSubtype? 311 cfm:LldpPortIdSubtype 312 | +--ro dot1agCfmLtrEgressPortId? cfm:LldpPortId 313 | +--ro dot1agCfmLtrOrganizationSpecificTlv? binary 314 +--rw dot1agCfmMepDbEntry* [dot1agCfmMdIndex dot1agCfmMaIndex 315 dot1agCfmMepIdentifier dot1agCfmMepDbRMepIdentifier] 316 +--rw dot1agCfmMdIndex -> 317 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 318 +--rw dot1agCfmMaIndex -> 319 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 320 +--rw dot1agCfmMepIdentifier -> 321 /dot1agCfmMep/dot1agCfmMepEntry/dot1agCfmMepIdentifier 322 +--rw dot1agCfmMepDbRMepIdentifier cfm:Dot1agCfmMepId 323 +--ro dot1agCfmMepDbRMepState? 324 cfm:Dot1agCfmRemoteMepState 325 +--ro dot1agCfmMepDbRMepFailedOkTime? yang:timestamp 326 +--ro dot1agCfmMepDbMacAddress? yang:mac-address 327 +--ro dot1agCfmMepDbRdi? boolean 328 +--ro dot1agCfmMepDbPortStatusTlv? 329 cfm:Dot1agCfmPortStatus 330 +--ro dot1agCfmMepDbInterfaceStatusTlv? 331 cfm:Dot1agCfmInterfaceStatus 332 +--ro dot1agCfmMepDbChassisIdSubtype? 333 cfm:LldpChassisIdSubtype 334 +--ro dot1agCfmMepDbChassisId? cfm:LldpChassisId 335 +--ro dot1agCfmMepDbManAddressDomain? cfm:TDomain 336 +--ro dot1agCfmMepDbManAddress? cfm:TAddress 337 notifications: 338 +---n dot1agCfmFaultAlarm 339 +--ro dot1agCfmFaultAlarm-dot1agCfmMepHighestPrDefect 340 +--ro dot1agCfmMdIndex? -> 341 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 342 +--ro dot1agCfmMaIndex? -> 343 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 344 +--ro dot1agCfmMepIdentifier? -> 345 /dot1agCfmMep/dot1agCfmMepEntry/dot1agCfmMepIdentifier 346 +--ro dot1agCfmMepHighestPrDefect? 347 cfm:Dot1agCfmHighestDefectPri 349 2.2. CFM stack 351 It enables the network administrator to discover the information 352 about the Maintenance Points configured on a port. 354 +--ro dot1agCfmStack 356 | +--ro dot1agCfmStackEntry* [dot1agCfmStackifIndex 357 dot1agCfmStackVlanIdOrNone dot1agCfmStackMdLevel 358 dot1agCfmStackDirection] 360 | +--ro dot1agCfmStackifIndex cfm:if-index 362 | +--ro dot1agCfmStackVlanIdOrNone cfm:VlanIdOrNone 364 | +--ro dot1agCfmStackMdLevel cfm:Dot1agCfmMDLevel 366 | +--ro dot1agCfmStackDirection cfm:Dot1agCfmMpDirection 367 | +--ro dot1agCfmStackMdIndex? uint32 369 | +--ro dot1agCfmStackMaIndex? uint32 371 | +--ro dot1agCfmStackMepId? cfm:Dot1agCfmMepIdOrZero 373 | +--ro dot1agCfmStackMacAddress? yang:mac-address 375 2.3. CFM Default MD 377 The Default MD is to control the MIP Half Function creation for 378 VIDs that are not contained in the list VIDs associated with 379 Maintenance Association. 381 +--rw dot1agCfmDefaultMd 383 | +--rw dot1agCfmDefaultMdDefLevel? cfm:Dot1agCfmMDLevel 385 | +--rw dot1agCfmDefaultMdDefMhfCreation? 386 cfm:Dot1agCfmMhfCreation 388 | +--rw dot1agCfmDefaultMdDefIdPermission? 389 cfm:Dot1agCfmIdPermission 391 | +--rw dot1agCfmDefaultMdEntry* [dot1agCfmDefaultMdComponentId 392 dot1agCfmDefaultMdPrimaryVid] 394 | +--rw dot1agCfmDefaultMdComponentId 395 cfm:Dot1agCfmPbbComponentIdentifier 397 | +--rw dot1agCfmDefaultMdPrimaryVid cfm:VlanId 399 | +--ro dot1agCfmDefaultMdStatus? boolean 401 | +--rw dot1agCfmDefaultMdLevel? 402 cfm:Dot1agCfmMDLevelOrNone 404 | +--rw dot1agCfmDefaultMdMhfCreation? 405 cfm:Dot1agCfmMhfCreation 407 | +--rw dot1agCfmDefaultMdIdPermission? 408 cfm:Dot1agCfmIdPermission 410 2.4. CFM VLAN 412 It contains the association between VID and VLAN. 414 +--rw dot1agCfmVlan 415 | +--rw dot1agCfmVlanEntry* [dot1agCfmVlanComponentId 416 dot1agCfmVlanVid] 417 | +--rw dot1agCfmVlanComponentId 418 cfm:Dot1agCfmPbbComponentIdentifier 419 | +--rw dot1agCfmVlanVid cfm:VlanId 420 | +--rw dot1agCfmVlanPrimaryVid? cfm:VlanId 421 | +--rw dot1agCfmVlanRowStatus? cfm:RowStatus 423 2.5. CFM Config Error List 425 It contains the CFM configuration error for a VLAN ID on a port. 426 +--ro dot1agCfmConfigErrorList 427 | +--ro dot1agCfmConfigErrorListEntry* [dot1agCfmConfigErrorListVid 428 dot1agCfmConfigErrorListIfIndex] 429 | +--ro dot1agCfmConfigErrorListVid cfm:VlanId 430 | +--ro dot1agCfmConfigErrorListIfIndex cfm:if-index 431 | +--ro dot1agCfmConfigErrorListErrorType? 432 cfm:Dot1agCfmConfigErrors 434 2.6. CFM MD 436 Maintenance Domain container contains the Domain configuration 437 information. The Maintenance Domain level which the monitor is at is 438 also specified here. 440 +--rw dot1agCfmMd 441 | +--ro dot1agCfmMdTableNextIndex? 442 cfm:Dot1afCfmIndexIntegerNextFree 443 | +--rw dot1agCfmMdEntry* [dot1agCfmMdIndex] 444 | +--rw dot1agCfmMdIndex uint32 445 | +--rw dot1agCfmMdFormat? 446 cfm:Dot1agCfmMaintDomainNameType 447 | +--rw dot1agCfmMdName? 448 cfm:Dot1agCfmMaintDomainName 449 | +--rw dot1agCfmMdMdLevel? cfm:Dot1agCfmMDLevel 450 | +--rw dot1agCfmMdMhfCreation? cfm:Dot1agCfmMhfCreation 451 | +--rw dot1agCfmMdMhfIdPermission? 452 cfm:Dot1agCfmIdPermission 453 | +--ro dot1agCfmMdMaNextIndex? 454 cfm:Dot1afCfmIndexIntegerNextFree 455 | +--rw dot1agCfmMdRowStatus? cfm:RowStatus 457 2.7. CFM MA 459 The Maintenance Association contains the configuration related to 460 the which flow the MA could monitor. For example, the VID of the flow 461 and the CCM interval. 463 +--rw dot1agCfmMa 465 | +--rw dot1agCfmMaNetEntry* [dot1agCfmMdIndex dot1agCfmMaIndex] 467 | | +--rw dot1agCfmMdIndex -> 468 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 470 | | +--rw dot1agCfmMaIndex uint32 472 | | +--rw dot1agCfmMaNetFormat? 473 cfm:Dot1agCfmMaintAssocNameType 475 | | +--rw dot1agCfmMaNetName? 476 cfm:Dot1agCfmMaintAssocName 478 | | +--rw dot1agCfmMaNetCcmInterval? cfm:Dot1agCfmCcmInterval 480 | | +--rw dot1agCfmMaNetRowStatus? cfm:RowStatus 482 | +--rw dot1agCfmMaCompEntry* [dot1agCfmMaComponentId 483 dot1agCfmMdIndex dot1agCfmMaIndex] 485 | | +--rw dot1agCfmMdIndex -> 486 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 488 | | +--rw dot1agCfmMaIndex -> 489 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 491 | | +--rw dot1agCfmMaComponentId 492 cfm:Dot1agCfmPbbComponentIdentifier 494 | | +--rw dot1agCfmMaCompPrimaryVlanId? cfm:VlanIdOrNone 496 | | +--rw dot1agCfmMaCompMhfCreation? 497 cfm:Dot1agCfmMhfCreation 499 | | +--rw dot1agCfmMaCompIdPermission? 500 cfm:Dot1agCfmIdPermission 502 | | +--ro dot1agCfmMaCompNumberOfVids? uint32 503 | | +--rw dot1agCfmMaCompRowStatus? cfm:RowStatus 505 | +--rw dot1agCfmMaMepListEntry* [dot1agCfmMdIndex 506 dot1agCfmMaIndex dot1agCfmMaMepListIdentifier] 508 | +--rw dot1agCfmMdIndex -> 509 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 511 | +--rw dot1agCfmMaIndex -> 512 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 514 | +--rw dot1agCfmMaMepListIdentifier cfm:Dot1agCfmMepId 516 | +--rw dot1agCfmMaMepListRowStatus? cfm:RowStatus 518 2.8. CFM MEP 520 The MEP container contains the configuration for a Maintenance point, 521 for example, the direction, ID, VID and so on. It also contains the 522 LTR related information and the database of MEP. 524 +--rw dot1agCfmMep 526 +--rw dot1agCfmMepEntry* [dot1agCfmMdIndex dot1agCfmMaIndex 527 dot1agCfmMepIdentifier] 529 | +--rw dot1agCfmMdIndex -> 530 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 532 | +--rw dot1agCfmMaIndex -> 533 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 535 | +--rw dot1agCfmMepIdentifier 536 cfm:Dot1agCfmMepId 538 | +--rw dot1agCfmMepIfIndex? cfm:if- 539 index-or-zero 541 | +--rw dot1agCfmMepDirection? 542 cfm:Dot1agCfmMpDirection 544 | +--rw dot1agCfmMepPrimaryVid? uint32 546 | +--rw dot1agCfmMepActive? boolean 548 | +--ro dot1agCfmMepFngState? 549 cfm:Dot1agCfmFngState 550 | +--rw dot1agCfmMepCciEnabled? boolean 552 | +--rw dot1agCfmMepCcmLtmPriority? uint32 554 | +--ro dot1agCfmMepMacAddress? yang:mac- 555 address 557 | +--rw dot1agCfmMepLowPrDef? 558 cfm:Dot1agCfmLowestAlarmPri 560 | +--rw dot1agCfmMepFngAlarmTime? 561 cfm:TimeInterval 563 | +--rw dot1agCfmMepFngResetTime? 564 cfm:TimeInterval 566 | +--ro dot1agCfmMepHighestPrDefect? 567 cfm:Dot1agCfmHighestDefectPri 569 | +--ro dot1agCfmMepDefects? 570 cfm:Dot1agCfmMepDefects 572 | +--ro dot1agCfmMepErrorCcmLastFailure? binary 574 | +--ro dot1agCfmMepXconCcmLastFailure? binary 576 | +--ro dot1agCfmMepCcmSequenceErrors? 577 yang:counter32 579 | +--ro dot1agCfmMepCciSentCcms? 580 yang:counter32 582 | +--ro dot1agCfmMepNextLbmTransId? uint32 584 | +--ro dot1agCfmMepLbrIn? 585 yang:counter32 587 | +--ro dot1agCfmMepLbrInOutOfOrder? 588 yang:counter32 590 | +--ro dot1agCfmMepLbrBadMsdu? 591 yang:counter32 593 | +--ro dot1agCfmMepLtmNextSeqNumber? uint32 595 | +--ro dot1agCfmMepUnexpLtrIn? 596 yang:counter32 597 | +--ro dot1agCfmMepLbrOut? 598 yang:counter32 600 | +--rw dot1agCfmMepTransmitLbmStatus? boolean 602 | +--rw dot1agCfmMepTransmitLbmDestMacAddress? yang:mac- 603 address 605 | +--rw dot1agCfmMepTransmitLbmDestMepId? 606 cfm:Dot1agCfmMepIdOrZero 608 | +--rw dot1agCfmMepTransmitLbmDestIsMepId? boolean 610 | +--rw dot1agCfmMepTransmitLbmMessages? int32 612 | +--rw dot1agCfmMepTransmitLbmDataTlv? binary 614 | +--rw dot1agCfmMepTransmitLbmVlanPriority? int32 616 | +--rw dot1agCfmMepTransmitLbmVlanDropEnable? boolean 618 | +--ro dot1agCfmMepTransmitLbmResultOK? boolean 620 | +--ro dot1agCfmMepTransmitLbmSeqNumber? uint32 622 | +--ro dot1agCfmMepTransmitLtmStatus? boolean 624 | +--rw dot1agCfmMepTransmitLtmFlags? bits 626 | +--rw dot1agCfmMepTransmitLtmTargetMacAddress? yang:mac- 627 address 629 | +--rw dot1agCfmMepTransmitLtmTargetMepId? 630 cfm:Dot1agCfmMepIdOrZero 632 | +--rw dot1agCfmMepTransmitLtmTargetIsMepId? boolean 634 | +--rw dot1agCfmMepTransmitLtmTtl? uint32 636 | +--ro dot1agCfmMepTransmitLtmResult? boolean 638 | +--ro dot1agCfmMepTransmitLtmSeqNumber? uint32 640 | +--rw dot1agCfmMepTransmitLtmEgressIdentifier? binary 642 | +--rw dot1agCfmMepRowStatus? 643 cfm:RowStatus 644 +--rw dot1agCfmLtrEntry* [dot1agCfmMdIndex dot1agCfmMaIndex 645 dot1agCfmMepIdentifier dot1agCfmLtrSeqNumber 646 dot1agCfmLtrReceiveOrder] 648 | +--rw dot1agCfmMdIndex -> 649 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 651 | +--rw dot1agCfmMaIndex -> 652 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 654 | +--rw dot1agCfmMepIdentifier -> 655 /dot1agCfmMep/dot1agCfmMepEntry/dot1agCfmMepIdentifier 657 | +--rw dot1agCfmLtrSeqNumber uint32 659 | +--rw dot1agCfmLtrReceiveOrder uint32 661 | +--ro dot1agCfmLtrTtl? uint32 663 | +--ro dot1agCfmLtrForwarded? boolean 665 | +--ro dot1agCfmLtrTerminalMep? boolean 667 | +--ro dot1agCfmLtrLastEgressIdentifier? binary 669 | +--ro dot1agCfmLtrNextEgressIdentifier? binary 671 | +--ro dot1agCfmLtrRelay? 672 cfm:Dot1agCfmRelayActionFieldValue 674 | +--ro dot1agCfmLtrChassisIdSubtype? 675 cfm:LldpChassisIdSubtype 677 | +--ro dot1agCfmLtrChassisId? 678 cfm:LldpChassisId 680 | +--ro dot1agCfmLtrManAddressDomain? cfm:TDomain 682 | +--ro dot1agCfmLtrManAddress? cfm:TAddress 684 | +--ro dot1agCfmLtrIngress? 685 cfm:Dot1agCfmIngressActionFieldValue 687 | +--ro dot1agCfmLtrIngressMac? yang:mac- 688 address 689 | +--ro dot1agCfmLtrIngressPortIdSubtype? 690 cfm:LldpPortIdSubtype 692 | +--ro dot1agCfmLtrIngressPortId? cfm:LldpPortId 694 | +--ro dot1agCfmLtrEgress? 695 cfm:Dot1agCfmEgressActionFieldValue 697 | +--ro dot1agCfmLtrEgressMac? yang:mac- 698 address 700 | +--ro dot1agCfmLtrEgressPortIdSubtype? 701 cfm:LldpPortIdSubtype 703 | +--ro dot1agCfmLtrEgressPortId? cfm:LldpPortId 705 | +--ro dot1agCfmLtrOrganizationSpecificTlv? binary 707 +--rw dot1agCfmMepDbEntry* [dot1agCfmMdIndex dot1agCfmMaIndex 708 dot1agCfmMepIdentifier dot1agCfmMepDbRMepIdentifier] 710 +--rw dot1agCfmMdIndex -> 711 /dot1agCfmMd/dot1agCfmMdEntry/dot1agCfmMdIndex 713 +--rw dot1agCfmMaIndex -> 714 /dot1agCfmMa/dot1agCfmMaNetEntry/dot1agCfmMaIndex 716 +--rw dot1agCfmMepIdentifier -> 717 /dot1agCfmMep/dot1agCfmMepEntry/dot1agCfmMepIdentifier 719 +--rw dot1agCfmMepDbRMepIdentifier cfm:Dot1agCfmMepId 721 +--ro dot1agCfmMepDbRMepState? 722 cfm:Dot1agCfmRemoteMepState 724 +--ro dot1agCfmMepDbRMepFailedOkTime? yang:timestamp 726 +--ro dot1agCfmMepDbMacAddress? yang:mac-address 728 +--ro dot1agCfmMepDbRdi? boolean 730 +--ro dot1agCfmMepDbPortStatusTlv? 731 cfm:Dot1agCfmPortStatus 733 +--ro dot1agCfmMepDbInterfaceStatusTlv? 734 cfm:Dot1agCfmInterfaceStatus 735 +--ro dot1agCfmMepDbChassisIdSubtype? 736 cfm:LldpChassisIdSubtype 738 +--ro dot1agCfmMepDbChassisId? cfm:LldpChassisId 740 +--ro dot1agCfmMepDbManAddressDomain? cfm:TDomain 742 +--ro dot1agCfmMepDbManAddress? cfm:TAddress 744 2.9. CFM FAULT ALARM NOTIFICAITON 746 When there is fault alarm generated or cleared by the MEP fault 747 notification generator state machine, the notification is sent to the 748 management entity. 750 notification dot1agCfmFaultAlarm { 752 description 754 "A MEP has a persistent defect condition. A notification 756 (fault alarm) is sent to the management entity with the OID 758 of the MEP that has detected the fault. 760 Whenever a MEP has a persistent defect, 762 it may or may not generate a Fault Alarm to warn the system 764 administrator of the problem, as controlled by the MEP 766 Fault Notification Generator State Machine and associated 768 Managed Objects. Only the highest-priority defect, as shown 770 in Table 20-1, is reported in the Fault Alarm. 772 If a defect with a higher priority is raised after a Fault 774 Alarm has been issued, another Fault Alarm is issued. 776 The management entity receiving the notification can 778 identify the system from the network source address of the 780 notification, and can identify the MEP reporting the defect 782 by the indices in the OID of the dot1agCfmMepHighestPrDefect 784 variable in the notification: 786 dot1agCfmMdIndex - Also the index of the MEP's 788 Maintenance Domain table entry 790 (dot1agCfmMdTable). 792 dot1agCfmMaIndex - Also an index (with the MD table 794 index) of the MEP's Maintenance 796 Association network table entry 798 (dot1agCfmMaNetTable), and (with the 800 MD table index and component ID) of 802 the MEP's MA component table entry 804 (dot1agCfmMaCompTable). 806 dot1agCfmMepIdentifier - MEP Identifier and final index 808 into the MEP table 810 (dot1agCfmMepTable)."; 812 reference 814 "802.1ag clause 12.14.7.7"; 816 container dot1agCfmFaultAlarm-dot1agCfmMepHighestPrDefect { 818 description 819 "The highest priority defect that has been present since the 821 MEPs Fault Notification Generator State Machine was last in 823 the FNG_RESET state"; 825 leaf dot1agCfmMdIndex { 827 type leafref { 829 path "/cfm:dot1agCfmMd/cfm:dot1agCfmMdEntry/cfm" 831 +":dot1agCfmMdIndex"; 833 } 835 description 837 "Automagically generated leafref leaf."; 839 } 841 leaf dot1agCfmMaIndex { 843 type leafref { 845 path "/cfm:dot1agCfmMa/cfm:dot1agCfmMaNetEntry/cfm" 847 +":dot1agCfmMaIndex"; 849 } 851 description 853 "Automagically generated leafref leaf."; 855 } 857 leaf dot1agCfmMepIdentifier { 859 type leafref { 861 path "/cfm:dot1agCfmMep/cfm:dot1agCfmMepEntry/cfm" 863 +":dot1agCfmMepIdentifier"; 864 } 866 description 868 "Automagically generated leafref leaf."; 870 } 872 leaf dot1agCfmMepHighestPrDefect { 874 type cfm:Dot1agCfmHighestDefectPri; 876 description 878 "The highest priority defect that has been present 880 since the MEPs Fault Notification Generator State 882 Machine was last in the FNG_RESET state."; 884 reference 886 "802.1ag clause 12.14.7.1.3:n 20.33.9 and Table 21-1"; 888 } 890 } 892 } 894 3. CFM YANG Module 896 file ietf-cfm@2017-03-20.yang 897 module ietf-cfm { 899 /*** NAMESPACE / PREFIX DEFINITION ***/ 901 namespace "urn:ietf:params:xml:ns:yang:ietf-cfm"; 902 prefix "cfm"; 904 /*** LINKAGE (IMPORTS / INCLUDES) ***/ 906 import ietf-interfaces { prefix "if"; } 907 import ietf-yang-smiv2 { prefix "smi"; } 908 import ietf-yang-types { prefix "yang"; } 909 /*** META INFORMATION ***/ 911 organization 912 "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; 914 contact 915 "WG Web: 916 WG List: 918 WG Chair: Thomas Nadeau 919 921 WG Chair: Juergen Schoenwaelder 922 924 Editor: Kun Wang 925 926 Alex Wang 927 928 Chin Chen 929 930 Hua Lv 931 "; 932 description 933 "This module contains a collection of YANG definitions for 934 Connectivity Fault Management. 936 Copyright (c) 2017 IETF Trust and the persons identified as 937 authors of the code. All rights reserved. 939 Redistribution and use in source and binary forms, with or 940 without modification, is permitted pursuant to, and subject 941 to the license terms contained in, the Simplified BSD License 942 set forth in Section 4.c of the IETF Trust's Legal Provisions 943 Relating to IETF Documents 944 (http://trustee.ietf.org/license-info)."; 946 revision "2017-03-29" { 947 description 948 "01 revision."; 949 reference 950 "RFC rfc6020"; 951 } 953 /*** TYPE DEFINITIONS ***/ 955 typedef if-index { 956 type leafref { 957 path "/if:interfaces-state/if:interface/if:if-index"; 958 } 959 description 960 "This type is used by data models that need to reference 961 configured interfaces."; 962 } 964 typedef if-index-or-zero { 965 type int32 { 966 range "0..2147483647"; 967 } 968 description 969 "This textual convention is an extension of the 970 InterfaceIndex convention. The latter defines a greater 971 than zero value used to identify an interface or interface 972 sub-layer in the managed system. This extension permits the 973 additional value of zero. the value zero is object-specific 974 and must therefore be defined as part of the description of 975 any object which uses this syntax. Examples of the usage of 976 zero might include situations where interface was unknown, 977 or when none or all interfaces need to be referenced."; 978 } 980 typedef VlanId { 981 type int32 { 982 range "1..4094"; 983 } 984 description 985 "The VLAN-ID that uniquely identifies a VLAN. This 986 is the 12-bit VLAN-ID used in the VLAN Tag header. 987 The range is defined by the REFERENCEd specification."; 988 } 990 typedef VlanIdOrNone { 991 type int32 { 992 range "0..4094"; 993 } 994 description 995 "The VLAN-ID that uniquely identifies a specific VLAN, 996 or no VLAN. The special value of zero is used to 997 indicate that no VLAN-ID is present or used. This can 998 be used in any situation where an object or a table entry 999 must refer either to a specific VLAN, or to no VLAN. 1001 Note that a MIB object that is defined using this 1002 TEXTUAL-CONVENTION should clarify the meaning of 1003 'no VLAN' (i.e., the special value 0)."; 1004 } 1006 typedef LldpChassisIdSubtype { 1007 type enumeration { 1008 enum chassisComponent { 1009 value 1; 1010 description 1011 "If the associated LldpChassisIdSubtype object has a 1012 value of 'chassisComponent(1)', then the octet string 1013 identifies a particular instance of the 1014 entPhysicalAlias object (defined in IETF RFC 2737) 1015 for a chassis component (i.e.an entPhysicalClass 1016 value of 'chassis(3)')."; 1017 } 1018 enum interfaceAlias { 1019 value 2; 1020 description 1021 "If the associated LldpChassisIdSubtype object has a 1022 value of 'interfaceAlias(2)', then the octet string 1023 identifies a particular instance of the ifAlias object 1024 (defined in IETF RFC 2863) for an interface on the 1025 containing chassis. If the particular ifAlias object 1026 does not contain any values, another chassis 1027 identifier type should be used."; 1028 } 1029 enum portComponent { 1030 value 3; 1031 description 1032 "If the associated LldpChassisIdSubtype object has a 1033 value of 'portComponent(3)', then the octet string 1034 identifies a particular instance of the 1035 entPhysicalAlias object (defined in IETF RFC 2737) 1036 for a port or backplane component within the containing 1037 chassis."; 1038 } 1039 enum macAddress { 1040 value 4; 1041 description 1042 "If the associated LldpChassisIdSubtype object has a 1043 value of 'macAddress(4)', then this string identifies 1044 a particular unicast source address (encoded in network 1045 byte order and IEEE 802.3 canonical bit order), of a 1046 port on the containing chassis as defined in IEEE Std 1047 802-2001."; 1048 } 1049 enum networkAddress { 1050 value 5; 1051 description 1052 "If the associated LldpChassisIdSubtype object has a 1053 value of 'networkAddress(5)', then this string 1054 identifies a particular network address, encoded in 1055 network byte order, associated with one or more ports 1056 on the containing chassis. The first octet contains 1057 the IANA Address Family Numbers enumeration value for 1058 the specific address type, and octets 2 through N 1059 contain the network address value in network byte 1060 order."; 1061 } 1062 enum interfaceName { 1063 value 6; 1064 description 1065 "If the associated LldpChassisIdSubtype object has a 1066 value of 'interfaceName(6)', then the octet string 1067 identifies a particular instance of the ifName object 1068 (defined in IETF RFC 2863) for an interface on the 1069 containing chassis. If the particular ifName object 1070 does not contain any values, another chassis identifier 1071 type should be used."; 1072 } 1073 enum local { 1074 value 7; 1075 description 1076 "If the associated LldpChassisIdSubtype object has a 1077 value of 'local(7)', then this string identifies a 1078 locally assigned Chassis ID."; 1079 } 1080 } 1081 description 1082 "This describes the format of a chassis identifier string. 1083 Objects of this type are always used with an associated 1084 LldpChassisIdSubtype object, which identifies the format of 1085 the particular LldpChassisId object instance."; 1086 } 1088 typedef LldpChassisId { 1089 type int32 { 1090 range "1..255"; 1091 } 1092 description 1093 "This describes the format of a chassis identifier string. 1094 Objects of this type are always used with an associated 1095 LldpChassisIdSubtype object, which identifies the format of 1096 the particular LldpChassisId object instance. 1098 If the associated LldpChassisIdSubtype object has a value of 1099 'chassisComponent(1)', then the octet string identifies 1100 a particular instance of the entPhysicalAlias object 1101 (defined in IETF RFC 2737) for a chassis component (i.e., 1102 an entPhysicalClass value of 'chassis(3)'). 1104 If the associated LldpChassisIdSubtype object has a value 1105 of 'interfaceAlias(2)', then the octet string identifies 1106 a particular instance of the ifAlias object (defined in 1107 IETF RFC 2863) for an interface on the containing chassis. 1108 If the particular ifAlias object does not contain any values, 1109 another chassis identifier type should be used. 1111 If the associated LldpChassisIdSubtype object has a value 1112 of 'portComponent(3)', then the octet string identifies a 1113 particular instance of the entPhysicalAlias object (defined 1114 in IETF RFC 2737) for a port or backplane component within 1115 the containing chassis. 1117 If the associated LldpChassisIdSubtype object has a value of 1118 'macAddress(4)', then this string identifies a particular 1119 unicast source address (encoded in network byte order and 1120 IEEE 802.3 canonical bit order), of a port on the containing 1121 chassis as defined in IEEE Std 802-2001. 1123 If the associated LldpChassisIdSubtype object has a value of 1124 'networkAddress(5)', then this string identifies a particular 1125 network address, encoded in network byte order, associated 1126 with one or more ports on the containing chassis. The first 1127 octet contains the IANA Address Family Numbers enumeration 1128 value for the specific address type, and octets 2 through 1129 N contain the network address value in network byte order. 1131 If the associated LldpChassisIdSubtype object has a value 1132 of 'interfaceName(6)', then the octet string identifies 1133 a particular instance of the ifName object (defined in 1134 IETF RFC 2863) for an interface on the containing chassis. 1135 If the particular ifName object does not contain any values, 1136 another chassis identifier type should be used. 1138 If the associated LldpChassisIdSubtype object has a value of 1139 'local(7)', then this string identifies a locally assigned 1140 Chassis ID."; 1141 } 1142 typedef LldpPortIdSubtype { 1143 type enumeration { 1144 enum interfaceAlias { 1145 value 1; 1146 description 1147 "a port identifier based on the ifAlias MIB object, 1148 defined in IETF RFC 2863."; 1149 } 1150 enum portComponent { 1151 value 2; 1152 description 1153 "a port identifier based on the value of 1154 entPhysicalAlias (defined in IETF RFC 2737) for a port 1155 component (i.e., entPhysicalClass value of 'port(10)'), 1156 within the containing chassis."; 1157 } 1158 enum macAddress { 1159 value 3; 1160 description 1161 "a port identifier based on a unicast source address 1162 (encoded in network byte order and IEEE 802.3 canonical 1163 bit order), which has been detected by the agent and 1164 associated with a particular port 1165 (IEEE Std 802-2001)."; 1166 } 1167 enum networkAddress { 1168 value 4; 1169 description 1170 "a port identifier based on a network address, detected 1171 by the agent and associated with a particular port."; 1172 } 1173 enum interfaceName { 1174 value 5; 1175 description 1176 "a port identifier based on the ifName MIB object, 1177 defined in IETF RFC 2863."; 1178 } 1179 enum agentCircuitId { 1180 value 6; 1181 description 1182 "a port identifier based on the agent-local identifier 1183 of the circuit (defined in RFC 3046), detected by the 1184 agent and associated with a particular port."; 1185 } 1186 enum local { 1187 value 7; 1188 description 1189 "a port identifier based on a value locally assigned."; 1190 } 1191 } 1192 description 1193 "This describes the source of a particular type of port 1194 identifier used in the LLDP MIB."; 1195 } 1197 typedef LldpPortId { 1198 type int32 { 1199 range "1..255"; 1200 } 1201 description 1202 "This describes the format of a port identifier string. 1203 Objects of this type are always used with an associated 1204 LldpPortIdSubtype object, which identifies the format of the 1205 particular LldpPortId object instance. 1207 If the associated LldpPortIdSubtype object has a value of 1208 'interfaceAlias(1)', then the octet string identifies a 1209 particular instance of the ifAlias object (defined in IETF 1210 RFC 2863). If the particular ifAlias object does not contain 1211 any values, another port identifier type should be used. 1213 If the associated LldpPortIdSubtype object has a value of 1214 'portComponent(2)', then the octet string identifies a 1215 particular instance of the entPhysicalAlias object (defined 1216 in IETF RFC 2737) for a port or backplane component. 1218 If the associated LldpPortIdSubtype object has a value of 1219 'macAddress(3)', then this string identifies a particular 1220 unicast source address (encoded in network byte order 1221 and IEEE 802.3 canonical bit order) associated with the port 1222 (IEEE Std 802-2001). 1224 If the associated LldpPortIdSubtype object has a value of 1225 'networkAddress(4)', then this string identifies a network 1226 address associated with the port. The first octet contains 1227 the IANA AddressFamilyNumbers enumeration value for the 1228 specific address type, and octets 2 through N contain the 1229 networkAddress address value in network byte order. 1231 If the associated LldpPortIdSubtype object has a value of 1232 'interfaceName(5)', then the octet string identifies a 1233 particular instance of the ifName object (defined in IETF 1234 RFC 2863). If the particular ifName object does not contain 1235 any values, another port identifier type should be used. 1237 If the associated LldpPortIdSubtype object has a value of 1238 'agentCircuitId(6)', then this string identifies a agent-local 1239 identifier of the circuit (defined in RFC 3046). 1241 If the associated LldpPortIdSubtype object has a value of 1242 'local(7)', then this string identifies a locally 1243 assigned port ID."; 1244 } 1246 typedef RowStatus { 1247 type enumeration { 1248 enum active { 1249 value 1; 1250 description 1251 "The conceptual row is available for use by the managed 1252 device."; } 1253 enum notInService { 1254 value 2; 1255 description 1256 "The conceptual row exists in the agent, but is 1257 unavailable for use by the managed device; 1258 'notInService' has no implication regarding the 1259 internal consistency of the row, availability of 1260 resources, or consistency with the current state of 1261 the managed device."; } 1262 enum notReady { 1263 value 3; 1264 description 1265 "The conceptual row exists in the agent, but is missing 1266 information necessary in order to be available for use 1267 by the managed device (i.e., one or more required 1268 columns in the conceptual row have not been 1269 instanciated."; } 1270 enum createAndGo { 1271 value 4; 1272 description 1273 "It is supplied by a management station wishing to create 1274 a new instance of a conceptual row and to have its 1275 status automatically set to active, making it available 1276 for use by the managed device."; } 1277 enum createAndWait { 1278 value 5; 1279 description 1280 "It is supplied by a management station wishing to create 1281 a new instance of a conceptual row (but not make it 1282 available for use by the managed device."; } 1284 enum destroy { 1285 value 6; 1286 description 1287 "It is supplied by a management station wishing to 1288 delete all of the instances associated with an 1289 existing conceptual row."; } 1290 } 1291 description 1292 "The RowStatus textual convention is used to manage the 1293 creation and deletion of conceptual rows, and is used as the 1294 value of the SYNTAX clause for the status column of a 1295 conceptual row. 1296 The status column has six defined values: 1298 Whereas five of the six values (all except `notReady') may 1299 be specified in a management protocol set operation, only 1300 three values will be returned in response to a management 1301 protocol retrieval operation: `notReady', `notInService' or 1302 `active'. That is, when queried, an existing conceptual row 1303 has only three states: it is either available for use by 1304 the managed device (the status column has value `active'); 1305 it is not available for use by the managed device, though 1306 the agent has sufficient information to attempt to make it 1307 so (the status column has value `notInService'); or, it is 1308 not available for use by the managed device, and an attempt 1309 to make it so would fail because the agent has insufficient 1310 information (the state column has value `notReady')."; 1311 } 1313 typedef TimeInterval { 1314 type int32 { 1315 range "0..2147483647"; 1316 } 1317 description 1318 "A period of time, measured in units of 0.01 seconds."; 1319 } 1321 typedef TDomain { 1322 type yang:object-identifier; 1323 description 1324 "Denotes a kind of transport service. 1326 Some possible values, such as snmpUDPDomain, are defined in 1327 the SNMPv2-TM MIB module. Other possible values are defined 1328 in other MIB modules."; 1329 reference 1330 "The SNMPv2-TM MIB module is defined in RFC 1906."; 1332 } 1334 typedef TAddress { 1335 type binary { 1336 length "1..255"; 1337 } 1338 description 1339 "Denotes a transport service address. 1341 A TAddress value is always interpreted within the context 1342 of a TDomain value. Thus, each definition of a TDomain 1343 value must be accompanied by a definition of a textual 1344 convention for use with that TDomain."; 1345 } 1347 typedef Dot1agCfmMaintDomainNameType { 1348 type enumeration { 1349 enum none { 1350 value 1; 1351 description 1352 "No format specified, usually because there is not (yet) 1353 a Maintenance Domain Name. In this case, a zero length 1354 OCTET STRING for the Domain Name field is acceptable."; 1355 } 1356 enum dnsLikeName { 1357 value 2; 1358 description 1359 "Domain Name like string, globally unique text string 1360 derived from a DNS name."; 1361 } 1362 enum macAddressAndUint { 1363 value 3; 1364 description 1365 "MAC address + 2-octet (unsigned) integer."; 1366 } 1367 enum charString { 1368 value 4; 1369 description 1370 "RFC2579 DisplayString, except that the character codes 1371 0-31 (decimal) are not used."; 1372 } 1373 } 1374 description 1375 "A value that represents a type (and thereby the format) 1376 of a Dot1agCfmMaintDomainName. 1378 To support future extensions, the 1379 Dot1agCfmMaintDomainNameType textual convention SHOULD NOT 1380 be sub-typed in object type definitions. It MAY be 1381 sub-typed in compliance statements in order to require only 1382 a subset of these address types for a compliant 1383 implementation. 1385 Implementations must ensure that 1386 Dot1agCfmMaintDomainNameType objects and any dependent 1387 objects (e.g., Dot1agCfmMaintDomainName objects) are 1388 consistent. An inconsistentValue error must be generated 1389 if an attempt to change an Dot1agCfmMaintDomainNameType 1390 object would, for example, lead to an undefined 1391 Dot1agCfmMaintDomainName value. 1392 In particular, 1393 Dot1agCfmMaintDomainNameType/Dot1agCfmMaintDomainName pairs 1394 must be changed together if the nameType changes."; 1395 reference 1396 "802.1ag clause 21.6.5, Table 21-19"; 1397 } 1399 typedef Dot1agCfmMaintDomainName { 1400 type binary { 1401 length "1..43"; 1402 } 1403 description 1404 "Denotes a generic Maintenance Domain Name. 1406 A Dot1agCfmMaintDomainName value is interpreted within 1407 the context of a Dot1agCfmMaintDomainNameType value. Every 1408 usage of the Dot1agCfmMaintDomainName textual convention is 1409 required to specify the Dot1agCfmMaintDomainNameType object 1410 that provides the context. It is suggested that the 1411 Dot1agCfmMaintDomainNameType object be logically registered 1412 before the object(s) that use the Dot1agCfmMaintDomainName 1413 textual convention, if they appear in the same logical row. 1415 The value of a Dot1agCfmMaintDomainName object must always 1416 be consistent with the value of the associated 1417 Dot1agCfmMaintDomainNameType object. Attempts to set 1418 an Dot1agCfmMaintDomainName object to a value inconsistent 1419 with the associated Dot1agCfmMaintDomainNameType must fail 1420 with an inconsistentValue error. 1422 When this textual convention is used as the syntax of an 1423 index object, there may be issues with the limit of 128 1424 sub-identifiers specified in SMIv2, IETF STD 58. In this 1425 case, the object definition MUST include a 'SIZE' clause 1426 to limit the number of potential instance sub-identifiers; 1427 otherwise the applicable constraints MUST be stated in 1428 the appropriate conceptual row DESCRIPTION clauses, or 1429 in the surrounding documentation if there is no single 1430 DESCRIPTION clause that is appropriate. 1432 A value of none(1) in the associated 1433 Dot1agCfmMaintDomainNameType object means that no 1434 Maintenance Domain name is present, and the contents of the 1435 Dot1agCfmMaintDomainName object are meaningless. 1437 See the DESCRIPTION of the Dot1agCfmMaintAssocNameType 1438 TEXTUAL-CONVENTION for a discussion of the length limits on 1439 the Maintenance Domain name and Maintenance Association 1440 name."; 1441 reference 1442 "802.1ag clause 21.6.5"; 1443 } 1445 typedef Dot1agCfmMaintAssocNameType { 1446 type enumeration { 1447 enum primaryVid { 1448 value 1; 1449 description 1450 "Primary VLAN ID"; 1451 } 1452 enum charString { 1453 value 2; 1454 description 1455 "display string"; 1456 } 1457 enum unsignedInt16 { 1458 value 3; 1459 description 1460 "2-octet integer/big endian"; 1461 } 1462 enum rfc2865VpnId { 1463 value 4; 1464 description 1465 "RFC 2685 VPN ID"; 1466 } 1467 } 1468 description 1469 "A value that represents a type (and thereby the format) 1470 of a Dot1agCfmMaintAssocName. The value can be one of 1471 the following: 1473 ieeeReserved(0) Reserved for definition by IEEE 802.1 1474 recommend to not use zero unless 1475 absolutely needed. 1476 primaryVid(1) Primary VLAN ID. 1477 12 bits represented in a 2-octet integer: 1478 - 4 least significant bits of the first 1479 byte contains the 4 most significant 1480 bits of the 12 bits primary VID 1481 - second byte contains the 8 least 1482 significant bits of the primary VID 1484 0 1 2 3 4 5 6 7 8 1485 +-+-+-+-+-+-+-+-+ 1486 |0 0 0 0| (MSB) | 1487 +-+-+-+-+-+-+-+-+ 1488 | VID LSB | 1489 +-+-+-+-+-+-+-+-+ 1491 charString(2) RFC2579 DisplayString, except that the 1492 character codes 0-31 (decimal) are not 1493 used. (1..45) octets 1494 unsignedInt16 (3) 2-octet integer/big endian 1495 rfc2865VpnId(4) RFC 2685 VPN ID 1496 3 octet VPN authority Organizationally 1497 Unique Identifier followed by 4 octet VPN 1498 index identifying VPN according to the 1499 OUI: 1501 0 1 2 3 4 5 6 7 8 1502 +-+-+-+-+-+-+-+-+ 1503 | VPN OUI (MSB) | 1504 +-+-+-+-+-+-+-+-+ 1505 | VPN OUI | 1506 +-+-+-+-+-+-+-+-+ 1507 | VPN OUI (LSB) | 1508 +-+-+-+-+-+-+-+-+ 1509 |VPN Index (MSB)| 1510 +-+-+-+-+-+-+-+-+ 1511 | VPN Index | 1512 +-+-+-+-+-+-+-+-+ 1513 | VPN Index | 1514 +-+-+-+-+-+-+-+-+ 1515 |VPN Index (LSB)| 1516 +-+-+-+-+-+-+-+-+ 1518 ieeeReserved(xx) Reserved for definition by IEEE 802.1 1519 xx values can be [5..31] and [64..255] 1521 ituReserved(xx) Reserved for definition by ITU-T Y.1731 1522 xx values range from [32..63] 1524 To support future extensions, the 1525 Dot1agCfmMaintAssocNameType textual convention SHOULD NOT 1526 be sub-typed in object type definitions. It MAY be 1527 sub-typed in compliance statements in order to require 1528 only a subset of these address types for a compliant 1529 implementation. 1531 Implementations must ensure that Dot1agCfmMaintAssocNameType 1532 objects and any dependent objects (e.g., 1533 Dot1agCfmMaintAssocName objects) are consistent. An 1534 inconsistentValue error must be generated if an attempt to 1535 change an Dot1agCfmMaintAssocNameType object would, for 1536 example, lead to an undefined Dot1agCfmMaintAssocName value. 1537 In particular, 1538 Dot1agCfmMaintAssocNameType/Dot1agCfmMaintAssocName pairs 1539 must be changed together if the nameType changes. 1541 The Maintenance Domain name and Maintenance Association 1542 name,when put together into the CCM PDU, MUST total 48 1543 octets or less.If the Dot1agCfmMaintDomainNameType 1544 object contains none(1), then the Dot1agCfmMaintAssocName 1545 object MUST be 45 octets or less in length. Otherwise, 1546 the length of the Dot1agCfmMaintDomainName object plus the 1547 length of the Dot1agCfmMaintAssocName object, added 1548 together, MUST total less than or equal to 44 octets."; 1549 reference 1550 "802.1ag clause 21.6.5.4, Table 21-20"; 1551 } 1553 typedef Dot1agCfmMaintAssocName { 1554 type binary { 1555 length "1..45"; 1556 } 1557 description 1558 "Denotes a generic Maintenance Association Name. It is the 1559 part of the Maintenance Association Identifier which is 1560 unique within the Maintenance Domain Name and is appended 1561 to the Maintenance Domain Name to form the Maintenance 1562 Association Identifier (MAID). 1564 A Dot1agCfmMaintAssocName value is always interpreted within 1565 the context of a Dot1agCfmMaintAssocNameType value. Every 1566 usage of the Dot1agCfmMaintAssocName textual convention is 1567 required to specify the Dot1agCfmMaintAssocNameType object 1568 that provides the context. It is suggested that the 1569 Dot1agCfmMaintAssocNameType object be logically registered 1570 before the object(s) that use the Dot1agCfmMaintAssocName 1571 textual convention, if they appear in the same logical row. 1573 The value of a Dot1agCfmMaintAssocName object must 1574 always be consistent with the value of the associated 1575 Dot1agCfmMaintAssocNameType object. Attempts to set 1576 an Dot1agCfmMaintAssocName object to a value inconsistent 1577 with the associated Dot1agCfmMaintAssocNameType must fail 1578 with an inconsistentValue error. 1580 When this textual convention is used as the syntax of an 1581 index object, there may be issues with the limit of 128 1582 sub-identifiers specified in SMIv2, IETF STD 58. In this 1583 case, the object definition MUST include a 'SIZE' clause 1584 to limit the number of potential instance sub-identifiers; 1585 otherwise the applicable constraints MUST be stated in 1586 the appropriate conceptual row DESCRIPTION clauses, or 1587 in the surrounding documentation if there is no single 1588 DESCRIPTION clause that is appropriate."; 1589 reference 1590 "802.1ag clauses 21.6.5.4, 21.6.5.5, 21.6.5.6"; 1591 } 1593 typedef Dot1agCfmMDLevel { 1594 type int32 { 1595 range "0..7"; 1596 } 1597 description 1598 "Integer identifying the Maintenance Domain Level (MD Level). 1599 Higher numbers correspond to higher Maintenance Domains, 1600 those with the greatest physical reach, with the highest 1601 values for customers' CFM PDUs. Lower numbers correspond 1602 to lower Maintenance Domains, those with more limited 1603 physical reach, with the lowest values for CFM PDUs 1604 protecting single bridges or physical links."; 1605 reference 1606 "802.1ag clauses 18.3, 21.4.1"; 1607 smi:display-hint "d"; 1608 } 1610 typedef Dot1agCfmMDLevelOrNone { 1611 type int32 { 1612 range "-1..7"; 1613 } 1614 description 1615 "Integer identifying the Maintenance Domain Level (MD Level). 1616 Higher numbers correspond to higher Maintenance Domains, 1617 those with the greatest physical reach, with the highest 1618 values for customers' CFM packets. Lower numbers correspond 1619 to lower Maintenance Domains, those with more limited 1620 physical reach, with the lowest values for CFM PDUs 1621 protecting single bridges or physical links. 1623 The value (-1) is reserved to indicate that no MA Level has 1624 been assigned."; 1625 reference 1626 "802.1ag clauses 18.3, 12.14.3.1.3:c"; 1627 smi:display-hint "d"; 1628 } 1630 typedef Dot1agCfmMpDirection { 1631 type enumeration { 1632 enum down { 1633 value 1; 1634 description 1635 "Sends Continuity Check Messages away from the MAC Relay 1636 Entity."; 1637 } 1638 enum up { 1639 value 2; 1640 description 1641 "Sends Continuity Check Messages towards the MAC Relay 1642 Entity."; } 1643 } 1644 description 1645 "Indicates the direction in which the Maintenance 1646 association (MEP or MIP) faces on the bridge port."; 1648 reference 1649 "802.1ag clauses 12.14.6.3.2:c"; 1650 } 1652 typedef Dot1agCfmPortStatus { 1653 type enumeration { 1654 enum psNoPortStateTLV { 1655 value 0; 1656 description 1657 "Indicates either that no CCM has been received or 1658 that no port status TLV was present in the last 1659 CCM received."; 1660 } 1661 enum psBlocked { 1662 value 1; 1663 description 1664 "Ordinary data cannot pass freely through the port 1665 on which the remote MEP resides. Value of 1666 enableRmepDefect is equal to false."; 1667 } 1668 enum psUp { 1669 value 2; 1670 description 1671 "Ordinary data can pass freely through the port on which 1672 the remote MEP resides. Value of enableRmepDefect is 1673 equal to true."; 1674 } 1675 } 1676 description 1677 "An enumerated value from he Port Status TLV from the last 1678 CCM received from the last MEP. It indicates the ability 1679 of the Bridge Port on which the transmitting MEP resides 1680 to pass ordinary data, regardless of the status of the MAC 1681 (Table 21-10). 1683 NOTE: A 0 value is used for psNoPortStateTLV, so that 1684 additional code points can be added in a manner 1685 consistent with the Dot1agCfmInterfaceStatus textual 1686 convention."; 1687 reference 1688 "802.1ag clause 12.14.7.6.3:f, 20.19.3 and 21.5.4"; 1689 } 1691 typedef Dot1agCfmInterfaceStatus { 1692 type enumeration { 1693 enum isNoInterfaceStatusTLV { 1694 value 0; 1695 description 1696 "Indicates either that no CCM has been received or 1697 that no interface status TLV was present in the last 1698 CCM received."; 1699 } 1700 enum isUp { 1701 value 1; 1702 description 1703 "The interface is ready to pass packets."; 1704 } 1705 enum isDown { 1706 value 2; 1707 description 1708 "The interface cannot pass packets"; 1710 } 1711 enum isTesting { 1712 value 3; 1713 description 1714 "The interface is in some test mode."; 1715 } 1716 enum isUnknown { 1717 value 4; 1718 description 1719 "The interface status cannot be determined for some 1720 reason."; 1721 } 1722 enum isDormant { 1723 value 5; 1724 description 1725 "The interface is not in a state to pass packets but 1726 is in a pending state, waiting for some external 1727 event."; 1728 } 1729 enum isNotPresent { 1730 value 6; 1731 description 1732 "Some component of the interface is missing"; 1733 } 1734 enum isLowerLayerDown { 1735 value 7; 1736 description 1737 "The interface is down due to state of the lower 1738 layer interfaces"; 1739 } 1740 } 1741 description 1742 "An enumerated value from the Interface Status TLV from the 1743 last CCM received from the last MEP. It indicates the status 1744 of the Interface within which the MEP transmitting the CCM 1745 is configured, or the next lower Interface in the Interface 1746 Stack, if the MEP is not configured within an Interface. 1748 NOTE: A 0 value is used for isNoInterfaceStatusTLV, so that 1749 these code points can be kept consistent with new code 1750 points added to ifOperStatus in the IF-MIB."; 1751 reference 1752 "802.1ag clause 12.14.7.6.3:g, 20.19.4 and 21.5.5"; 1753 } 1755 typedef Dot1agCfmHighestDefectPri { 1756 type enumeration { 1757 enum none { 1758 value 0; 1759 description 1760 "no defects since FNG_RESET"; 1761 } 1762 enum defRDICCM { 1763 value 1; 1764 description 1765 "DefRDICCM"; 1766 } 1767 enum defMACstatus { 1768 value 2; 1769 description 1770 "DefMACstatus"; 1771 } 1772 enum defRemoteCCM { 1773 value 3; 1774 description 1775 "DefRemoteCCM"; 1776 } 1777 enum defErrorCCM { 1778 value 4; 1779 description 1780 "DefErrorCCM"; 1781 } 1782 enum defXconCCM { 1783 value 5; 1784 description 1785 "DefXconCCM"; 1786 } 1787 } 1788 description 1789 "An enumerated value, equal to the contents of the variable 1790 highestDefect (20.33.9 and Table 20-1), indicating the 1791 highest-priority defect that has been present since the MEP 1792 Fault Notification Generator State Machine was last in the 1793 FNG_RESET state, either: 1795 none(0) no defects since FNG_RESET 1796 defRDICCM(1) DefRDICCM 1797 defMACstatus(2) DefMACstatus 1798 defRemoteCCM(3) DefRemoteCCM 1799 defErrorCCM(4) DefErrorCCM 1800 defXconCCM(5) DefXconCCM 1802 The value 0 is used for no defects so that additional higher 1803 priority values can be added, if needed, at a later time, 1804 and so that these values correspond with those in 1805 Dot1agCfmLowestAlarmPri."; 1806 reference 1807 "802.1ag clause 20.1.2, 12.14.7.7.2:c and 20.33.9"; 1808 } 1810 typedef Dot1agCfmLowestAlarmPri { 1811 type enumeration { 1812 enum allDef { 1813 value 1; 1814 description 1815 "DefRDICCM, DefMACstatus, DefRemoteCCM, DefErrorCCM 1816 and DefXconCCM"; 1817 } 1818 enum macRemErrXcon { 1819 value 2; 1820 description 1821 "Only DefMACstatus, DefRemoteCCM, DefErrorCCM, and 1822 DefXconCCM (default)"; 1823 } 1824 enum remErrXcon { 1825 value 3; 1826 description 1827 "Only DefRemoteCCM, DefErrorCCM, and DefXconCCM"; 1828 } 1829 enum errXcon { 1830 value 4; 1831 description 1832 "Only DefErrorCCM and DefXconCCM"; 1833 } 1834 enum xcon { 1835 value 5; 1836 description 1837 "Only DefXconCCM"; 1838 } 1839 enum noXcon { 1840 value 6; 1841 description 1842 "No defects DefXcon or lower are to be reported"; 1843 } 1844 } 1845 description 1846 "An integer value specifying the lowest priority defect 1847 that is allowed to generate a Fault Alarm (20.9.5)"; 1848 reference 1849 "802.1ag clause 12.14.7.1.3:k and 20.9.5"; 1850 } 1851 typedef Dot1agCfmMepId { 1852 type uint32 { 1853 range "1..8191"; 1854 } 1855 description 1856 "Maintenance association End Point Identifier (MEPID): 1857 A small integer, unique over a given Maintenance 1858 Association, identifying a specific MEP."; 1859 reference 1860 "802.1ag clauses 3.18 and 19.2.1"; 1861 smi:display-hint "d"; 1862 } 1864 typedef Dot1agCfmMepIdOrZero { 1865 type uint32 { 1866 range "0..8191"; 1867 } 1868 description 1869 "Maintenance association End Point Identifier (MEPID): 1870 A small integer, unique over a given Maintenance 1871 Association, identifying a specific MEP. 1873 The special value 0 is allowed to indicate special cases, 1874 for example that no MEPID is configured. 1876 Whenever an object is defined with this SYNTAX, then the 1877 DESCRIPTION clause of such an object MUST specify what the 1878 special value of 0 means."; 1879 reference 1880 "802.1ag clause 19.2.1"; 1881 smi:display-hint "d"; 1882 } 1884 typedef Dot1agCfmMhfCreation { 1885 type enumeration { 1886 enum defMHFnone { 1887 value 1; 1888 description 1889 "No MHFs can be created for this VID."; 1890 } 1891 enum defMHFdefault { 1892 value 2; 1893 description 1894 "MHFs can be created on this VID on any Bridge port 1895 through which this VID can pass."; 1896 } 1897 enum defMHFexplicit { 1898 value 3; 1899 description 1900 "MHFs can be created for this VID only on Bridge ports 1901 through which this VID can pass, and only if a MEP is 1902 created at some lower MD Level."; 1903 } 1904 enum defMHFdefer { 1905 value 4; 1906 description 1907 "The creation of MHFs is determined by the corresponding 1908 Maintenance Domain variable 1909 (dot1agCfmMaCompMhfCreation)."; 1910 } 1911 } 1912 description 1913 "Indicates if the Management Entity can create MHFs."; 1914 reference 1915 "802.1ag clause 12.14.5.1.3:c and 22.2.3"; 1916 } 1918 typedef Dot1agCfmIdPermission { 1919 type enumeration { 1920 enum sendIdNone { 1921 value 1; 1922 description 1923 "The Sender ID TLV is not to be sent."; 1924 } 1925 enum sendIdChassis { 1926 value 2; 1927 description 1928 "The Chassis ID Length, Chassis ID Subtype, and Chassis 1929 ID fields of the Sender ID TLV are to be sent."; 1930 } 1931 enum sendIdManage { 1932 value 3; 1933 description 1934 "The Management Address Length and Management Address 1935 of the Sender ID TLV are to be sent."; 1936 } 1937 enum sendIdChassisManage { 1938 value 4; 1939 description 1940 "The Chassis ID Length, Chassis ID Subtype, Chassis ID, 1941 Management Address Length and Management Address 1942 fields are all to be sent."; 1943 } 1944 enum sendIdDefer { 1945 value 5; 1946 description 1947 "The contents of the Sender ID TLV are determined by 1948 the corresponding Maintenance Domain variable 1949 (dot1agCfmMaCompIdPermission)."; 1950 } 1951 } 1952 description 1953 "Indicates what, if anything, is to be included in the Sender 1954 ID TLV transmitted in CCMs, LBMs, LTMs, and LTRs."; 1955 reference 1956 "802.1ag clause 12.14.6.1.3:d and 21.5.3"; 1957 } 1959 typedef Dot1agCfmCcmInterval { 1960 type enumeration { 1961 enum intervalInvalid { 1962 value 0; 1963 description 1964 "No CCMs are sent (disabled)."; 1965 } 1966 enum interval300Hz { 1967 value 1; 1968 description 1969 "CCMs are sent every 3 1/3 milliseconds (300Hz)."; 1970 } 1971 enum interval10ms { 1972 value 2; 1973 description 1974 "CCMs are sent every 10 milliseconds."; 1975 } 1976 enum interval100ms { 1977 value 3; 1978 description 1979 "CCMs are sent every 100 milliseconds."; 1980 } 1981 enum interval1s { 1982 value 4; 1983 description 1984 "CCMs are sent every 1 second."; 1985 } 1986 enum interval10s { 1987 value 5; 1988 description 1989 "CCMs are sent every 10 seconds."; 1990 } 1991 enum interval1min { 1992 value 6; 1993 description 1994 "CCMs are sent every minute."; 1995 } 1996 enum interval10min { 1997 value 7; 1998 description 1999 "CCMs are sent every 10 minutes."; 2000 } 2001 } 2002 description 2003 "Indicates the interval at which CCMs are sent by a MEP. 2005 Note: enumerations start at zero to match the 'CCM Interval 2006 field' protocol field."; 2007 reference 2008 "802.1ag clauses 12.14.6.1.3:e, 20.8.1 and 21.6.1.3"; 2009 } 2011 typedef Dot1agCfmFngState { 2012 type enumeration { 2013 enum fngReset { 2014 value 1; 2015 description 2016 "No defect has been present since the 2017 dot1agCfmMepFngResetTime timer expired, or since the 2018 state machine was last reset."; 2019 } 2020 enum fngDefect { 2021 value 2; 2022 description 2023 "A defect is present, but not for a long enough time 2024 to be reported (dot1agCfmMepFngAlarmTime)."; 2025 } 2026 enum fngReportDefect { 2027 value 3; 2028 description 2029 "A momentary state during which the defect is reported 2030 by sending a dot1agCfmFaultAlarm notification, if that 2031 action is enabled."; 2032 } 2033 enum fngDefectReported { 2034 value 4; 2035 description 2036 "A defect is present, and some defect has been 2037 reported."; 2039 } 2040 enum fngDefectClearing { 2041 value 5; 2042 description 2043 "No defect is present, but the dot1agCfmMepFngResetTime 2044 timer has not yet expired."; 2045 } 2046 } 2047 description 2048 "Indicates the diferent states of the MEP Fault Notification 2049 Generator State Machine."; 2050 reference 2051 "802.1ag clause 12.14.7.1.3:f and 20.35"; 2052 } 2054 typedef Dot1agCfmRelayActionFieldValue { 2055 type enumeration { 2056 enum rlyHit { 2057 value 1; 2058 description 2059 "The MP.s Mac address matches the LTM target MAC 2060 address."; 2061 } 2062 enum rlyFdb { 2063 value 2; 2064 description 2065 "The egress port is determined by filter database."; 2066 } 2067 enum rlyMpdb { 2068 value 3; 2069 description 2070 "The egress port is determined by the MIP CCM database."; 2071 } 2072 } 2073 description 2074 "Possible values the Relay action field can take."; 2075 reference 2076 "802.1ag clauses 12.14.7.5.3:g, 20.36.2.5, 21.9.5, and 2077 Table 21-27"; 2078 } 2080 typedef Dot1agCfmIngressActionFieldValue { 2081 type enumeration { 2082 enum ingNoTlv { 2083 value 0; 2084 description 2085 "Ingress no TLV."; 2087 } 2088 enum ingOk { 2089 value 1; 2090 description 2091 "The target data frame would be passed through the 2092 bridge."; 2093 } 2094 enum ingDown { 2095 value 2; 2096 description 2097 "The bridge port.s MAC_operational parameter is false."; 2098 } 2099 enum ingBlocked { 2100 value 3; 2101 description 2102 "The target data from will not be forwarded due to the 2103 port is blocked."; 2104 } 2105 enum ingVid { 2106 value 4; 2107 description 2108 "The port is not in the LTM.s VID member set, and the 2109 target data frame would be filtered at the ingress."; 2110 } 2111 } 2112 description 2113 "Possible values returned in the ingress action field."; 2114 reference 2115 "802.1ag clauses 12.14.7.5.3:g, 20.36.2.6, 21.9.8.1, and 2116 Table 21-30"; 2117 } 2119 typedef Dot1agCfmEgressActionFieldValue { 2120 type enumeration { 2121 enum egrNoTlv { 2122 value 0; 2123 description 2124 "Egress no TLV."; 2125 } 2126 enum egrOK { 2127 value 1; 2128 description 2129 "The targeted data frame is forwarded."; 2130 } 2131 enum egrDown { 2132 value 2; 2133 description 2134 "The egress port.s MAC_Operational parameter is false."; 2135 } 2136 enum egrBlocked { 2137 value 3; 2138 description 2139 "The data frame is not passed through the egress port 2140 due to the port is blocked."; 2141 } 2142 enum egrVid { 2143 value 4; 2144 description 2145 "The port is not in the LTM.s VID member set, and the 2146 target data frame would be filtered at the ingress."; 2147 } 2148 } 2149 description 2150 "Possible values returned in the egress action field"; 2151 reference 2152 "802.1ag clauses 12.14.7.5.3:o, 20.36.2.10, 21.9.9.1, and 2153 Table 21-32"; 2154 } 2156 typedef Dot1agCfmRemoteMepState { 2157 type enumeration { 2158 enum rMepIdle { 2159 value 1; 2160 description 2161 "Momentary state during reset."; 2162 } 2163 enum rMepStart { 2164 value 2; 2165 description 2166 "The timer has not expired since the state machine 2167 was reset, and no valid CCM has yet been received."; 2168 } 2169 enum rMepFailed { 2170 value 3; 2171 description 2172 "The timer has expired, both since the state machine 2173 was reset, and since a valid CCM was received."; 2174 } 2175 enum rMepOk { 2176 value 4; 2177 description 2178 "The timer has not expired since a valid CCM was 2179 received."; 2180 } 2182 } 2183 description 2184 "Operational state of the remote MEP state machine. This 2185 state machine monitors the reception of valid CCMs from a 2186 remote MEP with a specific MEPID. It uses a timer that 2187 expires in 3.5 times the length of time indicated by the 2188 dot1agCfmMaNetCcmInterval object."; 2189 reference 2190 "802.1ag clauses 12.14.7.6.3:b, 20.22"; 2191 } 2193 typedef Dot1afCfmIndexIntegerNextFree { 2194 type uint32 { 2195 range "0..4294967295"; 2196 } 2197 description 2198 "An integer which may be used as a new Index in a table. 2200 The special value of 0 indicates that no more new entries 2201 can be created in the relevant table. 2203 When a MIB is used for configuration, an object with this 2204 SYNTAX always contains a legal value (if non-zero) for an 2205 index that is not currently used in the relevant table. The 2206 Command Generator (Network Management Application) reads 2207 this variable and uses the (non-zero) value read when 2208 creating a new row with an SNMP SET. When the SET is 2209 performed, the Command Responder (agent) must determine 2210 whether the value is indeed still unused; Two Network 2211 Management Applications may attempt to create a row 2212 (configuration entry) simultaneously and use the same value. 2213 If it is currently unused, the SET succeeds and the Command 2214 Responder (agent) changes the value of this object, 2215 according to an implementation-specific algorithm. 2216 If the value is in use, however, the SET fails. 2217 The Network Management Application must then re-read this 2218 variable to obtain a new usable value. 2220 An OBJECT-TYPE definition using this SYNTAX MUST specify the 2221 relevant table for which the object is providing this 2222 functionality."; 2223 } 2225 typedef Dot1agCfmMepDefects { 2226 type bits { 2227 bit bDefRDICCM { 2228 position 0; 2229 description 2230 "A remote MEP is reported the RDI bit in its last CCM."; 2231 } 2232 bit bDefMACstatus { 2233 position 1; 2234 description 2235 "Either some remote MEP is reporting its Interface 2236 Status TLV as not isUp, or all remote MEPs are 2237 reporting a Port Status TLV that contains some value 2238 other than psUp."; 2239 } 2240 bit bDefRemoteCCM { 2241 position 2; 2242 description 2243 "The MEP is not receiving valid CCMs from at least 2244 one of the remote MEPs."; 2245 } 2246 bit bDefErrorCCM { 2247 position 3; 2248 description 2249 "The MEP has received at least one invalid CCM whose 2250 CCM Interval has not yet timed out."; 2251 } 2252 bit bDefXconCCM { 2253 position 4; 2254 description 2255 "The MEP has received at least one CCM from either 2256 another MAID or a lower MD Level whose CCM Interval 2257 has not yet timed out."; 2258 } 2259 } 2260 description 2261 "A MEP can detect and report a number of defects, and 2262 multiple defects can be present at the same time."; 2263 reference 2264 "802.1ag clauses 12.14.7.1.3:o, 12.14.7.1.3:p, 12.14.7.1.3:q, 2265 12.14.7.1.3:r, and 12.14.7.1.3:s."; 2266 } 2268 typedef Dot1agCfmConfigErrors { 2269 type bits { 2270 bit cfmLeak { 2271 position 0; 2272 description 2273 "MA x is associated with a specific VID list, one or 2274 more of the VIDs in MA x can pass through the Bridge 2275 Port, no Down MEP is configured on any Bridge Port 2276 for MA x, and some other MA y, at a higher MD Level 2277 than MA x, and associated with at least one of the 2278 VID(s) also in MA x, does have a MEP configured on 2279 the Bridge Port."; } 2280 bit conflictingVids { 2281 position 1; 2282 description 2283 "MA x is associated with a specific VID list, an Up MEP 2284 is configured on MA x on the Bridge Port, and some 2285 other MA y, associated with at least one of the VID(s) 2286 also in MA x,also has an Up MEP configured on some 2287 Bridge Port."; } 2288 bit excessiveLevels { 2289 position 2; 2290 description 2291 "The number of different MD Levels at which MIPs are to 2292 be created on this port exceeds the Bridge's 2293 capabilities (see subclause 22.3)."; } 2294 bit overlappedLevels { 2295 position 3; 2296 description 2297 "A MEP is created for one VID at one MD Level, but a MEP 2298 is configured on another VID at that MD Level or 2299 higher, exceeding the Bridge's capabilities."; } 2300 } 2301 description 2302 "While making the MIP creation evaluation described in 2303 802.1ag clause 22.2.3, the management entity can encounter 2304 errors in the configuration."; 2306 reference 2307 "802.1ag clause 12.14.4.1.3:b and clauses 22.2.3 2308 and 22.2.4"; 2309 } 2311 typedef Dot1agCfmPbbComponentIdentifier { 2312 type uint32 { 2313 range "1..4294967295"; 2314 } 2315 description 2316 "A Provider Backbone Bridge (PBB) can comprise a number of 2317 components, each of which can be managed in a manner 2318 essentially equivalent to an 802.1Q bridge. In order to 2319 access these components easily, an index is used in a 2320 number of tables. If any two tables are indexed by 2321 Dot1agCfmPbbComponentIdentifier, then entries in those 2322 tables indexed by the same value of 2323 Dot1agCfmPbbComponentIdentifier correspond to the same 2324 component."; 2325 reference 2326 "802.1ag clause 17.5"; 2327 } 2329 container dot1agCfmStack { 2330 config false; 2331 description 2332 "It enables the network administrator to discover the 2333 information about the Maintenance Points configured 2334 on a port."; 2336 list dot1agCfmStackEntry { 2337 key "dot1agCfmStackifIndex dot1agCfmStackVlanIdOrNone 2338 dot1agCfmStackMdLevel dot1agCfmStackDirection"; 2339 description 2340 "The Stack table entry"; 2342 leaf dot1agCfmStackifIndex { 2343 type cfm:if-index; 2344 config false; 2345 description 2346 "This object represents the Bridge Port or aggregated 2347 port on which MEPs or MHFs might be configured. 2349 Upon a restart of the system, the system SHALL, if 2350 necessary, change the value of this variable, and 2351 rearrange the dot1agCfmStackTable, so that it indexes 2352 the entry in the interface table with the same value 2353 of ifAlias that it indexed before the system restart. 2354 If no such entry exists, then the system SHALL delete 2355 all entries in the dot1agCfmStackTable with the 2356 interface index."; 2357 reference 2358 "802.1ag clause 12.14.2.1.2:a"; 2359 } 2361 leaf dot1agCfmStackVlanIdOrNone { 2362 type cfm:VlanIdOrNone; 2363 config false; 2364 description 2365 "VLAN ID to which the MP is attached, or 0, if none."; 2366 reference 2367 "802.1ag clauses 12.14.2.1.2:d, 22.1.7"; 2368 } 2369 leaf dot1agCfmStackMdLevel { 2370 type cfm:Dot1agCfmMDLevel; 2371 config false; 2372 description 2373 "MD Level of the Maintenance Point."; 2374 reference 2375 "802.1ag clause 12.14.2.1.2:b"; 2376 } 2378 leaf dot1agCfmStackDirection { 2379 type cfm:Dot1agCfmMpDirection; 2380 config false; 2381 description 2382 "Direction in which the MP faces on the Bridge Port"; 2383 reference 2384 "802.1ag clause 12.14.2.1.2:c"; 2385 } 2387 leaf dot1agCfmStackMdIndex { 2388 type uint32; 2389 config false; 2390 description 2391 "The index of the Maintenance Domain in the 2392 dot1agCfmMdTable to which the MP is associated, 2393 or 0, if none."; 2394 reference 2395 "802.1ag clause 12.14.2.1.3:b"; 2396 } 2398 leaf dot1agCfmStackMaIndex { 2399 type uint32; 2400 config false; 2401 description 2402 "The index of the MA in the dot1agCfmMaNetTable and 2403 dot1agCfmMaCompTable to which the MP is associated, 2404 or 0, if none."; 2405 reference 2406 "802.1ag clause 12.14.2.1.3:c"; 2407 } 2409 leaf dot1agCfmStackMepId { 2410 type cfm:Dot1agCfmMepIdOrZero; 2411 config false; 2412 description 2413 "If an MEP is configured, the MEPID, else 0"; 2414 reference 2415 "802.1ag clause 12.14.2.1.3:d"; 2417 } 2419 leaf dot1agCfmStackMacAddress { 2420 type yang:mac-address; 2421 config false; 2422 description 2423 "MAC address of the MP."; 2424 reference 2425 "802.1ag clause 12.14.2.1.3:e"; 2426 } 2427 } 2428 } 2430 container dot1agCfmDefaultMd { 2431 description 2432 "Interface configuration parameters."; 2434 leaf dot1agCfmDefaultMdDefLevel { 2435 type cfm:Dot1agCfmMDLevel; 2436 description 2437 "A value indicating the MD Level at which MHFs are to be 2438 created, and Sender ID TLV transmission by those MHFs is 2439 to be controlled, for each dot1agCfmDefaultMdEntry whose 2440 dot1agCfmDefaultMdLevel object contains the value -1. 2442 After this initialization, this object needs to be 2443 persistent upon reboot or restart of a device."; 2444 reference 2445 "802.1ag clause 12.14.3.1.3:c, 12.14.3.2.2:b"; 2446 } 2448 leaf dot1agCfmDefaultMdDefMhfCreation { 2449 type cfm:Dot1agCfmMhfCreation; 2450 description 2451 "A value indicating if the Management entity can create 2452 MHFs (MIP Half Function) for the VID, for each 2453 dot1agCfmDefaultMdEntry whose 2454 dot1agCfmDefaultMdMhfCreation 2455 object contains the value defMHFdefer. Since, in this 2456 variable, there is no encompassing Maintenance Domain, 2457 the value defMHFdefer is not allowed. 2459 After this initialization, this object needs to be 2460 persistent upon reboot or restart of a device."; 2461 reference 2462 "802.1ag clause 12.14.3.1.3:d"; 2463 } 2464 leaf dot1agCfmDefaultMdDefIdPermission { 2465 type cfm:Dot1agCfmIdPermission; 2466 description 2467 "Enumerated value indicating what, if anything, is to be 2468 included in the Sender ID TLV (21.5.3) transmitted by 2469 MHFs created by the Default Maintenance Domain, for each 2470 dot1agCfmDefaultMdEntry whose 2471 dot1agCfmDefaultMdIdPermission object contains the value 2472 sendIdDefer. Since, in this variable, there is no 2473 encompassing Maintenance Domain, the value sendIdDefer 2474 is not allowed. 2476 After this initialization, this object needs to be 2477 persistent upon reboot or restart of a device."; 2478 reference 2479 "802.1ag clause 12.14.3.1.3:e"; 2480 } 2482 list dot1agCfmDefaultMdEntry { 2484 key "dot1agCfmDefaultMdComponentId 2485 dot1agCfmDefaultMdPrimaryVid"; 2486 description 2487 "The Default MD Level table entry."; 2489 leaf dot1agCfmDefaultMdComponentId { 2490 type cfm:Dot1agCfmPbbComponentIdentifier; 2491 description 2492 "The bridge component within the system to which 2493 the information in this dot1agCfmDefaultMdEntry 2494 applies. If the system is not a Bridge, or if only 2495 one component is present in the Bridge, then this 2496 variable (index) must be equal to 1."; 2497 reference 2498 "802.1ag clause 17.5"; 2499 } 2501 leaf dot1agCfmDefaultMdPrimaryVid { 2502 type cfm:VlanId; 2503 description 2504 "The Primary VID of the VLAN to which this entry's 2505 objects apply."; 2506 } 2508 leaf dot1agCfmDefaultMdStatus { 2509 type boolean; 2510 config false; 2511 description 2512 "State of this Default MD Level table entry. True if 2513 there is no entry in the Maintenance Association 2514 table defining an MA for the same VLAN ID and MD 2515 Level as this table's entry, and on which MA an Up 2516 MEP is defined, else false."; 2517 reference 2518 "802.1ag clause 12.14.3.1.3:b"; 2519 } 2521 leaf dot1agCfmDefaultMdLevel { 2522 type cfm:Dot1agCfmMDLevelOrNone; 2523 description 2524 "A value indicating the MD Level at which MHFs are to 2525 be created, and Sender ID TLV transmission by those 2526 MHFs is to be controlled, for the VLAN to which this 2527 entry's objects apply. If this object has the value 2528 -1, the MD Level for MHF creation for this VLAN is 2529 controlled by dot1agCfmDefaultMdDefLevel."; 2530 reference 2531 "802.1ag clause 12.14.3.1.3:c, 12.14.3.2.2:b"; 2532 } 2534 leaf dot1agCfmDefaultMdMhfCreation { 2535 type cfm:Dot1agCfmMhfCreation; 2536 description 2537 "A value indicating if the Management entity can 2538 create MHFs (MIP Half Function) for this VID at 2539 this MD Level. If this object has the value 2540 defMHFdefer, MHF creation for this VLAN 2541 is controlled by dot1agCfmDefaultMdDefMhfCreation. 2543 The value of this variable is meaningless if the 2544 values of dot1agCfmDefaultMdStatus is false."; 2545 reference 2546 "802.1ag clause 12.14.3.1.3:d"; 2547 } 2549 leaf dot1agCfmDefaultMdIdPermission { 2550 type cfm:Dot1agCfmIdPermission; 2551 description 2552 "Enumerated value indicating what, if anything, is to 2553 be included in the Sender ID TLV (21.5.3) 2554 transmitted by MHFs created by the Default 2555 Maintenance Domain. If this object has the value 2556 sendIdDefer, Sender ID TLV transmission for this VLAN 2557 is controlled by 2558 dot1agCfmDefaultMdDefIdPermission. 2560 The value of this variable is meaningless if the 2561 values of dot1agCfmDefaultMdStatus is false."; 2562 reference 2563 "802.1ag clause 12.14.3.1.3:e"; 2564 } 2565 } 2566 } 2568 container dot1agCfmVlan { 2569 description 2570 "It contains the association between VID and VLAN."; 2572 list dot1agCfmVlanEntry { 2574 key "dot1agCfmVlanComponentId dot1agCfmVlanVid"; 2575 description 2576 "The VLAN table entry."; 2578 leaf dot1agCfmVlanComponentId { 2579 type cfm:Dot1agCfmPbbComponentIdentifier; 2580 description 2581 "The bridge component within the system to which the 2582 information in this dot1agCfmVlanEntry applies. 2583 If the system is not a Bridge, or if only one 2584 component is present in the Bridge, then 2585 this variable (index) must be equal to 1."; 2586 reference 2587 "802.1ag clause 17.5"; 2588 } 2590 leaf dot1agCfmVlanVid { 2591 type cfm:VlanId; 2592 description 2593 "This is a VLAN ID belonging to a VLAN that is 2594 associated with more than one VLAN ID, and this 2595 is not the Primary VID of the VLAN."; 2596 } 2598 leaf dot1agCfmVlanPrimaryVid { 2599 type cfm:VlanId; 2600 description 2601 "This is the Primary VLAN ID of the VLAN with which 2602 this entry's dot1agCfmVlanVid is associated. This 2603 value must not equal the value of dot1agCfmVlanVid."; 2604 } 2606 leaf dot1agCfmVlanRowStatus { 2607 type cfm:RowStatus; 2608 description 2609 "The status of the row. 2611 The writable columns in a row can not be changed if 2612 the row is active. All columns must have a valid 2613 value before a row can be activated."; 2614 } 2615 } 2616 } 2618 container dot1agCfmConfigErrorList { 2619 config false; 2620 description 2621 "The CFM Configuration Error List provides a list of 2622 Interfaces and VIDs that are incorrectly configured."; 2624 list dot1agCfmConfigErrorListEntry { 2626 key "dot1agCfmConfigErrorListVid 2627 dot1agCfmConfigErrorListIfIndex"; 2628 description 2629 "The Config Error List Table entry"; 2631 leaf dot1agCfmConfigErrorListVid { 2632 type cfm:VlanId; 2633 description 2634 "The VLAN ID of the VLAN with interfaces in error."; 2635 reference 2636 "802.1ag Clause 12.14.4.1.2:a"; 2637 } 2639 leaf dot1agCfmConfigErrorListIfIndex { 2640 type cfm:if-index; 2641 description 2642 "This object is the IfIndex of the interface. 2644 Upon a restart of the system, the system SHALL, 2645 if necessary, change the value of this variable 2646 so that it indexes the entry in the interface 2647 table with the same value of ifAlias that it indexed 2648 before the system restart. If no such entry exists, 2649 then the system SHALL delete any entries in 2650 dot1agCfmConfigErrorListTable indexed by that 2651 InterfaceIndex value."; 2652 reference 2653 "802.1ag clause 12.14.4.1.2:b"; 2654 } 2656 leaf dot1agCfmConfigErrorListErrorType { 2657 type cfm:Dot1agCfmConfigErrors; 2658 description 2659 "A vector of Boolean error conditions from 22.2.4, 2660 any of which may be true: 2662 0) CFMleak; 2663 1) ConflictingVids; 2664 2) ExcessiveLevels; 2665 3) OverlappedLevels."; 2666 reference 2667 "802.1ag clause 12.14.4.1.3:b"; 2668 } 2669 } 2670 } 2672 container dot1agCfmMd { 2673 description 2674 "A Maintenance Domain is described in 802.1ag (3.21) as the 2675 network or the part of the network for which faults in 2676 connectivity are to be managed. The boundary of a Maintenance 2677 Domain is defined by a set of DSAPs, each of which can become 2678 a point of connectivity to a service instance."; 2680 leaf dot1agCfmMdTableNextIndex { 2681 type cfm:Dot1afCfmIndexIntegerNextFree; 2682 config false; 2683 description 2684 "This object contains an unused value for dot1agCfmMdIndex 2685 in the dot1agCfmMdTable, or a zero to indicate that 2686 none exist."; 2687 } 2689 list dot1agCfmMdEntry { 2691 key "dot1agCfmMdIndex"; 2692 description 2693 "The Maintenance Domain table entry. This entry is 2694 not lost upon reboot. It is backed up by stable 2695 storage."; 2697 leaf dot1agCfmMdIndex { 2698 type uint32 { 2699 range "1..4294967295"; 2700 } 2701 description 2702 "The index to the Maintenance Domain table. 2704 dot1agCfmMdTableNextIndex needs to be inspected to 2705 find an available index for row-creation. 2707 Referential integrity is required, i.e., the index 2708 needs to be persistent upon a reboot or restart of 2709 a device. The index can never be reused for other 2710 Maintenance Domain. The index value should keep 2711 increasing up to the time that they wrap around. 2712 This is to facilitate access control based on OID."; 2713 } 2715 leaf dot1agCfmMdFormat { 2716 type cfm:Dot1agCfmMaintDomainNameType; 2717 description 2718 "The type (and thereby format) of the Maintenance 2719 Domain Name."; 2720 reference 2721 "802.1ag clause 21.6.5.1"; 2722 } 2724 leaf dot1agCfmMdName { 2725 type cfm:Dot1agCfmMaintDomainName; 2726 description 2727 "The Maintenance Domain name. The type/format of 2728 this object is determined by the value of the 2729 dot1agCfmMdNameType object. 2731 Each Maintenance Domain has unique name amongst 2732 all those used or available to a service provider 2733 or operator. It facilitates easy identification 2734 of administrative responsibility for each Maintenance 2735 Domain. 2737 Clause 3.23 defines a Maintenance Domain name as the 2738 identifier, unique over the domain for which CFM is to 2739 protect against accidental concatenation of Service 2740 Instances, of a particular Maintenance Domain."; 2741 reference 2742 "802.1ag clauses 3.23, 12.14.5, and 21.6.5.3"; 2744 } 2746 leaf dot1agCfmMdMdLevel { 2747 type cfm:Dot1agCfmMDLevel; 2748 description 2749 "The Maintenance Domain Level."; 2750 reference 2751 "802.1ag clause 12.14.5.1.3:b"; 2752 } 2754 leaf dot1agCfmMdMhfCreation { 2755 type cfm:Dot1agCfmMhfCreation; 2756 description 2757 "Enumerated value indicating whether the management 2758 entity can create MHFs (MIP Half Function) for 2759 this Maintenance Domain. Since, in this variable, 2760 there is no encompassing Maintenance Domain, 2761 the value defMHFdefer is not allowed."; 2762 reference 2763 "802.1ag clause 12.14.5.1.3:c"; 2764 } 2766 leaf dot1agCfmMdMhfIdPermission { 2767 type cfm:Dot1agCfmIdPermission; 2768 description 2769 "Enumerated value indicating what, if anything, is to 2770 be included in the Sender ID TLV (21.5.3) transmitted 2771 by MPs configured in this Maintenance Domain. Since, 2772 in this variable, there is no encompassing Maintenance 2773 Domain, the value sendIdDefer is not allowed."; 2774 reference 2775 "802.1ag clause 12.14.5.1.3:d"; 2776 } 2778 leaf dot1agCfmMdMaNextIndex { 2779 type cfm:Dot1afCfmIndexIntegerNextFree; 2780 config false; 2781 description 2782 "Value to be used as the index of the MA table entries, 2783 both the dot1agCfmMaNetTable and the 2784 dot1agCfmMaCompTable, for this Maintenance Domain 2785 when the management entity wants to create a new row 2786 in those tables."; 2787 } 2789 leaf dot1agCfmMdRowStatus { 2790 type cfm:RowStatus; 2791 description 2792 "The status of the row. 2794 The writable columns in a row can not be changed if 2795 the row is active. All columns must have a valid 2796 value before a row can be activated."; 2797 } 2798 } 2799 } 2801 container dot1agCfmMa { 2802 description 2803 "The Maintenance Association contains the VLAN ID that 2804 it wants to monitor."; 2806 list dot1agCfmMaNetEntry { 2808 key "dot1agCfmMdIndex dot1agCfmMaIndex"; 2809 description 2810 "The MA table entry."; 2812 leaf dot1agCfmMdIndex { 2813 type leafref { 2814 path "/cfm:dot1agCfmMd/cfm:dot1agCfmMdEntry/cfm" 2815 +":dot1agCfmMdIndex"; 2816 } 2817 description 2818 "Automagically generated leafref leaf."; 2819 } 2821 leaf dot1agCfmMaIndex { 2822 type uint32 { 2823 range "1..4294967295"; 2824 } 2825 description 2826 "Index of the MA table dot1agCfmMdMaNextIndex needs to 2827 be inspected to find an available index for 2828 row-creation."; 2829 } 2831 leaf dot1agCfmMaNetFormat { 2832 type cfm:Dot1agCfmMaintAssocNameType; 2833 description 2834 "The type (and thereby format) of the Maintenance 2835 Association Name."; 2836 reference 2837 "802.1ag clauses 21.6.5.4"; 2839 } 2841 leaf dot1agCfmMaNetName { 2842 type cfm:Dot1agCfmMaintAssocName; 2843 description 2844 "The Short Maintenance Association name. The 2845 type/format of this object is determined by the 2846 value of the dot1agCfmMaNetNameType object. 2847 This name must be unique within a maintenance 2848 domain."; 2849 reference 2850 "802.1ag clauses 21.6.5.6, and Table 21-20"; 2851 } 2853 leaf dot1agCfmMaNetCcmInterval { 2854 type cfm:Dot1agCfmCcmInterval; 2855 description 2856 "Interval between CCM transmissions to be used by 2857 all MEPs in the MA."; 2858 reference 2859 "802.1ag clause 12.14.6.1.3:e"; 2860 } 2862 leaf dot1agCfmMaNetRowStatus { 2863 type cfm:RowStatus; 2864 description 2865 "The status of the row. 2867 The writable columns in a row can not be changed 2868 if the row is active. All columns must have a valid 2869 value before a row can be activated."; 2870 } 2871 } 2873 list dot1agCfmMaCompEntry { 2875 key "dot1agCfmMaComponentId dot1agCfmMdIndex 2876 dot1agCfmMaIndex"; 2877 description 2878 "The MA table entry."; 2880 leaf dot1agCfmMdIndex { 2881 type leafref { 2882 path "/cfm:dot1agCfmMd/cfm:dot1agCfmMdEntry/cfm" 2883 +":dot1agCfmMdIndex"; 2884 } 2885 description 2886 "Automagically generated leafref leaf."; 2887 } 2888 leaf dot1agCfmMaIndex { 2889 type leafref { 2890 path "/cfm:dot1agCfmMa/cfm:dot1agCfmMaNetEntry/cfm" 2891 +":dot1agCfmMaIndex"; 2892 } 2893 description 2894 "Automagically generated leafref leaf."; 2895 } 2897 leaf dot1agCfmMaComponentId { 2898 type cfm:Dot1agCfmPbbComponentIdentifier; 2899 description 2900 "The bridge component within the system to which 2901 the information in this dot1agCfmMaCompEntry applies. 2902 If the system is not a Bridge, or if only one 2903 component is present in the Bridge, then this 2904 variable (index) must be equal to 1."; 2905 reference 2906 "802.1ag clause 17.5"; 2907 } 2909 leaf dot1agCfmMaCompPrimaryVlanId { 2910 type cfm:VlanIdOrNone; 2911 description 2912 "The Primary VLAN ID with which the Maintenance 2913 Association is associated, or 0 if the MA is not 2914 attached to any VID. If the MA is associated with 2915 more than one VID, the dot1agCfmVlanTable lists 2916 them."; 2917 reference 2918 "802.1ag clause 12.14.6.1.3:b"; 2919 } 2921 leaf dot1agCfmMaCompMhfCreation { 2922 type cfm:Dot1agCfmMhfCreation; 2923 description 2924 "Indicates if the Management entity can create MHFs 2925 (MIP Half Function) for this MA."; 2926 reference 2927 "802.1ag clause 12.14.6.1.3:c"; 2928 } 2930 leaf dot1agCfmMaCompIdPermission { 2931 type cfm:Dot1agCfmIdPermission; 2932 description 2933 "Enumerated value indicating what, if anything, is 2934 to be included in the Sender ID TLV (21.5.3) 2935 transmitted by MPs configured in this MA."; 2936 reference 2937 "802.1ag clause 12.14.6.1.3:d"; 2938 } 2940 leaf dot1agCfmMaCompNumberOfVids { 2941 type uint32; 2942 config false; 2943 description 2944 "The number of VIDs associated with the MA."; 2945 reference 2946 "802.1ag clause 12.14.6.1.3:b"; 2947 } 2949 leaf dot1agCfmMaCompRowStatus { 2950 type cfm:RowStatus; 2951 description 2952 "The status of the row. 2954 The writable columns in a row can not be changed if 2955 the row is active. All columns must have a valid 2956 value before a row can be activated."; 2957 } 2958 } 2960 list dot1agCfmMaMepListEntry { 2962 key "dot1agCfmMdIndex dot1agCfmMaIndex 2963 dot1agCfmMaMepListIdentifier"; 2964 description 2965 "The known MEPS table entry."; 2967 leaf dot1agCfmMdIndex { 2968 type leafref { 2969 path "/cfm:dot1agCfmMd/cfm:dot1agCfmMdEntry/cfm" 2970 +":dot1agCfmMdIndex"; 2971 } 2972 description 2973 "Automagically generated leafref leaf."; 2974 } 2975 leaf dot1agCfmMaIndex { 2976 type leafref { 2977 path "/cfm:dot1agCfmMa/cfm:dot1agCfmMaNetEntry/cfm" 2978 +":dot1agCfmMaIndex"; 2980 } 2981 description 2982 "Automagically generated leafref leaf."; 2983 } 2985 leaf dot1agCfmMaMepListIdentifier { 2986 type cfm:Dot1agCfmMepId; 2987 description 2988 "MEPID"; 2989 reference 2990 "802.1ag clause 12.14.6.1.3:g"; 2991 } 2993 leaf dot1agCfmMaMepListRowStatus { 2994 type cfm:RowStatus; 2995 description 2996 "The status of the row. Read SNMPv2-TC (RFC1903) 2997 for an explanation of the possible values this 2998 object can take."; 2999 } 3000 } 3001 } 3003 container dot1agCfmMep { 3004 description 3005 "The MEP container contains the configuration for a 3006 Maintenance point, for example, the direction, ID, 3007 VLAN ID and so on."; 3009 list dot1agCfmMepEntry { 3011 key "dot1agCfmMdIndex dot1agCfmMaIndex 3012 dot1agCfmMepIdentifier"; 3013 description 3014 "The MEP table entry"; 3016 leaf dot1agCfmMdIndex { 3017 type leafref { 3018 path "/cfm:dot1agCfmMd/cfm:dot1agCfmMdEntry/cfm" 3019 +":dot1agCfmMdIndex"; 3020 } 3021 description 3022 "Automagically generated leafref leaf."; 3023 } 3024 leaf dot1agCfmMaIndex { 3025 type leafref { 3026 path "/cfm:dot1agCfmMa/cfm:dot1agCfmMaNetEntry/cfm" 3027 +":dot1agCfmMaIndex"; 3028 } 3029 description 3030 "Automagically generated leafref leaf."; 3031 } 3033 leaf dot1agCfmMepIdentifier { 3034 type cfm:Dot1agCfmMepId; 3035 description 3036 "Integer that is unique among all the MEPs in the 3037 same MA. Other definition is: a small integer, 3038 unique over a given Maintenance Association, 3039 identifying a specific Maintenance association 3040 End Point (3.18). 3042 MEP Identifier is also known as the MEPID."; 3043 reference 3044 "802.1ag clauses 3.18, 19.2 and 12.14.7"; 3045 } 3047 leaf dot1agCfmMepIfIndex { 3048 type cfm:if-index-or-zero; 3049 description 3050 "This object is the interface index of the interface 3051 either a bridge port, or an aggregated IEEE 802.1 3052 link within a bridge port, to which the MEP is 3053 attached. 3055 Upon a restart of the system, the system SHALL, if 3056 necessary, change the value of this variable so that 3057 it indexes the entry in the interface table with the 3058 same value of ifAlias that it indexed before the 3059 system restart. If no such entry exists, then the 3060 system SHALL set this variable to 0."; 3061 reference 3062 "802.1ag clause 12.14.7.1.3:b"; 3063 } 3065 leaf dot1agCfmMepDirection { 3066 type cfm:Dot1agCfmMpDirection; 3067 description 3068 "The direction in which the MEP faces on the Bridge 3069 port."; 3070 reference 3071 "802.1ag clauses 12.14.7.1.3:c and 19.2"; 3072 } 3073 leaf dot1agCfmMepPrimaryVid { 3074 type uint32 { 3075 range "0..16777215"; 3076 } 3077 description 3078 "An integer indicating the Primary VID of the MEP, 3079 always one of the VIDs assigned to the MEP's MA. 3080 The value 0 indicates that either the Primary VID 3081 is that of the MEP's MA, or that the MEP's MA is 3082 associated with no VID."; 3083 reference 3084 "802.1ag clauses 12.14.7.1.3:d"; 3085 } 3087 leaf dot1agCfmMepActive { 3088 type boolean; 3089 description 3090 "Administrative state of the MEP 3092 A Boolean indicating the administrative state of 3093 the MEP. 3095 True indicates that the MEP is to function normally, 3096 and false that it is to cease functioning."; 3097 reference 3098 "802.1ag clauses 12.14.7.1.3:e and 20.9.1"; 3099 } 3101 leaf dot1agCfmMepFngState { 3102 type cfm:Dot1agCfmFngState; 3103 config false; 3104 description 3105 "Current state of the MEP Fault Notification Generator 3106 State Machine."; 3107 reference 3108 "802.1ag clauses 12.14.7.1.3:f and 20.35"; 3109 } 3111 leaf dot1agCfmMepCciEnabled { 3112 type boolean; 3113 description 3114 "If set to true, the MEP will generate CCM messages."; 3115 reference 3116 "802.1ag clauses 12.14.7.1.3:g and 20.10.1"; 3117 } 3119 leaf dot1agCfmMepCcmLtmPriority { 3120 type uint32 { 3121 range "0..7"; 3122 } 3123 description 3124 "The priority value for CCMs and LTMs transmitted by 3125 the MEP. Default Value is the highest priority value 3126 allowed to pass through the bridge port for any of 3127 this MEPs VIDs. The management entity can obtain the 3128 default value for this variable from the priority 3129 regeneration table by extracting the highest priority 3130 value in this table on this MEPs bridge port. 3131 (1 is lowest, then 2, then 0, then 3-7)."; 3132 reference 3133 "802.1ag clause 12.14.7.1.3:h"; 3134 } 3136 leaf dot1agCfmMepMacAddress { 3137 type yang:mac-address; 3138 config false; 3139 description 3140 "MAC address of the MEP."; 3141 reference 3142 "802.1ag clause 12.14.7.1.3:i and 19.4"; 3143 } 3145 leaf dot1agCfmMepLowPrDef { 3146 type cfm:Dot1agCfmLowestAlarmPri; 3147 description 3148 "An integer value specifying the lowest priority 3149 defect that is allowed to generate fault alarm."; 3150 reference 3151 "802.1ag clause 12.14.7.1.3:k and 20.9.5 and Table 3152 20-1"; 3153 } 3155 leaf dot1agCfmMepFngAlarmTime { 3156 type cfm:TimeInterval { 3157 range "250..1000"; 3158 } 3159 description 3160 "The time that defects must be present before a Fault 3161 Alarm is issued (fngAlarmTime. 20.33.3) 3162 (default 2.5s)."; 3163 reference 3164 "802.1ag clauses 12.14.7.1.3:l and 20.33.3"; 3165 } 3166 leaf dot1agCfmMepFngResetTime { 3167 type cfm:TimeInterval { 3168 range "250..1000"; 3169 } 3170 description 3171 "The time that defects must be absent before resetting 3172 a Fault Alarm (fngResetTime, 20.33.4) (default 10s)."; 3173 reference 3174 "802.1ag clauses 12.14.7.1.3:m and 20.33.4"; 3175 } 3177 leaf dot1agCfmMepHighestPrDefect { 3178 type cfm:Dot1agCfmHighestDefectPri; 3179 config false; 3180 description 3181 "The highest priority defect that has been present 3182 since the MEPs Fault Notification Generator State 3183 Machine was last in the FNG_RESET state."; 3184 reference 3185 "802.1ag clause 12.14.7.1.3:n 20.33.9 and Table 21-1"; 3186 } 3188 leaf dot1agCfmMepDefects { 3189 type cfm:Dot1agCfmMepDefects; 3190 config false; 3191 description 3192 "A vector of Boolean error conditions from Table 20-1, 3193 any of which may be true: 3195 DefRDICCM(0) 3196 DefMACstatus(1) 3197 DefRemoteCCM(2) 3198 DefErrorCCM(3) 3199 DefXconCCM(4)"; 3200 reference 3201 ".1ag clauses 12.14.7.1.3:o, 12.14.7.1.3:p, 3202 12.14.7.1.3:q, 12.14.7.1.3:r, 12.14.7.1.3:s, 3203 20.21.3, 20.23.3, 20.33.5, 20.33.6, 20.33.7."; 3204 } 3206 leaf dot1agCfmMepErrorCcmLastFailure { 3207 type binary { 3208 length "1..1522"; 3209 } 3210 config false; 3211 description 3212 "The last-received CCM that triggered an DefErrorCCM 3213 fault."; 3214 reference 3215 "802.1ag clauses 12.14.7.1.3:t and 20.21.2"; 3216 } 3218 leaf dot1agCfmMepXconCcmLastFailure { 3219 type binary { 3220 length "1..1522"; 3221 } 3222 config false; 3223 description 3224 "The last-received CCM that triggered a DefXconCCM 3225 fault."; 3226 reference 3227 "802.1ag clauses 12.14.7.1.3:u and 20.23.2"; 3228 } 3230 leaf dot1agCfmMepCcmSequenceErrors { 3231 type yang:counter32; 3232 config false; 3233 description 3234 "The total number of out-of-sequence CCMs received 3235 from all remote MEPs."; 3236 reference 3237 "802.1ag clauses 12.14.7.1.3:v and 20.16.12"; 3238 } 3240 leaf dot1agCfmMepCciSentCcms { 3241 type yang:counter32; 3242 config false; 3243 description 3244 "Total number of Continuity Check messages 3245 transmitted."; 3246 reference 3247 "802.1ag clauses 12.14.7.1.3:w and 20.10.2"; 3248 } 3250 leaf dot1agCfmMepNextLbmTransId { 3251 type uint32; 3252 config false; 3253 description 3254 "Next sequence number/transaction identifier to be 3255 sent in a Loopback message. This sequence number can 3256 be zero because it wraps around."; 3257 reference 3258 "802.1ag clauses 12.14.7.1.3:x and 20.28.2"; 3259 } 3260 leaf dot1agCfmMepLbrIn { 3261 type yang:counter32; 3262 config false; 3263 description 3264 "Total number of valid, in-order Loopback Replies 3265 received."; 3266 reference 3267 "802.1ag clause 12.14.7.1.3:y and 20.31.1"; 3268 } 3270 leaf dot1agCfmMepLbrInOutOfOrder { 3271 type yang:counter32; 3272 config false; 3273 description 3274 "The total number of valid, out-of-order Loopback 3275 Replies received."; 3276 reference 3277 "802.1ag clause 12.14.7.1.3:z and 20.31.1"; 3278 } 3280 leaf dot1agCfmMepLbrBadMsdu { 3281 type yang:counter32; 3282 config false; 3283 description 3284 "The total number of LBRs received whose 3285 mac_service_data_unit did not match (except for 3286 the OpCode) that of the corresponding LBM (20.2.3)."; 3287 reference 3288 "802.1ag clause 12.14.7.1.3:aa 20.2.3"; 3289 } 3291 leaf dot1agCfmMepLtmNextSeqNumber { 3292 type uint32; 3293 config false; 3294 description 3295 "Next transaction identifier/sequence number to be 3296 sent in a Linktrace message. This sequence number 3297 can be zero because it wraps around."; 3298 reference 3299 "802.1ag clause 12.14.7.1.3:ab and 20.36.1"; 3300 } 3302 leaf dot1agCfmMepUnexpLtrIn { 3303 type yang:counter32; 3304 config false; 3305 description 3306 "The total number of unexpected LTRs received."; 3307 reference 3308 "802.1ag clause 12.14.7.1.3:ac 20.39.1"; 3309 } 3311 leaf dot1agCfmMepLbrOut { 3312 type yang:counter32; 3313 config false; 3314 description 3315 "Total number of Loopback Replies transmitted."; 3316 reference 3317 "802.1ag clause 12.14.7.1.3:ad and 20.26.2"; 3318 } 3320 leaf dot1agCfmMepTransmitLbmStatus { 3321 type boolean; 3322 description 3323 "A Boolean flag set to true by the bridge port to 3324 indicate that another LBM may be transmitted."; 3325 } 3327 leaf dot1agCfmMepTransmitLbmDestMacAddress { 3328 type yang:mac-address; 3329 description 3330 "The Target MAC Address Field to be transmitted: 3331 A unicast destination MAC address. 3332 This address will be used if the value of the column 3333 dot1agCfmMepTransmitLbmDestIsMepId is 'false'."; 3334 reference 3335 "802.1ag clause 12.14.7.3.2:b"; 3336 } 3338 leaf dot1agCfmMepTransmitLbmDestMepId { 3339 type cfm:Dot1agCfmMepIdOrZero; 3340 description 3341 "The Maintenance association End Point Identifier of 3342 another MEP in the same Maintenance Association to 3343 which the LBM is to be sent. 3344 This address will be used if the value of the column 3345 dot1agCfmMepTransmitLbmDestIsMepId is 'true'."; 3346 reference 3347 "802.1ag clause 12.14.7.3.2:b"; 3348 } 3350 leaf dot1agCfmMepTransmitLbmDestIsMepId { 3351 type boolean; 3352 description 3353 "True indicates that MEPID of the target MEP is used 3354 for Loopback transmission. 3355 False indicates that unicast destination MAC address 3356 of the target MEP is used for Loopback transmission."; 3357 reference 3358 "802.1ag clause 12.14.7.3.2:b"; 3359 } 3361 leaf dot1agCfmMepTransmitLbmMessages { 3362 type int32 { 3363 range "1..1024"; 3364 } 3365 description 3366 "The number of Loopback messages to be transmitted."; 3367 reference 3368 "802.1ag clause 12.14.7.3.2:c"; 3369 } 3371 leaf dot1agCfmMepTransmitLbmDataTlv { 3372 type binary { 3373 length "0..1500"; 3374 } 3375 description 3376 "An arbitrary amount of data to be included in the 3377 Data TLV, if the Data TLV is selected to be sent."; 3378 reference 3379 "802.1ag clause 12.14.7.3.2:d"; 3380 } 3382 leaf dot1agCfmMepTransmitLbmVlanPriority { 3383 type int32 { 3384 range "0..7"; 3385 } 3386 description 3387 "Priority. 3 bit value to be used in the VLAN tag, 3388 if present in the transmitted frame. 3390 The default value is CCM priority."; 3391 reference 3392 "802.1ag clause 12.14.7.3.2:e"; 3393 } 3395 leaf dot1agCfmMepTransmitLbmVlanDropEnable { 3396 type boolean; 3397 description 3398 "Drop Enable bit value to be used in the VLAN tag, 3399 if present in the transmitted frame. 3401 For more information about VLAN Drop Enable, 3402 please check IEEE 802.1ad."; 3403 reference 3404 "802.1ag clause 12.14.7.3.2:e"; 3405 } 3407 leaf dot1agCfmMepTransmitLbmResultOK { 3408 type boolean; 3409 config false; 3410 description 3411 "Indicates the result of the operation: 3413 - true The Loopback Message(s) will be 3414 (or has been) sent. 3415 - false The Loopback Message(s) will not 3416 be sent."; 3417 reference 3418 "802.1ag clause 12.14.7.3.3:a"; 3419 } 3421 leaf dot1agCfmMepTransmitLbmSeqNumber { 3422 type uint32; 3423 config false; 3424 description 3425 "The Loopback Transaction Identifier 3426 (dot1agCfmMepNextLbmTransId) of the first LBM (to be) 3427 sent. 3428 The value returned is undefined if 3429 dot1agCfmMepTransmitLbmResultOK is false."; 3430 reference 3431 "802.1ag clause 12.14.7.3.3:a"; 3432 } 3434 leaf dot1agCfmMepTransmitLtmStatus { 3435 type boolean; 3436 config false; 3437 description 3438 "A Boolean flag set to true by the bridge port to 3439 indicate that another LTM may be transmitted. 3440 Reset to false by the MEP Linktrace Initiator 3441 State Machine."; 3442 } 3444 leaf dot1agCfmMepTransmitLtmFlags { 3445 type bits { 3446 bit useFDBonly { 3447 position 0; 3448 description 3449 "It is used for indicating if only bridge.s 3450 filter database is used for determining the 3451 egress port."; 3452 } 3453 } 3454 description 3455 "The flags field for LTMs transmitted by the MEP."; 3456 reference 3457 "802.1ag clause 12.14.7.4.2:b and 20.37.1"; 3458 } 3460 leaf dot1agCfmMepTransmitLtmTargetMacAddress { 3461 type yang:mac-address; 3462 description 3463 "The Target MAC Address Field to be transmitted: 3464 A unicast destination MAC address. 3465 This address will be used if the value of the column 3466 dot1agCfmMepTransmitLtmTargetIsMepId is 'false'."; 3467 reference 3468 "802.1ag clause 12.14.7.4.2:c"; 3469 } 3471 leaf dot1agCfmMepTransmitLtmTargetMepId { 3472 type cfm:Dot1agCfmMepIdOrZero; 3473 description 3474 "An indication of the Target MAC Address Field to be 3475 transmitted: 3476 The Maintenance association End Point Identifier of 3477 another MEP in the same Maintenance Association 3478 This address will be used if the value of the column 3479 dot1agCfmMepTransmitLtmTargetIsMepId is 'true'."; 3480 reference 3481 "802.1ag clause 12.14.7.4.2:c"; 3482 } 3484 leaf dot1agCfmMepTransmitLtmTargetIsMepId { 3485 type boolean; 3486 description 3487 "True indicates that MEPID of the target MEP is used 3488 for Linktrace transmission. 3489 False indicates that unicast destination MAC address 3490 of the target MEP is used for Loopback transmission."; 3491 reference 3492 "802.1ag clause 12.14.7.4.2:c"; 3493 } 3494 leaf dot1agCfmMepTransmitLtmTtl { 3495 type uint32 { 3496 range "0..255"; 3497 } 3498 description 3499 "The LTM TTL field. Default value, if not specified, 3500 is 64. The TTL field indicates the number of hops 3501 remaining to the LTM. Decremented by 1 by each 3502 Linktrace Responder that handles the LTM. The 3503 value returned in the LTR is one less than that 3504 received in the LTM. If the LTM TTL is 0 or 1, the 3505 LTM is not forwarded to the next hop, and if 0, no 3506 LTR is generated."; 3507 reference 3508 "802.1ag clause 12.14.7.4.2:d and 21.8.4"; 3509 } 3511 leaf dot1agCfmMepTransmitLtmResult { 3512 type boolean; 3513 config false; 3514 description 3515 "Indicates the result of the operation: 3517 - true The Linktrace Message will be (or has been) 3518 sent. 3519 - false The Linktrace Message will not be sent"; 3520 reference 3521 "802.1ag clause 12.14.7.4.3:a"; 3522 } 3524 leaf dot1agCfmMepTransmitLtmSeqNumber { 3525 type uint32; 3526 config false; 3527 description 3528 "The LTM Transaction Identifier 3529 (dot1agCfmMepLtmNextSeqNumber) of the LTM sent. 3530 The value returned is undefined if 3531 dot1agCfmMepTransmitLtmResult is false."; 3532 reference 3533 "802.1ag clause 12.14.7.4.3:a"; 3534 } 3536 leaf dot1agCfmMepTransmitLtmEgressIdentifier { 3537 type binary { 3538 length "8"; 3539 } 3540 description 3541 "Identifies the MEP Linktrace Initiator that is 3542 originating, or the Linktrace Responder that is 3543 forwarding, this LTM. The low-order six octets contain 3544 a 48-bit IEEE MAC address unique to the system in 3545 which the MEP Linktrace Initiator or Linktrace 3546 Responder resides. The high-order two octets contain 3547 a value sufficient to uniquely identify the MEP 3548 Linktrace Initiator or Linktrace Responder within 3549 that system. 3551 For most Bridges, the address of any MAC attached 3552 to the Bridge will suffice for the low-order six 3553 octets, and 0 for the high-order octets. In some 3554 situations, e.g., if multiple virtual Bridges 3555 utilizing emulated LANs are implemented in a single 3556 physical system, the high-order two octets can be used 3557 to differentiate among the transmitting entities. 3559 The value returned is undefined if 3560 dot1agCfmMepTransmitLtmResult is false."; 3561 reference 3562 "802.1ag clause 12.14.7.4.3:b and 21.8.8"; 3563 } 3565 leaf dot1agCfmMepRowStatus { 3566 type cfm:RowStatus; 3567 description 3568 "The status of the row. 3570 The writable columns in a row can not be changed if 3571 the row is active. All columns must have a valid 3572 value before a row can be activated."; 3573 } 3574 } 3576 list dot1agCfmLtrEntry { 3578 key "dot1agCfmMdIndex dot1agCfmMaIndex 3579 dot1agCfmMepIdentifier dot1agCfmLtrSeqNumber 3580 dot1agCfmLtrReceiveOrder"; 3581 description 3582 "The Linktrace Reply table entry."; 3584 leaf dot1agCfmMdIndex { 3585 type leafref { 3586 path "/cfm:dot1agCfmMd/cfm:dot1agCfmMdEntry/cfm" 3587 +":dot1agCfmMdIndex"; 3588 } 3589 description 3590 "Automagically generated leafref leaf."; 3591 } 3592 leaf dot1agCfmMaIndex { 3593 type leafref { 3594 path "/cfm:dot1agCfmMa/cfm:dot1agCfmMaNetEntry/cfm" 3595 +":dot1agCfmMaIndex"; 3596 } 3597 description 3598 "Automagically generated leafref leaf."; 3599 } 3600 leaf dot1agCfmMepIdentifier { 3601 type leafref { 3602 path "/cfm:dot1agCfmMep/cfm:dot1agCfmMepEntry/cfm" 3603 +":dot1agCfmMepIdentifier"; 3604 } 3605 description 3606 "Automagically generated leafref leaf."; 3607 } 3609 leaf dot1agCfmLtrSeqNumber { 3610 type uint32 { 3611 range "0..4294967295"; 3612 } 3613 description 3614 "Transaction identifier/Sequence number returned by 3615 a previous transmit linktrace message command, 3616 indicating which LTM's response is going to be 3617 returned."; 3618 reference 3619 "802.1ag clause 12.14.7.5.2:b"; 3620 } 3622 leaf dot1agCfmLtrReceiveOrder { 3623 type uint32 { 3624 range "1..4294967295"; 3625 } 3626 description 3627 "An index to distinguish among multiple LTRs with the 3628 same LTR. Transaction Identifier field value. 3629 dot1agCfmLtrReceiveOrder are assigned sequentially 3630 from 1, in the order that the Linktrace Initiator 3631 received the LTRs."; 3632 reference 3633 "802.1ag clause 12.14.7.5.2:c"; 3634 } 3636 leaf dot1agCfmLtrTtl { 3637 type uint32 { 3638 range "0..255"; 3639 } 3640 config false; 3641 description 3642 "TTL field value for a returned LTR."; 3643 reference 3644 "802.1ag clause 12.14.7.5 and 20.36.2.2"; 3645 } 3647 leaf dot1agCfmLtrForwarded { 3648 type boolean; 3649 config false; 3650 description 3651 "Indicates if a LTM was forwarded by the responding 3652 MP, as returned in the 'FwdYes' flag of the flags 3653 field."; 3654 reference 3655 "802.1ag clauses 12.14.7.5.3:c and 20.36.2.1"; 3656 } 3658 leaf dot1agCfmLtrTerminalMep { 3659 type boolean; 3660 config false; 3661 description 3662 "A boolean value stating whether the forwarded LTM 3663 reached a MEP enclosing its MA, as returned in the 3664 Terminal MEP flag of the Flags field."; 3665 reference 3666 "802.1ag clauses 12.14.7.5.3:d and 20.36.2.1"; 3667 } 3669 leaf dot1agCfmLtrLastEgressIdentifier { 3670 type binary { 3671 length "8"; 3672 } 3673 config false; 3674 description 3675 "An octet field holding the Last Egress Identifier 3676 returned in the LTR Egress Identifier TLV of the LTR. 3677 The Last Egress Identifier identifies the MEP 3678 Linktrace Initiator that originated, or the Linktrace 3679 Responder that forwarded, the LTM to which this LTR 3680 is the response. This is the same value as the 3681 Egress Identifier TLV of that LTM."; 3682 reference 3683 "802.1ag clauses 12.14.7.5.3:e and 20.36.2.3"; 3684 } 3686 leaf dot1agCfmLtrNextEgressIdentifier { 3687 type binary { 3688 length "8"; 3689 } 3690 config false; 3691 description 3692 "An octet field holding the Next Egress Identifier 3693 returned in the LTR Egress Identifier TLV of the LTR. 3694 The Next Egress Identifier Identifies the Linktrace 3695 Responder that transmitted this LTR, and can forward 3696 the LTM to the next hop. This is the same value as 3697 the Egress Identifier TLV of the forwarded LTM, if 3698 any. If the FwdYes bit of the Flags field is false, 3699 the contents of this field are undefined, 3700 i.e., any value can be transmitted, and the field 3701 is ignored by the receiver."; 3702 reference 3703 "802.1ag clauses 12.14.7.5.3:f and 20.36.2.4"; 3704 } 3706 leaf dot1agCfmLtrRelay { 3707 type cfm:Dot1agCfmRelayActionFieldValue; 3708 config false; 3709 description 3710 "Value returned in the Relay Action field."; 3711 reference 3712 "802.1ag clauses 12.14.7.5.3:g and 20.36.2.5"; 3713 } 3715 leaf dot1agCfmLtrChassisIdSubtype { 3716 type cfm:LldpChassisIdSubtype; 3717 config false; 3718 description 3719 "This object specifies the format of the Chassis ID 3720 returned in the Sender ID TLV of the LTR, if any. 3721 This value is meaningless if the 3722 dot1agCfmLtrChassisId has a length of 0."; 3723 reference 3724 "802.1ag clauses 12.14.7.5.3:h and 21.5.3.2"; 3725 } 3726 leaf dot1agCfmLtrChassisId { 3727 type cfm:LldpChassisId; 3728 config false; 3729 description 3730 "The Chassis ID returned in the Sender ID TLV of the 3731 LTR, if any. The format of this object is determined 3732 by the value of the dot1agCfmLtrChassisIdSubtype 3733 object."; 3734 reference 3735 "802.1ag clauses 12.14.7.5.3:i and 21.5.3.3"; 3736 } 3738 leaf dot1agCfmLtrManAddressDomain { 3739 type cfm:TDomain; 3740 config false; 3741 description 3742 "The TDomain that identifies the type and format of 3743 the related dot1agCfmMepDbManAddress object, used to 3744 access the SNMP agent of the system transmitting the 3745 LTR. Received in the LTR Sender ID TLV from that 3746 system. 3748 Typical values will be one of (not all inclusive) 3749 list: 3751 snmpUDPDomain (from SNMPv2-TM, RFC3417) 3752 snmpIeee802Domain (from SNMP-IEEE802-TM-MIB, 3753 RFC4789) 3755 The value 'zeroDotZero' (from RFC2578) indicates 3756 'no management address was present in the LTR', 3757 in which case the related object 3758 dot1agCfmMepDbManAddress must have a zero-length 3759 OCTET STRING as a value."; 3760 reference 3761 "802.1ag clauses 12.14.7.5.3:j, 21.5.3.5, 21.9.6"; 3762 } 3764 leaf dot1agCfmLtrManAddress { 3765 type cfm:TAddress; 3766 config false; 3767 description 3768 "The TAddress that can be used to access the SNMP 3769 agent of the system transmitting the CCM, received 3770 in the CCM Sender ID TLV from that system. 3772 If the related object dot1agCfmLtrManAddressDomain 3773 contains the value 'zeroDotZero', this object 3774 dot1agCfmLtrManAddress must have a zero-length 3775 OCTET STRING as a value."; 3776 reference 3777 "802.1ag clauses 12.14.7.5.3:j, 21.5.3.7, 21.9.6"; 3778 } 3780 leaf dot1agCfmLtrIngress { 3781 type cfm:Dot1agCfmIngressActionFieldValue; 3782 config false; 3783 description 3784 "The value returned in the Ingress Action Field of 3785 the LTM. The value ingNoTlv(0) indicates that no 3786 Reply Ingress TLV was returned in the LTM."; 3787 reference 3788 "802.1ag clauses 12.14.7.5.3:k and 20.36.2.6"; 3789 } 3791 leaf dot1agCfmLtrIngressMac { 3792 type yang:mac-address; 3793 config false; 3794 description 3795 "MAC address returned in the ingress MAC address field. 3796 If the dot1agCfmLtrIngress object contains the value 3797 ingNoTlv(0), then the contents of this object are 3798 meaningless."; 3799 reference 3800 "802.1ag clauses 12.14.7.5.3:l and 20.36.2.7"; 3801 } 3803 leaf dot1agCfmLtrIngressPortIdSubtype { 3804 type cfm:LldpPortIdSubtype; 3805 config false; 3806 description 3807 "Format of the Ingress Port ID. 3808 If the dot1agCfmLtrIngress object contains the value 3809 ingNoTlv(0), then the contents of this object are 3810 meaningless."; 3811 reference 3812 "802.1ag clauses 12.14.7.5.3:m and 20.36.2.8"; 3813 } 3815 leaf dot1agCfmLtrIngressPortId { 3816 type cfm:LldpPortId; 3817 config false; 3818 description 3819 "Ingress Port ID. The format of this object is 3820 determined by the value of the 3821 dot1agCfmLtrIngressPortIdSubtype object. If the 3822 dot1agCfmLtrIngress object contains the value 3823 ingNoTlv(0), then the contents of this object 3824 are meaningless."; 3825 reference 3826 "802.1ag clauses 12.14.7.5.3:n and 20.36.2.9"; 3827 } 3829 leaf dot1agCfmLtrEgress { 3830 type cfm:Dot1agCfmEgressActionFieldValue; 3831 config false; 3832 description 3833 "The value returned in the Egress Action Field of the 3834 LTM. The value egrNoTlv(0) indicates that no Reply 3835 Egress TLV was returned in the LTM."; 3836 reference 3837 "802.1ag clauses 12.14.7.5.3:o and 20.36.2.10"; 3838 } 3840 leaf dot1agCfmLtrEgressMac { 3841 type yang:mac-address; 3842 config false; 3843 description 3844 "MAC address returned in the egress MAC address field. 3845 If the dot1agCfmLtrEgress object contains the value 3846 egrNoTlv(0), then the contents of this object are 3847 meaningless."; 3848 reference 3849 "802.1ag clauses 12.14.7.5.3:p and 20.36.2.11"; 3850 } 3852 leaf dot1agCfmLtrEgressPortIdSubtype { 3853 type cfm:LldpPortIdSubtype; 3854 config false; 3855 description 3856 "Format of the egress Port ID. 3857 If the dot1agCfmLtrEgress object contains the value 3858 egrNoTlv(0), then the contents of this object are 3859 meaningless."; 3860 reference 3861 "802.1ag clauses 12.14.7.5.3:q and 20.36.2.12"; 3862 } 3864 leaf dot1agCfmLtrEgressPortId { 3865 type cfm:LldpPortId; 3866 config false; 3867 description 3868 "Egress Port ID. The format of this object is 3869 determined by the value of the 3870 dot1agCfmLtrEgressPortIdSubtype object.If the 3871 dot1agCfmLtrEgress object contains the value 3872 egrNoTlv(0), then the contents of this object are 3873 meaningless."; 3874 reference 3875 "802.1ag clauses 12.14.7.5.3:r and 20.36.2.13"; 3876 } 3878 leaf dot1agCfmLtrOrganizationSpecificTlv { 3879 type binary { 3880 length "0 | 4..1500"; 3881 } 3882 config false; 3883 description 3884 "All Organization specific TLVs returned in the LTR, if 3885 any. Includes all octets including and following 3886 the TLV Length field of each TLV, concatenated 3887 together."; 3888 reference 3889 "802.1ag clauses 12.14.7.5.3:s, 21.5.2"; 3890 } 3891 } 3893 list dot1agCfmMepDbEntry { 3895 key "dot1agCfmMdIndex dot1agCfmMaIndex 3896 dot1agCfmMepIdentifier 3897 dot1agCfmMepDbRMepIdentifier"; 3898 description 3899 "The MEP Database table entry."; 3901 leaf dot1agCfmMdIndex { 3902 type leafref { 3903 path "/cfm:dot1agCfmMd/cfm:dot1agCfmMdEntry/cfm" 3904 +":dot1agCfmMdIndex"; 3905 } 3906 description 3907 "Automagically generated leafref leaf."; 3908 } 3909 leaf dot1agCfmMaIndex { 3910 type leafref { 3911 path "/cfm:dot1agCfmMa/cfm:dot1agCfmMaNetEntry/cfm" 3912 +":dot1agCfmMaIndex"; 3913 } 3914 description 3915 "Automagically generated leafref leaf."; 3916 } 3917 leaf dot1agCfmMepIdentifier { 3918 type leafref { 3919 path "/cfm:dot1agCfmMep/cfm:dot1agCfmMepEntry/cfm" 3920 +":dot1agCfmMepIdentifier"; 3921 } 3922 description 3923 "Automagically generated leafref leaf."; 3924 } 3926 leaf dot1agCfmMepDbRMepIdentifier { 3927 type cfm:Dot1agCfmMepId; 3928 description 3929 "Maintenance association End Point Identifier of a 3930 remote MEP whose information from the MEP Database 3931 is to be returned."; 3932 reference 3933 "802.1ag clause 12.14.7.6.2:b"; 3934 } 3936 leaf dot1agCfmMepDbRMepState { 3937 type cfm:Dot1agCfmRemoteMepState; 3938 config false; 3939 description 3940 "The operational state of the remote MEP IFF State 3941 machines."; 3942 reference 3943 "802.1ag clause 12.14.7.6.3:b and 20.22"; 3944 } 3946 leaf dot1agCfmMepDbRMepFailedOkTime { 3947 type yang:timestamp; 3948 config false; 3949 description 3950 "The time (SysUpTime) at which the IFF Remote MEP 3951 state machine last entered either the RMEP_FAILED 3952 or RMEP_OK state."; 3953 reference 3954 "802.1ag clause 12.14.7.6.3:c"; 3955 } 3957 leaf dot1agCfmMepDbMacAddress { 3958 type yang:mac-address; 3959 config false; 3960 description 3961 "The MAC address of the remote MEP."; 3962 reference 3963 "802.1ag clause 12.14.7.6.3:d and 20.19.7"; 3964 } 3966 leaf dot1agCfmMepDbRdi { 3967 type boolean; 3968 config false; 3969 description 3970 "State of the RDI bit in the last received CCM 3971 (true for RDI=1), or false if none has been 3972 received."; 3973 reference 3974 "802.1ag clauses 12.14.7.6.3:e and 20.19.2"; 3975 } 3977 leaf dot1agCfmMepDbPortStatusTlv { 3978 type cfm:Dot1agCfmPortStatus; 3979 config false; 3980 description 3981 "An enumerated value of the Port status TLV received 3982 in the last CCM from the remote MEP or the default 3983 value psNoPortStateTLV indicating either no CCM has 3984 been received, or that nor port status TLV was 3985 received in the last CCM."; 3986 reference 3987 "802.1ag clause 12.14.7.6.3:f and 20.19.3"; 3988 } 3990 leaf dot1agCfmMepDbInterfaceStatusTlv { 3991 type cfm:Dot1agCfmInterfaceStatus; 3992 config false; 3993 description 3994 "An enumerated value of the Interface status TLV 3995 received in the last CCM from the remote MEP or 3996 the default value isNoInterfaceStatus TLV indicating 3997 either no CCM has been received, or that no interface 3998 status TLV was received in the last CCM."; 3999 reference 4000 "802.1ag clause 12.14.7.6.3:g and 20.19.4"; 4001 } 4003 leaf dot1agCfmMepDbChassisIdSubtype { 4004 type cfm:LldpChassisIdSubtype; 4005 config false; 4006 description 4007 "This object specifies the format of the Chassis ID 4008 received in the last CCM."; 4009 reference 4010 "802.1ag clauses 12.14.7.6.3:h and 21.5.3.2"; 4011 } 4013 leaf dot1agCfmMepDbChassisId { 4014 type cfm:LldpChassisId; 4015 config false; 4016 description 4017 "The Chassis ID. The format of this object is 4018 determined by the value of the 4019 dot1agCfmLtrChassisIdSubtype object."; 4020 reference 4021 "802.1ag clauses 12.14.7.6.3:h and 21.5.3.3"; 4022 } 4024 leaf dot1agCfmMepDbManAddressDomain { 4025 type cfm:TDomain; 4026 config false; 4027 description 4028 "The TDomain that identifies the type and format of 4029 the related dot1agCfmMepDbManAddress object, used to 4030 access the SNMP agent of the system transmitting the 4031 CCM. Received in the CCM Sender ID TLV from that 4032 system. 4034 Typical values will be one of (not all inclusive) 4035 list: 4037 snmpUDPDomain (from SNMPv2-TM, RFC3417) 4038 snmpIeee802Domain (from SNMP-IEEE802-TM-MIB, 4039 RFC4789) 4041 The value 'zeroDotZero' (from RFC2578) indicates 4042 'no management address was present in the LTR', 4043 in which case the related object 4044 dot1agCfmMepDbManAddress must have a zero-length OCTET 4045 STRING as a value."; 4046 reference 4047 "802.1ag clauses 12.14.7.6.3:h, 21.5.3.5, 21.6.7"; 4048 } 4050 leaf dot1agCfmMepDbManAddress { 4051 type cfm:TAddress; 4052 config false; 4053 description 4054 "The TAddress that can be used to access the SNMP 4055 agent of the system transmitting the CCM, received 4056 in the CCM Sender ID TLV from that system. 4058 If the related object dot1agCfmMepDbManAddressDomaini 4059 contains the value 'zeroDotZero', this object 4060 dot1agCfmMepDbManAddress must have a zero-length 4061 OCTET STRING as a value."; 4062 reference 4063 "802.1ag clauses 12.14.7.6.3:h, 21.5.3.7, 21.6.7"; 4064 } 4065 } 4066 } 4068 notification dot1agCfmFaultAlarm { 4069 description 4070 "A MEP has a persistent defect condition. A notification 4071 (fault alarm) is sent to the management entity with the OID 4072 of the MEP that has detected the fault. 4074 Whenever a MEP has a persistent defect, 4075 it may or may not generate a Fault Alarm to warn the system 4076 administrator of the problem, as controlled by the MEP 4077 Fault Notification Generator State Machine and associated 4078 Managed Objects. Only the highest-priority defect, as shown 4079 in Table 20-1, is reported in the Fault Alarm. 4081 If a defect with a higher priority is raised after a Fault 4082 Alarm has been issued, another Fault Alarm is issued. 4084 The management entity receiving the notification can 4085 identify the system from the network source address of the 4086 notification, and can identify the MEP reporting the defect 4087 by the indices in the OID of the dot1agCfmMepHighestPrDefect 4088 variable in the notification: 4090 dot1agCfmMdIndex - Also the index of the MEP's 4091 Maintenance Domain table entry 4092 (dot1agCfmMdTable). 4093 dot1agCfmMaIndex - Also an index (with the MD table 4094 index) of the MEP's Maintenance 4095 Association network table entry 4096 (dot1agCfmMaNetTable), and (with the 4097 MD table index and component ID) of 4098 the MEP's MA component table entry 4099 (dot1agCfmMaCompTable). 4100 dot1agCfmMepIdentifier - MEP Identifier and final index 4101 into the MEP table 4102 (dot1agCfmMepTable)."; 4103 reference 4104 "802.1ag clause 12.14.7.7"; 4106 container dot1agCfmFaultAlarm-dot1agCfmMepHighestPrDefect { 4107 description 4108 "The highest priority defect that has been present since the 4109 MEPs Fault Notification Generator State Machine was last in 4110 the FNG_RESET state"; 4112 leaf dot1agCfmMdIndex { 4113 type leafref { 4114 path "/cfm:dot1agCfmMd/cfm:dot1agCfmMdEntry/cfm" 4115 +":dot1agCfmMdIndex"; 4116 } 4117 description 4118 "Automagically generated leafref leaf."; 4119 } 4120 leaf dot1agCfmMaIndex { 4121 type leafref { 4122 path "/cfm:dot1agCfmMa/cfm:dot1agCfmMaNetEntry/cfm" 4123 +":dot1agCfmMaIndex"; 4124 } 4125 description 4126 "Automagically generated leafref leaf."; 4127 } 4128 leaf dot1agCfmMepIdentifier { 4129 type leafref { 4130 path "/cfm:dot1agCfmMep/cfm:dot1agCfmMepEntry/cfm" 4131 +":dot1agCfmMepIdentifier"; 4132 } 4133 description 4134 "Automagically generated leafref leaf."; 4135 } 4136 leaf dot1agCfmMepHighestPrDefect { 4137 type cfm:Dot1agCfmHighestDefectPri; 4138 description 4139 "The highest priority defect that has been present 4140 since the MEPs Fault Notification Generator State 4141 Machine was last in the FNG_RESET state."; 4142 reference 4143 "802.1ag clause 12.14.7.1.3:n 20.33.9 and Table 21-1"; 4144 } 4145 } 4147 } 4148 } /* end of module ietf-cfm */ 4149 4151 4. Security Considerations 4153 The data model defined does not create any security implications. 4155 5. IANA Considerations 4157 This draft does not request any IANA action. 4159 6. Normative References 4161 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 4162 Requirement Levels", BCP 14, RFC 2119, March 1997. 4164 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 4165 the Network Configuration Protocol (NETCONF)", RFC 6020, 4166 DOI 10.17487/RFC6020, October 2010, . 4169 [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 4170 Rose, M., Waldbusser, S., "Structure of Management 4171 Information Version 2 (SMIv2)", STD 58, RFC 2578, April 4172 1999 4174 [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 4175 Rose, M. and S. Waldbusser, "Textual Conventions for 4176 SMIv2", STD 58, RFC 2579, April 1999. Done. 4178 [RFC4789] Schoenwaelder, J., Jeffree, T., "Simple Network Management 4179 Protocol (SNMP) over IEEE 802 Networks", RFC 4789, November 4180 2006. 4182 [RFC3417] Presuhn, R, Case, J., McCloghrie, K., Rose, M., S. 4183 Waldbusser, "Transport Mappings for he Simple Network 4184 Management Protocol (SNMP)", RFC 3417, December 2002. 4186 [RFC1903] Case, J., McCloghrie, K., Rose, M., S. Waldbusser, "Textual 4187 Conventions for Version 2 of the Simple Network Management 4188 Protocol (SNMPv2)", RFC 1903, January 1996. 4190 [RFC2685] Fox, B., Bleeson, B. "Virtual Private Networks Identifier", 4191 RFC 2685, September 1999. 4193 [RFC1906] Case, J., McCloghrie, K., Rose, M., S. Waldbusser, 4194 "Transport Mappings for Version 2 of the Simple Network 4195 Management Protocol (SNMPv2)", RFC 1906, January 1996. 4197 [RFC2863] McCloghrie, K., Kastenholz, F., "The Interfaces Group MIB", 4198 RFC 2863, June 2000. 4200 [RFC2737] McCloghrie, K., Bierman, A., "The Interfaces Group MIB", 4201 RFC 2737, December 1999. 4203 [RFC3046] Patrick, M.," DHCP Relay Agent Information Option", RFC 4204 3046, January 2001. 4206 [IEEE802] "IEEE Standard for Local Area Networks: Overview and 4207 Architecture", IEEE Std. 802-2001. 4209 [IEEE802.1ag] "Virtual Bridged Local Area Networks - Amendment 4210 5:Connectivity Fault Management", IEEE Std. June, 2007. 4212 Authors' Addresses 4214 Kun Wang 4215 Ericsson 4216 Ericsson Tower 2, No.5 Lize East Street, 4217 Chaoyang District Beijing 100102, P.R. China 4219 Email kun.s.wang@ericsson.com 4221 Alex Wang 4222 Ericsson 4223 Ericsson Tower 2, No.5 Lize East Street, 4224 Chaoyang District Beijing 100102, P.R. China 4226 Email alex.g.wang@ericsson.com 4228 Chin Chen 4229 Ericsson 4230 Ericsson Tower 2, No.5 Lize East Street, 4231 Chaoyang District Beijing 100102, P.R. China 4233 Email chin.chen@ericsson.com 4235 Hua Lv 4236 Ericsson 4237 Ericsson Tower 2, No.5 Lize East Street, 4238 Chaoyang District Beijing 100102, P.R. China 4240 Email hua.lv@ericsson.com