-- ===========================================================
-- Copyright (C) 2003 by HUAWEI-3Com TECHNOLOGIES.  All rights reserved.
--
-- Description:  HUAWEI LAN Switch huawei-3com epon MIB
-- Reference:  IF-MIB
-- Version:  V1.7
-- History:
-- V1.0 created by liuhongxu.
--   Initial version 2006-01-10
-- V1.1 Updated by chenzhaojie
--   Add enumeration values to h3cEponUniVlanType
-- V1.2 Updated by chenzhaojie 2006-08-02
--   Add h3cEponUniOutDroppedFrames
-- V1.3 Updated by chenzhaojie 2007-05-21
--   Add h3cEponUniScalarGroup
--   Add enumeration values to h3cEponUniVlanType
--   Add h3cEponUniPortIsolate, h3cEponUniVlanConfiguration
--   h3cEponUniAutoNegotiation, h3cEponUniRestartAutoNeg,
--   h3cEponUniLinkStatus, h3cEponUniInterfaceType
--   to h3cEponUniSysManTable.
--   Add h3cEponUniPortPolicyTable, h3cEponUniMulticastTable.
--   Add h3cEponUniMulticastControlTable, h3cEponUniQosConfIndexNextTable,
--   h3cEponUniQosConfTable, h3cEponUniQosRuleTable.
-- V1.4 Updated by liuhongxu,andapeng 2007-10-13
--   Add h3cEponUniMulticastFastleave to h3cEponUniMulticastTable
--   Add h3cEponUniMulticastIndex to h3cEponUniMulticastControlTable
--   Add h3cEponUniVitualCableTest to h3cEponUniSysManTable
--   Add h3cEponUniMirrorGroupTable, h3cEponUniMirrorGroupIdNextTable
--   Add h3cEponUniMulticastCtrlInfoTable
--   Add h3cEponUniPortPolicyInboundCir,h3cEponUniPortPolicyInboundBucketDepth,
--   h3cEponUniPortPolicyInboundExtraBurst,h3cEponUniPortPolicyOutboundCir
--   to h3cEponUniPortPolicyTable.
--   Add h3cEponUniMulticastIndexNextTable
--   Modify h3cEponUniInterfaceType
-- V1.5 Updated by maguoqiang,wangke,zhaodan 2008-1-14
-- Deleted default values of these leaves:
--      h3cEponUniMdi,h3cEponUniPriority, h3cEponUniVlanType, h3cEponUniFlowControl,
--      h3cEponUniDuplex, h3cEponUniVlanVPNStatus, h3cEponUniPortIsolate,
--      h3cEponUniAutoNegotiation, h3cEponUniVitualCableTest
--   Add h3cEponUniMulticastSourceIpList to h3cEponUniMulticastControlTable
--   Add h3cEponUniMulticastResetInterval to h3cEponUniMulticastControlTable
--   Modify h3cEponUniVCTCableStatus and add 9 nodes:
--   Add    h3cEponUniVCTCableLength
--          h3cEponUniVCTImpedanceMismatch
--          h3cEponUniVCTPairSkew
--          h3cEponUniVCTPairSwap
--          h3cEponUniVCTPolaritySwap
--          h3cEponUniVCTInsertionLoss
--          h3cEponUniVCTReturnLoss
--          h3cEponUniVCTNearendCrosstalk to h3cEponUniSysManTable
-- V1.6 Updated by zoudian 2008-3-17
--   Add    h3cEponUniPortPolicyOutboundPir to h3cEponUniPortPolicyTable
--   Mofify h3cEponUniPortPolicyOutboundCir
-- V1.7 Updated by zhaodan 2008-06-04
--   Add h3cEponUniLinkUpTrap and h3cEponUniLinkDownTrap.
--   Modify the MAX-ACCESS of h3cEponUniIndex to accessible-for-notify.
-- =================================================================
A3COM-HUAWEI-EPON-UNI-MIB DEFINITIONS ::= BEGIN

IMPORTS
        h3cEpon
    FROM A3COM-HUAWEI-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;

