-- ===========================================================
-- 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 h3cEpon
-- 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 h3cEponOnuTypeManTable, h3cOltPortAlarmRegExcessEnabled,
--        h3cOnuBindType, h3cOnuPCBVersion, h3cOnuRtt, h3cOnuEEPROMVersion,
--        h3cOnuRegType, h3cOnuHostType, h3cEponOnuRegExcessTrap,
--        h3cEponOnuRegExcessRecoverTrap, h3cOnuSlaBandWidthStepVal.
--        Changed the description of h3cOnuSlaMaxBandWidth and h3cOnuSlaMinBandWidth.
--        Adjusted the format.
-- V1.3 2006-01-16 Updated file by lichunyan.
--        Added h3cOnuPacketManTable, h3cOnuProtocolTable, h3cOnuMulticastFilterStatus,
--        h3cOnuDot1xTable.
--        Changed the default value of h3cOnuSlaMaxBandWidth.
--        Adjusted the format of this mib.
-- V1.4 2006-06-08 Updated by chenzhaojie
--        Delete default values of h3cOnuSlaMinBandWidth and h3cOnuSlaMaxBandWidth
-- V1.5 2006-08-02 Updated by chenzhaojie
--        Add h3cOnuSlaDelay, h3cOnuDistance, h3cOnuPriorityQueueTable,
--        h3cOnuCountTable, h3cOnuPriorityQueueSizeMinVal, h3cOnuPriorityQueueSizeMaxVal,
--        h3cEponOnuPowerOffTrap, h3cEponOltSwitchoverTrap, h3cEponStatTable.
--        Change DESCRIPTION of h3cOnuSlaMinBandWidthMinVal, h3cOnuSlaMinBandWidthMaxVal.
-- V1.6 2006-09-06 Updated by chenzhaojie
--        Add h3cOnuPriorityQueueBandwidthMinVal, h3cOnuPriorityQueueBandwidthMaxVal,
--        h3cOnuPriorityQueueBurstsizeMinVal, h3cOnuPriorityQueueBurstsizeMaxVal.
--        Add h3cOnuQueueBandwidthTable.
-- V1.7 2007-05-21 Updated by chenzhaojie
--        Add h3cEponSysScalarGroup
--        Add h3cEponSysManTable ,h3cEponAutoUpdateTable,h3cEponOuiTable.
--        Add h3cEponOuiIndexNextTable, h3cEponMulticastControlTable.
--        Add h3cOltPortAlarmDFEEnabled to h3cOltPortAlarmThresholdTable.
--        Add h3cOnuDbaReportQueueSetNumber, h3cOnuRemoteFecStatus,h3cOnuPortBerStatus
--        h3cOnuReset, h3cOnuMulticastControlMode,h3cOnuAccessVlan,h3cOnuEncryptKey
--        to h3cOnuSysManTable
--        Add h3cOnuLlid to h3cOnuInfoTable.
--        Add h3cOnuIpAddressTable, h3cOnuChipSetInfoTable, h3cOnuCapabilityTable,
--        h3cOnuDbaReportTable.
--        Add h3cEponOltDFETrap, h3cEponOltDFERecoverTrap
-- V1.8 2007-10-13 Updated by liuhongxu, andapeng, lihaijun
--        Add h3cOltMaxRtt to h3cOltSysManTable.
--        Add h3cOnuUniUpDownTrapStatus, h3cOnuDhcpsnooping, h3cOnuPppoe,
--        h3cOnuIgmpSnoopingHostAgingT, h3cOnuIgmpSnoopingMaxRespT,
--        h3cOnuIgmpSnoopingRouterAgingT, h3cOnuIgmpSnoopingAggReportS,
--        h3cOnuIgmpSnoopingAggLeaveS, h3cOnuDhcpallocate, h3cOnuManageVID,
--        h3cOnuManageVlanIntfS.
--        Add h3cOnuCosToLocalPrecedenceTable.
--        Add h3cOnuFecStatus to h3cOnuSysManTable.
--        Add h3cOnuIpAddressGateway to h3cOnuIpAddressTable.
--        Changed the default value of h3cEponMonitorCycle.
-- V1.9 2008-1-15 Updated by fengjian, qinlei, lihaijun
--        Add h3cOnuSilentTable.
--        Add h3cOltUsingOnuTable.
--        Add h3cOnuFirmwareUpdateByTypeTable.
--        Add h3cOnuUpdateByTypeNextIndex
--        Add h3cOnuUpdateFileName to h3cOnuFirmwareUpdateTable.
--        Add h3cOnuUpdateResult values.
--        Add h3cOnuSlaFixedBandWidth and h3cOnuSlaPriorityClass to h3cOnuSlaManTable.
--        Add h3cEponOnuRegSilentMac.
--        Add h3cEponOnuSilenceTrap, h3cEponOnuSilenceRecoverTrap.
--        Add h3cEponOnuUpdateResultTrap to report onu update result.
-- V2.0 2008-3-17 Updated by zoudian
--        Add h3cOnuMcastCtrlHostAgingTime, h3cOnuMulticastFastLeaveEnable
--        and h3cOnuPortIsolateEnable to h3cOnuSysManTable.
--        Add h3cOnuIgspFastLeaveSupported and h3cOnuMCtrlFastLeaveSupported
--        to h3cOnuCapabilityTable.
--        Add h3cOnuSlaFixedPacketSize to h3cOnuSlaManTable.
-- V2.1 2008-07-25 updated by zhaodan and zoudian.
--        Add h3cEponOnuAutoBindTrap and h3cEponOperationResult.
--        Add h3cOnuFirmwareVersion and h3cOnuVendorId to h3cOnuInfoTable.
--        Change the description of h3cOnuDistance.
-- V2.2 2009-08-18 updated by zhaodan.
--        Add h3cEponOnuStpPortTable.
--        Add h3cEponOnuPortStpStateTrap to h3cEponTrapPrefix.
-- V2.3 2010-02-25 updated by zhaodan.
--        Add h3cEponOnuLaserState and h3cEponOnuLaserFailedTrap.
--        Add h3cOnuOpticalPowerReceivedByOlt to h3cOnuInfoTable.
--        Add h3cOltOpticalPowerTx and h3cOltOpticalPowerRx to h3cOltInfoTable.
--        Add h3cOnuPhysicalTable and h3cOnuSmlkTable.
--        Add h3cOnuSmlkSwitchoverTrap to h3cEponTrapPrefix.
-- V2.4 2010-12-02 updated by zhaodan.
--        Add h3cOnuRS485PropertiesTable, h3cOnuRS485SessionSummaryTable,
--            h3cOnuRS485SessionTable and h3cOnuRS485SessionErrInfoTable.
-- =================================================================
A3COM-HUAWEI-EPON-MIB DEFINITIONS ::= BEGIN

IMPORTS
        h3cEpon
    FROM A3COM-HUAWEI-OID-MIB
        ifIndex, ifDescr
    FROM IF-MIB
        hwLswFrameIndex, hwLswSlotIndex
    FROM A3COM-HUAWEI-DEVICE-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;

h3cEponMibObjects 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..
        "
    ::= { h3cEpon 1 }

h3cEponSysMan OBJECT IDENTIFIER ::= { h3cEponMibObjects 1 }

h3cEponAutoAuthorize 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 }
    ::= { h3cEponSysMan 1 }


h3cEponMonitorCycle 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.
        "
    ::= { h3cEponSysMan 2 }

h3cEponMsgTimeOut 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 }
    ::= { h3cEponSysMan 3 }

h3cEponMsgLoseNum 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 }
    ::= { h3cEponSysMan 4 }

