-- *****************************************************************
-- ZTE AN ETHERNET EFM MIB
--
-- 10-16-2008
--
-- Copyright(c) 2007 ZTE Corporation
-- All rights reserved.
-- *****************************************************************

ZTE-AN-ETH-EFM-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
        zxAn                             FROM ZTE-AN-TC-MIB
        DisplayString                    FROM SNMPv2-TC;       
        zxAnEthOamObjects                OBJECT IDENTIFIER ::={zxAn 61}
    
    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))        
------------------------------------------------------------------------------
--  zxAnEthOamObjects 
------------------------------------------------------------------------------ 

    zxAnEthOamTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF ZxAnEthOamEntry 
            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]."
            ::= { zxAnEthOamObjects 1 }
              
    zxAnEthOamEntry OBJECT-TYPE
            SYNTAX         ZxAnEthOamEntry 
            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 } 
            ::= { zxAnEthOamTable 1}
            
    ZxAnEthOamEntry ::= 
        SEQUENCE {                                
                zxAnEthOamAdminState                       INTEGER, 
                zxAnEthOamOperStatus                       INTEGER, 
                zxAnEthOamMode                             INTEGER, 
                zxAnEthOamMaxOamPduSize                    Unsigned32, 
                zxAnEthOamConfigRevision                   Unsigned32, 
                zxAnEthOamFunctionsSupported               BITS,
                zxAnEthOamHardwareInfo                     DisplayString,
                zxAnEthOamSoftwareInfo                     DisplayString
                } 
                
    zxAnEthOamAdminState 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."
        ::= { zxAnEthOamEntry 1 }
        
    zxAnEthOamOperStatus 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."
        ::= { zxAnEthOamEntry 2 }
        
    zxAnEthOamMode 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)."
        ::= { zxAnEthOamEntry 3 }
        
    zxAnEthOamMaxOamPduSize 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. "
        ::= { zxAnEthOamEntry 4 }
        
    zxAnEthOamConfigRevision 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. "
        ::= { zxAnEthOamEntry 5 }
        
    zxAnEthOamFunctionsSupported 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. "
        ::= { zxAnEthOamEntry 6 }
    
    zxAnEthOamHardwareInfo OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              MAX-ACCESS  read-only
              STATUS  current 
               DESCRIPTION
                      "A textual description of hardware info."
              DEFVAL  { "Hardware Info" }
               ::= { zxAnEthOamEntry 7 }
    
     zxAnEthOamSoftwareInfo OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              MAX-ACCESS  read-only
              STATUS  current 
               DESCRIPTION
                      "A textual description of software info."
              DEFVAL  { "Software Info" }
               ::= { zxAnEthOamEntry 8 }

        
    zxAnEthOamPeerTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF ZxAnEthOamPeerEntry 
            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."
            ::= { zxAnEthOamObjects 2 }
              
    zxAnEthOamPeerEntry OBJECT-TYPE
            SYNTAX         ZxAnEthOamPeerEntry 
            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 } 
            ::= { zxAnEthOamPeerTable 1}
            
    ZxAnEthOamPeerEntry ::= 
        SEQUENCE {    
                zxAnEthOamPeerMacAddress                   MacAddress, 
                zxAnEthOamPeerVendorOui                    Dot3Oui, 
                zxAnEthOamPeerVendorInfo                   Unsigned32, 
                zxAnEthOamPeerMode                         INTEGER, 
                zxAnEthOamPeerMaxOamPduSize                Unsigned32, 
                zxAnEthOamPeerConfigRevision               Unsigned32, 
                zxAnEthOamPeerFunctionsSupported           BITS          
                } 
                
    zxAnEthOamPeerMacAddress 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."
        ::= { zxAnEthOamPeerEntry 1 }
        
    zxAnEthOamPeerVendorOui 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."
        ::= { zxAnEthOamPeerEntry 2 }
        
    zxAnEthOamPeerVendorInfo 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."
        ::= { zxAnEthOamPeerEntry 3 }
        
    zxAnEthOamPeerMode 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."
        ::= { zxAnEthOamPeerEntry 4 }
        
    zxAnEthOamPeerMaxOamPduSize 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."
        ::= { zxAnEthOamPeerEntry 5 }
        
    zxAnEthOamPeerConfigRevision 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."
        ::= { zxAnEthOamPeerEntry 6 }
        
    zxAnEthOamPeerFunctionsSupported 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."
        ::= { zxAnEthOamPeerEntry 7 }
        
    zxAnEthOamLoopbackTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF ZxAnEthOamLoopbackEntry 
            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. "
            ::= { zxAnEthOamObjects 3 }
              
    zxAnEthOamLoopbackEntry OBJECT-TYPE
            SYNTAX         ZxAnEthOamLoopbackEntry 
            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 } 
            ::= { zxAnEthOamLoopbackTable 1}
            
    ZxAnEthOamLoopbackEntry ::= 
        SEQUENCE {  
                zxAnEthOamLoopbackStatus                   INTEGER, 
                zxAnEthOamLoopbackIgnoreRx                 INTEGER,
                zxAnEthOamLoopbackResult                   INTEGER,
                zxAnEthOamLoopbackSend                     Integer32,
                zxAnEthOamLoopbackRecv                     Integer32         
                } 
                
    zxAnEthOamLoopbackStatus 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-create
        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."
        ::= { zxAnEthOamLoopbackEntry 1 }
        
     zxAnEthOamLoopbackIgnoreRx OBJECT-TYPE 
        SYNTAX       INTEGER{ 
                     ignore(1), 
                     process(2)
                     }                         
        MAX-ACCESS   read-create
        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))."
        ::= { zxAnEthOamLoopbackEntry 2 }
      
     zxAnEthOamLoopbackResult  OBJECT-TYPE
            SYNTAX      INTEGER {
                noResult(0), 
                success(1),
                generalFailed(2), -- Test failed but no detailed reason.                 
                noSupport(3),     -- Current card doesn't support this test.         
                unkown(4),        -- Unkown the test result.                             
                noSuchPort(5),    -- No this port on card                            
                loopBackFailed(6),-- Loop back failed on card                        
                portNotActive(7), -- Some test can't be excuted when port is not actived. 
                portInTesting(8), -- Port in testing and can't excute the new test            
                portInService(9), -- Port in service and can't excute the test                
                portFailures(10), -- Port has failures and can't excute the test             
                cardFailures(11), -- Card has failures and can't excute the test
                noPvcFound(12),   -- No PVC found on the test port 
                unknownTestType(13) -- The test type is not UTOPIA,AFE,HYBRID,ATUC-OAM or ATUR-OAM
            }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                 "This is loop test result and includes reasons for test failures."
            ::= { zxAnEthOamLoopbackEntry 3 }
    zxAnEthOamLoopbackSend  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION
                 "The count of packet will be sent in the loopback test."
                 
             ::= { zxAnEthOamLoopbackEntry 4 }

    zxAnEthOamLoopbackRecv  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                 "The count of recived packet in the loopback test."
             ::= { zxAnEthOamLoopbackEntry 5 } 
        
     zxAnEthOamStatsTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF ZxAnEthOamStatsEntry 
            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."
            ::= { zxAnEthOamObjects 4 }
              
    zxAnEthOamStatsEntry OBJECT-TYPE
            SYNTAX         ZxAnEthOamStatsEntry 
            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 } 
            ::= { zxAnEthOamStatsTable 1}
            
    ZxAnEthOamStatsEntry ::= 
        SEQUENCE {   
                zxAnEthOamInformationTx                    Counter32, 
                zxAnEthOamInformationRx                    Counter32, 
                zxAnEthOamUniqueEventNotificationTx        Counter32, 
                zxAnEthOamUniqueEventNotificationRx        Counter32, 
                zxAnEthOamDuplicateEventNotificationTx     Counter32, 
                zxAnEthOamDuplicateEventNotificationRx     Counter32, 
                zxAnEthOamLoopbackControlTx                Counter32, 
                zxAnEthOamLoopbackControlRx                Counter32,   
                zxAnEthOamVariableRequestTx                Counter32, 
                zxAnEthOamVariableRequestRx                Counter32, 
                zxAnEthOamVariableResponseTx               Counter32, 
                zxAnEthOamVariableResponseRx               Counter32, 
                zxAnEthOamOrgSpecificTx                    Counter32, 
                zxAnEthOamOrgSpecificRx                    Counter32, 
                zxAnEthOamUnsupportedCodesTx               Counter32, 
                zxAnEthOamUnsupportedCodesRx               Counter32, 
                zxAnEthOamFramesLostDueToOam               Counter32    
                } 
                
    zxAnEthOamInformationTx 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. "
        ::= { zxAnEthOamStatsEntry 1 }
        
    zxAnEthOamInformationRx 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."
        ::= { zxAnEthOamStatsEntry 2 }
        
    zxAnEthOamUniqueEventNotificationTx 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."
        ::= { zxAnEthOamStatsEntry 3 }
        
    zxAnEthOamUniqueEventNotificationRx 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."
        ::= { zxAnEthOamStatsEntry 4 }
        
    zxAnEthOamDuplicateEventNotificationTx 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."
        ::= { zxAnEthOamStatsEntry 5 }
        
    zxAnEthOamDuplicateEventNotificationRx 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."
        ::= { zxAnEthOamStatsEntry 6 }
        
    zxAnEthOamLoopbackControlTx 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."
        ::= { zxAnEthOamStatsEntry 7 }
        
    zxAnEthOamLoopbackControlRx 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."
        ::= { zxAnEthOamStatsEntry 8 }
        
    zxAnEthOamVariableRequestTx 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."
        ::= { zxAnEthOamStatsEntry 9 }
        
    zxAnEthOamVariableRequestRx 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."
        ::= { zxAnEthOamStatsEntry 10 }
        
    zxAnEthOamVariableResponseTx 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."
        ::= { zxAnEthOamStatsEntry 11 }
        
    zxAnEthOamVariableResponseRx 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."
        ::= { zxAnEthOamStatsEntry 12 }
        
    zxAnEthOamOrgSpecificTx 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."
        ::= { zxAnEthOamStatsEntry 13 }
        
    zxAnEthOamOrgSpecificRx 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."
        ::= { zxAnEthOamStatsEntry 14 }
        
    zxAnEthOamUnsupportedCodesTx 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."
        ::= { zxAnEthOamStatsEntry 15 }
        
    zxAnEthOamUnsupportedCodesRx 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."
        ::= { zxAnEthOamStatsEntry 16 }
        
    zxAnEthOamFramesLostDueToOam 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."
        ::= { zxAnEthOamStatsEntry 17 }
        
    zxAnEthOamEventConfigTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF ZxAnEthOamEventConfigEntry 
            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."
            ::= { zxAnEthOamObjects 5 }
              
    zxAnEthOamEventConfigEntry OBJECT-TYPE
            SYNTAX         ZxAnEthOamEventConfigEntry 
            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 } 
            ::= { zxAnEthOamEventConfigTable 1}
            
    ZxAnEthOamEventConfigEntry ::= 
        SEQUENCE { 
                zxAnEthOamErrSymPeriodWindowHi             Unsigned32, 
                zxAnEthOamErrSymPeriodWindowLo             Unsigned32, 
                zxAnEthOamErrSymPeriodThresholdHi          Unsigned32, 
                zxAnEthOamErrSymPeriodThresholdLo          Unsigned32, 
                zxAnEthOamErrSymPeriodEvNotifEnable        TruthValue, 
                zxAnEthOamErrFramePeriodWindow             Unsigned32, 
                zxAnEthOamErrFramePeriodThreshold          Unsigned32, 
                zxAnEthOamErrFramePeriodEvNotifEnable      TruthValue, 
                zxAnEthOamErrFrameWindow                   Unsigned32, 
                zxAnEthOamErrFrameThreshold                Unsigned32, 
                zxAnEthOamErrFrameEvNotifEnable            TruthValue, 
                zxAnEthOamErrFrameSecsSummaryWindow        Integer32, 
                zxAnEthOamErrFrameSecsSummaryThreshold     Integer32, 
                zxAnEthOamErrFrameSecsEvNotifEnable        TruthValue, 
                zxAnEthOamDyingGaspEnable                  TruthValue, 
                zxAnEthOamCriticalEventEnable              TruthValue 
                } 
                
    zxAnEthOamErrSymPeriodWindowHi 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."
        ::= { zxAnEthOamEventConfigEntry 1 }
        
    zxAnEthOamErrSymPeriodWindowLo 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."
        ::= { zxAnEthOamEventConfigEntry 2 }
        
    zxAnEthOamErrSymPeriodThresholdHi 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."
        ::= { zxAnEthOamEventConfigEntry 3}
        
     zxAnEthOamErrSymPeriodThresholdLo 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."
        ::= { zxAnEthOamEventConfigEntry 4}
        
    zxAnEthOamErrSymPeriodEvNotifEnable 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."
        ::= { zxAnEthOamEventConfigEntry 5}
        
     zxAnEthOamErrFramePeriodWindow 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."
        ::= { zxAnEthOamEventConfigEntry 6}
        
    zxAnEthOamErrFramePeriodThreshold 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."
        ::= { zxAnEthOamEventConfigEntry 7}
        
    zxAnEthOamErrFramePeriodEvNotifEnable 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."
        ::= { zxAnEthOamEventConfigEntry 8}
        
    zxAnEthOamErrFrameWindow 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."
        ::= { zxAnEthOamEventConfigEntry 9}
        
    zxAnEthOamErrFrameThreshold 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."
        ::= { zxAnEthOamEventConfigEntry 10}
        
    zxAnEthOamErrFrameEvNotifEnable 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."
        ::= { zxAnEthOamEventConfigEntry 11}
        
    zxAnEthOamErrFrameSecsSummaryWindow 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."
        ::= { zxAnEthOamEventConfigEntry 12}
        
    zxAnEthOamErrFrameSecsSummaryThreshold 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."
        ::= { zxAnEthOamEventConfigEntry 13}
        
    zxAnEthOamErrFrameSecsEvNotifEnable 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."
        ::= { zxAnEthOamEventConfigEntry 14}
        
    zxAnEthOamDyingGaspEnable 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."
        ::= { zxAnEthOamEventConfigEntry 15}
        
    zxAnEthOamCriticalEventEnable 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."
        ::= { zxAnEthOamEventConfigEntry 16}
        
    zxAnEthOamEventLogTable OBJECT-TYPE 
            SYNTAX         SEQUENCE OF ZxAnEthOamEventLogEntry 
            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."
            ::= { zxAnEthOamObjects 6 }
              
    zxAnEthOamEventLogEntry OBJECT-TYPE
            SYNTAX         ZxAnEthOamEventLogEntry 
            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, zxAnEthOamEventLogIndex} 
            ::= { zxAnEthOamEventLogTable 1}
            
    ZxAnEthOamEventLogEntry ::= 
        SEQUENCE { 
                zxAnEthOamEventLogIndex                    Unsigned32, 
                zxAnEthOamEventLogTimestamp                TimeStamp, 
                zxAnEthOamEventLogOui                      Dot3Oui, 
                zxAnEthOamEventLogType                     Unsigned32, 
                zxAnEthOamEventLogLocation                 INTEGER, 
                zxAnEthOamEventLogWindowHi                 Unsigned32, 
                zxAnEthOamEventLogWindowLo                 Unsigned32, 
                zxAnEthOamEventLogThresholdHi              Unsigned32, 
                zxAnEthOamEventLogThresholdLo              Unsigned32, 
                zxAnEthOamEventLogValue                    CounterBasedGauge64, 
                zxAnEthOamEventLogRunningTotal             CounterBasedGauge64, 
                zxAnEthOamEventLogEventTotal               Unsigned32
                } 
                
    zxAnEthOamEventLogIndex OBJECT-TYPE 
        SYNTAX       Unsigned32                                       
        MAX-ACCESS   not-accessible
        STATUS       current 
        DESCRIPTION
            "An arbitrary integer for identifiying individual events within the event log. "
        ::= { zxAnEthOamEventLogEntry 1 }
        
    zxAnEthOamEventLogTimestamp 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. "
        ::= { zxAnEthOamEventLogEntry 2 }
        
    zxAnEthOamEventLogOui 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. "
        ::= { zxAnEthOamEventLogEntry 3 }
        
    zxAnEthOamEventLogType 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)."
        ::= { zxAnEthOamEventLogEntry 4 }
        
    zxAnEthOamEventLogLocation 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))."
        ::= { zxAnEthOamEventLogEntry 5 }
        
    zxAnEthOamEventLogWindowHi 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."
        ::= { zxAnEthOamEventLogEntry 6 }
        
    zxAnEthOamEventLogWindowLo 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."
        ::= { zxAnEthOamEventLogEntry 7 }
        
    zxAnEthOamEventLogThresholdHi 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."
        ::= { zxAnEthOamEventLogEntry 8 }
        
    zxAnEthOamEventLogThresholdLo 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."
        ::= { zxAnEthOamEventLogEntry 9 }
        
    zxAnEthOamEventLogValue 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."
        ::= { zxAnEthOamEventLogEntry 10 }
        
    zxAnEthOamEventLogRunningTotal 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)."
        ::= { zxAnEthOamEventLogEntry 11 }
        
    zxAnEthOamEventLogEventTotal 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)."
        ::= { zxAnEthOamEventLogEntry 12 }
        
-- ******************************************************************
-- The GloPara Database 
-- ******************************************************************   
        zxAnEthOamGlobalEnable OBJECT-TYPE
                  SYNTAX TruthValue
                  MAX-ACCESS read-write
                  STATUS current
                  DESCRIPTION
                           "                            "
                  REFERENCE
                           "                            "
                  ::= { zxAnEthOamObjects 7 }        

END
