-- *****************************************************************
-- ZTE EPON MIB
--
-- 03-06-2007
--
-- Copyright(c) 2007 ZTE Corporation
-- All rights reserved.
-- *****************************************************************

ZXEPON-SERVICE-OAM-MIB DEFINITIONS ::= BEGIN 
    IMPORTS         
        TruthValue                       FROM SNMPv2-TC 
        Unsigned32                       FROM SNMPv2-SMI       
        Integer32                        FROM SNMPv2-SMI
        Counter32                        FROM SNMPv2-SMI        
        MacAddress                       FROM SNMPv2-TC
        TEXTUAL-CONVENTION               FROM SNMPv2-TC
        TimeStamp                        FROM SNMPv2-TC            
        OBJECT-TYPE                      FROM SNMPv2-SMI    
        ifIndex                          FROM RFC1213-MIB
        CounterBasedGauge64              FROM HCNUM-TC
        zxAnEponMib                      FROM ZTE-MASTER-MIB;       
        dot3OamObjects                OBJECT IDENTIFIER ::={zxAnEponMib 6}
    
    Dot3Oui ::= TEXTUAL-CONVENTION 
       STATUS  current 
       DESCRIPTION 
         "24-bit Organizationally Unique Identifier. Information on 
          OUIs can be found in IEEE 802-2001 [802-2001] Clause 9." 
       SYNTAX OCTET STRING(SIZE(3))        