h3cEponSysHasEPONBoard 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.
        "
    ::= { h3cEponSysMan 5 }

h3cEponMonitorCycleEnable 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 }
    ::= { h3cEponSysMan 6 }

h3cEponOltSoftwareErrAlmEnable 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 }
    ::= { h3cEponSysMan 7 }

h3cEponPortLoopBackAlmEnable 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 }
    ::= { h3cEponSysMan 8 }

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

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

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

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

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

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

h3cEponSysScalarGroup OBJECT IDENTIFIER ::= { h3cEponSysMan 15 }

--
-- h3cEponSysManTable
--

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

h3cEponSysManEntry OBJECT-TYPE
    SYNTAX      H3cEponSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponSysManTable.
        "
    INDEX
        {
            h3cEponSlotIndex
        }
    ::= { h3cEponSysManTable 1 }

H3cEponSysManEntry ::= SEQUENCE
    {
        h3cEponSlotIndex                   Integer32,
        h3cEponModeSwitch                  INTEGER,
        h3cEponAutomaticMode               INTEGER,
        h3cEponOamDiscoveryTimeout         Integer32,
        h3cEponEncryptionNoReplyTimeOut    Integer32,
        h3cEponEncryptionUpdateTime        Integer32,
        h3cEponAutoBindStatus              INTEGER
    }

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

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

h3cEponAutomaticMode 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 }
    ::= { h3cEponSysManEntry 3 }

h3cEponOamDiscoveryTimeout 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 }
    ::= { h3cEponSysManEntry 4 }

h3cEponEncryptionNoReplyTimeOut 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 }
    ::= { h3cEponSysManEntry 5 }

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

h3cEponAutoBindStatus 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 }
    ::= { h3cEponSysManEntry 7 }


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

h3cEponAutoUpdateEntry OBJECT-TYPE
    SYNTAX      H3cEponAutoUpdateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponAutoUpdateTable.
        "
    INDEX
        {
            h3cEponSlotIndex
        }
    ::= { h3cEponAutoUpdateTable 1 }

H3cEponAutoUpdateEntry ::= SEQUENCE
    {
        h3cEponAutoUpdateFileName          DisplayString,
        h3cEponAutoUpdateSchedStatus       INTEGER,
        h3cEponAutoUpdateSchedTime         OCTET STRING,
        h3cEponAutoUpdateSchedType         INTEGER,
        h3cEponAutoUpdateRealTimeStatus    INTEGER
    }
h3cEponAutoUpdateFileName 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.
        "
    ::= { h3cEponAutoUpdateEntry 1 }

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

h3cEponAutoUpdateSchedTime OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The schedule update timing configuration is related to
        the h3cEponAutoUpdateSchedType.
        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 h3cEponAutoUpdateSchedStatus
        is enabled.
        "
    ::= { h3cEponAutoUpdateEntry 3 }

h3cEponAutoUpdateSchedType 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.
        "
    ::= { h3cEponAutoUpdateEntry 4 }

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

--
-- h3cEponOuiIndexNextTable
--

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

h3cEponOuiIndexNextEntry OBJECT-TYPE
    SYNTAX      H3cEponOuiIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponOuiIndexNextTable.
        "
    INDEX
        {
            h3cEponSlotIndex
        }
    ::= { h3cEponOuiIndexNextTable 1 }

H3cEponOuiIndexNextEntry ::= SEQUENCE
    {
        h3cEponOuiIndexNext    Integer32
    }

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

--
-- h3cEponOuiTable
--

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

h3cEponOuiEntry OBJECT-TYPE
    SYNTAX      H3cEponOuiEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponOuiTable.
        "
    INDEX
        {
            h3cEponSlotIndex,
            h3cEponOuiIndex
        }
    ::= { h3cEponOuiTable 1 }

H3cEponOuiEntry ::= SEQUENCE
    {
        h3cEponOuiIndex        Integer32,
        h3cEponOuiValue        OCTET STRING,
        h3cEponOamVersion      OCTET STRING,
        h3cEponOuiRowStatus    RowStatus
    }

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

h3cEponOuiValue 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.
        "
    ::= { h3cEponOuiEntry 2 }


h3cEponOamVersion 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.
        "
    ::= { h3cEponOuiEntry 3 }

h3cEponOuiRowStatus 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.
        "
    ::= { h3cEponOuiEntry 4 }

--
-- h3cEponMulticastControlTable
--

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

h3cEponMulticastControlEntry OBJECT-TYPE
    SYNTAX      H3cEponMulticastControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponMulticastControlTable.
        "
    INDEX
        {
            h3cEponMulticastVlanId
        }
    ::= { h3cEponMulticastControlTable 1 }

H3cEponMulticastControlEntry ::= SEQUENCE
    {
        h3cEponMulticastVlanId         Integer32,
        h3cEponMulticastAddressList    OCTET STRING,
        h3cEponMulticastStatus         RowStatus
    }

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

h3cEponMulticastAddressList 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.
        "
    ::= { h3cEponMulticastControlEntry 2 }

h3cEponMulticastStatus 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.
        "
    ::= { h3cEponMulticastControlEntry 3 }

h3cEponFileName OBJECT IDENTIFIER ::= { h3cEponMibObjects 2 }

h3cEponDbaUpdateFileName 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.
        "
    ::= { h3cEponFileName 1 }

h3cEponOnuUpdateFileName 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.
        "
    ::= { h3cEponFileName 2 }

h3cEponOltMan OBJECT IDENTIFIER ::= { h3cEponMibObjects 3 }

--
-- h3cOltSysManTable
--

h3cOltSysManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOltSysManEntry
    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
        "
    ::= { h3cEponOltMan 1 }

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

H3cOltSysManEntry ::= SEQUENCE
    {
        h3cOltLaserOnTime            Integer32,
        h3cOltLaserOffTime           Integer32,
        h3cOltMultiCopyBrdCast       TruthValue,
        h3cOltEnableDiscardPacket    TruthValue,
        h3cOltSelfTest               INTEGER,
        h3cOltSelfTestResult         INTEGER,
        h3cOltMaxRtt                 Unsigned32
    }

h3cOltLaserOnTime 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 }
    ::= { h3cOltSysManEntry 1 }

h3cOltLaserOffTime 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 }
    ::= { h3cOltSysManEntry 2 }

h3cOltMultiCopyBrdCast 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 }
    ::= { h3cOltSysManEntry 3 }

h3cOltEnableDiscardPacket 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 }
    ::= { h3cOltSysManEntry 4 }

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

h3cOltSelfTestResult 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.
        "
    ::= { h3cOltSysManEntry 6 }

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

--
-- h3cOltInfoTable
--
h3cOltInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOltInfoEntry
    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
        (h3cOltFirmMajorVersion, h3cOltFirmMinorVersion,
        h3cOltHardMajorVersion, h3cOltHardMinorVersion)
        (2)Several physical capabilities of an OLT device.
        (h3cOltAgcLockTime, h3cOltAgcCdrTime)
        (3)The operation(activation) status of an OLT.
        (h3cOltMacAddress, h3cOltWorkMode)
        "
    ::= { h3cEponOltMan 2 }

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

H3cOltInfoEntry ::= SEQUENCE
    {
        h3cOltFirmMajorVersion    OCTET STRING,
        h3cOltFirmMinorVersion    OCTET STRING,
        h3cOltHardMajorVersion    OCTET STRING,
        h3cOltHardMinorVersion    OCTET STRING,
        h3cOltAgcLockTime         Integer32,
        h3cOltAgcCdrTime          Integer32,
        h3cOltMacAddress          MacAddress,
        h3cOltWorkMode            INTEGER,
        h3cOltOpticalPowerTx      Integer32,
        h3cOltOpticalPowerRx      Integer32
    }

