-- ===========================================================
-- Copyright (c) 2004-2009 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description:
-- Reference:
-- Version: V2.4
-- History:
-- V1.0 created by liyue.
--     Define MODULE-IDENTITY for hh3cEpon
-- V1.1 2005-12-21 Adjusted the structure of some tables and the value of
--        some objects by liuhongxu
--        Redefined the scope of some objects
-- V1.2 2006-01-09 Updated file by liuhongxu and zoudian.
--        Added hh3cEponOnuTypeManTable, hh3cOltPortAlarmRegExcessEnabled,
--        hh3cOnuBindType, hh3cOnuPCBVersion, hh3cOnuRtt, hh3cOnuEEPROMVersion,
--        hh3cOnuRegType, hh3cOnuHostType, hh3cEponOnuRegExcessTrap,
--        hh3cEponOnuRegExcessRecoverTrap, hh3cOnuSlaBandWidthStepVal.
--        Changed the description of hh3cOnuSlaMaxBandWidth and hh3cOnuSlaMinBandWidth.
--        Adjusted the format.
-- V1.3 2006-01-16 Updated file by lichunyan.
--        Added hh3cOnuPacketManTable, hh3cOnuProtocolTable, hh3cOnuMulticastFilterStatus,
--        hh3cOnuDot1xTable.
--        Changed the default value of hh3cOnuSlaMaxBandWidth.
--        Adjusted the format of this mib.
-- V1.4 2006-06-08 Updated by chenzhaojie
--        Delete default values of hh3cOnuSlaMinBandWidth and hh3cOnuSlaMaxBandWidth
-- V1.5 2006-08-02 Updated by chenzhaojie
--        Add hh3cOnuSlaDelay, hh3cOnuDistance, hh3cOnuPriorityQueueTable,
--        hh3cOnuCountTable, hh3cOnuPriorityQueueSizeMinVal, hh3cOnuPriorityQueueSizeMaxVal,
--        hh3cEponOnuPowerOffTrap, hh3cEponOltSwitchoverTrap, hh3cEponStatTable.
--        Change DESCRIPTION of hh3cOnuSlaMinBandWidthMinVal, hh3cOnuSlaMinBandWidthMaxVal.
-- V1.6 2006-09-06 Updated by chenzhaojie
--        Add hh3cOnuPriorityQueueBandwidthMinVal, hh3cOnuPriorityQueueBandwidthMaxVal,
--        hh3cOnuPriorityQueueBurstsizeMinVal, hh3cOnuPriorityQueueBurstsizeMaxVal.
--        Add hh3cOnuQueueBandwidthTable.
-- V1.7 2007-05-21 Updated by chenzhaojie
--        Add hh3cEponSysScalarGroup
--        Add hh3cEponSysManTable ,hh3cEponAutoUpdateTable,hh3cEponOuiTable.
--        Add hh3cEponOuiIndexNextTable, hh3cEponMulticastControlTable.
--        Add hh3cOltPortAlarmDFEEnabled to hh3cOltPortAlarmThresholdTable.
--        Add hh3cOnuDbaReportQueueSetNumber, hh3cOnuRemoteFecStatus,hh3cOnuPortBerStatus
--        hh3cOnuReset, hh3cOnuMulticastControlMode,hh3cOnuAccessVlan,hh3cOnuEncryptKey
--        to hh3cOnuSysManTable
--        Add hh3cOnuLlid to hh3cOnuInfoTable.
--        Add hh3cOnuIpAddressTable, hh3cOnuChipSetInfoTable, hh3cOnuCapabilityTable,
--        hh3cOnuDbaReportTable.
--        Add hh3cEponOltDFETrap, hh3cEponOltDFERecoverTrap
-- V1.8 2007-10-13 Updated by liuhongxu, andapeng, lihaijun
--        Add hh3cOltMaxRtt to hh3cOltSysManTable.
--        Add hh3cOnuUniUpDownTrapStatus, hh3cOnuDhcpsnooping, hh3cOnuPppoe,
--        hh3cOnuIgmpSnoopingHostAgingT, hh3cOnuIgmpSnoopingMaxRespT,
--        hh3cOnuIgmpSnoopingRouterAgingT, hh3cOnuIgmpSnoopingAggReportS,
--        hh3cOnuIgmpSnoopingAggLeaveS, hh3cOnuDhcpallocate, hh3cOnuManageVID,
--        hh3cOnuManageVlanIntfS.
--        Add hh3cOnuCosToLocalPrecedenceTable.
--        Add hh3cOnuFecStatus to hh3cOnuSysManTable.
--        Add hh3cOnuIpAddressGateway to hh3cOnuIpAddressTable.
--        Changed the default value of hh3cEponMonitorCycle.
-- V1.9 2008-1-15 Updated by fengjian, qinlei, lihaijun
--        Add hh3cOnuSilentTable.
--        Add hh3cOltUsingOnuTable.
--        Add hh3cOnuFirmwareUpdateByTypeTable.
--        Add hh3cOnuUpdateByTypeNextIndex
--        Add hh3cOnuUpdateFileName to hh3cOnuFirmwareUpdateTable.
--        Add hh3cOnuUpdateResult values.
--        Add hh3cOnuSlaFixedBandWidth and hh3cOnuSlaPriorityClass to hh3cOnuSlaManTable.
--        Add hh3cEponOnuRegSilentMac.
--        Add hh3cEponOnuSilenceTrap, hh3cEponOnuSilenceRecoverTrap.
--        Add hh3cEponOnuUpdateResultTrap to report onu update result.
-- V2.0 2008-3-17 Updated by zoudian
--        Add hh3cOnuMcastCtrlHostAgingTime, hh3cOnuMulticastFastLeaveEnable
--        and hh3cOnuPortIsolateEnable to hh3cOnuSysManTable.
--        Add hh3cOnuIgspFastLeaveSupported and hh3cOnuMCtrlFastLeaveSupported
--        to hh3cOnuCapabilityTable.
--        Add hh3cOnuSlaFixedPacketSize to hh3cOnuSlaManTable.
-- V2.1 2008-07-25 updated by zhaodan and zoudian.
--        Add hh3cEponOnuAutoBindTrap and hh3cEponOperationResult.
--        Add hh3cOnuFirmwareVersion and hh3cOnuVendorId to hh3cOnuInfoTable.
--        Change the description of hh3cOnuDistance.
-- V2.2 2009-08-18 updated by zhaodan.
--        Add hh3cEponOnuStpPortTable.
--        Add hh3cEponOnuPortStpStateTrap to hh3cEponTrapPrefix.
-- V2.3 2010-02-25 updated by zhaodan.
--        Add hh3cEponOnuLaserState and hh3cEponOnuLaserFailedTrap.
--        Add hh3cOnuOpticalPowerReceivedByOlt to hh3cOnuInfoTable.
--        Add hh3cOltOpticalPowerTx and hh3cOltOpticalPowerRx to hh3cOltInfoTable.
--        Add hh3cOnuPhysicalTable and hh3cOnuSmlkTable.
--        Add hh3cOnuSmlkSwitchoverTrap to hh3cEponTrapPrefix.
-- V2.4 2010-12-02 updated by zhaodan.
--        Add hh3cOnuRS485PropertiesTable, hh3cOnuRS485SessionSummaryTable,
--            hh3cOnuRS485SessionTable and hh3cOnuRS485SessionErrInfoTable.
-- =================================================================
HH3C-EPON-MIB DEFINITIONS ::= BEGIN

IMPORTS
        hh3cEpon
    FROM HH3C-OID-MIB
        ifIndex, ifDescr
    FROM IF-MIB
        hh3cLswFrameIndex, hh3cLswSlotIndex
    FROM HH3C-LSW-DEV-ADM-MIB
        Integer32, Unsigned32, Counter64, IpAddress, OBJECT-TYPE, MODULE-IDENTITY,
        NOTIFICATION-TYPE
    FROM SNMPv2-SMI
        TruthValue, MacAddress, DateAndTime, RowStatus, DisplayString
    FROM SNMPv2-TC
        InetAddress, InetAddressType
    FROM INET-ADDRESS-MIB;

hh3cEponMibObjects MODULE-IDENTITY
    LAST-UPDATED "200705221008Z"
    ORGANIZATION
        "Hangzhou H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team H3C Technologies Co., Ltd.
         Hai-Dian District Beijing P.R. China
         http://www.h3c.com
         Zip: 100085"
    DESCRIPTION
        "
        The objects in this MIB module are used to manage and
        display current configuration of Ethernet Passive Optical
        Network (EPON) port which are based on the Ethernet in
        the First Mile (EFM) Passive Optical Network(PON) as
        defined in IEEE Draft P802.3ah/D3.0 clause 60, 64, 65..
        "
    ::= { hh3cEpon 1 }

hh3cEponSysMan OBJECT IDENTIFIER ::= { hh3cEponMibObjects 1 }

hh3cEponAutoAuthorize OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        This value determines whether software performs
        self-authorization for each Optical Network Unit(ONU)
        registering to the network.  Setting it to false
        means for every ONU registering, software requires
        external authorization, and until it's done the
        ONU is not authenticated.  True value means software
        authorizes each ONU registering to the network
        automatically.
        true  - ONUs are always authorized.
        false - If 802.1x authorization is enable,
        the ONUs have to be authorized by
        the protocol.
        - If 802.1x authorization is disable,
        ONUs are always authorized.
        "
    DEFVAL { false }
    ::= { hh3cEponSysMan 1 }


hh3cEponMonitorCycle OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The cycle of alarm thresholds checking.
        Applying to the following types:
        Bit Error Rate(BER) alarm, Frame Error Rate(FER),
        Logical Link Identity(LLID) mismatch alarm and so on.
        The unit is second.
        "
    ::= { hh3cEponSysMan 2 }

hh3cEponMsgTimeOut OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Timeout waiting for a response from Optical Line Terminal(OLT)
        firmware after sending it a message.
        The unit is millisecond.
        "
    DEFVAL { 600 }
    ::= { hh3cEponSysMan 3 }

hh3cEponMsgLoseNum OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The times of messages sending timeouts, after
        which OLT will reset (applying to every OLT).
        "
    DEFVAL { 20 }
    ::= { hh3cEponSysMan 4 }

hh3cEponSysHasEPONBoard OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        true(1)  - At least an EPON board exists.
        false(2) - No EPON board exists.
        "
    ::= { hh3cEponSysMan 5 }

hh3cEponMonitorCycleEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Stop or continue monitoring.
        true(1)  - Continue monitoring.
        false(2) - Stop monitoring.
        "
    DEFVAL { true }
    ::= { hh3cEponSysMan 6 }

hh3cEponOltSoftwareErrAlmEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Software error alarm behavior of all active OLTs.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cEponSysMan 7 }

hh3cEponPortLoopBackAlmEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        LoopBack alarm behavior of EPON ports.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cEponSysMan 8 }

hh3cEponMonitorCycleMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of cycle which be confined to the
        hh3cEponMonitorCycle.
        "
    ::= { hh3cEponSysMan 9 }

hh3cEponMonitorCycleMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of cycle which be confined to the
        hh3cEponMonitorCycle.
        "
    ::= { hh3cEponSysMan 10 }

hh3cEponMsgTimeOutMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of timeout which be confined to the
        hh3cEponMsgTimeOut.
        "
    ::= { hh3cEponSysMan 11 }

hh3cEponMsgTimeOutMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of timeout which be confined to the
        hh3cEponMsgTimeOut.
        "
    ::= { hh3cEponSysMan 12 }

hh3cEponMsgLoseNumMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of time which be confined to the
        hh3cEponMsgLoseNum.
        "
    ::= { hh3cEponSysMan 13 }

hh3cEponMsgLoseNumMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of time which be confined to the
        hh3cEponMsgLoseNum.
        "
    ::= { hh3cEponSysMan 14 }

hh3cEponSysScalarGroup OBJECT IDENTIFIER ::= { hh3cEponSysMan 15 }

--
-- hh3cEponSysManTable
--

hh3cEponSysManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEponSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table defines system related parameters.
        "
    ::= { hh3cEponSysMan 16 }

hh3cEponSysManEntry OBJECT-TYPE
    SYNTAX      Hh3cEponSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cEponSysManTable.
        "
    INDEX
        {
            hh3cEponSlotIndex
        }
    ::= { hh3cEponSysManTable 1 }

Hh3cEponSysManEntry ::= SEQUENCE
    {
        hh3cEponSlotIndex                   Integer32,
        hh3cEponModeSwitch                  INTEGER,
        hh3cEponAutomaticMode               INTEGER,
        hh3cEponOamDiscoveryTimeout         Integer32,
        hh3cEponEncryptionNoReplyTimeOut    Integer32,
        hh3cEponEncryptionUpdateTime        Integer32,
        hh3cEponAutoBindStatus              INTEGER
    }

hh3cEponSlotIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Slot Index, the index of hh3cEponSysManTable.
        "
    ::= { hh3cEponSysManEntry 1 }

