-- MIB file created 07-Aug-2006 13:39:11, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-ETHER-CFM-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-ETHER-CFM-MIB.my"
-- Compile options "4 7 F H N O W 03 06 0B 0G 0N 0T"

IMPORTS
    SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
    VlanId
            FROM Q-BRIDGE-MIB
    MacAddress, TimeStamp
            FROM SNMPv2-TC-v1
    ciscoMgmt
            FROM CISCO-SMI
    Gauge
            FROM RFC1155-SMI
    OBJECT-TYPE
            FROM RFC-1212
    TRAP-TYPE
            FROM RFC-1215;

ciscoEtherCfmMIB OBJECT IDENTIFIER ::= { ciscoMgmt 461 }
-- MODULE-IDENTITY
--  LastUpdated
--    200412280000Z
--  OrgName
--    Cisco Systems, Inc.
--  ContactInfo
--                Cisco Systems
--                 Customer Service
--         Postal: 170 W Tasman Drive
--                 San Jose, CA 95134
--                 USA
--            Tel: +1 800 553-NETS
--         E-mail:  cs-ethermibs@cisco.com
--  Descr
--    This MIB module defines the managed objects 
--    and notifications for Ethernet Connectivity 
--    Fault Management (CFM).
--    
--    CFM is an end-to-end per service instance Ethernet layer 
--    Operations, Administration and Management (OAM) protocol. 
--    
--    CFM events include: 
--    
--    - Maintenance End-Point (MEP) coming up: establishing 
--      connectivity
--    
--    - Maintenance End-Point going down: losing connectivity
--    
--    - Maintenance End-Point unknown: unexpected
--    
--    - Maintenance End-Point missing: expected but not reachable
--    
--    - Continuity Check Configuration Error: collision in MEP IDs
--    
--    - Continuity Check Loop: forwarding loop in network
--    
--    - Continuity Check Cross-connect: cross-connected 
--      forwarding path.
--    
--    The following acronyms are used in this module:
--    
--    - MEP: Maintenance End Point
--    
--    - MEPID: Maintenance End Point Identifier
--    
--    - CC: Continuity Check
--    
--    - CCDB: Continuity Check Database
--    
--    - SVLAN: Service Provider Virtual Local Area Network
--    
--    - VLAN: Virtual Local Area Network
--    
--    - CLI: Command Line Interface.
--    
--    - OAM: Operations Administration and Management.
--  RevDate
--    200412280000Z
--  RevDescr
--    The initial revision of this MIB.

ciscoEtherCfmMIBNotifs OBJECT IDENTIFIER ::= { ciscoEtherCfmMIB 0 }
ciscoEtherCfmMIBObjects OBJECT IDENTIFIER ::= { ciscoEtherCfmMIB 1 }
ciscoEtherCfmMIBConform OBJECT IDENTIFIER ::= { ciscoEtherCfmMIB 2 }
cecCfmEvents    OBJECT IDENTIFIER ::= { ciscoEtherCfmMIBObjects 1 }
ciscoEtherCfmNotificationPrefix OBJECT IDENTIFIER ::= { ciscoEtherCfmMIBNotifs 0 }
ciscoEtherCfmMIBCompliances OBJECT IDENTIFIER ::= { ciscoEtherCfmMIBConform 1 }
ciscoEtherCfmMIBGroups OBJECT IDENTIFIER ::= { ciscoEtherCfmMIBConform 2 }

CfmMepid ::= Gauge(0..8191)
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The identifier of a maintenance end point.

cEtherCfmMaxEventIndex OBJECT-TYPE
    SYNTAX Gauge(1..4294967295)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the maximum upper value supported 
        for the cEtherCfmEventIndex index by this agent."
    ::= { cecCfmEvents 1 }

cEtherCfmEventTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CEtherCfmEventEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains a collection of Ethernet CFM notifications
        generated by the device. The notifications correspond to events
        recognized by the device and fall into the following classes:
        
        - MEP-Up
        
        - MEP-Down
        
        - Configuration Error
        
        - Forwarding Loop
        
        - Cross-connected Ethernet Connection
        
        - Crosscheck Missing MEP
        
        - Crosscheck Unknown MEP
        
        - Crosscheck Service Up
        
        A conceptual row is created in this table whenever the device 
        encounters one of the events listed above. Rows can only be
        created by the agent, and not at the request of the management
        station.
        
        Rows are deleted at the request of a management station by 
        setting the cEtherCfmEventDeleteRow object to 'delete'.
        Another way of deleting rows is through the CLI.
        
        Although this table may be indexed uniquely by the 
        cEtherCfmEventIndex index, the first two indices 
        (cEtherCfmEventDomainIndex and cEtherCfmEventSvlan) are used
        to speed-up queries per maintenance domain and per customer
        service instance. Furthermore, these two indices will help
        in defining the MIB views easily in order to restrict access
        to the MIB to particular entities (be it a service provider,
        or operator, or customer)."
    ::= { cecCfmEvents 2 }

cEtherCfmEventEntry OBJECT-TYPE
    SYNTAX CEtherCfmEventEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in this table is created for every event reported
        by Ethernet CFM."
    INDEX { cEtherCfmEventDomainIndex, cEtherCfmEventSvlan, cEtherCfmEventIndex }
    ::= { cEtherCfmEventTable 1 }

CEtherCfmEventEntry ::= SEQUENCE {
    cEtherCfmEventDomainIndex Gauge,
    cEtherCfmEventSvlan VlanId,
    cEtherCfmEventIndex Gauge,
    cEtherCfmEventDomainName SnmpAdminString,
    cEtherCfmEventType INTEGER,
    cEtherCfmEventLastChange TimeStamp,
    cEtherCfmEventServiceId SnmpAdminString,
    cEtherCfmEventLclMepid CfmMepid,
    cEtherCfmEventLclMacAddress MacAddress,
    cEtherCfmEventLclMepCount Gauge,
    cEtherCfmEventLclIfCount Gauge,
    cEtherCfmEventRmtMepid CfmMepid,
    cEtherCfmEventRmtMacAddress MacAddress,
    cEtherCfmEventRmtPortState INTEGER,
    cEtherCfmEventRmtServiceId SnmpAdminString,
    cEtherCfmEventCode INTEGER,
    cEtherCfmEventDeleteRow INTEGER
    }

cEtherCfmEventDomainIndex OBJECT-TYPE
    SYNTAX Gauge(1..4294967295)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object represents the ID which uniquely identifies 
        a CFM maintenance domain on the device. Every domain can
        be uniquely identified by its user-defined 
        name (cEtherCfmEventDomainName) or device-assigned ID (this
        object)."
    ::= { cEtherCfmEventEntry 1 }

cEtherCfmEventSvlan OBJECT-TYPE
    SYNTAX VlanId
--    Rsyntax INTEGER(1..4094)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The service VLAN identifier of the customer service 
        instance to which the event belongs."
    ::= { cEtherCfmEventEntry 2 }

cEtherCfmEventIndex OBJECT-TYPE
    SYNTAX Gauge(1..4294967295)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A monotonically increasing integer for the sole purpose of
        indexing CFM events.  When it reaches the maximum value 
        supported by the agent, as defined in the 
        cEtherCfmMaxEventIndex object, the agent wraps the value
        back to 1 and may flush existing entries."
    ::= { cEtherCfmEventEntry 3 }

cEtherCfmEventDomainName OBJECT-TYPE
    SYNTAX SnmpAdminString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The name of the CFM maintenance domain."
    ::= { cEtherCfmEventEntry 4 }