h3cOltFirmMajorVersion 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.
        "
    ::= { h3cOltInfoEntry 1 }

h3cOltFirmMinorVersion 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.
        "
    ::= { h3cOltInfoEntry 2 }

h3cOltHardMajorVersion 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.
        "
    ::= { h3cOltInfoEntry 3 }

h3cOltHardMinorVersion 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.
        "
    ::= { h3cOltInfoEntry 4 }

h3cOltAgcLockTime 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.
        "
    ::= { h3cOltInfoEntry 5 }

h3cOltAgcCdrTime 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
        "
    ::= { h3cOltInfoEntry 6 }

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

h3cOltWorkMode 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.
        "
    ::= { h3cOltInfoEntry 8 }

h3cOltOpticalPowerTx 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.
        "
    ::= { h3cOltInfoEntry 9 }

h3cOltOpticalPowerRx 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.
        "
    ::= { h3cOltInfoEntry 10 }

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

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

H3cOltDbaManEntry ::= SEQUENCE
    {
        h3cOltDbaEnabledType          INTEGER,
        h3cOltDbaDiscoveryLength      Integer32,
        h3cOltDbaDiscovryFrequency    Integer32,
        h3cOltDbaCycleLength          Integer32,
        h3cOltDbaVersion              OCTET STRING,
        h3cOltDbaUpdate               INTEGER,
        h3cOltDbaUpdateResult         INTEGER
    }

h3cOltDbaEnabledType 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 }
    ::= { h3cOltDbaManEntry 1 }

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

h3cOltDbaDiscovryFrequency 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 }
    ::= { h3cOltDbaManEntry 3 }

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

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

h3cOltDbaUpdate 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 h3cEponDbaUpdateFileName.
        "
    ::= { h3cOltDbaManEntry 6 }

h3cOltDbaUpdateResult 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.
        "
    ::= { h3cOltDbaManEntry 7 }

--
-- h3cOltPortAlarmThresholdTable
--

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

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

H3cOltPortAlarmThresholdEntry ::= SEQUENCE
    {
        h3cOltPortAlarmBerEnabled                 TruthValue,
        h3cOltPortAlarmBerDirect                  INTEGER,
        h3cOltPortAlarmBerThreshold               Integer32,
        h3cOltPortAlarmFerEnabled                 TruthValue,
        h3cOltPortAlarmFerDirect                  INTEGER,
        h3cOltPortAlarmFerThreshold               Integer32,
        h3cOltPortAlarmLlidMismatchEnabled        TruthValue,
        h3cOltPortAlarmLlidMismatchThreshold      Integer32,
        h3cOltPortAlarmRemoteStableEnabled        TruthValue,
        h3cOltPortAlarmLocalStableEnabled         TruthValue,
        h3cOltPortAlarmRegistrationEnabled        TruthValue,
        h3cOltPortAlarmOamDisconnectionEnabled    TruthValue,
        h3cOltPortAlarmEncryptionKeyEnabled       TruthValue,
        h3cOltPortAlarmVendorSpecificEnabled      TruthValue,
        h3cOltPortAlarmRegExcessEnabled           TruthValue,
        h3cOltPortAlarmDFEEnabled                 TruthValue
    }

h3cOltPortAlarmBerEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 1 }

h3cOltPortAlarmBerDirect 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 }
    ::= { h3cOltPortAlarmThresholdEntry 2 }

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

h3cOltPortAlarmFerEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 4 }

h3cOltPortAlarmFerDirect 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 }
    ::= { h3cOltPortAlarmThresholdEntry 5 }

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

h3cOltPortAlarmLlidMismatchEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 7 }

h3cOltPortAlarmLlidMismatchThreshold 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 }
    ::= { h3cOltPortAlarmThresholdEntry 8 }

h3cOltPortAlarmRemoteStableEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 9 }

h3cOltPortAlarmLocalStableEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 10 }

h3cOltPortAlarmRegistrationEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 11 }

h3cOltPortAlarmOamDisconnectionEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 12 }

h3cOltPortAlarmEncryptionKeyEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 13 }

h3cOltPortAlarmVendorSpecificEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 14 }

h3cOltPortAlarmRegExcessEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 15 }

h3cOltPortAlarmDFEEnabled 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 }
    ::= { h3cOltPortAlarmThresholdEntry 16 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--
-- h3cOnuSilentTable
--

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

h3cOnuSilentEntry OBJECT-TYPE
    SYNTAX      H3cOnuSilentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cOnuSilentTable.
        "
    INDEX
        {
            ifIndex,
            h3cOnuSilentMacAddr
        }
    ::= { h3cOnuSilentTable 1 }

H3cOnuSilentEntry ::= SEQUENCE
    {
        h3cOnuSilentMacAddr    MacAddress,
        h3cOnuSilentTime       Integer32
    }

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

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

--
-- h3cOltUsingOnuTable
--

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

h3cOltUsingOnuEntry OBJECT-TYPE
    SYNTAX      H3cOltUsingOnuEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cOltUsingOnuTable.
        "
    INDEX
        {
            ifIndex,
            h3cOltUsingOnuNum
        }
    ::= { h3cOltUsingOnuTable 1 }

H3cOltUsingOnuEntry  ::= SEQUENCE
    {
        h3cOltUsingOnuNum          Integer32,
        h3cOltUsingOnuIfIndex      Integer32,
        h3cOltUsingOnuRowStatus    RowStatus
    }

h3cOltUsingOnuNum 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.
        "
    ::= { h3cOltUsingOnuEntry 1 }

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

h3cOltUsingOnuRowStatus 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.
        "
    ::= { h3cOltUsingOnuEntry 3 }

h3cEponOnuMan OBJECT IDENTIFIER ::= { h3cEponMibObjects 5 }

--
-- h3cOnuSysManTable
--

h3cOnuSysManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuSysManEntry
    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.
        "
    ::= { h3cEponOnuMan 1 }

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

H3cOnuSysManEntry ::= SEQUENCE
    {
        h3cOnuEncryptMan                 INTEGER,
        h3cOnuReAuthorize                INTEGER,
        h3cOnuMulticastFilterStatus      TruthValue,
        h3cOnuDbaReportQueueSetNumber    Integer32,
        h3cOnuRemoteFecStatus            INTEGER,
        h3cOnuPortBerStatus              INTEGER,
        h3cOnuReset                      INTEGER,
        h3cOnuMulticastControlMode       INTEGER,
        h3cOnuAccessVlan                 Integer32,
        h3cOnuEncryptKey                 DisplayString,
        h3cOnuUniUpDownTrapStatus        TruthValue,
        h3cOnuFecStatus                  INTEGER,
        h3cOnuMcastCtrlHostAgingTime     Integer32,
        h3cOnuMulticastFastLeaveEnable   TruthValue,
        h3cOnuPortIsolateEnable          TruthValue
    }

h3cOnuEncryptMan 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 }
    ::= { h3cOnuSysManEntry 1 }

h3cOnuReAuthorize 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.
        "
    ::= { h3cOnuSysManEntry 2 }

h3cOnuMulticastFilterStatus 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 }
    ::= { h3cOnuSysManEntry 3 }

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

h3cOnuRemoteFecStatus 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 }
    ::= { h3cOnuSysManEntry 5 }

h3cOnuPortBerStatus 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 }
    ::= { h3cOnuSysManEntry 6 }

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

h3cOnuMulticastControlMode 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 }
    ::= { h3cOnuSysManEntry 8 }

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

