-- ===========================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description: Epon MIB
-- Reference:  IF-MIB
-- Version:  V1.8
-- History:
-- V1.0 created by liuhongxu.
--   Initial version 2006-01-10
-- V1.1 Updated by chenzhaojie
--   Add enumeration values to hpnicfEponUniVlanType
-- V1.2 Updated by chenzhaojie 2006-08-02
--   Add hpnicfEponUniOutDroppedFrames
-- V1.3 Updated by chenzhaojie 2007-05-21
--   Add hpnicfEponUniScalarGroup
--   Add enumeration values to hpnicfEponUniVlanType
--   Add hpnicfEponUniPortIsolate, hpnicfEponUniVlanConfiguration
--   hpnicfEponUniAutoNegotiation, hpnicfEponUniRestartAutoNeg,
--   hpnicfEponUniLinkStatus, hpnicfEponUniInterfaceType
--   to hpnicfEponUniSysManTable.
--   Add hpnicfEponUniPortPolicyTable, hpnicfEponUniMulticastTable.
--   Add hpnicfEponUniMulticastControlTable, hpnicfEponUniQosConfIndexNextTable,
--   hpnicfEponUniQosConfTable, hpnicfEponUniQosRuleTable.
-- V1.4 Updated by liuhongxu,andapeng 2007-10-13
--   Add hpnicfEponUniMulticastFastleave to hpnicfEponUniMulticastTable
--   Add hpnicfEponUniMulticastIndex to hpnicfEponUniMulticastControlTable
--   Add hpnicfEponUniVitualCableTest to hpnicfEponUniSysManTable
--   Add hpnicfEponUniMirrorGroupTable, hpnicfEponUniMirrorGroupIdNextTable
--   Add hpnicfEponUniMulticastCtrlInfoTable
--   Add hpnicfEponUniPortPolicyInboundCir,hpnicfEponUniPortPolicyInboundBucketDepth,
--   hpnicfEponUniPortPolicyInboundExtraBurst,hpnicfEponUniPortPolicyOutboundCir
--   to hpnicfEponUniPortPolicyTable.
--   Add hpnicfEponUniMulticastIndexNextTable
--   Modify hpnicfEponUniInterfaceType
-- V1.5 Updated by maguoqiang,wangke,zhaodan 2008-1-14
-- Deleted default values of these leaves:
--      hpnicfEponUniMdi, hpnicfEponUniPriority, hpnicfEponUniVlanType, hpnicfEponUniFlowControl,
--      hpnicfEponUniDuplex, hpnicfEponUniVlanVPNStatus, hpnicfEponUniPortIsolate,
--      hpnicfEponUniAutoNegotiation, hpnicfEponUniVitualCableTest
--   Add hpnicfEponUniMulticastSourceIpList to hpnicfEponUniMulticastControlTable
--   Add hpnicfEponUniMulticastResetInterval to hpnicfEponUniMulticastControlTable
--   Modify hpnicfEponUniVCTCableStatus and add 9 nodes:
--   Add    hpnicfEponUniVCTCableLength
--          hpnicfEponUniVCTImpedanceMismatch
--          hpnicfEponUniVCTPairSkew
--          hpnicfEponUniVCTPairSwap
--          hpnicfEponUniVCTPolaritySwap
--          hpnicfEponUniVCTInsertionLoss
--          hpnicfEponUniVCTReturnLoss
--          hpnicfEponUniVCTNearendCrosstalk to hpnicfEponUniSysManTable
-- V1.6 Updated by zoudian 2008-3-17
--   Add    hpnicfEponUniPortPolicyOutboundPir to hpnicfEponUniPortPolicyTable
--   Mofify hpnicfEponUniPortPolicyOutboundCir
-- V1.7 Updated by zhaodan 2008-06-04
--   Add hpnicfEponUniLinkUpTrap and hpnicfEponUniLinkDownTrap.
--   Modify the MAX-ACCESS of hpnicfEponUniIndex to accessible-for-notify.
-- V1.8 Updated by chenchao 2012-11-16
--   Add hpnicfEponUniLoopBackDetectedTrap and hpnicfEponUniLoopBackRecoveredTrap.
-- =================================================================
HPN-ICF-EPON-UNI-MIB DEFINITIONS ::= BEGIN

IMPORTS
        hpnicfEpon
    FROM HPN-ICF-OID-MIB
        ifIndex, ifDescr
    FROM IF-MIB
        Integer32, Unsigned32, IpAddress, OBJECT-TYPE, MODULE-IDENTITY,
        NOTIFICATION-TYPE
    FROM SNMPv2-SMI
        MacAddress, TruthValue, RowStatus
    FROM SNMPv2-TC;

hpnicfEponUni MODULE-IDENTITY
    LAST-UPDATED "200807281743Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
        "The objects in this MIB module are used to manage and
        display current configuration of UNI (user network interface)
        which is based on the ONU(Optical Network Unit)."
    ::= { hpnicfEpon 5 }

hpnicfEponUniSysMan OBJECT IDENTIFIER ::= { hpnicfEponUni 1 }

hpnicfEponUniSysManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table defines several UNI system parameters."
    ::= { hpnicfEponUniSysMan 1 }

hpnicfEponUniSysManEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of hpnicfEponUniSysManTable."
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex
        }
    ::= { hpnicfEponUniSysManTable 1 }


