-- ===========================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description:
-- Reference:
-- Version: V2.4
-- History:
-- V1.0 created by liyue.
--     Define MODULE-IDENTITY for hpnicfEpon
-- 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 hpnicfEponOnuTypeManTable, hpnicfOltPortAlarmRegExcessEnabled,
--        hpnicfOnuBindType, hpnicfOnuPCBVersion, hpnicfOnuRtt, hpnicfOnuEEPROMVersion,
--        hpnicfOnuRegType, hpnicfOnuHostType, hpnicfEponOnuRegExcessTrap,
--        hpnicfEponOnuRegExcessRecoverTrap, hpnicfOnuSlaBandWidthStepVal.
--        Changed the description of hpnicfOnuSlaMaxBandWidth and hpnicfOnuSlaMinBandWidth.
--        Adjusted the format.
-- V1.3 2006-01-16 Updated file by lichunyan.
--        Added hpnicfOnuPacketManTable, hpnicfOnuProtocolTable, hpnicfOnuMulticastFilterStatus,
--        hpnicfOnuDot1xTable.
--        Changed the default value of hpnicfOnuSlaMaxBandWidth.
--        Adjusted the format of this mib.
-- V1.4 2006-06-08 Updated by chenzhaojie
--        Delete default values of hpnicfOnuSlaMinBandWidth and hpnicfOnuSlaMaxBandWidth
-- V1.5 2006-08-02 Updated by chenzhaojie
--        Add hpnicfOnuSlaDelay, hpnicfOnuDistance, hpnicfOnuPriorityQueueTable,
--        hpnicfOnuCountTable, hpnicfOnuPriorityQueueSizeMinVal, hpnicfOnuPriorityQueueSizeMaxVal,
--        hpnicfEponOnuPowerOffTrap, hpnicfEponOltSwitchoverTrap, hpnicfEponStatTable.
--        Change DESCRIPTION of hpnicfOnuSlaMinBandWidthMinVal, hpnicfOnuSlaMinBandWidthMaxVal.
-- V1.6 2006-09-06 Updated by chenzhaojie
--        Add hpnicfOnuPriorityQueueBandwidthMinVal, hpnicfOnuPriorityQueueBandwidthMaxVal,
--        hpnicfOnuPriorityQueueBurstsizeMinVal, hpnicfOnuPriorityQueueBurstsizeMaxVal.
--        Add hpnicfOnuQueueBandwidthTable.
-- V1.7 2007-05-21 Updated by chenzhaojie
--        Add hpnicfEponSysScalarGroup
--        Add hpnicfEponSysManTable ,hpnicfEponAutoUpdateTable,hpnicfEponOuiTable.
--        Add hpnicfEponOuiIndexNextTable, hpnicfEponMulticastControlTable.
--        Add hpnicfOltPortAlarmDFEEnabled to hpnicfOltPortAlarmThresholdTable.
--        Add hpnicfOnuDbaReportQueueSetNumber, hpnicfOnuRemoteFecStatus,hpnicfOnuPortBerStatus
--        hpnicfOnuReset, hpnicfOnuMulticastControlMode,hpnicfOnuAccessVlan,hpnicfOnuEncryptKey
--        to hpnicfOnuSysManTable
--        Add hpnicfOnuLlid to hpnicfOnuInfoTable.
--        Add hpnicfOnuIpAddressTable, hpnicfOnuChipSetInfoTable, hpnicfOnuCapabilityTable,
--        hpnicfOnuDbaReportTable.
--        Add hpnicfEponOltDFETrap, hpnicfEponOltDFERecoverTrap
-- V1.8 2007-10-13 Updated by liuhongxu, andapeng, lihaijun
--        Add hpnicfOltMaxRtt to hpnicfOltSysManTable.
--        Add hpnicfOnuUniUpDownTrapStatus, hpnicfOnuDhcpsnooping, hpnicfOnuPppoe,
--        hpnicfOnuIgmpSnoopingHostAgingT, hpnicfOnuIgmpSnoopingMaxRespT,
--        hpnicfOnuIgmpSnoopingRouterAgingT, hpnicfOnuIgmpSnoopingAggReportS,
--        hpnicfOnuIgmpSnoopingAggLeaveS, hpnicfOnuDhcpallocate, hpnicfOnuManageVID,
--        hpnicfOnuManageVlanIntfS.
--        Add hpnicfOnuCosToLocalPrecedenceTable.
--        Add hpnicfOnuFecStatus to hpnicfOnuSysManTable.
--        Add hpnicfOnuIpAddressGateway to hpnicfOnuIpAddressTable.
--        Changed the default value of hpnicfEponMonitorCycle.
-- V1.9 2008-1-15 Updated by fengjian, qinlei, lihaijun
--        Add hpnicfOnuSilentTable.
--        Add hpnicfOltUsingOnuTable.
--        Add hpnicfOnuFirmwareUpdateByTypeTable.
--        Add hpnicfOnuUpdateByTypeNextIndex
--        Add hpnicfOnuUpdateFileName to hpnicfOnuFirmwareUpdateTable.
--        Add hpnicfOnuUpdateResult values.
--        Add hpnicfOnuSlaFixedBandWidth and hpnicfOnuSlaPriorityClass to hpnicfOnuSlaManTable.
--        Add hpnicfEponOnuRegSilentMac.
--        Add hpnicfEponOnuSilenceTrap, hpnicfEponOnuSilenceRecoverTrap.
--        Add hpnicfEponOnuUpdateResultTrap to report onu update result.
-- V2.0 2008-3-17 Updated by zoudian
--        Add hpnicfOnuMcastCtrlHostAgingTime, hpnicfOnuMulticastFastLeaveEnable
--        and hpnicfOnuPortIsolateEnable to hpnicfOnuSysManTable.
--        Add hpnicfOnuIgspFastLeaveSupported and hpnicfOnuMCtrlFastLeaveSupported
--        to hpnicfOnuCapabilityTable.
--        Add hpnicfOnuSlaFixedPacketSize to hpnicfOnuSlaManTable.
-- V2.1 2008-07-25 updated by zhaodan and zoudian.
--        Add hpnicfEponOnuAutoBindTrap and hpnicfEponOperationResult.
--        Add hpnicfOnuFirmwareVersion and hpnicfOnuVendorId to hpnicfOnuInfoTable.
--        Change the description of hpnicfOnuDistance.
-- V2.2 2009-08-18 updated by zhaodan.
--        Add hpnicfEponOnuStpPortTable.
--        Add hpnicfEponOnuPortStpStateTrap to hpnicfEponTrapPrefix.
-- V2.3 2010-02-25 updated by zhaodan.
--        Add hpnicfEponOnuLaserState and hpnicfEponOnuLaserFailedTrap.
--        Add hpnicfOnuOpticalPowerReceivedByOlt to hpnicfOnuInfoTable.
--        Add hpnicfOltOpticalPowerTx and hpnicfOltOpticalPowerRx to hpnicfOltInfoTable.
--        Add hpnicfOnuPhysicalTable and hpnicfOnuSmlkTable.
--        Add hpnicfOnuSmlkSwitchoverTrap to hpnicfEponTrapPrefix.
-- V2.4 2010-12-02 updated by zhaodan.
--        Add hpnicfOnuRS485PropertiesTable, hpnicfOnuRS485SessionSummaryTable,
--            hpnicfOnuRS485SessionTable and hpnicfOnuRS485SessionErrInfoTable.
-- =================================================================
HPN-ICF-EPON-MIB DEFINITIONS ::= BEGIN

IMPORTS
        hpnicfEpon
    FROM HPN-ICF-OID-MIB
        ifIndex, ifDescr
    FROM IF-MIB
        hpnicfLswFrameIndex, hpnicfLswSlotIndex
    FROM HPN-ICF-LSW-DEV-ADM-MIB
        Integer32, Unsigned32, Counter64, IpAddress, OBJECT-TYPE, MODULE-IDENTITY,
        NOTIFICATION-TYPE
    FROM SNMPv2-SMI
        TruthValue, MacAddress, DateAndTime, RowStatus, DisplayString
    FROM SNMPv2-TC
        InetAddress, InetAddressType
    FROM INET-ADDRESS-MIB;