h3cEponUni MODULE-IDENTITY
    LAST-UPDATED "200807281743Z"
    ORGANIZATION
        "Hangzhou H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team Hangzhou H3C Technologies Co., Ltd.
         Hai-Dian District Beijing P.R. China
         Http://www.h3c.com
         Zip:100085"
    DESCRIPTION
        "The objects in this MIB module are used to manage and
        display current configuration of UNI (user network interface)
        which is based on the ONU(Optical Network Unit)."
    ::= { h3cEpon 5 }

h3cEponUniSysMan OBJECT IDENTIFIER ::= { h3cEponUni 1 }

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

h3cEponUniSysManEntry OBJECT-TYPE
    SYNTAX      H3cEponUniSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cEponUniSysManTable."
    INDEX
        {
            ifIndex,
            h3cEponUniIndex
        }
    ::= { h3cEponUniSysManTable 1 }


H3cEponUniSysManEntry ::= SEQUENCE
    {
        h3cEponUniIndex                     Integer32,
        h3cEponUniDescr                     OCTET STRING,
        h3cEponUniAdminStatus               INTEGER,
        h3cEponUniMdi                       INTEGER,
        h3cEponUniPriority                  Integer32,
        h3cEponUniVlanType                  INTEGER,
        h3cEponUniAccessVlan                Integer32,
        h3cEponUniTrunkPvid                 INTEGER,
        h3cEponUniVLANTrunkAllowListLow     OCTET STRING,
        h3cEponUniVLANTrunkAllowListHigh    OCTET STRING,
        h3cEponUniInboundLineRate           Integer32,
        h3cEponUniOutboundLineRate          Integer32,
        h3cEponUniFlowControl               TruthValue,
        h3cEponUniSpeed                     INTEGER,
        h3cEponUniDuplex                    INTEGER,
        h3cEponUniVlanVPNStatus             TruthValue,
        h3cEponUniCountReset                INTEGER,
        h3cEponUniPortIsolate               INTEGER,
        h3cEponUniVlanConfiguration         OCTET STRING,
        h3cEponUniAutoNegotiation           INTEGER,
        h3cEponUniRestartAutoNeg            INTEGER,
        h3cEponUniLinkStatus                INTEGER,
        h3cEponUniInterfaceType             INTEGER,
        h3cEponUniVitualCableTest           INTEGER,
        h3cEponUniVCTCableStatus            INTEGER,
        h3cEponUniVCTCableLength            Integer32,
        h3cEponUniVCTImpedanceMismatch      INTEGER,
        h3cEponUniVCTPairSkew               Integer32,
        h3cEponUniVCTPairSwap               INTEGER,
        h3cEponUniVCTPolaritySwap           INTEGER,
        h3cEponUniVCTInsertionLoss          Integer32,
        h3cEponUniVCTReturnLoss             Integer32,
        h3cEponUniVCTNearendCrosstalk       Integer32
    }

h3cEponUniIndex 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."
    ::= { h3cEponUniSysManEntry 1 }

h3cEponUniDescr 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."
    ::= { h3cEponUniSysManEntry 2 }

h3cEponUniAdminStatus 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,
        h3cEponUniAdminStatus is then changed to either the up(1) or
        testing(3) states (or remains in the down(2) state)."
    ::= { h3cEponUniSysManEntry 3 }

h3cEponUniMdi 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)."
    ::= { h3cEponUniSysManEntry 4 }

h3cEponUniPriority 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."
    ::= { h3cEponUniSysManEntry 5 }

h3cEponUniVlanType 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."
    ::= { h3cEponUniSysManEntry 6 }

h3cEponUniAccessVlan 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."
    ::= { h3cEponUniSysManEntry 7 }

h3cEponUniTrunkPvid 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."
    ::= { h3cEponUniSysManEntry 8 }

h3cEponUniVLANTrunkAllowListLow 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'."
    ::= { h3cEponUniSysManEntry 9 }

h3cEponUniVLANTrunkAllowListHigh 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'.
        "
    ::= { h3cEponUniSysManEntry 10 }