hh3cEponModeSwitch OBJECT-TYPE
    SYNTAX      INTEGER
        {
            cmode(1),
            hmode(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        cmode - epon standard mode.
        hmode - private mode.
        "
    DEFVAL { cmode }
    ::= { hh3cEponSysManEntry 2 }

hh3cEponAutomaticMode OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Automatic mode setting: when enabled - after
        new OLT is added, the OLT stack sets its encryption mode
        to 'triple churning' and configure the OLT to authorize
        ONU MAC addresses according to its table.
        enable  -enable automatic mode.
        disable -disable automatic mode.
        "
    DEFVAL { enable }
    ::= { hh3cEponSysManEntry 3 }

hh3cEponOamDiscoveryTimeout OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Time out parameter for extended OAM discovery
        process message, ranging from 0 to 2550,
        measured in 100 milliseconds.
        "
    DEFVAL { 30 }
    ::= { hh3cEponSysManEntry 4 }

hh3cEponEncryptionNoReplyTimeOut OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Encryption response timeout,
        ranging from 1 to 2550,
        measured in 100 milliseconds.
        "
    DEFVAL { 30 }
    ::= { hh3cEponSysManEntry 5 }

hh3cEponEncryptionUpdateTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Encryption key update timer for all ONUs on slot,
        indicated by hh3cEponSlotIndex,
        ranging from 1 to 255, measured in seconds.
        "
    DEFVAL { 10 }
    ::= { hh3cEponSysManEntry 6 }

hh3cEponAutoBindStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        enable  - auto bind ONU ID when the ONU registered in the EPON system.
        disable - need manual bind ONU ID when the ONU registered in the EPON system.
        "
    DEFVAL { disable }
    ::= { hh3cEponSysManEntry 7 }


--
-- hh3cEponAutoUpdateTable
--
hh3cEponAutoUpdateTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEponAutoUpdateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        EPON auto update ONU application configuration.
        "
    ::= { hh3cEponSysMan 17 }

hh3cEponAutoUpdateEntry OBJECT-TYPE
    SYNTAX      Hh3cEponAutoUpdateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cEponAutoUpdateTable.
        "
    INDEX
        {
            hh3cEponSlotIndex
        }
    ::= { hh3cEponAutoUpdateTable 1 }

Hh3cEponAutoUpdateEntry ::= SEQUENCE
    {
        hh3cEponAutoUpdateFileName          DisplayString,
        hh3cEponAutoUpdateSchedStatus       INTEGER,
        hh3cEponAutoUpdateSchedTime         OCTET STRING,
        hh3cEponAutoUpdateSchedType         INTEGER,
        hh3cEponAutoUpdateRealTimeStatus    INTEGER
    }
hh3cEponAutoUpdateFileName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The name of ONU application file,  the file name must be valid
        and include the path. It is a zero length string by default.
        "
    ::= { hh3cEponAutoUpdateEntry 1 }

hh3cEponAutoUpdateSchedStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The status of schedule update configuration.
        The hh3cEponAutoUpdateFileName must be set before enable
        hh3cEponAutoUpdateSchedStatus.
        enable - enable ONU schedule update.
        disable - disable ONU schedule update.
        "
    DEFVAL { disable }
    ::= { hh3cEponAutoUpdateEntry 2 }

hh3cEponAutoUpdateSchedTime OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The schedule update timing configuration is related to
        the hh3cEponAutoUpdateSchedType.
        auto update daily: the string format is hhmm
        auto update weekly: the string format is hhmmw
        'w' means update weekly, it ranges from 0 to 6:
        0 - Sunday.
        1 - Monday.
        2 - Tuesday.
        3 - Wednesday.
        4 - Thursday.
        5 - Friday.
        6 - Saturday.
        auto update in coming date : the string format is hhmmyyyymmdd.
        The configuration will take effect only if hh3cEponAutoUpdateSchedStatus
        is enabled.
        "
    ::= { hh3cEponAutoUpdateEntry 3 }

hh3cEponAutoUpdateSchedType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            daily(1),
            weekly(2),
            comingdate(3)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The update type of auto updating configuration.
        daily - update ONU application every day.
        weekly - update ONU application every week.
        comingdate - update ONU application on coming date.
        "
    ::= { hh3cEponAutoUpdateEntry 4 }

hh3cEponAutoUpdateRealTimeStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The status of real time update configuration.
        The hh3cEponAutoUpdateFileName must be set before enable
        hh3cEponAutoUpdateRealTimeStatus.
        enable - enable ONU real time update.
        disable - disable ONU real time update.
        "
    DEFVAL { disable }
    ::= { hh3cEponAutoUpdateEntry 5 }

--
-- hh3cEponOuiIndexNextTable
--

hh3cEponOuiIndexNextTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEponOuiIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Next OUI index table.
        "
    ::= { hh3cEponSysMan 18 }

hh3cEponOuiIndexNextEntry OBJECT-TYPE
    SYNTAX      Hh3cEponOuiIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cEponOuiIndexNextTable.
        "
    INDEX
        {
            hh3cEponSlotIndex
        }
    ::= { hh3cEponOuiIndexNextTable 1 }

Hh3cEponOuiIndexNextEntry ::= SEQUENCE
    {
        hh3cEponOuiIndexNext    Integer32
    }

hh3cEponOuiIndexNext OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        This object contains an appropriate value to be used for
        hh3cEponOuiIndex when creating rows in the
        hh3cEponOuiTable.
        "
    ::= { hh3cEponOuiIndexNextEntry 1 }

--
-- hh3cEponOuiTable
--

hh3cEponOuiTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEponOuiEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        List of OUI and OAM supported by OLT.
        "
    ::= { hh3cEponSysMan 19 }

hh3cEponOuiEntry OBJECT-TYPE
    SYNTAX      Hh3cEponOuiEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cEponOuiTable.
        "
    INDEX
        {
            hh3cEponSlotIndex,
            hh3cEponOuiIndex
        }
    ::= { hh3cEponOuiTable 1 }

Hh3cEponOuiEntry ::= SEQUENCE
    {
        hh3cEponOuiIndex        Integer32,
        hh3cEponOuiValue        OCTET STRING,
        hh3cEponOamVersion      OCTET STRING,
        hh3cEponOuiRowStatus    RowStatus
    }

hh3cEponOuiIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The index of this table.
        "
    ::= { hh3cEponOuiEntry 1 }

hh3cEponOuiValue OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..512))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        OUI list supported by the extended OAM discovery process.
        The OUI is composed of six octets. The first six octets denote the first OUI ,
        the second six octets denote the second OUI, and the like.
        "
    ::= { hh3cEponOuiEntry 2 }


hh3cEponOamVersion OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        Version of OAM protocol defined by the organization denoted by OUI.
        "
    ::= { hh3cEponOuiEntry 3 }

hh3cEponOuiRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The status of this table entry. Only active,
        createAndGo and the destory are supported.
        "
    ::= { hh3cEponOuiEntry 4 }

--
-- hh3cEponMulticastControlTable
--

hh3cEponMulticastControlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEponMulticastControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Multicast control global configuration.
        "
    ::= { hh3cEponSysMan 20 }

hh3cEponMulticastControlEntry OBJECT-TYPE
    SYNTAX      Hh3cEponMulticastControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cEponMulticastControlTable.
        "
    INDEX
        {
            hh3cEponMulticastVlanId
        }
    ::= { hh3cEponMulticastControlTable 1 }

Hh3cEponMulticastControlEntry ::= SEQUENCE
    {
        hh3cEponMulticastVlanId         Integer32,
        hh3cEponMulticastAddressList    OCTET STRING,
        hh3cEponMulticastStatus         RowStatus
    }

hh3cEponMulticastVlanId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The index of this table.
        "
    ::= { hh3cEponMulticastControlEntry 1 }

hh3cEponMulticastAddressList OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The multicast address, each four octets represents a multicast address,
        the address section ranging from the first four octets to the second
        four octets, and the like.
        "
    ::= { hh3cEponMulticastControlEntry 2 }

hh3cEponMulticastStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The status of this table entry. Only active,
        createAndGo and the destory are supported.
        "
    ::= { hh3cEponMulticastControlEntry 3 }

hh3cEponFileName OBJECT IDENTIFIER ::= { hh3cEponMibObjects 2 }

hh3cEponDbaUpdateFileName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The name of a binary file which is loaded to
        the OLT from an external source.  Note that the filename
        must contain the file path.
        "
    ::= { hh3cEponFileName 1 }

hh3cEponOnuUpdateFileName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The filename of the ONU firmware to be updated.
        Note that the filename must contain the file path.
        "
    ::= { hh3cEponFileName 2 }

hh3cEponOltMan OBJECT IDENTIFIER ::= { hh3cEponMibObjects 3 }

--
-- hh3cOltSysManTable
--

hh3cOltSysManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOltSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table defines several OLT system parameters:
        (1)laser on time
        (2)laser off time
        (3)whether multiple copy broadcast
        (4)whether discard packet
        (5)self test
        (6)self test result
        "
    ::= { hh3cEponOltMan 1 }

hh3cOltSysManEntry OBJECT-TYPE
    SYNTAX      Hh3cOltSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOltSysManTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOltSysManTable 1 }

Hh3cOltSysManEntry ::= SEQUENCE
    {
        hh3cOltLaserOnTime            Integer32,
        hh3cOltLaserOffTime           Integer32,
        hh3cOltMultiCopyBrdCast       TruthValue,
        hh3cOltEnableDiscardPacket    TruthValue,
        hh3cOltSelfTest               INTEGER,
        hh3cOltSelfTestResult         INTEGER,
        hh3cOltMaxRtt                 Unsigned32
    }

hh3cOltLaserOnTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The laser on time of the ONUs during the
        discovery process, measured in Time Quanta(TQ).
        "
    DEFVAL { 96 }
    ::= { hh3cOltSysManEntry 1 }

hh3cOltLaserOffTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The laser off time of the ONUs during the
        discovery process, measured in TQ.
        "
    DEFVAL { 96 }
    ::= { hh3cOltSysManEntry 2 }

hh3cOltMultiCopyBrdCast OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true/false filtering of tagged  multicast frames.
        The software avert tagged downstream frames with
        multicast or broadcast DA to the PON and not to the
        CPU, except for special multicast frames
        (link-constraint, IGMP control and ARP) that are
        passed to the CPU regardless of this feature.
        "
    DEFVAL { false }
    ::= { hh3cOltSysManEntry 3 }

hh3cOltEnableDiscardPacket OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Forward(false)/discard(true) any frames received from
        unlearned source address when the inside address
        table of the original ONU entry reach to the limit.
        "
    DEFVAL { false }
    ::= { hh3cOltSysManEntry 4 }

hh3cOltSelfTest OBJECT-TYPE
    SYNTAX      INTEGER
        {
            selftest(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        selftest(1): Test OLT to check whether it's OK.
        "
    ::= { hh3cOltSysManEntry 5 }

hh3cOltSelfTestResult OBJECT-TYPE
    SYNTAX      INTEGER
        {
            other(1),
            ok(2),
            fail(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The self test result of the specific OLT.
        other(1): The self test result is another reason.
        ok(2):    The self test result is OK.
        fail(3):  The self test result is fail.
        "
    ::= { hh3cOltSysManEntry 6 }

hh3cOltMaxRtt OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Set the max Round Trip Time of this OLT.
        "
    ::= { hh3cOltSysManEntry 7 }

--
-- hh3cOltInfoTable
--
hh3cOltInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOltInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Primary status of the specified OLT.
        There will be one row in this table for each
        information in the system.
        (1)Software and hardware versions of the specified OLT
        (hh3cOltFirmMajorVersion, hh3cOltFirmMinorVersion,
        hh3cOltHardMajorVersion, hh3cOltHardMinorVersion)
        (2)Several physical capabilities of an OLT device.
        (hh3cOltAgcLockTime, hh3cOltAgcCdrTime)
        (3)The operation(activation) status of an OLT.
        (hh3cOltMacAddress, hh3cOltWorkMode)
        "
    ::= { hh3cEponOltMan 2 }

hh3cOltInfoEntry OBJECT-TYPE
    SYNTAX      Hh3cOltInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOltInfoTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOltInfoTable 1 }

Hh3cOltInfoEntry ::= SEQUENCE
    {
        hh3cOltFirmMajorVersion    OCTET STRING,
        hh3cOltFirmMinorVersion    OCTET STRING,
        hh3cOltHardMajorVersion    OCTET STRING,
        hh3cOltHardMinorVersion    OCTET STRING,
        hh3cOltAgcLockTime         Integer32,
        hh3cOltAgcCdrTime          Integer32,
        hh3cOltMacAddress          MacAddress,
        hh3cOltWorkMode            INTEGER,
        hh3cOltOpticalPowerTx      Integer32,
        hh3cOltOpticalPowerRx      Integer32
    }

hh3cOltFirmMajorVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        OLT firmware major version.  If the object length is
        zero, it means the version is unknown.
        "
    ::= { hh3cOltInfoEntry 1 }

hh3cOltFirmMinorVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        OLT firmware minor version.  If the object length is
        zero, it means the version is unknown.
        "
    ::= { hh3cOltInfoEntry 2 }

hh3cOltHardMajorVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        OLT hardware major version.  If the object length is
        zero, it means the version is unknown.
        "
    ::= { hh3cOltInfoEntry 3 }

hh3cOltHardMinorVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        OLT hardware minor version.  If the object length is
        zero, it means the version is unknown.
        "
    ::= { hh3cOltInfoEntry 4 }

hh3cOltAgcLockTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        PON upstream data Automatic Gain Control(AGC) lock time,
        measured in TQ,
        range: 1 - 2^15.
        0x7FFFFFFF: unknown value.
        "
    ::= { hh3cOltInfoEntry 5 }

hh3cOltAgcCdrTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        PON RX signal synchronization time,
        measured in TQ,
        range: 1 - 2^15.
        0x7FFFFFFF: unknown value
        "
    ::= { hh3cOltInfoEntry 6 }

hh3cOltMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        OLT MAC address.
        "
    ::= { hh3cOltInfoEntry 7 }

hh3cOltWorkMode OBJECT-TYPE
    SYNTAX      INTEGER
        {
            other(1),
            open(2),
            reset(3),
            closed(4)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The operation(activation) modes of an OLT.
        other(1)  - The OLT is in another mode.
        open(2)   - The OLT is open.
        reset(3)  - The OLT is reset.
        closed(4) - The OLT is closed.
        "
    ::= { hh3cOltInfoEntry 8 }

hh3cOltOpticalPowerTx OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The optical power transmitted by this OLT.
        It measured in 0.01 dBm unit.
        "
    ::= { hh3cOltInfoEntry 9 }

hh3cOltOpticalPowerRx OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The burst optical power received by this OLT.
        It measured in 0.01 dBm unit.
        "
    ::= { hh3cOltInfoEntry 10 }

--
-- hh3cOltDbaManTable
--
hh3cOltDbaManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOltDbaManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table defines the primary parameters of the
        Dynamic Bandwidth Allocation(DBA) algorithm applying to the OLT.
        "
    ::= { hh3cEponOltMan 3 }

hh3cOltDbaManEntry OBJECT-TYPE
    SYNTAX      Hh3cOltDbaManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOltDbaManTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOltDbaManTable 1 }

Hh3cOltDbaManEntry ::= SEQUENCE
    {
        hh3cOltDbaEnabledType          INTEGER,
        hh3cOltDbaDiscoveryLength      Integer32,
        hh3cOltDbaDiscovryFrequency    Integer32,
        hh3cOltDbaCycleLength          Integer32,
        hh3cOltDbaVersion              OCTET STRING,
        hh3cOltDbaUpdate               INTEGER,
        hh3cOltDbaUpdateResult         INTEGER
    }

hh3cOltDbaEnabledType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            internal(1),
            external(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Enable different types of the DBA algorithm.
        Start upstream dynamic bandwidth allocation algorithm,
        replacing former bandwidth allocation mechanism.
        internal(1) - OLT internal Service Level Agreement(SLA) based
        algorithm, always being activated.
        external(2) - DBA algorithm in a binary file which is loaded to
        the OLT from an external source.
        "
    DEFVAL { internal }
    ::= { hh3cOltDbaManEntry 1 }

hh3cOltDbaDiscoveryLength OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Discovery length in TQ units.
        "
    DEFVAL { 41500 }
    ::= { hh3cOltDbaManEntry 2 }

hh3cOltDbaDiscovryFrequency OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        How often should the OLT send discovery frames to
        the ONUs, measured in grant cycles.
        "
    DEFVAL { 50 }
    ::= { hh3cOltDbaManEntry 3 }

hh3cOltDbaCycleLength OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The grant cycle length in TQ units.
        "
    DEFVAL { 65535 }
    ::= { hh3cOltDbaManEntry 4 }

hh3cOltDbaVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        DBA version of the OLT.
        "
    ::= { hh3cOltDbaManEntry 5 }

hh3cOltDbaUpdate OBJECT-TYPE
    SYNTAX      INTEGER
        {
            update(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Update(1): Update the DBA algorithm with a binary
        file which is loaded to the OLT from an external source(flash).
        Config the MIB object module hh3cEponDbaUpdateFileName.
        "
    ::= { hh3cOltDbaManEntry 6 }

hh3cOltDbaUpdateResult OBJECT-TYPE
    SYNTAX      INTEGER
        {
            other(1),
            ok(2),
            fail(3),
            fileNotExist(4),
            notSetFilename(5)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The latest DBA update result.
        other: The DBA update result is another reason.
        ok:    The DBA update result is OK.
        fail:  The DBA update result is fail.
        fileNotExist: The DBA update failed because the file
        does not exist.
        notSetFilename: The DBA filename is not set.
        "
    ::= { hh3cOltDbaManEntry 7 }

--
-- hh3cOltPortAlarmThresholdTable
--

hh3cOltPortAlarmThresholdTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOltPortAlarmThresholdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The table defines the alarm threshold of OLT.
        "
    ::= { hh3cEponOltMan 4 }

hh3cOltPortAlarmThresholdEntry OBJECT-TYPE
    SYNTAX      Hh3cOltPortAlarmThresholdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOltPortAlarmThresholdTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOltPortAlarmThresholdTable 1 }

Hh3cOltPortAlarmThresholdEntry ::= SEQUENCE
    {
        hh3cOltPortAlarmBerEnabled                 TruthValue,
        hh3cOltPortAlarmBerDirect                  INTEGER,
        hh3cOltPortAlarmBerThreshold               Integer32,
        hh3cOltPortAlarmFerEnabled                 TruthValue,
        hh3cOltPortAlarmFerDirect                  INTEGER,
        hh3cOltPortAlarmFerThreshold               Integer32,
        hh3cOltPortAlarmLlidMismatchEnabled        TruthValue,
        hh3cOltPortAlarmLlidMismatchThreshold      Integer32,
        hh3cOltPortAlarmRemoteStableEnabled        TruthValue,
        hh3cOltPortAlarmLocalStableEnabled         TruthValue,
        hh3cOltPortAlarmRegistrationEnabled        TruthValue,
        hh3cOltPortAlarmOamDisconnectionEnabled    TruthValue,
        hh3cOltPortAlarmEncryptionKeyEnabled       TruthValue,
        hh3cOltPortAlarmVendorSpecificEnabled      TruthValue,
        hh3cOltPortAlarmRegExcessEnabled           TruthValue,
        hh3cOltPortAlarmDFEEnabled                 TruthValue
    }

hh3cOltPortAlarmBerEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of BER alarm.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cOltPortAlarmThresholdEntry 1 }

hh3cOltPortAlarmBerDirect OBJECT-TYPE
    SYNTAX      INTEGER
        {
            berUplink(1),
            berDownlink(2),
            berAll(3)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Traffic direction to monitor for BER alarm.
        "
    DEFVAL { berAll }
    ::= { hh3cOltPortAlarmThresholdEntry 2 }

hh3cOltPortAlarmBerThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        BER threshold exceed which the alarm is raised.
        "
    DEFVAL { 10 }
    ::= { hh3cOltPortAlarmThresholdEntry 3 }

hh3cOltPortAlarmFerEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of FER alarm.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cOltPortAlarmThresholdEntry 4 }

hh3cOltPortAlarmFerDirect OBJECT-TYPE
    SYNTAX      INTEGER
        {
            ferUplink(1),
            ferDownlink(2),
            ferAll(3)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Traffic direction to monitor for FER alarm.
        "
    DEFVAL { ferAll }
    ::= { hh3cOltPortAlarmThresholdEntry 5 }

hh3cOltPortAlarmFerThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Frame error rate exceed threshold then the alarm is raised.
        "
    DEFVAL { 1 }
    ::= { hh3cOltPortAlarmThresholdEntry 6 }

hh3cOltPortAlarmLlidMismatchEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of LLID mismatch alarm.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { false }
    ::= { hh3cOltPortAlarmThresholdEntry 7 }

hh3cOltPortAlarmLlidMismatchThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The minimal number of mismatched frames exceed threshold then
        LLID mismatch alarm is raised.
        "
    DEFVAL { 5000 }
    ::= { hh3cOltPortAlarmThresholdEntry 8 }

hh3cOltPortAlarmRemoteStableEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of remote stable alarm.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cOltPortAlarmThresholdEntry 9 }

hh3cOltPortAlarmLocalStableEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of local stable alarm.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cOltPortAlarmThresholdEntry 10 }

hh3cOltPortAlarmRegistrationEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of registration alarm.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cOltPortAlarmThresholdEntry 11 }

hh3cOltPortAlarmOamDisconnectionEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of Operations Administration and Maintenance(OAM)
        disconnection alarm.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cOltPortAlarmThresholdEntry 12 }

hh3cOltPortAlarmEncryptionKeyEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of encryption bad key alarm.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cOltPortAlarmThresholdEntry 13 }

hh3cOltPortAlarmVendorSpecificEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of vendor specific alarm.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cOltPortAlarmThresholdEntry 14 }

hh3cOltPortAlarmRegExcessEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of ONU registering over limitation alarm.
        true(1)  - alarm enable.
        false(2) - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cOltPortAlarmThresholdEntry 15 }

hh3cOltPortAlarmDFEEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Behavior of device fatal error alarm.
        true  - alarm enable.
        false - alarm disable.
        "
    DEFVAL { true }
    ::= { hh3cOltPortAlarmThresholdEntry 16 }

hh3cOltLaserOnTimeMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of time which is confined to
        hh3cOltLaserOnTime.
        "
    ::= { hh3cEponOltMan 5 }

hh3cOltLaserOnTimeMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of time which is confined to
        hh3cOltLaserOnTime.
        "
    ::= { hh3cEponOltMan 6 }

hh3cOltLaserOffTimeMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of time which is confined to
        hh3cOltLaserOffTime.
        "
    ::= { hh3cEponOltMan 7 }

hh3cOltLaserOffTimeMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of time which is confined to
        hh3cOltLaserOffTime.
        "
    ::= { hh3cEponOltMan 8 }

hh3cOltDbaDiscoveryLengthMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of the discovery length which is confined to
        hh3cOltDbaDiscoveryLength.
        "
    ::= { hh3cEponOltMan 9 }

hh3cOltDbaDiscoveryLengthMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of the discovery length which is confined to
        hh3cOltDbaDiscoveryLength.
        "
    ::= { hh3cEponOltMan 10 }

hh3cOltDbaDiscovryFrequencyMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of the discovery length which is confined to
        hh3cOltDbaDiscovryFrequency.
        "
    ::= { hh3cEponOltMan 11 }

hh3cOltDbaDiscovryFrequencyMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of the discovery length which is confined to
        hh3cOltDbaDiscovryFrequency.
        "
    ::= { hh3cEponOltMan 12 }

hh3cOltDbaCycleLengthMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of the frames which is confined to
        hh3cOltDbaCycleLength.
        "
    ::= { hh3cEponOltMan 13 }

hh3cOltDbaCycleLengthMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of the frames which is confined to
        hh3cOltDbaCycleLength.
        "
    ::= { hh3cEponOltMan 14 }

hh3cOltPortAlarmLlidMisMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of the frames which is confined to
        hh3cOltPortAlarmLlidMismatchThreshold.
        "
    ::= { hh3cEponOltMan 15 }

hh3cOltPortAlarmLlidMisMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of the frames which is confined to
        hh3cOltPortAlarmLlidMismatchThreshold.
        "
    ::= { hh3cEponOltMan 16 }

hh3cOltPortAlarmBerMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of threshold which is confined to
        hh3cOltPortAlarmBerThreshold.
        "
    ::= { hh3cEponOltMan 17 }

hh3cOltPortAlarmBerMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of threshold which is confined to
        hh3cOltPortAlarmBerThreshold.
        "
    ::= { hh3cEponOltMan 18 }

hh3cOltPortAlarmFerMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of threshold which is confined to
        hh3cOltPortAlarmFerThreshold.
        "
    ::= { hh3cEponOltMan 19 }

hh3cOltPortAlarmFerMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of threshold which is confined to
        hh3cOltPortAlarmFerThreshold.
        "
    ::= { hh3cEponOltMan 20 }

--
-- hh3cOnuSilentTable
--

hh3cOnuSilentTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuSilentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table is used for getting silent ONU information of OLT.
        "
    ::= { hh3cEponOltMan 21 }

hh3cOnuSilentEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuSilentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOnuSilentTable.
        "
    INDEX
        {
            ifIndex,
            hh3cOnuSilentMacAddr
        }
    ::= { hh3cOnuSilentTable 1 }

Hh3cOnuSilentEntry ::= SEQUENCE
    {
        hh3cOnuSilentMacAddr    MacAddress,
        hh3cOnuSilentTime       Integer32
    }

hh3cOnuSilentMacAddr OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The MAC address of silent ONUs in OLT.
        "
    ::= { hh3cOnuSilentEntry 1 }

hh3cOnuSilentTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The aging time of a silent ONU.
        "
    ::= { hh3cOnuSilentEntry 2 }

--
-- hh3cOltUsingOnuTable
--

hh3cOltUsingOnuTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOltUsingOnuEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The table containing configurations to manage ONU interface(s)
        based on OLT interface.
        "
    ::= { hh3cEponOltMan 22 }

hh3cOltUsingOnuEntry OBJECT-TYPE
    SYNTAX      Hh3cOltUsingOnuEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOltUsingOnuTable.
        "
    INDEX
        {
            ifIndex,
            hh3cOltUsingOnuNum
        }
    ::= { hh3cOltUsingOnuTable 1 }

Hh3cOltUsingOnuEntry  ::= SEQUENCE
    {
        hh3cOltUsingOnuNum          Integer32,
        hh3cOltUsingOnuIfIndex      Integer32,
        hh3cOltUsingOnuRowStatus    RowStatus
    }

hh3cOltUsingOnuNum OBJECT-TYPE
    SYNTAX      Integer32(1..64)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The ONU interface number. This value is used to specify the ONU interface
        which the user wants to configure for an OLT interface.
        "
    ::= { hh3cOltUsingOnuEntry 1 }

hh3cOltUsingOnuIfIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The ifIndex of the ONU interface.
        "
    ::= { hh3cOltUsingOnuEntry 2 }

hh3cOltUsingOnuRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        This object is responsible for managing the creation,
        deletion and modification of rows, which supports active
        status and CreatAndGo, destroy operation.
        "
    ::= { hh3cOltUsingOnuEntry 3 }

hh3cEponOnuMan OBJECT IDENTIFIER ::= { hh3cEponMibObjects 5 }

--
-- hh3cOnuSysManTable
--

hh3cOnuSysManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table implements the following functions for ONUs:
        1. Encrypting all downstream/upstream and
        downstream directions traffic destined to and
        originated from a specific LLID
        (ONU in current implementation).
        2. Restart a process of ONU authentication, using
        the OLT (IEEE 802.1x) authenticator.
        "
    ::= { hh3cEponOnuMan 1 }

hh3cOnuSysManEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOnuSysManTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuSysManTable 1 }

Hh3cOnuSysManEntry ::= SEQUENCE
    {
        hh3cOnuEncryptMan                 INTEGER,
        hh3cOnuReAuthorize                INTEGER,
        hh3cOnuMulticastFilterStatus      TruthValue,
        hh3cOnuDbaReportQueueSetNumber    Integer32,
        hh3cOnuRemoteFecStatus            INTEGER,
        hh3cOnuPortBerStatus              INTEGER,
        hh3cOnuReset                      INTEGER,
        hh3cOnuMulticastControlMode       INTEGER,
        hh3cOnuAccessVlan                 Integer32,
        hh3cOnuEncryptKey                 DisplayString,
        hh3cOnuUniUpDownTrapStatus        TruthValue,
        hh3cOnuFecStatus                  INTEGER,
        hh3cOnuMcastCtrlHostAgingTime     Integer32,
        hh3cOnuMulticastFastLeaveEnable   TruthValue,
        hh3cOnuPortIsolateEnable          TruthValue
    }