hpnicfEponMibObjects MODULE-IDENTITY
    LAST-UPDATED "200705221008Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    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..
        "
    ::= { hpnicfEpon 1 }

hpnicfEponSysMan OBJECT IDENTIFIER ::= { hpnicfEponMibObjects 1 }

hpnicfEponAutoAuthorize 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 }
    ::= { hpnicfEponSysMan 1 }


hpnicfEponMonitorCycle 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.
        "
    ::= { hpnicfEponSysMan 2 }

hpnicfEponMsgTimeOut 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 }
    ::= { hpnicfEponSysMan 3 }

hpnicfEponMsgLoseNum 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 }
    ::= { hpnicfEponSysMan 4 }

hpnicfEponSysHasEPONBoard 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.
        "
    ::= { hpnicfEponSysMan 5 }

hpnicfEponMonitorCycleEnable 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 }
    ::= { hpnicfEponSysMan 6 }

hpnicfEponOltSoftwareErrAlmEnable 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 }
    ::= { hpnicfEponSysMan 7 }

hpnicfEponPortLoopBackAlmEnable 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 }
    ::= { hpnicfEponSysMan 8 }

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

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

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

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

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

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

hpnicfEponSysScalarGroup OBJECT IDENTIFIER ::= { hpnicfEponSysMan 15 }

--
-- hpnicfEponSysManTable
--

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

hpnicfEponSysManEntry OBJECT-TYPE
    SYNTAX      HpnicfEponSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponSysManTable.
        "
    INDEX
        {
            hpnicfEponSlotIndex
        }
    ::= { hpnicfEponSysManTable 1 }

HpnicfEponSysManEntry ::= SEQUENCE
    {
        hpnicfEponSlotIndex                   Integer32,
        hpnicfEponModeSwitch                  INTEGER,
        hpnicfEponAutomaticMode               INTEGER,
        hpnicfEponOamDiscoveryTimeout         Integer32,
        hpnicfEponEncryptionNoReplyTimeOut    Integer32,
        hpnicfEponEncryptionUpdateTime        Integer32,
        hpnicfEponAutoBindStatus              INTEGER
    }

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

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

hpnicfEponAutomaticMode 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 }
    ::= { hpnicfEponSysManEntry 3 }

hpnicfEponOamDiscoveryTimeout 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 }
    ::= { hpnicfEponSysManEntry 4 }

hpnicfEponEncryptionNoReplyTimeOut 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 }
    ::= { hpnicfEponSysManEntry 5 }

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

hpnicfEponAutoBindStatus 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 }
    ::= { hpnicfEponSysManEntry 7 }


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

hpnicfEponAutoUpdateEntry OBJECT-TYPE
    SYNTAX      HpnicfEponAutoUpdateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponAutoUpdateTable.
        "
    INDEX
        {
            hpnicfEponSlotIndex
        }
    ::= { hpnicfEponAutoUpdateTable 1 }

HpnicfEponAutoUpdateEntry ::= SEQUENCE
    {
        hpnicfEponAutoUpdateFileName          DisplayString,
        hpnicfEponAutoUpdateSchedStatus       INTEGER,
        hpnicfEponAutoUpdateSchedTime         OCTET STRING,
        hpnicfEponAutoUpdateSchedType         INTEGER,
        hpnicfEponAutoUpdateRealTimeStatus    INTEGER
    }
hpnicfEponAutoUpdateFileName 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.
        "
    ::= { hpnicfEponAutoUpdateEntry 1 }

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

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

hpnicfEponAutoUpdateSchedType 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.
        "
    ::= { hpnicfEponAutoUpdateEntry 4 }

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

--
-- hpnicfEponOuiIndexNextTable
--

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

hpnicfEponOuiIndexNextEntry OBJECT-TYPE
    SYNTAX      HpnicfEponOuiIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponOuiIndexNextTable.
        "
    INDEX
        {
            hpnicfEponSlotIndex
        }
    ::= { hpnicfEponOuiIndexNextTable 1 }

HpnicfEponOuiIndexNextEntry ::= SEQUENCE
    {
        hpnicfEponOuiIndexNext    Integer32
    }

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

--
-- hpnicfEponOuiTable
--

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

hpnicfEponOuiEntry OBJECT-TYPE
    SYNTAX      HpnicfEponOuiEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponOuiTable.
        "
    INDEX
        {
            hpnicfEponSlotIndex,
            hpnicfEponOuiIndex
        }
    ::= { hpnicfEponOuiTable 1 }

HpnicfEponOuiEntry ::= SEQUENCE
    {
        hpnicfEponOuiIndex        Integer32,
        hpnicfEponOuiValue        OCTET STRING,
        hpnicfEponOamVersion      OCTET STRING,
        hpnicfEponOuiRowStatus    RowStatus
    }

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

hpnicfEponOuiValue 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.
        "
    ::= { hpnicfEponOuiEntry 2 }


hpnicfEponOamVersion 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.
        "
    ::= { hpnicfEponOuiEntry 3 }

hpnicfEponOuiRowStatus 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.
        "
    ::= { hpnicfEponOuiEntry 4 }

--
-- hpnicfEponMulticastControlTable
--

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

hpnicfEponMulticastControlEntry OBJECT-TYPE
    SYNTAX      HpnicfEponMulticastControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponMulticastControlTable.
        "
    INDEX
        {
            hpnicfEponMulticastVlanId
        }
    ::= { hpnicfEponMulticastControlTable 1 }

HpnicfEponMulticastControlEntry ::= SEQUENCE
    {
        hpnicfEponMulticastVlanId         Integer32,
        hpnicfEponMulticastAddressList    OCTET STRING,
        hpnicfEponMulticastStatus         RowStatus
    }

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

hpnicfEponMulticastAddressList 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.
        "
    ::= { hpnicfEponMulticastControlEntry 2 }

hpnicfEponMulticastStatus 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.
        "
    ::= { hpnicfEponMulticastControlEntry 3 }

hpnicfEponFileName OBJECT IDENTIFIER ::= { hpnicfEponMibObjects 2 }

hpnicfEponDbaUpdateFileName 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.
        "
    ::= { hpnicfEponFileName 1 }

hpnicfEponOnuUpdateFileName 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.
        "
    ::= { hpnicfEponFileName 2 }

hpnicfEponOltMan OBJECT IDENTIFIER ::= { hpnicfEponMibObjects 3 }

--
-- hpnicfOltSysManTable
--

hpnicfOltSysManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOltSysManEntry
    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
        "
    ::= { hpnicfEponOltMan 1 }

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

HpnicfOltSysManEntry ::= SEQUENCE
    {
        hpnicfOltLaserOnTime            Integer32,
        hpnicfOltLaserOffTime           Integer32,
        hpnicfOltMultiCopyBrdCast       TruthValue,
        hpnicfOltEnableDiscardPacket    TruthValue,
        hpnicfOltSelfTest               INTEGER,
        hpnicfOltSelfTestResult         INTEGER,
        hpnicfOltMaxRtt                 Unsigned32
    }

hpnicfOltLaserOnTime 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 }
    ::= { hpnicfOltSysManEntry 1 }

hpnicfOltLaserOffTime 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 }
    ::= { hpnicfOltSysManEntry 2 }

hpnicfOltMultiCopyBrdCast 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 }
    ::= { hpnicfOltSysManEntry 3 }

hpnicfOltEnableDiscardPacket 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 }
    ::= { hpnicfOltSysManEntry 4 }

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

hpnicfOltSelfTestResult 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.
        "
    ::= { hpnicfOltSysManEntry 6 }

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

