-- ============================================================================
-- Copyright (c) 2004-2018 Hangzhou H3C Tech. Co., Ltd.  All rights reserved.
--
-- Description: Interface QoS Management Information Base.
-- Reference: RFC 3291
-- Version: 1.10
-- History:
-- V1.0 created by tangshun.
-- V1.1 2006/02/24 modified by changhuifeng
--  Add  object h3cIfQoSWFQType in h3cIfQoSWFQTable.
--  Add h3cIfQoSL3PlusObjects and h3cIfQoSPortBindingTable.
--  Modify property of h3cIfQoSPortWredPreID to "not-accessible".
--  Add the  enumeration ipall to h3cIfQoSPQClassRuleType in h3cIfQoSPQClassRuleTable.
--  Modify some text errors in this file.
-- V1.2 2006/03/29 modified by xialei
--  Modify the ipv4acl value in description of h3cIfQoSPQClassRuleValue and h3cIfQoSCQClassRuleValue
--  Add the enumeration mpls to h3cIfQoSPQClassRuleType in h3cIfQoSPQClassRuleTable.
--  Add the enumeration ipall, mpls to h3cIfQoSCQClassRuleType in h3cIfQoSCQClassRuleTable.
-- V1.3 2006/05/24 add by cuichuanjin
--  Add h3cIfQoSCarlTable
-- V1.4 2007/11/12 modified by mouxuanli
--  Modify the description of the object h3cIfQoSPassPackets.
--  Add 18 objects in h3cIfQoSHardwareQueueRunInfoTable.
--  Add h3cIfQoSHQueueTcpRunInfoTable.
-- V1.5 2008/9/25 modified by yueting
--  Add h3cQoSIfTraStaConfigInfoTable.
--  Add h3cQoSIfTraStaRunInfoTable.
-- V1.6 2011/12/14 modified by mouxuanli
--  Add the enumeration byteCountWrr, byteCountWfq to h3cIfQoSQSMode in h3cIfQoSQSModeTable.
--  Add h3cIfQoSQSMinBandwidth in h3cIfQoSQSWeightTable.
--  Add h3cIfQoSLRPir in h3cIfQoSLRConfigTable.
-- V1.7 2012/04/28 modified by mouxuanli
--  Add the enumeration ipPrecedence, dot11e, auto to h3cIfQoSPortPriorityTrustTrustType.
--  Add the enumeration overcast to h3cIfQoSPortPriorityTrustOvercastType.
--  Add h3cIfQoSPrePriMapTable.
-- V1.8 2013/10/25 modified by mouxuanli
--  Add the enumeration gmb to h3cIfQoSQSMode.
--  Add h3cIfQoSQSMinBandwidthPercent in h3cIfQoSQSWeightTable.
--  Add h3cIfQoSLRUnit in h3cIfQoSLRConfigTable.
--  Add h3cQoSGlobalPriorityObject.
-- V1.9 2014/11/25 modified by zhaixiaoxiang & xunzhi
--  Modify the name of CarAction to H3cIfCarAction.
--  Add the enumeration remarkLocalPreContinue, remarkLocalPrePass, remarkDropPreContinue
--  and remarkDropPrePass to H3cIfCarAction and modify the related descriptions.
--  Add the enumeration hierarchy to h3cIfQoSAggregativeCarType.
--  Add h3cIfQoSTricolorCarUnitType in h3cIfQoSTricolorCarConfigTable.
--  Add h3cIfQoSGTSPir and h3cIfQoSGTSUnitType in h3cIfQoSGTSConfigTable.
--  Add h3cIfQoSProcessingStatus node.
-- V1.10 2016/10/25 modified by gaomengfei
--  Add the enumeration group3 and group4 to h3cIfQoSQueueGroupType
--  2017/05/20 modified by gaomengfei
--  Add the h3cIfQoSQueueName in h3cIfQoSHardwareQueueRunInfoEntry
--  Add h3cIfQoSHardwareQueueTotalRunInfoTable
--  2018/02/28 modified by hulifang
--  Add h3cIfQoSCoppFlowStatTable
-- ============================================================================
H3C-IFQOS2-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            h3cCommon
                FROM HUAWEI-3COM-OID-MIB
            OBJECT-TYPE, MODULE-IDENTITY, Integer32, Counter64, Unsigned32, IpAddress
                FROM SNMPv2-SMI
            ifIndex
                FROM IF-MIB
            InetAddressIPv6, InetAddressPrefixLength
                FROM INET-ADDRESS-MIB
            RowStatus, TruthValue, TEXTUAL-CONVENTION
                FROM SNMPv2-TC;
--
-- Nodes definitions
--

        h3cIfQos2 MODULE-IDENTITY
            LAST-UPDATED "201802280000Z"
            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
                "Interface QoS management information base."
            REVISION "201802280000Z"        --February 28, 2018 at 00:00 GMT
            DESCRIPTION
                "Add h3cIfQoSCoppFlowStatTable."
            REVISION "201705200000Z"        --May 20, 2017 at 00:00 GMT
            DESCRIPTION
                "Add the h3cIfQoSQueueName in h3cIfQoSHardwareQueueRunInfoEntry and
                add h3cIfQoSHardwareQueueTotalRunInfoTable."
            REVISION "201610250000Z"        --October 25, 2016 at 00:00 GMT
            DESCRIPTION
                "Add the enumeration group3 and group4 to h3cIfQoSQueueGroupType."
            REVISION "201411250000Z"        --November 25, 2014 at 00:00 GMT
            DESCRIPTION
                "Add the unit type node in h3cIfQoSTricolorCarConfigTable and
                h3cIfQoSGTSConfigTable, and add object h3cIfQoSProcessingStatus."
            REVISION "201311280000Z"        --November 28, 2013 at 00:00 GMT
            DESCRIPTION
                "Interface QoS management information base."
            ::= { h3cQos2 1 }

        h3cQos2     OBJECT IDENTIFIER ::= { h3cCommon 65 }

-- IfCar Action
        H3cIfCarAction ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION
                "The actions taken when packets conforming or exceeding the configured CIR."
            SYNTAX  INTEGER
            {
                invalid(0),
                pass(1),
                continue(2),
                discard(3),
                remark(4),
                remark-ip-continue(5),
                remark-ip-pass(6),
                remark-mplsexp-continue(7),
                remark-mplsexp-pass(8),
                remark-dscp-continue(9),
                remark-dscp-pass(10),
                remark-dot1p-continue(11),
                remark-dot1p-pass(12),
                remark-atm-clp-continue(13),
                remark-atm-clp-pass(14),
                remark-fr-de-continue(15),
                remark-fr-de-pass(16),
                remarkLocalPreContinue(17),
                remarkLocalPrePass(18),
                remarkDropPreContinue(19),
                remarkDropPrePass(20)
            }

--
-- priority queue
--
        PriorityQueue ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION
                "The type of priority queue."
            SYNTAX INTEGER
            {
                top(1),
                middle(2),
                normal(3),
                bottom(4)
            }
--
-- direction
--
        Direction ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION
                "Inbound or outbound."
            SYNTAX INTEGER
            {
                inbound(1),
                outbound(2)
            }
--
-- node of h3cIfQoSHardwareQueueObjects
--
        h3cIfQoSHardwareQueueObjects OBJECT IDENTIFIER ::= { h3cIfQos2 1 }
--
-- nodes of h3cIfQoSHardwareQueueConfigGroup
--
        h3cIfQoSHardwareQueueConfigGroup OBJECT IDENTIFIER ::= { h3cIfQoSHardwareQueueObjects 1 }

        h3cIfQoSQSModeTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSQSModeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of queue schedule mode information."
            ::= { h3cIfQoSHardwareQueueConfigGroup 1 }

        h3cIfQoSQSModeEntry OBJECT-TYPE
            SYNTAX H3cIfQoSQSModeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queue schedule mode information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSQSModeTable 1 }

        H3cIfQoSQSModeEntry ::=
            SEQUENCE
            {
                h3cIfQoSQSMode
                    INTEGER
            }

        h3cIfQoSQSMode OBJECT-TYPE
            SYNTAX INTEGER
            {
                sp(1),
                sp0(2),
                sp1(3),
                sp2(4),
                wrr(5),
                hwfq(6),
                wrr-sp(7),
                byteCountWrr(8),
                byteCountWfq(9),
                gmb(10)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The mode of schedule."
            ::= { h3cIfQoSQSModeEntry 1 }

--
-- notes of h3cIfQoSQSWeightTable
--
        h3cIfQoSQSWeightTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSQSWeightEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of queue schedule weight configuration information."
            ::= { h3cIfQoSHardwareQueueConfigGroup 2 }

        h3cIfQoSQSWeightEntry OBJECT-TYPE
            SYNTAX H3cIfQoSQSWeightEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queue schedule weight configuration information entry."
            INDEX { ifIndex, h3cIfQoSQueueID }
            ::= { h3cIfQoSQSWeightTable 1 }

        H3cIfQoSQSWeightEntry ::=
            SEQUENCE
            {
                h3cIfQoSQueueID
                    Integer32,
                h3cIfQoSQueueGroupType
                    INTEGER,
                h3cIfQoSQSType
                    INTEGER,
                h3cIfQoSQSValue
                    Integer32,
                h3cIfQoSQSMaxDelay
                    Integer32,
                h3cIfQoSQSMinBandwidth
                    Integer32,
                h3cIfQoSQSMinBandwidthPercent
                    Unsigned32
            }

        h3cIfQoSQueueID OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queue ID"
            ::= { h3cIfQoSQSWeightEntry 1 }

        h3cIfQoSQueueGroupType OBJECT-TYPE
            SYNTAX INTEGER
            {
                group0(1),
                group1(2),
                group2(3),
                group3(4),
                group4(5)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Group type of WRR and WFQ."
            ::= { h3cIfQoSQSWeightEntry 2 }

        h3cIfQoSQSType OBJECT-TYPE
            SYNTAX INTEGER
            {
                weight(1),
                byte-count(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Schedule type."
            ::= { h3cIfQoSQSWeightEntry 3 }

        h3cIfQoSQSValue OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Schedule value."
            ::= { h3cIfQoSQSWeightEntry 4 }

        h3cIfQoSQSMaxDelay OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Max delay."
            DEFVAL { 9 }
            ::= { h3cIfQoSQSWeightEntry 5 }

        h3cIfQoSQSMinBandwidth OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Min bandwidth.  Unit: kbps."
            ::= { h3cIfQoSQSWeightEntry 6 }

        h3cIfQoSQSMinBandwidthPercent OBJECT-TYPE
            SYNTAX Unsigned32  (0..100 | 255)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Percent of min bandwidth.  Unit: %.
                 The value is 255 when the schedule mode of the queue is strict queuing.
                "
            ::= { h3cIfQoSQSWeightEntry 7 }

--
-- nodes of h3cIfQoSHardwareQueueRunInfoGroup
--
        h3cIfQoSHardwareQueueRunInfoGroup OBJECT IDENTIFIER ::= { h3cIfQoSHardwareQueueObjects 2 }

        h3cIfQoSHardwareQueueRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSHardwareQueueRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of queue statistic information."
            ::= { h3cIfQoSHardwareQueueRunInfoGroup 1 }

        h3cIfQoSHardwareQueueRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSHardwareQueueRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queue statistic information entry."
            INDEX { ifIndex, h3cIfQoSQueueID }
            ::= { h3cIfQoSHardwareQueueRunInfoTable 1 }

        H3cIfQoSHardwareQueueRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSPassPackets
                    Counter64,
                h3cIfQoSDropPackets
                    Counter64,
                h3cIfQoSPassBytes
                    Counter64,
                h3cIfQoSPassPPS
                    Unsigned32,
                h3cIfQoSPassBPS
                    Unsigned32,
                h3cIfQoSDropBytes
                    Counter64,
                h3cIfQoSQueueLengthInPkts
                    Unsigned32,
                h3cIfQoSQueueLengthInBytes
                    Unsigned32,
                h3cIfQoSCurQueuePkts
                    Unsigned32,
                h3cIfQoSCurQueueBytes
                    Unsigned32,
                h3cIfQoSCurQueuePPS
                    Unsigned32,
                h3cIfQoSCurQueueBPS
                    Unsigned32,
                h3cIfQoSTailDropPkts
                    Counter64,
                h3cIfQoSTailDropBytes
                    Counter64,
                h3cIfQoSTailDropPPS
                    Unsigned32,
                h3cIfQoSTailDropBPS
                    Unsigned32,
                h3cIfQoSWredDropPkts
                    Counter64,
                h3cIfQoSWredDropBytes
                    Counter64,
                h3cIfQoSWredDropPPS
                    Unsigned32,
                h3cIfQoSWredDropBPS
                    Unsigned32,
                h3cIfQoSQueueName
                    OCTET STRING
            }

        h3cIfQoSPassPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of forwarded packets."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 1 }

        h3cIfQoSDropPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of dropped packets."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 2 }

        h3cIfQoSPassBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of forwarded packets."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 3 }

        h3cIfQoSPassPPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The PPS of forwarded packets.  PPS: packets per second."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 4 }

        h3cIfQoSPassBPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The BPS of forwarded packets.  BPS: bytes per second."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 5 }

        h3cIfQoSDropBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of dropped packets."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 6 }

        h3cIfQoSQueueLengthInPkts OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The max number of packets which the queue can hold."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 7 }

        h3cIfQoSQueueLengthInBytes OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The max bytes of packets which the queue can hold."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 8 }

        h3cIfQoSCurQueuePkts OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packets in the current queue."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 9 }

        h3cIfQoSCurQueueBytes OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of packets in the current queue."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 10 }

        h3cIfQoSCurQueuePPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The PPS of packets in the current queue."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 11 }

        h3cIfQoSCurQueueBPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The BPS of packets in the current queue."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 12 }

        h3cIfQoSTailDropPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packets dropped by tail dropping."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 13 }

        h3cIfQoSTailDropBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of packets dropped by tail dropping."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 14 }

        h3cIfQoSTailDropPPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The PPS of packets dropped by tail dropping."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 15 }

        h3cIfQoSTailDropBPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The BPS of packets dropped by tail dropping."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 16 }

        h3cIfQoSWredDropPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packets dropped by WRED."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 17 }

        h3cIfQoSWredDropBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of packets dropped by WRED."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 18 }

        h3cIfQoSWredDropPPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The PPS of packets dropped by WRED."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 19 }

        h3cIfQoSWredDropBPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The BPS of packets dropped by WRED."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 20 }

        h3cIfQoSQueueName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(2..3))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Name of Queue."
            ::= { h3cIfQoSHardwareQueueRunInfoEntry 21 }

--
-- nodes of h3cIfQoSHQueueTcpRunInfoTable
--

        h3cIfQoSHQueueTcpRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSHQueueTcpRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of queue statistic information
                 about TCP and non-TCP packets."
            ::= { h3cIfQoSHardwareQueueRunInfoGroup 2 }

        h3cIfQoSHQueueTcpRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSHQueueTcpRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queue statistic information entry
                 about TCP and non-TCP packets."
            INDEX { ifIndex, h3cIfQoSQueueID }
            ::= { h3cIfQoSHQueueTcpRunInfoTable 1 }

        H3cIfQoSHQueueTcpRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSWredDropLPreNTcpPkts
                    Counter64,
                h3cIfQoSWredDropLPreNTcpBytes
                    Counter64,
                h3cIfQoSWredDropLPreNTcpPPS
                    Unsigned32,
                h3cIfQoSWredDropLPreNTcpBPS
                    Unsigned32,
                h3cIfQoSWredDropLPreTcpPkts
                    Counter64,
                h3cIfQoSWredDropLPreTcpBytes
                    Counter64,
                h3cIfQoSWredDropLPreTcpPPS
                    Unsigned32,
                h3cIfQoSWredDropLPreTcpBPS
                    Unsigned32,
                h3cIfQoSWredDropHPreNTcpPkts
                    Counter64,
                h3cIfQoSWredDropHPreNTcpBytes
                    Counter64,
                h3cIfQoSWredDropHPreNTcpPPS
                    Unsigned32,
                h3cIfQoSWredDropHPreNTcpBPS
                    Unsigned32,
                h3cIfQoSWredDropHPreTcpPkts
                    Counter64,
                h3cIfQoSWredDropHPreTcpBytes
                    Counter64,
                h3cIfQoSWredDropHPreTcpPPS
                    Unsigned32,
                h3cIfQoSWredDropHPreTcpBPS
                    Unsigned32
            }

        h3cIfQoSWredDropLPreNTcpPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of low-precedence non-TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 1 }

        h3cIfQoSWredDropLPreNTcpBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of low-precedence non-TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 2 }

        h3cIfQoSWredDropLPreNTcpPPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The PPS of low-precedence non-TCP packets dropped by WRED.
                 PPS: packets per second."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 3 }

        h3cIfQoSWredDropLPreNTcpBPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The BPS of low-precedence non-TCP packets dropped by WRED.
                 BPS: bytes per second."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 4 }

        h3cIfQoSWredDropLPreTcpPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of low-precedence TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 5 }

        h3cIfQoSWredDropLPreTcpBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of low-precedence TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 6 }

        h3cIfQoSWredDropLPreTcpPPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The PPS of low-precedence TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 7 }

        h3cIfQoSWredDropLPreTcpBPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The BPS of low-precedence TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 8 }

        h3cIfQoSWredDropHPreNTcpPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of high-precedence non-TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 9 }

        h3cIfQoSWredDropHPreNTcpBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of high-precedence non-TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 10 }

        h3cIfQoSWredDropHPreNTcpPPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The PPS of high-precedence non-TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 11 }

        h3cIfQoSWredDropHPreNTcpBPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The BPS of high-precedence non-TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 12 }

        h3cIfQoSWredDropHPreTcpPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of high-precedence TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 13 }

        h3cIfQoSWredDropHPreTcpBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of high-precedence TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 14 }

        h3cIfQoSWredDropHPreTcpPPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The PPS of high-precedence TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 15 }

        h3cIfQoSWredDropHPreTcpBPS OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The BPS of high-precedence TCP packets dropped by WRED."
            ::= { h3cIfQoSHQueueTcpRunInfoEntry 16 }