h3cOnuEncryptKey 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.
        "
    ::= { h3cOnuSysManEntry 10 }

h3cOnuUniUpDownTrapStatus 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 }
    ::= { h3cOnuSysManEntry 11 }

h3cOnuFecStatus 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 }
    ::= { h3cOnuSysManEntry 12 }

h3cOnuMcastCtrlHostAgingTime 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.
        "
    ::= { h3cOnuSysManEntry 13 }

h3cOnuMulticastFastLeaveEnable 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.
        "
    ::= { h3cOnuSysManEntry 14 }

h3cOnuPortIsolateEnable 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.
        "
    ::= { h3cOnuSysManEntry 15 }

--
-- h3cOnuLinkTestTable
--

h3cOnuLinkTestTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuLinkTestEntry
    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.
        "
    ::= { h3cEponOnuMan 2 }

h3cOnuLinkTestEntry OBJECT-TYPE
    SYNTAX      H3cOnuLinkTestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cOnuLinkTestEntry.
        "
    INDEX
        {
            ifIndex
        }
    ::= { h3cOnuLinkTestTable 1 }

H3cOnuLinkTestEntry ::= SEQUENCE
    {
        h3cOnuLinkTestFrameNum                Integer32,
        h3cOnuLinkTestFrameSize               Integer32,
        h3cOnuLinkTestDelay                   TruthValue,
        h3cOnuLinkTestVlanTag                 TruthValue,
        h3cOnuLinkTestVlanPriority            Integer32,
        h3cOnuLinkTestVlanTagID               Integer32,
        h3cOnuLinkTestResultSentFrameNum      Integer32,
        h3cOnuLinkTestResultRetFrameNum       Integer32,
        h3cOnuLinkTestResultRetErrFrameNum    Integer32,
        h3cOnuLinkTestResultMinDelay          Integer32,
        h3cOnuLinkTestResultMeanDelay         Integer32,
        h3cOnuLinkTestResultMaxDelay          Integer32
    }

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

h3cOnuLinkTestFrameSize 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 }
    ::= { h3cOnuLinkTestEntry 2 }

h3cOnuLinkTestDelay 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 }
    ::= { h3cOnuLinkTestEntry 3 }

h3cOnuLinkTestVlanTag 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 }
    ::= { h3cOnuLinkTestEntry 4 }

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

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

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

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

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

h3cOnuLinkTestResultMinDelay 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
        'h3cOnuLinkTestDelay' is set to be true.
        "
    ::= { h3cOnuLinkTestEntry 10 }

h3cOnuLinkTestResultMeanDelay 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
        'h3cOnuLinkTestDelay' is set to be true.
        "
    ::= { h3cOnuLinkTestEntry 11 }

h3cOnuLinkTestResultMaxDelay 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
        'h3cOnuLinkTestDelay' is set to be true.
        "
    ::= { h3cOnuLinkTestEntry 12 }

--
-- h3cOnuBandWidthTable
--

h3cOnuBandWidthTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuBandWidthEntry
    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.
        "
    ::= { h3cEponOnuMan 3 }

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

H3cOnuBandWidthEntry ::= SEQUENCE
    {
        h3cOnuDownStreamBandWidthPolicy      TruthValue,
        h3cOnuDownStreamMaxBandWidth         Integer32,
        h3cOnuDownStreamMaxBurstSize         Integer32,
        h3cOnuDownStreamHighPriorityFirst    TruthValue,
        h3cOnuDownStreamShortFrameFirst      TruthValue,
        h3cOnuP2PBandWidthPolicy             TruthValue,
        h3cOnuP2PMaxBandWidth                Integer32,
        h3cOnuP2PMaxBurstSize                Integer32,
        h3cOnuP2PHighPriorityFirst           TruthValue,
        h3cOnuP2PShortFrameFirst             TruthValue
    }

h3cOnuDownStreamBandWidthPolicy 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 }
    ::= { h3cOnuBandWidthEntry 1 }

h3cOnuDownStreamMaxBandWidth 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 }
    ::= { h3cOnuBandWidthEntry 2 }

h3cOnuDownStreamMaxBurstSize 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 }
    ::= { h3cOnuBandWidthEntry 3 }

h3cOnuDownStreamHighPriorityFirst 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 }
    ::= { h3cOnuBandWidthEntry 4 }

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

h3cOnuP2PBandWidthPolicy 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 }
    ::= { h3cOnuBandWidthEntry 6 }

h3cOnuP2PMaxBandWidth 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 }
    ::= { h3cOnuBandWidthEntry 7 }

h3cOnuP2PMaxBurstSize 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 }
    ::= { h3cOnuBandWidthEntry 8 }

h3cOnuP2PHighPriorityFirst 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 }
    ::= { h3cOnuBandWidthEntry 9 }

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

--
-- h3cOnuSlaManTable
--

h3cOnuSlaManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuSlaManEntry
    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.
        "
    ::= { h3cEponOnuMan 4 }

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

H3cOnuSlaManEntry ::= SEQUENCE
    {
        h3cOnuSlaMaxBandWidth        Integer32,
        h3cOnuSlaMinBandWidth        Integer32,
        h3cOnuSlaBandWidthStepVal    Integer32,
        h3cOnuSlaDelay               INTEGER,
        h3cOnuSlaFixedBandWidth      Integer32,
        h3cOnuSlaPriorityClass       Integer32,
        h3cOnuSlaFixedPacketSize     Integer32
    }

h3cOnuSlaMaxBandWidth 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 h3cOnuSlaBandWidthStepVal.
        The minimum bandwidth should not be larger than the maximum
        bandwidth.
        "
    ::= { h3cOnuSlaManEntry 1 }

h3cOnuSlaMinBandWidth 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 h3cOnuSlaBandWidthStepVal.
        The maximum bandwidth should be larger than the minimum bandwidth.
        "
    ::= { h3cOnuSlaManEntry 2 }

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

h3cOnuSlaDelay 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 }
    ::= { h3cOnuSlaManEntry 4 }

h3cOnuSlaFixedBandWidth 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 h3cOnuSlaBandWidthStepVal.
        "
    ::= { h3cOnuSlaManEntry 5 }

h3cOnuSlaPriorityClass 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 }
    ::= { h3cOnuSlaManEntry 6 }

h3cOnuSlaFixedPacketSize 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 h3cOnuSlaFixedBandWidth is configured.
        "
    ::= { h3cOnuSlaManEntry 7 }

--
-- h3cOnuInfoTable
--

h3cOnuInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuInfoEntry
    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
        (h3cOnuHardMajorVersion, h3cOnuHardMinorVersion,
        h3cOnuUniMacType)
        (2)Several physical capabilities of the ONU.
        (h3cOnuLaserOnTime, h3cOnuLaserOffTime,
        h3cOnuGrantFifoDep.)
        (3)The operation(activation) status of the ONU.
        (h3cOnuWorkMode)
        "
    ::= { h3cEponOnuMan 5 }

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

H3cOnuInfoEntry ::= SEQUENCE
    {
        h3cOnuHardMajorVersion    OCTET STRING,
        h3cOnuHardMinorVersion    OCTET STRING,
        h3cOnuSoftwareVersion     OCTET STRING,
        h3cOnuUniMacType          INTEGER,
        h3cOnuLaserOnTime         Integer32,
        h3cOnuLaserOffTime        Integer32,
        h3cOnuGrantFifoDep        Integer32,
        h3cOnuWorkMode            INTEGER,
        h3cOnuPCBVersion          OCTET STRING,
        h3cOnuRtt                 Unsigned32,
        h3cOnuEEPROMVersion       OCTET STRING,
        h3cOnuRegType             OCTET STRING,
        h3cOnuHostType            OCTET STRING,
        h3cOnuDistance            Integer32,
        h3cOnuLlid                Integer32,
        h3cOnuVendorId            OCTET STRING,
        h3cOnuFirmwareVersion     OCTET STRING,
        h3cOnuOpticalPowerReceivedByOlt  Integer32
    }