h3cEponUniInboundLineRate 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
        h3cEponUniLineRateMax in the entry.  It must be multiple
        of the value of h3cEponUniLineRateStep. The default value of
        h3cEponUniLineRate is the value of h3cEponUniLineRateMax."
    ::= { h3cEponUniSysManEntry 11 }

h3cEponUniOutboundLineRate 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
        h3cEponUniLineRateMax in the entry. It must be multiple
        of the value of h3cEponUniLineRateStep.  The default value of
        h3cEponUniLineRate is the value of h3cEponUniLineRateMax."
    ::= { h3cEponUniSysManEntry 12 }

h3cEponUniFlowControl 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."
    ::= { h3cEponUniSysManEntry 13 }

h3cEponUniSpeed 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."
    ::= { h3cEponUniSysManEntry 14 }

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

h3cEponUniVlanVPNStatus 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."
    ::= { h3cEponUniSysManEntry 16 }

h3cEponUniCountReset 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."
    ::= { h3cEponUniSysManEntry 17 }

h3cEponUniPortIsolate 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.
        "
    ::= { h3cEponUniSysManEntry 18 }


h3cEponUniVlanConfiguration 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: h3cEponUniVlanConfiguration 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.
        "
    ::= { h3cEponUniSysManEntry 23 }

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

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


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

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

-- BEGIN for UNI VCT
h3cEponUniVitualCableTest 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 }
    ::= { h3cEponUniSysManEntry 31 }

h3cEponUniVCTCableStatus 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.
        "
    ::= { h3cEponUniSysManEntry 32 }

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

h3cEponUniVCTImpedanceMismatch 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."
    ::= { h3cEponUniSysManEntry 34 }

h3cEponUniVCTPairSkew 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).
        "
    ::= { h3cEponUniSysManEntry 35 }

h3cEponUniVCTPairSwap 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."
    ::= { h3cEponUniSysManEntry 36 }

h3cEponUniVCTPolaritySwap 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."
    ::= { h3cEponUniSysManEntry 37 }

h3cEponUniVCTInsertionLoss 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).
        "
    ::= { h3cEponUniSysManEntry 38 }

h3cEponUniVCTReturnLoss 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).
        "
    ::= { h3cEponUniSysManEntry 39 }

h3cEponUniVCTNearendCrosstalk 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).
        "
    ::= { h3cEponUniSysManEntry 40 }

-- END for UNI VCT

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

h3cEponUniCountEntry OBJECT-TYPE
    SYNTAX      H3cEponUniCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing management information applicable
        to a particular interface."
    INDEX
        {
            ifIndex,
            h3cEponUniIndex
        }
    ::= { h3cEponUniCountTable 1 }

H3cEponUniCountEntry ::= SEQUENCE
    {
        h3cEponUniInStatsPkts                 Unsigned32,
        h3cEponUniInStatsUnicastPkts          Unsigned32,
        h3cEponUniInStatsBroadcastPkts        Unsigned32,
        h3cEponUniInStatsMulticastPkts        Unsigned32,
        h3cEponUniInPausePkts                 Unsigned32,
        h3cEponUniInTotalErrors               Unsigned32,
        h3cEponUniInStatsCRCAlignErrors       Unsigned32,
        h3cEponUniInStatsUndersizePkts        Unsigned32,
        h3cEponUniInStatsOversizePkts         Unsigned32,
        h3cEponUniInErrorbyOther              Unsigned32,
        h3cEponUniOutStatsPkts                Unsigned32,
        h3cEponUniOutStatsUnicastPkts         Unsigned32,
        h3cEponUniOutStatsBroadcastPkts       Unsigned32,
        h3cEponUniOutStatsMulticastPkts       Unsigned32,
        h3cEponUniOutStatsPausePkts           Unsigned32,
        h3cEponUniOutTotalErrors              Unsigned32,
        h3cEponUniOutStatsCollisions          Unsigned32,
        h3cEponUniOutDelayExceededDiscards    Unsigned32,
        h3cEponUniOutErrorbyOther             Unsigned32,
        h3cEponUniOutDroppedFrames            Unsigned32
    }