--
-- nodes of h3cIfQoSHardwareQueueTotalRunInfoTable
--

        h3cIfQoSHardwareQueueTotalRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSHardwareQueueTotalRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of queue statistic total information."
            ::= { h3cIfQoSHardwareQueueRunInfoGroup 3 }

        h3cIfQoSHardwareQueueTotalRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSHardwareQueueTotalRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queue statistic information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSHardwareQueueTotalRunInfoTable 1 }

        H3cIfQoSHardwareQueueTotalRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSQueueLength
                    Unsigned32,
                h3cIfQoSPeakQueueBytes
                    Unsigned32
            }

        h3cIfQoSQueueLength OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The length of queues."
            ::= { h3cIfQoSHardwareQueueTotalRunInfoEntry 1 }

        h3cIfQoSPeakQueueBytes OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The max bytes of packets in the current queues in the last 10 seconds."
            ::= { h3cIfQoSHardwareQueueTotalRunInfoEntry 2 }

--
-- nodes of h3cIfQoSSoftwareQueueObjects
--
        h3cIfQoSSoftwareQueueObjects OBJECT IDENTIFIER ::= { h3cIfQos2 2 }

--
-- nodes of h3cIfQoSFIFOObject
--
        h3cIfQoSFIFOObject OBJECT IDENTIFIER ::= { h3cIfQoSSoftwareQueueObjects 1 }

        h3cIfQoSFIFOConfigTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSFIFOConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of FIFO queue information."
            ::= { h3cIfQoSFIFOObject 1 }

        h3cIfQoSFIFOConfigEntry OBJECT-TYPE
            SYNTAX H3cIfQoSFIFOConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "FIFO queue information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSFIFOConfigTable 1 }

        H3cIfQoSFIFOConfigEntry ::=
            SEQUENCE
            {
                h3cIfQoSFIFOMaxQueueLen
                    Integer32
            }

        h3cIfQoSFIFOMaxQueueLen OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The maximum length of FIFO queue."
            ::= { h3cIfQoSFIFOConfigEntry 1 }

--
-- nodes of h3cIfQoSFifoRunfoTable
--

        h3cIfQoSFIFORunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSFIFORunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of FIFO queue statistic information."
            ::= { h3cIfQoSFIFOObject 2 }

        h3cIfQoSFIFORunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSFIFORunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "FIFO queue statistic information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSFIFORunInfoTable 1 }

        H3cIfQoSFIFORunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSFIFOSize
                    Integer32,
                h3cIfQoSFIFODiscardPackets
                    Counter64
            }

        h3cIfQoSFIFOSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packet in FIFO queue."
            ::= { h3cIfQoSFIFORunInfoEntry 1 }

        h3cIfQoSFIFODiscardPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of discard packet."
            ::= { h3cIfQoSFIFORunInfoEntry 2 }

--
-- nodes of
--
        h3cIfQoSPQObject OBJECT IDENTIFIER ::= { h3cIfQoSSoftwareQueueObjects 2 }

        h3cIfQoSPQConfigGroup OBJECT IDENTIFIER ::= { h3cIfQoSPQObject 1 }

        h3cIfQoSPQDefaultTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPQDefaultEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of priority queue default configuration information."
            ::= { h3cIfQoSPQConfigGroup 1 }

        h3cIfQoSPQDefaultEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPQDefaultEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Priority queue default configuration information entry."
            INDEX { h3cIfQoSPQListNumber }
            ::= { h3cIfQoSPQDefaultTable 1 }

        H3cIfQoSPQDefaultEntry ::=
            SEQUENCE
            {
                h3cIfQoSPQListNumber
                    Integer32,
                h3cIfQoSPQDefaultQueueType
                    PriorityQueue
            }

        h3cIfQoSPQListNumber OBJECT-TYPE
            SYNTAX Integer32 (1..16)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Priority queue list number."
            ::= { h3cIfQoSPQDefaultEntry 1 }

        h3cIfQoSPQDefaultQueueType OBJECT-TYPE
            SYNTAX PriorityQueue
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Specify priority queue that packets put into by default."
            ::= { h3cIfQoSPQDefaultEntry 2 }
--
-- nods of h3cIfQoSPQQueueLengthTable
--
        h3cIfQoSPQQueueLengthTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPQQueueLengthEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of queue length of priority queue configuration information."
            ::= { h3cIfQoSPQConfigGroup 2 }

        h3cIfQoSPQQueueLengthEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPQQueueLengthEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queue length of priority queue configuration information entry."
            INDEX { h3cIfQoSPQListNumber, h3cIfQoSPQQueueLengthType }
            ::= { h3cIfQoSPQQueueLengthTable 1 }

        H3cIfQoSPQQueueLengthEntry ::=
            SEQUENCE
            {
                h3cIfQoSPQQueueLengthType
                    PriorityQueue,
                h3cIfQoSPQQueueLengthValue
                    Integer32
            }

        h3cIfQoSPQQueueLengthType OBJECT-TYPE
            SYNTAX PriorityQueue
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Type of priority queue."
            ::= { h3cIfQoSPQQueueLengthEntry 1 }

        h3cIfQoSPQQueueLengthValue OBJECT-TYPE
            SYNTAX Integer32 (1..1024)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The size of priority queue."
            ::= { h3cIfQoSPQQueueLengthEntry 2 }

--
-- nodes of h3cIfQoSPQClassRuleTable
--
        h3cIfQoSPQClassRuleTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPQClassRuleEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of class rule of priority queue information."
            ::= { h3cIfQoSPQConfigGroup 3 }

        h3cIfQoSPQClassRuleEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPQClassRuleEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of class rule of priority queue information."
            INDEX { h3cIfQoSPQListNumber,
                    h3cIfQoSPQClassRuleType,
                    h3cIfQoSPQClassRuleValue }
            ::= { h3cIfQoSPQClassRuleTable 1 }

        H3cIfQoSPQClassRuleEntry ::=
            SEQUENCE
            {
                h3cIfQoSPQClassRuleType
                    INTEGER,
                h3cIfQoSPQClassRuleValue
                    Integer32,
                h3cIfQoSPQClassRuleQueueType
                    PriorityQueue,
                h3cIfQoSPQClassRowStatus
                    RowStatus
            }

        h3cIfQoSPQClassRuleType OBJECT-TYPE
            SYNTAX INTEGER
            {
                interface(1),
                ipv4acl(2),
                ipv6acl(3),
                fragments(4),
                greater-than(5),
                less-than(6),
                tcp(7),
                udp(8),
                ipall(9),
                mpls(10)
            }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Type of class rule.
                'ipall' means all ip packets."
            ::= { h3cIfQoSPQClassRuleEntry 1 }

        h3cIfQoSPQClassRuleValue OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Value of class rule.
                 interface : ifIndex
                 ipv4acl : 2000..3999
                 ipv6acl : 2000..3999, 10000..42767
                 greater-than : 0..65535
                 less-than : 0..65535
                 tcp : 0..65535
                 udp : 0..65535
                 mpls(exp-mask) : 1..255
                 other types: 0
                "
            ::= { h3cIfQoSPQClassRuleEntry 2 }

        h3cIfQoSPQClassRuleQueueType OBJECT-TYPE
            SYNTAX PriorityQueue
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Specify the queue for matched packets."
            ::= { h3cIfQoSPQClassRuleEntry 3 }

        h3cIfQoSPQClassRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSPQClassRuleEntry 4 }
--
-- nodes of h3cIfQoSPQApplyTable
--
        h3cIfQoSPQApplyTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPQApplyEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of priority queue instance."
            ::= { h3cIfQoSPQConfigGroup 4 }

        h3cIfQoSPQApplyEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPQApplyEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Priority queue instance information."
            INDEX { ifIndex }
            ::= { h3cIfQoSPQApplyTable 1 }

        H3cIfQoSPQApplyEntry ::=
            SEQUENCE
            {
                h3cIfQoSPQApplyListNumber
                    Integer32,
                h3cIfQoSPQApplyRowStatus
                    RowStatus
            }

        h3cIfQoSPQApplyListNumber OBJECT-TYPE
            SYNTAX Integer32 (1..16)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Priority queue list number."
            ::= { h3cIfQoSPQApplyEntry 1 }

        h3cIfQoSPQApplyRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSPQApplyEntry 2 }

--
-- Nodes of h3cIfQoSPQRunInfoGroup
--
        h3cIfQoSPQRunInfoGroup OBJECT IDENTIFIER ::= { h3cIfQoSPQObject 2 }
--
-- nodes of h3cIfQoSPQRunInfoTable
--
        h3cIfQoSPQRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPQRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of priority queue statistic information."
            ::= { h3cIfQoSPQRunInfoGroup 1 }

        h3cIfQoSPQRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPQRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Priority queue statistic information entry."
            INDEX { ifIndex, h3cIfQoSPQType }
            ::= { h3cIfQoSPQRunInfoTable 1 }

        H3cIfQoSPQRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSPQType
                    PriorityQueue,
                h3cIfQoSPQSize
                    Integer32,
                h3cIfQoSPQLength
                    Integer32,
                h3cIfQoSPQDiscardPackets
                    Counter64
            }

        h3cIfQoSPQType OBJECT-TYPE
            SYNTAX PriorityQueue
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The type of priority queue."
            ::= { h3cIfQoSPQRunInfoEntry 1 }

        h3cIfQoSPQSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packets in the priority queue."
            ::= { h3cIfQoSPQRunInfoEntry 2 }

        h3cIfQoSPQLength OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The maximum length of priority queue."
            ::= { h3cIfQoSPQRunInfoEntry 3 }

        h3cIfQoSPQDiscardPackets    OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The packet number of priority queue discard."
            ::= { h3cIfQoSPQRunInfoEntry 4 }
--
-- nodes of h3cIfQoSCQObject

        h3cIfQoSCQObject OBJECT IDENTIFIER ::= { h3cIfQoSSoftwareQueueObjects 3 }

        h3cIfQoSCQConfigGroup OBJECT IDENTIFIER ::= { h3cIfQoSCQObject 1 }

--
-- nodes of h3cIfQoSCQDefaultTable
--
        h3cIfQoSCQDefaultTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSCQDefaultEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of custom queue default configuration information."
            ::= { h3cIfQoSCQConfigGroup 1 }

        h3cIfQoSCQDefaultEntry OBJECT-TYPE
            SYNTAX H3cIfQoSCQDefaultEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Custom queue default configuration information entry."
            INDEX { h3cIfQoSCQListNumber }
            ::= { h3cIfQoSCQDefaultTable 1 }

        H3cIfQoSCQDefaultEntry ::=
            SEQUENCE
            {
                h3cIfQoSCQListNumber
                    Integer32,
                h3cIfQoSCQDefaultQueueID
                    Integer32
            }

        h3cIfQoSCQListNumber OBJECT-TYPE
            SYNTAX Integer32 (1..16)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Custom queue list number."
            ::= { h3cIfQoSCQDefaultEntry 1 }

        h3cIfQoSCQDefaultQueueID OBJECT-TYPE
            SYNTAX Integer32 (0..16)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Default queue ID."
            DEFVAL { 1 }
            ::= { h3cIfQoSCQDefaultEntry 2 }
--
-- nods of h3cIfQoSCQQueueLengthTable
--
        h3cIfQoSCQQueueLengthTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSCQQueueLengthEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of queue length of custom queue configuration information."
            ::= { h3cIfQoSCQConfigGroup 2 }

        h3cIfQoSCQQueueLengthEntry OBJECT-TYPE
            SYNTAX H3cIfQoSCQQueueLengthEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queue length of custom queue configuration information entry."
            INDEX { h3cIfQoSCQListNumber, h3cIfQoSCQQueueID }
            ::= { h3cIfQoSCQQueueLengthTable 1 }

        H3cIfQoSCQQueueLengthEntry ::=
            SEQUENCE
            {
                h3cIfQoSCQQueueID
                    Integer32,
                h3cIfQoSCQQueueLength
                    Integer32,
                h3cIfQoSCQQueueServing
                    Integer32
            }

        h3cIfQoSCQQueueID OBJECT-TYPE
            SYNTAX Integer32 (1..16)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Custom queue index."
            ::= { h3cIfQoSCQQueueLengthEntry 1 }

        h3cIfQoSCQQueueLength OBJECT-TYPE
            SYNTAX Integer32 (1..1024)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The size of custom queue."
            DEFVAL { 20 }
            ::= { h3cIfQoSCQQueueLengthEntry 2 }

        h3cIfQoSCQQueueServing OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The maximum bytes that the specified queue can transmit in each turn."
            DEFVAL { 1500 }
            ::= { h3cIfQoSCQQueueLengthEntry 3 }

--
-- nodes of h3cIfQoSCQClassRuleTable
--
        h3cIfQoSCQClassRuleTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSCQClassRuleEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of class rule of custom queue information."
            ::= { h3cIfQoSCQConfigGroup 3 }

        h3cIfQoSCQClassRuleEntry OBJECT-TYPE
            SYNTAX H3cIfQoSCQClassRuleEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of class rule of custom queue information."
            INDEX { h3cIfQoSCQListNumber,
                    h3cIfQoSCQClassRuleType,
                    h3cIfQoSCQClassRuleValue }
            ::= { h3cIfQoSCQClassRuleTable 1 }

        H3cIfQoSCQClassRuleEntry ::=
            SEQUENCE
            {
                h3cIfQoSCQClassRuleType
                    INTEGER,
                h3cIfQoSCQClassRuleValue
                    Integer32,
                h3cIfQoSCQClassRuleQueueID
                    Integer32,
                h3cIfQoSCQClassRowStatus
                    RowStatus
            }

        h3cIfQoSCQClassRuleType OBJECT-TYPE
            SYNTAX INTEGER
            {
                interface(1),
                ipv4acl(2),
                ipv6acl(3),
                fragments(4),
                greater-than(5),
                less-than(6),
                tcp(7),
                udp(8),
                ipall(9),
                mpls(10)
            }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Type of class rule.
                'ipall' means all ip packets."
            ::= { h3cIfQoSCQClassRuleEntry 1 }

        h3cIfQoSCQClassRuleValue OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Value of class rule.
                 interface : ifIndex
                 ipv4acl : 2000..3999
                 ipv6acl : 2000..42767
                 greater-than : 0..65535
                 less-than : 0..65535
                 tcp : 0..65535
                 udp : 0..65535
                 mpls(exp-mask) : 1..255
                 other types: 0.
                "
            ::= { h3cIfQoSCQClassRuleEntry 2 }

        h3cIfQoSCQClassRuleQueueID OBJECT-TYPE
            SYNTAX Integer32( 1..16)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Specify the queue for matched packets."
            ::= { h3cIfQoSCQClassRuleEntry 3 }

        h3cIfQoSCQClassRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSCQClassRuleEntry 4 }