h3cOnuHardMajorVersion 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.
        "
    ::= { h3cOnuInfoEntry 1 }

h3cOnuHardMinorVersion 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.
        "
    ::= { h3cOnuInfoEntry 2 }

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

h3cOnuUniMacType 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.
        "
    ::= { h3cOnuInfoEntry 4 }

h3cOnuLaserOnTime 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 h3cOnuLaserOnTime is unknown.
        "
    ::= { h3cOnuInfoEntry 5 }

h3cOnuLaserOffTime 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 h3cOnuLaserOffTime is unknown.
        "
    ::= { h3cOnuInfoEntry 6 }

h3cOnuGrantFifoDep 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.
        "
    ::= { h3cOnuInfoEntry 7 }

h3cOnuWorkMode 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.
        "
    ::= { h3cOnuInfoEntry 8 }

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

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

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

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

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

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

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

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

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

h3cOnuOpticalPowerReceivedByOlt 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.
        "
    ::= { h3cOnuInfoEntry 18 }

--
-- h3cOnuMacAddrInfoTable
--

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

h3cOnuMacAddrInfoEntry OBJECT-TYPE
    SYNTAX      H3cOnuMacAddrInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the h3cEponOnuMacAddrInfoTable.
        "
    INDEX
        {
            ifIndex,
            h3cOnuMacIndex
        }
    ::= { h3cOnuMacAddrInfoTable 1 }

H3cOnuMacAddrInfoEntry ::= SEQUENCE
    {
        h3cOnuMacIndex       Integer32,
        h3cOnuMacAddrFlag    INTEGER,
        h3cOnuMacAddress     MacAddress
    }

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

h3cOnuMacAddrFlag 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.
        "
    ::= { h3cOnuMacAddrInfoEntry 2 }

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

--
-- h3cOnuBindMacAddrTable
--

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

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

H3cOnuBindMacAddrEntry ::= SEQUENCE
    {
        h3cOnuBindMacAddress    MacAddress,
        h3cOnuBindType          Integer32
    }

h3cOnuBindMacAddress 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.
        "
    ::= { h3cOnuBindMacAddrEntry 1 }

h3cOnuBindType 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 h3cEponOnuTypeDescr.
        "
    ::= { h3cOnuBindMacAddrEntry 2 }

--
-- h3cOnuFirmwareUpdateTable
--

h3cOnuFirmwareUpdateTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuFirmwareUpdateEntry
    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.
        "
    ::= { h3cEponOnuMan 8 }

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

H3cOnuFirmwareUpdateEntry ::= SEQUENCE
    {
        h3cOnuUpdate            INTEGER,
        h3cOnuUpdateResult      INTEGER,
        h3cOnuUpdateFileName    OCTET STRING
    }

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

h3cOnuUpdateResult 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.
        "
    ::= { h3cOnuFirmwareUpdateEntry 2 }

h3cOnuUpdateFileName 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.
        "
    ::= { h3cOnuFirmwareUpdateEntry 3 }

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

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

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

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

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

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

--
-- h3cEponOnuTypeManTable
--

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

h3cEponOnuTypeManEntry OBJECT-TYPE
    SYNTAX      H3cEponOnuTypeManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the h3cEponOnuTypeManTable.
        "
    INDEX
        {
            h3cEponOnuTypeIndex
        }
    ::= { h3cEponOnuTypeManTable 1 }

H3cEponOnuTypeManEntry ::= SEQUENCE
    {
        h3cEponOnuTypeIndex    Integer32,
        h3cEponOnuTypeDescr    OCTET STRING
    }

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

h3cEponOnuTypeDescr 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 h3cOnuBindType can be configured by the index of
        h3cEponOnuTypeDescr.
        "
    ::= { h3cEponOnuTypeManEntry 2 }

h3cOnuPacketManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuPacketManEntry
    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.
        "
    ::= { h3cEponOnuMan 16 }

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

H3cOnuPacketManEntry ::= SEQUENCE
    {
        h3cOnuPriorityTrust     INTEGER,
        h3cOnuQueueScheduler    INTEGER
    }

h3cOnuPriorityTrust 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 }
    ::= { h3cOnuPacketManEntry 1 }

h3cOnuQueueScheduler 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 }
    ::= { h3cOnuPacketManEntry 2 }

h3cOnuProtocolTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuProtocolEntry
    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.
        "
    ::= { h3cEponOnuMan 17 }

h3cOnuProtocolEntry OBJECT-TYPE
    SYNTAX      H3cOnuProtocolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cOnuProtocolTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { h3cOnuProtocolTable 1 }

H3cOnuProtocolEntry ::= SEQUENCE
    {
        h3cOnuStpStatus                   TruthValue,
        h3cOnuIgmpSnoopingStatus          TruthValue,
        h3cOnuDhcpsnoopingOption82        TruthValue,
        h3cOnuDhcpsnooping                TruthValue,
        h3cOnuPppoe                       TruthValue,
        h3cOnuIgmpSnoopingHostAgingT      Integer32,
        h3cOnuIgmpSnoopingMaxRespT        Integer32,
        h3cOnuIgmpSnoopingRouterAgingT    Integer32,
        h3cOnuIgmpSnoopingAggReportS      TruthValue,
        h3cOnuIgmpSnoopingAggLeaveS       TruthValue
    }

h3cOnuStpStatus 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 }
    ::= { h3cOnuProtocolEntry 1 }

h3cOnuIgmpSnoopingStatus 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 }
    ::= { h3cOnuProtocolEntry 2 }

h3cOnuDhcpsnoopingOption82 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 }
    ::= { h3cOnuProtocolEntry 3 }

h3cOnuDhcpsnooping 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 }
    ::= { h3cOnuProtocolEntry 4 }

h3cOnuPppoe 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 }
    ::= { h3cOnuProtocolEntry 5 }

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

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

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

h3cOnuIgmpSnoopingAggReportS 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 }
    ::= { h3cOnuProtocolEntry 9 }

h3cOnuIgmpSnoopingAggLeaveS 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 }
    ::= { h3cOnuProtocolEntry 10 }

h3cOnuDot1xTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuDot1xEntry
    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.
        "
    ::= { h3cEponOnuMan 18 }

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

H3cOnuDot1xEntry ::= SEQUENCE
    {
        h3cOnuDot1xAccount     OCTET STRING,
        h3cOnuDot1xPassword    OCTET STRING
    }

h3cOnuDot1xAccount 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 h3cOnuDot1xPassword.
        "
    ::= { h3cOnuDot1xEntry 1 }

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

h3cEponBatchOperationMan OBJECT IDENTIFIER ::= { h3cEponMibObjects 6 }

--
-- h3cOnuPriorityQueueTable
--

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

h3cOnuPriorityQueueEntry OBJECT-TYPE
    SYNTAX      H3cOnuPriorityQueueEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cOnuPriorityQueueTable.
        "
    INDEX
        {
            ifIndex,
            h3cOnuQueueDirection,
            h3cOnuQueueId
        }
    ::= { h3cOnuPriorityQueueTable 1 }

H3cOnuPriorityQueueEntry ::= SEQUENCE
    {
        h3cOnuQueueDirection    INTEGER,
        h3cOnuQueueId           Integer32,
        h3cOnuQueueSize         Integer32
    }

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

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