--
-- hpnicfOltInfoTable
--
hpnicfOltInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOltInfoEntry
    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
        (hpnicfOltFirmMajorVersion, hpnicfOltFirmMinorVersion,
        hpnicfOltHardMajorVersion, hpnicfOltHardMinorVersion)
        (2)Several physical capabilities of an OLT device.
        (hpnicfOltAgcLockTime, hpnicfOltAgcCdrTime)
        (3)The operation(activation) status of an OLT.
        (hpnicfOltMacAddress, hpnicfOltWorkMode)
        "
    ::= { hpnicfEponOltMan 2 }

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

HpnicfOltInfoEntry ::= SEQUENCE
    {
        hpnicfOltFirmMajorVersion    OCTET STRING,
        hpnicfOltFirmMinorVersion    OCTET STRING,
        hpnicfOltHardMajorVersion    OCTET STRING,
        hpnicfOltHardMinorVersion    OCTET STRING,
        hpnicfOltAgcLockTime         Integer32,
        hpnicfOltAgcCdrTime          Integer32,
        hpnicfOltMacAddress          MacAddress,
        hpnicfOltWorkMode            INTEGER,
        hpnicfOltOpticalPowerTx      Integer32,
        hpnicfOltOpticalPowerRx      Integer32
    }

hpnicfOltFirmMajorVersion 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.
        "
    ::= { hpnicfOltInfoEntry 1 }

hpnicfOltFirmMinorVersion 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.
        "
    ::= { hpnicfOltInfoEntry 2 }

hpnicfOltHardMajorVersion 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.
        "
    ::= { hpnicfOltInfoEntry 3 }

hpnicfOltHardMinorVersion 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.
        "
    ::= { hpnicfOltInfoEntry 4 }

hpnicfOltAgcLockTime 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.
        "
    ::= { hpnicfOltInfoEntry 5 }

hpnicfOltAgcCdrTime 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
        "
    ::= { hpnicfOltInfoEntry 6 }

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

hpnicfOltWorkMode 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.
        "
    ::= { hpnicfOltInfoEntry 8 }

hpnicfOltOpticalPowerTx 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.
        "
    ::= { hpnicfOltInfoEntry 9 }

hpnicfOltOpticalPowerRx 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.
        "
    ::= { hpnicfOltInfoEntry 10 }

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

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

HpnicfOltDbaManEntry ::= SEQUENCE
    {
        hpnicfOltDbaEnabledType          INTEGER,
        hpnicfOltDbaDiscoveryLength      Integer32,
        hpnicfOltDbaDiscovryFrequency    Integer32,
        hpnicfOltDbaCycleLength          Integer32,
        hpnicfOltDbaVersion              OCTET STRING,
        hpnicfOltDbaUpdate               INTEGER,
        hpnicfOltDbaUpdateResult         INTEGER
    }

hpnicfOltDbaEnabledType 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 }
    ::= { hpnicfOltDbaManEntry 1 }

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

hpnicfOltDbaDiscovryFrequency 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 }
    ::= { hpnicfOltDbaManEntry 3 }

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

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

hpnicfOltDbaUpdate 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 hpnicfEponDbaUpdateFileName.
        "
    ::= { hpnicfOltDbaManEntry 6 }

hpnicfOltDbaUpdateResult 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.
        "
    ::= { hpnicfOltDbaManEntry 7 }

--
-- hpnicfOltPortAlarmThresholdTable
--

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

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

HpnicfOltPortAlarmThresholdEntry ::= SEQUENCE
    {
        hpnicfOltPortAlarmBerEnabled                 TruthValue,
        hpnicfOltPortAlarmBerDirect                  INTEGER,
        hpnicfOltPortAlarmBerThreshold               Integer32,
        hpnicfOltPortAlarmFerEnabled                 TruthValue,
        hpnicfOltPortAlarmFerDirect                  INTEGER,
        hpnicfOltPortAlarmFerThreshold               Integer32,
        hpnicfOltPortAlarmLlidMismatchEnabled        TruthValue,
        hpnicfOltPortAlarmLlidMismatchThreshold      Integer32,
        hpnicfOltPortAlarmRemoteStableEnabled        TruthValue,
        hpnicfOltPortAlarmLocalStableEnabled         TruthValue,
        hpnicfOltPortAlarmRegistrationEnabled        TruthValue,
        hpnicfOltPortAlarmOamDisconnectionEnabled    TruthValue,
        hpnicfOltPortAlarmEncryptionKeyEnabled       TruthValue,
        hpnicfOltPortAlarmVendorSpecificEnabled      TruthValue,
        hpnicfOltPortAlarmRegExcessEnabled           TruthValue,
        hpnicfOltPortAlarmDFEEnabled                 TruthValue
    }

hpnicfOltPortAlarmBerEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 1 }

hpnicfOltPortAlarmBerDirect 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 2 }

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

hpnicfOltPortAlarmFerEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 4 }

hpnicfOltPortAlarmFerDirect 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 5 }

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

hpnicfOltPortAlarmLlidMismatchEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 7 }

hpnicfOltPortAlarmLlidMismatchThreshold 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 8 }

hpnicfOltPortAlarmRemoteStableEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 9 }

hpnicfOltPortAlarmLocalStableEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 10 }

hpnicfOltPortAlarmRegistrationEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 11 }

hpnicfOltPortAlarmOamDisconnectionEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 12 }

hpnicfOltPortAlarmEncryptionKeyEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 13 }

hpnicfOltPortAlarmVendorSpecificEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 14 }

hpnicfOltPortAlarmRegExcessEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 15 }

hpnicfOltPortAlarmDFEEnabled 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 }
    ::= { hpnicfOltPortAlarmThresholdEntry 16 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--
-- hpnicfOnuSilentTable
--

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

hpnicfOnuSilentEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuSilentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfOnuSilentTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfOnuSilentMacAddr
        }
    ::= { hpnicfOnuSilentTable 1 }

HpnicfOnuSilentEntry ::= SEQUENCE
    {
        hpnicfOnuSilentMacAddr    MacAddress,
        hpnicfOnuSilentTime       Integer32
    }

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

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

--
-- hpnicfOltUsingOnuTable
--

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

hpnicfOltUsingOnuEntry OBJECT-TYPE
    SYNTAX      HpnicfOltUsingOnuEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfOltUsingOnuTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfOltUsingOnuNum
        }
    ::= { hpnicfOltUsingOnuTable 1 }

HpnicfOltUsingOnuEntry  ::= SEQUENCE
    {
        hpnicfOltUsingOnuNum          Integer32,
        hpnicfOltUsingOnuIfIndex      Integer32,
        hpnicfOltUsingOnuRowStatus    RowStatus
    }

hpnicfOltUsingOnuNum 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.
        "
    ::= { hpnicfOltUsingOnuEntry 1 }

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

hpnicfOltUsingOnuRowStatus 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.
        "
    ::= { hpnicfOltUsingOnuEntry 3 }

hpnicfEponOnuMan OBJECT IDENTIFIER ::= { hpnicfEponMibObjects 5 }

--
-- hpnicfOnuSysManTable
--

hpnicfOnuSysManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuSysManEntry
    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.
        "
    ::= { hpnicfEponOnuMan 1 }

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

HpnicfOnuSysManEntry ::= SEQUENCE
    {
        hpnicfOnuEncryptMan                 INTEGER,
        hpnicfOnuReAuthorize                INTEGER,
        hpnicfOnuMulticastFilterStatus      TruthValue,
        hpnicfOnuDbaReportQueueSetNumber    Integer32,
        hpnicfOnuRemoteFecStatus            INTEGER,
        hpnicfOnuPortBerStatus              INTEGER,
        hpnicfOnuReset                      INTEGER,
        hpnicfOnuMulticastControlMode       INTEGER,
        hpnicfOnuAccessVlan                 Integer32,
        hpnicfOnuEncryptKey                 DisplayString,
        hpnicfOnuUniUpDownTrapStatus        TruthValue,
        hpnicfOnuFecStatus                  INTEGER,
        hpnicfOnuMcastCtrlHostAgingTime     Integer32,
        hpnicfOnuMulticastFastLeaveEnable   TruthValue,
        hpnicfOnuPortIsolateEnable          TruthValue
    }