------------------------------------------------------------------------------
--  dot3OamObjects 
------------------------------------------------------------------------------ 

    dot3OamTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF Dot3OamEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "This table contains the primary controls and status for the OAM 
                 capabilities of an Ethernet like interface. There will be one row 
                 in this table for each Ethernet like interface in the system that 
                 supports the OAM functions defined in [802.3ah]."
            ::= { dot3OamObjects 1 }
              
    dot3OamEntry OBJECT-TYPE
            SYNTAX         Dot3OamEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "An entry in the table, containing information on the Ethernet OAM 
                 function for a single Ethernet like interface. Entries in the table 
                 are created automatically for each interface supporting Ethernet OAM. 
                 The status of the row entry can be determined from OamOperStatus. 
                 A OamEntry is indexed in the OamTable by the ifIndex object 
                 of the Interfaces MIB. "
            INDEX    { ifIndex } 
            ::= { dot3OamTable 1}
            
    Dot3OamEntry ::= 
        SEQUENCE {                                
                dot3OamAdminState                       INTEGER, 
                dot3OamOperStatus                       INTEGER, 
                dot3OamMode                             INTEGER, 
                dot3OamMaxOamPduSize                    Unsigned32, 
                dot3OamConfigRevision                   Unsigned32, 
                dot3OamFunctionsSupported               BITS            
                } 
                
    dot3OamAdminState OBJECT-TYPE 
        SYNTAX       INTEGER{ 
                     enabled(1), 
                     disabled(2)
                     }                           
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "This object is used to provision the default administrative OAM mode for 
            this interface. This object represents the desired state of OAM for this 
            interface. The OamAdminState always starts in the disabled(1) state 
            until an explicit management action or configuration information retained 
            by the system causes a transition to the enabled(1) state. When enabled(1), 
            Ethernet OAM will attempt to operate over this interface."
        ::= { dot3OamEntry 1 }
        
    dot3OamOperStatus OBJECT-TYPE 
        SYNTAX       INTEGER{ 
                     disabled(1), 
                     linkFault(2), 
                     passiveWait(3), 
                     activeSendLocal(4), 
                     sendLocalAndRemote(5),
                     sendLocalAndRemoteOk(6), 
                     oamPeeringLocallyRejected(7), 
                     oamPeeringRemotelyRejected(8), 
                     operational(9), 
                     nonOperHalfDuplex(10)
                     }                           
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "At initialization and failure conditions, two OAM entities on the same full-duplex 
            Ethernet link begin a discovery phase to determine what OAM capabilities may be 
            used on that link. The progress of this initialization is controlled by the OAM 
            sublayer. This value is always disabled(1) if OAM is disabled on this interface 
            via the OamAdminState. If the link has detected a fault and is transmitting 
            OAMPDUs with a link fault indication, the value is linkFault(2). Also, if the 
            interface is not operational (ifOperStatus is not up(1)), linkFault(2) is returned. 
            Note that the object ifOperStatus may not be up(1) as a result of link failure or 
            administrative action (ifAdminState being down(2) or testing(3)). The passiveWait(3) 
            state is returned only by OAM entities in passive mode (OamMode) and reflects 
            the state in which the OAM entity is waiting to see if the peer device is OAM capable. 
            The activeSendLocal(4) value is used by active mode devices (OamMode) and reflects 
            the OAM entity actively trying to discover whether the peer has OAM capability but has 
            not yet made that determination. The state sendLocalAndRemote(5) reflects that the local 
            OAM entity has discovered the peer but has not yet accepted or rejected the configuration 
            of the peer. The local device can, for whatever reason, decide that the peer device is 
            unacceptable and decline OAM peering. If the local OAM entity rejects the peer OAM entity, 
            the state becomes oamPeeringLocallyRejected(7). If the OAM peering is allowed by the local 
            device, the state moves to sendLocalAndRemoteOk(6). Note that both the sendLocalAndRemote(5) 
            and oamPeeringLocallyRejected(7) states fall within the state SEND_LOCAL_REMOTE of the 
            Discovery state diagram [802.3ah, Figure 57-5], with the difference being whether the local 
            OAM client has actively rejected the peering or has just not indicated any decision yet. 
            Whether a peering decision has been made is indicated via the local flags field in the OAMPDU 
            (reflected in the aOAMLocalFlagsField of 30.3.6.1.10). If the remote OAM entity rejects the 
            peering, the state becomes oamPeeringRemotelyRejected(8). Note that both the sendLocalAndRemoteOk(6) 
            and oamPeeringRemotelyRejected(8) states fall within the state SEND_LOCAL_REMOTE_OK of the 
            Discovery state diagram [802.3ah, Figure 57-5], with the difference being whether the remote 
            OAM client has rejected the peering or has just not yet decided. This is indicated via the 
            remote flags field in the OAM PDU (reflected in the aOAMRemoteFlagsField of 30.3.6.1.11). 
            When the local OAM entity learns that both it and the remote OAM entity have accepted the 
            peering, the state moves to operational(9) corresponding to the SEND_ANY state of the 
            Discovery state diagram [802.3ah, Figure 57-5]. Since Ethernet OAM functions are not 
            designed to work completely over half-duplex interfaces, the value nonOperHalfDuplex(10) 
            is returned whenever Ethernet OAM is enabled (OamAdminState is enabled(1)) but the 
            interface is in half-duplex operation."
        ::= { dot3OamEntry 2 }
        
    dot3OamMode OBJECT-TYPE 
        SYNTAX       INTEGER{ 
                     passive(1), 
                     active(2)
                     }                           
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "This object configures the mode of OAM operation for this Ethernet like interface. 
             OAM on Ethernet interfaces may be in 'active' mode or 'passive' mode. These two modes 
             differ in that active mode provides additional capabilities to initiate monitoring 
             activities with the remote OAM peer entity, while passive mode generally waits for 
             the peer to initiate OAM actions with it. As an example, an active OAM entity can 
             put the remote OAM entity in a loopback state, where a passive OAM entity cannot. 
             The default value of OamMode is dependent on the type of system on which this 
             Ethernet like interface resides. The default value should be 'active(2)' unless it 
             is known that this system should take on a subservient role to the other device 
             connected over this interface. Changing this value results in incrementing the 
             configuration revision field of locally generated OAMPDUs (30.3.6.1.12) and 
             potentially re-doing the OAM discovery process if the OamOperStatus was already 
             operational(9)."
        ::= { dot3OamEntry 3 }
        
    dot3OamMaxOamPduSize OBJECT-TYPE 
        SYNTAX       Unsigned32 (64..1518) 
        UNITS        "octets"                                             
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The largest OAMPDU that the OAM entity supports. OAM entities exchange maximum 
             OAMPDU sizes and negotiate to use the smaller of the two maximum OAMPDU sizes 
             between the peers. This value is determined by the local implementation. "
        ::= { dot3OamEntry 4 }
        
    dot3OamConfigRevision OBJECT-TYPE 
        SYNTAX       Unsigned32 (0..65535)
        UNITS        "octets"                                             
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The configuration revision of the OAM entity as reflected in the latest OAMPDU 
             sent by the OAM entity. The config revision is used by OAM entities to indicate 
             configuration changes have occurred which might require the peer OAM entity to 
             re-evaluate whether OAM peering is allowed. "
        ::= { dot3OamEntry 5 }
        
    dot3OamFunctionsSupported OBJECT-TYPE 
        SYNTAX       BITS{ 
                     unidirectionalSupport (0), 
                     loopbackSupport(1), 
                     eventSupport(2), 
                     variableSupport(3) 
                     }                                                  
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The OAM functions supported on this Ethernet like interface. OAM consists of 
            separate functional sets beyond the basic discovery process which is always required. 
            These functional groups can be supported independently by any implementation. These 
            values are communicated to the peer via the local configuration field of Information 
            OAMPDUs. Setting 'unidirectionalSupport(0)' indicates that the OAM entity supports 
            the transmission of OAMPDUs on links that are operating in undirectional mode 
            (traffic flowing in one direction only). Setting 'loopbackSupport(1)' indicates 
            the OAM entity can initiate and respond to loopback commands. Setting 'eventSupport(2)' 
            indicates the OAM entity can send and receive Event Notification OAMPDUs. Setting 
            'variableSupport(3)' indicates the OAM entity can send and receive Variable Request 
            and Response OAMPDUs. "
        ::= { dot3OamEntry 6 }
        
    dot3OamPeerTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF Dot3OamPeerEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "This table contains information about the OAM peer for a particular Ethernet 
                 like interface. OAM entities communicate with a single OAM peer entity on 
                 Ethernet links on which OAM is enabled and operating properly. There is one 
                 entry in this table for each entry in the OamTable for which information 
                 on the peer OAM entity is available."
            ::= { dot3OamObjects 2 }
              
    dot3OamPeerEntry OBJECT-TYPE
            SYNTAX         Dot3OamPeerEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "An entry in the table, containing information on the peer OAM entity for 
                 a single Ethernet like interface. Note that there is at most one OAM peer 
                 for each Ethernet like interface. Entries are automatically created when 
                 information about the OAM peer entity becomes available, and automatically 
                 deleted when the OAM peer entity is no longer in communication. Peer 
                 information is not available when OamOperStatus is disabled(1), 
                 linkFault(2), passiveWait(3), activeSendLocal(4). or nonOperHalfDuplex(10))."
            INDEX    { ifIndex } 
            ::= { dot3OamPeerTable 1}
            
    Dot3OamPeerEntry ::= 
        SEQUENCE {    
                dot3OamPeerMacAddress                   MacAddress, 
                dot3OamPeerVendorOui                    Dot3Oui, 
                dot3OamPeerVendorInfo                   Unsigned32, 
                dot3OamPeerMode                         INTEGER, 
                dot3OamPeerMaxOamPduSize                Unsigned32, 
                dot3OamPeerConfigRevision               Unsigned32, 
                dot3OamPeerFunctionsSupported           BITS          
                } 
                
    dot3OamPeerMacAddress OBJECT-TYPE 
        SYNTAX       MacAddress                          
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The MAC address of the peer OAM entity. The MAC address is derived from 
             the most recently received OAMPDU."
        ::= { dot3OamPeerEntry 1 }
        
    dot3OamPeerVendorOui OBJECT-TYPE 
        SYNTAX       Dot3Oui                          
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The OUI of the OAM peer as reflected in the latest Information OAMPDU 
             received with a Local Information TLV. The OUI can be used to identify 
             the vendor of the remote OAM entity. This value is initialized to three 
             octets of zero before any Local Information TLV is received."
        ::= { dot3OamPeerEntry 2 }
        
    dot3OamPeerVendorInfo OBJECT-TYPE 
        SYNTAX       Unsigned32                          
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The Vendor Info of the OAM peer as reflected in the latest Information 
            OAMPDU received with a Local Information TLV. The vendor information field 
            is within the Local Information TLV, and can be used to determine additional 
            information about the peer entity. The format of the vendor information is 
            unspecified within the 32-bit field. This value is initialized to zero before 
            any Local Information TLV is received."
        ::= { dot3OamPeerEntry 3 }
        
    dot3OamPeerMode OBJECT-TYPE 
        SYNTAX       INTEGER{ 
                     passive(1), 
                     active(2), 
                     unknown(3)
                     }                         
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The mode of the OAM peer as reflected in the latest Information OAMPDU received 
             with a Local Information TLV. The mode of the peer can be determined from the 
             Configuration field in the Local Information TLV of the last Information OAMPDU 
             received from the peer. The value is unknown(3) whenever no Local Information 
             TLV has been received. The values of active(2) and passive(1) are returned when 
             a Local Information TLV has been received indicating the peer is in active or 
             passive mode, respectively."
        ::= { dot3OamPeerEntry 4 }
        
    dot3OamPeerMaxOamPduSize OBJECT-TYPE 
        SYNTAX       Unsigned32 (0 | 64..1518)
        UNITS        "octets"                       
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The maximum size of OAMPDU supported by the peer as reflected in the latest 
             Information OAMPDU received with a Local Information TLV. Ethernet OAM on 
             this interface must not use OAMPDUs that exceed this size. The maximum OAMPDU 
             size can be determined from the PDU Configuration field of the Local Information 
             TLV of the last Information OAMPDU received from the peer. A value of zero is 
             returned if no Local Information TLV has been received. Otherwise, the value of 
             the OAM peer's maximum OAMPDU size is returned in this value."
        ::= { dot3OamPeerEntry 5 }
        
    dot3OamPeerConfigRevision OBJECT-TYPE 
        SYNTAX       Unsigned32(0..65535)                   
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The configuration revision of the OAM peer as reflected in the latest OAMPDU. 
             This attribute is changed by the peer whenever it has a local configuration change 
             for Ethernet OAM this interface. The configuration revision can be determined from 
             the Revision field of the Local Information TLV of the most recently received 
             Information OAMPDU with a Local Information TLV. A value of zero is returned if 
             no Local Information TLV has been received."
        ::= { dot3OamPeerEntry 6 }
        
    dot3OamPeerFunctionsSupported OBJECT-TYPE 
        SYNTAX       BITS{ 
                     unidirectionalSupport(0), 
                     loopbackSupport(1), 
                     eventSupport(2), 
                     variableSupport(3)
                     }                  
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The OAM functions supported on this Ethernet like interface. OAM consists of 
             separate functionality sets above the basic discovery process. This value 
             indicates the capabilities of the peer OAM entity with respect to these functions. 
             This value is initialized so all bits are clear. If unidirectionalSupport(0) is 
             set, then the peer OAM entity supports sending OAM frames on Ethernet interfaces 
             when the receive path is known to be inoperable. If loopbackSupport(1) is set, 
             then the peer OAM entity can send and receive OAM loopback commands. If eventSupport(2) 
             is set, then the peer OAM entity can send and receive event OAMPDUs to signal various 
             error conditions. If variableSupport(3) is set, then the peer OAM entity can send and 
             receive variable requests to monitor attribute value as described in Clause 57 of [802.3ah].
             The capabilities of the OAM peer can be determined from the configuration field of 
             the Local Information TLV of the most recently received Information OAMPDU with a Local 
             Information TLV. All zeros are returned if no Local Information TLV has yet been received."
        ::= { dot3OamPeerEntry 7 }
        
    dot3OamLoopbackTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF Dot3OamLoopbackEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "This table contains controls for the loopback state of the local link as well 
                 as indicating the status of the loopback function. There is one entry in this 
                 table for each entry in OamTable that supports loopback functionality 
                 (where OamFunctionsSupported includes the loopbackSupport bit set). 
                 Loopback can be used to place the remote OAM entity in a state where every 
                 received frame (except OAMPDUs) are echoed back over the same interface 
                 on which they were received. In this state, at the remote entity, 'normal' 
                 traffic is disabled as only the looped back frames are transmitted on 
                 the interface. Loopback is thus an intrusive operation that prohibits normal 
                 data flow and should be used accordingly. "
            ::= { dot3OamObjects 3 }
              
    dot3OamLoopbackEntry OBJECT-TYPE
            SYNTAX         Dot3OamLoopbackEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "An entry in the table, containing information on the peer OAM entity for 
                 a single Ethernet like interface. Note that there is at most one OAM peer 
                 for each Ethernet like interface. Entries are automatically created when 
                 information about the OAM peer entity becomes available, and automatically 
                 deleted when the OAM peer entity is no longer in communication. Peer 
                 information is not available when OamOperStatus is disabled(1), 
                 linkFault(2), passiveWait(3), activeSendLocal(4). or nonOperHalfDuplex(10))."
            INDEX    { ifIndex } 
            ::= { dot3OamLoopbackTable 1}
            
    Dot3OamLoopbackEntry ::= 
        SEQUENCE {  
                dot3OamLoopbackStatus                   INTEGER, 
                dot3OamLoopbackIgnoreRx                 INTEGER    
                } 
                
    dot3OamLoopbackStatus OBJECT-TYPE 
        SYNTAX       INTEGER{ 
                     -- all values, except where noted, can be read 
                     -- but cannot be written 
                     noLoopback (1), 
                     -- initiatingLoopback can be read or written 
                     initiatingLoopback (2), 
                     remoteLoopback (3), 
                     -- terminatingLoopback can be read or written 
                     terminatingLoopback (4), 
                     localLoopback (5), 
                     unknown (6)
                     }                         
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The loopback status of the OAM entity. This status is determined by 
             a combination of the local parser and multiplexer states, the remote 
             parser and multiplexer states, as well as by the actions of the local 
             OAM client. When operating in normal mode with no loopback in progress, 
             the status reads noLoopback(1). The values initiatingLooopback(2) and 
             terminatingLoopback(4) can be read or written. The other values can only 
             be read - they can never be written. Writing initiatingLoopback causes the 
             local OAM entity to start the loopback process with its peer. This value 
             can only be written when the status is noLoopback(1). Writing the value 
             initiatingLoopback(2) in any other state has no effect. When in remoteLoopback(3), 
             writing terminatingLoopback(4) causes the local OAM entity to initiate the 
             termination of the loopback state. Writing terminatingLoopack(4) in any other 
             state has no effect. If the OAM client initiates a looopback and has sent an 
             Loopback OAMPDU and is waiting for a response, where the local parser and 
             multiplexer states are DISCARD (see [802.3ah, 57.2.11.1]), the status is 
             'initiatingLoopback'. In this case, the local OAM entity has yet to receive any 
             acknowledgement that the remote OAM entity has received its loopback command 
             request. If the local OAM client knows that the remote OAM entity is in loopback 
             mode (via the remote state information as described in [802.3ah, 57.2.11.1, 30.3.6.1.15]), 
             the status is remoteLoopback(3). If the local OAM client is in the process of 
             terminating the remote loopback [802.3ah, 57.2.11.3, 30.3.6.1.14], with its local 
             multiplexer and parser states in DISCARD, the status is terminatingLoopback(4). If 
             the remote OAM client has put the local OAM entity in loopback mode as indicated by 
             its local parser state, the status is localLoopback(5). The unknown(6) status indicates 
             the parser and multiplexer combination is unexpected. This status may be returned if 
             the OAM loopback is in a transition state but should not persist."
        ::= { dot3OamLoopbackEntry 1 }
        
     dot3OamLoopbackIgnoreRx OBJECT-TYPE 
        SYNTAX       INTEGER{ 
                     ignore(1), 
                     process(2)
                     }                         
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "Since OAM loopback is a distruptive operation (user traffic does not pass), this 
             attribute provides a mechanism to provide controls over whether received OAM loopback 
             commands are processed or ignored. When the value is ignore(1), received loopback commands 
             are ignored. When the value is process(2), OAM loopback commands are processed. The default 
             value is to ignore loopback commands (ignore(1))."
        ::= { dot3OamLoopbackEntry 2 }
        
     dot3OamStatsTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF Dot3OamStatsEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "This table contains statistics for the OAM function on a particular Ethernet 
                 like interface. There is an entry in the table for every entry in the OamTable. 
                 The counters in this table are defined as 32-bit entries to match the counter size 
                 as defined in [802.3ah]. Given the OAM protocol is a slow protocol, the counters 
                 increment at a slow rate."
            ::= { dot3OamObjects 4 }
              
    dot3OamStatsEntry OBJECT-TYPE
            SYNTAX         Dot3OamStatsEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "An entry in the table, containing statistics information on the Ethernet OAM 
                 function for a single Ethernet like interface. Entries are automatically created 
                 for every entry in the OamTable. Counters are maintained across transitions 
                 in OamOperStatus."
            INDEX    { ifIndex } 
            ::= { dot3OamStatsTable 1}
            
    Dot3OamStatsEntry ::= 
        SEQUENCE {   
                dot3OamInformationTx                    Counter32, 
                dot3OamInformationRx                    Counter32, 
                dot3OamUniqueEventNotificationTx        Counter32, 
                dot3OamUniqueEventNotificationRx        Counter32, 
                dot3OamDuplicateEventNotificationTx     Counter32, 
                dot3OamDuplicateEventNotificationRx     Counter32, 
                dot3OamLoopbackControlTx                Counter32, 
                dot3OamLoopbackControlRx                Counter32,   
                dot3OamVariableRequestTx                Counter32, 
                dot3OamVariableRequestRx                Counter32, 
                dot3OamVariableResponseTx               Counter32, 
                dot3OamVariableResponseRx               Counter32, 
                dot3OamOrgSpecificTx                    Counter32, 
                dot3OamOrgSpecificRx                    Counter32, 
                dot3OamUnsupportedCodesTx               Counter32, 
                dot3OamUnsupportedCodesRx               Counter32, 
                dot3OamFramesLostDueToOam               Counter32    
                } 
                
    dot3OamInformationTx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of Information OAMPDUs transmitted on this interface. 
             Discontinuities of this counter can occur at re-initialization of the management 
             system, and at other times as indicated by the value of the 
             ifCounterDiscontinuityTime. "
        ::= { dot3OamStatsEntry 1 }
        
    dot3OamInformationRx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of Information OAMPDUs received on this interface. 
             Discontinuities of this counter can occur at re-initialization of the management 
             system, and at other times as indicated by the value of the 
             ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 2 }
        
    dot3OamUniqueEventNotificationTx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of unique Event OAMPDUs transmitted on this interface. 
             Event notifications may be sent in duplicate to increase the probability of 
             successfully being received, given the possiblity that a frame may be lost 
             in transit. Duplicate Event Notification transmissions are counted by 
             OamDuplicateEventNotificationTx. A unique Event Notification OAMPDU is 
             indicated as an Event Notification OAMPDU with a Sequence Number field that 
             is distinct from the previously transmitted Event Notification OAMPDU Sequence 
             Number. Discontinuities of this counter can occur at re-initialization of the 
             management system, and at other times as indicated by the value of the 
             ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 3 }
        
    dot3OamUniqueEventNotificationRx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of unique Event OAMPDUs received on this interface. 
             Event notification OAMPDUs may be sent in duplicate to increase the probability 
             of successfully being received, given the possiblity that a frame may be lost 
             in transit. Duplicate Event Notification receptions are counted by 
             OamDuplicateEventNotificationRx. A unique Event Notification OAMPDU is 
             indicated as an Event Notification OAMPDU with a Sequence Number field that is 
             distinct from the previously received Event Notification OAMPDU Sequence Number. 
             Discontinuities of this counter can occur at re-initialization of the management 
             system, and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 4 }
        
    dot3OamDuplicateEventNotificationTx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of duplicate Event OAMPDUs transmitted on this interface. 
            Event notification OAMPDUs may be sent in duplicate to increase the probability 
            of successfully being received, given the possiblity that a frame may be lost in 
            transit. A duplicate Event Notification OAMPDU is indicated as an Event Notification 
            OAMPDU with a Sequence Number field that is identical to the previously transmitted 
            Event Notification OAMPDU Sequence Number. Discontinuities of this counter can occur 
            at re-initialization of the management system, and at other times as indicated by the 
            value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 5 }
        
    dot3OamDuplicateEventNotificationRx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of duplicate Event OAMPDUs received on this interface. 
             Event notification OAMPDUs may be sent in duplicate to increase the probability of 
             successfully being received, given the possibility that a frame may be lost in transit. 
             A duplicate Event Notification OAMPDU is indicated as an Event Notification OAMPDU 
             with a Sequence Number field that is identical to the previously received Event 
             Notification OAMPDU Sequence Number. Discontinuities of this counter can occur at 
             re-initialization of the management system, and at other times as indicated by the 
             value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 6 }
        
    dot3OamLoopbackControlTx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of Loopback Control OAMPDUs transmitted on this interface. 
             Discontinuities of this counter can occur at re-initialization of the management 
             system, and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 7 }
        
    dot3OamLoopbackControlRx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of Loopback Control OAMPDUs received on this interface. 
             Discontinuities of this counter can occur at re-initialization of the management 
             system, and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 8 }
        
    dot3OamVariableRequestTx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of Variable Request OAMPDUs transmitted on this interface. 
             Discontinuities of this counter can occur at re-initialization of the management 
             system, and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 9 }
        
    dot3OamVariableRequestRx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of Variable Request OAMPDUs received on this interface. 
             Discontinuities of this counter can occur at re-initialization of the management 
             system, and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 10 }
        
    dot3OamVariableResponseTx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of Variable Response OAMPDUs transmitted on this interface. 
             Discontinuities of this counter can occur at re-initialization of the management 
             system, and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 11 }
        
    dot3OamVariableResponseRx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of Variable Response OAMPDUs received on this interface. 
            Discontinuities of this counter can occur at re-initialization of the management 
            system, and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 12 }
        
    dot3OamOrgSpecificTx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of Organization Specific OAMPDUs transmitted on this interface.
             Discontinuities of this counter can occur at re-initialization of the management 
             system, and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 13 }
        
    dot3OamOrgSpecificRx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of Organization Specific OAMPDUs received on this interface. 
            Discontinuities of this counter can occur at re-initialization of the management 
            system, and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 14 }
        
    dot3OamUnsupportedCodesTx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of OAMPDUs transmitted on this interface with an unsupported 
             op-code. Discontinuities of this counter can occur at re-initialization of the management 
             system, and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 15 }
        
    dot3OamUnsupportedCodesRx OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of OAMPDUs received on this interface with an unsupported op-code.
             Discontinuities of this counter can occur at re-initialization of the management system, 
             and at other times as indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 16 }
        
    dot3OamFramesLostDueToOam OBJECT-TYPE 
        SYNTAX       Counter32  
        UNITS        "frames"                        
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "A count of the number of frames that were dropped by the OAM multiplexer. Since the 
             OAM mulitplexer has multiple inputs and a single output, there may be cases where 
             frames are dropped due to transmit resource contention. This counter is incremented 
             whenever a frame is dropped by the OAM layer. Note that any Ethernet frame, not just 
             OAMPDUs, may be dropped by the OAM layer. This can occur when an OAMPDU takes precedence 
             over a 'normal' frame resulting in the 'normal' frame being dropped. When this counter 
             is incremented, no other counters in this MIB are incremented. Discontinuities of this 
             counter can occur at re-initialization of the management system, and at other times as 
             indicated by the value of the ifCounterDiscontinuityTime."
        ::= { dot3OamStatsEntry 17 }
        
    dot3OamEventConfigTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF Dot3OamEventConfigEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "Ethernet OAM includes the ability to generate and receive Event Notification OAMPDUs 
                 to indicate various link problems. This table contains the mechanisms to enable 
                 Event Notifications and configure the thresholds to generate the standard Ethernet 
                 OAM events. There is one entry in the table for every entry in OamTable that 
                 supports OAM events (where OamFunctionsSupported includes the eventSupport bit set). 
                 The values in the table are maintained across changes to OamOperStatus. There 
                 are other events (dying gasp, critical events) that are not threshold crossing 
                 events but which can be enabled/disabled via this table."
            ::= { dot3OamObjects 5 }
              
    dot3OamEventConfigEntry OBJECT-TYPE
            SYNTAX         Dot3OamEventConfigEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "Entries are automatically created and deleted from this table, and exist 
                 whenever the OAM entity supports Ethernet OAM events (as indicated by the 
                 eventSupport bit in OamFunctionsSuppported). Values in the table are 
                 maintained across changes to the value of OamOperStatus. Event configuration 
                 controls when the local management entity sends Event Notification OAMPDUs 
                 to its OAM peer, and when certain event flags are set or cleared in OAMPDUs."
            INDEX    { ifIndex } 
            ::= { dot3OamEventConfigTable 1}
            
    Dot3OamEventConfigEntry ::= 
        SEQUENCE { 
                dot3OamErrSymPeriodWindowHi             Unsigned32, 
                dot3OamErrSymPeriodWindowLo             Unsigned32, 
                dot3OamErrSymPeriodThresholdHi          Unsigned32, 
                dot3OamErrSymPeriodThresholdLo          Unsigned32, 
                dot3OamErrSymPeriodEvNotifEnable        TruthValue, 
                dot3OamErrFramePeriodWindow             Unsigned32, 
                dot3OamErrFramePeriodThreshold          Unsigned32, 
                dot3OamErrFramePeriodEvNotifEnable      TruthValue, 
                dot3OamErrFrameWindow                   Unsigned32, 
                dot3OamErrFrameThreshold                Unsigned32, 
                dot3OamErrFrameEvNotifEnable            TruthValue, 
                dot3OamErrFrameSecsSummaryWindow        Integer32, 
                dot3OamErrFrameSecsSummaryThreshold     Integer32, 
                dot3OamErrFrameSecsEvNotifEnable        TruthValue, 
                dot3OamDyingGaspEnable                  TruthValue, 
                dot3OamCriticalEventEnable              TruthValue 
                } 
                
    dot3OamErrSymPeriodWindowHi OBJECT-TYPE 
        SYNTAX       Unsigned32
        UNITS        "2^32 symbols"                                
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The two objects OamErrSymPeriodWindowHi and OamErrSymPeriodLo 
             together form an unsigned 64-bit integer representing the number of 
             symbols over which this threshold event is defined. This is defined as 
             OamErrSymPeriodWindow = ((2^32)*OamErrSymPeriodWindowHi) + 
             OamErrSymPeriodWindowLo If OamErrSymPeriodThreshold symbol 
             errors occur within a window of OamErrSymPeriodWindow symbols, an 
             Event Notification OAMPDU should be generated with an Errored Symbol 
             Period Event TLV indicating the threshold has been crossed in this window. 
             The default value for OamErrSymPeriodWindow is the number of symbols 
             in one second for the underlying physical layer."
        ::= { dot3OamEventConfigEntry 1 }
        
    dot3OamErrSymPeriodWindowLo OBJECT-TYPE 
        SYNTAX       Unsigned32
        UNITS        "symbols"                                
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The two objects OamErrSymPeriodWindowHi and OamErrSymPeriodWindowLo 
             together form an unsigned 64-bit integer representing the number of symbols 
             over which this threshold event is defined. This is defined as OamErrSymPeriodWindow 
             = ((2^32)*OamErrSymPeriodWindowHi) + OamErrSymPeriodWindowLo If 
             OamErrSymPeriodThreshold symbol errors occur within a window of 
             OamErrSymPeriodWindow symbols, an Event Notification OAMPDU should be 
             generated with an Errored Symbol Period Event TLV indicating the threshold 
             has been crossed in this window. The default value for OamErrSymPeriodWindow 
             is the number of symbols in one second for the underlying physical layer."
        ::= { dot3OamEventConfigEntry 2 }
        
    dot3OamErrSymPeriodThresholdHi OBJECT-TYPE 
        SYNTAX       Unsigned32
        UNITS        "2^32 symbols"                               
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The two objects OamErrSymPeriodThresholdHi and OamErrSymPeriodThresholdLo 
            together form an unsigned 64-bit integer representing the number of symbol errors 
            that must occur within a given window to cause this event. This is defined as 
            OamErrSymPeriodThreshold = ((2^32) * OamErrSymPeriodThresholdHi) + 
            OamErrSymPeriodThresholdLo If OamErrSymPeriodThreshold symbol errors 
            occur within a window of OamErrSymPeriodWindow symbols, an Event Notification 
            OAMPDU should be generated with an Errored Symbol Period Event TLV indicating the 
            threshold has been crossed in this window. The default value for 
            OamErrSymPeriodThreshold is one symbol errors. If the threshold value is zero, 
            then an Event Notification OAMPDU is sent periodically (at the end of every window). 
            This can be used as an asynchronous notification to the peer OAM entity of the 
            statistics related to this threshold crossing alarm."
        ::= { dot3OamEventConfigEntry 3}
        
     dot3OamErrSymPeriodThresholdLo OBJECT-TYPE 
        SYNTAX       Unsigned32
        UNITS        "symbols"                              
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The two objects OamErrSymPeriodThresholdHi and OamErrSymPeriodThresholdLo 
            together form an unsigned 64-bit integer representing the number of symbol errors 
            that must occur within a given window to cause this event. This is defined as 
            OamErrSymPeriodThreshold = ((2^32) * OamErrSymPeriodThresholdHi) + 
            OamErrSymPeriodThresholdLo If OamErrSymPeriodThreshold symbol errors occur 
            within a window of OamErrSymPeriodWindow symbols, an Event Notification OAMPDU 
            should be generated with an Errored Symbol Period Event TLV indicating the threshold 
            has been crossed in this window. The default value for OamErrSymPeriodThreshold 
            is one symbol error. If the threshold value is zero, then an Event Notification 
            OAMPDU is sent periodically (at the end of every window). This can be used as an 
            asynchronous notification to the peer OAM entity of the statistics related to this 
            threshold crossing alarm."
        ::= { dot3OamEventConfigEntry 4}
        
    dot3OamErrSymPeriodEvNotifEnable OBJECT-TYPE 
        SYNTAX       TruthValue                                     
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "If true, the OAM entity should send an Event Notification OAMPDU when an Errored 
             Symbol Period Event occurs. By default, this object should have the value true for 
             Ethernet like interfaces that support OAM. If the OAM layer does not support event 
             notifications (as indicated via the OamFunctionsSupported attribute), this 
             value is ignored."
        ::= { dot3OamEventConfigEntry 5}
        
     dot3OamErrFramePeriodWindow OBJECT-TYPE 
        SYNTAX       Unsigned32     
        UNITS        "frames"                                
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The number of frames over which the threshold is defined. The default value of 
             the window is the number of minimum size Ethernet frames that can be received 
             over the physical layer in one second. If OamErrFramePeriodThreshold frame 
             errors occur within a window of OamErrFramePeriodWindow frames, an Event 
             Notification OAMPDU should be generated with an Errored Frame Period Event TLV 
             indicating the threshold has been crossed in this window."
        ::= { dot3OamEventConfigEntry 6}
        
    dot3OamErrFramePeriodThreshold OBJECT-TYPE 
        SYNTAX       Unsigned32     
        UNITS        "frames"                                
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The number of frame errors that must occur for this event to be triggered. The 
             default value is one frame error. If the threshold value is zero, then an Event 
             Notification OAMPDU is sent periodically (at the end of every window). This can 
             be used as an asynchronous notification to the peer OAM entity of the statistics 
             related to this threshold crossing alarm. If OamErrFramePeriodThreshold frame 
             errors occur within a window of OamErrFramePeriodWindow frames, an Event 
             Notification OAMPDU should be generated with an Errored Frame Period Event TLV 
             indicating the threshold has been crossed in this window."
        ::= { dot3OamEventConfigEntry 7}
        
    dot3OamErrFramePeriodEvNotifEnable OBJECT-TYPE 
        SYNTAX       TruthValue                                         
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "If true, the OAM entity should send an Event Notification OAMPDU when an Errored 
             Frame Period Event occurs. By default, this object should have the value true 
             for Ethernet like interfaces that support OAM. If the OAM layer does not support 
             event notifications (as indicated via the OamFunctionsSupported attribute), 
             this value is ignored."
        ::= { dot3OamEventConfigEntry 8}
        
    dot3OamErrFrameWindow OBJECT-TYPE 
        SYNTAX       Unsigned32       
        UNITS        "tenths of a second"                                  
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The amount of time (in 100ms increments) over which the threshold is defined. 
             The default value is 10 (1 second). If OamErrFrameThreshold frame errors occur 
             within a window of OamErrFrameWindow seconds (measured in tenths of seconds), 
             an Event Notification OAMPDU should be generated with an Errored Frame Event TLV 
             indicating the threshold has been crossed in this window."
        ::= { dot3OamEventConfigEntry 9}
        
    dot3OamErrFrameThreshold OBJECT-TYPE 
        SYNTAX       Unsigned32       
        UNITS        "frames"                                  
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The number of frame errors that must occur for this event to be triggered. The 
             default value is one frame error. If the threshold value is zero, then an Event 
             Notification OAMPDU is sent periodically (at the end of every window). This can 
             be used as an asynchronous notification to the peer OAM entity of the statistics 
             related to this threshold crossing alarm. If OamErrFrameThreshold frame errors 
             occur within a window of OamErrFrameWindow (in tenths of seconds), an Event 
             Notification OAMPDU should be generated with an Errored Frame Event TLV indicating 
             the threshold has been crossed in this window."
        ::= { dot3OamEventConfigEntry 10}
        
    dot3OamErrFrameEvNotifEnable OBJECT-TYPE 
        SYNTAX       TruthValue                                       
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "If true, the OAM entity should send an Event Notification OAMPDU when an Errored 
            Frame Event occurs. By default, this object should have the value true for Ethernet 
            like interfaces that support OAM. If the OAM layer does not support event notifications 
            (as indicated via the OamFunctionsSupported attribute), this value is ignored."
        ::= { dot3OamEventConfigEntry 11}
        
    dot3OamErrFrameSecsSummaryWindow OBJECT-TYPE 
        SYNTAX       Integer32(100..9000)  
        UNITS        "tenths of a second"                                    
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The amount of time (in 100ms intervals) over which the threshold is defined. 
             The default value is 100 (10 seconds). If OamErrFrameSecsSummaryThreshold 
             frame errors occur within a window of OamErrFrameSecsSummaryWindow (in tenths 
             of seconds), an Event Notification OAMPDU should be generated with an Errored Frame 
             Seconds Summary Event TLV indicating the threshold has been crossed in this window."
        ::= { dot3OamEventConfigEntry 12}
        
    dot3OamErrFrameSecsSummaryThreshold OBJECT-TYPE 
        SYNTAX       Integer32(1..900)  
        UNITS        "errored frame seconds"                                    
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "The number of errored frame seconds that must occur for this event to be triggered. 
             The default value is one errored frame second. If the threshold value is zero, then 
             an Event Notification OAMPDU is sent periodically (at the end of every window). 
             This can be used as an asynchronous notification to the peer OAM entity of the 
             statistics related to this threshold crossing alarm. If OamErrFrameSecsSummaryThreshold 
             frame errors occur within a window of OamErrFrameSecsSummaryWindow (in tenths of 
             seconds), an Event Notification OAMPDU should be generated with an Errored Frame 
             Seconds Summary Event TLV indicating the threshold has been crossed in this window."
        ::= { dot3OamEventConfigEntry 13}
        
    dot3OamErrFrameSecsEvNotifEnable OBJECT-TYPE 
        SYNTAX       TruthValue                                             
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "If true, the local OAM entity should send an Event Notification OAMPDU when an 
             Errored Frame Seconds Event occurs. By default, this object should have the value 
             true for Ethernet like interfaces that support OAM. If the OAM layer does not support 
             event notifications (as indicated via the OamFunctionsSupported attribute), 
             this value is ignored."
        ::= { dot3OamEventConfigEntry 14}
        
    dot3OamDyingGaspEnable OBJECT-TYPE 
        SYNTAX       TruthValue                                             
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "If true, the local OAM entity should attempt to indicate a dying gasp via 
             the OAMPDU flags field to its peer OAM entity when a dying gasp event occurs. 
             The exact definition of a dying gasp event is implementation dependent. If 
             the system does not support dying gasp capability, setting this object has 
             no effect, and reading the object should always result in 'false'.By default, 
             this object should have the value true for Ethernet like interfaces that 
             support OAM. If the OAM layer does not support event notifications (as 
             indicated via the OamFunctionsSupported attribute), this value is ignored."
        ::= { dot3OamEventConfigEntry 15}
        
    dot3OamCriticalEventEnable OBJECT-TYPE 
        SYNTAX       TruthValue                                             
        MAX-ACCESS   read-write
        STATUS       current 
        DESCRIPTION
            "If true, the local OAM entity should attempt to indicate a critical event 
             via the OAMPDU flags to its peer OAM entity when a critical event occurs. 
             The exact definition of a critical event is implementation dependent. If 
             the system does not support critical event capability, setting this object 
             has no effect, and reading the object should always result in 'false'. By 
             default, this object should have the value true for Ethernet like interfaces 
             that support OAM. If the OAM layer does not support event notifications (as 
             indicated via the OamFunctionsSupported attribute), this value is ignored."
        ::= { dot3OamEventConfigEntry 16}
        
    dot3OamEventLogTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF Dot3OamEventLogEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "This table records a history of the events that have occurred at the Ethernet 
                 OAM level. These events can include locally detected events, which may result 
                 in locally generated OAMPDUs, and remotely detected events, which are detected 
                 by the OAM peer entity and signaled to the local entity via Ethernet OAM. 
                 Ethernet OAM events can be signaled by Event Notification OAMPDUs or by the 
                 flags field in any OAMPDU. This table contains both threshold crossing events 
                 and non-threshold crossing events. The parameters for the threshold window, 
                 threshold value, and actual value (OamEventLogWindowXX, OamEventLogThresholdXX, 
                 OamEventLogValue) are only applicable to threshold crossing events, and 
                 are returned as all F's (2^32 - 1) for non-threshold crossing events. Entries 
                 in the table are automatically created when such events are detected. The size 
                 of the table is implementation dependent. When the table reaches its maximum 
                 size, older entries are automatically deleted to make room for newer entries."
            ::= { dot3OamObjects 6 }
              
    dot3OamEventLogEntry OBJECT-TYPE
            SYNTAX         Dot3OamEventLogEntry 
            MAX-ACCESS     not-accessible 
            STATUS         current 
            DESCRIPTION 
                "An entry in the OamEventLogTable. Entries are automatically created whenever 
                 Ethernet OAM events occur at the local OAM entity, and when Event Notification 
                 OAMPDUs are received at the local OAM entity (indicating events have occurred at 
                 the peer OAM entity). The size of the table is implementation dependent, but 
                 when the table becomes full, older events are automatically deleted to make 
                 room for newer events. The table index OamEventLogIndex increments for 
                 each new entry, and when the maximum value is reached the value restarts at zero."
            INDEX    { ifIndex, dot3OamEventLogIndex} 
            ::= { dot3OamEventLogTable 1}
            
    Dot3OamEventLogEntry ::= 
        SEQUENCE { 
                dot3OamEventLogIndex                    Unsigned32, 
                dot3OamEventLogTimestamp                TimeStamp, 
                dot3OamEventLogOui                      Dot3Oui, 
                dot3OamEventLogType                     Unsigned32, 
                dot3OamEventLogLocation                 INTEGER, 
                dot3OamEventLogWindowHi                 Unsigned32, 
                dot3OamEventLogWindowLo                 Unsigned32, 
                dot3OamEventLogThresholdHi              Unsigned32, 
                dot3OamEventLogThresholdLo              Unsigned32, 
                dot3OamEventLogValue                    CounterBasedGauge64, 
                dot3OamEventLogRunningTotal             CounterBasedGauge64, 
                dot3OamEventLogEventTotal               Unsigned32
                } 
                
    dot3OamEventLogIndex OBJECT-TYPE 
        SYNTAX       Unsigned32                                       
        MAX-ACCESS   not-accessible
        STATUS       current 
        DESCRIPTION
            "An arbitrary integer for identifiying individual events within the event log. "
        ::= { dot3OamEventLogEntry 1 }
        
    dot3OamEventLogTimestamp OBJECT-TYPE 
        SYNTAX       TimeStamp                                       
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The value of sysUpTime at the time of the logged event. For locally generated 
            events, the time of the event can be accurately retrieved from sysUpTime. 
            For remotely generated events, the time of the event is indicated by the 
            reception of the Event Notification OAMPDU indicating the event occurred on 
            the peer. A system may attempt to adjust the timestamp value to more accurately 
            reflect the time of the event at the peer OAM entity by using other information, 
            such as that found in the timestamp found of the Event Notification TLVs, which 
            provides an indication of the relative time between events at the peer entity. "
        ::= { dot3OamEventLogEntry 2 }
        
    dot3OamEventLogOui OBJECT-TYPE 
        SYNTAX       Dot3Oui                                       
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The OUI of the entity defining the object type. All IEEE 802.3 defined events 
             (as appearing in [802.3ah] except for the Organizationally Unique Event TLVs) 
             use the IEEE 802.3 OUI of 0x0180C2. Organizations defining their own Event 
             Notification TLVs include their OUI in the Event Notification TLV which gets 
             reflected here. "
        ::= { dot3OamEventLogEntry 3 }
        
    dot3OamEventLogType OBJECT-TYPE 
        SYNTAX       Unsigned32                                       
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "The type of event that generated this entry in the event log. When the OUI is 
             the IEEE 802.3 OUI of 0x0180C2, the following event types are defined: 
             erroredSymbolEvent(1), 
             erroredFramePeriodEvent (2), 
             erroredFrameEvent(3), 
             erroredFrameSecondsEvent(4), 
             linkFault(256), 
             dyingGaspEvent(257), 
             criticalLinkEvent(258) The first four are considered threshold crossing events as
             they are generated when a metric exceeds a given value within a specified window. 
             The other three are not threshold crossing events. When the OUI is not 71874 
             (0x0180C2 in hex), then some other organization has defined the event space. If 
             event subtyping is known to the implementation, it may be reflected here. Otherwise, 
             this value should return all F's (2^32 - 1)."
        ::= { dot3OamEventLogEntry 4 }
        
    dot3OamEventLogLocation OBJECT-TYPE 
        SYNTAX       INTEGER{ 
                     local(1), 
                     remote(2)
                     }                                       
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "Whether this event occurred locally (local(1)), or was received from the OAM peer 
             via Ethernet OAM (remote(2))."
        ::= { dot3OamEventLogEntry 5 }
        
    dot3OamEventLogWindowHi OBJECT-TYPE 
        SYNTAX       Unsigned32                                  
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "If the event represents a threshold crossing event, the two objects 
             OamEventWindowHi and OamEventWindowLo form an unsigned 64-bit 
             integer yielding the window over which the value was measured for the threshold 
             crossing event (for example, 5, when 11 occurrences happened in 5 seconds while 
             the threshold was 10). The two objects are combined as: 
             OamEventLogWindow = ((2^32) * OamEventLogWindowHi) 
                                      + OamEventLogWindowLo
             Otherwise, this value is returned as all F's (2^32 - 1) and adds no useful information."
        ::= { dot3OamEventLogEntry 6 }
        
    dot3OamEventLogWindowLo OBJECT-TYPE 
        SYNTAX       Unsigned32                                  
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "If the event represents a threshold crossing event, the two objects OamEventWindowHi 
             and OamEventWindowLo form an unsigned 64-bit integer yielding the window over which 
             the value was measured for the threshold crossing event (for example, 5, when 11 
             occurrences happened in 5 seconds while the threshold was 10). The two objects are combined as: 
             OamEventLogWindow = ((2^32) * OamEventLogWindowHi) 
                                     + OamEventLogWindowLo 
             Otherwise, this value is returned as all F's (2^32 - 1) and adds no useful information."
        ::= { dot3OamEventLogEntry 7 }
        
    dot3OamEventLogThresholdHi OBJECT-TYPE 
        SYNTAX       Unsigned32                                  
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "If the event represents a threshold crossing event, the two objects OamEventThresholdHi 
             and OamEventThresholdLo form an unsigned 64-bit integer yielding the value that was 
             crossed for the threshold crossing event (for example, 10, when 11 occurrences happened in 
             5 seconds while the threshold was 10). The two objects are combined as: 
             OamEventLogThreshold = ((2^32) * OamEventLogThresholdHi) 
                                         + OamEventLogThresholdLo 
             Otherwise, this value is returned as all F's (2^32 -1) and adds no useful information."
        ::= { dot3OamEventLogEntry 8 }
        
    dot3OamEventLogThresholdLo OBJECT-TYPE 
        SYNTAX       Unsigned32                                  
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "If the event represents a threshold crossing event, the two objects OamEventThresholdHi 
            and OamEventThresholdLo form an unsigned 64-bit integer yielding the value that was 
            crossed for the threshold crossing event (for example, 10, when 11 occurrences happened in 
            5 seconds while the threshold was 10). The two objects are combined as:
            OamEventLogThreshold = ((2^32) * OamEventLogThresholdHi) 
                                       + OamEventLogThresholdLo 
            Otherwise, this value is returned as all F's (2^32 - 1) and adds no useful information."
        ::= { dot3OamEventLogEntry 9 }
        
    dot3OamEventLogValue OBJECT-TYPE 
        SYNTAX       CounterBasedGauge64                                  
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "If the event represents a threshold crossing event, this value indicates the value 
             of the parameter within the given window that generated this event (for example, 
             11, when 11 occurrences happened in 5 seconds while the threshold was 10). Otherwise, 
             this value is returned as all F's (2^64 - 1) and adds no useful information."
        ::= { dot3OamEventLogEntry 10 }
        
    dot3OamEventLogRunningTotal OBJECT-TYPE 
        SYNTAX       CounterBasedGauge64                                  
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "Each Event Notification TLV contains a running total of the number of times an 
             event has occurred, as well as the number of times an Event Notification for 
             the event has been transmitted. For non-threshold crossing events, the number 
             of events (OamLogRunningTotal) and the number of resultant Event Notifications 
             (OamLogEventTotal) should be identical. For threshold crossing events, since 
             multiple occurrences may be required to cross the threshold, these values are likely
             different. This value represents the total number of times this event has happened 
             since the last reset (for example, 3253, when 3253 symbol errors have occurred 
             since the last reset, which has resulted in 51 symbol error threshold crossing 
             events since the last reset)."
        ::= { dot3OamEventLogEntry 11 }
        
    dot3OamEventLogEventTotal OBJECT-TYPE 
        SYNTAX       Unsigned32                                  
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION
            "Each Event Notification TLV contains a running total of the number of times an 
             event has occurred, as well as the number of times an Event Notification for the 
             event has been transmitted. For non-threshold crossing events, the number of 
             events (OamLogRunningTotal) and the number of resultant Event Notifications 
             (OamLogEventTotal) should be identical. For threshold crossing events, since 
             multiple occurrences may be required to cross the threshold, these values are 
             likely different. This value represents the total number of times one or more of 
             these occurrences have resulted in an Event Notification (for example, 51 when 3253 
             symbol errors have occurred since the last reset, which has resulted in 51 symbol 
             error threshold crossing events since the last reset)."
        ::= { dot3OamEventLogEntry 12 }

END
