-- ============================================================================
-- Copyright (C) 2008 by H3C Technologies. All rights reserved.
--
-- Description: Interface QoS Management Information Base.
-- Reference: RFC 3291
-- Version: 1.5
-- 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.
-- ============================================================================
H3C-IFQOS2-MIB DEFINITIONS ::= BEGIN

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

        h3cIfQos2 MODULE-IDENTITY
            LAST-UPDATED "200812020000Z"
            ORGANIZATION
                "H3C Technologies Co.,Ltd."
            CONTACT-INFO
                "Platform Team H3C Technologies Co.,Ltd.
                Hai-Dian District Beijing P.R. China
                http://www.h3c.com
                Zip:100085
                "
            DESCRIPTION
                "Interface QoS management information base."
            ::= { h3cQos2 1 }

        h3cQos2     OBJECT IDENTIFIER ::= { h3cCommon 65 }

-- Car Action
        CarAction ::= 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)
            }

--
-- 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)
            }
            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
            }

        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)
            }
            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 }

--
-- 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
            }

        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 }

--
-- 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 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 infomation."
            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
            }

        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. Unit: kbps."
            ::= { h3cIfQoSLRConfigEntry 2 }

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

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

        h3cIfQoSRowStatus  OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus."
            ::= { h3cIfQoSLRConfigEntry 5 }
--
-- 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
                    CarAction,
                h3cIfQoSAggregativeCarGreenActionValue
                    Integer32,
                h3cIfQoSAggregativeCarYellowActionType
                    CarAction,
                h3cIfQoSAggregativeCarYellowActionValue
                    Integer32,
                h3cIfQoSAggregativeCarRedActionType
                    CarAction,
                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"
            ::= { h3cIfQoSAggregativeCarConfigEntry 6 }

        h3cIfQoSAggregativeCarGreenActionType OBJECT-TYPE
            SYNTAX CarAction
            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),
                 Hardware QoS : pass, discard, remark.
                 Software QoS : pass, discard, remark-ip-pass(6),
                 remark-mplsexp-pass(8), remark-dscp-pass(10).
                 'invalid' is returned only 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~63;
                 For remark-ip-pass and remark-mplsexp-pass, the range is 0~7;
                 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 CarAction
            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),
                 Hardware QoS : pass, discard, remark.
                 Software QoS : pass, discard, remark-ip-pass(6),
                 remark-mplsexp-pass(8), remark-dscp-pass(10).
                 'invalid' is returned only 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~63;
                 For remark-ip-pass and remark-mplsexp-pass, the range is 0~7;
                 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 CarAction
            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),
                 Hardware QoS : pass, discard, remark.
                 Software QoS : pass, discard, remark-ip-pass(6),
                 remark-mplsexp-pass(8), remark-dscp-pass(10).
                 'invalid' is returned only when getting value from software QoS.
                "
            ::= { h3cIfQoSAggregativeCarConfigEntry 11 }

        h3cIfQoSAggregativeCarRedActionValue OBJECT-TYPE
            SYNTAX Integer32
            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~63;
                 For remark-ip-pass and remark-mplsexp-pass, the range is 0~7;
                 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)
            }
            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.
                "
            ::= { 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
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The number of class rule.
                 ipv4acl : 2000..5999
                 ipv6acl : 2000..42767
                 carl : 1..16
                 other types: 0.
                "
            ::= { h3cIfQoSAggregativeCarApplyEntry 3 }

        h3cIfQoSAggregativeCarApplyCarIndex OBJECT-TYPE
            SYNTAX Integer32
            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
                    CarAction,
                h3cIfQoSTricolorCarGreenActionValue
                    Integer32,
                h3cIfQoSTricolorCarYellowActionType
                    CarAction,
                h3cIfQoSTricolorCarYellowActionValue
                    Integer32,
                h3cIfQoSTricolorCarRedActionType
                    CarAction,
                h3cIfQoSTricolorCarRedActionValue
                    Integer32,
                h3cIfQoSTricolorCarRowStatus
                    RowStatus
            }

        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
            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. Unit: kbps."
            ::= { h3cIfQoSTricolorCarConfigEntry 4 }

        h3cIfQoSTricolorCarCbs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Committed Burst Size. Unit: byte."
            ::= { h3cIfQoSTricolorCarConfigEntry 5 }

        h3cIfQoSTricolorCarEbs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Excess Burst Size. Unit: byte."
            ::= { h3cIfQoSTricolorCarConfigEntry 6 }

        h3cIfQoSTricolorCarPir OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Peak Information Rate. Unit: kbps."
            ::= { h3cIfQoSTricolorCarConfigEntry 7 }

        h3cIfQoSTricolorCarGreenActionType OBJECT-TYPE
            SYNTAX CarAction
            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~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~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~1.
                 255 is returned only when getting value from hardware QoS
                 or when action being pass, discard of software QoS.
                 255 can't be set.
                "
            ::= { h3cIfQoSTricolorCarConfigEntry 9 }

        h3cIfQoSTricolorCarYellowActionType OBJECT-TYPE
            SYNTAX CarAction
            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~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~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~1.
                 255 is returned only when getting value from hardware QoS
                 or when action being pass, discard of software QoS.
                 255 can't be set.
                "
            ::= { h3cIfQoSTricolorCarConfigEntry 11 }

        h3cIfQoSTricolorCarRedActionType OBJECT-TYPE
            SYNTAX CarAction
            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~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~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~1.
                 255 is returned only when getting value from hardware QoS
                 or when action being pass, 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 }

--
-- 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
            }

        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
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Value of type.
                 ipv4acl : 2000..4999
                 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. Unit: kbps."
            ::= { h3cIfQoSGTSConfigEntry 3 }

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

        h3cIfQoSGTSEbs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Excess Burst Size. Unit: byte."
            ::= { 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 }

--
-- 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
            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 (1..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
            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 priority of port information."
            ::= { h3cIfQoSPortPriorityConfigGroup 1 }

        h3cIfQoSPortPriorityEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPortPriorityEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The priority of port 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 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 the trust-priority of port information."
            ::= { h3cIfQoSPortPriorityConfigGroup 2 }

        h3cIfQoSPortPirorityTrustEntry OBJECT-TYPE
            SYNTAX H3cIfQoSPortPirorityTrustEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Trust-priority of port 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)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The trust type of port."
            DEFVAL { untrust }
            ::= { h3cIfQoSPortPirorityTrustEntry 1 }

        h3cIfQoSPortPriorityTrustOvercastType OBJECT-TYPE
            SYNTAX INTEGER
            {
                noOvercast(1),
                overcastDSCP(2),
                overcastCOS(3)
            }
            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 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 }

END