cEtherCfmEventType OBJECT-TYPE
    SYNTAX INTEGER {
        mepUp(1),
        mepDown(2),
        xconnect(3),
        loop(4),
        config(5),
        xcheckMissing(6),
        xcheckUnknown(7),
        xcheckServiceUp(8)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object informs the management station of how to interpret
        the rest of the objects within a row, as summarized in the 
        following table:
        
        Legend I: Ignored Object 
               V: Valid Object
        
        Object                                 cEtherCfmEventType
                                       | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
        ================================================================
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventDomainIndex      | V | V | V | V | V | V | V | V
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventSvlan            | V | V | V | V | V | V | V | V
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventIndex            | V | V | V | V | V | V | V | V
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventLastChange       | V | V | V | V | V | V | V | V
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventServiceId        | V | V | V | V | V | V | V | V
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventDomainName       | V | V | V | V | V | V | V | V
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventLclMepid         | I | I | I | V | V | I | I | I
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventLclMacAddress    | V | V | V | V | V | V | V | V
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventLclMepCount      | V | V | I | I | I | I | I | I
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventLclIfCount       | V | V | I | I | I | I | I | I
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventRmtMepid         | V | V | V | I | I | V | V | I
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventRmtMacAddress    | V | V | V | I | V | V | V | I
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventRmtPortState     | V | I | I | I | I | I | I | I
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventRmtServiceId     | I | I | V | I | I | I | I | I
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventCode             | V | V | I | I | I | I | I | I
                                       |   |   |   |   |   |   |   |
        cEtherCfmEventDeleteRow        | V | V | V | V | V | V | V | V
                                       |   |   |   |   |   |   |   |
        
        Note: When reading any ignored object, a value of 0 will 
        be returned by the agent."
    ::= { cEtherCfmEventEntry 5 }

cEtherCfmEventLastChange OBJECT-TYPE
    SYNTAX TimeStamp
--    Rsyntax TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The value of sysUpTime at the time when this row was created."
    ::= { cEtherCfmEventEntry 6 }

cEtherCfmEventServiceId OBJECT-TYPE
    SYNTAX SnmpAdminString(SIZE(1..100))
--    Rsyntax OCTET STRING(SIZE(1..100))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The customer service instance to which the event belongs."
    ::= { cEtherCfmEventEntry 7 }

cEtherCfmEventLclMepid OBJECT-TYPE
    SYNTAX CfmMepid
--    Rsyntax Gauge(0..8191)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The identifier of the local MEP impacted by the event."
    ::= { cEtherCfmEventEntry 8 }

cEtherCfmEventLclMacAddress OBJECT-TYPE
    SYNTAX MacAddress
--    Rsyntax OCTET STRING(SIZE(6))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The MAC address of the device reporting the event."
    ::= { cEtherCfmEventEntry 9 }

cEtherCfmEventLclMepCount OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of local MEPs affected by the event."
    ::= { cEtherCfmEventEntry 10 }

cEtherCfmEventLclIfCount OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of local interfaces affected by the event."
    ::= { cEtherCfmEventEntry 11 }

cEtherCfmEventRmtMepid OBJECT-TYPE
    SYNTAX CfmMepid
--    Rsyntax Gauge(0..8191)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The maintenance end-point identifier of the remote 
        MEP causing the event entry to be logged."
    ::= { cEtherCfmEventEntry 12 }

cEtherCfmEventRmtMacAddress OBJECT-TYPE
    SYNTAX MacAddress
--    Rsyntax OCTET STRING(SIZE(6))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The MAC address of the remote maintenance point for which
        the event entry is being logged."
    ::= { cEtherCfmEventEntry 13 }

cEtherCfmEventRmtPortState OBJECT-TYPE
    SYNTAX INTEGER {
        up(1),
        down(2),
        adminDown(3),
        test(4),
        remoteExcessiveErrors(5),
        localExcessiveErrors(6),
        localNoData(7)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The operational state of the port on which the 
        remote MEP is configured. This information is 
        derived from the port-state as indicated in the 
        CC message. The possible values are:
        
        'up'                    - The port is operationally up.
        
        'down'                  - The port is operationally (but not
                                  administratively) down.
        
        'adminDown'             - The port is administratively down.
        
        'test'                  - The port is in test mode (perhaps 
                                  due to an IEEE Standard 802.3ah OAM
                                  intrusive loopback operation).
        
        'remoteExcessiveErrors' - 802.3ah OAM reports that the other 
                                  end of the link is receiving an 
                                  excessive number of invalid frames.
        
        'localExcessiveErrors'  - 802.3ah OAM reports that this end of
                                  the link is receiving an excessive 
                                  number of invalid frames.
        
        'localNoData'           - No data and no CFM messages have been
                                  received for an excessive length of 
                                  time."
    REFERENCE
        "IEEE 802.1ag Draft 1.0: Section 19.4.9.1 and 
        IEEE 802.3ah-2004: Clause 57."
    ::= { cEtherCfmEventEntry 14 }

cEtherCfmEventRmtServiceId OBJECT-TYPE
    SYNTAX SnmpAdminString(SIZE(1..100))
--    Rsyntax OCTET STRING(SIZE(1..100))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The ID that the remote device has configured for the 
        customer service instance (VLAN)."
    ::= { cEtherCfmEventEntry 15 }

cEtherCfmEventCode OBJECT-TYPE
    SYNTAX INTEGER {
        new(1),
        returning(2),
        portState(3),
        lastGasp(4),
        timeout(5),
        configClear(6),
        loopClear(7),
        xconnectClear(8),
        unknownClear(9)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object is used in decoding 'mepUp' and 'mepDown' events. 
        
        ** For 'mepUp', the following codes are relevant:
        
            'new'           - This is the very first time the device 
                              receives a CC message from the remote MEP.
        
            'returning'     - The device received a CC message from a 
                              remote MEP for which it had an expired 
                              CCDB entry.
        
            'portState'     - The device received a CC message from a 
                              remote MEP for which it has a valid CCDB 
                              entry, and the message indicates a port 
                              status change.
        
        ** For 'mepDown', the following codes are relevant:
        
            'lastGasp'      - The device received a CC message from a
                              remote MEP with zero lifetime.
        
            'timeout'       - The local CCDB entry for the remote MEP 
                              expired.
        
            'configClear'   - A previous CC message from a MEP that
                              triggered a configuration error event
                              is cleared.
            
            'loopClear'     - A previous CC message from a MEP that
                              triggered a loop error event is cleared.
        
            'xconnectClear' - A previous CC message from a MEP that
                              triggered a crossconnect error event 
                              is cleared.
        
            'unknownClear'  - A previous CC message from a MEP that
                              triggered an unknown MEP event is 
                              cleared."
    ::= { cEtherCfmEventEntry 16 }

cEtherCfmEventDeleteRow OBJECT-TYPE
    SYNTAX INTEGER {
        noop(1),
        delete(2)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object allows the management station to 
        delete a row in the cEtherCfmEventTable in order
        to free system resources.
        
        When reading this object the value of 'noop' will be 
        returned. This object can only be set to 'delete'. 
        
        When this object is set to 'delete', the conceptual
        row corresponding to this object will be deleted to
        free system resources. This is equivalent to clearing
        the event log. Should the trigger that caused the event
        to be logged reoccur, the event will be re-asserted but
        in a different conceptual row."
    ::= { cEtherCfmEventEntry 17 }

cEtherCfmCcMepUp TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE ciscoEtherCfmMIBNotifs
    VARIABLES {
        cEtherCfmEventServiceId, cEtherCfmEventLclMacAddress, 
        cEtherCfmEventLclMepCount, cEtherCfmEventLclIfCount, 
        cEtherCfmEventRmtMepid, cEtherCfmEventRmtMacAddress, 
        cEtherCfmEventCode, cEtherCfmEventRmtPortState }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated in the following cases:
        
        - when a remote MEP first comes up, that is when we receive 
        a CC message from that MEP for the first time.
        
        - when the device receives a CC message from a MEP for which 
        it has an expired CCDB entry.
        
        - when a CC message is received for a remote MEP for which
        the device already has a CCDB entry and the port-state in
        the received CC message is different from the cached 
        previous state."
    ::= 1

cEtherCfmCcMepDown TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE ciscoEtherCfmMIBNotifs
    VARIABLES {
        cEtherCfmEventServiceId, cEtherCfmEventLclMacAddress, 
        cEtherCfmEventLclMepCount, cEtherCfmEventLclIfCount, 
        cEtherCfmEventRmtMepid, cEtherCfmEventRmtMacAddress, 
        cEtherCfmEventCode }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated when a remote MEP goes down; 
        i.e. the entry in CCDB corresponding to this MEP times out 
        or the device receives a CC message with zero hold-time."
    ::= 2

cEtherCfmCcCrossconnect TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE ciscoEtherCfmMIBNotifs
    VARIABLES {
        cEtherCfmEventServiceId, cEtherCfmEventLclMacAddress, 
        cEtherCfmEventRmtMepid, cEtherCfmEventRmtMacAddress, 
        cEtherCfmEventRmtServiceId }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated when a device receives a CC
        message with the service ID not matching the one locally 
        configured for the VLAN in question."
    ::= 3

cEtherCfmCcLoop TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE ciscoEtherCfmMIBNotifs
    VARIABLES {
        cEtherCfmEventServiceId, cEtherCfmEventLclMacAddress, 
        cEtherCfmEventLclMepid }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated when a device receives a CC
        message with the same MEPID and MAC address as those of
        the device itself, indicating that there is a forwarding
        loop and that the device is receiving its own CC messages."
    ::= 4

cEtherCfmCcConfigError TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE ciscoEtherCfmMIBNotifs
    VARIABLES {
        cEtherCfmEventServiceId, cEtherCfmEventLclMacAddress, 
        cEtherCfmEventLclMepid, cEtherCfmEventRmtMacAddress }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated when a device receives a CC
        message with the same MEPID but different MAC address as 
        those of the device itself, indicating that there is a  
        mis-configuration in the network where a remote device
        has the same MEPID configured."
    ::= 5

cEtherCfmXCheckMissing TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE ciscoEtherCfmMIBNotifs
    VARIABLES {
        cEtherCfmEventServiceId, cEtherCfmEventLclMacAddress, 
        cEtherCfmEventRmtMepid, cEtherCfmEventRmtMacAddress }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated when an expected 
        (configured) MEP does not come up during the cross-check
        start timeout interval."
    ::= 6

cEtherCfmXCheckUnknown TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE ciscoEtherCfmMIBNotifs
    VARIABLES {
        cEtherCfmEventServiceId, cEtherCfmEventLclMacAddress, 
        cEtherCfmEventRmtMepid, cEtherCfmEventRmtMacAddress }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated when an unexpected MEP
        comes up."
    ::= 7

cEtherCfmXCheckServiceUp TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE ciscoEtherCfmMIBNotifs
    VARIABLES {
        cEtherCfmEventServiceId, cEtherCfmEventLclMacAddress }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated when all the MEPs belonging
        to a customer service instance come up before the expiration of
        the cross-check start timeout interval."
    ::= 8

ciscoEtherCfmMIBEventGroup OBJECT IDENTIFIER ::= { ciscoEtherCfmMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Set of objects needed for CFM events.
--  objects
--    cEtherCfmMaxEventIndex, cEtherCfmEventDomainName, 
--    cEtherCfmEventType, cEtherCfmEventLastChange, 
--    cEtherCfmEventServiceId, cEtherCfmEventLclMepid, 
--    cEtherCfmEventLclMacAddress, cEtherCfmEventLclMepCount, 
--    cEtherCfmEventLclIfCount, cEtherCfmEventRmtMepid, 
--    cEtherCfmEventRmtMacAddress, cEtherCfmEventRmtPortState, 
--    cEtherCfmEventRmtServiceId, cEtherCfmEventCode, 
--    cEtherCfmEventDeleteRow

ciscoEtherCfmMIBNotifGroup OBJECT IDENTIFIER ::= { ciscoEtherCfmMIBGroups 2 }
-- NOTIFICATION-GROUP
--  Status
--    mandatory
--  Descr
--    Set of notifications implemented in this module.
--  notifications
--    cEtherCfmCcMepUp, cEtherCfmCcMepDown, cEtherCfmCcCrossconnect, 
--    cEtherCfmCcLoop, cEtherCfmCcConfigError, 
--    cEtherCfmXCheckMissing, cEtherCfmXCheckUnknown, 
--    cEtherCfmXCheckServiceUp

ciscoEtherCfmMIBCompliance OBJECT IDENTIFIER ::= { ciscoEtherCfmMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    Compliance statement for agents that support the Ethernet
--    CFM MIB.
--  Module
--    >>current<<
--   MandGroup
--    ciscoEtherCfmMIBEventGroup
--   MandGroup
--    ciscoEtherCfmMIBNotifGroup


END