--
-- nodes of h3cIfQoSCQApplyTable
--

        h3cIfQoSCQApplyTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSCQApplyEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of custom queue instance."
            ::= { h3cIfQoSCQConfigGroup 4 }

        h3cIfQoSCQApplyEntry OBJECT-TYPE
            SYNTAX H3cIfQoSCQApplyEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Custom queue instance information."
            INDEX { ifIndex }
            ::= { h3cIfQoSCQApplyTable 1 }

        H3cIfQoSCQApplyEntry ::=
            SEQUENCE
            {
                h3cIfQoSCQApplyListNumber
                    Integer32,
                h3cIfQoSCQApplyRowStatus
                    RowStatus
            }

        h3cIfQoSCQApplyListNumber OBJECT-TYPE
            SYNTAX Integer32 (1..16)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Custom queue list number."
            ::= { h3cIfQoSCQApplyEntry 1 }

        h3cIfQoSCQApplyRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSCQApplyEntry 2 }
--
-- Nodes of h3cIfQoSCQRunInfoGroup
--
        h3cIfQoSCQRunInfoGroup OBJECT IDENTIFIER ::= { h3cIfQoSCQObject 2 }

        h3cIfQoSCQRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSCQRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of custom queue statistic information."
            ::= { h3cIfQoSCQRunInfoGroup 1 }

        h3cIfQoSCQRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSCQRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Custom queue statistic information entry."
            INDEX { ifIndex,
                    h3cIfQoSCQQueueID }
            ::= { h3cIfQoSCQRunInfoTable 1 }

        H3cIfQoSCQRunInfoEntry    ::=
            SEQUENCE
            {
                h3cIfQoSCQRunInfoSize
                    Integer32,
                h3cIfQoSCQRunInfoLength
                    Integer32,
                h3cIfQoSCQRunInfoDiscardPackets
                    Counter64
            }

        h3cIfQoSCQRunInfoSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packets in the custom queue."
            ::= { h3cIfQoSCQRunInfoEntry 1 }

        h3cIfQoSCQRunInfoLength OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The maximum length of custom queue."
            ::= { h3cIfQoSCQRunInfoEntry 2 }

        h3cIfQoSCQRunInfoDiscardPackets    OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The packet number of custom queue discard."
            ::= { h3cIfQoSCQRunInfoEntry 3 }
--
-- nodes of h3cIfQoSWFQObject
--
        h3cIfQoSWFQObject OBJECT IDENTIFIER ::= { h3cIfQoSSoftwareQueueObjects 4 }

        h3cIfQoSWFQConfigGroup OBJECT IDENTIFIER ::= { h3cIfQoSWFQObject 1 }

        h3cIfQoSWFQTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSWFQEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of weighted fair queue information."
            ::= { h3cIfQoSWFQConfigGroup 1 }

        h3cIfQoSWFQEntry OBJECT-TYPE
            SYNTAX H3cIfQoSWFQEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Weighted fair queue information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSWFQTable 1 }

        H3cIfQoSWFQEntry ::=
            SEQUENCE
            {
                h3cIfQoSWFQQueueLength
                    Integer32,
                h3cIfQoSWFQQueueNumber
                    INTEGER,
                h3cIfQoSWFQRowStatus
                    RowStatus,
                h3cIfQoSWFQType
                    INTEGER
            }

        h3cIfQoSWFQQueueLength OBJECT-TYPE
            SYNTAX Integer32 (1..1024)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The length of weighted fair queue."
            DEFVAL { 64 }
            ::= { h3cIfQoSWFQEntry 1 }

        h3cIfQoSWFQQueueNumber OBJECT-TYPE
            SYNTAX INTEGER
            {
                size16(1),
                size32(2),
                size64(3),
                size128(4),
                size256(5),
                size512(6),
                size1024(7),
                size2048(8),
                size4096(9)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The number of weighted fair queue."
            DEFVAL { 5 }
            ::= { h3cIfQoSWFQEntry 2 }

        h3cIfQoSWFQRowStatus  OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSWFQEntry 3 }

        h3cIfQoSWFQType OBJECT-TYPE
            SYNTAX INTEGER
            {
                ip-precedence(1),
                dscp(2)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The type of weighted fair queue."
            DEFVAL { 1 }
            ::= { h3cIfQoSWFQEntry 4 }
--
-- nodes of h3cIfQoSWFQRunInfoGroup
--
        h3cIfQoSWFQRunInfoGroup OBJECT IDENTIFIER ::= { h3cIfQoSWFQObject 2 }

        h3cIfQoSWFQRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSWFQRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of weighted fair queue statistic information."
            ::= { h3cIfQoSWFQRunInfoGroup 1 }

        h3cIfQoSWFQRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSWFQRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Weighted fair queue statistic information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSWFQRunInfoTable 1 }

        H3cIfQoSWFQRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSWFQSize
                    Integer32,
                h3cIfQoSWFQLength
                    Integer32,
                h3cIfQoSWFQDiscardPackets
                    Counter64,
                h3cIfQoSWFQHashedActiveQueues
                    Integer32,
                h3cIfQoSWFQHashedMaxActiveQueues
                    Integer32,
                h3fIfQosWFQhashedTotalQueues
                    Integer32
            }

        h3cIfQoSWFQSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packets in all the queues"
            ::= { h3cIfQoSWFQRunInfoEntry 1 }

        h3cIfQoSWFQLength OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The length of weighted fair queue."
            ::= { h3cIfQoSWFQRunInfoEntry 2 }

        h3cIfQoSWFQDiscardPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of discarded packets in all the queues."
            ::= { h3cIfQoSWFQRunInfoEntry 3 }

        h3cIfQoSWFQHashedActiveQueues OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of active queues."
            ::= { h3cIfQoSWFQRunInfoEntry 4 }

        h3cIfQoSWFQHashedMaxActiveQueues OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of maximum active queues."
            ::= { h3cIfQoSWFQRunInfoEntry 5 }

        h3fIfQosWFQhashedTotalQueues   OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of queues."
            ::= { h3cIfQoSWFQRunInfoEntry 6 }
--
-- nodes of h3cIfQoSBandwidthGroup
--
        h3cIfQoSBandwidthGroup OBJECT IDENTIFIER ::= { h3cIfQoSSoftwareQueueObjects 5 }

        h3cIfQoSBandwidthTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSBandwidthEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of bandwidth of interface information."
            ::= { h3cIfQoSBandwidthGroup 1 }

        h3cIfQoSBandwidthEntry OBJECT-TYPE
            SYNTAX H3cIfQoSBandwidthEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Bandwidth information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSBandwidthTable 1 }

        H3cIfQoSBandwidthEntry ::=
            SEQUENCE
            {
                h3cIfQoSMaxBandwidth
                    Integer32,
                h3cIfQoSReservedBandwidthPct
                    Integer32,
                h3cIfQoSBandwidthRowStatus
                    RowStatus
            }

        h3cIfQoSMaxBandwidth OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The maximum bandwidth of interface.  Unit : Kbps"
            ::= { h3cIfQoSBandwidthEntry 1 }

        h3cIfQoSReservedBandwidthPct OBJECT-TYPE
            SYNTAX Integer32 (1..100)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Max reserved bandwidth of the interface for QoS."
            DEFVAL { 75 }
            ::= { h3cIfQoSBandwidthEntry 2 }

        h3cIfQoSBandwidthRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSBandwidthEntry 3 }
--
-- nodes of h3cIfQoSQmtokenGroup
--
        h3cIfQoSQmtokenGroup OBJECT IDENTIFIER ::= { h3cIfQoSSoftwareQueueObjects 6 }

        h3cIfQoSQmtokenTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSQmtokenEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of qmtoken information."
            ::= { h3cIfQoSQmtokenGroup 1 }

        h3cIfQoSQmtokenEntry OBJECT-TYPE
            SYNTAX H3cIfQoSQmtokenEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Qmtoken information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSQmtokenTable 1 }

        H3cIfQoSQmtokenEntry ::=
            SEQUENCE
            {
                h3cIfQoSQmtokenNumber
                    Integer32,
                h3cIfQoSQmtokenRosStatus
                    RowStatus
            }

        h3cIfQoSQmtokenNumber OBJECT-TYPE
            SYNTAX Integer32 (1..50)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The number of tokens."
            ::= { h3cIfQoSQmtokenEntry 1 }

        h3cIfQoSQmtokenRosStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus"
            ::= { h3cIfQoSQmtokenEntry 2 }

--
-- nodes of h3cIfQoSRTPQObject
--
        h3cIfQoSRTPQObject OBJECT IDENTIFIER ::= { h3cIfQoSSoftwareQueueObjects 7 }

        h3cIfQoSRTPQConfigGroup OBJECT IDENTIFIER ::= { h3cIfQoSRTPQObject 1 }

        h3cIfQoSRTPQConfigTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSRTPQConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Real-time protocol queue information."
            ::= { h3cIfQoSRTPQConfigGroup 1 }

        h3cIfQoSRTPQConfigEntry OBJECT-TYPE
            SYNTAX H3cIfQoSRTPQConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The information of Real-time protocol queue entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSRTPQConfigTable 1 }

        H3cIfQoSRTPQConfigEntry ::=
            SEQUENCE
            {
                h3cIfQoSRTPQStartPort
                    Integer32,
                h3cIfQoSRTPQEndPort
                    Integer32,
                h3cIfQoSRTPQReservedBandwidth
                    Integer32,
                h3cIfQoSRTPQCbs
                    Unsigned32,
                h3cIfQoSRTPQRowStatus
                    RowStatus
            }

        h3cIfQoSRTPQStartPort OBJECT-TYPE
            SYNTAX Integer32 (2000..65535)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Minimum threshold of UDP destination port."
            ::= { h3cIfQoSRTPQConfigEntry 1 }

        h3cIfQoSRTPQEndPort OBJECT-TYPE
            SYNTAX Integer32 (2000..65535)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Maximum threshold of UDP destination port."
            ::= { h3cIfQoSRTPQConfigEntry 2 }

        h3cIfQoSRTPQReservedBandwidth OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Maximum bandwidth.  unit : kbps"
            ::= { h3cIfQoSRTPQConfigEntry 3 }

        h3cIfQoSRTPQCbs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Committed Burst Size. Unit: byte"
            ::= { h3cIfQoSRTPQConfigEntry 4 }

        h3cIfQoSRTPQRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSRTPQConfigEntry 5 }
--
-- nodes of h3cIfQoSRTPQRunInfoGroup
--
        h3cIfQoSRTPQRunInfoGroup OBJECT IDENTIFIER ::= { h3cIfQoSRTPQObject 2 }

        h3cIfQoSRTPQRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSRTPQRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of statistic information of Real-time protocol information."
            ::= { h3cIfQoSRTPQRunInfoGroup 1 }

        h3cIfQoSRTPQRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSRTPQRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Statistic information of Real-time protocol information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSRTPQRunInfoTable 1 }

        H3cIfQoSRTPQRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSRTPQPacketNumber
                    Integer32,
                h3cIfQoSRTPQPacketSize
                    Integer32,
                h3cIfQoSRTPQOutputPackets
                    Counter64,
                h3cIfQoSRTPQDiscardPackets
                    Counter64
            }

        h3cIfQoSRTPQPacketNumber OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packets in the Real-time protocol queue."
            ::= { h3cIfQoSRTPQRunInfoEntry 1 }

        h3cIfQoSRTPQPacketSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The size of Real-time protocol queue."
            ::= { h3cIfQoSRTPQRunInfoEntry 2 }

        h3cIfQoSRTPQOutputPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of output packets."
            ::= { h3cIfQoSRTPQRunInfoEntry 3 }

        h3cIfQoSRTPQDiscardPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of discard packets."
            ::= { h3cIfQoSRTPQRunInfoEntry 4 }

--
-- nodes of h3cIfQoSCarListObject
--
       h3cIfQoSCarListObject OBJECT IDENTIFIER ::= { h3cIfQoSSoftwareQueueObjects 8 }

       h3cIfQoCarListGroup OBJECT IDENTIFIER ::= { h3cIfQoSCarListObject 1 }

       h3cIfQoSCarlTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSCarlEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                   "Committed Access Rate List(CARL) table."
            ::= { h3cIfQoCarListGroup 1 }

        h3cIfQoSCarlEntry OBJECT-TYPE
            SYNTAX H3cIfQoSCarlEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                    "CARL configuration information."
            INDEX { h3cIfQoSCarlListNum }
            ::= { h3cIfQoSCarlTable 1 }

        H3cIfQoSCarlEntry ::=
            SEQUENCE {
                         h3cIfQoSCarlListNum
                             Integer32,
                         h3cIfQoSCarlParaType
                             INTEGER,
                         h3cIfQoSCarlParaValue
                             OCTET STRING,
                         h3cIfQoSCarlRowStatus
                             RowStatus
                     }

        h3cIfQoSCarlListNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                    "The index of the table, which is the CARL number."
            ::= { h3cIfQoSCarlEntry 1 }

        h3cIfQoSCarlParaType OBJECT-TYPE
            SYNTAX INTEGER
                    {
                        macAddress(1),
                        precMask(2),
                        dscpMask(3)
                    }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                    "Parameter type of the CARL number."
            ::= { h3cIfQoSCarlEntry 2 }

        h3cIfQoSCarlParaValue OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                    "Parameter value of the CARL table."
            ::= { h3cIfQoSCarlEntry 3 }

        h3cIfQoSCarlRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
               "RowStatus."
            ::= { h3cIfQoSCarlEntry 4 }