h3cOnuQueueSize 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 h3cOnuPriorityQueueSize.
        The total size of the inbound or outbound priority queues should be
        not more than 100.
        "
    ::= { h3cOnuPriorityQueueEntry 3 }

--
-- h3cOnuCountTable
--

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

h3cOnuCountEntry OBJECT-TYPE
    SYNTAX      H3cOnuCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cOnuCountTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { h3cOnuCountTable 1 }

H3cOnuCountEntry ::= SEQUENCE
    {
        h3cOnuInCRCErrPkts        Counter64,
        h3cOnuOutDroppedFrames    Counter64
    }

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

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

h3cEponOnuScalarGroup OBJECT IDENTIFIER ::= { h3cEponOnuMan 21 }

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

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

h3cOnuPriorityQueueBandwidthMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of h3cOnuQueueMaxBandwidth.
        "
    ::= { h3cEponOnuScalarGroup 3 }

h3cOnuPriorityQueueBandwidthMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of h3cOnuQueueMaxBandwidth.
        "
    ::= { h3cEponOnuScalarGroup 4 }

h3cOnuPriorityQueueBurstsizeMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of h3cOnuQueueMaxBurstsize.
        "
    ::= { h3cEponOnuScalarGroup 5 }

h3cOnuPriorityQueueBurstsizeMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of h3cOnuQueueMaxBurstsize.
        "
    ::= { h3cEponOnuScalarGroup 6 }

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

--
-- h3cOnuQueueBandwidthTable
--

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

h3cOnuQueueBandwidthEntry OBJECT-TYPE
    SYNTAX      H3cOnuQueueBandwidthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cOnuQueueBandwidthTable.
        "
    INDEX
        {
            ifIndex,
            h3cOnuQueueDirection,
            h3cOnuQueueId
        }
    ::= { h3cOnuQueueBandwidthTable 1 }

H3cOnuQueueBandwidthEntry ::= SEQUENCE
    {
        h3cOnuQueueMaxBandwidth    Integer32,
        h3cOnuQueueMaxBurstsize    Integer32,
        h3cOnuQueuePolicyStatus    TruthValue
    }

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

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

h3cOnuQueuePolicyStatus 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.
        "
    ::= { h3cOnuQueueBandwidthEntry 3 }

--
-- h3cOnuIpAddressTable
--

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

h3cOnuIpAddressEntry OBJECT-TYPE
    SYNTAX      H3cOnuIpAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cOnuIpAddressTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { h3cOnuIpAddressTable 1 }

H3cOnuIpAddressEntry ::= SEQUENCE
    {
        h3cOnuIpAddress           IpAddress,
        h3cOnuIpAddressMask       IpAddress,
        h3cOnuIpAddressGateway    IpAddress,
        h3cOnuDhcpallocate        TruthValue,
        h3cOnuManageVID           Integer32,
        h3cOnuManageVlanIntfS     TruthValue
    }

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

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

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

h3cOnuDhcpallocate 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.
        "
    ::= { h3cOnuIpAddressEntry 4 }

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

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

--
-- h3cOnuChipSetInfoTable
--

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

h3cOnuChipSetInfoEntry OBJECT-TYPE
    SYNTAX      H3cOnuChipSetInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cOnuChipSetInfoTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { h3cOnuChipSetInfoTable 1 }

H3cOnuChipSetInfoEntry ::= SEQUENCE
    {
        h3cOnuChipSetVendorId      OCTET STRING,
        h3cOnuChipSetModel         OCTET STRING,
        h3cOnuChipSetRevision      Integer32,
        h3cOnuChipSetDesignDate    DateAndTime
    }

h3cOnuChipSetVendorId 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.
        "
    ::= { h3cOnuChipSetInfoEntry 1 }

h3cOnuChipSetModel 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.
        "
    ::= { h3cOnuChipSetInfoEntry 2 }

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

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

--
-- h3cOnuCapabilityTable
--

h3cOnuCapabilityTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuCapabilityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Capability of ONU.
        "
    ::= { h3cEponOnuMan 25 }

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

H3cOnuCapabilityEntry ::= SEQUENCE
    {
        h3cOnuServiceSupported             BITS,
        h3cOnuGEPortNumber                 Integer32,
        h3cOnuFEPortNumber                 Integer32,
        h3cOnuPOTSPortNumber               Integer32,
        h3cOnuE1PortsNumber                Integer32,
        h3cOnuUpstreamQueueNumber          Integer32,
        h3cOnuMaxUpstreamQueuePerPort      Integer32,
        h3cOnuDownstreamQueueNumber        Integer32,
        h3cOnuMaxDownstreamQueuePerPort    Integer32,
        h3cOnuBatteryBackup                TruthValue,
        h3cOnuIgspFastLeaveSupported       TruthValue,
        h3cOnuMCtrlFastLeaveSupported      TruthValue
    }

h3cOnuServiceSupported 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.
        "
    ::= { h3cOnuCapabilityEntry 1 }

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

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

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

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

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

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

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

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

h3cOnuBatteryBackup 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.
        "
    ::= { h3cOnuCapabilityEntry 10 }

h3cOnuIgspFastLeaveSupported 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.
        "
    ::= { h3cOnuCapabilityEntry 11 }

h3cOnuMCtrlFastLeaveSupported 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.
        "
    ::= { h3cOnuCapabilityEntry 12 }

--
-- h3cOnuDbaReportTable
--

h3cOnuDbaReportTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuDbaReportEntry
    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.
        "
    ::= { h3cEponOnuMan 26 }

h3cOnuDbaReportEntry OBJECT-TYPE
    SYNTAX      H3cOnuDbaReportEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cOnuDbaReportTable.
        "
    INDEX
        {
            ifIndex,
            h3cOnuDbaReportQueueId
        }
    ::= { h3cOnuDbaReportTable 1 }

H3cOnuDbaReportEntry ::= SEQUENCE
    {
        h3cOnuDbaReportQueueId      Integer32,
        h3cOnuDbaReportThreshold    Integer32,
        h3cOnuDbaReportStatus       INTEGER
    }

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

h3cOnuDbaReportThreshold 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
        "
    ::= { h3cOnuDbaReportEntry 2 }

h3cOnuDbaReportStatus 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 }
    ::= { h3cOnuDbaReportEntry 3 }

--
-- h3cOnuCosToLocalPrecedenceTable
--

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

h3cOnuCosToLocalPrecedenceEntry OBJECT-TYPE
    SYNTAX      H3cOnuCosToLocalPrecedenceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Configuration information of map of the COS to local precedence."
    INDEX
        {
            ifIndex,
            h3cOnuCosToLocalPrecedenceCosIndex
        }
    ::= { h3cOnuCosToLocalPrecedenceTable 1 }

H3cOnuCosToLocalPrecedenceEntry ::= SEQUENCE
    {
        h3cOnuCosToLocalPrecedenceCosIndex    Integer32,
        h3cOnuCosToLocalPrecedenceValue       Integer32
    }

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

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

--
-- h3cEponOnuStpPortTable
--

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

h3cEponOnuStpPortEntry OBJECT-TYPE
    SYNTAX      H3cEponOnuStpPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Configuration information of ONU STP ports."
    INDEX
        {
            ifIndex,
            h3cEponStpPortIndex
        }
    ::= { h3cEponOnuStpPortTable 1 }

H3cEponOnuStpPortEntry ::= SEQUENCE
    {
        h3cEponStpPortIndex     Integer32,
        h3cEponStpPortDescr     OCTET STRING,
        h3cEponStpPortState     INTEGER
    }

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

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