HpnicfEponUniSysManEntry ::= SEQUENCE
    {
        hpnicfEponUniIndex                     Integer32,
        hpnicfEponUniDescr                     OCTET STRING,
        hpnicfEponUniAdminStatus               INTEGER,
        hpnicfEponUniMdi                       INTEGER,
        hpnicfEponUniPriority                  Integer32,
        hpnicfEponUniVlanType                  INTEGER,
        hpnicfEponUniAccessVlan                Integer32,
        hpnicfEponUniTrunkPvid                 INTEGER,
        hpnicfEponUniVLANTrunkAllowListLow     OCTET STRING,
        hpnicfEponUniVLANTrunkAllowListHigh    OCTET STRING,
        hpnicfEponUniInboundLineRate           Integer32,
        hpnicfEponUniOutboundLineRate          Integer32,
        hpnicfEponUniFlowControl               TruthValue,
        hpnicfEponUniSpeed                     INTEGER,
        hpnicfEponUniDuplex                    INTEGER,
        hpnicfEponUniVlanVPNStatus             TruthValue,
        hpnicfEponUniCountReset                INTEGER,
        hpnicfEponUniPortIsolate               INTEGER,
        hpnicfEponUniVlanConfiguration         OCTET STRING,
        hpnicfEponUniAutoNegotiation           INTEGER,
        hpnicfEponUniRestartAutoNeg            INTEGER,
        hpnicfEponUniLinkStatus                INTEGER,
        hpnicfEponUniInterfaceType             INTEGER,
        hpnicfEponUniVitualCableTest           INTEGER,
        hpnicfEponUniVCTCableStatus            INTEGER,
        hpnicfEponUniVCTCableLength            Integer32,
        hpnicfEponUniVCTImpedanceMismatch      INTEGER,
        hpnicfEponUniVCTPairSkew               Integer32,
        hpnicfEponUniVCTPairSwap               INTEGER,
        hpnicfEponUniVCTPolaritySwap           INTEGER,
        hpnicfEponUniVCTInsertionLoss          Integer32,
        hpnicfEponUniVCTReturnLoss             Integer32,
        hpnicfEponUniVCTNearendCrosstalk       Integer32,
        hpnicfEponUniVlan                      Integer32
    }

hpnicfEponUniIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The index value which uniquely identifies the FE(fast Ethernet)
        interface of the ONU."
    ::= { hpnicfEponUniSysManEntry 1 }

hpnicfEponUniDescr OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A textual string containing information about the interface.  This
        string should include the name of the manufacturer, the product name
        and the version of the interface hardware and software."
    ::= { hpnicfEponUniSysManEntry 2 }

hpnicfEponUniAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            up(1),
            down(2),
            testing(3)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The desired state of the user network interface. When a managed
        system initializes, all user network interfaces start with down(2)
        state. The testing(3)state indicates that no operational packets
        can be passed. As a result of either explicit management action or
        per configuration information retained by the managed system,
        hpnicfEponUniAdminStatus is then changed to either the up(1) or
        testing(3) states (or remains in the down(2) state)."
    ::= { hpnicfEponUniSysManEntry 3 }