--
-- nodes of h3cIfQoSLineRateObject
--
        h3cIfQoSLineRateObjects OBJECT IDENTIFIER ::= { h3cIfQos2 3 }

        h3cIfQoSLRConfigTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSLRConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of line rate configuration information."
            ::= { h3cIfQoSLineRateObjects 1 }

        h3cIfQoSLRConfigEntry OBJECT-TYPE
            SYNTAX H3cIfQoSLRConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Line rate configuration information entry."
            INDEX { ifIndex, h3cIfQoSLRDirection }
            ::= { h3cIfQoSLRConfigTable 1 }

        H3cIfQoSLRConfigEntry ::=
            SEQUENCE
            {
                h3cIfQoSLRDirection
                    Direction,
                h3cIfQoSLRCir
                    Unsigned32,
                h3cIfQoSLRCbs
                    Unsigned32,
                h3cIfQoSLREbs
                    Unsigned32,
                h3cIfQoSRowStatus
                    RowStatus,
                h3cIfQoSLRPir
                    Unsigned32,
                h3cIfQoSLRUnit
                    INTEGER
            }

        h3cIfQoSLRDirection OBJECT-TYPE
            SYNTAX Direction
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Line rate on the inbound or outbound of data stream."
            ::= { h3cIfQoSLRConfigEntry 1 }

        h3cIfQoSLRCir OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Committed Information Rate."
            ::= { h3cIfQoSLRConfigEntry 2 }

        h3cIfQoSLRCbs  OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Committed Burst Size."
            ::= { h3cIfQoSLRConfigEntry 3 }

        h3cIfQoSLREbs  OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Excess Burst Size."
            ::= { h3cIfQoSLRConfigEntry 4 }

        h3cIfQoSRowStatus  OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSLRConfigEntry 5 }

        h3cIfQoSLRPir OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Peak Information Rate."
            ::= { h3cIfQoSLRConfigEntry 6 }

        h3cIfQoSLRUnit OBJECT-TYPE
            SYNTAX INTEGER
            {
                unitAbsolute(1),
                unitPercent(2)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "LR Unit:
                 Absolute, Unit Kbps (1)
                 Percent, Unit % (2)
                "
            DEFVAL { unitAbsolute }
            ::= { h3cIfQoSLRConfigEntry 7 }

--
-- nodes of h3cIfQoSLRRunInfoTable
--
        h3cIfQoSLRRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSLRRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of line rate run info information."
            ::= { h3cIfQoSLineRateObjects 2 }

        h3cIfQoSLRRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSLRRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Line rate run info information entry."
            INDEX { ifIndex, h3cIfQoSLRDirection }
            ::= { h3cIfQoSLRRunInfoTable 1 }

        H3cIfQoSLRRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSLRRunInfoPassedPackets
                    Counter64,
                h3cIfQoSLRRunInfoPassedBytes
                    Counter64,
                h3cIfQoSLRRunInfoDelayedPackets
                    Counter64,
                h3cIfQoSLRRunInfoDelayedBytes
                    Counter64,
                h3cIfQoSLRRunInfoActiveShaping
                    INTEGER
            }

        h3cIfQoSLRRunInfoPassedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of passed packets."
            ::= { h3cIfQoSLRRunInfoEntry 1 }

        h3cIfQoSLRRunInfoPassedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of passed bytes."
            ::= { h3cIfQoSLRRunInfoEntry 2 }

        h3cIfQoSLRRunInfoDelayedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of delayed packets."
            ::= { h3cIfQoSLRRunInfoEntry 3 }

        h3cIfQoSLRRunInfoDelayedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of delayed bytes."
            ::= { h3cIfQoSLRRunInfoEntry 4 }

        h3cIfQoSLRRunInfoActiveShaping OBJECT-TYPE
            SYNTAX INTEGER
            {
                active(1),
                inactive(2)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The flag of shaping."
            ::= { h3cIfQoSLRRunInfoEntry 5 }

--
-- nodes of car group
--
        h3cIfQoSCARObjects OBJECT IDENTIFIER ::= { h3cIfQos2 4 }
--
-- nodes of h3cIfQoSAggregativeCarGroup
--
        h3cIfQoSAggregativeCarGroup OBJECT IDENTIFIER ::= { h3cIfQoSCARObjects 1 }
--
-- nodes of h3cIfQoSAggregativeCarConfigTable
--
        h3cIfQoSAggregativeCarNextIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object contains an appropriate value to be used for h3cIfQoSAggregativeCarIndex
                 when creating rows in the h3cIfQoSAggregativeCarConfigTable.
                 Begin with 1.
                "
            ::= { h3cIfQoSAggregativeCarGroup 1 }

        h3cIfQoSAggregativeCarConfigTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSAggregativeCarConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of aggregative car information."
            ::= { h3cIfQoSAggregativeCarGroup 2 }

        h3cIfQoSAggregativeCarConfigEntry OBJECT-TYPE
            SYNTAX H3cIfQoSAggregativeCarConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Aggregative car information."
            INDEX { h3cIfQoSAggregativeCarIndex }
            ::= { h3cIfQoSAggregativeCarConfigTable 1 }

        H3cIfQoSAggregativeCarConfigEntry     ::=
            SEQUENCE
            {
                h3cIfQoSAggregativeCarIndex
                    Integer32,
                h3cIfQoSAggregativeCarName
                    OCTET STRING,
                h3cIfQoSAggregativeCarCir
                    Unsigned32,
                h3cIfQoSAggregativeCarCbs
                    Unsigned32,
                h3cIfQoSAggregativeCarEbs
                    Unsigned32,
                h3cIfQoSAggregativeCarPir
                    Unsigned32,
                h3cIfQoSAggregativeCarGreenActionType
                    H3cIfCarAction,
                h3cIfQoSAggregativeCarGreenActionValue
                    Integer32,
                h3cIfQoSAggregativeCarYellowActionType
                    H3cIfCarAction,
                h3cIfQoSAggregativeCarYellowActionValue
                    Integer32,
                h3cIfQoSAggregativeCarRedActionType
                    H3cIfCarAction,
                h3cIfQoSAggregativeCarRedActionValue
                    Integer32,
                h3cIfQoSAggregativeCarType
                    INTEGER,
                h3cIfQoSAggregativeCarRowStatus
                    RowStatus
            }

        h3cIfQoSAggregativeCarIndex OBJECT-TYPE
            SYNTAX Integer32 (1..65534)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of aggregative car."
            ::= { h3cIfQoSAggregativeCarConfigEntry 1 }

        h3cIfQoSAggregativeCarName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..31))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The name of aggregative car."
            ::= { h3cIfQoSAggregativeCarConfigEntry 2 }

        h3cIfQoSAggregativeCarCir OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Committed-information-rate.  Unit : kbps"
            ::= { h3cIfQoSAggregativeCarConfigEntry 3 }

        h3cIfQoSAggregativeCarCbs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Committed-burst-size.  Unit : byte"
            ::= { h3cIfQoSAggregativeCarConfigEntry 4 }

        h3cIfQoSAggregativeCarEbs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Excess-burst-size.  Unit : byte"
            ::= { h3cIfQoSAggregativeCarConfigEntry 5 }

        h3cIfQoSAggregativeCarPir OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Peak-information-rate.  Unit : kbps"
            DEFVAL { 4294967295 }
            ::= { h3cIfQoSAggregativeCarConfigEntry 6 }

        h3cIfQoSAggregativeCarGreenActionType OBJECT-TYPE
            SYNTAX H3cIfCarAction
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Supported green action:
                 invalid(0),
                 pass(1),
                 discard(3),
                 remark(4),
                 remark-ip-pass(6),
                 remark-mplsexp-pass(8),
                 remark-dscp-pass(10),
                 remark-dot1p-pass(12),
                 remark-atm-clp-pass(14),
                 remark-fr-de-pass(16),
                 remarkLocalPrePass(18),
                 remarkDropPrePass(20).
                 Hardware QoS : pass, discard, remark.
                 Software QoS : pass, discard, remark-ip-pass(6),
                 remark-mplsexp-pass(8), remark-dscp-pass(10).
                 'invalid' is returned when getting value from software QoS.
                 "
            DEFVAL { pass }
            ::= { h3cIfQoSAggregativeCarConfigEntry 7 }

        h3cIfQoSAggregativeCarGreenActionValue OBJECT-TYPE
            SYNTAX Integer32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value is to remark When green action is remarking.
                 For remark-dscp-pass, the range is 0 to 63;
                 For remark-ip-pass, remark-mplsexp-pass, remark-dot1p-pass and
                 remarkLocalPrePass, the range is 0 to 7;
                 For remark-fr-de-pass and remark-atm-clp-pass, the range is 0 to 1;
                 For remarkDropPrePass, the range is 0 to 2.
                 Only software QoS support this node.
                 255 is returned only when getting value from hardware QoS or
                 when action being pass, discard of software QoS.
                 255 can't be set.
                "
            ::= { h3cIfQoSAggregativeCarConfigEntry 8 }

        h3cIfQoSAggregativeCarYellowActionType OBJECT-TYPE
            SYNTAX H3cIfCarAction
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Supported yellow action:
                 invalid(0),
                 pass(1),
                 discard(3),
                 remark(4),
                 remark-ip-pass(6),
                 remark-mplsexp-pass(8),
                 remark-dscp-pass(10),
                 remark-dot1p-pass(12),
                 remark-atm-clp-pass(14),
                 remark-fr-de-pass(16),
                 remarkLocalPrePass(18),
                 remarkDropPrePass(20).
                 Hardware QoS : pass, discard, remark.
                 Software QoS : pass, discard, remark-ip-pass(6),
                 remark-mplsexp-pass(8), remark-dscp-pass(10).
                 'invalid' is returned when getting value from software QoS.
                "
            ::= { h3cIfQoSAggregativeCarConfigEntry 9 }

        h3cIfQoSAggregativeCarYellowActionValue OBJECT-TYPE
            SYNTAX Integer32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value is to remark When yellow action is remarking.
                 For remark-dscp-pass, the range is 0 to 63;
                 For remark-ip-pass, remark-mplsexp-pass, remark-dot1p-pass and
                 remarkLocalPrePass, the range is 0 to 7;
                 For remark-fr-de-pass and remark-atm-clp-pass, the range is 0 to 1;
                 For remarkDropPrePass, the range is 0 to 2.
                 Only software QoS support this node.
                 255 is returned only when getting value from hardware QoS or
                 when action being pass, discard of software QoS.
                 255 can't be set.
                "
            ::= { h3cIfQoSAggregativeCarConfigEntry 10 }

        h3cIfQoSAggregativeCarRedActionType OBJECT-TYPE
            SYNTAX H3cIfCarAction
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Supported red action:
                 invalid(0),
                 pass(1),
                 discard(3),
                 remark(4),
                 remark-ip-pass(6),
                 remark-mplsexp-pass(8),
                 remark-dscp-pass(10),
                 remark-dot1p-pass(12),
                 remark-atm-clp-pass(14),
                 remark-fr-de-pass(16),
                 remarkLocalPrePass(18),
                 remarkDropPrePass(20).
                 Hardware QoS : pass, discard, remark.
                 Software QoS : pass, discard, remark-ip-pass(6),
                 remark-mplsexp-pass(8), remark-dscp-pass(10).
                 'invalid' is returned when getting value from software QoS.
                "
            ::= { h3cIfQoSAggregativeCarConfigEntry 11 }

        h3cIfQoSAggregativeCarRedActionValue OBJECT-TYPE
            SYNTAX Integer32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value is to remark When red action is remarking.
                 For remark-dscp-pass, the range is 0 to 63;
                 For remark-ip-pass, remark-mplsexp-pass, remark-dot1p-pass and
                 remarkLocalPrePass, the range is 0 to 7;
                 For remark-fr-de-pass and remark-atm-clp-pass, the range is 0 to 1;
                 For remarkDropPrePass, the range is 0 to 2.
                 Only software QoS support this node.
                 255 is returned only when getting value from hardware QoS or
                 when action being pass, discard of software QoS.
                 255 can't be set.
                "
            ::= { h3cIfQoSAggregativeCarConfigEntry 12 }

        h3cIfQoSAggregativeCarType OBJECT-TYPE
            SYNTAX INTEGER
            {
                aggregative(1),
                notAggregative(2),
                hierarchy(3)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The type of aggregative CAR.
                 The enumeration 'aggregative' indicates that the ports
                 with a same aggregative CAR use one token bulk.

                 The enumeration 'notAggregative' indicates that each port
                 uses one token bulk.

                 The enumeration 'hierarchy' indicates that each object uses one
                 token bulk after processed first by some other token bulk.
                "
            ::= { h3cIfQoSAggregativeCarConfigEntry 13 }

        h3cIfQoSAggregativeCarRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSAggregativeCarConfigEntry 14 }
--
-- nodes of h3cIfQoSAggregativeCarApplyGroup
--
        h3cIfQoSAggregativeCarApplyTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSAggregativeCarApplyEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of aggregative car instance."
            ::= { h3cIfQoSAggregativeCarGroup 3 }

        h3cIfQoSAggregativeCarApplyEntry OBJECT-TYPE
            SYNTAX H3cIfQoSAggregativeCarApplyEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Aggregative car instance information."
            INDEX { ifIndex,
                    h3cIfQoSAggregativeCarApplyDirection,
                    h3cIfQoSAggregativeCarApplyRuleType,
                    h3cIfQoSAggregativeCarApplyRuleValue
                  }
            ::= { h3cIfQoSAggregativeCarApplyTable 1 }

        H3cIfQoSAggregativeCarApplyEntry ::=
            SEQUENCE
            {
                h3cIfQoSAggregativeCarApplyDirection
                    Direction,
                h3cIfQoSAggregativeCarApplyRuleType
                    INTEGER,
                h3cIfQoSAggregativeCarApplyRuleValue
                    Integer32,
                h3cIfQoSAggregativeCarApplyCarIndex
                    Integer32,
                h3cIfQoSAggregativeCarApplyRowStatus
                    RowStatus
            }

        h3cIfQoSAggregativeCarApplyDirection OBJECT-TYPE
            SYNTAX Direction
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Direction."
            ::= { h3cIfQoSAggregativeCarApplyEntry 1 }

        h3cIfQoSAggregativeCarApplyRuleType OBJECT-TYPE
            SYNTAX INTEGER
            {
                ipv4acl(1),
                ipv6acl(2),
                carl(3),
                any(4)
            }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The type of class rule."
            ::= { h3cIfQoSAggregativeCarApplyEntry 2 }

        h3cIfQoSAggregativeCarApplyRuleValue OBJECT-TYPE
            SYNTAX Integer32 (0..2147483647)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The number of class rule.
                 ipv4acl : 2000..5999
                 ipv6acl : 2000..42767
                 carl : 1..199
                 other types: 0.
                "
            ::= { h3cIfQoSAggregativeCarApplyEntry 3 }

        h3cIfQoSAggregativeCarApplyCarIndex OBJECT-TYPE
            SYNTAX Integer32 (1..65534)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The index of aggregative car."
            ::= { h3cIfQoSAggregativeCarApplyEntry 4 }

        h3cIfQoSAggregativeCarApplyRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSAggregativeCarApplyEntry 5 }
--
-- nodes of h3cIfQoSAggregativeCarRunInfoTable
--
        h3cIfQoSAggregativeCarRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSAggregativeCarRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of aggregative car statistic information."
            ::= { h3cIfQoSAggregativeCarGroup 4 }

        h3cIfQoSAggregativeCarRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSAggregativeCarRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Aggregative car statistic information."
            INDEX { h3cIfQoSAggregativeCarIndex }
            ::= { h3cIfQoSAggregativeCarRunInfoTable 1 }

        H3cIfQoSAggregativeCarRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSAggregativeCarGreenPackets
                    Counter64,
                h3cIfQoSAggregativeCarGreenBytes
                    Counter64,
                h3cIfQoSAggregativeCarYellowPackets
                    Counter64,
                h3cIfQoSAggregativeCarYellowBytes
                    Counter64,
                h3cIfQoSAggregativeCarRedPackets
                    Counter64,
                h3cIfQoSAggregativeCarRedBytes
                    Counter64
            }

        h3cIfQoSAggregativeCarGreenPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets conforming CIR."
            ::= { h3cIfQoSAggregativeCarRunInfoEntry 1 }

        h3cIfQoSAggregativeCarGreenBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes conforming CIR"
            ::= { h3cIfQoSAggregativeCarRunInfoEntry 2 }

        h3cIfQoSAggregativeCarYellowPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of yellow packets."
            ::= { h3cIfQoSAggregativeCarRunInfoEntry 3 }

        h3cIfQoSAggregativeCarYellowBytes  OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of yellow bytes."
            ::= { h3cIfQoSAggregativeCarRunInfoEntry 4 }

        h3cIfQoSAggregativeCarRedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets exceeding CIR."
            ::= { h3cIfQoSAggregativeCarRunInfoEntry 5 }

        h3cIfQoSAggregativeCarRedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes exceeding CIR."
            ::= { h3cIfQoSAggregativeCarRunInfoEntry 6 }

--
-- nodes of h3cIfQoSTricolorCARGroup
--
        h3cIfQoSTricolorCarGroup OBJECT IDENTIFIER ::= { h3cIfQoSCARObjects 2 }