h3cEponUniInStatsPkts 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."
    ::= { h3cEponUniCountEntry 1 }

h3cEponUniInStatsUnicastPkts 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."
    ::= { h3cEponUniCountEntry 2 }

h3cEponUniInStatsBroadcastPkts 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."
    ::= { h3cEponUniCountEntry 3 }

h3cEponUniInStatsMulticastPkts 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."
    ::= { h3cEponUniCountEntry 4 }

h3cEponUniInPausePkts 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."
    ::= { h3cEponUniCountEntry 5 }

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

h3cEponUniInStatsCRCAlignErrors 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)."
    ::= { h3cEponUniCountEntry 7 }

h3cEponUniInStatsUndersizePkts 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."
    ::= { h3cEponUniCountEntry 8 }

h3cEponUniInStatsOversizePkts 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."
    ::= { h3cEponUniCountEntry 9 }

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

h3cEponUniOutStatsPkts 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."
    ::= { h3cEponUniCountEntry 11 }

h3cEponUniOutStatsUnicastPkts 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."
    ::= { h3cEponUniCountEntry 12 }

h3cEponUniOutStatsBroadcastPkts 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."
    ::= { h3cEponUniCountEntry 13 }

h3cEponUniOutStatsMulticastPkts 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."
    ::= { h3cEponUniCountEntry 14 }

h3cEponUniOutStatsPausePkts 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."
    ::= { h3cEponUniCountEntry 15 }

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

h3cEponUniOutStatsCollisions 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."
    ::= { h3cEponUniCountEntry 17 }

h3cEponUniOutDelayExceededDiscards 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."
    ::= { h3cEponUniCountEntry 18 }

h3cEponUniOutErrorbyOther 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."
    ::= { h3cEponUniCountEntry 19 }

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

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

h3cEponUniIgmpInfoEntry OBJECT-TYPE
    SYNTAX      H3cEponUniIgmpInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cEponUniIgmpInfoTable."
    INDEX
        {
            ifIndex,
            h3cEponUniIndex,
            h3cEponUniMacIndex
        }
    ::= { h3cEponUniIgmpInfoTable 1 }

H3cEponUniIgmpInfoEntry ::= SEQUENCE
    {
        h3cEponUniMacIndex          Integer32,
        h3cEponUniIgmpMacAddress    MacAddress,
        h3cEponUniIgmpVlanId        Integer32
    }

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

h3cEponUniIgmpMacAddress 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."
    ::= { h3cEponUniIgmpInfoEntry 2 }

h3cEponUniIgmpVlanId 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."
    ::= { h3cEponUniIgmpInfoEntry 3 }

h3cEponUniParaMan OBJECT IDENTIFIER ::= { h3cEponUniSysMan 4 }

h3cEponUniLineRateMax 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."
    ::= { h3cEponUniParaMan 1 }

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

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


h3cEponUniScalarGroup OBJECT IDENTIFIER ::= { h3cEponUniSysMan 5 }

--
-- h3cEponUniPortPolicyTable
--

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

h3cEponUniPortPolicyEntry OBJECT-TYPE
    SYNTAX      H3cEponUniPortPolicyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cEponUniPortPolicyTable.
        "
    INDEX
        {
            ifIndex,
            h3cEponUniIndex
        }
    ::= { h3cEponUniPortPolicyTable 1 }

H3cEponUniPortPolicyEntry ::= SEQUENCE
    {
        h3cEponUniPortPolicyStatus                INTEGER,
        h3cEponUniPortPolicyCir                   Integer32,
        h3cEponUniPortPolicyBucketDepth           Integer32,
        h3cEponUniPortPolicyExtraBurst            Integer32,
        h3cEponUniPortPolicyInboundCir            Integer32,
        h3cEponUniPortPolicyInboundBucketDepth    Integer32,
        h3cEponUniPortPolicyInboundExtraBurst     Integer32,
        h3cEponUniPortPolicyOutboundCir           Integer32,
        h3cEponUniPortPolicyOutboundPir           Integer32
    }

h3cEponUniPortPolicyStatus 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 }
    ::= { h3cEponUniPortPolicyEntry 1 }