hpnicfOnuEncryptMan 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 }
    ::= { hpnicfOnuSysManEntry 1 }

hpnicfOnuReAuthorize 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.
        "
    ::= { hpnicfOnuSysManEntry 2 }

hpnicfOnuMulticastFilterStatus 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 }
    ::= { hpnicfOnuSysManEntry 3 }

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

hpnicfOnuRemoteFecStatus 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 }
    ::= { hpnicfOnuSysManEntry 5 }

hpnicfOnuPortBerStatus 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 }
    ::= { hpnicfOnuSysManEntry 6 }

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

hpnicfOnuMulticastControlMode 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 }
    ::= { hpnicfOnuSysManEntry 8 }

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

hpnicfOnuEncryptKey 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.
        "
    ::= { hpnicfOnuSysManEntry 10 }

hpnicfOnuUniUpDownTrapStatus 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 }
    ::= { hpnicfOnuSysManEntry 11 }

hpnicfOnuFecStatus 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 }
    ::= { hpnicfOnuSysManEntry 12 }

hpnicfOnuMcastCtrlHostAgingTime 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.
        "
    ::= { hpnicfOnuSysManEntry 13 }

hpnicfOnuMulticastFastLeaveEnable 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.
        "
    ::= { hpnicfOnuSysManEntry 14 }

hpnicfOnuPortIsolateEnable 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.
        "
    ::= { hpnicfOnuSysManEntry 15 }

--
-- hpnicfOnuLinkTestTable
--

hpnicfOnuLinkTestTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuLinkTestEntry
    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.
        "
    ::= { hpnicfEponOnuMan 2 }

hpnicfOnuLinkTestEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuLinkTestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfOnuLinkTestEntry.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hpnicfOnuLinkTestTable 1 }

HpnicfOnuLinkTestEntry ::= SEQUENCE
    {
        hpnicfOnuLinkTestFrameNum                Integer32,
        hpnicfOnuLinkTestFrameSize               Integer32,
        hpnicfOnuLinkTestDelay                   TruthValue,
        hpnicfOnuLinkTestVlanTag                 TruthValue,
        hpnicfOnuLinkTestVlanPriority            Integer32,
        hpnicfOnuLinkTestVlanTagID               Integer32,
        hpnicfOnuLinkTestResultSentFrameNum      Integer32,
        hpnicfOnuLinkTestResultRetFrameNum       Integer32,
        hpnicfOnuLinkTestResultRetErrFrameNum    Integer32,
        hpnicfOnuLinkTestResultMinDelay          Integer32,
        hpnicfOnuLinkTestResultMeanDelay         Integer32,
        hpnicfOnuLinkTestResultMaxDelay          Integer32
    }

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

hpnicfOnuLinkTestFrameSize 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 }
    ::= { hpnicfOnuLinkTestEntry 2 }

hpnicfOnuLinkTestDelay 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 }
    ::= { hpnicfOnuLinkTestEntry 3 }

hpnicfOnuLinkTestVlanTag 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 }
    ::= { hpnicfOnuLinkTestEntry 4 }

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

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

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

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

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

hpnicfOnuLinkTestResultMinDelay 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
        'hpnicfOnuLinkTestDelay' is set to be true.
        "
    ::= { hpnicfOnuLinkTestEntry 10 }

hpnicfOnuLinkTestResultMeanDelay 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
        'hpnicfOnuLinkTestDelay' is set to be true.
        "
    ::= { hpnicfOnuLinkTestEntry 11 }

hpnicfOnuLinkTestResultMaxDelay 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
        'hpnicfOnuLinkTestDelay' is set to be true.
        "
    ::= { hpnicfOnuLinkTestEntry 12 }

--
-- hpnicfOnuBandWidthTable
--

hpnicfOnuBandWidthTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuBandWidthEntry
    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.
        "
    ::= { hpnicfEponOnuMan 3 }

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

HpnicfOnuBandWidthEntry ::= SEQUENCE
    {
        hpnicfOnuDownStreamBandWidthPolicy      TruthValue,
        hpnicfOnuDownStreamMaxBandWidth         Integer32,
        hpnicfOnuDownStreamMaxBurstSize         Integer32,
        hpnicfOnuDownStreamHighPriorityFirst    TruthValue,
        hpnicfOnuDownStreamShortFrameFirst      TruthValue,
        hpnicfOnuP2PBandWidthPolicy             TruthValue,
        hpnicfOnuP2PMaxBandWidth                Integer32,
        hpnicfOnuP2PMaxBurstSize                Integer32,
        hpnicfOnuP2PHighPriorityFirst           TruthValue,
        hpnicfOnuP2PShortFrameFirst             TruthValue
    }

hpnicfOnuDownStreamBandWidthPolicy 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 }
    ::= { hpnicfOnuBandWidthEntry 1 }

hpnicfOnuDownStreamMaxBandWidth 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 }
    ::= { hpnicfOnuBandWidthEntry 2 }

hpnicfOnuDownStreamMaxBurstSize 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 }
    ::= { hpnicfOnuBandWidthEntry 3 }

hpnicfOnuDownStreamHighPriorityFirst 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 }
    ::= { hpnicfOnuBandWidthEntry 4 }

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

hpnicfOnuP2PBandWidthPolicy 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 }
    ::= { hpnicfOnuBandWidthEntry 6 }

hpnicfOnuP2PMaxBandWidth 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 }
    ::= { hpnicfOnuBandWidthEntry 7 }

hpnicfOnuP2PMaxBurstSize 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 }
    ::= { hpnicfOnuBandWidthEntry 8 }

hpnicfOnuP2PHighPriorityFirst 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 }
    ::= { hpnicfOnuBandWidthEntry 9 }

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

--
-- hpnicfOnuSlaManTable
--

hpnicfOnuSlaManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuSlaManEntry
    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.
        "
    ::= { hpnicfEponOnuMan 4 }

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

HpnicfOnuSlaManEntry ::= SEQUENCE
    {
        hpnicfOnuSlaMaxBandWidth        Integer32,
        hpnicfOnuSlaMinBandWidth        Integer32,
        hpnicfOnuSlaBandWidthStepVal    Integer32,
        hpnicfOnuSlaDelay               INTEGER,
        hpnicfOnuSlaFixedBandWidth      Integer32,
        hpnicfOnuSlaPriorityClass       Integer32,
        hpnicfOnuSlaFixedPacketSize     Integer32
    }

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

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

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

hpnicfOnuSlaDelay 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 }
    ::= { hpnicfOnuSlaManEntry 4 }

hpnicfOnuSlaFixedBandWidth 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 hpnicfOnuSlaBandWidthStepVal.
        "
    ::= { hpnicfOnuSlaManEntry 5 }

hpnicfOnuSlaPriorityClass 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 }
    ::= { hpnicfOnuSlaManEntry 6 }

hpnicfOnuSlaFixedPacketSize 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 hpnicfOnuSlaFixedBandWidth is configured.
        "
    ::= { hpnicfOnuSlaManEntry 7 }

--
-- hpnicfOnuInfoTable
--

hpnicfOnuInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuInfoEntry
    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
        (hpnicfOnuHardMajorVersion, hpnicfOnuHardMinorVersion,
        hpnicfOnuUniMacType)
        (2)Several physical capabilities of the ONU.
        (hpnicfOnuLaserOnTime, hpnicfOnuLaserOffTime,
        hpnicfOnuGrantFifoDep.)
        (3)The operation(activation) status of the ONU.
        (hpnicfOnuWorkMode)
        "
    ::= { hpnicfEponOnuMan 5 }

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