--
-- nodes of

        h3cIfQoSTricolorCarConfigTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSTricolorCarConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of tricolor car configuration information."
            ::= { h3cIfQoSTricolorCarGroup 1 }

        h3cIfQoSTricolorCarConfigEntry OBJECT-TYPE
            SYNTAX H3cIfQoSTricolorCarConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Tricolor car configuration information entry."
            INDEX { ifIndex,
                    h3cIfQoSTricolorCarDirection,
                    h3cIfQoSTricolorCarType,
                    h3cIfQoSTricolorCarValue
                  }
            ::= { h3cIfQoSTricolorCarConfigTable 1 }

        H3cIfQoSTricolorCarConfigEntry ::=
            SEQUENCE
            {
                h3cIfQoSTricolorCarDirection
                    Direction,
                h3cIfQoSTricolorCarType
                    INTEGER,
                h3cIfQoSTricolorCarValue
                    Integer32,
                h3cIfQoSTricolorCarCir
                    Unsigned32,
                h3cIfQoSTricolorCarCbs
                    Unsigned32,
                h3cIfQoSTricolorCarEbs
                    Unsigned32,
                h3cIfQoSTricolorCarPir
                    Unsigned32,
                h3cIfQoSTricolorCarGreenActionType
                    H3cIfCarAction,
                h3cIfQoSTricolorCarGreenActionValue
                    Integer32,
                h3cIfQoSTricolorCarYellowActionType
                    H3cIfCarAction,
                h3cIfQoSTricolorCarYellowActionValue
                    Integer32,
                h3cIfQoSTricolorCarRedActionType
                    H3cIfCarAction,
                h3cIfQoSTricolorCarRedActionValue
                    Integer32,
                h3cIfQoSTricolorCarRowStatus
                    RowStatus,
                h3cIfQoSTricolorCarUnitType
                    INTEGER
            }

        h3cIfQoSTricolorCarDirection OBJECT-TYPE
            SYNTAX Direction
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Direction."
            ::= { h3cIfQoSTricolorCarConfigEntry 1 }

        h3cIfQoSTricolorCarType OBJECT-TYPE
            SYNTAX INTEGER
            {
                ipv4acl(1),
                ipv6acl(2),
                carl(3),
                any(4)
            }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of the table, which is the matching type for the
                 packets on interface: ipv4acl, ipv6acl, carl, any."
            ::= { h3cIfQoSTricolorCarConfigEntry 2 }

        h3cIfQoSTricolorCarValue OBJECT-TYPE
            SYNTAX Integer32 (0..2147483647)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of the table.
                 ipv4acl: the number is ipv4 acl number;
                 ipv6acl: the number is ipv6 acl number;
                 carl: the number is CARL number;
                 any: the number is 0;
                "
            ::= { h3cIfQoSTricolorCarConfigEntry 3 }

        h3cIfQoSTricolorCarCir OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Committed Information Rate.  The unit of this parameter depends
                on the h3cIfQoSTricolorCarUnitType node.
                +-----------+----------+------------+
                | Unit type | absolute | percent    |
                +-----------+----------+------------+
                | CIR unit  | kbps     | percentage |
                +-----------+----------+------------+
                "
            ::= { h3cIfQoSTricolorCarConfigEntry 4 }

        h3cIfQoSTricolorCarCbs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Committed Burst Size.  The unit of this parameter depends
                on the h3cIfQoSTricolorCarUnitType node.
                +-----------+----------+--------------+
                | Unit type | absolute | percent      |
                +-----------+----------+--------------+
                | CBS unit  | bytes    | milliseconds |
                +-----------+----------+--------------+
                "
            ::= { h3cIfQoSTricolorCarConfigEntry 5 }

        h3cIfQoSTricolorCarEbs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Excess Burst Size.  The unit of this parameter depends
                on the h3cIfQoSTricolorCarUnitType node.
                +-----------+----------+--------------+
                | Unit type | absolute | percent      |
                +-----------+----------+--------------+
                | EBS unit  | bytes    | milliseconds |
                +-----------+----------+--------------+
                "
            ::= { h3cIfQoSTricolorCarConfigEntry 6 }

        h3cIfQoSTricolorCarPir OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Peak Information Rate.  The unit of this parameter depends
                on the h3cIfQoSTricolorCarUnitType node.
                +-----------+----------+------------+
                | Unit type | absolute | percent    |
                +-----------+----------+------------+
                | PIR unit  | kbps     | percentage |
                +-----------+----------+------------+
                "
            DEFVAL { 4294967295 }
            ::= { h3cIfQoSTricolorCarConfigEntry 7 }

        h3cIfQoSTricolorCarGreenActionType OBJECT-TYPE
            SYNTAX H3cIfCarAction
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Green Action."
            DEFVAL { pass }
            ::= { h3cIfQoSTricolorCarConfigEntry 8 }

        h3cIfQoSTricolorCarGreenActionValue OBJECT-TYPE
            SYNTAX Integer32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value is to remark when green action is remarking.
                 For remark-dscp-continue and remark-dscp-pass, the range is 0 to 63;
                 For remark-ip-continue and remark-ip-pass and
                 remark-mplsexp-continue and remark-mplsexp-pass and
                 remark-dot1p-continue and remark-dot1p-pass, the range is 0 to 7;
                 For remark-fr-de-continue and remark-fr-de-pass and
                 remark-atm-clp-continue and remark-atm-clp-pass, the range is 0 and 1.
                 255 is returned only when getting value from hardware QoS
                 or when action being pass, continue, discard of software QoS.
                 255 can't be set.
                "
            ::= { h3cIfQoSTricolorCarConfigEntry 9 }

        h3cIfQoSTricolorCarYellowActionType OBJECT-TYPE
            SYNTAX H3cIfCarAction
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Yellow Action."
            DEFVAL { pass }
            ::= { h3cIfQoSTricolorCarConfigEntry 10 }

        h3cIfQoSTricolorCarYellowActionValue OBJECT-TYPE
            SYNTAX Integer32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value is to remark when yellow action is remarking.
                 For remark-dscp-continue and remark-dscp-pass, the range is 0 to 63;
                 For remark-ip-continue and remark-ip-pass and
                 remark-mplsexp-continue and remark-mplsexp-pass and
                 remark-dot1p-continue and remark-dot1p-pass, the range is 0 to 7;
                 For remark-fr-de-continue and remark-fr-de-pass and
                 remark-atm-clp-continue and remark-atm-clp-pass, the range is 0 and 1.
                 255 is returned only when getting value from hardware QoS
                 or when action being pass, continue, discard of software QoS.
                 255 can't be set.
                "
            ::= { h3cIfQoSTricolorCarConfigEntry 11 }

        h3cIfQoSTricolorCarRedActionType OBJECT-TYPE
            SYNTAX H3cIfCarAction
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Red Action"
            DEFVAL { discard }
            ::= { h3cIfQoSTricolorCarConfigEntry 12 }

        h3cIfQoSTricolorCarRedActionValue OBJECT-TYPE
            SYNTAX Integer32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value is to remark when red action is remarking.
                 For remark-dscp-continue and remark-dscp-pass, the range is 0 to 63;
                 For remark-ip-continue and remark-ip-pass and
                 remark-mplsexp-continue and remark-mplsexp-pass and
                 remark-dot1p-continue and remark-dot1p-pass, the range is 0 to 7;
                 For remark-fr-de-continue and remark-fr-de-pass and
                 remark-atm-clp-continue and remark-atm-clp-pass, the range is 0 and 1.
                 255 is returned only when getting value from hardware QoS
                 or when action being pass, continue, discard of software QoS.
                 255 can't be set.
                "
            ::= { h3cIfQoSTricolorCarConfigEntry 13 }

        h3cIfQoSTricolorCarRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSTricolorCarConfigEntry 14 }

        h3cIfQoSTricolorCarUnitType OBJECT-TYPE
            SYNTAX INTEGER
            {
                unitAbsolute(1),
                unitPercent(2)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Unit of token parameters.  If it is unitAbsolute, the token
                parameters are in kbps and bytes, and if it is unitPercent,
                the token parameters are in percentage and milliseconds."
            DEFVAL { unitAbsolute }
            ::= { h3cIfQoSTricolorCarConfigEntry 15 }


--
-- nodes of h3cIfQoSTricolorCarRunInfoTable
--
        h3cIfQoSTricolorCarRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSTricolorCarRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of tricolor car statistic information."
            ::= { h3cIfQoSTricolorCarGroup 2 }

        h3cIfQoSTricolorCarRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSTricolorCarRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Tricolor car statistic information entry."
            INDEX { ifIndex,
                    h3cIfQoSTricolorCarDirection,
                    h3cIfQoSTricolorCarType,
                    h3cIfQoSTricolorCarValue
                  }
            ::= { h3cIfQoSTricolorCarRunInfoTable 1 }

        H3cIfQoSTricolorCarRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSTricolorCarGreenPackets
                    Counter64,
                h3cIfQoSTricolorCarGreenBytes
                    Counter64,
                h3cIfQoSTricolorCarYellowPackets
                    Counter64,
                h3cIfQoSTricolorCarYellowBytes
                    Counter64,
                h3cIfQoSTricolorCarRedPackets
                    Counter64,
                h3cIfQoSTricolorCarRedBytes
                    Counter64
            }

        h3cIfQoSTricolorCarGreenPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of green packets."
            ::= { h3cIfQoSTricolorCarRunInfoEntry 1 }

        h3cIfQoSTricolorCarGreenBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of green bytes."
            ::= { h3cIfQoSTricolorCarRunInfoEntry 2 }

        h3cIfQoSTricolorCarYellowPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of yellow packets."
            ::= { h3cIfQoSTricolorCarRunInfoEntry 3 }

        h3cIfQoSTricolorCarYellowBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of yellow bytes."
            ::= { h3cIfQoSTricolorCarRunInfoEntry 4 }

        h3cIfQoSTricolorCarRedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of red packets."
            ::= { h3cIfQoSTricolorCarRunInfoEntry 5 }

        h3cIfQoSTricolorCarRedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of red bytes."
            ::= { h3cIfQoSTricolorCarRunInfoEntry 6 }
--
-- nodes of h3cIfQoSGTSObject
--
        h3cIfQoSGTSObjects OBJECT IDENTIFIER ::= { h3cIfQos2 5 }

        h3cIfQoSGTSConfigTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSGTSConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of generic traffic shaping information."
            ::= { h3cIfQoSGTSObjects 1 }

        h3cIfQoSGTSConfigEntry OBJECT-TYPE
            SYNTAX H3cIfQoSGTSConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Generic traffic shaping information entry."
            INDEX { ifIndex,
                    h3cIfQoSGTSClassRuleType,
                    h3cIfQoSGTSClassRuleValue
                  }
            ::= { h3cIfQoSGTSConfigTable 1 }

        H3cIfQoSGTSConfigEntry ::=
            SEQUENCE
            {
                h3cIfQoSGTSClassRuleType
                    INTEGER,
                h3cIfQoSGTSClassRuleValue
                    Integer32,
                h3cIfQoSGTSCir
                    Unsigned32,
                h3cIfQoSGTSCbs
                    Unsigned32,
                h3cIfQoSGTSEbs
                    Unsigned32,
                h3cIfQoSGTSQueueLength
                    Integer32,
                h3cIfQoSGTSConfigRowStatus
                    RowStatus,
                h3cIfQoSGTSPir
                    Unsigned32,
                h3cIfQoSGTSUnitType
                    INTEGER
            }

        h3cIfQoSGTSClassRuleType OBJECT-TYPE
            SYNTAX INTEGER
            {
                any(1),
                ipv4acl(2),
                ipv6acl(3),
                queue(4)
            }

            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of the table,
                 which is the matching type for the packets on interface:
                 ipv4acl, ipv6acl, any, queue.
                "
            ::= { h3cIfQoSGTSConfigEntry 1 }

        h3cIfQoSGTSClassRuleValue OBJECT-TYPE
            SYNTAX Integer32 (0..2147483647)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Value of type.
                 ipv4acl : 2000..5999
                 ipv6acl : 2000..42767
                 any : 0
                 queue : 0..7
                 "
            ::= { h3cIfQoSGTSConfigEntry 2 }

        h3cIfQoSGTSCir OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Committed Information Rate.  The unit of this parameter depends
                on the h3cIfQoSGTSUnitType node.
                +-----------+----------+------------+
                | Unit type | absolute | percent    |
                +-----------+----------+------------+
                | CIR unit  | kbps     | percentage |
                +-----------+----------+------------+
                "
            ::= { h3cIfQoSGTSConfigEntry 3 }

        h3cIfQoSGTSCbs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Committed Burst Size.  The unit of this parameter depends
                on the h3cIfQoSGTSUnitType node.
                +-----------+----------+--------------+
                | Unit type | absolute | percent      |
                +-----------+----------+--------------+
                | CBS unit  | bytes    | milliseconds |
                +-----------+----------+--------------+
                "
            ::= { h3cIfQoSGTSConfigEntry 4 }

        h3cIfQoSGTSEbs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Excess Burst Size.  The unit of this parameter depends
                on the h3cIfQoSGTSUnitType node.
                +-----------+----------+--------------+
                | Unit type | absolute | percent      |
                +-----------+----------+--------------+
                | EBS unit  | bytes    | milliseconds |
                +-----------+----------+--------------+
                "
            ::= { h3cIfQoSGTSConfigEntry 5 }

        h3cIfQoSGTSQueueLength OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The length of queue."
            ::= { h3cIfQoSGTSConfigEntry 6 }

        h3cIfQoSGTSConfigRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSGTSConfigEntry 7 }

        h3cIfQoSGTSPir OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Peak information rate.  The unit of this parameter depends
                on the h3cIfQoSGTSUnitType node.
                +-----------+----------+------------+
                | Unit type | absolute | percent    |
                +-----------+----------+------------+
                | PIR unit  | kbps     | percentage |
                +-----------+----------+------------+
                "
            DEFVAL { 4294967295 }
            ::= { h3cIfQoSGTSConfigEntry 8 }

        h3cIfQoSGTSUnitType OBJECT-TYPE
            SYNTAX INTEGER
            {
                unitAbsolute(1),
                unitPercent(2)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Unit of token parameters.  If it is unitAbsolute, the token
                parameters are in kbps and bytes, and if it is unitPercent,
                the token parameters are in percentage and milliseconds."
            DEFVAL { unitAbsolute }
            ::= { h3cIfQoSGTSConfigEntry 9 }

--
-- nodes of h3cIfQoSGTSRunInfoTable
--
        h3cIfQoSGTSRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSGTSRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of  generic traffic shaping's statistic information."
            ::= { h3cIfQoSGTSObjects 2 }

        h3cIfQoSGTSRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSGTSRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Generic traffic shaping's statistic information entry."
            INDEX { ifIndex,
                    h3cIfQoSGTSClassRuleType,
                    h3cIfQoSGTSClassRuleValue
                  }
            ::= { h3cIfQoSGTSRunInfoTable 1 }

        H3cIfQoSGTSRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSGTSQueueSize
                    Integer32,
                h3cIfQoSGTSPassedPackets
                    Counter64,
                h3cIfQoSGTSPassedBytes
                    Counter64,
                h3cIfQoSGTSDiscardPackets
                    Counter64,
                h3cIfQoSGTSDiscardBytes
                    Counter64,
                h3cIfQoSGTSDelayedPackets
                    Counter64,
                h3cIfQoSGTSDelayedBytes
                    Counter64
            }

        h3cIfQoSGTSQueueSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packets in the queue."
            ::= { h3cIfQoSGTSRunInfoEntry 1 }

        h3cIfQoSGTSPassedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of passed packets."
            ::= { h3cIfQoSGTSRunInfoEntry 2 }

        h3cIfQoSGTSPassedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of passed bytes."
            ::= { h3cIfQoSGTSRunInfoEntry 3 }

        h3cIfQoSGTSDiscardPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of discard packets."
            ::= { h3cIfQoSGTSRunInfoEntry 4 }

        h3cIfQoSGTSDiscardBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of discard bytes."
            ::= { h3cIfQoSGTSRunInfoEntry 5 }

        h3cIfQoSGTSDelayedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of delayed packets."
            ::= { h3cIfQoSGTSRunInfoEntry 6 }

        h3cIfQoSGTSDelayedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of delayed bytes."
            ::= { h3cIfQoSGTSRunInfoEntry 7 }
--
-- nodes of h3cIfQoSWREDObject
--
        h3cIfQoSWREDObjects OBJECT IDENTIFIER ::= { h3cIfQos2 6 }