h3cEponUniPortPolicyCir 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 }
    ::= { h3cEponUniPortPolicyEntry 2 }

h3cEponUniPortPolicyBucketDepth 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 }
    ::= { h3cEponUniPortPolicyEntry 3 }

h3cEponUniPortPolicyExtraBurst 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 }
    ::= { h3cEponUniPortPolicyEntry 4 }

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

h3cEponUniPortPolicyInboundBucketDepth 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 }
    ::= { h3cEponUniPortPolicyEntry 6 }

h3cEponUniPortPolicyInboundExtraBurst 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 }
    ::= { h3cEponUniPortPolicyEntry 7 }

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

h3cEponUniPortPolicyOutboundPir OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The outbound peak information rate, stepped by 64, measured in kbps.
        "
    ::= { h3cEponUniPortPolicyEntry 9 }
--
-- h3cEponUniMulticastTable
--
h3cEponUniMulticastTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cEponUniMulticastEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        UNI multicast configuration.
        "
    ::= { h3cEponUniSysMan 7 }

h3cEponUniMulticastEntry OBJECT-TYPE
    SYNTAX      H3cEponUniMulticastEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cEponUniPortPolicyTable.
        "
    INDEX
        {
            ifIndex,
            h3cEponUniIndex
        }
    ::= { h3cEponUniMulticastTable 1 }

H3cEponUniMulticastEntry ::= SEQUENCE
    {
        h3cEponUniMulticastGroupNumber    Integer32,
        h3cEponUniMulticastVlanList       OCTET STRING,
        h3cEponUniMulticastStripStatus    INTEGER,
        h3cEponUniMulticastFastleave      TruthValue
    }

h3cEponUniMulticastGroupNumber 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 }
    ::= { h3cEponUniMulticastEntry 1 }


h3cEponUniMulticastVlanList 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.
        "
    ::= { h3cEponUniMulticastEntry 2 }

h3cEponUniMulticastStripStatus 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 }
    ::= { h3cEponUniMulticastEntry 3 }

h3cEponUniMulticastFastleave 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 }
    ::= { h3cEponUniMulticastEntry 4 }

--
-- h3cEponUniTechAbilityTable
--
h3cEponUniTechAbilityTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cEponUniTechAbilityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        UNI multicast configuration.
        "
    ::= { h3cEponUniSysMan 8 }

h3cEponUniTechAbilityEntry OBJECT-TYPE
    SYNTAX      H3cEponUniTechAbilityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of h3cEponUniTechAbilityTable.
        "
    INDEX
        {
            ifIndex,
            h3cEponUniIndex
        }
    ::= { h3cEponUniTechAbilityTable 1 }

H3cEponUniTechAbilityEntry ::= SEQUENCE
    {
        h3cEponUniLocalTechAbility         OCTET STRING,
        h3cEponUniAdvertisedTechAbility    OCTET STRING
    }
h3cEponUniLocalTechAbility 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.
        "
    ::= { h3cEponUniTechAbilityEntry 1 }

h3cEponUniAdvertisedTechAbility 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 h3cEponUniLocalTechAbility.
        "
    ::= { h3cEponUniTechAbilityEntry 2 }

--
-- h3cEponUniMulticastControlTable
--

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

h3cEponUniMulticastControlEntry OBJECT-TYPE
    SYNTAX      H3cEponUniMulticastControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponUniMulticastControlTable.
        "
    INDEX
        {
            ifIndex,
            h3cEponUniIndex,
            h3cEponUniMulticastIndex
        }
    ::= { h3cEponUniMulticastControlTable 1 }

H3cEponUniMulticastControlEntry ::= SEQUENCE
    {
        h3cEponUniMulticastVlanIndex        Integer32,
        h3cEponUniMulticastAddressList      OCTET STRING,
        h3cEponUniMulticastAccessRule       INTEGER,
        h3cEponUniMulticastChannelLimit     Integer32,
        h3cEponUniMulticastPreTimeSlice     Integer32,
        h3cEponUniMulticastPreTimes         Integer32,
        h3cEponUniMulticastPreInterval      Integer32,
        h3cEponUniMulticastRowStatus        RowStatus,
        h3cEponUniMulticastIndex            INTEGER,
        h3cEponUniMulticastSourceIpList     OCTET STRING,
        h3cEponUniMulticastResetInterval    Integer32
    }

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