HpnicfOnuInfoEntry ::= SEQUENCE
    {
        hpnicfOnuHardMajorVersion    OCTET STRING,
        hpnicfOnuHardMinorVersion    OCTET STRING,
        hpnicfOnuSoftwareVersion     OCTET STRING,
        hpnicfOnuUniMacType          INTEGER,
        hpnicfOnuLaserOnTime         Integer32,
        hpnicfOnuLaserOffTime        Integer32,
        hpnicfOnuGrantFifoDep        Integer32,
        hpnicfOnuWorkMode            INTEGER,
        hpnicfOnuPCBVersion          OCTET STRING,
        hpnicfOnuRtt                 Unsigned32,
        hpnicfOnuEEPROMVersion       OCTET STRING,
        hpnicfOnuRegType             OCTET STRING,
        hpnicfOnuHostType            OCTET STRING,
        hpnicfOnuDistance            Integer32,
        hpnicfOnuLlid                Integer32,
        hpnicfOnuVendorId            OCTET STRING,
        hpnicfOnuFirmwareVersion     OCTET STRING,
        hpnicfOnuOpticalPowerReceivedByOlt  Integer32
    }

hpnicfOnuHardMajorVersion 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.
        "
    ::= { hpnicfOnuInfoEntry 1 }

hpnicfOnuHardMinorVersion 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.
        "
    ::= { hpnicfOnuInfoEntry 2 }

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

hpnicfOnuUniMacType 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.
        "
    ::= { hpnicfOnuInfoEntry 4 }

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

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

hpnicfOnuGrantFifoDep 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.
        "
    ::= { hpnicfOnuInfoEntry 7 }

hpnicfOnuWorkMode 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.
        "
    ::= { hpnicfOnuInfoEntry 8 }

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

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

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

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

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

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

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

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

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

hpnicfOnuOpticalPowerReceivedByOlt 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.
        "
    ::= { hpnicfOnuInfoEntry 18 }

--
-- hpnicfOnuMacAddrInfoTable
--

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

hpnicfOnuMacAddrInfoEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuMacAddrInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hpnicfEponOnuMacAddrInfoTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfOnuMacIndex
        }
    ::= { hpnicfOnuMacAddrInfoTable 1 }

HpnicfOnuMacAddrInfoEntry ::= SEQUENCE
    {
        hpnicfOnuMacIndex       Integer32,
        hpnicfOnuMacAddrFlag    INTEGER,
        hpnicfOnuMacAddress     MacAddress
    }

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

hpnicfOnuMacAddrFlag 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.
        "
    ::= { hpnicfOnuMacAddrInfoEntry 2 }

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

--
-- hpnicfOnuBindMacAddrTable
--

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

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

HpnicfOnuBindMacAddrEntry ::= SEQUENCE
    {
        hpnicfOnuBindMacAddress    MacAddress,
        hpnicfOnuBindType          Integer32
    }

hpnicfOnuBindMacAddress 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.
        "
    ::= { hpnicfOnuBindMacAddrEntry 1 }

hpnicfOnuBindType 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 hpnicfEponOnuTypeDescr.
        "
    ::= { hpnicfOnuBindMacAddrEntry 2 }

--
-- hpnicfOnuFirmwareUpdateTable
--

hpnicfOnuFirmwareUpdateTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuFirmwareUpdateEntry
    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.
        "
    ::= { hpnicfEponOnuMan 8 }

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

HpnicfOnuFirmwareUpdateEntry ::= SEQUENCE
    {
        hpnicfOnuUpdate            INTEGER,
        hpnicfOnuUpdateResult      INTEGER,
        hpnicfOnuUpdateFileName    OCTET STRING
    }

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

hpnicfOnuUpdateResult 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.
        "
    ::= { hpnicfOnuFirmwareUpdateEntry 2 }

hpnicfOnuUpdateFileName 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.
        "
    ::= { hpnicfOnuFirmwareUpdateEntry 3 }

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

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

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

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

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

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

--
-- hpnicfEponOnuTypeManTable
--

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

hpnicfEponOnuTypeManEntry OBJECT-TYPE
    SYNTAX      HpnicfEponOnuTypeManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hpnicfEponOnuTypeManTable.
        "
    INDEX
        {
            hpnicfEponOnuTypeIndex
        }
    ::= { hpnicfEponOnuTypeManTable 1 }

HpnicfEponOnuTypeManEntry ::= SEQUENCE
    {
        hpnicfEponOnuTypeIndex    Integer32,
        hpnicfEponOnuTypeDescr    OCTET STRING
    }

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

hpnicfEponOnuTypeDescr 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 hpnicfOnuBindType can be configured by the index of
        hpnicfEponOnuTypeDescr.
        "
    ::= { hpnicfEponOnuTypeManEntry 2 }

hpnicfOnuPacketManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuPacketManEntry
    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.
        "
    ::= { hpnicfEponOnuMan 16 }

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

HpnicfOnuPacketManEntry ::= SEQUENCE
    {
        hpnicfOnuPriorityTrust     INTEGER,
        hpnicfOnuQueueScheduler    INTEGER
    }

hpnicfOnuPriorityTrust 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 }
    ::= { hpnicfOnuPacketManEntry 1 }

hpnicfOnuQueueScheduler 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 }
    ::= { hpnicfOnuPacketManEntry 2 }

hpnicfOnuProtocolTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuProtocolEntry
    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.
        "
    ::= { hpnicfEponOnuMan 17 }

hpnicfOnuProtocolEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuProtocolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfOnuProtocolTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hpnicfOnuProtocolTable 1 }

HpnicfOnuProtocolEntry ::= SEQUENCE
    {
        hpnicfOnuStpStatus                   TruthValue,
        hpnicfOnuIgmpSnoopingStatus          TruthValue,
        hpnicfOnuDhcpsnoopingOption82        TruthValue,
        hpnicfOnuDhcpsnooping                TruthValue,
        hpnicfOnuPppoe                       TruthValue,
        hpnicfOnuIgmpSnoopingHostAgingT      Integer32,
        hpnicfOnuIgmpSnoopingMaxRespT        Integer32,
        hpnicfOnuIgmpSnoopingRouterAgingT    Integer32,
        hpnicfOnuIgmpSnoopingAggReportS      TruthValue,
        hpnicfOnuIgmpSnoopingAggLeaveS       TruthValue
    }

hpnicfOnuStpStatus 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 }
    ::= { hpnicfOnuProtocolEntry 1 }

hpnicfOnuIgmpSnoopingStatus 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 }
    ::= { hpnicfOnuProtocolEntry 2 }

hpnicfOnuDhcpsnoopingOption82 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 }
    ::= { hpnicfOnuProtocolEntry 3 }

hpnicfOnuDhcpsnooping 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 }
    ::= { hpnicfOnuProtocolEntry 4 }

hpnicfOnuPppoe 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 }
    ::= { hpnicfOnuProtocolEntry 5 }

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

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

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

hpnicfOnuIgmpSnoopingAggReportS 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 }
    ::= { hpnicfOnuProtocolEntry 9 }

hpnicfOnuIgmpSnoopingAggLeaveS 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 }
    ::= { hpnicfOnuProtocolEntry 10 }

hpnicfOnuDot1xTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuDot1xEntry
    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.
        "
    ::= { hpnicfEponOnuMan 18 }

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

HpnicfOnuDot1xEntry ::= SEQUENCE
    {
        hpnicfOnuDot1xAccount     OCTET STRING,
        hpnicfOnuDot1xPassword    OCTET STRING
    }

hpnicfOnuDot1xAccount 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 hpnicfOnuDot1xPassword.
        "
    ::= { hpnicfOnuDot1xEntry 1 }

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

hpnicfEponBatchOperationMan OBJECT IDENTIFIER ::= { hpnicfEponMibObjects 6 }

--
-- hpnicfOnuPriorityQueueTable
--

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

hpnicfOnuPriorityQueueEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuPriorityQueueEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfOnuPriorityQueueTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfOnuQueueDirection,
            hpnicfOnuQueueId
        }
    ::= { hpnicfOnuPriorityQueueTable 1 }