hh3cOnuEncryptMan OBJECT-TYPE
    SYNTAX      INTEGER
        {
            off(1),
            downlink(2),
            updownlink(3)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Start encrypting all downstream/upstream and downstream
        directions traffic destined to and originated from a
        specific LLID (ONU in current implementation).  ONU
        registration encryption key is used as an initial value.
        If the encryption key was updated after ONU
        registration, the last updated key is used.
        off(1):        - Stop encrypting.
        downlink(2):   - Start encrypting all downstream
        directions traffic.
        updownlink(3): - Start encrypting all downstream/upstream
        directions traffic.
        "
    DEFVAL { downlink }
    ::= { hh3cOnuSysManEntry 1 }

hh3cOnuReAuthorize OBJECT-TYPE
    SYNTAX      INTEGER
        {
            reAuthorize(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Restart a process of ONU authentication.
        If 802.1x authentication is enabled, the OLT
        (IEEE 802.1x) authenticator is applied.
        Otherwise, use the default authentication.
        Until the reauthentication succeeds, the ONU remains
        its previous authorization mode.
        The reauthentication process includes a new
        authentication request sent to the authentication server.
        "
    ::= { hh3cOnuSysManEntry 2 }

hh3cOnuMulticastFilterStatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true(1)  - Multicast-Filter enable on ONU.
        false(2) - Multicast-Filter disable on ONU.
        "
    DEFVAL { false }
    ::= { hh3cOnuSysManEntry 3 }

hh3cOnuDbaReportQueueSetNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The number of queue sets reported in MPCP report frames.
        "
    DEFVAL { 2 }
    ::= { hh3cOnuSysManEntry 4 }

hh3cOnuRemoteFecStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Value that indicates status of the 1000BASE-PX PHY
        optional FEC Sublayer for forward error correction
        see [802.3ah] clause 65.2.
        enable - enable remote forward error correction.
        disable - disable remote forward error correction.
        "
    DEFVAL { disable }
    ::= { hh3cOnuSysManEntry 5 }

hh3cOnuPortBerStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        enable - enable ONU port bit error rate alarm.
        disable - disable ONU port bit error rate alarm.
        "
    DEFVAL { enable }
    ::= { hh3cOnuSysManEntry 6 }

hh3cOnuReset OBJECT-TYPE
    SYNTAX      INTEGER
        {
            reset(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Reboot ONU.
        "
    ::= { hh3cOnuSysManEntry 7 }

hh3cOnuMulticastControlMode OBJECT-TYPE
    SYNTAX      INTEGER
        {
            igmpsnooping(1),
            multicastcontrol(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        igmpsnooping - the traditional IGMP snooping mode.
        multicastcontrol - the specific multicast control mode.
        "
    DEFVAL { igmpsnooping }
    ::= { hh3cOnuSysManEntry 8 }

hh3cOnuAccessVlan OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The VLAN ID assigned to untagged frames received on ONU.
        "
    ::= { hh3cOnuSysManEntry 9 }

hh3cOnuEncryptKey OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The encryption key, used to encrypt all downstream
        traffic destined to and/or upstream traffic originating
        from a specific ONU. It is a zero length, or MD5 hashed string,
        by default, the string is empty.
        "
    ::= { hh3cOnuSysManEntry 10 }

hh3cOnuUniUpDownTrapStatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true - A notification will be sent when UNI link status is change.
        false - Device will not sent notification when UNI link status is
        change.
        "
    DEFVAL { false }
    ::= { hh3cOnuSysManEntry 11 }

hh3cOnuFecStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Value that indicates status of the 1000BASE-PX PHY
        optional FEC Sublayer for forward error correction
        (include remote onu and local OLT)
        see [802.3ah] clause 65.2
        enable - enable forward error correction.
        disable - disable forward error correction.
        "
    DEFVAL { disable }
    ::= { hh3cOnuSysManEntry 12 }

hh3cOnuMcastCtrlHostAgingTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The host aging time of multicast control mode on ONU,
        ranging from 200 to 1000, measured in seconds.
        "
    ::= { hh3cOnuSysManEntry 13 }

hh3cOnuMulticastFastLeaveEnable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        true(1)  - Enable multicast fast leave attribute on all ethernet UNIs of the ONU.
        false(2) - Disable multicast fast leave attribute on all ethernet UNIs of the ONU.
        "
    ::= { hh3cOnuSysManEntry 14 }

hh3cOnuPortIsolateEnable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        true(1)  - Enable port isolate setting on all ethernet UNIs of the ONU.
        false(2) - Disable port isolate setting on all ethernet UNIs of the ONU.
        "
    ::= { hh3cOnuSysManEntry 15 }

--
-- hh3cOnuLinkTestTable
--

hh3cOnuLinkTestTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuLinkTestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        LLID link test applying to the ONU only including delay
        measurement option.  The command tests a link to a single
        LLID over a period of time or once, using a variable
        number of measurement frames.  The length of the measurement
        frames is also parameterized.  The test uses a loopback
        mode of the ONU to return each measurement frame,
        loopback activation is done using randomly patterned
        OAM Protocol Data Unit(PDU) frames.
        "
    ::= { hh3cEponOnuMan 2 }

hh3cOnuLinkTestEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuLinkTestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hh3cOnuLinkTestEntry.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuLinkTestTable 1 }

Hh3cOnuLinkTestEntry ::= SEQUENCE
    {
        hh3cOnuLinkTestFrameNum                Integer32,
        hh3cOnuLinkTestFrameSize               Integer32,
        hh3cOnuLinkTestDelay                   TruthValue,
        hh3cOnuLinkTestVlanTag                 TruthValue,
        hh3cOnuLinkTestVlanPriority            Integer32,
        hh3cOnuLinkTestVlanTagID               Integer32,
        hh3cOnuLinkTestResultSentFrameNum      Integer32,
        hh3cOnuLinkTestResultRetFrameNum       Integer32,
        hh3cOnuLinkTestResultRetErrFrameNum    Integer32,
        hh3cOnuLinkTestResultMinDelay          Integer32,
        hh3cOnuLinkTestResultMeanDelay         Integer32,
        hh3cOnuLinkTestResultMaxDelay          Integer32
    }

hh3cOnuLinkTestFrameNum OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Exact number of measurement frames.
        "
    DEFVAL { 20 }
    ::= { hh3cOnuLinkTestEntry 1 }

hh3cOnuLinkTestFrameSize OBJECT-TYPE
    SYNTAX      Integer32(60..1514)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Measurement frames data size, measured in bytes.
        Not including Preamble, SFD, VLAN tag, and FCS.
        Frame size minimum value is 56 - if VLAN tag is
        enabled('VLAN enable' field is set to ENABLE),
        and 60 - if VLAN tag is disabled.  The actual
        measurement frames sent to the PON are always
        minimum 60 bytes long.  When VLAN tag is enabled,
        the actual measurement frames size including
        FCS may reach (1514+4+4=)1522 bytes.
        60(60 is VLAN tag disabled) - 1514 .
        "
    DEFVAL { 1000 }
    ::= { hh3cOnuLinkTestEntry 2 }

hh3cOnuLinkTestDelay OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true:Link test includes delay measurement,
        which corresponds to the difference between sent
        and received times(including granting delay and
        firmware processing time overheads).
        false:Link test not includes a delay measurement.
        "
    DEFVAL { true }
    ::= { hh3cOnuLinkTestEntry 3 }

hh3cOnuLinkTestVlanTag OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true:Enable VLAN tag in link test frames.
        false:Link test not includes frames with VLAN tag.
        "
    DEFVAL { true }
    ::= { hh3cOnuLinkTestEntry 4 }

hh3cOnuLinkTestVlanPriority OBJECT-TYPE
    SYNTAX      Integer32(0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        VLAN priority: 0-7.
        "
    DEFVAL { 2 }
    ::= { hh3cOnuLinkTestEntry 5 }

hh3cOnuLinkTestVlanTagID OBJECT-TYPE
    SYNTAX      Integer32(1..4094)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        VLAN ID: 1-4094.
        "
    DEFVAL { 1 }
    ::= { hh3cOnuLinkTestEntry 6 }

hh3cOnuLinkTestResultSentFrameNum OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The total number of frames sent during the link test process.
        "
    ::= { hh3cOnuLinkTestEntry 7 }

hh3cOnuLinkTestResultRetFrameNum OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The total number of frames return back during the link test process.
        "
    ::= { hh3cOnuLinkTestEntry 8 }

hh3cOnuLinkTestResultRetErrFrameNum OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The total number of error frames return back during the
        link test process.
        "
    ::= { hh3cOnuLinkTestEntry 9 }

hh3cOnuLinkTestResultMinDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The minimum delay time in TQ units, which corresponds
        to the difference between sent and received times
        (including granting delay and firmware processing time
        overheads).  It's invalid if the field
        'hh3cOnuLinkTestDelay' is set to be true.
        "
    ::= { hh3cOnuLinkTestEntry 10 }

hh3cOnuLinkTestResultMeanDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The average delay time in TQ units, which corresponds
        to the difference between sent and received times
        (including granting delay and firmware processing time
        overheads).  It's invalid if the field
        'hh3cOnuLinkTestDelay' is set to be true.
        "
    ::= { hh3cOnuLinkTestEntry 11 }

hh3cOnuLinkTestResultMaxDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The maximum delay time in TQ units, which corresponds
        to the difference between sent and received times
        (including granting delay and firmware processing time
        overheads).  It's invalid if the field
        'hh3cOnuLinkTestDelay' is set to be true.
        "
    ::= { hh3cOnuLinkTestEntry 12 }

--
-- hh3cOnuBandWidthTable
--

hh3cOnuBandWidthTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuBandWidthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Set bandwidth policy parameters(restrictions)for a LLID
        (only for the ONU).  Default policies are set to disable.
        Policy parameters will be erased upon LLID network disconnection.
        "
    ::= { hh3cEponOnuMan 3 }

hh3cOnuBandWidthEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuBandWidthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of table hh3cOnuBandWidthTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuBandWidthTable 1 }

Hh3cOnuBandWidthEntry ::= SEQUENCE
    {
        hh3cOnuDownStreamBandWidthPolicy      TruthValue,
        hh3cOnuDownStreamMaxBandWidth         Integer32,
        hh3cOnuDownStreamMaxBurstSize         Integer32,
        hh3cOnuDownStreamHighPriorityFirst    TruthValue,
        hh3cOnuDownStreamShortFrameFirst      TruthValue,
        hh3cOnuP2PBandWidthPolicy             TruthValue,
        hh3cOnuP2PMaxBandWidth                Integer32,
        hh3cOnuP2PMaxBurstSize                Integer32,
        hh3cOnuP2PHighPriorityFirst           TruthValue,
        hh3cOnuP2PShortFrameFirst             TruthValue
    }

hh3cOnuDownStreamBandWidthPolicy OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true:Enable static bandwidth configuration policing.
        false:Disable static bandwidth configuration policing.
        "
    DEFVAL { false }
    ::= { hh3cOnuBandWidthEntry 1 }

hh3cOnuDownStreamMaxBandWidth OBJECT-TYPE
    SYNTAX      Integer32(0..1000000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Maximum bandwidth allowed for the ONU,
        measured in Kbits/Sec.
        "
    DEFVAL { 1000000 }
    ::= { hh3cOnuBandWidthEntry 2 }

hh3cOnuDownStreamMaxBurstSize OBJECT-TYPE
    SYNTAX      Integer32(0..8388480)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Maximal number of bytes in a burst.
        The value is truncated to the nearest
        smaller 128 bytes multiple value,
        measured in bytes.
        "
    DEFVAL { 8388480 }
    ::= { hh3cOnuBandWidthEntry 3 }

hh3cOnuDownStreamHighPriorityFirst OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true:Enable high priority frames preference.
        false:Disable high priority frames preference.
        "
    DEFVAL { false }
    ::= { hh3cOnuBandWidthEntry 4 }

hh3cOnuDownStreamShortFrameFirst OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true:Enable short frames preference.
        false:Disable short frames preference.
        "
    DEFVAL { false }
    ::= { hh3cOnuBandWidthEntry 5 }

hh3cOnuP2PBandWidthPolicy OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true:Enable static bandwidth configuration policing.
        false:Disable static bandwidth configuration policing.
        "
    DEFVAL { false }
    ::= { hh3cOnuBandWidthEntry 6 }

hh3cOnuP2PMaxBandWidth OBJECT-TYPE
    SYNTAX      Integer32(0..1000000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Maximum bandwidth allowed for the ONU,
        measured in Kbits/Sec.
        "
    DEFVAL { 1000000 }
    ::= { hh3cOnuBandWidthEntry 7 }

hh3cOnuP2PMaxBurstSize OBJECT-TYPE
    SYNTAX      Integer32(0..8388480)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Maximal number of bytes in a burst.
        The value is truncated to the nearest
        smaller 128 bytes multiple value,
        measured in bytes.
        "
    DEFVAL { 8388480 }
    ::= { hh3cOnuBandWidthEntry 8 }

hh3cOnuP2PHighPriorityFirst OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true:Enable high priority frames preference.
        false:Disable high priority frames preference.
        "
    DEFVAL { false }
    ::= { hh3cOnuBandWidthEntry 9 }

hh3cOnuP2PShortFrameFirst OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true:Enable short frames preference.
        false:Disable short frames preference.
        "
    DEFVAL { false }
    ::= { hh3cOnuBandWidthEntry 10 }

--
-- hh3cOnuSlaManTable
--

hh3cOnuSlaManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuSlaManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Two types of DBA algorithm are supported in the ONU.
        The internal SLA based algorithm is always activated.
        This table defines the primary parameter about the
        internal SLA algorithm.
        "
    ::= { hh3cEponOnuMan 4 }

hh3cOnuSlaManEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuSlaManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of table hh3cOnuSlaManTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuSlaManTable 1 }

Hh3cOnuSlaManEntry ::= SEQUENCE
    {
        hh3cOnuSlaMaxBandWidth        Integer32,
        hh3cOnuSlaMinBandWidth        Integer32,
        hh3cOnuSlaBandWidthStepVal    Integer32,
        hh3cOnuSlaDelay               INTEGER,
        hh3cOnuSlaFixedBandWidth      Integer32,
        hh3cOnuSlaPriorityClass       Integer32,
        hh3cOnuSlaFixedPacketSize     Integer32
    }

hh3cOnuSlaMaxBandWidth OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Maximum bandwidth - measured in Kbit/s.
        The value of this object should be the multiple of
        the value of hh3cOnuSlaBandWidthStepVal.
        The minimum bandwidth should not be larger than the maximum
        bandwidth.
        "
    ::= { hh3cOnuSlaManEntry 1 }

hh3cOnuSlaMinBandWidth OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Minimum bandwidth - measured in Kbit/s.
        The value of this object should be the multiple of
        the value of hh3cOnuSlaBandWidthStepVal.
        The maximum bandwidth should be larger than the minimum bandwidth.
        "
    ::= { hh3cOnuSlaManEntry 2 }

hh3cOnuSlaBandWidthStepVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Granularity of bandwidth - measured in Kbit/s.
        The value of hh3cOnuSlaMaxBandWidth and hh3cOnuSlaMinBandWidth should
        be the multiple of the value of this object.
        "
    ::= { hh3cOnuSlaManEntry 3 }

hh3cOnuSlaDelay OBJECT-TYPE
    SYNTAX      INTEGER
        {
            low(1),
            high(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        low  - low delay.
        high - high delay.
        The delay constraint of a specific ONU. Set to high may improve the
        bandwidth usage at the cost of delay.
        "
    DEFVAL { low }
    ::= { hh3cOnuSlaManEntry 4 }

hh3cOnuSlaFixedBandWidth OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Fixed bandwidth - measured in Kbit/s.
        The value of this object should be the multiple of
        the value of hh3cOnuSlaBandWidthStepVal.
        "
    ::= { hh3cOnuSlaManEntry 5 }

hh3cOnuSlaPriorityClass OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Precedence of this flow over others in case of contention.
        0 is the lowest priority and 7 is the highest priority.
        "
    DEFVAL { 0 }
    ::= { hh3cOnuSlaManEntry 6 }

hh3cOnuSlaFixedPacketSize OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Fixed packet size - measured in byte.
        The value of this object should be valid when hh3cOnuSlaFixedBandWidth is configured.
        "
    ::= { hh3cOnuSlaManEntry 7 }

--
-- hh3cOnuInfoTable
--

hh3cOnuInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Primary status of the specified ONU.
        There will be one row in this table for each
        information in the system.
        (1)Software and hardware versions of the specified ONU
        (hh3cOnuHardMajorVersion, hh3cOnuHardMinorVersion,
        hh3cOnuUniMacType)
        (2)Several physical capabilities of the ONU.
        (hh3cOnuLaserOnTime, hh3cOnuLaserOffTime,
        hh3cOnuGrantFifoDep.)
        (3)The operation(activation) status of the ONU.
        (hh3cOnuWorkMode)
        "
    ::= { hh3cEponOnuMan 5 }

hh3cOnuInfoEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hh3cOnuInfoTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuInfoTable 1 }

Hh3cOnuInfoEntry ::= SEQUENCE
    {
        hh3cOnuHardMajorVersion    OCTET STRING,
        hh3cOnuHardMinorVersion    OCTET STRING,
        hh3cOnuSoftwareVersion     OCTET STRING,
        hh3cOnuUniMacType          INTEGER,
        hh3cOnuLaserOnTime         Integer32,
        hh3cOnuLaserOffTime        Integer32,
        hh3cOnuGrantFifoDep        Integer32,
        hh3cOnuWorkMode            INTEGER,
        hh3cOnuPCBVersion          OCTET STRING,
        hh3cOnuRtt                 Unsigned32,
        hh3cOnuEEPROMVersion       OCTET STRING,
        hh3cOnuRegType             OCTET STRING,
        hh3cOnuHostType            OCTET STRING,
        hh3cOnuDistance            Integer32,
        hh3cOnuLlid                Integer32,
        hh3cOnuVendorId            OCTET STRING,
        hh3cOnuFirmwareVersion     OCTET STRING,
        hh3cOnuOpticalPowerReceivedByOlt  Integer32
    }

hh3cOnuHardMajorVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        ONU hardware major version.  If the object length is
        zero, it means the version is unknown.
        "
    ::= { hh3cOnuInfoEntry 1 }

hh3cOnuHardMinorVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        ONU hardware minor version.  If the object length is
        zero, it means the version is unknown.
        "
    ::= { hh3cOnuInfoEntry 2 }

hh3cOnuSoftwareVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        ONU software version.
        "
    ::= { hh3cOnuInfoEntry 3 }

hh3cOnuUniMacType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            other(1),
            mii(2),
            gmii(3),
            tbi(4)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        ONU User Network Interface(UNI) port MAC type.
        "
    ::= { hh3cOnuInfoEntry 4 }

hh3cOnuLaserOnTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The ONU laser on time measured in TQ units.  If the object value is
        0x7FFFFFFF, it means hh3cOnuLaserOnTime is unknown.
        "
    ::= { hh3cOnuInfoEntry 5 }

hh3cOnuLaserOffTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The ONU laser off time measured in TQ units.  If the object value is
        0x7FFFFFFF, it means hh3cOnuLaserOffTime is unknown.
        "
    ::= { hh3cOnuInfoEntry 6 }

hh3cOnuGrantFifoDep OBJECT-TYPE
    SYNTAX      Integer32(1..255|2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Maximal number of grant records an ONU can store,
        relevant to ONU only.
        range: 1 - 255.
        0x7FFFFFFF: unknown value.
        "
    ::= { hh3cOnuInfoEntry 7 }

hh3cOnuWorkMode OBJECT-TYPE
    SYNTAX      INTEGER
        {
            other(1),
            on(2),
            pending(3),
            off(4)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The operation(activation) mode of an ONU.
        other(1)   - ONU is in another mode.
        on(2)      - ONU is registered and authorized to the
        network.  In this mode it works
        as a media converter.
        pending(3) - ONU has been registered to the PON, but
        not authorized to the network.
        off(4)     - ONU is not registered to the network.
        "
    ::= { hh3cOnuInfoEntry 8 }

hh3cOnuPCBVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        ONU PCB version.
        "
    ::= { hh3cOnuInfoEntry 9 }

hh3cOnuRtt OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The signal round-trip-time(RTT) received.
        "
    ::= { hh3cOnuInfoEntry 10 }

hh3cOnuEEPROMVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        ONU EEPROM version.
        "
    ::= { hh3cOnuInfoEntry 11 }

hh3cOnuRegType OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        ONU registered type.
        "
    ::= { hh3cOnuInfoEntry 12 }

hh3cOnuHostType OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        ONU host type.
        "
    ::= { hh3cOnuInfoEntry 13 }

hh3cOnuDistance OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The distance between OLT and ONU, measured in meter.
        "
    ::= { hh3cOnuInfoEntry 14 }

hh3cOnuLlid OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The link layer identifier, which uniquely identifies the ONU
        of a specific OLT.
        "
    ::= { hh3cOnuInfoEntry 15 }

hh3cOnuVendorId OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        ONU vendor ID.
        "
    ::= { hh3cOnuInfoEntry 16 }

hh3cOnuFirmwareVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        ONU firmware version.
        "
    ::= { hh3cOnuInfoEntry 17 }

hh3cOnuOpticalPowerReceivedByOlt OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "
        The burst ONU optical power received by OLT,
        and when the ONU status is up the value is usable.
        It measured in 0.01 dBm unit.
        "
    ::= { hh3cOnuInfoEntry 18 }

--
-- hh3cOnuMacAddrInfoTable
--

hh3cOnuMacAddrInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuMacAddrInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table used for getting MAC address information of ONU.
        "
    ::= { hh3cEponOnuMan 6 }

hh3cOnuMacAddrInfoEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuMacAddrInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hh3cEponOnuMacAddrInfoTable.
        "
    INDEX
        {
            ifIndex,
            hh3cOnuMacIndex
        }
    ::= { hh3cOnuMacAddrInfoTable 1 }

Hh3cOnuMacAddrInfoEntry ::= SEQUENCE
    {
        hh3cOnuMacIndex       Integer32,
        hh3cOnuMacAddrFlag    INTEGER,
        hh3cOnuMacAddress     MacAddress
    }

hh3cOnuMacIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The index of ONUs in one OLT.
        "
    ::= { hh3cOnuMacAddrInfoEntry 1 }

hh3cOnuMacAddrFlag OBJECT-TYPE
    SYNTAX      INTEGER
        {
            bound(1),
            registered(2),
            run(3),
            regIncorrect(4)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The flag of ONU status.
        1 - bound:The ONU is bound but not registered.
        2 - registered:The ONU is registered but not bound.
        3 - run:The ONU is registered and bound on one OLT.
        4 - regIncorrect:The ONU is bound on one OLT and registered on
        another OLT.
        "
    ::= { hh3cOnuMacAddrInfoEntry 2 }

hh3cOnuMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The MAC address of ONU.
        "
    ::= { hh3cOnuMacAddrInfoEntry 3 }

--
-- hh3cOnuBindMacAddrTable
--

hh3cOnuBindMacAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuBindMacAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table implements the following functions for ONUs:
        Bind MAC of ONU.
        "
    ::= { hh3cEponOnuMan 7 }

hh3cOnuBindMacAddrEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuBindMacAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOnuBindMacAddrTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuBindMacAddrTable 1 }

Hh3cOnuBindMacAddrEntry ::= SEQUENCE
    {
        hh3cOnuBindMacAddress    MacAddress,
        hh3cOnuBindType          Integer32
    }

hh3cOnuBindMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Bind the MAC of ONU.
        While the MAC is not bound, the ONU can not go into
        effect and configurations can not be set.
        Set 0-0-0 (MAC address) to the EPON device port will
        unbind the relationship with the original MAC and
        configurations will be set to default values.
        "
    ::= { hh3cOnuBindMacAddrEntry 1 }

hh3cOnuBindType OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Set the binding type with the ONU which is confined
        to the index of hh3cEponOnuTypeDescr.
        "
    ::= { hh3cOnuBindMacAddrEntry 2 }

--
-- hh3cOnuFirmwareUpdateTable
--

hh3cOnuFirmwareUpdateTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuFirmwareUpdateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table implements the following functions for ONUs:
        1. Update the ONU firmware.
        2. Result of update ONU firmware.
        "
    ::= { hh3cEponOnuMan 8 }

hh3cOnuFirmwareUpdateEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuFirmwareUpdateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOnuFirmwareUpdateTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuFirmwareUpdateTable 1 }

Hh3cOnuFirmwareUpdateEntry ::= SEQUENCE
    {
        hh3cOnuUpdate            INTEGER,
        hh3cOnuUpdateResult      INTEGER,
        hh3cOnuUpdateFileName    OCTET STRING
    }

hh3cOnuUpdate OBJECT-TYPE
    SYNTAX      INTEGER
        {
            update(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        update(1): Update the ONU firmware.
        Config the MIB object module hh3cEponOnuUpdateFileName
        with the filename of ONU firmware first.
        "
    ::= { hh3cOnuFirmwareUpdateEntry 1 }

hh3cOnuUpdateResult OBJECT-TYPE
    SYNTAX      INTEGER
        {
            updating(1),
            ok(2),
            fail(3),
            fileNotExist(4),
            notSetFilename(5),
            fileNotMatchONU(6),
            timeout(7),
            otherError(8)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The ONU firmware update result.
        updating  - The ONU is updating firmware right now.
        ok     - The ONU update result is OK.
        fail   - The ONU update result is fail.
        fileNotExist - The ONU update failed because the file does not exist.
        notSetFilename - The ONU firmware filename is not set.
        fileNotMatchONU - The ONU firmware does not match the ONU.
        timeout - The ONU responses timeout.
        otherError - The ONU update result is unknown.
        "
    ::= { hh3cOnuFirmwareUpdateEntry 2 }

hh3cOnuUpdateFileName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The filename of the ONU firmware to be updated.
        Note that the filename must contain the file path.
        "
    ::= { hh3cOnuFirmwareUpdateEntry 3 }

hh3cOnuLinkTestFrameNumMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The lower limit of measurement frames which is confined to
        hh3cOnuLinkTestFrameNum."
    ::= { hh3cEponOnuMan 9 }

hh3cOnuLinkTestFrameNumMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The upper limit of measurement frames which is confined to
        hh3cOnuLinkTestFrameNum."
    ::= { hh3cEponOnuMan 10 }

hh3cOnuSlaMaxBandWidthMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of maximum-bandwidth which is confined to
        hh3cOnuSlaMaxBandWidth."
    ::= { hh3cEponOnuMan 11 }

hh3cOnuSlaMaxBandWidthMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of maximum-bandwidth which is confined to
        hh3cOnuSlaMaxBandWidth."
    ::= { hh3cEponOnuMan 12 }

hh3cOnuSlaMinBandWidthMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of minimum-bandwidth which is confined to
        hh3cOnuSlaMinBandWidth."
    ::= { hh3cEponOnuMan 13 }

hh3cOnuSlaMinBandWidthMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of minimum-bandwidth which is confined to
        hh3cOnuSlaMinBandWidth."
    ::= { hh3cEponOnuMan 14 }

--
-- hh3cEponOnuTypeManTable
--

hh3cEponOnuTypeManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEponOnuTypeManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table is used for getting ONU bind type in current version.
        "
    ::= { hh3cEponOnuMan 15 }

hh3cEponOnuTypeManEntry OBJECT-TYPE
    SYNTAX      Hh3cEponOnuTypeManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hh3cEponOnuTypeManTable.
        "
    INDEX
        {
            hh3cEponOnuTypeIndex
        }
    ::= { hh3cEponOnuTypeManTable 1 }

Hh3cEponOnuTypeManEntry ::= SEQUENCE
    {
        hh3cEponOnuTypeIndex    Integer32,
        hh3cEponOnuTypeDescr    OCTET STRING
    }

hh3cEponOnuTypeIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The ONU type index.
        "
    ::= { hh3cEponOnuTypeManEntry 1 }

hh3cEponOnuTypeDescr OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The ONU type description which can be used to bind ONU in current
        version.
        the value of hh3cOnuBindType can be configured by the index of
        hh3cEponOnuTypeDescr.
        "
    ::= { hh3cEponOnuTypeManEntry 2 }

hh3cOnuPacketManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuPacketManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table implements the following functions:
        (1)Manage packet priority trust mode.
        (2)Manage packet queue-scheduler mode.
        "
    ::= { hh3cEponOnuMan 16 }

hh3cOnuPacketManEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuPacketManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hh3cOnuPacketManTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuPacketManTable 1 }

Hh3cOnuPacketManEntry ::= SEQUENCE
    {
        hh3cOnuPriorityTrust     INTEGER,
        hh3cOnuQueueScheduler    INTEGER
    }

hh3cOnuPriorityTrust OBJECT-TYPE
    SYNTAX      INTEGER
        {
            dscp(1),
            ipprecedence(2),
            cos(3)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The QOS mode which is assigned on ONU.
        dscp - The service dscp of politic Priority.
        ipprecedence - The service IP precedence of politic Priority.
        cos - The service cos of politic Priority.
        "
    DEFVAL { cos }
    ::= { hh3cOnuPacketManEntry 1 }

hh3cOnuQueueScheduler OBJECT-TYPE
    SYNTAX      INTEGER
        {
            spq(1),
            wfq(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The packet queue-scheduler mode which is assigned on ONU.
        spq - strict priority queuing.
        wfq - specifies the weights for weighted round-robin queuing.
        "
    DEFVAL { spq }
    ::= { hh3cOnuPacketManEntry 2 }

hh3cOnuProtocolTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuProtocolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table implements the following functions:
        (1)Manage STP status.
        (2)Manage IGMP-snooping.
        (3)Manage DHCP-snooping.
        "
    ::= { hh3cEponOnuMan 17 }

hh3cOnuProtocolEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuProtocolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hh3cOnuProtocolTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuProtocolTable 1 }

Hh3cOnuProtocolEntry ::= SEQUENCE
    {
        hh3cOnuStpStatus                   TruthValue,
        hh3cOnuIgmpSnoopingStatus          TruthValue,
        hh3cOnuDhcpsnoopingOption82        TruthValue,
        hh3cOnuDhcpsnooping                TruthValue,
        hh3cOnuPppoe                       TruthValue,
        hh3cOnuIgmpSnoopingHostAgingT      Integer32,
        hh3cOnuIgmpSnoopingMaxRespT        Integer32,
        hh3cOnuIgmpSnoopingRouterAgingT    Integer32,
        hh3cOnuIgmpSnoopingAggReportS      TruthValue,
        hh3cOnuIgmpSnoopingAggLeaveS       TruthValue
    }

hh3cOnuStpStatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true(1)  - STP status enable on ONU.
        false(2) - STP status disable on ONU.
        "
    DEFVAL { true }
    ::= { hh3cOnuProtocolEntry 1 }

hh3cOnuIgmpSnoopingStatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true(1)  - IGMP snooping status enable on ONU.
        false(2) - IGMP snooping status disable on ONU.
        "
    DEFVAL { true }
    ::= { hh3cOnuProtocolEntry 2 }

hh3cOnuDhcpsnoopingOption82 OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true(1)  - DHCP snooping Option 82 status enable on ONU.
        false(2) - DHCP snooping Option 82 status disable on ONU.
        "
    DEFVAL { false }
    ::= { hh3cOnuProtocolEntry 3 }

hh3cOnuDhcpsnooping OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true(1)  - DHCP snooping status enable on ONU.
        false(2) - DHCP snooping status disable on ONU.
        "
    DEFVAL { false }
    ::= { hh3cOnuProtocolEntry 4 }

hh3cOnuPppoe OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true(1)  - PPPOE status enable on ONU.
        false(2) - PPPOE status disable on ONU.
        "
    DEFVAL { false }
    ::= { hh3cOnuProtocolEntry 5 }

hh3cOnuIgmpSnoopingHostAgingT OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Set the host aging time of IGMP on ONU.
        "
    ::= { hh3cOnuProtocolEntry 6 }

hh3cOnuIgmpSnoopingMaxRespT OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Set the max response time of IGMP on ONU.
        "
    ::= { hh3cOnuProtocolEntry 7 }

hh3cOnuIgmpSnoopingRouterAgingT OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Set the router aging time of IGMP on ONU.
        "
    ::= { hh3cOnuProtocolEntry 8 }

hh3cOnuIgmpSnoopingAggReportS OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true(1)  - Igmp snooping aggregation report status enable on ONU.
        false(2) - Igmp snooping aggregation report status disable on ONU.
        "
    DEFVAL { false }
    ::= { hh3cOnuProtocolEntry 9 }

hh3cOnuIgmpSnoopingAggLeaveS OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true(1)  - Igmp snooping aggregation leave status enable on ONU.
        false(2) - Igmp snooping aggregation leave status disable on ONU.
        "
    DEFVAL { true }
    ::= { hh3cOnuProtocolEntry 10 }

hh3cOnuDot1xTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuDot1xEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table implements the following functions:
        (1)Manage 802.1x account.
        (2)Manage 802.1x password.
        ONU will be authorized to send and receive frames when the
        account and the password are all right, otherwise this ONU
        will be unavailable.
        "
    ::= { hh3cEponOnuMan 18 }

hh3cOnuDot1xEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuDot1xEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hh3cOnuDot1xTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuDot1xTable 1 }

Hh3cOnuDot1xEntry ::= SEQUENCE
    {
        hh3cOnuDot1xAccount     OCTET STRING,
        hh3cOnuDot1xPassword    OCTET STRING
    }

hh3cOnuDot1xAccount OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        ONU 802.1X account.
        The object value cannot be set as 'a', 'al' or 'all'.
        The object should be set together with hh3cOnuDot1xPassword.
        "
    ::= { hh3cOnuDot1xEntry 1 }

hh3cOnuDot1xPassword OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        ONU 802.1X password.
        The object should be set together with hh3cOnuDot1xAccount.
        "
    ::= { hh3cOnuDot1xEntry 2 }

hh3cEponBatchOperationMan OBJECT IDENTIFIER ::= { hh3cEponMibObjects 6 }

--
-- hh3cOnuPriorityQueueTable
--

hh3cOnuPriorityQueueTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuPriorityQueueEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table contains specific information of priority queue.
        "
    ::= { hh3cEponOnuMan 19 }

hh3cOnuPriorityQueueEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuPriorityQueueEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hh3cOnuPriorityQueueTable.
        "
    INDEX
        {
            ifIndex,
            hh3cOnuQueueDirection,
            hh3cOnuQueueId
        }
    ::= { hh3cOnuPriorityQueueTable 1 }

Hh3cOnuPriorityQueueEntry ::= SEQUENCE
    {
        hh3cOnuQueueDirection    INTEGER,
        hh3cOnuQueueId           Integer32,
        hh3cOnuQueueSize         Integer32
    }

hh3cOnuQueueDirection OBJECT-TYPE
    SYNTAX      INTEGER
        {
            inbound(1),
            outbound(2)
        }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The direction of priority queue.
        "
    ::= { hh3cOnuPriorityQueueEntry 1 }

hh3cOnuQueueId OBJECT-TYPE
    SYNTAX      Integer32(0..7)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The queue ID of priority queue.
        "
    ::= { hh3cOnuPriorityQueueEntry 2 }

hh3cOnuQueueSize OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The size of priority queue, measured in percent. The total length of
        all priority queues is a constant, by default, it is assigned to all
        of the priority queues evenly. The length of each priority queue may
        be changed by changing the value of hh3cOnuPriorityQueueSize.
        The total size of the inbound or outbound priority queues should be
        not more than 100.
        "
    ::= { hh3cOnuPriorityQueueEntry 3 }

--
-- hh3cOnuCountTable
--

hh3cOnuCountTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table contains statistics of ONU port.
        "
    ::= { hh3cEponOnuMan 20 }

hh3cOnuCountEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hh3cOnuCountTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuCountTable 1 }

Hh3cOnuCountEntry ::= SEQUENCE
    {
        hh3cOnuInCRCErrPkts        Counter64,
        hh3cOnuOutDroppedFrames    Counter64
    }

hh3cOnuInCRCErrPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The total number of frames received with bad CRC checksum.
        "
    ::= { hh3cOnuCountEntry 1 }

hh3cOnuOutDroppedFrames OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The total number of frames dropped because of buffer failure.
        "
    ::= { hh3cOnuCountEntry 2 }

hh3cEponOnuScalarGroup OBJECT IDENTIFIER ::= { hh3cEponOnuMan 21 }

hh3cOnuPriorityQueueSizeMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of queue size which is confined to
        hh3cOnuQueueSize.
        "
    ::= { hh3cEponOnuScalarGroup 1 }

hh3cOnuPriorityQueueSizeMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of queue size which is confined to
        hh3cOnuQueueSize.
        "
    ::= { hh3cEponOnuScalarGroup 2 }

hh3cOnuPriorityQueueBandwidthMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of hh3cOnuQueueMaxBandwidth.
        "
    ::= { hh3cEponOnuScalarGroup 3 }

hh3cOnuPriorityQueueBandwidthMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of hh3cOnuQueueMaxBandwidth.
        "
    ::= { hh3cEponOnuScalarGroup 4 }

hh3cOnuPriorityQueueBurstsizeMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of hh3cOnuQueueMaxBurstsize.
        "
    ::= { hh3cEponOnuScalarGroup 5 }

hh3cOnuPriorityQueueBurstsizeMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of hh3cOnuQueueMaxBurstsize.
        "
    ::= { hh3cEponOnuScalarGroup 6 }

hh3cOnuUpdateByTypeNextIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Offer a free index of hh3cOnuFirmwareUpdateByTypeTable.
        "
    ::= { hh3cEponOnuScalarGroup 7 }

--
-- hh3cOnuQueueBandwidthTable
--

hh3cOnuQueueBandwidthTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuQueueBandwidthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table contains specific bandwidth information of ONU priority queue.
        "
    ::= { hh3cEponOnuMan 22 }

hh3cOnuQueueBandwidthEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuQueueBandwidthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hh3cOnuQueueBandwidthTable.
        "
    INDEX
        {
            ifIndex,
            hh3cOnuQueueDirection,
            hh3cOnuQueueId
        }
    ::= { hh3cOnuQueueBandwidthTable 1 }

Hh3cOnuQueueBandwidthEntry ::= SEQUENCE
    {
        hh3cOnuQueueMaxBandwidth    Integer32,
        hh3cOnuQueueMaxBurstsize    Integer32,
        hh3cOnuQueuePolicyStatus    TruthValue
    }

hh3cOnuQueueMaxBandwidth OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The maximum bandwidth of specific ONU priority queue,
        measured in 100Kbps.
        "
    ::= { hh3cOnuQueueBandwidthEntry 1 }

hh3cOnuQueueMaxBurstsize OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The maximum burst size of specific ONU priority queue,
        measured in 64Bytes.
        "
    ::= { hh3cOnuQueueBandwidthEntry 2 }

hh3cOnuQueuePolicyStatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true - enable bandwidth policy
        false - disable bandwidth policy
        The bandwidth administrative status of specific ONU priority queue.
        "
    ::= { hh3cOnuQueueBandwidthEntry 3 }

--
-- hh3cOnuIpAddressTable
--

hh3cOnuIpAddressTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuIpAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        ONU IP address table.
        "
    ::= { hh3cEponOnuMan 23 }

hh3cOnuIpAddressEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuIpAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hh3cOnuIpAddressTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuIpAddressTable 1 }

Hh3cOnuIpAddressEntry ::= SEQUENCE
    {
        hh3cOnuIpAddress           IpAddress,
        hh3cOnuIpAddressMask       IpAddress,
        hh3cOnuIpAddressGateway    IpAddress,
        hh3cOnuDhcpallocate        TruthValue,
        hh3cOnuManageVID           Integer32,
        hh3cOnuManageVlanIntfS     TruthValue
    }

hh3cOnuIpAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The IP address assigned to the ONU.
        "
    ::= { hh3cOnuIpAddressEntry 1 }

hh3cOnuIpAddressMask OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The mask of IP address denoted by hh3cOnuIpAddress.
        "
    ::= { hh3cOnuIpAddressEntry 2 }

hh3cOnuIpAddressGateway OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The gateway of IP address denoted by hh3cOnuIpAddress.
        "
    ::= { hh3cOnuIpAddressEntry 3 }

hh3cOnuDhcpallocate OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true(1)  - ONU auto allocate IP address status enable.
        false(2) - ONU auto allocate IP address status disable.
        "
    ::= { hh3cOnuIpAddressEntry 4 }

hh3cOnuManageVID OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The management VLAN of ONU denoted by hh3cOnuManageVID.
        "
    ::= { hh3cOnuIpAddressEntry 5 }

hh3cOnuManageVlanIntfS OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The management interface status of ONU denoted by hh3cOnuManageVlanIntfS.
        "
    ::= { hh3cOnuIpAddressEntry 6 }

--
-- hh3cOnuChipSetInfoTable
--

hh3cOnuChipSetInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuChipSetInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        ONU vendor specific information of ONU.
        "
    ::= { hh3cEponOnuMan 24 }

hh3cOnuChipSetInfoEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuChipSetInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hh3cOnuChipSetInfoTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuChipSetInfoTable 1 }

Hh3cOnuChipSetInfoEntry ::= SEQUENCE
    {
        hh3cOnuChipSetVendorId      OCTET STRING,
        hh3cOnuChipSetModel         OCTET STRING,
        hh3cOnuChipSetRevision      Integer32,
        hh3cOnuChipSetDesignDate    DateAndTime
    }

hh3cOnuChipSetVendorId OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Chipset vendor ID, which identifies the ONU's PON chip vendor
        according JEDEC ID code.
        "
    ::= { hh3cOnuChipSetInfoEntry 1 }

hh3cOnuChipSetModel OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Chip model, numbering(range from 0 to 0xFF) by the chip vendor.
        "
    ::= { hh3cOnuChipSetInfoEntry 2 }

hh3cOnuChipSetRevision OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Chip revision.
        "
    ::= { hh3cOnuChipSetInfoEntry 3 }

hh3cOnuChipSetDesignDate OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Chip design date.
        "
    ::= { hh3cOnuChipSetInfoEntry 4 }

--
-- hh3cOnuCapabilityTable
--

hh3cOnuCapabilityTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuCapabilityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Capability of ONU.
        "
    ::= { hh3cEponOnuMan 25 }

hh3cOnuCapabilityEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuCapabilityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOnuCapabilityTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuCapabilityTable 1 }

Hh3cOnuCapabilityEntry ::= SEQUENCE
    {
        hh3cOnuServiceSupported             BITS,
        hh3cOnuGEPortNumber                 Integer32,
        hh3cOnuFEPortNumber                 Integer32,
        hh3cOnuPOTSPortNumber               Integer32,
        hh3cOnuE1PortsNumber                Integer32,
        hh3cOnuUpstreamQueueNumber          Integer32,
        hh3cOnuMaxUpstreamQueuePerPort      Integer32,
        hh3cOnuDownstreamQueueNumber        Integer32,
        hh3cOnuMaxDownstreamQueuePerPort    Integer32,
        hh3cOnuBatteryBackup                TruthValue,
        hh3cOnuIgspFastLeaveSupported       TruthValue,
        hh3cOnuMCtrlFastLeaveSupported      TruthValue
    }

hh3cOnuServiceSupported OBJECT-TYPE
    SYNTAX      BITS
        {
            geinterfacesupport(0),
            feinterfacesupport(1),
            voipservicesupport(2),
            tdmservicesupport(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Services types supported by the ONU.
        These functional groups can be supported independently.
        geinterfacesupport - supporting (1)/not supporting(0)
        Gbit Ethernet GE interface.
        feinterfacesupport - supporting (1)/not supporting(0)
        100M Ethernet FE interface.(maximum rate is 100M, without GEinterface)
        voipservicesupport - supporting (1)/not supporting(0)VoIP service.
        tdmservicesupport - supporting (1)/not supporting(0)TDM CES service.
        "
    ::= { hh3cOnuCapabilityEntry 1 }

hh3cOnuGEPortNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The current  gigabit ethernet ports number supported by the ONU.
        "
    ::= { hh3cOnuCapabilityEntry 2 }

hh3cOnuFEPortNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        the current fast ethernet ports number supported by the ONU.
        "
    ::= { hh3cOnuCapabilityEntry 3 }

hh3cOnuPOTSPortNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The current POTS ports number supported by the ONU
        "
    ::= { hh3cOnuCapabilityEntry 4 }

hh3cOnuE1PortsNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The current E1 ports number supported by the ONU.
        "
    ::= { hh3cOnuCapabilityEntry 5 }

hh3cOnuUpstreamQueueNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The number of upstream queues supported by the ONU.
        "
    ::= { hh3cOnuCapabilityEntry 6 }

hh3cOnuMaxUpstreamQueuePerPort OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The number of maximum upstream queues per port of the ONU.
        "
    ::= { hh3cOnuCapabilityEntry 7 }

hh3cOnuDownstreamQueueNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The number of downstream queues supported by the ONU.
        "
    ::= { hh3cOnuCapabilityEntry 8 }

hh3cOnuMaxDownstreamQueuePerPort OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The number of maximum downstream queues per port of the ONU.
        "
    ::= { hh3cOnuCapabilityEntry 9 }

hh3cOnuBatteryBackup OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        true(1) - ONU supports a reserve battery.
        false(2) - ONU does not support a reserve battery.
        "
    ::= { hh3cOnuCapabilityEntry 10 }

hh3cOnuIgspFastLeaveSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        true(1) -  ONU supports fast leave in igsp mode.
        false(2) - ONU does not support fast leave in igsp mode.
        "
    ::= { hh3cOnuCapabilityEntry 11 }

hh3cOnuMCtrlFastLeaveSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        true(1) -  ONU supports fast leave in multicast control mode.
        false(2) - ONU does not support fast leave in multicast control mode.
        "
    ::= { hh3cOnuCapabilityEntry 12 }

--
-- hh3cOnuDbaReportTable
--

hh3cOnuDbaReportTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuDbaReportEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table defines the information of DBA(dynamic bandwidth allocation)
        report threshold contained in the MPCP report frames.
        "
    ::= { hh3cEponOnuMan 26 }

hh3cOnuDbaReportEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuDbaReportEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hh3cOnuDbaReportTable.
        "
    INDEX
        {
            ifIndex,
            hh3cOnuDbaReportQueueId
        }
    ::= { hh3cOnuDbaReportTable 1 }

Hh3cOnuDbaReportEntry ::= SEQUENCE
    {
        hh3cOnuDbaReportQueueId      Integer32,
        hh3cOnuDbaReportThreshold    Integer32,
        hh3cOnuDbaReportStatus       INTEGER
    }

hh3cOnuDbaReportQueueId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The DBA report queue ID.
        "
    ::= { hh3cOnuDbaReportEntry 1 }

hh3cOnuDbaReportThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The threshold of the DBA report queue.
        the following is the queue ID and
        the related default threshold setting.
        1 - 0
        2 - 0
        3 - 0
        4 - 65535
        5 - 65535
        6 - 0
        7 - 0
        8 - 0
        "
    ::= { hh3cOnuDbaReportEntry 2 }

hh3cOnuDbaReportStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        enable  -threshold configuration is active for the queue.
        disable -threshold configuration is not active for the queue.
        "
    DEFVAL { disable }
    ::= { hh3cOnuDbaReportEntry 3 }

--
-- hh3cOnuCosToLocalPrecedenceTable
--

hh3cOnuCosToLocalPrecedenceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuCosToLocalPrecedenceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of map of the COS to local-precedence."
    ::= { hh3cEponOnuMan 27 }

hh3cOnuCosToLocalPrecedenceEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuCosToLocalPrecedenceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Configuration information of map of the COS to local precedence."
    INDEX
        {
            ifIndex,
            hh3cOnuCosToLocalPrecedenceCosIndex
        }
    ::= { hh3cOnuCosToLocalPrecedenceTable 1 }

Hh3cOnuCosToLocalPrecedenceEntry ::= SEQUENCE
    {
        hh3cOnuCosToLocalPrecedenceCosIndex    Integer32,
        hh3cOnuCosToLocalPrecedenceValue       Integer32
    }

hh3cOnuCosToLocalPrecedenceCosIndex OBJECT-TYPE
    SYNTAX      Integer32(0..7)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index of the map, obtains from packet cos value."
    ::={ hh3cOnuCosToLocalPrecedenceEntry 1 }

hh3cOnuCosToLocalPrecedenceValue OBJECT-TYPE
    SYNTAX      Integer32(0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Value of local precedence."
    ::={ hh3cOnuCosToLocalPrecedenceEntry 2 }

--
-- hh3cEponOnuStpPortTable
--

hh3cEponOnuStpPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEponOnuStpPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of ONU STP ports."
    ::= { hh3cEponOnuMan 28 }

hh3cEponOnuStpPortEntry OBJECT-TYPE
    SYNTAX      Hh3cEponOnuStpPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Configuration information of ONU STP ports."
    INDEX
        {
            ifIndex,
            hh3cEponStpPortIndex
        }
    ::= { hh3cEponOnuStpPortTable 1 }

Hh3cEponOnuStpPortEntry ::= SEQUENCE
    {
        hh3cEponStpPortIndex     Integer32,
        hh3cEponStpPortDescr     OCTET STRING,
        hh3cEponStpPortState     INTEGER
    }

hh3cEponStpPortIndex OBJECT-TYPE
    SYNTAX      Integer32(0..144)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The index of the STP ports."
    ::={ hh3cEponOnuStpPortEntry 1 }

hh3cEponStpPortDescr OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The description of the STP ports."
    ::={ hh3cEponOnuStpPortEntry 2 }

hh3cEponStpPortState OBJECT-TYPE
    SYNTAX      INTEGER
        {
            disabled(1),
            discarding(2),
            learning(3),
            forwarding(4)
        }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The current state of the port (i.e. disabled, discarding,
         learning and forwarding)."
    ::={ hh3cEponOnuStpPortEntry 3 }

--
-- hh3cOnuPhysicalTable
--

hh3cOnuPhysicalTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuPhysicalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table is used for getting ONU physical information.
        "
    ::= { hh3cEponOnuMan 29 }

hh3cOnuPhysicalEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuPhysicalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hh3cOnuPhysicalTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cOnuPhysicalTable 1 }

Hh3cOnuPhysicalEntry ::= SEQUENCE
    {
        hh3cOnuBridgeMac         MacAddress,
        hh3cOnuFirstPonMac       MacAddress,
        hh3cOnuFirstPonRegState  INTEGER,
        hh3cOnuSecondPonMac      MacAddress,
        hh3cOnuSecondPonRegState INTEGER
    }

hh3cOnuBridgeMac OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The bridge MAC address of ONU.
        "
    ::= { hh3cOnuPhysicalEntry 1 }

hh3cOnuFirstPonMac OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The MAC address of ONU first PON port.
        "
    ::= { hh3cOnuPhysicalEntry 2 }

hh3cOnuFirstPonRegState OBJECT-TYPE
    SYNTAX      INTEGER
        {
            notExist(1),
            absent(2),
            offline(3),
            silent(4),
            down(5),
            up(6)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The register state of ONU first PON port.
        "
    ::= { hh3cOnuPhysicalEntry 3 }

hh3cOnuSecondPonMac OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The MAC address of ONU second PON port.
        "
    ::= { hh3cOnuPhysicalEntry 4 }

hh3cOnuSecondPonRegState OBJECT-TYPE
    SYNTAX      INTEGER
        {
            notExist(1),
            absent(2),
            offline(3),
            silent(4),
            down(5),
            up(6)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The register state of ONU second PON port.
        "
    ::= { hh3cOnuPhysicalEntry 5 }

--
-- hh3cOnuSmlkTable
--

hh3cOnuSmlkTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuSmlkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table is used for getting ONU SMLK information.
        "
    ::= { hh3cEponOnuMan 30 }

hh3cOnuSmlkEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuSmlkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hh3cOnuSmlkTable.
        "
    INDEX
        {
            ifIndex,
            hh3cOnuSmlkGroupID
        }
    ::= { hh3cOnuSmlkTable 1 }

Hh3cOnuSmlkEntry ::= SEQUENCE
    {
        hh3cOnuSmlkGroupID            Integer32,
        hh3cOnuSmlkFirstPonRole       INTEGER,
        hh3cOnuSmlkFirstPonStatus     INTEGER,
        hh3cOnuSmlkSecondPonRole      INTEGER,
        hh3cOnuSmlkSecondPonStatus    INTEGER
    }

hh3cOnuSmlkGroupID OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The SMLK group ID of ONU.
        "
    ::= { hh3cOnuSmlkEntry 1 }

hh3cOnuSmlkFirstPonRole OBJECT-TYPE
    SYNTAX      INTEGER
        {
            master(1),
            slave(2),
            null(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The role of ONU first PON port in a SMLK group.
        "
    ::= { hh3cOnuSmlkEntry 2 }

hh3cOnuSmlkFirstPonStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            active(1),
            standby(2),
            down(3),
            null(4)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The transmitting status of ONU first PON port in a SMLK group.
        "
    ::= { hh3cOnuSmlkEntry 3 }

hh3cOnuSmlkSecondPonRole OBJECT-TYPE
    SYNTAX      INTEGER
        {
            master(1),
            slave(2),
            null(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The role of ONU second PON port in a SMLK group.
        "
    ::= { hh3cOnuSmlkEntry 4 }

hh3cOnuSmlkSecondPonStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            active(1),
            standby(2),
            down(3),
            null(4)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The transmitting status of ONU second PON port in a SMLK group.
        "
    ::= { hh3cOnuSmlkEntry 5 }

--
-- hh3cOnuRS485PropertiesTable
--

hh3cOnuRS485PropertiesTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuRS485PropertiesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Property table."
    ::= { hh3cEponOnuMan 31 }

hh3cOnuRS485PropertiesEntry OBJECT-TYPE
    SYNTAX          Hh3cOnuRS485PropertiesEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of property table."
    INDEX      {
                ifIndex,
                hh3cOnuRS485SerialIndex
               }
    ::= { hh3cOnuRS485PropertiesTable 1 }

Hh3cOnuRS485PropertiesEntry ::=
    SEQUENCE{
        hh3cOnuRS485SerialIndex
            Integer32,
        hh3cOnuRS485BaudRate
            INTEGER,
        hh3cOnuRS485DataBits
            INTEGER,
        hh3cOnuRS485Parity
            INTEGER,
        hh3cOnuRS485StopBits
            INTEGER,
        hh3cOnuRS485FlowControl
            INTEGER,
        hh3cOnuRS485TXOctets
            Integer32,
        hh3cOnuRS485RXOctets
            Integer32,
        hh3cOnuRS485TXErrOctets
            Integer32,
        hh3cOnuRS485RXErrOctets
            Integer32,
        hh3cOnuRS485ResetStatistics
            INTEGER
    }

hh3cOnuRS485SerialIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..64)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The index of serial port."
    ::= { hh3cOnuRS485PropertiesEntry 1 }

hh3cOnuRS485BaudRate OBJECT-TYPE
    SYNTAX          INTEGER {
                        baudRate300(1),
                        baudRate600(2),
                        baudRate1200(3),
                        baudRate2400(4),
                        baudRate4800(5),
                        baudRate9600(6),
                        baudRate19200(7),
                        baudRate38400(8),
                        baudRate57600(9),
                        baudRate115200(10)
                        }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "The port baud rate."
    DEFVAL          { baudRate9600 }
    ::= { hh3cOnuRS485PropertiesEntry 2 }

hh3cOnuRS485DataBits OBJECT-TYPE
    SYNTAX          INTEGER {
                        five(1),            -- 5 data bits
                        six(2),             -- 6 data bits
                        seven(3),           -- 7 data bits
                        eight(4)            -- 8 data bits
                    }
    UNITS           "bit"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "The port number of data bits in a character."
    DEFVAL          { eight }
    ::= { hh3cOnuRS485PropertiesEntry 3 }

hh3cOnuRS485Parity OBJECT-TYPE
    SYNTAX          INTEGER {
                        none(1),
                        odd(2),
                        even(3),
                        mark(4),
                        space(5)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "The port sense of a character parity bit."
    DEFVAL          { none }
    ::= { hh3cOnuRS485PropertiesEntry 4 }

hh3cOnuRS485StopBits OBJECT-TYPE
    SYNTAX          INTEGER {
                        one(1),               -- 1 stop bit
                        two(2),               -- 2 stop bits
                        oneAndHalf(3)         -- 1.5 stop bits
                    }
    UNITS           "bit"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "The port number of stop bits."
    DEFVAL          { one }
    ::= { hh3cOnuRS485PropertiesEntry 5 }

hh3cOnuRS485FlowControl OBJECT-TYPE
    SYNTAX          INTEGER{
                        none(1),
                        hardware(2),
                        xonOrxoff(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "The port type of input flow control.
             'none' indicates no flow control at this level.
             'hardware' indicates using hardware signals.
             'xonOrxoff' indicates using software function."
    DEFVAL          { none }
    ::= { hh3cOnuRS485PropertiesEntry 6 }

hh3cOnuRS485TXOctets OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The number of output octets about the port.
             The unit is byte."
    ::= { hh3cOnuRS485PropertiesEntry 7 }

hh3cOnuRS485RXOctets OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The number of input octets about the port.
             The unit is byte."
    ::= { hh3cOnuRS485PropertiesEntry 8 }

hh3cOnuRS485TXErrOctets OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The number of output error octets about the port.
             The unit is byte."
    ::= { hh3cOnuRS485PropertiesEntry 9 }

hh3cOnuRS485RXErrOctets OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The number of input error octets about the port.
             The unit is byte."
    ::= { hh3cOnuRS485PropertiesEntry 10 }

hh3cOnuRS485ResetStatistics OBJECT-TYPE
    SYNTAX          INTEGER {
                        counting(1),
                        clear(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "Reset the counters to zero, including hh3cOnuRS485TXOctets,
             hh3cOnuRS485RXOctets, hh3cOnuRS485TXErrOctets and
             hh3cOnuRS485RXErrOctets."
    DEFVAL          { counting }
    ::= { hh3cOnuRS485PropertiesEntry 11 }

--
-- hh3cOnuRS485SessionSummaryTable
--

hh3cOnuRS485SessionSummaryTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuRS485SessionSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Session summary table."
    ::= { hh3cEponOnuMan 32 }

hh3cOnuRS485SessionSummaryEntry OBJECT-TYPE
    SYNTAX          Hh3cOnuRS485SessionSummaryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of session summary table."
    INDEX      {
                ifIndex,
                hh3cOnuRS485SerialIndex
               }
    ::= { hh3cOnuRS485SessionSummaryTable 1 }

Hh3cOnuRS485SessionSummaryEntry ::=
    SEQUENCE{
        hh3cOnuRS485SessionMaxNum
            Integer32,
        hh3cOnuRS485SessionNextIndex
            Integer32
            }

hh3cOnuRS485SessionMaxNum OBJECT-TYPE
    SYNTAX          Integer32 (1..64)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The max session number of every serial port
             which can be supported."
    ::= { hh3cOnuRS485SessionSummaryEntry 1 }

hh3cOnuRS485SessionNextIndex OBJECT-TYPE
    SYNTAX          Integer32 (0..64)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The next valid index used for creating a new session raw.
             When there is no valid index left, it will return 0.
            "
    ::= { hh3cOnuRS485SessionSummaryEntry 2 }

--
-- hh3cOnuRS485SessionTable
--

hh3cOnuRS485SessionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuRS485SessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "RS485 raw session table.  Data received from RS485 will be sent
            to the destination by raw sockets.
            "
    ::= { hh3cEponOnuMan 33 }

hh3cOnuRS485SessionEntry OBJECT-TYPE
    SYNTAX          Hh3cOnuRS485SessionEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of session table."
    INDEX      {
                ifIndex,
                hh3cOnuRS485SerialIndex,
                hh3cOnuRS485SessionIndex
               }
    ::= { hh3cOnuRS485SessionTable 1 }

Hh3cOnuRS485SessionEntry ::=
    SEQUENCE{
        hh3cOnuRS485SessionIndex
            Integer32,
        hh3cOnuRS485SessionType
            INTEGER,
        hh3cOnuRS485SessionAddType
            InetAddressType,
        hh3cOnuRS485SessionRemoteIP
            InetAddress,
        hh3cOnuRS485SessionRemotePort
            Integer32,
        hh3cOnuRS485SessionLocalPort
            Integer32,
        hh3cOnuRS485SessionRowStatus
            RowStatus
    }

hh3cOnuRS485SessionIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..64)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "Raw session index."
    ::= { hh3cOnuRS485SessionEntry 1 }

hh3cOnuRS485SessionType OBJECT-TYPE
    SYNTAX          INTEGER {
                        udp(1),
                        tcpClient(2),
                        tcpServer(3)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "The type of a session.
             A session can use UDP socket, TCP socket as a client,
             or TCP socket as a server."
    ::= { hh3cOnuRS485SessionEntry 2 }

hh3cOnuRS485SessionAddType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object indicates the transport type of the
             address contained in hh3cOnuRS485SessionRemoteIP object."
    ::= { hh3cOnuRS485SessionEntry 3 }

hh3cOnuRS485SessionRemoteIP OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "The IP of remote landing.
            When session type is 'udp', this is the peer IP.
            When session type is 'tcpClient', this is the server IP.
            When session type is 'tcpServer', this is invalid.
            "
    ::= { hh3cOnuRS485SessionEntry 4 }

hh3cOnuRS485SessionRemotePort OBJECT-TYPE
    SYNTAX          Integer32 (1024..65535)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "The port of remote landing.
            When session type is 'udp', this is the peer port.
            When session type is 'tcpClient', this is the server port.
            When session type is 'tcpServer', this is invalid.
            "
    ::= { hh3cOnuRS485SessionEntry 5 }

hh3cOnuRS485SessionLocalPort OBJECT-TYPE
    SYNTAX          Integer32 (1024..65535)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "Local socket port.
            When session type is 'udp', this is local UDP socket port.
            When session type is 'tcpClient', this is invalid.
            When session type is 'tcpServer', this is the local port which
            will be listened.
            "
    ::= { hh3cOnuRS485SessionEntry 6 }

hh3cOnuRS485SessionRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "The status used for creating,
            modifying, and deleting instances of
            the columnar objects in raw session table."
    ::= { hh3cOnuRS485SessionEntry 7 }

--
-- hh3cOnuRS485SessionErrInfoTable
--

hh3cOnuRS485SessionErrInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuRS485SessionErrInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Error information table.  When failed to create a session,
             error information can be got from this table."
    ::= { hh3cEponOnuMan 34 }

hh3cOnuRS485SessionErrInfoEntry OBJECT-TYPE
    SYNTAX          Hh3cOnuRS485SessionErrInfoEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of error information table."
    INDEX      {
                ifIndex,
                hh3cOnuRS485SerialIndex,
                hh3cOnuRS485SessionIndex
               }
    ::= { hh3cOnuRS485SessionErrInfoTable 1 }

Hh3cOnuRS485SessionErrInfoEntry ::=
    SEQUENCE{
        hh3cOnuRS485SessionErrInfo
            DisplayString
    }

hh3cOnuRS485SessionErrInfo OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Error information string.  When a response with 'noCreeation' for
        row creation in table hh3cOnuRS485SessionTable,
        the error reason can be got from this object."
    ::= { hh3cOnuRS485SessionErrInfoEntry 1 }

--
-- hh3cEponBatchOperationBySlotTable
--

hh3cEponBatchOperationBySlotTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEponBatchOperationBySlotEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table is used for batch operation by slot.
        "
    ::= { hh3cEponBatchOperationMan 1 }

hh3cEponBatchOperationBySlotEntry OBJECT-TYPE
    SYNTAX      Hh3cEponBatchOperationBySlotEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hh3cEponBatchOperationBySlotTable.
        "
    INDEX
        {
            hh3cEponBatchOperationBySlotIndex
        }
    ::= { hh3cEponBatchOperationBySlotTable 1 }

Hh3cEponBatchOperationBySlotEntry ::= SEQUENCE
    {
        hh3cEponBatchOperationBySlotIndex     Integer32,
        hh3cEponBatchOperationBySlotType      INTEGER,
        hh3cEponBatchOperationBySlot          INTEGER,
        hh3cEponBatchOperationBySlotResult    Integer32
    }

hh3cEponBatchOperationBySlotIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The EPON board index.
        "
    ::= { hh3cEponBatchOperationBySlotEntry 1 }

hh3cEponBatchOperationBySlotType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            resetUnknown(1),
            updateDba(9),
            updateONU(10)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The types of batch operation by slot:
        1  - resetUnknown, the object value is not set.
        9  - updateDba, update OLT DBA algorithm.
        Config the MIB object module hh3cEponDbaUpdateFileName.
        10 - updateONU, update ONU firmware.
        Config the MIB object module hh3cEponOnuUpdateFileName
        with the filename of ONU firmware first.
        "
    ::= { hh3cEponBatchOperationBySlotEntry 2 }

hh3cEponBatchOperationBySlot OBJECT-TYPE
    SYNTAX      INTEGER
        {
            batOpBySlot(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Execute batch operation.
        "
    ::= { hh3cEponBatchOperationBySlotEntry 3 }

hh3cEponBatchOperationBySlotResult OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The result of batch operation.
        0xFFFF - other, general error.
        1 - working, operation is not completed.
        2 - successful, completed successfully.
        3 - failed because the DBA source file does not exist.
        4 - failed because the ONU firmware file does not exist.
        5 - failed because of not set the filename of DBA source.
        6 - failed because of not set the filename of ONU firmware.
        7 - failed because of not set slottype.
        "
    ::= { hh3cEponBatchOperationBySlotEntry 4 }

--
-- hh3cEponBatchOperationByOLTTable
--

hh3cEponBatchOperationByOLTTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEponBatchOperationByOLTEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table is used for batch operation by OLT.
        "
    ::= { hh3cEponBatchOperationMan 2 }

hh3cEponBatchOperationByOLTEntry OBJECT-TYPE
    SYNTAX      Hh3cEponBatchOperationByOLTEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hh3cEponBatchOperationByOLTTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cEponBatchOperationByOLTTable 1 }

Hh3cEponBatchOperationByOLTEntry ::= SEQUENCE
    {
        hh3cEponBatchOperationByOLTType      INTEGER,
        hh3cEponBatchOperationByOLT          INTEGER,
        hh3cEponBatchOperationByOLTResult    Integer32
    }

hh3cEponBatchOperationByOLTType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            resetUnknown(1),
            updateONU(5)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The types of batch operation by OLT(operation for all ONUs in the
        OLT):
        1 -- resetUnknown, the object value is not set.
        5 -- updateONU, update ONU firmware.
        configure the MIB object module hh3cEponOnuUpdateFileName
        with the filename of ONU firmware first.
        "
    ::= { hh3cEponBatchOperationByOLTEntry 1 }

hh3cEponBatchOperationByOLT OBJECT-TYPE
    SYNTAX      INTEGER
        {
            batOpByOlt(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Execute batch operation.
        "
    ::= { hh3cEponBatchOperationByOLTEntry 2 }

hh3cEponBatchOperationByOLTResult OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The result of batch operation:
        0xFFFF -- other, gernal error.
        1 -- working, operation is not completed.
        2 -- successful, operation completed successfully.
        4 -- failed because the ONU firmware file does not exist.
        6 -- failed because of not set the filename of ONU firmware.
        7 -- failed because of not set olttype.
        "
    ::= { hh3cEponBatchOperationByOLTEntry 3 }

--
-- hh3cOnuFirmwareUpdateByTypeTable
--

hh3cOnuFirmwareUpdateByTypeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cOnuFirmwareUpdateByTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table is used to update ONU by ONU type.
        "
    ::= { hh3cEponBatchOperationMan 3 }

hh3cOnuFirmwareUpdateByTypeEntry OBJECT-TYPE
    SYNTAX      Hh3cOnuFirmwareUpdateByTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hh3cOnuFirmwareUpdateByTypeTable.
        "
    INDEX
        {
            hh3cOnuUpdateByOnuTypeIndex
        }
    ::= { hh3cOnuFirmwareUpdateByTypeTable 1 }

Hh3cOnuFirmwareUpdateByTypeEntry ::= SEQUENCE
    {
        hh3cOnuUpdateByOnuTypeIndex     Integer32,
        hh3cOnuUpdateByTypeOnuType      OCTET STRING,
        hh3cOnuUpdateByTypeFileName     OCTET STRING,
        hh3cOnuUpdateByTypeRowStatus    RowStatus
    }

hh3cOnuUpdateByOnuTypeIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The type and file relationship table entry index.
        "
    ::= { hh3cOnuFirmwareUpdateByTypeEntry 1 }

hh3cOnuUpdateByTypeOnuType OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..15))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The type of ONUs.
        "
    ::= { hh3cOnuFirmwareUpdateByTypeEntry 2 }

hh3cOnuUpdateByTypeFileName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The file to be updated for the type of ONUs.
        "
    ::= { hh3cOnuFirmwareUpdateByTypeEntry 3 }

hh3cOnuUpdateByTypeRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The status of this table entry.
        Only createAndGo and destroy actions are supported.
        "
    ::= { hh3cOnuFirmwareUpdateByTypeEntry 4 }

hh3cEponErrorInfo OBJECT IDENTIFIER ::= { hh3cEponMibObjects 7 }

hh3cEponSoftwareErrorCode OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        OLT software error code.
        "
    ::= { hh3cEponErrorInfo 1 }

hh3cOamVendorSpecificAlarmCode OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        Alarm code of the vendor.
        "
    ::= { hh3cEponErrorInfo 2 }

hh3cEponOnuRegErrorMacAddr OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        The MAC of ONU registered error.
        "
    ::= { hh3cEponErrorInfo 3 }

hh3cOamEventLogType OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        The type of event that generated this entry in the event log.
        "
    ::= { hh3cEponErrorInfo 4 }

hh3cOamEventLogLocation OBJECT-TYPE
    SYNTAX      INTEGER{local(1),remote(2)}
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        Whether this event occurred locally, or was received from the
        OAM peer via Ethernet OAM.
        "
    ::= { hh3cEponErrorInfo 5 }

hh3cEponLoopbackPortIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        The index of port which generate loop back event.
        "
    ::= { hh3cEponErrorInfo 6 }

hh3cEponLoopbackPortDescr OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        A textual string containing information about the
        port generated loop back event.
        "
    ::= { hh3cEponErrorInfo 7 }

hh3cOltPortAlarmLlidMisFrames OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        the amount of mismatched frames about the LLID mismatch alarm.
        "
    ::= { hh3cEponErrorInfo 8 }

hh3cOltPortAlarmBer OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        error bit rate.
        "
    ::= { hh3cEponErrorInfo 9 }

hh3cOltPortAlarmFer OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        error frames rate.
        "
    ::= { hh3cEponErrorInfo 10 }

hh3cEponOnuRegSilentMac OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        The MAC of silent ONU.
        "
    ::= { hh3cEponErrorInfo 11 }

hh3cEponOperationResult OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        The result of EPON operation.
        "
    ::= { hh3cEponErrorInfo 12 }

hh3cEponOnuLaserState OBJECT-TYPE
    SYNTAX      INTEGER
    {
        normal(1),
        laserAlwaysOn(2),
        signalDegradation(3),
        endOfLife(4)
    }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        The state of ONU laser.
        "
    ::= { hh3cEponErrorInfo 13 }

--
-- hh3cEpon NOTIFICATION
--

hh3cEponTrap OBJECT IDENTIFIER ::= { hh3cEponMibObjects 8 }

hh3cEponTrapPrefix OBJECT IDENTIFIER ::= { hh3cEponTrap 0 }

hh3cEponPortAlarmBerTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cOltPortAlarmBerDirect,
            hh3cOltPortAlarmBer,
            hh3cOltPortAlarmBerThreshold
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponPortAlarmBerTrap notification is sent when
        a BER threshold crossing event is detected.
        "
    ::= { hh3cEponTrapPrefix 1 }

hh3cEponPortAlarmFerTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cOltPortAlarmFerDirect,
            hh3cOltPortAlarmFer,
            hh3cOltPortAlarmFerThreshold
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponPortAlarmFerTrap notification is sent when
        a frame error rate threshold crossing event is detected.
        "
    ::= { hh3cEponTrapPrefix 2 }

hh3cEponErrorLLIDFrameTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cOltPortAlarmLlidMisFrames,
            hh3cOltPortAlarmLlidMismatchThreshold
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponErrorLLIDFrameTrap notification is sent when a
        LLID mismatched frames rate threshold crossing event is detected.
        "
    ::= { hh3cEponTrapPrefix 3 }

hh3cEponLoopBackEnableTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cEponLoopbackPortIndex,
            hh3cEponLoopbackPortDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponLoopBackEnableTrap notification is sent when
        the loop back command is committed.
        "
    ::= { hh3cEponTrapPrefix 4 }

hh3cEponOnuRegistrationErrTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cEponOnuRegErrorMacAddr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOnuRegistrationErrTrap notification is sent when a
        ONU register failed.
        "
    ::= { hh3cEponTrapPrefix 5 }

hh3cEponOamDisconnectionTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOamDisconnectionTrap notification is sent when
        LLID's OAM link is disconnected.
        "
    ::= { hh3cEponTrapPrefix 6 }

hh3cEponEncryptionKeyErrTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponEncryptionKeyErrTrap notification is sent when
        LLID's encryption key is bad.
        "
    ::= { hh3cEponTrapPrefix 7 }

hh3cEponRemoteStableTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponRemoteStableTrap notification is sent when
        remote Data Terminal Equipment(DTE) has not seen or
        is unsatisfied with local state information.
        "
    ::= { hh3cEponTrapPrefix 8 }

hh3cEponLocalStableTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponLocalStableTrap notification is sent when
        DTE has not seen or is unsatisfied with remote state
        information.
        "
    ::= { hh3cEponTrapPrefix 9 }

hh3cEponOamVendorSpecificTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cOamVendorSpecificAlarmCode
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOamVendorSpecificTrap notification is sent when
        system vendor specific OAM alarm raised.
        "
    ::= { hh3cEponTrapPrefix 10 }

hh3cEponSoftwareErrTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cEponSoftwareErrorCode
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponSoftwareErrTrap notification is sent when
        a PAS-SOFT internal error occurs.
        "
    ::= { hh3cEponTrapPrefix 11 }

hh3cEponPortAlarmBerRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cOltPortAlarmBerDirect
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponPortAlarmBerRecoverTrap notification is sent when
        a BER threshold crossing event is detected and then recovered.
        "
    ::= { hh3cEponTrapPrefix 12 }

hh3cEponPortAlarmFerRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cOltPortAlarmFerDirect
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponPortAlarmFerRecoverTrap notification is sent when
        a frame error rate threshold crossing event is detected and then
        recoverd.
        "
    ::= { hh3cEponTrapPrefix 13 }

hh3cEponErrorLLIDFrameRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponErrorLLIDFrameRecoverTrap notification is sent when a
        LLID mismatched frames rate threshold crossing event is detected
        and then recoverd.
        "
    ::= { hh3cEponTrapPrefix 14 }

hh3cEponLoopBackEnableRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponLoopBackEnableRecoverTrap notification is sent when
        the loop back is detected and then recoverd.
        "
    ::= { hh3cEponTrapPrefix 15 }

hh3cEponOnuRegistrationErrRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cEponOnuRegErrorMacAddr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOnuRegistrationErrRecoverTrap notification is sent when an
        ONU register failed and then register successful again.
        "
    ::= { hh3cEponTrapPrefix 16 }

hh3cEponOamDisconnectionRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOamDisconnectionRecoverTrap notification is sent when
        LLID's OAM link is disconnected and then connected.
        "
    ::= { hh3cEponTrapPrefix 17 }

hh3cEponEncryptionKeyErrRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponEncryptionKeyErrRecoverTrap notification is sent when
        LLID's encryption key is bad and then right.
        "
    ::= { hh3cEponTrapPrefix 18 }

hh3cEponRemoteStableRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponRemoteStableRecoverTrap notification is sent when
        remote DTE has not seen or is unsatisfied with local
        state information and then is realized.
        "
    ::= { hh3cEponTrapPrefix 19 }

hh3cEponLocalStableRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponLocalStableRecoverTrap notification is sent when
        DTE has not seen or is unsatisfied with remote state
        information and then is realized.
        "
    ::= { hh3cEponTrapPrefix 20 }

hh3cEponOamVendorSpecificRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cOamVendorSpecificAlarmCode
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOamVendorSpecificRecoverTrap notification is sent when
        system vendor specific OAM alarm is detected and then recovered.
        "
    ::= { hh3cEponTrapPrefix 21 }

hh3cEponSoftwareErrRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cEponSoftwareErrorCode
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponSoftwareErrRecoverTrap notification is sent when
        a PAS-SOFT internal error is detected and then recovered.
        "
    ::= { hh3cEponTrapPrefix 22 }

hh3cDot3OamThresholdRecoverEvent NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            hh3cOamEventLogType,
            hh3cOamEventLogLocation
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cDot3OamThresholdRecoverEvent notification is sent when
        hh3cDot3OamThresholdEvent is detected and then recoverd.
        "
    ::= { hh3cEponTrapPrefix 23 }


hh3cDot3OamNonThresholdRecoverEvent NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            hh3cOamEventLogType,
            hh3cOamEventLogLocation
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cDot3OamNonThresholdRecoverEvent notification is sent when
        hh3cDot3OamNonThresholdEvent is detected and then recoverd.
        "
    ::= { hh3cEponTrapPrefix 24 }

hh3cEponOnuRegExcessTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOnuRegExcessTrap notification is sent when the
        number of registered ONUs exceeds the limit.
        "
    ::= { hh3cEponTrapPrefix 25 }

hh3cEponOnuRegExcessRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOnuRegExcessRecoverTrap notification is sent when
        hh3cEponOnuRegExcessTrap is detected and then recoverd.
        "
    ::= { hh3cEponTrapPrefix 26 }

hh3cEponOnuPowerOffTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOnuPowerOffTrap notification is sent when ONU is power off.
        "
    ::= { hh3cEponTrapPrefix 27 }

hh3cEponOltSwitchoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOltSwithoverTrap notification is sent when OLT switchover
        is detected.
        "
    ::= { hh3cEponTrapPrefix 28 }

hh3cEponOltDFETrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOltDFETrap notification is sent when there was
        a serious problem(device fatal error) on OLT.
        "
    ::= { hh3cEponTrapPrefix 29 }

hh3cEponOltDFERecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOltDFERecoverTrap notification is sent when
        device fatal error is detected and then recoverd.
        "
    ::= { hh3cEponTrapPrefix 30 }

hh3cEponOnuSilenceTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cEponOnuRegSilentMac
        }
    STATUS      current
    DESCRIPTION
        "
        The hh3cEponOnuSilenceTrap notification is sent when an
        unbound ONU try to register to an OLT.
        "
    ::= { hh3cEponTrapPrefix 31 }

hh3cEponOnuSilenceRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cEponOnuRegSilentMac
        }
    STATUS      current
    DESCRIPTION
        "
        The hh3cEponOnuSilenceRecoverTrap notification is sent when
        a silent ONU is bound in the OLT or the aging onu mac
        address is timeout.
        "
    ::= { hh3cEponTrapPrefix 32 }

hh3cEponOnuUpdateResultTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cOnuBindMacAddress,
            hh3cOnuUpdateResult,
            hh3cOnuRegType,
            hh3cOnuUpdateFileName
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponUpdateResultTrap notification is sent when
        an ONU reported its firmware update result.
        "
    ::= { hh3cEponTrapPrefix 33 }

hh3cEponOnuAutoBindTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cOnuBindMacAddress,
            hh3cEponOperationResult
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOnuAutoBindTrap notification is sent
        when a silent ONU is bound automatically.
        "
    ::= { hh3cEponTrapPrefix 34 }

hh3cEponOnuPortStpStateTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cEponStpPortIndex,
            hh3cEponStpPortDescr,
            hh3cEponStpPortState
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOnuPortStpStateTrap notification is sent when
        a port turns into another state in STP environment.
        "
    ::= { hh3cEponTrapPrefix 35 }

hh3cEponOnuLaserFailedTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cEponOnuLaserState
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cEponOnuLaserFailedTrap notification is sent when
        an ONU has trouble with laser, such as laser constantly turned on,
        signal degradation or optics EOL (End of Life).
        "
    ::= { hh3cEponTrapPrefix 36 }

hh3cOnuSmlkSwitchoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hh3cOnuSmlkGroupID,
            hh3cOnuSmlkFirstPonStatus,
            hh3cOnuSmlkSecondPonStatus
        }
    STATUS      current
    DESCRIPTION
        "
        A hh3cOnuSmlkSwitchoverTrap notification is sent when
        an ONU SMLK switchover is detected.
        "
    ::= { hh3cEponTrapPrefix 37 }

hh3cEponStat OBJECT IDENTIFIER ::= { hh3cEponMibObjects 9 }

--
-- hh3cEponStatTable
--

hh3cEponStatTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cEponStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table contains line code error statistics of epon port.
        "
    ::= { hh3cEponStat 1 }

hh3cEponStatEntry OBJECT-TYPE
    SYNTAX      Hh3cEponStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hh3cEponStatTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hh3cEponStatTable 1 }

Hh3cEponStatEntry ::= SEQUENCE
    {
        hh3cEponStatFER    Counter64,
        hh3cEponStatBER    Counter64
    }

hh3cEponStatFER OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The frame error rate of epon port, measured in 1e-9 unit.
        "
    ::= { hh3cEponStatEntry 1 }

hh3cEponStatBER OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The bit error rate of epon port, measured in 1e-9 unit.
        "
    ::= { hh3cEponStatEntry 2  }

END