hpnicfEponUniMdi OBJECT-TYPE
    SYNTAX      INTEGER
        {
            mdi-ii(1),
            mdi-x(2),
            mdi-auto(3)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Type of the line connected to UNI interface:
        mdi-ii(straight-through cable),
        mdi-x (crossover cable),
        mdi-auto (auto-sensing)."
    ::= { hpnicfEponUniSysManEntry 4 }

hpnicfEponUniPriority OBJECT-TYPE
    SYNTAX      Integer32(0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The priority of user network interface.  If the value is larger,
        the priority will be higher."
    ::= { hpnicfEponUniSysManEntry 5 }

hpnicfEponUniVlanType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            vlantrunk(1),
            access(2),
            hybrid(3),
            untagged(4),
            transparent(5),
            doubletagged(6),
            tag(7),
            translation(8)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "UNI vlan types."
    ::= { hpnicfEponUniSysManEntry 6 }

hpnicfEponUniAccessVlan OBJECT-TYPE
    SYNTAX      Integer32(1..4094)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The vlan ID assigned to untagged frames or Priority-Tagged
        frames received on user network interface."
    ::= { hpnicfEponUniSysManEntry 7 }

hpnicfEponUniTrunkPvid OBJECT-TYPE
    SYNTAX      INTEGER(1..4094)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "PVID(port vlan ID), the vlan ID assigned to untagged frames or
        Priority-Tagged frames received on user network interface."
    ::= { hpnicfEponUniSysManEntry 8 }

hpnicfEponUniVLANTrunkAllowListLow OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight vlans,
        with the first octet specifying vlans 1 through 8, the second
        octet specifying vlans 9 through 16, etc.  Within each octet,
        the most significant bit represents the highest numbered VLAN,
        and the least significant bit represents the lowest numbered VLAN.
        Thus, each allowed vlan of the trunk port is represented by a
        single bit within the value of this object.  If that bit has a value
        of '1' then that vlan is allowed in the set of vlans.  the vlan
        is not allowed if its bit has a value of '0'."
    ::= { hpnicfEponUniSysManEntry 9 }

hpnicfEponUniVLANTrunkAllowListHigh OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight vlans,
        with the first octet specifying vlans 2049 through 2056, the
        second octet specifying vlans 2057 through 2064, etc. Within
        each octet, the most significant bit represents the highest
        numbered vlan, and the least significant bit represents the
        lowest numbered vlan. Thus, each allowed vlan of the trunk port
        is represented by a single bit within the value of this object.
        If that bit has a value of '1' then that vlan is allowed in the
        set of vlans; the vlan is not allowed if its bit has a value of '0'.
        "
    ::= { hpnicfEponUniSysManEntry 10 }

hpnicfEponUniInboundLineRate OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value of the inbound line-rate.  measured with kbps.
        The upper limit of the line-rate is the value of
        hpnicfEponUniLineRateMax in the entry.  It must be multiple
        of the value of hpnicfEponUniLineRateStep. The default value of
        hpnicfEponUniLineRate is the value of hpnicfEponUniLineRateMax."
    ::= { hpnicfEponUniSysManEntry 11 }

hpnicfEponUniOutboundLineRate OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value of the outbound line-rate.  measured with kbps.
        The upper limit of the line-rate is the value of
        hpnicfEponUniLineRateMax in the entry. It must be multiple
        of the value of hpnicfEponUniLineRateStep.  The default value of
        hpnicfEponUniLineRate is the value of hpnicfEponUniLineRateMax."
    ::= { hpnicfEponUniSysManEntry 12 }

hpnicfEponUniFlowControl OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Flow control status.
        true(1)  - Flow control status enable.
        false(2) - Flow control status disable."
    ::= { hpnicfEponUniSysManEntry 13 }

hpnicfEponUniSpeed OBJECT-TYPE
    SYNTAX      INTEGER
        {
            auto(0),
            s10M(10),
            s100M(100),
            s1000M(1000),
            s10000M(10000),
            s24000M(24000)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "User network interface speed."
    ::= { hpnicfEponUniSysManEntry 14 }

hpnicfEponUniDuplex OBJECT-TYPE
    SYNTAX      INTEGER
        {
            full(1),
            half(2),
            auto(3)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "User network interface mode."
    ::= { hpnicfEponUniSysManEntry 15 }

hpnicfEponUniVlanVPNStatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "vlan VPN status.
        true(1)  - vlan VPN status enable.
        false(2) - vlan VPN disable."
    ::= { hpnicfEponUniSysManEntry 16 }

hpnicfEponUniCountReset OBJECT-TYPE
    SYNTAX      INTEGER
        {
            reset(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Reset the counter which is about packets of the interface,
        then the counter will change to zero.  There is no sense in
        reading this object."
    ::= { hpnicfEponUniSysManEntry 17 }

hpnicfEponUniPortIsolate OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        enable - enable UNI port isolate setting.
        disable - disable UNI port isolate setting.
        "
    ::= { hpnicfEponUniSysManEntry 18 }


hpnicfEponUniVlanConfiguration OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The vlan configuration of the related vlan mode.
        Transparent vlan mode: hpnicfEponUniVlanConfiguration is a
        zero length string.
        Tag vlan mode: the first four octets were the tag
        assigned to untagged frames received on UNI, including TPID,
        VID,CFI and priority.
        Translation vlan mode: the first four octets were the old tag
        (including TPID, VID, CFI and priority), which is replaced
        by the new tag(including TPID, VID, CFI and priority),
        the second four octets.
        "
    ::= { hpnicfEponUniSysManEntry 23 }

hpnicfEponUniAutoNegotiation OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        enable - enable auto negotiation.
        disable - disable auto negotiation.
        "
    ::= { hpnicfEponUniSysManEntry 25 }

hpnicfEponUniRestartAutoNeg OBJECT-TYPE
    SYNTAX      INTEGER
        {
            autoNegotiation(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Force to restart the auto negotiation process.
        "
    ::= { hpnicfEponUniSysManEntry 26 }


hpnicfEponUniLinkStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            up(1),
            down(2)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The link status of UNI.
        "
    ::= { hpnicfEponUniSysManEntry 29 }

hpnicfEponUniInterfaceType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            gigabitethernetport(1),
            fastethernetport(2),
            voipport(3),
            e1port(4)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        UNI interface type.
        "
    ::= { hpnicfEponUniSysManEntry 30 }

-- BEGIN for UNI VCT
hpnicfEponUniVitualCableTest OBJECT-TYPE
    SYNTAX      INTEGER{true(1),
        false(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        True(1): Virtual cable test enable.
        False(2): Virtual cable test disable."
    DEFVAL{ false }
    ::= { hpnicfEponUniSysManEntry 31 }

hpnicfEponUniVCTCableStatus OBJECT-TYPE
    SYNTAX      INTEGER{normal(1),
        abnormal(2),
        abnormalOpen(3),
        abnormalShort(4),
        failure(5)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Get the cable status.
        Normal(1),cable is normal.
        Abnormal(2),cable is abnormal.
        AbnormalOpen(3),cable is abnormal because of open circuit.
        AbnormalShort(4),cable is abnormal because of short circuit.
        Failure(5),cable is abnormal because of testing failure.
        "
    ::= { hpnicfEponUniSysManEntry 32 }

hpnicfEponUniVCTCableLength OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Get the cable length.
        When hpnicfEponUniVCTCableStatus is normal,
        the node stands for the length from the UNI port to the port opposite.
        When hpnicfEponUniVCTCableStatus is abnormal,
        it stands for the lengh from the UNI port to the failure place.
        Unit:meter(m).
        "
    ::= { hpnicfEponUniSysManEntry 33 }

hpnicfEponUniVCTImpedanceMismatch OBJECT-TYPE
    SYNTAX      INTEGER{not-support(1),
        true(2),
        false(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Get the cable impedance.
        Not-support(1),the UNI port does not support this function.
        True(2),impedance match.
        False(3),impedance mismatch."
    ::= { hpnicfEponUniSysManEntry 34 }

hpnicfEponUniVCTPairSkew OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Get the symmetry of cable.
        If the function is not supported,
        the default value 0 will be returned.
        Unit:nanosecond(ns).
        "
    ::= { hpnicfEponUniSysManEntry 35 }

hpnicfEponUniVCTPairSwap OBJECT-TYPE
    SYNTAX      INTEGER{notSupport(1),
        true(2),
        false(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        NotSupport(1),the UNI port does not support this function.
        True(2),pair swap.
        False(3),not pair swap."
    ::= { hpnicfEponUniSysManEntry 36 }

hpnicfEponUniVCTPolaritySwap OBJECT-TYPE
    SYNTAX      INTEGER{notSupport(1),
        true(2),
        false(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        NotSupport(1),the UNI port does not support this function.
        True(2),polarity swap.
        False(3),not polarity swap."
    ::= { hpnicfEponUniSysManEntry 37 }

hpnicfEponUniVCTInsertionLoss OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        If the function is not supported,
        the default value 0 will be returned.
        Unit:decibel(db).
        "
    ::= { hpnicfEponUniSysManEntry 38 }

hpnicfEponUniVCTReturnLoss OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        If the function is not supported,
        the default value 0 will be returned.
        Unit:decibel(db).
        "
    ::= { hpnicfEponUniSysManEntry 39 }

hpnicfEponUniVCTNearendCrosstalk OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        If the function is not supported,
        the default value 0 will be returned.
        Unit:decibel(db).
        "
    ::= { hpnicfEponUniSysManEntry 40 }
hpnicfEponUniVlan   OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        If the function is not supported,
        the default value 0 will be returned.
        Unit:decibel(db).
        "
    ::= { hpnicfEponUniSysManEntry 41 }
-- END for UNI VCT

hpnicfEponUniCountTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of interface counter about frames entries."
    ::= { hpnicfEponUniSysMan 2 }

hpnicfEponUniCountEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable
        to a particular interface."
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex
        }
    ::= { hpnicfEponUniCountTable 1 }

HpnicfEponUniCountEntry ::= SEQUENCE
    {
        hpnicfEponUniInStatsPkts                 Unsigned32,
        hpnicfEponUniInStatsUnicastPkts          Unsigned32,
        hpnicfEponUniInStatsBroadcastPkts        Unsigned32,
        hpnicfEponUniInStatsMulticastPkts        Unsigned32,
        hpnicfEponUniInPausePkts                 Unsigned32,
        hpnicfEponUniInTotalErrors               Unsigned32,
        hpnicfEponUniInStatsCRCAlignErrors       Unsigned32,
        hpnicfEponUniInStatsUndersizePkts        Unsigned32,
        hpnicfEponUniInStatsOversizePkts         Unsigned32,
        hpnicfEponUniInErrorbyOther              Unsigned32,
        hpnicfEponUniOutStatsPkts                Unsigned32,
        hpnicfEponUniOutStatsUnicastPkts         Unsigned32,
        hpnicfEponUniOutStatsBroadcastPkts       Unsigned32,
        hpnicfEponUniOutStatsMulticastPkts       Unsigned32,
        hpnicfEponUniOutStatsPausePkts           Unsigned32,
        hpnicfEponUniOutTotalErrors              Unsigned32,
        hpnicfEponUniOutStatsCollisions          Unsigned32,
        hpnicfEponUniOutDelayExceededDiscards    Unsigned32,
        hpnicfEponUniOutErrorbyOther             Unsigned32,
        hpnicfEponUniOutDroppedFrames            Unsigned32
    }

hpnicfEponUniInStatsPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of frames (including bad frames,
        broadcast frames, and multicast frames) received."
    ::= { hpnicfEponUniCountEntry 1 }

hpnicfEponUniInStatsUnicastPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of good frames received that are
        directed to the unicast address.  Note that this
        does not include multicast and broadcast frames."
    ::= { hpnicfEponUniCountEntry 2 }

hpnicfEponUniInStatsBroadcastPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of good frames received that are
        directed to the broadcast address.  Note that this
        does not include multicast frames."
    ::= { hpnicfEponUniCountEntry 3 }

hpnicfEponUniInStatsMulticastPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of good frames received that are
        directed to a multicast address.  Note that this number
        does not include frames directed to the broadcast address."
    ::= { hpnicfEponUniCountEntry 4 }

hpnicfEponUniInPausePkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A count of MAC Control frames received on this
        interface by the pause(flow control) operation.
        This counter does not increment when the
        interface is in a half-duplex mode.
        Discontinuities in the value of this counter can
        occur at re-initialization of the management
        system."
    ::= { hpnicfEponUniCountEntry 5 }

hpnicfEponUniInTotalErrors OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total count of the error frames received on this interface."
    ::= { hpnicfEponUniCountEntry 6 }

hpnicfEponUniInStatsCRCAlignErrors OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of frames received that
        had a length (excluding framing bits, but
        including FCS octets) of between 64 and 1518
        octets, inclusive, but had either a bad
        Frame Check Sequence (FCS) with an integral
        number of octets (FCS Error) or a bad FCS with
        a non-integral number of octets (Alignment Error)."
    ::= { hpnicfEponUniCountEntry 7 }

hpnicfEponUniInStatsUndersizePkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of frames received that are
        less than 64 octets long (excluding framing bits,
        but including FCS octets) and are otherwise well formed."
    ::= { hpnicfEponUniCountEntry 8 }

hpnicfEponUniInStatsOversizePkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of frames received that are
        longer than 1518 octets (excluding framing bits,
        but including FCS octets) and are otherwise well formed."
    ::= { hpnicfEponUniCountEntry 9 }

hpnicfEponUniInErrorbyOther OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of error frames received on this interface."
    ::= { hpnicfEponUniCountEntry 10 }

hpnicfEponUniOutStatsPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of frames (including bad frames,
        broadcast frames, and multicast frames) sent."
    ::= { hpnicfEponUniCountEntry 11 }

hpnicfEponUniOutStatsUnicastPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of good frames sent that are
        directed to the unicast address.  Note that this
        does not include multicast and broadcast frames."
    ::= { hpnicfEponUniCountEntry 12 }

hpnicfEponUniOutStatsBroadcastPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of good frames sent that are
        directed to the broadcast address.  Note that this
        does not include multicast frames."
    ::= { hpnicfEponUniCountEntry 13 }

hpnicfEponUniOutStatsMulticastPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of good frames sent that are
        directed to a multicast address.  Note that this number
        does not include frames directed to the broadcast address."
    ::= { hpnicfEponUniCountEntry 14 }

hpnicfEponUniOutStatsPausePkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of MAC control frames sent on this
        interface by the pause operation.  This counter does
        not increment when the interface is in a half-duplex mode.
        Discontinuities in the value of this counter can
        occur at re-initialization of the management system."
    ::= { hpnicfEponUniCountEntry 15 }

hpnicfEponUniOutTotalErrors OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of error frames sent on this interface."
    ::= { hpnicfEponUniCountEntry 16 }

hpnicfEponUniOutStatsCollisions OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The best estimate of the total number of collisions
        on this Ethernet segment.
        The value returned will depend on the location of the
        RMON probe.  Section 8.2.1.3 (10BASE-5) and section
        10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
        station must detect a collision, in the receive mode, if
        three or more stations are transmitting simultaneously.  A
        repeater port must detect a collision when two or more
        stations are transmitting simultaneously.  Thus a probe
        placed on a repeater port could record more collisions
        than a probe connected to a station on the same segment
        could.  Probe location plays a much smaller role when considering
        10BASE-T.  14.2.1.4 (10BASE-T) of IEEE standard 802.3
        defines a collision as the simultaneous presence of signals
        on the DO and RD circuits (transmitting and receiving
        at the same time).  A 10BASE-T station can only detect
        collisions when it is transmitting.  Thus probes placed on
        a station and a repeater, should report the same number of
        collisions.  Note also that an RMON probe inside a repeater should
        ideally report collisions between the repeater and one or
        more other hosts (transmit collisions as defined by IEEE
        802.3k) plus receiver collisions observed on any coax
        segments to which the repeater is connected."
    ::= { hpnicfEponUniCountEntry 17 }

hpnicfEponUniOutDelayExceededDiscards OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of frames discarded by this port due
        to excessive transit delay through the bridge.  It
        is incremented by both transparent and source route bridges."
    ::= { hpnicfEponUniCountEntry 18 }

hpnicfEponUniOutErrorbyOther OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of other error frames sent on this interface.
        Other error frames means the error frames out of collision frames
        and excessive delayed frames."
    ::= { hpnicfEponUniCountEntry 19 }

hpnicfEponUniOutDroppedFrames OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The total number of frames dropped because of buffer failure.
        "
    ::= { hpnicfEponUniCountEntry 20 }

hpnicfEponUniIgmpInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniIgmpInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table stores igmp information of UNI interface."
    ::= { hpnicfEponUniSysMan 3 }

hpnicfEponUniIgmpInfoEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniIgmpInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of hpnicfEponUniIgmpInfoTable."
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex,
            hpnicfEponUniMacIndex
        }
    ::= { hpnicfEponUniIgmpInfoTable 1 }

HpnicfEponUniIgmpInfoEntry ::= SEQUENCE
    {
        hpnicfEponUniMacIndex          Integer32,
        hpnicfEponUniIgmpMacAddress    MacAddress,
        hpnicfEponUniIgmpVlanId        Integer32
    }

hpnicfEponUniMacIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index uniquely identifies the igmp information in current
        UNI interface."
    ::= { hpnicfEponUniIgmpInfoEntry 1 }

hpnicfEponUniIgmpMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A 6-octet read-only value carrying the individual MAC address
        indicates which igmp group the UNI interface belonging to."
    ::= { hpnicfEponUniIgmpInfoEntry 2 }

hpnicfEponUniIgmpVlanId OBJECT-TYPE
    SYNTAX      Integer32(1..4094)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An integer range from 1 to 4094 indicates the vlan which the igmp
        Mac address has joined in."
    ::= { hpnicfEponUniIgmpInfoEntry 3 }

hpnicfEponUniParaMan OBJECT IDENTIFIER ::= { hpnicfEponUniSysMan 4 }

hpnicfEponUniLineRateMax OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum value of the line-rate(kbps) that user network
        interface can be set."
    ::= { hpnicfEponUniParaMan 1 }

hpnicfEponUniLineRateStep OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The step of line-rate(kbps)."
    ::= { hpnicfEponUniParaMan 2 }

hpnicfEponUniNumberOnOnu OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The user network interface number on ONU."
    ::= { hpnicfEponUniParaMan 3 }


hpnicfEponUniScalarGroup OBJECT IDENTIFIER ::= { hpnicfEponUniSysMan 5 }

--
-- hpnicfEponUniPortPolicyTable
--

hpnicfEponUniPortPolicyTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniPortPolicyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        UNI port policy configuration.
        "
    ::= { hpnicfEponUniSysMan 6 }

hpnicfEponUniPortPolicyEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniPortPolicyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfEponUniPortPolicyTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex
        }
    ::= { hpnicfEponUniPortPolicyTable 1 }

HpnicfEponUniPortPolicyEntry ::= SEQUENCE
    {
        hpnicfEponUniPortPolicyStatus                INTEGER,
        hpnicfEponUniPortPolicyCir                   Integer32,
        hpnicfEponUniPortPolicyBucketDepth           Integer32,
        hpnicfEponUniPortPolicyExtraBurst            Integer32,
        hpnicfEponUniPortPolicyInboundCir            Integer32,
        hpnicfEponUniPortPolicyInboundBucketDepth    Integer32,
        hpnicfEponUniPortPolicyInboundExtraBurst     Integer32,
        hpnicfEponUniPortPolicyOutboundCir           Integer32,
        hpnicfEponUniPortPolicyOutboundPir           Integer32
    }

hpnicfEponUniPortPolicyStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        enable - enable UNI upstream port policing.
        disable - disable UNI upstream port policing.
        "
    DEFVAL { disable }
    ::= { hpnicfEponUniPortPolicyEntry 1 }

hpnicfEponUniPortPolicyCir OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The committed information rate,
        ranging from 1 to 102400, measured in kbps.
        "
    DEFVAL { 102400 }
    ::= { hpnicfEponUniPortPolicyEntry 2 }

hpnicfEponUniPortPolicyBucketDepth OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The depth of the token bucket to tolerant the certain burst(CBS),
        ranging from 0 to 65535, measured in bytes.
        "
    DEFVAL { 0 }
    ::= { hpnicfEponUniPortPolicyEntry 3 }

hpnicfEponUniPortPolicyExtraBurst OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The extra token to permit the forwarding engine to finish the packet
        being sent when the bucket depth is exhausted, ranging from 0 to 65535,
        measured in bytes.
        "
    DEFVAL { 0 }
    ::= { hpnicfEponUniPortPolicyEntry 4 }

hpnicfEponUniPortPolicyInboundCir OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The inbound committed information rate, measured in kbps.
        "
    ::= { hpnicfEponUniPortPolicyEntry 5 }

hpnicfEponUniPortPolicyInboundBucketDepth OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The inbound depth of the token bucket to tolerant the certain burst(CBS),
        ranging from 0 to 65535, measured in bytes.
        "
    DEFVAL { 0 }
    ::= { hpnicfEponUniPortPolicyEntry 6 }

hpnicfEponUniPortPolicyInboundExtraBurst OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The inbound extra token to permit the forwarding engine to finish the packet
        being sent when the bucket depth is exhausted, ranging from 0 to 65535,
        measured in bytes.
        "
    DEFVAL { 0 }
    ::= { hpnicfEponUniPortPolicyEntry 7 }

hpnicfEponUniPortPolicyOutboundCir OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The outbound committed information rate, stepped by 64, measured in kbps.
        "
    ::= { hpnicfEponUniPortPolicyEntry 8 }

hpnicfEponUniPortPolicyOutboundPir OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The outbound peak information rate, stepped by 64, measured in kbps.
        "
    ::= { hpnicfEponUniPortPolicyEntry 9 }
--
-- hpnicfEponUniMulticastTable
--
hpnicfEponUniMulticastTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniMulticastEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        UNI multicast configuration.
        "
    ::= { hpnicfEponUniSysMan 7 }

hpnicfEponUniMulticastEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniMulticastEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfEponUniPortPolicyTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex
        }
    ::= { hpnicfEponUniMulticastTable 1 }

HpnicfEponUniMulticastEntry ::= SEQUENCE
    {
        hpnicfEponUniMulticastGroupNumber    Integer32,
        hpnicfEponUniMulticastVlanList       OCTET STRING,
        hpnicfEponUniMulticastStripStatus    INTEGER,
        hpnicfEponUniMulticastFastleave      TruthValue
    }

hpnicfEponUniMulticastGroupNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The allowed multicast group number that can be handled
        at the same time by UNI.
        "
    DEFVAL { 64 }
    ::= { hpnicfEponUniMulticastEntry 1 }


hpnicfEponUniMulticastVlanList OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The multicast vlan list.
        The first two octets of the string represent the first VLAN ID;
        the second two octets of the string represent the second VLAN ID,
        and so on. It is a zero length string by default.
        "
    ::= { hpnicfEponUniMulticastEntry 2 }

hpnicfEponUniMulticastStripStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true - strip the vlan tag of multicast packet.
        false - does not strip the vlan tag of multicast packet.
        "
    DEFVAL { disable }
    ::= { hpnicfEponUniMulticastEntry 3 }

hpnicfEponUniMulticastFastleave OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        true(1)  - fast leave of IGMP enable on ONU.
        false(2) - fast leave of IGMP disable on ONU.
        "
    DEFVAL { false }
    ::= { hpnicfEponUniMulticastEntry 4 }

--
-- hpnicfEponUniTechAbilityTable
--
hpnicfEponUniTechAbilityTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniTechAbilityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        UNI multicast configuration.
        "
    ::= { hpnicfEponUniSysMan 8 }

hpnicfEponUniTechAbilityEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniTechAbilityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of hpnicfEponUniTechAbilityTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex
        }
    ::= { hpnicfEponUniTechAbilityTable 1 }

HpnicfEponUniTechAbilityEntry ::= SEQUENCE
    {
        hpnicfEponUniLocalTechAbility         OCTET STRING,
        hpnicfEponUniAdvertisedTechAbility    OCTET STRING
    }
hpnicfEponUniLocalTechAbility OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The local port capabilities of the UNI.
        Each two octets stand for a capability of UNI:
        the first two octets represent one capability and
        the second two octets represent another capability,
        and so on.
        The capabilities list:
        1 - undefined,
        2 - initializing, true ability not yet known,
        14 - 10BASE-T,
        142 - full duplex 10BASE-T,
        23 - 100BASE-T4,
        25 - 100BASE-TX,
        252 - full duplex 100BASE-TX,
        312 - PAUSE operation for full duplex links,
        313 - asymmetric PAUSE operation for full duplex links,
        314 - symmetric PAUSE operation for full duplex links,
        32 - 100BASE-T2,
        322 - full duplex 100BASE-T2,
        36 - 1000BASE-X,
        362 - full duplex 1000BASE-X,
        40 - 1000BASE-T UTP PHY,
        402 - full duplex 1000BASE-T UTP PHY,
        37 - remote fault bit 1(RF1),
        372 - remote fault bit 2(RF2),
        8029 - 802.9ISLAN-16T.
        "
    ::= { hpnicfEponUniTechAbilityEntry 1 }

hpnicfEponUniAdvertisedTechAbility OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The advertised port capabilities of the UNI.
        The capabilities list references the description of hpnicfEponUniLocalTechAbility.
        "
    ::= { hpnicfEponUniTechAbilityEntry 2 }

--
-- hpnicfEponUniMulticastControlTable
--

hpnicfEponUniMulticastControlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniMulticastControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        UNI multicast control parameters.
        "
    ::= { hpnicfEponUniSysMan 9 }

hpnicfEponUniMulticastControlEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniMulticastControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponUniMulticastControlTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex,
            hpnicfEponUniMulticastIndex
        }
    ::= { hpnicfEponUniMulticastControlTable 1 }

HpnicfEponUniMulticastControlEntry ::= SEQUENCE
    {
        hpnicfEponUniMulticastVlanIndex        Integer32,
        hpnicfEponUniMulticastAddressList      OCTET STRING,
        hpnicfEponUniMulticastAccessRule       INTEGER,
        hpnicfEponUniMulticastChannelLimit     Integer32,
        hpnicfEponUniMulticastPreTimeSlice     Integer32,
        hpnicfEponUniMulticastPreTimes         Integer32,
        hpnicfEponUniMulticastPreInterval      Integer32,
        hpnicfEponUniMulticastRowStatus        RowStatus,
        hpnicfEponUniMulticastIndex            INTEGER,
        hpnicfEponUniMulticastSourceIpList     OCTET STRING,
        hpnicfEponUniMulticastResetInterval    Integer32
    }

hpnicfEponUniMulticastVlanIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The multicast vlan ID.
        "
    ::= { hpnicfEponUniMulticastControlEntry 1 }

hpnicfEponUniMulticastAddressList 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.
        "
    ::= { hpnicfEponUniMulticastControlEntry 2 }

hpnicfEponUniMulticastAccessRule OBJECT-TYPE
    SYNTAX      INTEGER
        {
            deny(1),
            permit(2),
            preview(3)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        deny - deny the multicast packet.
        permit - permit the multicast packet.
        preview - permit the multicast packet with conditions.
        "
    ::= { hpnicfEponUniMulticastControlEntry 3 }

hpnicfEponUniMulticastChannelLimit OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The limitation of multicast preview channel number.
        "
    ::= { hpnicfEponUniMulticastControlEntry 4 }

hpnicfEponUniMulticastPreTimeSlice OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The time slice of multicast preview.
        "
    ::= { hpnicfEponUniMulticastControlEntry 5 }

hpnicfEponUniMulticastPreTimes OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The number of multicast preview times.
        "
    ::= { hpnicfEponUniMulticastControlEntry 6 }

hpnicfEponUniMulticastPreInterval OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The interval between two consecutive previews, measured in minute.
        "
    ::= { hpnicfEponUniMulticastControlEntry 7 }

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

hpnicfEponUniMulticastIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The index of the entry.
        "
    ::= { hpnicfEponUniMulticastControlEntry 9 }

hpnicfEponUniMulticastSourceIpList OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        This list contains many source ip addresses.
        Each ip address is contained in four octets.
        "
    ::= { hpnicfEponUniMulticastControlEntry 10 }

hpnicfEponUniMulticastResetInterval OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The interval is measured in minute.
        From the last preview limitation is reached, a customer can preview again
        after this interval is expired.
        "
    ::= { hpnicfEponUniMulticastControlEntry 11 }

--
-- hpnicfEponUniQosIndexNextTable
--

hpnicfEponUniQosIndexNextTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniQosIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The next index table.
        "
    ::= { hpnicfEponUniSysMan 10 }

hpnicfEponUniQosIndexNextEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniQosIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponUniQosIndexNextTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex
        }
    ::= { hpnicfEponUniQosIndexNextTable 1 }

HpnicfEponUniQosIndexNextEntry ::= SEQUENCE
    {
        hpnicfEponUniQosConfIndexNext    Integer32
    }

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

--
-- hpnicfEponUniQosConfTable
--

hpnicfEponUniQosConfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniQosConfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        UNI Qos configuration.
        "
    ::= { hpnicfEponUniSysMan 11 }

hpnicfEponUniQosConfEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniQosConfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponUniQosConfTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex,
            hpnicfEponUniQosConfIndex
        }
    ::= { hpnicfEponUniQosConfTable 1 }

HpnicfEponUniQosConfEntry ::= SEQUENCE
    {
        hpnicfEponUniQosConfIndex             Integer32,
        hpnicfEponUniQosConfRuleIndexNext     Integer32,
        hpnicfEponUniQosConfMappedQueue       Integer32,
        hpnicfEponUniQosConfMarkedPriority    Integer32,
        hpnicfEponUniQosConfRowStatus         RowStatus
    }

hpnicfEponUniQosConfIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The rule index.
        "
    ::= { hpnicfEponUniQosConfEntry 1 }

hpnicfEponUniQosConfRuleIndexNext OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        This object contains an appropriate value to be used for
        hpnicfEponUniQosRuleIndex when creating rows in the
        hpnicfEponUniQosRuleTable.
        "
    ::= { hpnicfEponUniQosConfEntry 2 }

hpnicfEponUniQosConfMappedQueue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The queue that the ethernet frames will be mapped.
        "
    ::= { hpnicfEponUniQosConfEntry 3 }

hpnicfEponUniQosConfMarkedPriority OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        Priority of the ethernet frames to be marked, which
        compliant with the 802.1D user priority standard.
        "
    ::= { hpnicfEponUniQosConfEntry 4 }

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

--
-- hpnicfEponUniQosRuleTable
--

hpnicfEponUniQosRuleTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniQosRuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Qos sub rule of the UNI.
        "
    ::= { hpnicfEponUniSysMan 12 }

hpnicfEponUniQosRuleEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniQosRuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponUniQosRuleTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex,
            hpnicfEponUniQosConfIndex,
            hpnicfEponUniQosRuleIndex
        }
    ::= { hpnicfEponUniQosRuleTable 1 }

HpnicfEponUniQosRuleEntry ::= SEQUENCE
    {
        hpnicfEponUniQosRuleIndex         Integer32,
        hpnicfEponUniQosRuleSelector      INTEGER,
        hpnicfEponUniQosRuleValue         Integer32,
        hpnicfEponUniQosRuleMacAddress    MacAddress,
        hpnicfEponUniQosRuleOperator      INTEGER,
        hpnicfEponUniQosRuleRowStatus     RowStatus
    }

hpnicfEponUniQosRuleIndex OBJECT-TYPE
    SYNTAX      Integer32(1..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The sub rule index.
        "
    ::= { hpnicfEponUniQosRuleEntry 1 }

hpnicfEponUniQosRuleSelector OBJECT-TYPE
    SYNTAX      INTEGER
        {
            dstmac(1),
            srcmac(2),
            ethernetpriority(3),
            vlanid(4),
            ethernettype(5),
            dstip(6),
            srcip(7),
            ipprototype(8),
            ipv4tosdscp(9),
            ipv6precedence(10),
            srcport(11),
            dstport(12)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The ethernet frame selector.
        dstmac - based on destination MAC address.
        srcmac - based on source MAC address.
        ethernetpriority -  based on ethernet priority.
        vlanid - based on VLAN ID.
        ethernettype - based on ethernet type.
        dstip - based on destination IP address.
        srcip - based on source IP address.
        ipprototype - based on IP type(ipv4 or ipv6).
        ipv4tosdscp - based on IP TOS/DSCP.
        ipv6 - based IP precedence.
        srcport - based on layer 4 source port.
        dstport - based on layer 4 destination port.
        "
    ::= { hpnicfEponUniQosRuleEntry 2 }

hpnicfEponUniQosRuleValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The rule value based on the hpnicfEponUniQosRuleSelector.
        "
    ::= { hpnicfEponUniQosRuleEntry 3 }

hpnicfEponUniQosRuleMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        MAC Address.
        "
    ::= { hpnicfEponUniQosRuleEntry 4 }

hpnicfEponUniQosRuleOperator OBJECT-TYPE
    SYNTAX      INTEGER
        {
            nevermatch(1),
            equal(2),
            notequal(3),
            lessthanequal(4),
            greaterthanequal(5),
            fieldexist(6),
            fieldnotexist(7),
            alwaysmatch(8)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        nervermatch - value never match.
        equal - field equal to the value.
        notequal - field not equal to the value.
        lessthanequal - field less than or equal to the value.
        greaterthanequal - field greater than or equal to the value.
        fieldexist - value is ignored if field exists.
        fieldnotexist - value is ignored if field does not exist.
        alwaysmatch - value always match.
        "
    ::= { hpnicfEponUniQosRuleEntry 5 }

hpnicfEponUniQosRuleRowStatus 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.
        "
    ::= { hpnicfEponUniQosRuleEntry 6 }

--
-- hpnicfEponUniMirrorGroupTable
--

hpnicfEponUniMirrorGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniMirrorGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        Qos sub rule of the UNI.
        "
    ::= { hpnicfEponUniSysMan 13 }

hpnicfEponUniMirrorGroupEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniMirrorGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the hpnicfEponUniMirrorGroupTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfEponUniMirrorGroupID
        }
    ::= { hpnicfEponUniMirrorGroupTable 1 }

HpnicfEponUniMirrorGroupEntry ::= SEQUENCE
    {
        hpnicfEponUniMirrorGroupID             Integer32,
        hpnicfEponUniMirrorInboundPortList     OCTET STRING,
        hpnicfEponUniMirrorOutboundPortList    OCTET STRING,
        hpnicfEponUniMonitorPort               Integer32,
        hpnicfEponUniMirrorRowStatus           RowStatus
    }

hpnicfEponUniMirrorGroupID OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Epon UNI mirror group ID."
    ::= { hpnicfEponUniMirrorGroupEntry 1 }

hpnicfEponUniMirrorInboundPortList OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        UNI inbound port list.
        Each octet within this value specifies a set of eight ports,
        with the first octet specifying ports 1 through 8, the second
        octet specifying ports 9 through 16, etc.  Within each octet,
        the most significant bit represents the highest numbered UNI,
        and the least significant bit represents the lowest numbered UNI.
        Thus, each UNI port is represented by a single bit within the
        value of this object.  If that bit has a value of '1' then that
        port is allowed in the set of ports.  the port is not allowed if
        its bit has a value of '0'.
        "
    ::= { hpnicfEponUniMirrorGroupEntry 2 }

hpnicfEponUniMirrorOutboundPortList OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        UNI outnbound port list, more infomation reference hpnicfEponUniMirrorInboundPortList
        "
    ::= { hpnicfEponUniMirrorGroupEntry 3 }

hpnicfEponUniMonitorPort OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        UNI monitor port.
        "
    ::= { hpnicfEponUniMirrorGroupEntry 4 }

hpnicfEponUniMirrorRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        RowStatus, Now support three status: createAndGo, active, destroy.
        "
    ::= { hpnicfEponUniMirrorGroupEntry 5 }

--
-- hpnicfEponUniMirrorGroupIdNextTable
--

hpnicfEponUniMirrorGroupIdNextTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniMirrorGroupIdNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The next index table, which is used by hpnicfEponUniMirrorGroupTable.
        "
    ::= { hpnicfEponUniSysMan 14 }

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

HpnicfEponUniMirrorGroupIdNextEntry ::= SEQUENCE
    {
        hpnicfEponUniMirrorGroupIDNext    Integer32
    }

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

--
-- hpnicfEponUniMulticastCtrlInfoTable
--

hpnicfEponUniMulticastCtrlInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniMulticastCtrlInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        UNI multicast information which is active .
        "
    ::= { hpnicfEponUniSysMan 15 }

hpnicfEponUniMulticastCtrlInfoEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniMulticastCtrlInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponUniMulticastCtrlInfoTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex,
            hpnicfEponUniMultActVlan,
            hpnicfEponUniMultActAddress
        }
    ::= { hpnicfEponUniMulticastCtrlInfoTable 1 }

HpnicfEponUniMulticastCtrlInfoEntry ::= SEQUENCE
    {
        hpnicfEponUniMultActVlan          Integer32,
        hpnicfEponUniMultActAddress       IpAddress,
        hpnicfEponUniMultActAccessRule    INTEGER,
        hpnicfEponUniMultActPreTimes      Integer32,
        hpnicfEponUniMultActPreRemain     Integer32
    }

hpnicfEponUniMultActVlan OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The multicast vlan ID which is active.
        "
    ::= { hpnicfEponUniMulticastCtrlInfoEntry 1 }

hpnicfEponUniMultActAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The multicast address which is active.
        "
    ::= { hpnicfEponUniMulticastCtrlInfoEntry 2 }

hpnicfEponUniMultActAccessRule OBJECT-TYPE
    SYNTAX      INTEGER
        {
            deny(1),
            permit(2),
            preview(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        deny - deny the multicast packet.
        permit - permit the multicast packet.
        preview - permit the multicast packet with conditions.
        "
    ::= { hpnicfEponUniMulticastCtrlInfoEntry 3 }

hpnicfEponUniMultActPreTimes OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The number of multicast preview times which is active.
        "
    ::= { hpnicfEponUniMulticastCtrlInfoEntry 4 }

hpnicfEponUniMultActPreRemain OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The remanent time slice of multicast preview which is active.
        "
    ::= { hpnicfEponUniMulticastCtrlInfoEntry 5 }

--
-- hpnicfEponUniMulticastIndexNextTable
--

hpnicfEponUniMulticastIndexNextTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfEponUniMulticastIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The next index table, which is used by hpnicfEponUniMulticastControlTable.
        "
    ::= { hpnicfEponUniSysMan 16 }

hpnicfEponUniMulticastIndexNextEntry OBJECT-TYPE
    SYNTAX      HpnicfEponUniMulticastIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfEponUniMulticastIndexNextEntry.
        "
    INDEX
        {
            ifIndex,
            hpnicfEponUniIndex
        }
    ::= { hpnicfEponUniMulticastIndexNextTable 1 }

HpnicfEponUniMulticastIndexNextEntry ::= SEQUENCE
    {
        hpnicfEponUniMulticastConfIndexNext    Integer32
    }

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

--
-- hpnicfEponUni NOTIFICATION
--

hpnicfEponUniTrap OBJECT IDENTIFIER ::= { hpnicfEponUni 2 }

hpnicfEponUniTrapPrefix OBJECT IDENTIFIER ::= { hpnicfEponUniTrap 0 }

hpnicfEponUniLinkUpTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfEponUniIndex,
            hpnicfEponUniDescr,
            hpnicfEponUniAdminStatus
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponUniLinkUpTrap notification is sent
        when the UNI up event is detected
        and the transmitting switch is turned on.
        "
    ::= { hpnicfEponUniTrapPrefix 1 }

hpnicfEponUniLinkDownTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfEponUniIndex,
            hpnicfEponUniDescr,
            hpnicfEponUniAdminStatus
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponUniLinkDownTrap notification is sent
        when the UNI down event is detected
        and the transmitting switch is turned on.
        "
    ::= { hpnicfEponUniTrapPrefix 2 }

hpnicfEponUniLoopBackDetectedTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfEponUniIndex,
            hpnicfEponUniDescr,
            hpnicfEponUniVlan
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponUniLoopBackDetectedTrap notification is sent
        when the UNI loopback event is detected.
        "
    ::= { hpnicfEponUniTrapPrefix 3 }
hpnicfEponUniLoopBackRecoveredTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            hpnicfEponUniIndex,
            hpnicfEponUniDescr,
            hpnicfEponUniVlan
        }
    STATUS      current
    DESCRIPTION
        "
        A hpnicfEponUniLoopBackRecoveredTrap notification is sent
        when the UNI loopback is recovered.
        "
    ::= { hpnicfEponUniTrapPrefix 4 }
END
