--===========================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
-- Description: This MIB is excerpted from the draft-ietf-hubmib-efm-epon-mib-02 directly
---             only changed the object name,added the hpnicf as prefix.
-- Reference:  
-- Version: V1.0
-- History:
-- V1.0 created by liyue.  
--     Define MODULE-IDENTITY for hpnicfEponDeviceMIB
--=================================================================
HPN-ICF-EPON-DEVICE-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       hpnicfEpon            
           FROM HPN-ICF-OID-MIB  
       MODULE-IDENTITY, mib-2, OBJECT-TYPE, Counter32,
       Unsigned32, Integer32, zeroDotZero
           FROM SNMPv2-SMI
       TruthValue, DateAndTime, RowStatus, MacAddress
           FROM SNMPv2-TC
       ifIndex
           FROM IF-MIB
       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF
       SnmpAdminString
           FROM SNMP-FRAMEWORK-MIB;

   hpnicfEponDeviceMIB MODULE-IDENTITY
       LAST-UPDATED "200409210000Z"  -- September 21, 2004
       ORGANIZATION
           ""
       CONTACT-INFO
           ""
       DESCRIPTION
               "The objects in this MIB module are used to manage
                Ethernet Passive Optical Network (EPON) devices which
                are based on the Ethernet in the First Mile (EFM) PON
                as defined in IEEE Draft P802.3ah/D3.0 clause 60,64,65.
                                                                        
                This MIB is excerpted from the draft files directly,only 
                changed the object name,added the hpnicf as prefix.  
                                                                      
                The following reference is used throughout this MIB
                module:
                [802.3ah] refers to:
                IEEE Draft P802.3ah/D3.3: 'Draft amendment to -
                Information technology - Telecommunications and
                information exchange between systems - Local and
                metropolitan area networks - Specific requirements -
                Part 3: Carrier sense multiple access with collision
                detection (CSMA/CD) access method and physical layer
                specifications - Media Access Control Parameters,
                Physical Layers and Management Parameters for subscriber
                access networks', 22 April 2004.
                Of particular interest are Clause 64(MPCP) 65(P2mP RS)
                and 60 (PON PMDs). Clause 30, 'Management', and Clause
                45,'Management Data Input/Output (MDIO) Interface'.

                Copyright (C) The Internet Society (2004).  This version
                of this MIB module is part of XXXX see the RFC itself
                for full legal notices."

             -- Editor's Note: Replace XXXX with the actual RFC number
             -- assigned by RFC Editor and remove this note

             REVISION    "200409210000Z"  -- September 21, 2004
             DESCRIPTION "Initial version, published as RFC XXXX."

       ::= { hpnicfEpon 4 }      

             -- Editor's Note: Replace XXX with a real OID once it is
             -- assigned by IANA and remove this note.

   hpnicfEponDeviceObjectMIB OBJECT IDENTIFIER ::= { hpnicfEponDeviceMIB 1 }

   hpnicfEponDeviceObjects OBJECT IDENTIFIER ::= { hpnicfEponDeviceObjectMIB  1 }

   hpnicfEponDeviceConformance OBJECT IDENTIFIER ::= { hpnicfEponDeviceObjectMIB  2 }

   hpnicfEponDeviceControlObjects OBJECT IDENTIFIER ::= { hpnicfEponDeviceObjects 1 }

   hpnicfEponDeviceStatObjects OBJECT IDENTIFIER ::= { hpnicfEponDeviceObjects 2 }

   hpnicfEponDeviceEventObjects OBJECT IDENTIFIER ::= { hpnicfEponDeviceObjects 3 }


   hpnicfEponDeviceControlTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF HpnicfEponDeviceControlEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "Table for EPON device MIB modules."
       ::= { hpnicfEponDeviceControlObjects 1 }

   hpnicfEponDeviceControlEntry OBJECT-TYPE
       SYNTAX  HpnicfEponDeviceControlEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "An entry in the EPON device Control table."
       INDEX  { ifIndex }
       ::= { hpnicfEponDeviceControlTable 1 }

   HpnicfEponDeviceControlEntry ::=
       SEQUENCE {
        hpnicfEponDeviceObjectReset                       INTEGER,
        hpnicfEponDeviceObjectModes                       INTEGER,
        hpnicfEponDeviceObjectFecEnabled                  INTEGER,
        hpnicfEponDeviceObjectOamMode                     INTEGER,
        hpnicfEponDeviceObjectDeviceReadyMode             INTEGER,
        hpnicfEponDeviceObjectPowerDown                   TruthValue,
        hpnicfEponDeviceObjectNumberOfLLIDs               Integer32,
        hpnicfEponDeviceObjectReportThreshold             Integer32,
        hpnicfEponDeviceRemoteMACAddressLLIDControl       INTEGER
       }


   hpnicfEponDeviceObjectReset OBJECT-TYPE
       SYNTAX  INTEGER {
               running(1),
               reset(2)
       }
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
               "This variable is used to reset the EPON device. The
                interface may be unavailable while the reset occurs and
                data may be lost. During reading operation it returns
                the state of the EPON device. running(1) indicates and
                operates normal operation, reset(2) indicates and
                operates reset mode. Writing can be done all the time."
       DEFVAL { 1 }
       ::= { hpnicfEponDeviceControlEntry 1 }

   hpnicfEponDeviceObjectModes OBJECT-TYPE
       SYNTAX  INTEGER {
               olt(1),
               onu(2)
       }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "This variable defines the mode of the EPON device. When
                an olt(1) it is an Optical Line Terminal device (server)
                and when an onu(2) and Optical Network Unit device
                (client)"
       ::= { hpnicfEponDeviceControlEntry 2 }

   hpnicfEponDeviceObjectFecEnabled OBJECT-TYPE
       SYNTAX  INTEGER {
               noFecEnabled (1),
               fecTxEnabled (2),
               fecRxEnabled (3),
               fecTxRxEnabled (4)
       }
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
             "This variable defines and provides information whether the
              EPON device uses FEC as defined in the [802.3ah] clause
              65.2 for EPON. When noFECEnabled(1) the device does not
              support FEC mode When fecTxEnabled(2) the device supports
              the FEC transmission mode. When fecRxEnabled(3) the device
              supports the FEC Receive mode. When fecTxRxEnabled(4) the
              device supports the FEC transmission and receive mode.
              Writing can be done all the time.
              This attribute is relevant for an OLT and an ONU."
       DEFVAL { 1 }
       ::= { hpnicfEponDeviceControlEntry 4 }

   hpnicfEponDeviceObjectOamMode OBJECT-TYPE
       SYNTAX  INTEGER {
               noOam (1),
               oamServer (2),
               oamclient (3)
       }
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
               "This variable defines and provides information on the
                Operation Administration and Maintenance (OAM) mode of
                an EPON device as defined by the [802.3ah] clause 57.
                When noOam(1) the device does not supports the OAM mode.
                When oamServer(2) the device supports the OAM mode as a
                server unit. When oamClient(3) the device supports the
                OAM mode as a client unit.
                Writing can be done during initialization,
                hpnicfEponDeviceObjectDeviceReadyMode is in notReady(1) or
                inProcess(2).
                This attribute is relevant for an OLT and an ONU."
       DEFVAL { 1 }
       ::= { hpnicfEponDeviceControlEntry 5 }


   hpnicfEponDeviceObjectDeviceReadyMode     OBJECT-TYPE
       SYNTAX  INTEGER {
               notReady (1),
               inProcess (2),
               ready (3)
       }
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
               "This variable defines the mode of an EPON device and
                provides information on the mode in initialization -
                ready for registration as defined by the [802.3ah]
                clause 64.
                When notReady(1) the device is not ready for operation.
                When inProcess(2) the device is in initialization
                process.
                When ready(3) the device is ready for registration.
                Writing can be done all the time.
                This attribute is relevant for an OLT and an ONU."
       DEFVAL { 1 }
       ::= { hpnicfEponDeviceControlEntry 6 }

   hpnicfEponDeviceObjectPowerDown OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
               "Setting this variable to True(1) will cause Device to be
                entered into Power down mode where no registration is
                allowed and only receiving data from the link.
                Writing can be done all the time.
                This attribute is relevant for an OLT and an ONU."
       DEFVAL { false }
       ::= { hpnicfEponDeviceControlEntry 7 }


   hpnicfEponDeviceObjectNumberOfLLIDs OBJECT-TYPE
       SYNTAX  Integer32
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read only variable which defines the number of
                registered LLIDs (as defined by the [802.3ah] clause 65)
                in a EPON network for an OLT and an ONU. Initialization
                value is 0.
                This attribute is relevant for an OLT and an ONU."
       ::= { hpnicfEponDeviceControlEntry 8 }

   hpnicfEponDeviceObjectReportThreshold OBJECT-TYPE
       SYNTAX  Integer32
       UNITS       "TQ (16nsec)"
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
               "A set of 8 integers, for each LLID, that defines the
                threshold reporting for each Queue in the REPORT
                message, as defined in [802.3ah] 64. First Queue set
                reporting will provide information on the queue
                occupancy of frames below this Threshold. The value
                returned shall be in Time quanta (TQ) which is 16nsec or
                2 octets increments.
                Writing can be done all the time.
                This attribute is relevant for an OLT and an ONU."
       DEFVAL { 0 }
       ::= { hpnicfEponDeviceControlEntry 9 }

   hpnicfEponDeviceRemoteMACAddressLLIDControl OBJECT-TYPE
       SYNTAX INTEGER {
               none(1),
               resetLog(2),
               useDefaultReporting(3)
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Indicates and controls the resetting of the LLID MAC
                address log. Setting this object to none(1) has no
                action resetLog(2) empties the LLID MAC address log. All
                data is deleted. Setting it to useDefaultReporting(3)
                returns all entries priorities to their factory-default
                reporting. Reading this object always returns
                useDefaultReporting(3)."
       DEFVAL { 3 }
       ::= { hpnicfEponDeviceControlEntry 10 }

   hpnicfEponDeviceRemoteMACAddressLLIDTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF HpnicfEponDeviceRemoteMACAddressLLIDEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A table of read-only value that identifies the
                source_address and LLIDs parameter of the remote devices
                in the network. This MacAddress value, as defined in
                [802.3ah], 30.3.5.1.5, is updated on reception of a
                valid frame with a unicast destination Field or
                (1) a destination Field equal to the reserved multicast
                address for MAC Control specified in [802.3ah] Annex
                31A, (2) lengthOrType field value equal to the reserved
                Type for MAC Control as specified in [802.3ah] Annex
                31A. (3)an MPCP subtype value equal to the subtype
                reserved for MPCP as specified in [802.3ah] Annex 31A,
                and an LLID as allocated by the OLT. The table is
                defined as Remote MAC address - LLID (RMadL)
                The table is relevant only for an OLT device, and is
                equivalent from a bridge emulation to the bridge
                port-MAC address table where the LLIDs are equivalent to
                virtual bridge ports."
       ::= { hpnicfEponDeviceControlObjects 2 }


   hpnicfEponDeviceRemoteMACAddressLLIDEntry OBJECT-TYPE
       SYNTAX      HpnicfEponDeviceRemoteMACAddressLLIDEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A group of entries.  Applications create and delete
                entries using hpnicfEponDeviceRMadlEntryStatus.
                When adding objects to an LLID they are added in the
                persistent order of their index in this table."
       INDEX       {ifIndex }
       ::= { hpnicfEponDeviceRemoteMACAddressLLIDTable 1 }

       HpnicfEponDeviceRemoteMACAddressLLIDEntry ::=
       SEQUENCE {
               hpnicfEponDeviceRemoteMACAddressLLIDName    SnmpAdminString,
               hpnicfEponDeviceRMadlLLID                   Unsigned32,
               hpnicfEponDeviceRMadlLogID                  OBJECT IDENTIFIER,
               hpnicfEponDeviceRMadlRemoteAddress          MacAddress,
               hpnicfEponDeviceRMadlType                   INTEGER,
               hpnicfEponDeviceRMadlAction                 INTEGER,
               hpnicfEponDeviceRMadlEntryStatus            RowStatus
       }

   hpnicfEponDeviceRemoteMACAddressLLIDName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (1..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "A locally-unique, administratively assigned name for a
                group of entries."
       ::= { hpnicfEponDeviceRemoteMACAddressLLIDEntry 1 }

   hpnicfEponDeviceRMadlLLID OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "An arbitrary integer for the purpose of identifying the
                LLID. Writing can be done all the time."
       DEFVAL { 1 }
       ::= { hpnicfEponDeviceRemoteMACAddressLLIDEntry 2 }


   hpnicfEponDeviceRMadlLogID OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The object identifier of a MIB module object to add to
                an entry, indicating the entry ID in the table. Writing
                can be done all the time."
       DEFVAL { zeroDotZero }
       ::= { hpnicfEponDeviceRemoteMACAddressLLIDEntry 3 }

   hpnicfEponDeviceRMadlRemoteAddress OBJECT-TYPE
       SYNTAX     MacAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The remote MAC address of the LLID.
                Writing can be done all the time."
       ::= { hpnicfEponDeviceRemoteMACAddressLLIDEntry 4 }


   hpnicfEponDeviceRMadlType OBJECT-TYPE
       SYNTAX  INTEGER {
               notRegister (1),
               registered (2)
       }
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
               "A list of types for entries - LLIDs. Indicates and
                defines the state of registration. notRegister(1) marks
                a non registered LID, registered(2) marks a registered
                LLID.  Writing can be done all the time."
       DEFVAL { 1 }
       ::= { hpnicfEponDeviceRemoteMACAddressLLIDEntry 5 }

   hpnicfEponDeviceRMadlAction OBJECT-TYPE
       SYNTAX  INTEGER {
               none (1),
               register (2),
               deregister (3),
               reregister (4)
       }
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
               "A list of actions for an entry - LLID.  Indicates and
                defines the state of registration for the remote device.
                none(1) marks no action, register(2) marks to register
                an LLID, deregister(3) marks to deregister an LLID,
                reregister(4) marks reregistered LLID.
                Writing can be done all the time."
       DEFVAL { 1 }
       ::= { hpnicfEponDeviceRemoteMACAddressLLIDEntry 6 }


   hpnicfEponDeviceRMadlEntryStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The control that allows creation and deletion of
                entries. Once made active an entry MAY not be modified
                except to delete it."
      ::= { hpnicfEponDeviceRemoteMACAddressLLIDEntry 7 }


   --Statistics tables


   hpnicfEponDeviceStatTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF HpnicfEponDeviceStatEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "This table defines the list of statistics counters of
                EPON devices. The attributes are relevant for an OLT and
                an ONU."
       ::= { hpnicfEponDeviceStatObjects 1 }

   hpnicfEponDeviceStatEntry OBJECT-TYPE
       SYNTAX     HpnicfEponDeviceStatEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "Table entries for Table of statistics counters of EPON
                devices."
       INDEX       { ifIndex }
       ::= { hpnicfEponDeviceStatTable 1 }

   HpnicfEponDeviceStatEntry ::=
       SEQUENCE {
               hpnicfEponDeviceStatTxFramesQueue0            Counter32,
               hpnicfEponDeviceStatTxFramesQueue1            Counter32,
               hpnicfEponDeviceStatTxFramesQueue2            Counter32,
               hpnicfEponDeviceStatTxFramesQueue3            Counter32,
               hpnicfEponDeviceStatTxFramesQueue4            Counter32,
               hpnicfEponDeviceStatTxFramesQueue5            Counter32,
               hpnicfEponDeviceStatTxFramesQueue6            Counter32,
               hpnicfEponDeviceStatTxFramesQueue7            Counter32,
               hpnicfEponDeviceStatRxFramesQueue0            Counter32,
               hpnicfEponDeviceStatRxFramesQueue1            Counter32,
               hpnicfEponDeviceStatRxFramesQueue2            Counter32,
               hpnicfEponDeviceStatRxFramesQueue3            Counter32,
               hpnicfEponDeviceStatRxFramesQueue4            Counter32,
               hpnicfEponDeviceStatRxFramesQueue5            Counter32,
               hpnicfEponDeviceStatRxFramesQueue6            Counter32,
               hpnicfEponDeviceStatRxFramesQueue7            Counter32,
               hpnicfEponDeviceStatDroppedFramesQueue0       Counter32,
               hpnicfEponDeviceStatDroppedFramesQueue1       Counter32,
               hpnicfEponDeviceStatDroppedFramesQueue2       Counter32,
               hpnicfEponDeviceStatDroppedFramesQueue3       Counter32,
               hpnicfEponDeviceStatDroppedFramesQueue4       Counter32,
               hpnicfEponDeviceStatDroppedFramesQueue5       Counter32,
               hpnicfEponDeviceStatDroppedFramesQueue6       Counter32,
               hpnicfEponDeviceStatDroppedFramesQueue7       Counter32
       }


     hpnicfEponDeviceStatTxFramesQueue0 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-0- frames
                transmission occurs. Increment the counter by one for
                each frame transmitted which is an output of -Queue-0-.
                The -Queue-0- marking matched the REPORT MPCP message
                Queue-0 field, as defined in [802.3ah] clause 64. This
                counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 1 }

   hpnicfEponDeviceStatTxFramesQueue1 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-1- frames
                transmission occurs. Increment the counter by one for
                each frame transmitted which is an output of -Queue-1-.
                The -Queue-1- marking matched the REPORT MPCP message
                Queue-1 field, as defined in [802.3ah] clause 64. This
                counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 2 }

   hpnicfEponDeviceStatTxFramesQueue2 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-2- frames
                transmission occurs. Increment the counter by one for
                each frame transmitted which is an output of -Queue-2-.
                The -Queue-2- marking matched the REPORT MPCP message
                Queue-2 field, as defined in [802.3ah] clause 64. This
                counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 3 }

   hpnicfEponDeviceStatTxFramesQueue3 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-3- frames
                transmission occurs. Increment the counter by one for
                each frame transmitted which is an output of -Queue-3-.
                The -Queue-3- marking matched the REPORT MPCP message
                Queue-3 field, as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 4 }

   hpnicfEponDeviceStatTxFramesQueue4 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-4- frames
                transmission occurs. Increment the counter by one for
                each frame transmitted which is an output of -Queue-4-.
                The -Queue-4- marking matched the REPORT MPCP message
                Queue-4 field, as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 5 }

   hpnicfEponDeviceStatTxFramesQueue5 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-5- frames
                transmission occurs. Increment the counter by one for
                each frame transmitted which is an output of -Queue-5-.
                The -Queue-5- marking matched the REPORT MPCP message
                Queue-5 field, as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 6 }

   hpnicfEponDeviceStatTxFramesQueue6 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-6- frames
                transmission occurs. Increment the counter by one for
                each frame transmitted which is an output of -Queue-6-.
                The -Queue-6- marking matched the REPORT MPCP message
                Queue-6 field, as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 7 }

   hpnicfEponDeviceStatTxFramesQueue7 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
          STATUS  current
          DESCRIPTION
               "A count of the number of times a -Queue-7- frames
                transmission occurs. Increment the counter by one for
                each frame transmitted which is an output of -Queue-7-.
                The -Queue-7- marking matched the REPORT MPCP message
                Queue-7 field, as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 8 }

   hpnicfEponDeviceStatRxFramesQueue0 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-0- frames
                reception occurs. A single counter at the ONU and a set
                of counters, one for each LLID, at the OLT. Increment
                the counter by one for each frame received for each
                LLID, which is an output of -Queue-0-. The -Queue-0-
                marking matched the REPORT MPCP message Queue-0 field,
                as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU and an OLT."
       ::= { hpnicfEponDeviceStatEntry 9 }

   hpnicfEponDeviceStatRxFramesQueue1 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-1- frames
                reception occurs. A single counter at the ONU and a set
                of counters, one for each LLID, at the OLT. Increment
                the counter by one for each frame received for each
                LLID, which is an output of -Queue-1-. The -Queue-1-
                marking matched the REPORT MPCP message Queue-1 field,
                as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU and an OLT."
       ::= { hpnicfEponDeviceStatEntry 10 }


   hpnicfEponDeviceStatRxFramesQueue2 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-2- frames
                reception occurs. A single counter at the ONU and a set
                of counters, one for each LLID, at the OLT. Increment
                the counter by one for each frame received for each
                LLID, which is an output of -Queue-2-. The -Queue-2-
                marking matched the REPORT MPCP message Queue-2 field,
                as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU and an OLT."
       ::= { hpnicfEponDeviceStatEntry 11 }

   hpnicfEponDeviceStatRxFramesQueue3 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-3- frames
                reception occurs. A single counter at the ONU and a set
                of counters, one for each LLID, at the OLT. Increment
                the counter by one for each frame received for each
                LLID, which is an output of -Queue-3-. The -Queue-3-
                marking matched the REPORT MPCP message Queue-3 field,
                as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU and an OLT."
       ::= { hpnicfEponDeviceStatEntry 12 }

   hpnicfEponDeviceStatRxFramesQueue4 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-4- frames
                reception occurs. A single counter at the ONU and a set
                of counters, one for each LLID, at the OLT. Increment
                the counter by one for each frame received for each
                LLID, which is an output of -Queue-4-. The -Queue-4-
                marking matched the REPORT MPCP message Queue-4 field,
                as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU and an OLT."
       ::= { hpnicfEponDeviceStatEntry 13 }


   hpnicfEponDeviceStatRxFramesQueue5 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-5- frames
                reception occurs. A single counter at the ONU and a set
                of counters, one for each LLID, at the OLT. Increment
                the counter by one for each frame received for each
                LLID, which is an output of -Queue-5-. The -Queue-5-
                marking matched the REPORT MPCP message Queue-5 field,
                as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU and an OLT."
       ::= { hpnicfEponDeviceStatEntry 14 }

   hpnicfEponDeviceStatRxFramesQueue6 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-6- frames
                reception occurs. A single counter at the ONU and a set
                of counters, one for each LLID, at the OLT. Increment
                the counter by one for each frame received for each
                LLID, which is an output of -Queue-6-. The -Queue-6-
                marking matched the REPORT MPCP message Queue-6 field,
                as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU and an OLT."
       ::= { hpnicfEponDeviceStatEntry 15 }

   hpnicfEponDeviceStatRxFramesQueue7 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-7- frames
                reception occurs. A single counter at the ONU and a set
                of counters, one for each LLID, at the OLT. Increment
                the counter by one for each frame received for each
                LLID, which is an output of -Queue-7-. The -Queue-7-
                marking matched the REPORT MPCP message Queue-7 field,
                as defined in [802.3ah] clause 64.
                This counter is mandatory for an ONU and an OLT."
       ::= { hpnicfEponDeviceStatEntry 16 }



   hpnicfEponDeviceStatDroppedFramesQueue0 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-0- frames drops
                occurs. Increment the counter by one for each frame
                dropped from -Queue-0-. The -Queue-0- marking matched
                the REPORT MPCP message Queue-0 field, as defined in
                [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 17 }

   hpnicfEponDeviceStatDroppedFramesQueue1 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-1- frames drops
                occurs. Increment the counter by one for each frame
                dropped from -Queue-1-. The -Queue-1- marking matched
                the REPORT MPCP message Queue-1 field, as defined in
                [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 18 }

   hpnicfEponDeviceStatDroppedFramesQueue2 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-2- frames drops
                occurs. Increment the counter by one for each frame
                dropped from -Queue-2-. The -Queue-2- marking matched
                the REPORT MPCP message Queue-2 field, as defined in
                [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 19 }

   hpnicfEponDeviceStatDroppedFramesQueue3 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-3- frames drops
                occurs. Increment the counter by one for each frame
                dropped from -Queue-3-. The -Queue-3- marking matched
                the REPORT MPCP message Queue-3 field, as defined in
                [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 20}

   hpnicfEponDeviceStatDroppedFramesQueue4 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-4- frames drops
                occurs. Increment the counter by one for each frame
                dropped from -Queue-4-. The -Queue-4- marking matched
                the REPORT MPCP message Queue-4 field, as defined in
                [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 21 }

   hpnicfEponDeviceStatDroppedFramesQueue5 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-5- frames drops
                occurs. Increment the counter by one for each frame
                dropped from -Queue-5-. The -Queue-5- marking matched
                the REPORT MPCP message Queue-5 field, as defined in
                [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 22 }

   hpnicfEponDeviceStatDroppedFramesQueue6 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-6- frames drops
                occurs. Increment the counter by one for each frame
                dropped from -Queue-6-. The -Queue-6- marking matched
                the REPORT MPCP message Queue-6 field, as defined in
                [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 23 }

   hpnicfEponDeviceStatDroppedFramesQueue7 OBJECT-TYPE
       SYNTAX  Counter32
       UNITS      "frames"
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A count of the number of times a -Queue-7- frames drops
                occurs. Increment the counter by one for each frame
                dropped from -Queue-7-. The -Queue-7- marking matched
                the REPORT MPCP message Queue-7 field, as defined in
                [802.3ah] clause 64.
                This counter is mandatory for an ONU."
       ::= { hpnicfEponDeviceStatEntry 24 }

   --Editor's Note use reference to event MIB modules [RFC2981] and
   --docsis MIB modules [RFC2669]


   hpnicfEponDeviceEventObjectTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF HpnicfEponDeviceEventObjectEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "This table defines the Event Objects for EPON devices.
                The attributes are relevant for an OLT and an ONU."
       ::= { hpnicfEponDeviceEventObjects 1 }

   hpnicfEponDeviceEventObjectEntry OBJECT-TYPE
       SYNTAX     HpnicfEponDeviceEventObjectEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "Table entries for Table of Event objects for EPON
                devices."
       INDEX       { ifIndex }
       ::= { hpnicfEponDeviceEventObjectTable 1 }

   HpnicfEponDeviceEventObjectEntry ::=
       SEQUENCE {
   hpnicfEponDeviceSampleMinimum                               Integer32,
   hpnicfEponDeviceDyingGaspAlarmState                         TruthValue,
   hpnicfEponDeviceDyingGaspAlarmEnabled                       TruthValue,
   hpnicfEponDeviceCriticalEventState                          TruthValue,
   hpnicfEponDeviceCriticalEventEnabled                        TruthValue,
   hpnicfEponDeviceLocalLinkFaultAlarmState                    TruthValue,
   hpnicfEponDeviceLocalLinkFaultAlarmEnabled                  TruthValue,
   hpnicfEponDeviceTemperatureEventIndicationState             TruthValue,
   hpnicfEponDeviceTemperatureEventIndicationEnabled           TruthValue,
   hpnicfEponDevicePowerVoltageEventIndicationState            TruthValue,
   hpnicfEponDevicePowerVoltageEventIndicationEnabled          TruthValue,
   hpnicfEponDeviceGlobalEventState                            TruthValue,
   hpnicfEponDeviceGlobalEventEnabled                          TruthValue,
   hpnicfEponDeviceErroredSymbolPeriodEventState               TruthValue,
   hpnicfEponDeviceErroredSymbolPeriodEventEnabled             TruthValue,
   hpnicfEponDeviceErroredFrameEventState                      TruthValue,
   hpnicfEponDeviceErroredFrameEventEnabled                    TruthValue,
   hpnicfEponDeviceErroredFramePeriodEventState                TruthValue,
   hpnicfEponDeviceErroredFramePeriodEventEnabled              TruthValue,
   hpnicfEponDeviceErroredFrameSecondsSummaryEventState        TruthValue,
   hpnicfEponDeviceErroredFrameSecondsSummaryEventEnabled      TruthValue,
   hpnicfEponDeviceOrganizationSpecificEventState              TruthValue,
   hpnicfEponDeviceOrganizationSpecificEventEnabled            TruthValue,
   hpnicfEponDeviceEventControl                                INTEGER
       }

   hpnicfEponDeviceSampleMinimum OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       UNITS       "seconds"
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "The minimum Frequency of events this system will accept.
                A system may use the larger values of this minimum to
                lessen the impact of constant sampling. For larger
                sampling intervals the system samples less often and
                suffers less overhead.
                Unless explicitly resource limited, a system's value for
                this object SHOULD be 1, allowing as small as a 1 second
                interval for ongoing trigger sampling.
                Writing of the value can be done all the time."
       DEFVAL { 1 }
       ::= { hpnicfEponDeviceEventObjectEntry 1 }

   hpnicfEponDeviceDyingGaspAlarmState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Dying Gasp indication of the OAM alarm indications as
                described in the [802.3ah] clause 57. When true the
                device has a dying gasp alarm asserted. When false the
                dying gasp alarm is reset "
       ::= { hpnicfEponDeviceEventObjectEntry 2 }



   hpnicfEponDeviceDyingGaspAlarmEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow DyingGaspAlarm event to be used.
                When the value is true the event is sampled. When the
                value is false the event is not sampled.
                Writing can be done all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 3 }

   hpnicfEponDeviceCriticalEventState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Critical Event indication of the OAM alarm indications
                as described in the [802.3ah] clause 57. When true the
                device has a Critical Event asserted. When false the
                Critical Event is reset."
       ::= { hpnicfEponDeviceEventObjectEntry 4 }

   hpnicfEponDeviceCriticalEventEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow CriticalEvent event to be used. When
                the value is true the event is sampled. When the value
                is false the event is not sampled.
                Writing can be done all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 5 }


      hpnicfEponDeviceLocalLinkFaultAlarmState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Local Link Fault indication of the OAM alarm indications
                as described in the [802.3ah] clause 57. When true the
                device has a Local Link Fault alarm asserted. When
                false the Local Link Fault alarm is reset."
       ::= { hpnicfEponDeviceEventObjectEntry 6 }



   hpnicfEponDeviceLocalLinkFaultAlarmEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow LocalLinkFaultAlarm event to be used.
                When the value is true the event is sampled. When the
                value is false the event is not sampled.
                Writing can be done all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 7 }


      hpnicfEponDeviceTemperatureEventIndicationState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Temperature Event indication of an EPON device. When
                condition of box temperature is above the threshold
                defined the alarm is asserted. When the condition is
                below that threshold the alarm is de-asserted. When true
                the device has a Temperature Event Indication asserted.
                When false the Temperature Event Indication is reset."
       ::= { hpnicfEponDeviceEventObjectEntry 8 }

   hpnicfEponDeviceTemperatureEventIndicationEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow TemperatureEventIndication event to
                be used. When the value is true the event is sampled.
                When the value is false the event is not sampled.
                Writing can be done all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 9 }

   hpnicfEponDevicePowerVoltageEventIndicationState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Power/Voltage Event Indication of an EPON device. When
                condition of box Power/voltage is above the threshold
                defined the alarm is asserted. When the condition is
                below that threshold the alarm is de-asserted. When true
                the device has a Power/Voltage Event Indication
                asserted. When false the Power/Voltage Event Indication
                is reset. "
       ::= { hpnicfEponDeviceEventObjectEntry 10 }


   hpnicfEponDevicePowerVoltageEventIndicationEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow PowerVoltageEventIndication event to
                be used. When the value is true the event is sampled.
                When the value is false the event is not sampled.
                Writing can be done all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 11 }


      hpnicfEponDeviceGlobalEventState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Global Event indication of an EPON device. When the
                indication of the event input occurs the event is
                asserted. When the input is removed that event is
                de-asserted. When true the device has a Global Event
                asserted. When false the Global Event Indication is
                reset."
       ::= { hpnicfEponDeviceEventObjectEntry 12 }

   hpnicfEponDeviceGlobalEventEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow GlobalEvent event to be used. When
                the value is true the event is sampled. When the value
                is false the event is not sampled. Writing can be done
                all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 13 }

   hpnicfEponDeviceErroredSymbolPeriodEventState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Errored Symbol Period Event indication of the OAM alarm
                TLV indications as described in the [802.3ah]
                clause 57.5.3. When true the device has an Errored
                Symbol Period Event asserted. When false the Errored
                Symbol Period Event is reset."
       ::= { hpnicfEponDeviceEventObjectEntry 14 }

   hpnicfEponDeviceErroredSymbolPeriodEventEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow ErroredSymbolPeriodEvent event to be
                used. When the value is true the event is sampled. When
                the value is false the event is not sampled. Writing can
                be done all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 15 }

   hpnicfEponDeviceErroredFrameEventState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Errored Frame Event indication of the OAM alarm TLV
                indications as described in the [802.3ah] clause 57.5.3.
                When true the device has an Errored Frame Event
                asserted. When false the Errored Frame Event is reset."
       ::= { hpnicfEponDeviceEventObjectEntry 16 }

   hpnicfEponDeviceErroredFrameEventEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow ErroredFrameEvent event to be used.
                When the value is true the event is sampled. When the
                value is false the event is not sampled.
                Writing can be done all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 17 }


   hpnicfEponDeviceErroredFramePeriodEventState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Errored Frame Period Event indication of the OAM alarm
                TLV indications as described in the [802.3ah] clause
                57.5.3. When true the device has an Errored Frame Period
                Event asserted. When false the Errored Frame Period
                Event is reset."
       ::= { hpnicfEponDeviceEventObjectEntry 18 }

   hpnicfEponDeviceErroredFramePeriodEventEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow ErroredFramePeriodEvent event to be
                used. When the value is true the event is sampled. When
                the value is false the event is not sampled. Writing can
                be done all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 19 }


   hpnicfEponDeviceErroredFrameSecondsSummaryEventState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Errored Frame Seconds Summary Event indication of the
                OAM alarm TLV indications as described in the [802.3ah]
                clause 57.5.3. When true the device has an Errored Frame
                Seconds Summary Event asserted. When false the Errored
                Frame Seconds Summary Event is reset."
       ::= { hpnicfEponDeviceEventObjectEntry 20 }

   hpnicfEponDeviceErroredFrameSecondsSummaryEventEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow ErroredFrameSecondsSummaryEvent event
                to be used. When the value is true the event is sampled.
                When the value is false the event is not sampled.
                Writing can be done all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 21 }


   hpnicfEponDeviceOrganizationSpecificEventState OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A read-only variable, which defines the state of the
                Organization Specific Event indication of the OAM alarm
                TLV indications as described in the [802.3ah] clause
                57.5.3. When true the device has an Organization
                Specific Event asserted. When false the Organization
                Specific Event is reset."
       ::= { hpnicfEponDeviceEventObjectEntry 22 }

   hpnicfEponDeviceOrganizationSpecificEventEnabled OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "A control to allow OrganizationSpecificEvent event to be
                used. When the value is true the event is sampled. When
                the value is false the event is not sampled.
                Writing can be done all the time."
       DEFVAL { false }
       ::= { hpnicfEponDeviceEventObjectEntry 23 }

   hpnicfEponDeviceEventControl OBJECT-TYPE
       SYNTAX INTEGER {
               none(1),
               resetLog(2),
               useDefaultReporting(3)
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Indicates and controls the resetting of the Event log.
                Setting this object to none(1) has no action resetLog(2)
                empties the event log. All data is deleted. Setting it
                to useDefaultReporting(3) returns all event priorities
                to their factory-default reporting. Reading this object
                always returns useDefaultReporting(3)."
       DEFVAL { 3 }
       ::= { hpnicfEponDeviceEventObjectEntry 24 }



   -- Events Log Table

   hpnicfEponDeviceEventsLogTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF HpnicfEponDeviceEventsLogEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A table of objects provides a log of notification based
                on the event as pointed to by entries in those tables.
                The intent is a MAC level event log (set of events to
                when they happened).
                This attribute is relevant for an OLT and an ONU."
       ::= { hpnicfEponDeviceEventObjects 2 }

   hpnicfEponDeviceEventsLogEntry OBJECT-TYPE
       SYNTAX      HpnicfEponDeviceEventsLogEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A group of Events. Applications create and delete
                entries using hpnicfEponDeviceEventsEntryStatus. When adding
                objects to a notification they are added in the lexical
                order of their index in this table."
       INDEX       { hpnicfEponDeviceEventsLogName, hpnicfEponDeviceEventsLogIndex }
       ::= { hpnicfEponDeviceEventsLogTable 1 }

   HpnicfEponDeviceEventsLogEntry ::=
       SEQUENCE {
               hpnicfEponDeviceEventsLogName            SnmpAdminString,
               hpnicfEponDeviceEventsLogIndex           Unsigned32,
               hpnicfEponDeviceEventsLogID              OBJECT IDENTIFIER,
               hpnicfEponDeviceEventsLogFirstTime       DateAndTime,
               hpnicfEponDeviceEventsLogLastTime        DateAndTime,
               hpnicfEponDeviceEventsLogCounts          Counter32,
               hpnicfEponDeviceEventsLogType            INTEGER,
               hpnicfEponDeviceEventsLogEntryStatus     RowStatus
       }

   hpnicfEponDeviceEventsLogName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A locally-unique, administratively assigned name for a
                group of Events."
       ::= { hpnicfEponDeviceEventsLogEntry 1 }

   hpnicfEponDeviceEventsLogIndex OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An arbitrary integer for the purpose of identifying
                individual Events within a hpnicfEponDeviceEventsLogName
                group. Events within a group are placed in the
                notification in the numerical order of this index."
       ::= { hpnicfEponDeviceEventsLogEntry 2 }

   hpnicfEponDeviceEventsLogID OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The object identifier of a MIB module object to add to a
                Notification that results from the event.
                Writing can be done all the time."
       DEFVAL { zeroDotZero }
       ::= { hpnicfEponDeviceEventsLogEntry 3 }

   hpnicfEponDeviceEventsLogFirstTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The time that an entry was created."
       ::= { hpnicfEponDeviceEventsLogEntry 4 }

   hpnicfEponDeviceEventsLogLastTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "If multiple events are reported via the same entry, the
                time that the last event for this entry occurred,
                otherwise this should have the same value as
                hpnicfEponDeviceEventsLogFirstTime."
       ::= { hpnicfEponDeviceEventsLogEntry 5 }

   hpnicfEponDeviceEventsLogCounts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The number of consecutive event instances reported by
                this entry. This starts at 1 with the creation of this
                row and increments by 1 for each subsequent duplicate
                event."
       ::= { hpnicfEponDeviceEventsLogEntry 6 }

   hpnicfEponDeviceEventsLogType OBJECT-TYPE
       SYNTAX  INTEGER {
               hpnicfEponDeviceDyingGaspAlarmState (1),
               hpnicfEponDeviceCriticalEventState (2),
               hpnicfEponDeviceLocalLinkFaultAlarmState (3),
               hpnicfEponDeviceTemperatureEventIndicationState (4),
               hpnicfEponDevicePowerVoltageEventIndicationState (5),
               hpnicfEponDeviceGlobalEventState (6),
               hpnicfEponDeviceErroredSymbolPeriodEventState (7),
               hpnicfEponDeviceErroredFrameEventState (8),
               hpnicfEponDeviceErroredFramePeriodEventState (9),
               hpnicfEponDeviceErroredFrameSecondsSummaryEventState (10),
               hpnicfEponDeviceOrganizationSpecificEventState (11)
       }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A list of types for Events. Events are ordered according
                to their significance where 1 is the highest severity.
                hpnicfEponDeviceDyingGaspAlarmState(1) indicates a Dying Gasp
                 Alarm State,
                hpnicfEponDeviceCriticalEventState(2) indicates a Critical
                 Event State,
                hpnicfEponDeviceLocalLinkFaultAlarmState(3) indicates a Local
                 Link Fault Alarm State,
                hpnicfEponDeviceTemperatureEventIndicationState(4) indicates a
                 Temperature Event Indication State,
                hpnicfEponDevicePowerVoltageEventIndicationState(5) indicates
                 a Power Voltage Event Indication State,
                hpnicfEponDeviceGlobalEventState(6) indicates a Global Event
                 State,
                hpnicfEponDeviceErroredSymbolPeriodEventState(7) indicates an
                 Errored Symbol Period Event State,
                hpnicfEponDeviceErroredFrameEventState(8) indicates an Errored
                 Frame Event State,
                hpnicfEponDeviceErroredFramePeriodEventState(9) indicates an
                 Errored Frame Period Event State,
                hpnicfEponDeviceErroredFrameSecondsSummaryEventState(10)
                 indicates an Errored Frame Seconds Summary Event State,
                hpnicfEponDeviceOrganizationSpecificEventState(11) indicates
                 an Organization Specific Event State. "
       ::= { hpnicfEponDeviceEventsLogEntry 7 }


   hpnicfEponDeviceEventsLogEntryStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The control that allows creation and deletion of
                entries. Once made active an entry MAY not be modified
                except to delete it."
       ::= { hpnicfEponDeviceEventsLogEntry 8 }




        -- Conformance Statements

   -- Conformance Groups

   hpnicfEponDeviceGroups OBJECT IDENTIFIER ::= { hpnicfEponDeviceConformance 1 }

   hpnicfEponDeviceGroupControl OBJECT-GROUP
       OBJECTS {
               hpnicfEponDeviceObjectReset,
               hpnicfEponDeviceObjectModes,
               hpnicfEponDeviceObjectFecEnabled,
               hpnicfEponDeviceObjectOamMode,
               hpnicfEponDeviceObjectDeviceReadyMode,
               hpnicfEponDeviceObjectPowerDown,
               hpnicfEponDeviceObjectNumberOfLLIDs,
               hpnicfEponDeviceObjectReportThreshold,
               hpnicfEponDeviceRemoteMACAddressLLIDControl
       }
       STATUS  current
       DESCRIPTION
               "A collection of objects of hpnicfEponDevice control
                definition."
       ::= { hpnicfEponDeviceGroups 1 }


   hpnicfEponDeviceGroupRMadLTable OBJECT-GROUP
       OBJECTS {
               hpnicfEponDeviceRMadlLLID,
               hpnicfEponDeviceRMadlLogID,
               hpnicfEponDeviceRMadlRemoteAddress,
               hpnicfEponDeviceRMadlType,
               hpnicfEponDeviceRMadlAction,
               hpnicfEponDeviceRMadlEntryStatus
       }
       STATUS  current
       DESCRIPTION
               "A collection of objects of hpnicfEponDevice remote Mac address
                to LLID table."
       ::= { hpnicfEponDeviceGroups 2 }


   hpnicfEponDeviceGroupStat OBJECT-GROUP
       OBJECTS {
               hpnicfEponDeviceStatTxFramesQueue0,
               hpnicfEponDeviceStatTxFramesQueue1,
               hpnicfEponDeviceStatTxFramesQueue2,
               hpnicfEponDeviceStatTxFramesQueue3,
               hpnicfEponDeviceStatTxFramesQueue4,
               hpnicfEponDeviceStatTxFramesQueue5,
               hpnicfEponDeviceStatTxFramesQueue6,
               hpnicfEponDeviceStatTxFramesQueue7,
               hpnicfEponDeviceStatRxFramesQueue0,
               hpnicfEponDeviceStatRxFramesQueue1,
               hpnicfEponDeviceStatRxFramesQueue2,
               hpnicfEponDeviceStatRxFramesQueue3,
               hpnicfEponDeviceStatRxFramesQueue4,
               hpnicfEponDeviceStatRxFramesQueue5,
               hpnicfEponDeviceStatRxFramesQueue6,
               hpnicfEponDeviceStatRxFramesQueue7,
               hpnicfEponDeviceStatDroppedFramesQueue0,
               hpnicfEponDeviceStatDroppedFramesQueue1,
               hpnicfEponDeviceStatDroppedFramesQueue2,
               hpnicfEponDeviceStatDroppedFramesQueue3,
               hpnicfEponDeviceStatDroppedFramesQueue4,
               hpnicfEponDeviceStatDroppedFramesQueue5,
               hpnicfEponDeviceStatDroppedFramesQueue6,
               hpnicfEponDeviceStatDroppedFramesQueue7
       }
       STATUS  current
       DESCRIPTION
               "A collection of objects of EPON device Statistics"
       ::= { hpnicfEponDeviceGroups 3 }



   hpnicfEponDeviceGroupEvent OBJECT-GROUP
       OBJECTS {
               hpnicfEponDeviceSampleMinimum,
               hpnicfEponDeviceDyingGaspAlarmState,
               hpnicfEponDeviceDyingGaspAlarmEnabled,
               hpnicfEponDeviceCriticalEventState,
               hpnicfEponDeviceCriticalEventEnabled,
               hpnicfEponDeviceLocalLinkFaultAlarmState,
               hpnicfEponDeviceLocalLinkFaultAlarmEnabled,
               hpnicfEponDeviceTemperatureEventIndicationState,
               hpnicfEponDeviceTemperatureEventIndicationEnabled,
               hpnicfEponDevicePowerVoltageEventIndicationState,
               hpnicfEponDevicePowerVoltageEventIndicationEnabled,
               hpnicfEponDeviceGlobalEventState,
               hpnicfEponDeviceGlobalEventEnabled,
               hpnicfEponDeviceErroredSymbolPeriodEventState,
               hpnicfEponDeviceErroredSymbolPeriodEventEnabled,
               hpnicfEponDeviceErroredFrameEventState,
               hpnicfEponDeviceErroredFrameEventEnabled,
               hpnicfEponDeviceErroredFramePeriodEventState ,
               hpnicfEponDeviceErroredFramePeriodEventEnabled  ,
               hpnicfEponDeviceErroredFrameSecondsSummaryEventState ,
               hpnicfEponDeviceErroredFrameSecondsSummaryEventEnabled,
               hpnicfEponDeviceOrganizationSpecificEventState  ,
               hpnicfEponDeviceOrganizationSpecificEventEnabled,
               hpnicfEponDeviceEventControl
       }
       STATUS  current
       DESCRIPTION
               "A collection of objects for EPON device Events"
       ::= { hpnicfEponDeviceGroups 4 }

   hpnicfEponDeviceGroupEventLog OBJECT-GROUP
       OBJECTS {
               hpnicfEponDeviceEventsLogID,
               hpnicfEponDeviceEventsLogFirstTime,
               hpnicfEponDeviceEventsLogLastTime,
               hpnicfEponDeviceEventsLogCounts,
               hpnicfEponDeviceEventsLogType,
               hpnicfEponDeviceEventsLogEntryStatus
       }
       STATUS  current
       DESCRIPTION
               "A collection of objects for EPON device Events log"
       ::= { hpnicfEponDeviceGroups 5 }


   -- Compliance

   hpnicfEponDeviceCompliances OBJECT IDENTIFIER ::= { hpnicfEponDeviceConformance 2 }

   hpnicfEponDeviceCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION "The compliance statement for EPON Devices."
       MODULE  -- this module
       MANDATORY-GROUPS { hpnicfEponDeviceGroupControl }
       GROUP       hpnicfEponDeviceGroupRMadLTable
       DESCRIPTION " This group is mandatory for all
                              OLT EPON devices supporting LLID-MAC
                              address table."

       GROUP       hpnicfEponDeviceGroupStat
       DESCRIPTION "This group is mandatory for all EPON devices
                    supporting interfaces for Statistics collection."

       GROUP       hpnicfEponDeviceGroupEvent
       DESCRIPTION "This group is mandatory for all EPON devices
                    supporting interfaces for event collection."

       GROUP       hpnicfEponDeviceGroupEventLog
       DESCRIPTION "This group is mandatory for all EPON devices
                    supporting interfaces for event log collection."

       ::= { hpnicfEponDeviceCompliances 1 }



   END