--
-- nodes of WRED group
--
        h3cIfQoSWredGroupGroup OBJECT IDENTIFIER ::= { h3cIfQoSWREDObjects 1 }

        h3cIfQoSWredGroupNextIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object contains an appropriate value to be used for h3cIfQoSWredGroupIndex
                 when creating rows in the h3cIfQoSWredGroupTable.
                 Begin with 0.
                "
            ::= { h3cIfQoSWredGroupGroup 1 }
--
-- nodes of h3cIfQoSWredGroupTable
--
        h3cIfQoSWredGroupTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSWredGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of WRED group information."
            ::= { h3cIfQoSWredGroupGroup 2 }

        h3cIfQoSWredGroupEntry OBJECT-TYPE
            SYNTAX H3cIfQoSWredGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "WRED group information."
            INDEX { h3cIfQoSWredGroupIndex }
            ::= { h3cIfQoSWredGroupTable 1 }

        H3cIfQoSWredGroupEntry ::=
            SEQUENCE
            {
                h3cIfQoSWredGroupIndex
                    Integer32,
                h3cIfQoSWredGroupName
                    OCTET STRING,
                h3cIfQoSWredGroupType
                    INTEGER,
                h3cIfQoSWredGroupWeightingConstant
                    Integer32,
                h3cIfQoSWredGroupRowStatus
                    RowStatus
            }

        h3cIfQoSWredGroupIndex OBJECT-TYPE
            SYNTAX Integer32 (0..256)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "WRED group index."
            ::= { h3cIfQoSWredGroupEntry 1 }

        h3cIfQoSWredGroupName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..32))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "WRED group name."
            ::= { h3cIfQoSWredGroupEntry 2 }

        h3cIfQoSWredGroupType OBJECT-TYPE
            SYNTAX INTEGER
            {
                userdefined(0),
                dot1p(1),
                ippre(2),
                dscp(3),
                localpre(4),
                atmclp(5),
                frde(6),
                exp(7),
                queue(8),
                dropLevel(9)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Type of WRED group."
            ::= { h3cIfQoSWredGroupEntry 3 }

        h3cIfQoSWredGroupWeightingConstant OBJECT-TYPE
            SYNTAX Integer32 (1..15)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Exponent for WRED calculates the average length of queue.
                 If 'h3cIfQoSWredGroupType' is 'queue', the object is ineffective.
                 So, it must use the object, which is 'h3cIfQoSWredGroupExponent' of
                 h3cIfQoSWredGroupContentTable, to indicate the exponent of
                 each queue of the queue WRED group."
            DEFVAL { 9 }
            ::= { h3cIfQoSWredGroupEntry 4 }

        h3cIfQoSWredGroupRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSWredGroupEntry 6 }

--
-- nodes of h3cIfQoSWredGroupContentTable
--
        h3cIfQoSWredGroupContentTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSWredGroupContentEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of priority WRED information."
            ::= { h3cIfQoSWredGroupGroup 3 }

        h3cIfQoSWredGroupContentEntry OBJECT-TYPE
            SYNTAX H3cIfQoSWredGroupContentEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Priority WRED information entry."
            INDEX { h3cIfQoSWredGroupIndex,
                    h3cIfQoSWredGroupContentIndex,
                    h3cIfQoSWredGroupContentSubIndex  }
            ::= { h3cIfQoSWredGroupContentTable 1 }

        H3cIfQoSWredGroupContentEntry ::=
            SEQUENCE
            {
                h3cIfQoSWredGroupContentIndex
                    Integer32,
                h3cIfQoSWredGroupContentSubIndex
                    Integer32,
                h3cIfQoSWredLowLimit
                    Integer32,
                h3cIfQoSWredHighLimit
                    Integer32,
                h3cIfQoSWredDiscardProb
                    Integer32,
                h3cIfQoSWredGroupExponent
                    Integer32,
                h3cIfQoSWredRowStatus
                    RowStatus
            }

        h3cIfQoSWredGroupContentIndex OBJECT-TYPE
            SYNTAX Integer32 (0..63)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The priority of a packet.
                 Different type of packet has different priority.
                 Type of priority    Range of priority
                 dot1p              0..7
                 ippre              0..7
                 dscp               0..63
                 atmclp             0..1
                 frde               0..1
                 exp                0..7
                 queue              0..7 ( defined by product )
                 dropLevel          0..2
                 "
            ::= { h3cIfQoSWredGroupContentEntry 1 }

        h3cIfQoSWredGroupContentSubIndex OBJECT-TYPE
            SYNTAX Integer32 (0..63)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The sub index.
                 Different type of packet has different value.
                 Type of priority    Range of value
                 queue              0..2
                 other types : 0
                 "
            ::= { h3cIfQoSWredGroupContentEntry 2 }

        h3cIfQoSWredLowLimit OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Discard low limit."
            ::= { h3cIfQoSWredGroupContentEntry 3 }

        h3cIfQoSWredHighLimit OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Discard high limit."
            ::= { h3cIfQoSWredGroupContentEntry 4 }

        h3cIfQoSWredDiscardProb OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Discard probability."
            ::= { h3cIfQoSWredGroupContentEntry 5 }

        h3cIfQoSWredGroupExponent OBJECT-TYPE
            SYNTAX Integer32 (0..15)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Exponent for WRED calculates the average length of queue.
                 Only 'h3cIfQoSWredGroupType' is 'queue', the object is effective.
                 This object is designed to indicate the exponent of
                 each queue of the queue WRED group.
                "
            DEFVAL { 9 }
            ::= { h3cIfQoSWredGroupContentEntry 6 }

        h3cIfQoSWredRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSWredGroupContentEntry 7 }
--
-- nodes of h3cIfQoSWredApplyIfTable
--
        h3cIfQoSWredGroupApplyIfTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSWredGroupApplyIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of WRED group applied interface information."
            ::= { h3cIfQoSWredGroupGroup 4 }

        h3cIfQoSWredGroupApplyIfEntry OBJECT-TYPE
            SYNTAX H3cIfQoSWredGroupApplyIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "WRED group applied interface information."
            INDEX { ifIndex }
            ::= { h3cIfQoSWredGroupApplyIfTable 1 }

        H3cIfQoSWredGroupApplyIfEntry ::=
            SEQUENCE
            {
                h3cIfQoSWredGroupApplyIndex
                    Integer32,
                h3cIfQoSWredGroupApplyName
                    OCTET STRING,
                h3cIfQoSWredGroupIfRowStatus
                    RowStatus
            }

        h3cIfQoSWredGroupApplyIndex OBJECT-TYPE
            SYNTAX Integer32 (0..256)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "WRED group index."
            ::= { h3cIfQoSWredGroupApplyIfEntry 1 }

        h3cIfQoSWredGroupApplyName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..32))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "WRED group name."
            ::= { h3cIfQoSWredGroupApplyIfEntry 2 }

        h3cIfQoSWredGroupIfRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSWredGroupApplyIfEntry 3 }
--
-- nodes of h3cIfQoSWredApplyIfStatisticTable
--
        h3cIfQoSWredApplyIfRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSWredApplyIfRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of WRED statistic information."
            ::= { h3cIfQoSWredGroupGroup 5 }

        h3cIfQoSWredApplyIfRunInfoEntry  OBJECT-TYPE
            SYNTAX H3cIfQoSWredApplyIfRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "WRED statistic information."
            INDEX { ifIndex,
                    h3cIfQoSWredGroupIndex,
                    h3cIfQoSWredGroupContentIndex,
                    h3cIfQoSWredGroupContentSubIndex
                  }
            ::= { h3cIfQoSWredApplyIfRunInfoTable 1 }

        H3cIfQoSWredApplyIfRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSWredPreRandomDropNum
                    Counter64,
                h3cIfQoSWredPreTailDropNum
                    Counter64
            }

        h3cIfQoSWredPreRandomDropNum OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of random drop."
            ::= { h3cIfQoSWredApplyIfRunInfoEntry 1 }

        h3cIfQoSWredPreTailDropNum OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of tail drop."
            ::= { h3cIfQoSWredApplyIfRunInfoEntry 2 }
--
-- nodes of h3cIfQoSPortWREDGroup
--
        h3cIfQoSPortWredGroup OBJECT IDENTIFIER ::= { h3cIfQoSWREDObjects 2 }

        h3cIfQoSPortWredWeightConstantTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPortWREDWeightConstantEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of port WRED configuration information."
            ::= { h3cIfQoSPortWredGroup 1 }

        h3cIfQoSPortWredWeightConstantEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPortWREDWeightConstantEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Port WRED configuration information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSPortWredWeightConstantTable 1 }

        H3cIfQoSPortWREDWeightConstantEntry ::=
            SEQUENCE
            {
                h3cIfQoSPortWredEnable
                    TruthValue,
                h3cIfQoSPortWredWeightConstant
                    Integer32,
                h3cIfQoSPortWredWeightConstantRowStatus
                    RowStatus
            }

        h3cIfQoSPortWredEnable OBJECT-TYPE
            SYNTAX TruthValue
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The object is used to enable or disable WRED function of the port.
                 true: Enable WRED function of a port.
                 false: Disable WRED function of a port.
                "
            ::= { h3cIfQoSPortWredWeightConstantEntry 1 }

        h3cIfQoSPortWredWeightConstant OBJECT-TYPE
            SYNTAX Integer32 (1..16)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Weight constant."
            ::= { h3cIfQoSPortWredWeightConstantEntry 2 }

        h3cIfQoSPortWredWeightConstantRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSPortWredWeightConstantEntry 3 }
--
-- notes of h3cIfQoSPortWredPreConfigTable
--
        h3cIfQoSPortWredPreConfigTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPortWREDPreConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of weighted random early detect precedence configuration information."
            ::= { h3cIfQoSPortWredGroup 2 }

        h3cIfQoSPortWredPreConfigEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPortWREDPreConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Weighted random early detect precedence configuration information entry."
            INDEX { ifIndex, h3cIfQoSPortWredPreID }
            ::= { h3cIfQoSPortWredPreConfigTable 1 }

        H3cIfQoSPortWREDPreConfigEntry ::=
            SEQUENCE
            {
                h3cIfQoSPortWredPreID
                    Integer32,
                h3cIfQoSPortWredPreLowLimit
                    Integer32,
                h3cIfQoSPortWredPreHighLimit
                    Integer32,
                h3cIfQoSPortWredPreDiscardProbability
                    Integer32,
                h3cIfQoSPortWredPreRowStatus
                    RowStatus
            }

        h3cIfQoSPortWredPreID OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "IP precedence, from 0 to 7."
            ::= { h3cIfQoSPortWredPreConfigEntry 1 }

        h3cIfQoSPortWredPreLowLimit OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Low Limit(number of packets)"
            ::= { h3cIfQoSPortWredPreConfigEntry 2 }

        h3cIfQoSPortWredPreHighLimit OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "High limit(number of packets)"
            ::= { h3cIfQoSPortWredPreConfigEntry 3 }

        h3cIfQoSPortWredPreDiscardProbability OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Discard probability denominator"
            ::= { h3cIfQoSPortWredPreConfigEntry 4 }

        h3cIfQoSPortWredPreRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSPortWredPreConfigEntry 5 }

--
-- nodes of h3cIfQoSPortWredRunInfoTable
--
        h3cIfQoSPortWredRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPortWREDRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of WRED statistic information."
            ::= { h3cIfQoSPortWredGroup 3 }

        h3cIfQoSPortWredRunInfoEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPortWREDRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "WRED statistic information entry."
            INDEX { ifIndex, h3cIfQoSPortWredPreID }
            ::= { h3cIfQoSPortWredRunInfoTable 1 }

        H3cIfQoSPortWREDRunInfoEntry ::=
            SEQUENCE
            {
                h3cIfQoSWREDTailDropNum
                    Counter64,
                h3cIfQoSWREDRandomDropNum
                    Counter64
            }

        h3cIfQoSWREDTailDropNum OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of tail drop."
            ::= { h3cIfQoSPortWredRunInfoEntry 1 }

        h3cIfQoSWREDRandomDropNum OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of random drop."
            ::= { h3cIfQoSPortWredRunInfoEntry 2 }

--
-- nodes of h3cIfQoSPortPriorityObject
--

        h3cIfQoSPortPriorityObjects OBJECT IDENTIFIER ::= { h3cIfQos2 7 }

        h3cIfQoSPortPriorityConfigGroup OBJECT IDENTIFIER ::= { h3cIfQoSPortPriorityObjects 1 }

        h3cIfQoSPortPriorityTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPortPriorityEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of port priority information."
            ::= { h3cIfQoSPortPriorityConfigGroup 1 }

        h3cIfQoSPortPriorityEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPortPriorityEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Port priority information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSPortPriorityTable 1 }

        H3cIfQoSPortPriorityEntry    ::=
            SEQUENCE
            {
                h3cIfQoSPortPriorityValue
                    Integer32
            }

        h3cIfQoSPortPriorityValue OBJECT-TYPE
            SYNTAX Integer32 (0..7)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The priority of a port."
            DEFVAL { 0 }
            ::= { h3cIfQoSPortPriorityEntry 1 }
--
-- nodes of h3cIfQoSPortPirorityTrustTable
--
        h3cIfQoSPortPirorityTrustTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPortPirorityTrustEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of each port's trusted priority information."
            ::= { h3cIfQoSPortPriorityConfigGroup 2 }

        h3cIfQoSPortPirorityTrustEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPortPirorityTrustEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Per-port trusted priority information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSPortPirorityTrustTable 1 }

        H3cIfQoSPortPirorityTrustEntry ::=
            SEQUENCE
            {
                h3cIfQoSPortPriorityTrustTrustType
                    INTEGER,
                h3cIfQoSPortPriorityTrustOvercastType
                    INTEGER
            }

        h3cIfQoSPortPriorityTrustTrustType OBJECT-TYPE
            SYNTAX INTEGER
            {
                untrust(1),
                dot1p(2),
                dscp(3),
                exp(4),
                ipPrecedence(5),
                dot11e(6),
                auto(7)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Trusted priority type of a port."
            DEFVAL { untrust }
            ::= { h3cIfQoSPortPirorityTrustEntry 1 }

        h3cIfQoSPortPriorityTrustOvercastType OBJECT-TYPE
            SYNTAX INTEGER
            {
                noOvercast(1),
                overcastDSCP(2),
                overcastCOS(3),
                overcast(4)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The overcast type."
            DEFVAL { noOvercast }
            ::= { h3cIfQoSPortPirorityTrustEntry 2 }
--
-- nodes of map object
--
        h3cIfQoSMapObjects OBJECT IDENTIFIER ::= { h3cIfQos2 9 }
--
-- nodes of h3cIfQoSMapConfigGroup
--
        h3cIfQoSPriMapConfigGroup OBJECT IDENTIFIER ::= { h3cIfQoSMapObjects 1 }

        h3cIfQoSPriMapGroupNextIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object contains an appropriate value to be used for h3cIfQoSPriMapGroupIndex
                 when creating rows in the h3cIfQoSPriMapGroupTable.
                 Begin with 64.
                "
            ::= { h3cIfQoSPriMapConfigGroup 1 }
--
-- nodes of h3cIfQoSPriMapConfigTable
--
        h3cIfQoSPriMapGroupTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPriMapGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of map group information."
            ::= { h3cIfQoSPriMapConfigGroup 2 }

        h3cIfQoSPriMapGroupEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPriMapGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Map group information entry."
            INDEX { h3cIfQoSPriMapGroupIndex  }
            ::= { h3cIfQoSPriMapGroupTable 1 }

        H3cIfQoSPriMapGroupEntry ::=
            SEQUENCE
            {
                h3cIfQoSPriMapGroupIndex
                    Integer32,
                h3cIfQoSPriMapGroupType
                    INTEGER,
                h3cIfQoSPriMapGroupName
                    OCTET STRING,
                h3cIfQoSPriMapGroupRowStatus
                    RowStatus
            }

        h3cIfQoSPriMapGroupIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of map, which are defined by system and user.
                 The index of system defined map is 1 to 9.
                 System defined map-name/map-index pairs like this:
                 Map-index    Map-name
                 1            dot1p-dp
                 2            dot1p-dscp
                 3            dot1p-lp
                 4            dscp-dot1p
                 5            dscp-dp
                 6            dscp-dscp
                 7            dscp-lp
                 8            exp-dp
                 9            exp-lp
                "
            ::= { h3cIfQoSPriMapGroupEntry 1 }

        h3cIfQoSPriMapGroupType OBJECT-TYPE
            SYNTAX INTEGER
            {
                userdefined(1),
                dot1p-dp(2),
                dot1p-dscp(3),
                dot1p-lp(4),
                dscp-dot1p(5),
                dscp-dp(6),
                dscp-dscp(7),
                dscp-lp(8),
                exp-dp(9),
                exp-lp(10)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The type of map group."
            ::= { h3cIfQoSPriMapGroupEntry 2 }

        h3cIfQoSPriMapGroupName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..32))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The name of map group."
            ::= { h3cIfQoSPriMapGroupEntry 3 }

        h3cIfQoSPriMapGroupRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSPriMapGroupEntry 4 }