h3cEponUniMulticastAddressList 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.
        "
    ::= { h3cEponUniMulticastControlEntry 2 }

h3cEponUniMulticastAccessRule 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.
        "
    ::= { h3cEponUniMulticastControlEntry 3 }

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

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

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

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

h3cEponUniMulticastRowStatus 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.
        "
    ::= { h3cEponUniMulticastControlEntry 8 }

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

h3cEponUniMulticastSourceIpList 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.
        "
    ::= { h3cEponUniMulticastControlEntry 10 }

h3cEponUniMulticastResetInterval 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.
        "
    ::= { h3cEponUniMulticastControlEntry 11 }

--
-- h3cEponUniQosIndexNextTable
--

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

h3cEponUniQosIndexNextEntry OBJECT-TYPE
    SYNTAX      H3cEponUniQosIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponUniQosIndexNextTable.
        "
    INDEX
        {
            ifIndex,
            h3cEponUniIndex
        }
    ::= { h3cEponUniQosIndexNextTable 1 }

H3cEponUniQosIndexNextEntry ::= SEQUENCE
    {
        h3cEponUniQosConfIndexNext    Integer32
    }

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

--
-- h3cEponUniQosConfTable
--

h3cEponUniQosConfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cEponUniQosConfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        UNI Qos configuration.
        "
    ::= { h3cEponUniSysMan 11 }

h3cEponUniQosConfEntry OBJECT-TYPE
    SYNTAX      H3cEponUniQosConfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponUniQosConfTable.
        "
    INDEX
        {
            ifIndex,
            h3cEponUniIndex,
            h3cEponUniQosConfIndex
        }
    ::= { h3cEponUniQosConfTable 1 }

H3cEponUniQosConfEntry ::= SEQUENCE
    {
        h3cEponUniQosConfIndex             Integer32,
        h3cEponUniQosConfRuleIndexNext     Integer32,
        h3cEponUniQosConfMappedQueue       Integer32,
        h3cEponUniQosConfMarkedPriority    Integer32,
        h3cEponUniQosConfRowStatus         RowStatus
    }

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

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

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

h3cEponUniQosConfMarkedPriority 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.
        "
    ::= { h3cEponUniQosConfEntry 4 }

h3cEponUniQosConfRowStatus 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.
        "
    ::= { h3cEponUniQosConfEntry 5 }

--
-- h3cEponUniQosRuleTable
--

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

h3cEponUniQosRuleEntry OBJECT-TYPE
    SYNTAX      H3cEponUniQosRuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponUniQosRuleTable.
        "
    INDEX
        {
            ifIndex,
            h3cEponUniIndex,
            h3cEponUniQosConfIndex,
            h3cEponUniQosRuleIndex
        }
    ::= { h3cEponUniQosRuleTable 1 }

H3cEponUniQosRuleEntry ::= SEQUENCE
    {
        h3cEponUniQosRuleIndex         Integer32,
        h3cEponUniQosRuleSelector      INTEGER,
        h3cEponUniQosRuleValue         Integer32,
        h3cEponUniQosRuleMacAddress    MacAddress,
        h3cEponUniQosRuleOperator      INTEGER,
        h3cEponUniQosRuleRowStatus     RowStatus
    }

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

h3cEponUniQosRuleSelector 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.
        "
    ::= { h3cEponUniQosRuleEntry 2 }

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

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

h3cEponUniQosRuleOperator 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.
        "
    ::= { h3cEponUniQosRuleEntry 5 }

h3cEponUniQosRuleRowStatus 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.
        "
    ::= { h3cEponUniQosRuleEntry 6 }

--
-- h3cEponUniMirrorGroupTable
--

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