HpnicfOnuPriorityQueueEntry ::= SEQUENCE
    {
        hpnicfOnuQueueDirection    INTEGER,
        hpnicfOnuQueueId           Integer32,
        hpnicfOnuQueueSize         Integer32
    }

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

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

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

--
-- hpnicfOnuCountTable
--

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

hpnicfOnuCountEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfOnuCountTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hpnicfOnuCountTable 1 }

HpnicfOnuCountEntry ::= SEQUENCE
    {
        hpnicfOnuInCRCErrPkts        Counter64,
        hpnicfOnuOutDroppedFrames    Counter64
    }

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

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

hpnicfEponOnuScalarGroup OBJECT IDENTIFIER ::= { hpnicfEponOnuMan 21 }

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

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

hpnicfOnuPriorityQueueBandwidthMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of hpnicfOnuQueueMaxBandwidth.
        "
    ::= { hpnicfEponOnuScalarGroup 3 }

hpnicfOnuPriorityQueueBandwidthMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of hpnicfOnuQueueMaxBandwidth.
        "
    ::= { hpnicfEponOnuScalarGroup 4 }

hpnicfOnuPriorityQueueBurstsizeMinVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The lower limit of hpnicfOnuQueueMaxBurstsize.
        "
    ::= { hpnicfEponOnuScalarGroup 5 }

hpnicfOnuPriorityQueueBurstsizeMaxVal OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The upper limit of hpnicfOnuQueueMaxBurstsize.
        "
    ::= { hpnicfEponOnuScalarGroup 6 }

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

--
-- hpnicfOnuQueueBandwidthTable
--

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

hpnicfOnuQueueBandwidthEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuQueueBandwidthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfOnuQueueBandwidthTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfOnuQueueDirection,
            hpnicfOnuQueueId
        }
    ::= { hpnicfOnuQueueBandwidthTable 1 }

HpnicfOnuQueueBandwidthEntry ::= SEQUENCE
    {
        hpnicfOnuQueueMaxBandwidth    Integer32,
        hpnicfOnuQueueMaxBurstsize    Integer32,
        hpnicfOnuQueuePolicyStatus    TruthValue
    }

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

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

hpnicfOnuQueuePolicyStatus 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.
        "
    ::= { hpnicfOnuQueueBandwidthEntry 3 }

--
-- hpnicfOnuIpAddressTable
--

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

hpnicfOnuIpAddressEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuIpAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfOnuIpAddressTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hpnicfOnuIpAddressTable 1 }

HpnicfOnuIpAddressEntry ::= SEQUENCE
    {
        hpnicfOnuIpAddress           IpAddress,
        hpnicfOnuIpAddressMask       IpAddress,
        hpnicfOnuIpAddressGateway    IpAddress,
        hpnicfOnuDhcpallocate        TruthValue,
        hpnicfOnuManageVID           Integer32,
        hpnicfOnuManageVlanIntfS     TruthValue
    }

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

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

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

hpnicfOnuDhcpallocate 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.
        "
    ::= { hpnicfOnuIpAddressEntry 4 }

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

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

--
-- hpnicfOnuChipSetInfoTable
--

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

hpnicfOnuChipSetInfoEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuChipSetInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfOnuChipSetInfoTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hpnicfOnuChipSetInfoTable 1 }

HpnicfOnuChipSetInfoEntry ::= SEQUENCE
    {
        hpnicfOnuChipSetVendorId      OCTET STRING,
        hpnicfOnuChipSetModel         OCTET STRING,
        hpnicfOnuChipSetRevision      Integer32,
        hpnicfOnuChipSetDesignDate    DateAndTime
    }

hpnicfOnuChipSetVendorId 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.
        "
    ::= { hpnicfOnuChipSetInfoEntry 1 }

hpnicfOnuChipSetModel 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.
        "
    ::= { hpnicfOnuChipSetInfoEntry 2 }

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

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

--
-- hpnicfOnuCapabilityTable
--

hpnicfOnuCapabilityTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuCapabilityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Capability of ONU.
        "
    ::= { hpnicfEponOnuMan 25 }

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

HpnicfOnuCapabilityEntry ::= SEQUENCE
    {
        hpnicfOnuServiceSupported             BITS,
        hpnicfOnuGEPortNumber                 Integer32,
        hpnicfOnuFEPortNumber                 Integer32,
        hpnicfOnuPOTSPortNumber               Integer32,
        hpnicfOnuE1PortsNumber                Integer32,
        hpnicfOnuUpstreamQueueNumber          Integer32,
        hpnicfOnuMaxUpstreamQueuePerPort      Integer32,
        hpnicfOnuDownstreamQueueNumber        Integer32,
        hpnicfOnuMaxDownstreamQueuePerPort    Integer32,
        hpnicfOnuBatteryBackup                TruthValue,
        hpnicfOnuIgspFastLeaveSupported       TruthValue,
        hpnicfOnuMCtrlFastLeaveSupported      TruthValue
    }

hpnicfOnuServiceSupported 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.
        "
    ::= { hpnicfOnuCapabilityEntry 1 }

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

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

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

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

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

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

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

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

hpnicfOnuBatteryBackup 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.
        "
    ::= { hpnicfOnuCapabilityEntry 10 }

hpnicfOnuIgspFastLeaveSupported 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.
        "
    ::= { hpnicfOnuCapabilityEntry 11 }

hpnicfOnuMCtrlFastLeaveSupported 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.
        "
    ::= { hpnicfOnuCapabilityEntry 12 }

--
-- hpnicfOnuDbaReportTable
--

hpnicfOnuDbaReportTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuDbaReportEntry
    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.
        "
    ::= { hpnicfEponOnuMan 26 }

hpnicfOnuDbaReportEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuDbaReportEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfOnuDbaReportTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfOnuDbaReportQueueId
        }
    ::= { hpnicfOnuDbaReportTable 1 }

HpnicfOnuDbaReportEntry ::= SEQUENCE
    {
        hpnicfOnuDbaReportQueueId      Integer32,
        hpnicfOnuDbaReportThreshold    Integer32,
        hpnicfOnuDbaReportStatus       INTEGER
    }

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

hpnicfOnuDbaReportThreshold 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
        "
    ::= { hpnicfOnuDbaReportEntry 2 }

hpnicfOnuDbaReportStatus 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 }
    ::= { hpnicfOnuDbaReportEntry 3 }

--
-- hpnicfOnuCosToLocalPrecedenceTable
--

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

hpnicfOnuCosToLocalPrecedenceEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuCosToLocalPrecedenceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Configuration information of map of the COS to local precedence."
    INDEX
        {
            ifIndex,
            hpnicfOnuCosToLocalPrecedenceCosIndex
        }
    ::= { hpnicfOnuCosToLocalPrecedenceTable 1 }

HpnicfOnuCosToLocalPrecedenceEntry ::= SEQUENCE
    {
        hpnicfOnuCosToLocalPrecedenceCosIndex    Integer32,
        hpnicfOnuCosToLocalPrecedenceValue       Integer32
    }

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

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

--
-- hpnicfEponOnuStpPortTable
--

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

hpnicfEponOnuStpPortEntry OBJECT-TYPE
    SYNTAX      HpnicfEponOnuStpPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Configuration information of ONU STP ports."
    INDEX
        {
            ifIndex,
            hpnicfEponStpPortIndex
        }
    ::= { hpnicfEponOnuStpPortTable 1 }

HpnicfEponOnuStpPortEntry ::= SEQUENCE
    {
        hpnicfEponStpPortIndex     Integer32,
        hpnicfEponStpPortDescr     OCTET STRING,
        hpnicfEponStpPortState     INTEGER
    }

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

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

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

--
-- hpnicfOnuPhysicalTable
--

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

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