h3cEponStpPortState 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)."
    ::={ h3cEponOnuStpPortEntry 3 }

--
-- h3cOnuPhysicalTable
--

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

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

H3cOnuPhysicalEntry ::= SEQUENCE
    {
        h3cOnuBridgeMac         MacAddress,
        h3cOnuFirstPonMac       MacAddress,
        h3cOnuFirstPonRegState  INTEGER,
        h3cOnuSecondPonMac      MacAddress,
        h3cOnuSecondPonRegState INTEGER
    }

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

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

h3cOnuFirstPonRegState 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.
        "
    ::= { h3cOnuPhysicalEntry 3 }

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

h3cOnuSecondPonRegState 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.
        "
    ::= { h3cOnuPhysicalEntry 5 }

--
-- h3cOnuSmlkTable
--

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

h3cOnuSmlkEntry OBJECT-TYPE
    SYNTAX      H3cOnuSmlkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the h3cOnuSmlkTable.
        "
    INDEX
        {
            ifIndex,
            h3cOnuSmlkGroupID
        }
    ::= { h3cOnuSmlkTable 1 }

H3cOnuSmlkEntry ::= SEQUENCE
    {
        h3cOnuSmlkGroupID            Integer32,
        h3cOnuSmlkFirstPonRole       INTEGER,
        h3cOnuSmlkFirstPonStatus     INTEGER,
        h3cOnuSmlkSecondPonRole      INTEGER,
        h3cOnuSmlkSecondPonStatus    INTEGER
    }

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

h3cOnuSmlkFirstPonRole 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.
        "
    ::= { h3cOnuSmlkEntry 2 }

h3cOnuSmlkFirstPonStatus 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.
        "
    ::= { h3cOnuSmlkEntry 3 }

h3cOnuSmlkSecondPonRole 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.
        "
    ::= { h3cOnuSmlkEntry 4 }

h3cOnuSmlkSecondPonStatus 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.
        "
    ::= { h3cOnuSmlkEntry 5 }

--
-- h3cOnuRS485PropertiesTable
--

h3cOnuRS485PropertiesTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuRS485PropertiesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Property table."
    ::= { h3cEponOnuMan 31 }

h3cOnuRS485PropertiesEntry OBJECT-TYPE
    SYNTAX          H3cOnuRS485PropertiesEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of property table."
    INDEX      {
                ifIndex,
                h3cOnuRS485SerialIndex
               }
    ::= { h3cOnuRS485PropertiesTable 1 }

H3cOnuRS485PropertiesEntry ::=
    SEQUENCE{
        h3cOnuRS485SerialIndex
            Integer32,
        h3cOnuRS485BaudRate
            INTEGER,
        h3cOnuRS485DataBits
            INTEGER,
        h3cOnuRS485Parity
            INTEGER,
        h3cOnuRS485StopBits
            INTEGER,
        h3cOnuRS485FlowControl
            INTEGER,
        h3cOnuRS485TXOctets
            Integer32,
        h3cOnuRS485RXOctets
            Integer32,
        h3cOnuRS485TXErrOctets
            Integer32,
        h3cOnuRS485RXErrOctets
            Integer32,
        h3cOnuRS485ResetStatistics
            INTEGER
    }

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

h3cOnuRS485BaudRate 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 }
    ::= { h3cOnuRS485PropertiesEntry 2 }

h3cOnuRS485DataBits 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 }
    ::= { h3cOnuRS485PropertiesEntry 3 }

h3cOnuRS485Parity 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 }
    ::= { h3cOnuRS485PropertiesEntry 4 }

h3cOnuRS485StopBits 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 }
    ::= { h3cOnuRS485PropertiesEntry 5 }

h3cOnuRS485FlowControl 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 }
    ::= { h3cOnuRS485PropertiesEntry 6 }

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

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

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

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