h3cEponUniMirrorGroupEntry OBJECT-TYPE
    SYNTAX      H3cEponUniMirrorGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the h3cEponUniMirrorGroupTable.
        "
    INDEX
        {
            ifIndex,
            h3cEponUniMirrorGroupID
        }
    ::= { h3cEponUniMirrorGroupTable 1 }

H3cEponUniMirrorGroupEntry ::= SEQUENCE
    {
        h3cEponUniMirrorGroupID             Integer32,
        h3cEponUniMirrorInboundPortList     OCTET STRING,
        h3cEponUniMirrorOutboundPortList    OCTET STRING,
        h3cEponUniMonitorPort               Integer32,
        h3cEponUniMirrorRowStatus           RowStatus
    }

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

h3cEponUniMirrorInboundPortList 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'.
        "
    ::= { h3cEponUniMirrorGroupEntry 2 }

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

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

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

--
-- h3cEponUniMirrorGroupIdNextTable
--

h3cEponUniMirrorGroupIdNextTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cEponUniMirrorGroupIdNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The next index table, which is used by h3cEponUniMirrorGroupTable.
        "
    ::= { h3cEponUniSysMan 14 }

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

H3cEponUniMirrorGroupIdNextEntry ::= SEQUENCE
    {
        h3cEponUniMirrorGroupIDNext    Integer32
    }

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

--
-- h3cEponUniMulticastCtrlInfoTable
--

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

h3cEponUniMulticastCtrlInfoEntry OBJECT-TYPE
    SYNTAX      H3cEponUniMulticastCtrlInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponUniMulticastCtrlInfoTable.
        "
    INDEX
        {
            ifIndex,
            h3cEponUniIndex,
            h3cEponUniMultActVlan,
            h3cEponUniMultActAddress
        }
    ::= { h3cEponUniMulticastCtrlInfoTable 1 }

H3cEponUniMulticastCtrlInfoEntry ::= SEQUENCE
    {
        h3cEponUniMultActVlan          Integer32,
        h3cEponUniMultActAddress       IpAddress,
        h3cEponUniMultActAccessRule    INTEGER,
        h3cEponUniMultActPreTimes      Integer32,
        h3cEponUniMultActPreRemain     Integer32
    }

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

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

h3cEponUniMultActAccessRule 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.
        "
    ::= { h3cEponUniMulticastCtrlInfoEntry 3 }

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

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

--
-- h3cEponUniMulticastIndexNextTable
--

h3cEponUniMulticastIndexNextTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cEponUniMulticastIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The next index table, which is used by h3cEponUniMulticastControlTable.
        "
    ::= { h3cEponUniSysMan 16 }

h3cEponUniMulticastIndexNextEntry OBJECT-TYPE
    SYNTAX      H3cEponUniMulticastIndexNextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cEponUniMulticastIndexNextEntry.
        "
    INDEX
        {
            ifIndex,
            h3cEponUniIndex
        }
    ::= { h3cEponUniMulticastIndexNextTable 1 }

H3cEponUniMulticastIndexNextEntry ::= SEQUENCE
    {
        h3cEponUniMulticastConfIndexNext    Integer32
    }

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

--
-- h3cEponUni NOTIFICATION
--

h3cEponUniTrap OBJECT IDENTIFIER ::= { h3cEponUni 2 }

h3cEponUniTrapPrefix OBJECT IDENTIFIER ::= { h3cEponUniTrap 0 }

h3cEponUniLinkUpTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            h3cEponUniIndex,
            h3cEponUniDescr,
            h3cEponUniAdminStatus
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponUniLinkUpTrap notification is sent
        when the UNI up event is detected
        and the transmitting switch is turned on.
        "
    ::= { h3cEponUniTrapPrefix 1 }

h3cEponUniLinkDownTrap NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex,
            ifDescr,
            h3cEponUniIndex,
            h3cEponUniDescr,
            h3cEponUniAdminStatus
        }
    STATUS      current
    DESCRIPTION
        "
        A h3cEponUniLinkDownTrap notification is sent
        when the UNI down event is detected
        and the transmitting switch is turned on.
        "
    ::= { h3cEponUniTrapPrefix 2 }

END