--
-- nodes of h3cIfQoSPriMapContentTable
--
        h3cIfQoSPriMapContentTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPriMapContentEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of priority map configuration information."
            ::= { h3cIfQoSPriMapConfigGroup 3 }

        h3cIfQoSPriMapContentEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPriMapContentEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Priority map configuration information entry."
            INDEX { h3cIfQoSPriMapGroupIndex, h3cIfQoSPriMapGroupImportValue }
            ::= { h3cIfQoSPriMapContentTable 1 }

        H3cIfQoSPriMapContentEntry ::=
            SEQUENCE
            {
                h3cIfQoSPriMapGroupImportValue
                    Integer32,
                h3cIfQoSPriMapGroupExportValue
                    Integer32,
                h3cIfQoSPriMapContentRowStatus
                    RowStatus
            }

        h3cIfQoSPriMapGroupImportValue OBJECT-TYPE
            SYNTAX Integer32 (0..63)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Priority map table import value list.
                 Different map has different h3cIfQoSPriMapConfigImportValue.
                 Map-name       Range of h3cIfQoSPriMapConfigImportValue
                 dot1p-dp       (0..7)
                 dot1p-dscp     (0..7)
                 dot1p-lp       (0..7)
                 dscp-dot1p     (0..63)
                 dscp-dp        (0..63)
                 dscp-dscp      (0..63)
                 dscp-lp(7)     (0..63)
                 exp-dp(8)      (0..7)
                 exp-lp         (0..7)
                "
            ::= { h3cIfQoSPriMapContentEntry 1 }

        h3cIfQoSPriMapGroupExportValue OBJECT-TYPE
            SYNTAX Integer32 (0..63)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Priority map table output.
                 Different map has different h3cIfQoSPriMapGroupExportValue.
                 dot1p-dp:   0..7
                 dot1p-dscp: 0..63
                 dot1p-lp:   0..7
                 dscp-dot1p: 0..7
                 dscp-dp:    0..7
                 dscp-dscp:  0..63
                 dscp-lp:    0..7
                 exp-dp:     0..7
                 exp-lp:     0..7
                "
            ::= { h3cIfQoSPriMapContentEntry 2 }

        h3cIfQoSPriMapContentRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSPriMapContentEntry 3 }

--
-- nodes of h3cIfQoSPrePriMapTable
--
        h3cIfQoSPrePriMapTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPrePriMapEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Pre-defined priority mapping table information."
            ::= { h3cIfQoSPriMapConfigGroup 4 }

        h3cIfQoSPrePriMapEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPrePriMapEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Pre-defined priority mapping table entry."
            INDEX
            {
                h3cIfQoSPrePriMapTableType,
                h3cIfQoSPrePriMapTableColor,
                h3cIfQoSPrePriMapTableDirection,
                h3cIfQoSPrePriMapTableImportValue
            }
            ::= { h3cIfQoSPrePriMapTable 1 }

        H3cIfQoSPrePriMapEntry ::=
            SEQUENCE
            {
                h3cIfQoSPrePriMapTableType
                    INTEGER,
                h3cIfQoSPrePriMapTableColor
                    INTEGER,
                h3cIfQoSPrePriMapTableDirection
                    INTEGER,
                h3cIfQoSPrePriMapTableImportValue
                    Integer32,
                h3cIfQoSPrePriMapTableExportValue
                    Integer32
            }

        h3cIfQoSPrePriMapTableType OBJECT-TYPE
            SYNTAX INTEGER
            {
                dot1pToLp(1),
                dot1pToDp(2),
                expToLp(3),
                dscpToLp(4),
                expToDp(5),
                dscpToDp(6),
                dscpToDot1p(7),
                dot1pToDscp(8),
                dscpToDscp(9),
                dscpToExp(10),
                expToDscp(11),
                expToDot1p(12),
                expToExp(13),
                lpToDot1p(14),
                dot1pToRpr(15),
                dscpToRpr(16),
                expToRpr(17),
                ippreToRpr(18),
                upToDot1p(19),
                upToDscp(20),
                upToExp(21),
                upToDp(22),
                upToLp(23),
                upToRpr(24),
                upToFc(25),
                lpTodscp(26),
                dot11eToLp(27),
                lpToDot11e(28),
                lpToLp(29),
                dot1pToExp(30),
                lpToExp(31),
                lpToDp(32),
                upToUp(33),
                dot1pToDot1p(34)
            }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The type of pre-defined priority mapping table."
            ::= { h3cIfQoSPrePriMapEntry 1 }

        h3cIfQoSPrePriMapTableColor OBJECT-TYPE
            SYNTAX INTEGER
            {
                noColor(1),
                green(2),
                yellow(3),
                red(4)
            }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The color of pre-defined priority mapping table."
            ::= { h3cIfQoSPrePriMapEntry 2 }

        h3cIfQoSPrePriMapTableDirection OBJECT-TYPE
            SYNTAX INTEGER
            {
                noDirection(1),
                inbound(2),
                outbound(3)
            }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The direction of pre-defined priority mapping table."
            ::= { h3cIfQoSPrePriMapEntry 3 }

        h3cIfQoSPrePriMapTableImportValue OBJECT-TYPE
            SYNTAX Integer32 (0..63)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Input value of priority mapping table.
                 Different priority has different h3cIfQoSPrePriMapTableImportValue.
                 Priority-type  Range of h3cIfQoSPrePriMapTableImportValue
                 dot1p          (0..7)
                 dscp           (0..63)
                 lp             (0..7)
                 exp            (0..7)
                 ipPrecedence   (0..7)
                 up             (0..7)
                 dot11e         (0..7)
                "
            ::= { h3cIfQoSPrePriMapEntry 4 }

        h3cIfQoSPrePriMapTableExportValue OBJECT-TYPE
            SYNTAX Integer32 (0..63)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Output value of priority mapping table.
                 Different priority has different h3cIfQoSPrePriMapTableExportValue.
                 Priority-type  Range of h3cIfQoSPrePriMapTableExportValue
                 dot1p          (0..7)
                 dscp           (0..63)
                 lp             (0..7)
                 exp            (0..7)
                 ipPrecedence   (0..7)
                 up             (0..7)
                 dp             (0..2)
                 fc             (0..7)
                 rpr            (0..2)
                "
            ::= { h3cIfQoSPrePriMapEntry 5 }

--
-- nodes of L3 plus object
--
        h3cIfQoSL3PlusObjects OBJECT IDENTIFIER ::= { h3cIfQos2 10 }
--
-- nodes of h3cIfQoSPortBindingGroup
--
        h3cIfQoSPortBindingGroup OBJECT IDENTIFIER ::= { h3cIfQoSL3PlusObjects 1 }

        h3cIfQoSPortBindingTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSPortBindingEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of EACL sub-interface binding information
                 for L3+ board ."
            ::= { h3cIfQoSPortBindingGroup 1 }

        h3cIfQoSPortBindingEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPortBindingEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Binding information entry."
            INDEX { ifIndex }
            ::= { h3cIfQoSPortBindingTable 1 }

        H3cIfQoSPortBindingEntry ::=
            SEQUENCE
            {
                h3cIfQoSBindingIf
                    Integer32,
                h3cIfQoSBindingRowStatus
                    RowStatus
            }

        h3cIfQoSBindingIf OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The binding interface."
            ::= { h3cIfQoSPortBindingEntry 1 }

        h3cIfQoSBindingRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus"
            ::= { h3cIfQoSPortBindingEntry 2 }

--
-- node of h3cQoSTraStaObjects
--
        h3cQoSTraStaObjects OBJECT IDENTIFIER ::= { h3cIfQos2 11 }
--
-- nodes of h3cQoSTraStaConfigGroup
--
        h3cQoSTraStaConfigGroup OBJECT IDENTIFIER ::= { h3cQoSTraStaObjects 1 }

        h3cQoSIfTraStaConfigInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cQoSIfTraStaConfigInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of traffic statistics configuration information."
            ::= { h3cQoSTraStaConfigGroup 1 }

        h3cQoSIfTraStaConfigInfoEntry OBJECT-TYPE
            SYNTAX H3cQoSIfTraStaConfigInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry of interface traffic statistics configuration information."
            INDEX { ifIndex, h3cQoSIfTraStaConfigDirection }
            ::= { h3cQoSIfTraStaConfigInfoTable 1 }

        H3cQoSIfTraStaConfigInfoEntry ::=
            SEQUENCE
            {
                h3cQoSIfTraStaConfigDirection
                    Direction,
                h3cQoSIfTraStaConfigQueue
                    OCTET STRING,
                h3cQoSIfTraStaConfigDot1p
                    OCTET STRING,
                h3cQoSIfTraStaConfigDscp
                    OCTET STRING,
                h3cQoSIfTraStaConfigVlan
                    OCTET STRING,
                h3cQoSIfTraStaConfigStatus
                    RowStatus
            }

        h3cQoSIfTraStaConfigDirection OBJECT-TYPE
            SYNTAX Direction
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "The direction of the traffic statistics."
            ::= { h3cQoSIfTraStaConfigInfoEntry 1 }

        h3cQoSIfTraStaConfigQueue OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION "The bitmap of Queue ID.
                        The octet specifies queues 0 through 7.  If a bit has
                        a value of '1', the corresponding queue is configured
                        in the set of Queues; if a bit has a value of '0',
                        the corresponding queue is not configured."
            ::= { h3cQoSIfTraStaConfigInfoEntry 2 }

        h3cQoSIfTraStaConfigDot1p OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION "The bitmap of Dot1p value.
                        The octet specifies Dot1p values 0 through 7.  If a bit
                        has a value of '1', the corresponding Dot1p value is
                        configured in the set of Dot1p values; if a bit has a
                        value of '0', the corresponding Dot1p value is not
                        configured."
            ::= { h3cQoSIfTraStaConfigInfoEntry 3 }

        h3cQoSIfTraStaConfigDscp OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (8))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION "The bitmap of Dscp value.
                        Each octet within this value specifies a set of
                        eight Dscp values, with the first octet specifying
                        Dscp values 0 through 7, the second octet specifying
                        Dscp values 8 through 15, etc.  If a bit has a value
                        of '1', the corresponding Dscp value is configured
                        in the set of Dscp values; if a bit has a value of
                        '0', the corresponding Dscp value is not configured."
            ::= { h3cQoSIfTraStaConfigInfoEntry 4 }

        h3cQoSIfTraStaConfigVlan OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (512))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION "The bitmap of VLAN ID.
                        Each octet within this value specifies a set of
                        eight VLANs, with the first octet specifying
                        VLANs 0 through 7, the second octet specifying VLANs
                        8 through 15, etc.  If a bit has a value of '1', the
                        corresponding VLAN is configured in the set of VLANs;
                        if a bit has a value of '0', the corresponding VLAN
                        is not configured."
            ::= { h3cQoSIfTraStaConfigInfoEntry 5 }

        h3cQoSIfTraStaConfigStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION "The row status of this table entry."
            ::= { h3cQoSIfTraStaConfigInfoEntry 6 }


--
-- nodes of h3cQoSTraStaRunGroup
--
        h3cQoSTraStaRunGroup OBJECT IDENTIFIER ::= { h3cQoSTraStaObjects 2 }

        h3cQoSIfTraStaRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cQoSIfTraStaRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of traffic statistics running information."
            ::= { h3cQoSTraStaRunGroup 1 }

        h3cQoSIfTraStaRunInfoEntry OBJECT-TYPE
            SYNTAX H3cQoSIfTraStaRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry of interface traffic statistics running information."
            INDEX { ifIndex,
                    h3cQoSIfTraStaRunObjectType,
                    h3cQoSIfTraStaRunObjectValue,
                    h3cQoSIfTraStaRunDirection }
            ::= { h3cQoSIfTraStaRunInfoTable 1 }

        H3cQoSIfTraStaRunInfoEntry ::=
            SEQUENCE
            {
                h3cQoSIfTraStaRunObjectType
                    INTEGER,
                h3cQoSIfTraStaRunObjectValue
                    Integer32,
                h3cQoSIfTraStaRunDirection
                    Direction,
                h3cQoSIfTraStaRunPassPackets
                    Counter64,
                h3cQoSIfTraStaRunDropPackets
                    Counter64,
                h3cQoSIfTraStaRunPassBytes
                    Counter64,
                h3cQoSIfTraStaRunDropBytes
                    Counter64,
                h3cQoSIfTraStaRunPassPPS
                    Counter64,
                h3cQoSIfTraStaRunPassBPS
                    Counter64
            }

        h3cQoSIfTraStaRunObjectType OBJECT-TYPE
            SYNTAX INTEGER
            {
                queue(1),
                dot1p(2),
                dscp(3),
                vlanID(4)
            }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Type of statistics object."
            ::= { h3cQoSIfTraStaRunInfoEntry 1 }

        h3cQoSIfTraStaRunObjectValue OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Value range for the object type:
                 for Queue: 0~7
                 for Dot1p: 0~7
                 for Dscp: 0~63
                 for VlanID: 1~4094
                 "
            ::= { h3cQoSIfTraStaRunInfoEntry 2 }

        h3cQoSIfTraStaRunDirection OBJECT-TYPE
            SYNTAX Direction
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The direction of the traffic statistics."
            ::= { h3cQoSIfTraStaRunInfoEntry 3 }

        h3cQoSIfTraStaRunPassPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of passed packets."
            ::= { h3cQoSIfTraStaRunInfoEntry 4 }

        h3cQoSIfTraStaRunDropPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of dropped packets."
            ::= { h3cQoSIfTraStaRunInfoEntry 5 }

        h3cQoSIfTraStaRunPassBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of passed bytes."
            ::= { h3cQoSIfTraStaRunInfoEntry 6 }

        h3cQoSIfTraStaRunDropBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of dropped bytes."
            ::= { h3cQoSIfTraStaRunInfoEntry 7 }

        h3cQoSIfTraStaRunPassPPS OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "PPS (packets per second) of passed packets."
            ::= { h3cQoSIfTraStaRunInfoEntry 8 }

        h3cQoSIfTraStaRunPassBPS OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "BPS (bytes per second) of passed packets."
            ::= { h3cQoSIfTraStaRunInfoEntry 9 }