h3cOnuRS485ResetStatistics OBJECT-TYPE
    SYNTAX          INTEGER {
                        counting(1),
                        clear(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "Reset the counters to zero, including h3cOnuRS485TXOctets,
             h3cOnuRS485RXOctets, h3cOnuRS485TXErrOctets and
             h3cOnuRS485RXErrOctets."
    DEFVAL          { counting }
    ::= { h3cOnuRS485PropertiesEntry 11 }

--
-- h3cOnuRS485SessionSummaryTable
--

h3cOnuRS485SessionSummaryTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cOnuRS485SessionSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Session summary table."
    ::= { h3cEponOnuMan 32 }

h3cOnuRS485SessionSummaryEntry OBJECT-TYPE
    SYNTAX          H3cOnuRS485SessionSummaryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of session summary table."
    INDEX      {
                ifIndex,
                h3cOnuRS485SerialIndex
               }
    ::= { h3cOnuRS485SessionSummaryTable 1 }

H3cOnuRS485SessionSummaryEntry ::=
    SEQUENCE{
        h3cOnuRS485SessionMaxNum
            Integer32,
        h3cOnuRS485SessionNextIndex
            Integer32
            }

h3cOnuRS485SessionMaxNum 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."
    ::= { h3cOnuRS485SessionSummaryEntry 1 }

h3cOnuRS485SessionNextIndex 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.
            "
    ::= { h3cOnuRS485SessionSummaryEntry 2 }

--
-- h3cOnuRS485SessionTable
--

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

h3cOnuRS485SessionEntry OBJECT-TYPE
    SYNTAX          H3cOnuRS485SessionEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of session table."
    INDEX      {
                ifIndex,
                h3cOnuRS485SerialIndex,
                h3cOnuRS485SessionIndex
               }
    ::= { h3cOnuRS485SessionTable 1 }

H3cOnuRS485SessionEntry ::=
    SEQUENCE{
        h3cOnuRS485SessionIndex
            Integer32,
        h3cOnuRS485SessionType
            INTEGER,
        h3cOnuRS485SessionAddType
            InetAddressType,
        h3cOnuRS485SessionRemoteIP
            InetAddress,
        h3cOnuRS485SessionRemotePort
            Integer32,
        h3cOnuRS485SessionLocalPort
            Integer32,
        h3cOnuRS485SessionRowStatus
            RowStatus
    }

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

h3cOnuRS485SessionType 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."
    ::= { h3cOnuRS485SessionEntry 2 }

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

h3cOnuRS485SessionRemoteIP 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.
            "
    ::= { h3cOnuRS485SessionEntry 4 }

h3cOnuRS485SessionRemotePort 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.
            "
    ::= { h3cOnuRS485SessionEntry 5 }

h3cOnuRS485SessionLocalPort 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.
            "
    ::= { h3cOnuRS485SessionEntry 6 }

h3cOnuRS485SessionRowStatus 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."
    ::= { h3cOnuRS485SessionEntry 7 }

--
-- h3cOnuRS485SessionErrInfoTable
--

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

h3cOnuRS485SessionErrInfoEntry OBJECT-TYPE
    SYNTAX          H3cOnuRS485SessionErrInfoEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of error information table."
    INDEX      {
                ifIndex,
                h3cOnuRS485SerialIndex,
                h3cOnuRS485SessionIndex
               }
    ::= { h3cOnuRS485SessionErrInfoTable 1 }

H3cOnuRS485SessionErrInfoEntry ::=
    SEQUENCE{
        h3cOnuRS485SessionErrInfo
            DisplayString
    }

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

--
-- h3cEponBatchOperationBySlotTable
--

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

h3cEponBatchOperationBySlotEntry OBJECT-TYPE
    SYNTAX      H3cEponBatchOperationBySlotEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the h3cEponBatchOperationBySlotTable.
        "
    INDEX
        {
            h3cEponBatchOperationBySlotIndex
        }
    ::= { h3cEponBatchOperationBySlotTable 1 }

H3cEponBatchOperationBySlotEntry ::= SEQUENCE
    {
        h3cEponBatchOperationBySlotIndex     Integer32,
        h3cEponBatchOperationBySlotType      INTEGER,
        h3cEponBatchOperationBySlot          INTEGER,
        h3cEponBatchOperationBySlotResult    Integer32
    }

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

h3cEponBatchOperationBySlotType 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 h3cEponDbaUpdateFileName.
        10 - updateONU, update ONU firmware.
        Config the MIB object module h3cEponOnuUpdateFileName
        with the filename of ONU firmware first.
        "
    ::= { h3cEponBatchOperationBySlotEntry 2 }

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

h3cEponBatchOperationBySlotResult 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.
        "
    ::= { h3cEponBatchOperationBySlotEntry 4 }

--
-- h3cEponBatchOperationByOLTTable
--

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

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

H3cEponBatchOperationByOLTEntry ::= SEQUENCE
    {
        h3cEponBatchOperationByOLTType      INTEGER,
        h3cEponBatchOperationByOLT          INTEGER,
        h3cEponBatchOperationByOLTResult    Integer32
    }

h3cEponBatchOperationByOLTType 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 h3cEponOnuUpdateFileName
        with the filename of ONU firmware first.
        "
    ::= { h3cEponBatchOperationByOLTEntry 1 }

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

h3cEponBatchOperationByOLTResult 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.
        "
    ::= { h3cEponBatchOperationByOLTEntry 3 }

--
-- h3cOnuFirmwareUpdateByTypeTable
--

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

h3cOnuFirmwareUpdateByTypeEntry OBJECT-TYPE
    SYNTAX      H3cOnuFirmwareUpdateByTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the h3cOnuFirmwareUpdateByTypeTable.
        "
    INDEX
        {
            h3cOnuUpdateByOnuTypeIndex
        }
    ::= { h3cOnuFirmwareUpdateByTypeTable 1 }

H3cOnuFirmwareUpdateByTypeEntry ::= SEQUENCE
    {
        h3cOnuUpdateByOnuTypeIndex     Integer32,
        h3cOnuUpdateByTypeOnuType      OCTET STRING,
        h3cOnuUpdateByTypeFileName     OCTET STRING,
        h3cOnuUpdateByTypeRowStatus    RowStatus
    }

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

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

h3cOnuUpdateByTypeFileName 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.
        "
    ::= { h3cOnuFirmwareUpdateByTypeEntry 3 }

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

h3cEponErrorInfo OBJECT IDENTIFIER ::= { h3cEponMibObjects 7 }

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

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

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

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

h3cOamEventLogLocation 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.
        "
    ::= { h3cEponErrorInfo 5 }

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

h3cEponLoopbackPortDescr 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.
        "
    ::= { h3cEponErrorInfo 7 }

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

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

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

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

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

h3cEponOnuLaserState 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.
        "
    ::= { h3cEponErrorInfo 13 }

--
-- h3cEpon NOTIFICATION
--

h3cEponTrap OBJECT IDENTIFIER ::= { h3cEponMibObjects 8 }

h3cEponTrapPrefix OBJECT IDENTIFIER ::= { h3cEponTrap 0 }

h3cEponPortAlarmBerTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            h3cOltPortAlarmBerDirect,
            h3cOltPortAlarmBer,
            h3cOltPortAlarmBerThreshold
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponPortAlarmBerTrap notification is sent when
        a BER threshold crossing event is detected.
        "
    ::= { h3cEponTrapPrefix 1 }

h3cEponPortAlarmFerTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            h3cOltPortAlarmFerDirect,
            h3cOltPortAlarmFer,
            h3cOltPortAlarmFerThreshold
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponPortAlarmFerTrap notification is sent when
        a frame error rate threshold crossing event is detected.
        "
    ::= { h3cEponTrapPrefix 2 }

h3cEponErrorLLIDFrameTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            h3cOltPortAlarmLlidMisFrames,
            h3cOltPortAlarmLlidMismatchThreshold
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponErrorLLIDFrameTrap notification is sent when a
        LLID mismatched frames rate threshold crossing event is detected.
        "
    ::= { h3cEponTrapPrefix 3 }

h3cEponLoopBackEnableTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            h3cEponLoopbackPortIndex,
            h3cEponLoopbackPortDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponLoopBackEnableTrap notification is sent when
        the loop back command is committed.
        "
    ::= { h3cEponTrapPrefix 4 }

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

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

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

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

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

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

h3cEponSoftwareErrTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hwLswFrameIndex,
            hwLswSlotIndex,
            h3cEponSoftwareErrorCode
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponSoftwareErrTrap notification is sent when
        a PAS-SOFT internal error occurs.
        "
    ::= { h3cEponTrapPrefix 11 }

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

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

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

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

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

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

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

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

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

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

h3cEponSoftwareErrRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hwLswFrameIndex,
            hwLswSlotIndex,
            h3cEponSoftwareErrorCode
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponSoftwareErrRecoverTrap notification is sent when
        a PAS-SOFT internal error is detected and then recovered.
        "
    ::= { h3cEponTrapPrefix 22 }

h3cDot3OamThresholdRecoverEvent NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            h3cOamEventLogType,
            h3cOamEventLogLocation
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cDot3OamThresholdRecoverEvent notification is sent when
        h3cDot3OamThresholdEvent is detected and then recoverd.
        "
    ::= { h3cEponTrapPrefix 23 }


h3cDot3OamNonThresholdRecoverEvent NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            h3cOamEventLogType,
            h3cOamEventLogLocation
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cDot3OamNonThresholdRecoverEvent notification is sent when
        h3cDot3OamNonThresholdEvent is detected and then recoverd.
        "
    ::= { h3cEponTrapPrefix 24 }

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

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

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

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

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

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

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

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

h3cEponOnuUpdateResultTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            h3cOnuBindMacAddress,
            h3cOnuUpdateResult,
            h3cOnuRegType,
            h3cOnuUpdateFileName
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponUpdateResultTrap notification is sent when
        an ONU reported its firmware update result.
        "
    ::= { h3cEponTrapPrefix 33 }

h3cEponOnuAutoBindTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            h3cOnuBindMacAddress,
            h3cEponOperationResult
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponOnuAutoBindTrap notification is sent
        when a silent ONU is bound automatically.
        "
    ::= { h3cEponTrapPrefix 34 }

h3cEponOnuPortStpStateTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            h3cEponStpPortIndex,
            h3cEponStpPortDescr,
            h3cEponStpPortState
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponOnuPortStpStateTrap notification is sent when
        a port turns into another state in STP environment.
        "
    ::= { h3cEponTrapPrefix 35 }

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

h3cOnuSmlkSwitchoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            h3cOnuSmlkGroupID,
            h3cOnuSmlkFirstPonStatus,
            h3cOnuSmlkSecondPonStatus
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cOnuSmlkSwitchoverTrap notification is sent when
        an ONU SMLK switchover is detected.
        "
    ::= { h3cEponTrapPrefix 37 }

h3cEponStat OBJECT IDENTIFIER ::= { h3cEponMibObjects 9 }

--
-- h3cEponStatTable
--

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

h3cEponStatEntry OBJECT-TYPE
    SYNTAX      H3cEponStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cEponStatTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { h3cEponStatTable 1 }

H3cEponStatEntry ::= SEQUENCE
    {
        h3cEponStatFER    Counter64,
        h3cEponStatBER    Counter64
    }

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

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

END