HpnicfOnuPhysicalEntry ::= SEQUENCE
    {
        hpnicfOnuBridgeMac         MacAddress,
        hpnicfOnuFirstPonMac       MacAddress,
        hpnicfOnuFirstPonRegState  INTEGER,
        hpnicfOnuSecondPonMac      MacAddress,
        hpnicfOnuSecondPonRegState INTEGER
    }

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

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

hpnicfOnuFirstPonRegState 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.
        "
    ::= { hpnicfOnuPhysicalEntry 3 }

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

hpnicfOnuSecondPonRegState 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.
        "
    ::= { hpnicfOnuPhysicalEntry 5 }

--
-- hpnicfOnuSmlkTable
--

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

hpnicfOnuSmlkEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuSmlkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hpnicfOnuSmlkTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfOnuSmlkGroupID
        }
    ::= { hpnicfOnuSmlkTable 1 }

HpnicfOnuSmlkEntry ::= SEQUENCE
    {
        hpnicfOnuSmlkGroupID            Integer32,
        hpnicfOnuSmlkFirstPonRole       INTEGER,
        hpnicfOnuSmlkFirstPonStatus     INTEGER,
        hpnicfOnuSmlkSecondPonRole      INTEGER,
        hpnicfOnuSmlkSecondPonStatus    INTEGER
    }

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

hpnicfOnuSmlkFirstPonRole 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.
        "
    ::= { hpnicfOnuSmlkEntry 2 }

hpnicfOnuSmlkFirstPonStatus 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.
        "
    ::= { hpnicfOnuSmlkEntry 3 }

hpnicfOnuSmlkSecondPonRole 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.
        "
    ::= { hpnicfOnuSmlkEntry 4 }

hpnicfOnuSmlkSecondPonStatus 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.
        "
    ::= { hpnicfOnuSmlkEntry 5 }

--
-- hpnicfOnuRS485PropertiesTable
--

hpnicfOnuRS485PropertiesTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuRS485PropertiesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Property table."
    ::= { hpnicfEponOnuMan 31 }

hpnicfOnuRS485PropertiesEntry OBJECT-TYPE
    SYNTAX          HpnicfOnuRS485PropertiesEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of property table."
    INDEX      {
                ifIndex,
                hpnicfOnuRS485SerialIndex
               }
    ::= { hpnicfOnuRS485PropertiesTable 1 }

HpnicfOnuRS485PropertiesEntry ::=
    SEQUENCE{
        hpnicfOnuRS485SerialIndex
            Integer32,
        hpnicfOnuRS485BaudRate
            INTEGER,
        hpnicfOnuRS485DataBits
            INTEGER,
        hpnicfOnuRS485Parity
            INTEGER,
        hpnicfOnuRS485StopBits
            INTEGER,
        hpnicfOnuRS485FlowControl
            INTEGER,
        hpnicfOnuRS485TXOctets
            Integer32,
        hpnicfOnuRS485RXOctets
            Integer32,
        hpnicfOnuRS485TXErrOctets
            Integer32,
        hpnicfOnuRS485RXErrOctets
            Integer32,
        hpnicfOnuRS485ResetStatistics
            INTEGER
    }

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

hpnicfOnuRS485BaudRate 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 }
    ::= { hpnicfOnuRS485PropertiesEntry 2 }

hpnicfOnuRS485DataBits 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 }
    ::= { hpnicfOnuRS485PropertiesEntry 3 }

hpnicfOnuRS485Parity 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 }
    ::= { hpnicfOnuRS485PropertiesEntry 4 }

hpnicfOnuRS485StopBits 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 }
    ::= { hpnicfOnuRS485PropertiesEntry 5 }

hpnicfOnuRS485FlowControl 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 }
    ::= { hpnicfOnuRS485PropertiesEntry 6 }

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

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

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

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