--
-- nodes of h3cQoSGlobalPriorityObject
--
        h3cQoSGlobalPriorityObject OBJECT IDENTIFIER ::= { h3cIfQos2 12 }

        h3cQoSRemarkTcpPortPriTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cQoSRemarkTcpPortPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of remarking TCP port priority information.
                 The priority field of all packets with the specified
                 TCP port will be remarked to the configured value.
                "
            ::= { h3cQoSGlobalPriorityObject 1 }

        h3cQoSRemarkTcpPortPriEntry OBJECT-TYPE
            SYNTAX H3cQoSRemarkTcpPortPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Remarking TCP port priority information entry."
            INDEX { h3cQoSRemarkTcpPortStart }
            ::= { h3cQoSRemarkTcpPortPriTable 1 }

        H3cQoSRemarkTcpPortPriEntry ::=
            SEQUENCE
            {
                h3cQoSRemarkTcpPortStart
                    Integer32,
                h3cQoSRemarkTcpPortEnd
                    Integer32,
                h3cQoSRemarkTcpPortType
                    INTEGER,
                h3cQoSRemarkTcpPortDot1p
                    Unsigned32,
                h3cQoSRemarkTcpPortDscp
                    Unsigned32,
                h3cQoSRemarkTcpPortRowStatus
                    RowStatus
            }

        h3cQoSRemarkTcpPortStart OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Start value of TCP port range."
            ::= { h3cQoSRemarkTcpPortPriEntry 1 }

        h3cQoSRemarkTcpPortEnd OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "End value of TCP port range.
                 It cannot be less than start value.
                "
            ::= { h3cQoSRemarkTcpPortPriEntry 2 }

        h3cQoSRemarkTcpPortType OBJECT-TYPE
            SYNTAX INTEGER
            {
                ipAll(1),
                ipv4(2),
                ipv6(3)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "IPv4 packet, IPv6 packet, or all IP packet."
            DEFVAL { ipAll }
            ::= { h3cQoSRemarkTcpPortPriEntry 3 }

        h3cQoSRemarkTcpPortDot1p OBJECT-TYPE
            SYNTAX Unsigned32 (0..7|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Dot1p value."
            ::= { h3cQoSRemarkTcpPortPriEntry 4 }

        h3cQoSRemarkTcpPortDscp OBJECT-TYPE
            SYNTAX Unsigned32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "DSCP value."
            ::= { h3cQoSRemarkTcpPortPriEntry 5 }

        h3cQoSRemarkTcpPortRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Row status."
            ::= { h3cQoSRemarkTcpPortPriEntry 6 }

--h3cQoSRemarkUdpPortPriTable

        h3cQoSRemarkUdpPortPriTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cQoSRemarkUdpPortPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of remarking UDP port priority information.
                 The priority field of all packets with the specified
                 UDP port will be remarked to the configured value.
                "
            ::= { h3cQoSGlobalPriorityObject 2 }

        h3cQoSRemarkUdpPortPriEntry OBJECT-TYPE
            SYNTAX H3cQoSRemarkUdpPortPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Remarking UDP port priority information entry."
            INDEX { h3cQoSRemarkUdpPortStart }
            ::= { h3cQoSRemarkUdpPortPriTable 1 }

        H3cQoSRemarkUdpPortPriEntry ::=
            SEQUENCE
            {
                h3cQoSRemarkUdpPortStart
                    Integer32,
                h3cQoSRemarkUdpPortEnd
                    Integer32,
                h3cQoSRemarkUdpPortType
                    INTEGER,
                h3cQoSRemarkUdpPortDot1p
                    Unsigned32,
                h3cQoSRemarkUdpPortDscp
                    Unsigned32,
                h3cQoSRemarkUdpPortRowStatus
                    RowStatus
            }

        h3cQoSRemarkUdpPortStart OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Start value of UDP port range."
            ::= { h3cQoSRemarkUdpPortPriEntry 1 }

        h3cQoSRemarkUdpPortEnd OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "End value of UDP port range.
                 It cannot be less than start value.
                "
            ::= { h3cQoSRemarkUdpPortPriEntry 2 }

        h3cQoSRemarkUdpPortType OBJECT-TYPE
            SYNTAX INTEGER
            {
                ipAll(1),
                ipv4(2),
                ipv6(3)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "IPv4 packet, IPv6 packet, or all IP packet."
            DEFVAL { ipAll }
            ::= { h3cQoSRemarkUdpPortPriEntry 3 }

        h3cQoSRemarkUdpPortDot1p OBJECT-TYPE
            SYNTAX Unsigned32 (0..7|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Dot1p value."
            ::= { h3cQoSRemarkUdpPortPriEntry 4 }

        h3cQoSRemarkUdpPortDscp OBJECT-TYPE
            SYNTAX Unsigned32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "DSCP value."
            ::= { h3cQoSRemarkUdpPortPriEntry 5 }

        h3cQoSRemarkUdpPortRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Row status."
            ::= { h3cQoSRemarkUdpPortPriEntry 6 }

--h3cQoSRemarkIPv4AddrPriTable
        h3cQoSRemarkIPv4AddrPriTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cQoSRemarkIPv4AddrPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of remarking IPv4 address priority information."
            ::= { h3cQoSGlobalPriorityObject 3 }

        h3cQoSRemarkIPv4AddrPriEntry OBJECT-TYPE
            SYNTAX H3cQoSRemarkIPv4AddrPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Remarking IPv4 address priority information entry.
                 The priority field of all IPv4 packets with the specified
                 IP address will be remarked to the configured value.
                "
            INDEX { h3cQoSRemarkIPv4AddrValue }
            ::= { h3cQoSRemarkIPv4AddrPriTable 1 }

        H3cQoSRemarkIPv4AddrPriEntry ::=
            SEQUENCE
            {
                h3cQoSRemarkIPv4AddrValue
                    IpAddress,
                h3cQoSRemarkIPv4AddrMask
                    IpAddress,
                h3cQoSRemarkIPv4AddrMaskLength
                    Unsigned32,
                h3cQoSRemarkIPv4AddrDot1p
                    Unsigned32,
                h3cQoSRemarkIPv4AddrDscp
                    Unsigned32,
                h3cQoSRemarkIPv4AddrRowStatus
                    RowStatus
            }

        h3cQoSRemarkIPv4AddrValue OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "IPv4 address."
            ::= { h3cQoSRemarkIPv4AddrPriEntry 1 }

        h3cQoSRemarkIPv4AddrMask OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Mask of IPv4 address."
            ::= { h3cQoSRemarkIPv4AddrPriEntry 2 }

        h3cQoSRemarkIPv4AddrMaskLength OBJECT-TYPE
            SYNTAX Unsigned32 (1..32 |4294967295)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Mask length of IPv4 address."
            DEFVAL { 32 }
            ::= { h3cQoSRemarkIPv4AddrPriEntry 3 }

        h3cQoSRemarkIPv4AddrDot1p OBJECT-TYPE
            SYNTAX Unsigned32 (0..7|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Dot1p value."
            ::= { h3cQoSRemarkIPv4AddrPriEntry 4 }

        h3cQoSRemarkIPv4AddrDscp OBJECT-TYPE
            SYNTAX Unsigned32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "DSCP value."
            ::= { h3cQoSRemarkIPv4AddrPriEntry 5 }

        h3cQoSRemarkIPv4AddrRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Row status."
            ::= { h3cQoSRemarkIPv4AddrPriEntry 6 }

--h3cQoSRemarkIPv6AddrPriTable
        h3cQoSRemarkIPv6AddrPriTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cQoSRemarkIPv6AddrPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of remarking IPv6 address priority information.
                 The priority field of all IPv6 packets with the specified
                 IP address will be remarked to the configured value.
                "
            ::= { h3cQoSGlobalPriorityObject 4 }

        h3cQoSRemarkIPv6AddrPriEntry OBJECT-TYPE
            SYNTAX H3cQoSRemarkIPv6AddrPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Remarking IPv6 address priority information entry."
            INDEX { h3cQoSRemarkIPv6AddrValue }
            ::= { h3cQoSRemarkIPv6AddrPriTable 1 }

        H3cQoSRemarkIPv6AddrPriEntry ::=
            SEQUENCE
            {
                h3cQoSRemarkIPv6AddrValue
                    InetAddressIPv6,
                h3cQoSRemarkIPv6AddrPrefixLength
                    InetAddressPrefixLength,
                h3cQoSRemarkIPv6AddrDot1p
                    Unsigned32,
                h3cQoSRemarkIPv6AddrDscp
                    Unsigned32,
                h3cQoSRemarkIPv6AddrRowStatus
                    RowStatus
            }

        h3cQoSRemarkIPv6AddrValue OBJECT-TYPE
            SYNTAX InetAddressIPv6
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "IPv6 address."
            ::= { h3cQoSRemarkIPv6AddrPriEntry 1 }

        h3cQoSRemarkIPv6AddrPrefixLength OBJECT-TYPE
            SYNTAX InetAddressPrefixLength
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Prefix length of IPv6 address."
            DEFVAL { 128 }
            ::= { h3cQoSRemarkIPv6AddrPriEntry 2 }

        h3cQoSRemarkIPv6AddrDot1p OBJECT-TYPE
            SYNTAX Unsigned32 (0..7|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Dot1p value."
            ::= { h3cQoSRemarkIPv6AddrPriEntry 3 }

        h3cQoSRemarkIPv6AddrDscp OBJECT-TYPE
            SYNTAX Unsigned32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "DSCP value."
            ::= { h3cQoSRemarkIPv6AddrPriEntry 4 }

        h3cQoSRemarkIPv6AddrRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Row status."
            ::= { h3cQoSRemarkIPv6AddrPriEntry 5 }

--h3cQoSRemarkProtocolPriTable
        h3cQoSRemarkProtocolPriTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cQoSRemarkProtocolPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of remarking layer 3 protocol priority information.
                 The 802.1p priority field of all packets of the specified
                 protocol will be remarked to the configured value.
                "
            ::= { h3cQoSGlobalPriorityObject 5 }

        h3cQoSRemarkProtocolPriEntry OBJECT-TYPE
            SYNTAX H3cQoSRemarkProtocolPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Remarking layer 3 protocol priority information entry."
            INDEX { h3cQoSRemarkProtocolValue }
            ::= { h3cQoSRemarkProtocolPriTable 1 }

        H3cQoSRemarkProtocolPriEntry ::=
            SEQUENCE
            {
                h3cQoSRemarkProtocolValue
                    INTEGER,
                h3cQoSRemarkProtocolDot1p
                    Unsigned32,
                h3cQoSRemarkProtocolRowStatus
                    RowStatus
            }

        h3cQoSRemarkProtocolValue OBJECT-TYPE
            SYNTAX INTEGER
            {
                ip(1),
                ipx(2),
                arp(3),
                appletalk(4),
                sna(5),
                netbeui(6)
            }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Layer 3 protocol type."
            ::= { h3cQoSRemarkProtocolPriEntry 1 }

        h3cQoSRemarkProtocolDot1p OBJECT-TYPE
            SYNTAX Unsigned32 (0..7|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Dot1p value."
            ::= { h3cQoSRemarkProtocolPriEntry 2 }

        h3cQoSRemarkProtocolRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Row status."
            ::= { h3cQoSRemarkProtocolPriEntry 3 }

--h3cQoSRemarkVlanPriTable

        h3cQoSRemarkVlanPriTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cQoSRemarkVlanPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of remarking VLAN priority information.
                 The priority field of all packets of the specified
                 VLAN will be remarked to the configured value.
                "
            ::= { h3cQoSGlobalPriorityObject 6 }

        h3cQoSRemarkVlanPriEntry OBJECT-TYPE
            SYNTAX H3cQoSRemarkVlanPriEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Remarking VLAN priority information entry."
            INDEX { h3cQoSRemarkVlanStart }
            ::= { h3cQoSRemarkVlanPriTable 1 }

        H3cQoSRemarkVlanPriEntry ::=
            SEQUENCE
            {
                h3cQoSRemarkVlanStart
                    Integer32,
                h3cQoSRemarkVlanEnd
                    Integer32,
                h3cQoSRemarkVlanDot1p
                    Unsigned32,
                h3cQoSRemarkVlanDscp
                    Unsigned32,
                h3cQoSRemarkVlanRowStatus
                    RowStatus
            }

        h3cQoSRemarkVlanStart OBJECT-TYPE
            SYNTAX Integer32 (1..4094)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Start VLAN ID."
            ::= { h3cQoSRemarkVlanPriEntry 1 }

        h3cQoSRemarkVlanEnd OBJECT-TYPE
            SYNTAX Integer32 (1..4094)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "End VLAN ID.  It cannot be less than start value."
            ::= { h3cQoSRemarkVlanPriEntry 2 }

        h3cQoSRemarkVlanDot1p OBJECT-TYPE
            SYNTAX Unsigned32 (0..7|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Dot1p value."
            ::= { h3cQoSRemarkVlanPriEntry 3 }

        h3cQoSRemarkVlanDscp OBJECT-TYPE
            SYNTAX Unsigned32 (0..63|255)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "DSCP value."
            ::= { h3cQoSRemarkVlanPriEntry 4 }

        h3cQoSRemarkVlanRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Row status."
            ::= { h3cQoSRemarkVlanPriEntry 5 }

--Type of service node
        h3cQoSTypeOfServiceObjects OBJECT IDENTIFIER
            ::= { h3cQoSGlobalPriorityObject 7 }

        h3cQoSTypeOfServiceMode OBJECT-TYPE
            SYNTAX INTEGER
            {
                disabled(1),
                ipPrecedence(2),
                dscp(3)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Global type of service.
                 The type of service is disabled by default.
                 When in ip-precedence mode, device uses ip-precedence value to
                 determine the 802.1p priority of the packet and its outbound queue.
                 When in DSCP mode, device uses DSCP value to determine
                 the 802.1p priority of the packet and its outbound queue.
                "
            DEFVAL { disabled }
            ::= { h3cQoSTypeOfServiceObjects 1 }

--
-- nodes of h3cIfQoSProcessingStatusObjects
--
        h3cIfQoSProcessingStatusObjects OBJECT IDENTIFIER ::= { h3cIfQos2 13 }

-- System status when processing

        h3cIfQoSProcessingStatus OBJECT-TYPE
            SYNTAX INTEGER
            {
                idle(1),
                busy(2)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object shows the current running status of the IFQoS module.
                'busy' means a task is being executed in the IFQoS module.  It is
                highly recommended not setting or reading IFQoS MIB objects in this state.
                otherwise, an operation failure might occur.
                'idle' means no task is being executed in the IFQoS module.  In this
                state, operations on IFQoS MIB objects will be accepted and executed
                immediately."

            ::= { h3cIfQoSProcessingStatusObjects 1 }

--
-- nodes of h3cIfQoSCoppObjects
--
        h3cIfQoSCoppObjects OBJECT IDENTIFIER ::= { h3cIfQos2 14 }

        h3cIfQoSCoppFlowStatTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cIfQoSCoppFlowStatEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of display the copp flow stat."
            ::= { h3cIfQoSCoppObjects 1 }

        h3cIfQoSCoppFlowStatEntry OBJECT-TYPE
            SYNTAX H3cIfQoSCoppFlowStatEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Display the copp flow stat entry."
            INDEX { h3cIfQoSCoppFlowStatChassis, h3cIfQoSCoppFlowStatSlot, h3cIfQoSCoppFlowStatProType}
            ::= { h3cIfQoSCoppFlowStatTable 1 }

    H3cIfQoSCoppFlowStatEntry ::=
            SEQUENCE
            {
                h3cIfQoSCoppFlowStatChassis
                    Unsigned32,
                h3cIfQoSCoppFlowStatSlot
                    Unsigned32,
                h3cIfQoSCoppFlowStatProType
                    Unsigned32,
                h3cIfQoSCoppFlowPassPackets
                    Counter64,
                h3cIfQoSCoppFlowPassBytes
                    Counter64,
                h3cIfQoSCoppFlowDropPackets
                    Counter64,
                h3cIfQoSCoppFlowDropBytes
                    Counter64
            }

    h3cIfQoSCoppFlowStatChassis OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The Chassis number."
            ::= { h3cIfQoSCoppFlowStatEntry 1 }

    h3cIfQoSCoppFlowStatSlot OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The slot number."
            ::= { h3cIfQoSCoppFlowStatEntry 2 }

    h3cIfQoSCoppFlowStatProType OBJECT-TYPE
            SYNTAX Unsigned32 (1..65)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The protocol type."
            ::= { h3cIfQoSCoppFlowStatEntry 3 }

    h3cIfQoSCoppFlowPassPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of passed packets."
            ::= { h3cIfQoSCoppFlowStatEntry 4 }

    h3cIfQoSCoppFlowPassBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of passed bytes."
            ::= { h3cIfQoSCoppFlowStatEntry 5 }

    h3cIfQoSCoppFlowDropPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of dropped packets."
            ::= { h3cIfQoSCoppFlowStatEntry 6 }

    h3cIfQoSCoppFlowDropBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of dropped bytes."
            ::= { h3cIfQoSCoppFlowStatEntry 7 }

END