hpnicfOnuRS485ResetStatistics OBJECT-TYPE
    SYNTAX          INTEGER {
                        counting(1),
                        clear(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "Reset the counters to zero, including hpnicfOnuRS485TXOctets,
             hpnicfOnuRS485RXOctets, hpnicfOnuRS485TXErrOctets and
             hpnicfOnuRS485RXErrOctets."
    DEFVAL          { counting }
    ::= { hpnicfOnuRS485PropertiesEntry 11 }

--
-- hpnicfOnuRS485SessionSummaryTable
--

hpnicfOnuRS485SessionSummaryTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfOnuRS485SessionSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Session summary table."
    ::= { hpnicfEponOnuMan 32 }

hpnicfOnuRS485SessionSummaryEntry OBJECT-TYPE
    SYNTAX          HpnicfOnuRS485SessionSummaryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of session summary table."
    INDEX      {
                ifIndex,
                hpnicfOnuRS485SerialIndex
               }
    ::= { hpnicfOnuRS485SessionSummaryTable 1 }

HpnicfOnuRS485SessionSummaryEntry ::=
    SEQUENCE{
        hpnicfOnuRS485SessionMaxNum
            Integer32,
        hpnicfOnuRS485SessionNextIndex
            Integer32
            }

hpnicfOnuRS485SessionMaxNum 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."
    ::= { hpnicfOnuRS485SessionSummaryEntry 1 }

hpnicfOnuRS485SessionNextIndex 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.
            "
    ::= { hpnicfOnuRS485SessionSummaryEntry 2 }

--
-- hpnicfOnuRS485SessionTable
--

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

hpnicfOnuRS485SessionEntry OBJECT-TYPE
    SYNTAX          HpnicfOnuRS485SessionEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of session table."
    INDEX      {
                ifIndex,
                hpnicfOnuRS485SerialIndex,
                hpnicfOnuRS485SessionIndex
               }
    ::= { hpnicfOnuRS485SessionTable 1 }

HpnicfOnuRS485SessionEntry ::=
    SEQUENCE{
        hpnicfOnuRS485SessionIndex
            Integer32,
        hpnicfOnuRS485SessionType
            INTEGER,
        hpnicfOnuRS485SessionAddType
            InetAddressType,
        hpnicfOnuRS485SessionRemoteIP
            InetAddress,
        hpnicfOnuRS485SessionRemotePort
            Integer32,
        hpnicfOnuRS485SessionLocalPort
            Integer32,
        hpnicfOnuRS485SessionRowStatus
            RowStatus
    }

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

hpnicfOnuRS485SessionType 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."
    ::= { hpnicfOnuRS485SessionEntry 2 }

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

hpnicfOnuRS485SessionRemoteIP 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.
            "
    ::= { hpnicfOnuRS485SessionEntry 4 }

hpnicfOnuRS485SessionRemotePort 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.
            "
    ::= { hpnicfOnuRS485SessionEntry 5 }

hpnicfOnuRS485SessionLocalPort 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.
            "
    ::= { hpnicfOnuRS485SessionEntry 6 }

hpnicfOnuRS485SessionRowStatus 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."
    ::= { hpnicfOnuRS485SessionEntry 7 }

--
-- hpnicfOnuRS485SessionErrInfoTable
--

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

hpnicfOnuRS485SessionErrInfoEntry OBJECT-TYPE
    SYNTAX          HpnicfOnuRS485SessionErrInfoEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The entry of error information table."
    INDEX      {
                ifIndex,
                hpnicfOnuRS485SerialIndex,
                hpnicfOnuRS485SessionIndex
               }
    ::= { hpnicfOnuRS485SessionErrInfoTable 1 }

HpnicfOnuRS485SessionErrInfoEntry ::=
    SEQUENCE{
        hpnicfOnuRS485SessionErrInfo
            DisplayString
    }

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

--
-- hpnicfEponBatchOperationBySlotTable
--

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

hpnicfEponBatchOperationBySlotEntry OBJECT-TYPE
    SYNTAX      HpnicfEponBatchOperationBySlotEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hpnicfEponBatchOperationBySlotTable.
        "
    INDEX
        {
            hpnicfEponBatchOperationBySlotIndex
        }
    ::= { hpnicfEponBatchOperationBySlotTable 1 }

HpnicfEponBatchOperationBySlotEntry ::= SEQUENCE
    {
        hpnicfEponBatchOperationBySlotIndex     Integer32,
        hpnicfEponBatchOperationBySlotType      INTEGER,
        hpnicfEponBatchOperationBySlot          INTEGER,
        hpnicfEponBatchOperationBySlotResult    Integer32
    }

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

hpnicfEponBatchOperationBySlotType 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 hpnicfEponDbaUpdateFileName.
        10 - updateONU, update ONU firmware.
        Config the MIB object module hpnicfEponOnuUpdateFileName
        with the filename of ONU firmware first.
        "
    ::= { hpnicfEponBatchOperationBySlotEntry 2 }

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

hpnicfEponBatchOperationBySlotResult 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.
        "
    ::= { hpnicfEponBatchOperationBySlotEntry 4 }

--
-- hpnicfEponBatchOperationByOLTTable
--

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

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

HpnicfEponBatchOperationByOLTEntry ::= SEQUENCE
    {
        hpnicfEponBatchOperationByOLTType      INTEGER,
        hpnicfEponBatchOperationByOLT          INTEGER,
        hpnicfEponBatchOperationByOLTResult    Integer32
    }

hpnicfEponBatchOperationByOLTType 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 hpnicfEponOnuUpdateFileName
        with the filename of ONU firmware first.
        "
    ::= { hpnicfEponBatchOperationByOLTEntry 1 }

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

hpnicfEponBatchOperationByOLTResult 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.
        "
    ::= { hpnicfEponBatchOperationByOLTEntry 3 }

--
-- hpnicfOnuFirmwareUpdateByTypeTable
--

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

hpnicfOnuFirmwareUpdateByTypeEntry OBJECT-TYPE
    SYNTAX      HpnicfOnuFirmwareUpdateByTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hpnicfOnuFirmwareUpdateByTypeTable.
        "
    INDEX
        {
            hpnicfOnuUpdateByOnuTypeIndex
        }
    ::= { hpnicfOnuFirmwareUpdateByTypeTable 1 }

HpnicfOnuFirmwareUpdateByTypeEntry ::= SEQUENCE
    {
        hpnicfOnuUpdateByOnuTypeIndex     Integer32,
        hpnicfOnuUpdateByTypeOnuType      OCTET STRING,
        hpnicfOnuUpdateByTypeFileName     OCTET STRING,
        hpnicfOnuUpdateByTypeRowStatus    RowStatus
    }

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

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

hpnicfOnuUpdateByTypeFileName 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.
        "
    ::= { hpnicfOnuFirmwareUpdateByTypeEntry 3 }

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

hpnicfEponErrorInfo OBJECT IDENTIFIER ::= { hpnicfEponMibObjects 7 }

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

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

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

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

hpnicfOamEventLogLocation 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.
        "
    ::= { hpnicfEponErrorInfo 5 }

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

hpnicfEponLoopbackPortDescr 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.
        "
    ::= { hpnicfEponErrorInfo 7 }

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

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

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

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

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

hpnicfEponOnuLaserState 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.
        "
    ::= { hpnicfEponErrorInfo 13 }

--
-- hpnicfEpon NOTIFICATION
--

hpnicfEponTrap OBJECT IDENTIFIER ::= { hpnicfEponMibObjects 8 }

hpnicfEponTrapPrefix OBJECT IDENTIFIER ::= { hpnicfEponTrap 0 }

hpnicfEponPortAlarmBerTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfOltPortAlarmBerDirect,
            hpnicfOltPortAlarmBer,
            hpnicfOltPortAlarmBerThreshold
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponPortAlarmBerTrap notification is sent when
        a BER threshold crossing event is detected.
        "
    ::= { hpnicfEponTrapPrefix 1 }

hpnicfEponPortAlarmFerTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfOltPortAlarmFerDirect,
            hpnicfOltPortAlarmFer,
            hpnicfOltPortAlarmFerThreshold
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponPortAlarmFerTrap notification is sent when
        a frame error rate threshold crossing event is detected.
        "
    ::= { hpnicfEponTrapPrefix 2 }

hpnicfEponErrorLLIDFrameTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfOltPortAlarmLlidMisFrames,
            hpnicfOltPortAlarmLlidMismatchThreshold
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponErrorLLIDFrameTrap notification is sent when a
        LLID mismatched frames rate threshold crossing event is detected.
        "
    ::= { hpnicfEponTrapPrefix 3 }

hpnicfEponLoopBackEnableTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfEponLoopbackPortIndex,
            hpnicfEponLoopbackPortDescr
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponLoopBackEnableTrap notification is sent when
        the loop back command is committed.
        "
    ::= { hpnicfEponTrapPrefix 4 }

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

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

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

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

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

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

hpnicfEponSoftwareErrTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfLswFrameIndex,
            hpnicfLswSlotIndex,
            hpnicfEponSoftwareErrorCode
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponSoftwareErrTrap notification is sent when
        a PAS-SOFT internal error occurs.
        "
    ::= { hpnicfEponTrapPrefix 11 }

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

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

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

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

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

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

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

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

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

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

hpnicfEponSoftwareErrRecoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfLswFrameIndex,
            hpnicfLswSlotIndex,
            hpnicfEponSoftwareErrorCode
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponSoftwareErrRecoverTrap notification is sent when
        a PAS-SOFT internal error is detected and then recovered.
        "
    ::= { hpnicfEponTrapPrefix 22 }

hpnicfDot3OamThresholdRecoverEvent NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            hpnicfOamEventLogType,
            hpnicfOamEventLogLocation
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfDot3OamThresholdRecoverEvent notification is sent when
        hpnicfDot3OamThresholdEvent is detected and then recoverd.
        "
    ::= { hpnicfEponTrapPrefix 23 }


hpnicfDot3OamNonThresholdRecoverEvent NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            hpnicfOamEventLogType,
            hpnicfOamEventLogLocation
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfDot3OamNonThresholdRecoverEvent notification is sent when
        hpnicfDot3OamNonThresholdEvent is detected and then recoverd.
        "
    ::= { hpnicfEponTrapPrefix 24 }

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

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

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

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

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

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

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

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

hpnicfEponOnuUpdateResultTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfOnuBindMacAddress,
            hpnicfOnuUpdateResult,
            hpnicfOnuRegType,
            hpnicfOnuUpdateFileName
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponUpdateResultTrap notification is sent when
        an ONU reported its firmware update result.
        "
    ::= { hpnicfEponTrapPrefix 33 }

hpnicfEponOnuAutoBindTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfOnuBindMacAddress,
            hpnicfEponOperationResult
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponOnuAutoBindTrap notification is sent
        when a silent ONU is bound automatically.
        "
    ::= { hpnicfEponTrapPrefix 34 }

hpnicfEponOnuPortStpStateTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfEponStpPortIndex,
            hpnicfEponStpPortDescr,
            hpnicfEponStpPortState
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponOnuPortStpStateTrap notification is sent when
        a port turns into another state in STP environment.
        "
    ::= { hpnicfEponTrapPrefix 35 }

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

hpnicfOnuSmlkSwitchoverTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfOnuSmlkGroupID,
            hpnicfOnuSmlkFirstPonStatus,
            hpnicfOnuSmlkSecondPonStatus
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfOnuSmlkSwitchoverTrap notification is sent when
        an ONU SMLK switchover is detected.
        "
    ::= { hpnicfEponTrapPrefix 37 }

hpnicfEponStat OBJECT IDENTIFIER ::= { hpnicfEponMibObjects 9 }

--
-- hpnicfEponStatTable
--

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

hpnicfEponStatEntry OBJECT-TYPE
    SYNTAX      HpnicfEponStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfEponStatTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { hpnicfEponStatTable 1 }

HpnicfEponStatEntry ::= SEQUENCE
    {
        hpnicfEponStatFER    Counter64,
        hpnicfEponStatBER    Counter64
    }

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

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

END
