-- =========================================================================
-- Copyright (c) 2004-2019 New H3C Tech. Co., Ltd.  All rights reserved.
--
-- Description: This MIB file is used for management of hh3c Class Based
--             QoS information.
-- Reference:
-- Version: V2.4
-- History:
-- V1.0 created by tangshun.
-- V1.1 2006/01/17 modified by wangjinwang
--   add enum value 22 and 23 in MatchRuleType
--   add comment for hh3cCBQoSMatchRuleIntValue1
-- V1.2 2006/02/24 modified by changhuifeng
--   Add an enumeration Bittorrent(24) to object hh3cCBQoSMatchRuleType.
--   Add hh3cCBQoSMirrorCfgInfoTable for flow mirror.
--   Add hh3cCBQoSRedirectIpv6Interface1 and hh3cCBQoSRedirectIpv6Interface2
--   object for hh3cCBQoSRedirectCfgInfoTable.
--   Modify the value range of hh3cCBQoSRemarkValue from "1~4094" to "1~4095"
--   in hh3cIfQoSPQClassRuleTable.
-- V1.3 2006/03/29 modified by xialei
--   Modify the MAX-ACCESS clause of hh3cCBQoSQueueDropType.
--   Modify the description for object hh3cCBQoSQueueCbs.
--   Modify the enumeration name of object hh3cCBQoSRedirectType.
-- V1.4 2007/10/15 modified by wangjinwang
--   Add hh3cCBQoSGlobalApplyTable to global policy apply.
--   Add hh3cCBQoSPolicyClassMode and hh3cCBQoSPolicyClassCfgOrder to
--   hh3cCBQoSPolicyClassCfgInfoTable.
--   Add hh3cCBQoSNestCfgInfoTable to traffic behavior.
--   Add enumeration matchRuleServiceDot1p
--   to object hh3cCBQoSMatchRuleType.
--   Add enumeration typeTopMostVlanID to object hh3cCBQoSRemarkType.
-- V1.5 2007/12/12 modified by Xu Hang/ChenWei
--   Delete the default value of hh3cCBQoSGlobalApplyDirection
--   in hh3cCBQoSGlobalApplyTable
--   Add hh3cCBQoSApplyPolicyIndexObjects to hh3cCBQoSApplyPolicyStaticsObjects
--   Add hh3cCBQoSStaticsObjects to hh3cCBQoSApplyPolicyStaticsObjects
--   Modify the MAX-ACCESS clause of hh3cCBQoSQueueDropType.
--   Modify the MAX-ACCESS clause of hh3cCBQoSIfApplyPolicyIfIndex,
--   hh3cCBQoSIfApplyPolicyDirection, hh3cCBQoSVlanApplyPolicyVlanid
--   and hh3cCBQoSVlanApplyPolicyDirection.
--   Add hh3cCBQoSApplyingStatusObjects to hh3cCBQoSObjects.
--   Add hh3cCBQoSApplyingStatus to hh3cCBQoSApplyPolicyObjects.
--   Add hh3cCBQoSNotifications to hh3cCBQoSObjects.
--   Add hh3cCBQoSNotificationsPrefix to hh3cCBQoSNotifications.
--   Add hh3cCBQoSIfPolicyChanged and hh3cCBQoSVlanPolicyChanged
--   to hh3cCBQoSNotificationsPrefix.
--   Add remark-local-pre-pass and remark-drop-pre-pass to CarAction.
--   Delete the default value of hh3cCBQoSVlanApplyPolicyDirection and
--   hh3cCBQoSGlobalApplyDirection.
-- V1.6 2008/05/28 modified by ChenWei
--   Add hh3cCBQoSNestPolicyCfgInfoTable to hh3cCBQoSBehaviorObjects.
--   Add hh3cCBQoSNestPolicyApplyObjectTable to hh3cCBQoSApplyPolicyIndexObjects.
-- V1.7 2011/01/25 modified by XuGuoFang/zhaixiaoxiang
--   Modify the range of hh3cCBQoSQueueBandwidthValue.
--   Modify the range of hh3cCBQoSQueueCbs.
--   Modify the description of hh3cCBQoSQueueCbsRatio.
--   Modify the description of hh3cCBQoSBehaviorIndexNext.
-- V1.8 2012/07/02 modified by XuJunjie/XunZhi
--   Modify MatchRuleType add matchRuleMplsLabel to matchRuleForwardingLayer.
--   Modify the description for hh3cCBQoSClassifierIndexNext.
--   Modify the description for hh3cCBQosClassifierMatchRuleNextIndex.
--   Modify the description for hh3cCBQoSMatchRuleStringValue.
--   Modify the description for hh3cCBQoSMatchRuleIntValue1.
--   Modify the description for hh3cCBQoSMatchRuleIntValue2.
--   Add table hh3cCBQoSMatchCpProtoCfgTable.
--   Add table hh3cCBQoSMatchCpGroupCfgTable.
--   Add hh3cCBQoSAccountingMode in hh3cCBQoSAccountCfgInfoTable.
--   Add hh3cCBQoSRedirectIfVlanID in hh3cCBQoSRedirectCfgInfoTable.
--   Add table hh3cCBQoSMirrorIfCfgInfoTable.
--   Add table hh3cCBQoSColoredRemarkCfgTable.
--   Add table hh3cCBQoSPrimapCfgInfoTable.
--   Add table hh3cCBQoSColorMapDpCfgInfoTable.
--   Modify the description for hh3cCBQoSPolicyIndexNext
--   Modify the description for hh3cCBQoSPolicyClassNextIndex
--   Add table hh3cCBQoSCpApplyPolicyTable
--   Modify ApplyObjectType add controlPlane
--   Modify the description for hh3cCBQoSApplyObjectMainSite
--   Modify the description for hh3cCBQoSApplyObjectSubChannel
--   Add table hh3cCBQoSCpApplyObjectTable
--   Modify SYNTAX add partialSuccess(3) for hh3cCBQoSClassBehaviorStatus
--   Modify hh3cCBQoSQueueBandwidthUnit add a value RemainPercent.
--   Modify hh3cCBQoSPolicyClassMode, add modeQppb, modeIpSourceGuard, modeVoiceVlan,
--   modeDCBX to value list.
--   Add node ApplyPolicyStatus for table hh3cCBQoSIfApplyPolicyTable,
--   hh3cCBQoSVlanApplyPolicyTable, and hh3cCBQoSGlobalApplyTable.
-- V1.9 2013/03/13 modified by MouXuanli
--   Add typeSecondMplsExp to RemarkType.
--   Modify the description of hh3cCBQoSRemarkValue and hh3cCBQoSColoredRemarkValue.
-- V2.0 2014/02/24 modified by MouXuanli
--   Modify the range of hh3cCBQoSQueueLength.
-- V2.1 2014/04/17 modified by GaoYu/XunZhi
--   Add enumeration matchRuleMacAcl and matchRuleUserAcl to MatchRuleType.
--   Modify the description of hh3cCBQoSMatchRuleStringValue.
--   Modify the description of hh3cCBQoSMatchRuleIntValue1.
-- V2.2 2016/2/24 modified by WanQing
--   Add enumeration matchRuleVxlan to MatchRuleType.
--   Modify the description of hh3cCBQoSMatchRuleStringValue.
--   2017/03/02 modified by gaomengfei
--   Add hh3cCBQoSCarClassName to hh3cCBQoSCarRunInfoEntry.
--   2017/10/10 modified by gaomengfei
--   Add hh3cCBQoSAccountingPktpps to Hh3cCBQoSAccountingRunInfoEntry.
--   Add hh3cCBQoSAccountingPktbps to Hh3cCBQoSAccountingRunInfoEntry.
--   2018/01/4 modified by gaomengfei
--   Add hh3cCBQoSPolicyAccRunInfoTable.
-- V2.3 2018/10/31 modified by gaomengfei
--   Add hh3cCBQoSCarGreenpps to hh3cCBQoSCarRunInfoEntry.
--   Add hh3cCBQoSCarGreenbps to hh3cCBQoSCarRunInfoEntry.
--   Add hh3cCBQoSCarRedpps to hh3cCBQoSCarRunInfoEntry.
--   Add hh3cCBQoSCarRedbps to hh3cCBQoSCarRunInfoEntry.
--   Add hh3cCBQoSCarYellowpps to hh3cCBQoSCarRunInfoEntry.
--   Add hh3cCBQoSCarYellowbps to hh3cCBQoSCarRunInfoEntry.
-- V2.4 2019/05/29 modified by gaomengfei
--   Modify the value range of hh3cCBQoSQueueBandwidthValue from "1~10000000" to "1~100000000".
-- ==========================================================================
HH3C-CBQOS2-MIB DEFINITIONS ::= BEGIN

IMPORTS
    hh3cCommon
        FROM HH3C-OID-MIB
    Integer32, Counter64, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB           -- [RFC3291]
    TEXTUAL-CONVENTION, RowStatus, TruthValue
        FROM SNMPv2-TC;

hh3cCBQos2 MODULE-IDENTITY
    LAST-UPDATED "201905290000Z"        --May 29, 2019 at 00:00 GMT
    ORGANIZATION
        "New H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team New H3C Technologies Co., Ltd.
        Hai-Dian District Beijing P.R. China
        http://www.h3c.com
        Zip:100085
        "
    DESCRIPTION
        "This MIB contains objects to manage configuration and
         monitor running state for Class Based QoS feature.

            *********************************
                    MIB Tables
            **********************************
         This MIB consists of the following tables:
            1 :  hh3cCBQoSClassifierCfgInfoTable
            2 :  hh3cCBQoSMatchRuleCfgInfoTable
            3 :  hh3cCBQoSMatchCpProtoCfgTable
            4 :  hh3cCBQoSMatchCpGroupCfgTable
            5 :  hh3cCBQoSBehaviorCfgInfoTable
            6 :  hh3cCBQoSCarCfgInfoTable
            7 :  hh3cCBQoSAggregativeCarCfgInfoTable
            8 :  hh3cCBQoSGtsCfgInfoTable
            9 :  hh3cCBQoSRemarkCfgInfoTable
            10:  hh3cCBQoSQueueCfgInfoTable
            11:  hh3cCBQoSWredCfgInfoTable
            12:  hh3cCBQoSWredClassCfgInfoTable
            13:  hh3cCBQoSPolicyRouteCfgInfoTable
            14:  hh3cCBQoSNatCfgInfoTable
            15:  hh3cCBQoSFirewallCfgInfoTable
            16:  hh3cCBQoSSamplingCfgInfoTable
            17:  hh3cCBQoSAccountCfgInfoTable
            18:  hh3cCBQoSRedirectCfgInfoTable
            19:  hh3cCBQoSPriorityMapCfgInfoTable
            20:  hh3cCBQoSPolicyCfgInfoTable
            21:  hh3cCBQoSPolicyClassCfgInfoTable
            22:  hh3cCBQoSIfApplyPolicyTable
            23:  hh3cCBQoSAtmPvcApplyPolicyTable
            24:  hh3cCBQoSVlanApplyPolicyTable
            25:  hh3cCBQoSFrClassApplyPolicyTable
            26:  hh3cCBQoSFrPvcApplyPolicyTable
            27:  hh3cCBQoSIfCbqRunInfoTable
            28:  hh3cCBQoSIfClassMatchRunInfoTable
            29:  hh3cCBQoSIfCarRunInfoTable
            30:  hh3cCBQoSIfGtsRunInfoTable
            31:  hh3cCBQoSIfRemarkRunInfoTable
            32:  hh3cCBQoSIfQueueRunInfoTable
            33:  hh3cCBQoSIfWredRunInfoTable
            34:  hh3cCBQoSIfAccountingRunInfoTable
            35:  hh3cCBQoSAtmPvcCbqRunInfoTable
            36:  hh3cCBQoSAtmPvcClassMatchRunInfoTable
            37:  hh3cCBQoSAtmPvcCarRunInfoTable
            38:  hh3cCBQoSAtmPvcGtsRunInfoTable
            39:  hh3cCBQoSAtmPvcRemarkRunInfoTable
            40:  hh3cCBQoSAtmPvcQueueRunInfoTable
            41:  hh3cCBQoSAtmPvcWredRunInfoTable
            42:  hh3cCBQoSAtmPvcAccountingRunInfoTable
            43:  hh3cCBQoSFrPvcCbqRunInfoTable
            44:  hh3cCBQoSFrPvcClassMatchRunInfoTable
            45:  hh3cCBQoSFrPvcCarRunInfoTable
            46:  hh3cCBQoSFrPvcGtsRunInfoTable
            47:  hh3cCBQoSFrPvcRemarkRunInfoTable
            48:  hh3cCBQoSFrPvcQueueRunInfoTable
            49:  hh3cCBQoSFrPvcWredRunInfoTable
            50:  hh3cCBQoSFrPvcAccountingRunInfoTable
            51:  hh3cCBQoSIfVlanClassMatchRunInfoTable
            52:  hh3cCBQoSIfVlanAccountingRunInfoTable
            53:  hh3cCBQoSMirrorCfgInfoTable
            54:  hh3cCBQoSGlobalApplyTable
            55:  hh3cCBQoSCpApplyPolicyTable
            56:  hh3cCBQoSNestCfgInfoTable
            57:  hh3cCBQoSNestPolicyCfgInfoTable
            58:  hh3cCBQoSMirrorIfCfgInfoTable
            59:  hh3cCBQoSColoredRemarkCfgTable
            60:  hh3cCBQoSPrimapCfgInfoTable
            61:  hh3cCBQoSColorMapDpCfgInfoTable
            62:  hh3cCBQoSApplyObjectTable
            63:  hh3cCBQoSIntApplyObjectTable
            64:  hh3cCBQoSVlanApplyObjectTable
            65:  hh3cCBQoSPvcApplyObjectTable
            66:  hh3cCBQoSNestPolicyApplyObjectTable
            67:  hh3cCBQoSCpApplyObjectTable
            68:  hh3cCBQoSCbqRunInfoTable
            69:  hh3cCBQoSClassMatchRunInfoTable
            70:  hh3cCBQoSCarRunInfoTable
            71:  hh3cCBQoSGtsRunInfoTable
            72:  hh3cCBQoSRemarkRunInfoTable
            73:  hh3cCBQoSQueueRunInfoTable
            74:  hh3cCBQoSWredRunInfoTable
            75:  hh3cCBQoSAccountingRunInfoTable
            76:  hh3cCBQoSPolicyAccRunInfoTable
            77:  hh3cCBQoSApplyingStatusObjects
            78:  hh3cCBQoSNotifications
        "
    REVISION "201905290000Z"        --May 29, 2019 at 00:00 GMT
    DESCRIPTION
        "Modify the value range of hh3cCBQoSQueueBandwidthValue from 1~10000000 to 1~100000000."
    REVISION "201810310000Z"        --October 31, 2018 at 00:00 GMT
    DESCRIPTION
        "Add hh3cCBQoSCarGreenpps to hh3cCBQoSCarRunInfoEntry.
         Add hh3cCBQoSCarGreenbps to hh3cCBQoSCarRunInfoEntry.
         Add hh3cCBQoSCarRedpps to hh3cCBQoSCarRunInfoEntry.
         Add hh3cCBQoSCarRedbps to hh3cCBQoSCarRunInfoEntry.
         Add hh3cCBQoSCarYellowpps to hh3cCBQoSCarRunInfoEntry.
         Add hh3cCBQoSCarYellowbps to hh3cCBQoSCarRunInfoEntry."
    REVISION "201801040000Z"        --January 4, 2018 at 00:00 GMT
    DESCRIPTION
        "Add hh3cCBQoSPolicyAccRunInfoTable."
    REVISION "201710100000Z"        --October 10, 2017 at 00:00 GMT
    DESCRIPTION
        "Add hh3cCBQoSAccountingPktpps to Hh3cCBQoSAccountingRunInfoEntry.
         Add hh3cCBQoSAccountingPktbps to Hh3cCBQoSAccountingRunInfoEntry."
    REVISION "201703020000Z"        --March 02, 2017 at 00:00 GMT
    DESCRIPTION
        "Add hh3cCBQoSCarClassName to hh3cCBQoSCarRunInfoEntry."
    REVISION "201602240000Z"        -- Feb 24, 2016 at 00:00 GMT
    DESCRIPTION
        "Add enumeration matchRuleVxlan to MatchRuleType.
         Modify the description of hh3cCBQoSMatchRuleStringValue."
    REVISION "201207020000Z"        -- July 02, 2012 at 00:00 GMT
    DESCRIPTION
        "Modified to add new tables and new nodes."
    REVISION "200507300000Z"        -- July 30, 2005 at 00:00 GMT
    DESCRIPTION
        "The initial revision of this MIB module."
    ::= { hh3cQos2 2 }

hh3cQos2 OBJECT IDENTIFIER ::= { hh3cCommon 65 }

--
-- type definitions in the traffic classifier
--

-- MatchRuleType
MatchRuleType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Type of Match Rule."
    SYNTAX INTEGER
    {
        matchRuleAny(1),
        matchRuleIpv4Acl(2),
        matchRuleIPv6Acl(3) ,
        matchRuleIPv4Protocol(4),
        matchRuleIPv6Protocol(5),
        matchRuleIPXProtocol(6),
        matchRuleDscp(7),
        matchRuleIpPre(8),
        matchRuleVlan8021p(9),
        matchRuleMplsExp(10),
        matchRuleAtmClp(11),
        matchRuleFrDe(12),
        matchRuleSourceMac(13),
        matchRuleDestinationMac(14),
        matchRuleQosLocalID(15),
        matchRuleClassifier(16),
        matchRuleInboundInterface(17),
        matchRuleRtpPort(18),
        matchRuleSourceIp(19),
        matchRuleVlanID(20),
        matchRuleTopMostVlanID(21),
        matchRuleLocalPrecedence(22),
        matchRuleDropPriority(23),
        matchRuleBittorrent(24),
        matchRuleServiceDot1p(25),
        matchRuleMplsLabel(26),
        matchRuleSecondMplsLabel(27),
        matchRuleSecondMplsExp(28),
        matchRulePacketLength(29),
        matchRuleArpProtocol(30),
        matchRuleForwardingLayer(31),
        matchRuleMacAcl(32),
        matchRuleUserAcl(33),
        matchRuleVxlan(34)
    }
--
-- end of type definitions in the traffic classifier
--

--
-- type definitions in the traffic behavior
--

-- CarAction
CarAction ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "The actions taken when packets conforming or exceeding
         the configured committed information rate(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),
        remark-local-pre-pass(17),
        remark-drop-pre-pass(18)
    }

-- RemarkType
RemarkType ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Type of remark."
    SYNTAX INTEGER
    {
        typeIpPrecedence(1),
        typeDscp(2),
        typeMplsExp(3),
        typeVlan8021p(4),
        typeAtmClp(5),
        typeFrDe(6),
        typeVlanID(7),
        typeQosLocalID(8),
        typeDropPrecedence(9),
        typeLocalPrecedence(10),
        typeTopMostVlanID(11),
        typeSecondMplsExp(12)
    }

-- WredType
WredType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "WRED type."
    SYNTAX INTEGER
    {
        typeIpPrecBased(1),
        typeDscpBased(2),
        typeDropLevelBased(3),
        typeAtmClpBased(4),
        typeVlan8021pBased(5),
        typeMplsExpBased(6)
    }

-- QueueType
QueueType ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Queueing Type:
         EF:(1)
         AF:(2)
         WFQ:(3)
        "
    SYNTAX INTEGER
    {
        ef(1),
        af(2),
        wfq(3)
    }

-- QueueBandwidthUnit
QueueBandwidthUnit ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Bandwidth Unit:
         Absolute, Unit : Kbps(1)
         Percent, Unit : %(2)
         RemainPercent, Unit : %(3)
        "
    SYNTAX INTEGER
    {
        unitUnavailable(0),
        unitAbsolute(1),
        unitPercent(2),
        unitRemainPercent(3)
    }

--
-- end of type definitions in the traffic behavior
--

--
-- type definitions in the policy
--

-- Direction
DirectionType ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "The direction of policy apply on at interface."
    SYNTAX  INTEGER
    {
        inbound(1),
        outbound(2)
    }

-- ApplyObjectType
ApplyObjectType ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Type of QoS apply object."
    SYNTAX  INTEGER
    {
        interface(1),
        vlan(2),
        atmPvc(3),
        frDlci(4),
        controlPlane(5)
    }

--
-- end of type definitions in policy
--

--
-- Node definitions
--
hh3cCBQoSObjects OBJECT IDENTIFIER ::= { hh3cCBQos2 1 }

-- hh3cCBQoSClassifierObjects

hh3cCBQoSClassifierObjects OBJECT IDENTIFIER ::= { hh3cCBQoSObjects 1 }

-- Traffic Classifier Next Index
hh3cCBQoSClassifierIndexNext OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object contains an appropriate value to be used for
         hh3cCBQoSClassifierIndex when creating rows in the
         hh3cCBQoSClassifierCfgInfoTable.
        "
    ::= { hh3cCBQoSClassifierObjects 1 }

-- Traffic Classifier

hh3cCBQoSClassifierCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSClassifierCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Traffic Classifier configuration information."
    ::= { hh3cCBQoSClassifierObjects 2 }

hh3cCBQoSClassifierCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSClassifierCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Traffic Classifier Configuration Information Entry."
    INDEX { hh3cCBQoSClassifierIndex }
    ::= { hh3cCBQoSClassifierCfgInfoTable 1 }

Hh3cCBQoSClassifierCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSClassifierIndex
            Integer32,
        hh3cCBQoSClassifierName
            OCTET STRING,
        hh3cCBQoSClassifierRuleCount
            Integer32,
        hh3cCBQoSClassifierOperator
            INTEGER,
        hh3cCBQoSClassifierLayer
            INTEGER,
        hh3cCBQoSClassifierType
            INTEGER,
        hh3cCBQosClassifierMatchRuleNextIndex
            Integer32,
        hh3cCBQoSClassifierRowStatus
            RowStatus
    }

hh3cCBQoSClassifierIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of Traffic Classifier.  Begin with 0."
    ::= { hh3cCBQoSClassifierCfgInfoEntry 1 }

hh3cCBQoSClassifierName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Name of Traffic Classifier."
    ::= { hh3cCBQoSClassifierCfgInfoEntry 2 }

hh3cCBQoSClassifierRuleCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The counter of match rules of Traffic classifier."
    ::= { hh3cCBQoSClassifierCfgInfoEntry 3 }

hh3cCBQoSClassifierOperator OBJECT-TYPE
    SYNTAX INTEGER
    {
        and(1),
        or(2)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Operator of the match rules of traffic classifier.
         Software QoS supports and, or.
         Hardware QoS supports and.
        "
    DEFVAL { and }
    ::= { hh3cCBQoSClassifierCfgInfoEntry 4 }

hh3cCBQoSClassifierLayer OBJECT-TYPE
    SYNTAX INTEGER
    {
        unavailable(1),
        l2(2),
        l3(3),
        both(4)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Configuration layer of traffic classifier.
         Only hardware QoS support it.
         1(unavailable) is returned only when getting value from software QoS.
         1(unavailable) can't be set.
        "
    DEFVAL { l3 }
    ::= { hh3cCBQoSClassifierCfgInfoEntry 5 }

hh3cCBQoSClassifierType OBJECT-TYPE
    SYNTAX INTEGER
    {
        systemDefined(1),
        userDefined(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of classifier."
    ::= { hh3cCBQoSClassifierCfgInfoEntry 6 }

hh3cCBQosClassifierMatchRuleNextIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object contains an appropriate value to be used for
         hh3cCBQoSMatchRuleIndex when creating rows in the
         hh3cCBQoSMatchRuleCfgInfoTable.
        "
    ::= { hh3cCBQoSClassifierCfgInfoEntry 7 }

hh3cCBQoSClassifierRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "RowStatus."
    ::= { hh3cCBQoSClassifierCfgInfoEntry 8 }

-- Match rule

hh3cCBQoSMatchRuleCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSMatchRuleCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Match Rule configuration information."
    ::= { hh3cCBQoSClassifierObjects 3 }

hh3cCBQoSMatchRuleCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSMatchRuleCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Match Rule Configuration Information Entry."
    INDEX { hh3cCBQoSClassifierIndex, hh3cCBQoSMatchRuleIndex }
    ::= { hh3cCBQoSMatchRuleCfgInfoTable 1 }

Hh3cCBQoSMatchRuleCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSMatchRuleIndex
            Integer32,
        hh3cCBQoSMatchRuleIfNot
            INTEGER,
        hh3cCBQoSMatchRuleType
            MatchRuleType,
        hh3cCBQoSMatchRuleStringValue
            OCTET STRING,
        hh3cCBQoSMatchRuleIntValue1
            Unsigned32,
        hh3cCBQoSMatchRuleIntValue2
            Unsigned32,
        hh3cCBQoSMatchIpAddressType
            InetAddressType,
        hh3cCBQoSMatchIpAddress
            InetAddress,
        hh3cCBQoSMatchRuleRowStatus
            RowStatus
    }

hh3cCBQoSMatchRuleIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of Match Rule."
    ::= { hh3cCBQoSMatchRuleCfgInfoEntry 1 }

hh3cCBQoSMatchRuleIfNot OBJECT-TYPE
    SYNTAX INTEGER
    {
        match(1),
        matchNot(2)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Whether the if-match rule is a match or matchNot statement.
         Software QoS supports match, matchNot.
         Hardware QoS supports match.
        "
    DEFVAL { match }
    ::= { hh3cCBQoSMatchRuleCfgInfoEntry 2 }

hh3cCBQoSMatchRuleType OBJECT-TYPE
    SYNTAX MatchRuleType
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Type of Match Rule."
    ::= { hh3cCBQoSMatchRuleCfgInfoEntry 3 }

hh3cCBQoSMatchRuleStringValue OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..255))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Value of Match Rule.
         IPv4 ACL: SIZE (1..63) ACL name
         MAC ACL: SIZE (1..63) MAC ACL name
         User ACL: SIZE (1..63) User ACL name
         IPv6 ACL: SIZE (1..63) IPv6 ACL name
         SourceMAC: SIZE (12) HHHHHHHHHHHH
           for example: 010102020303 means the match rule is
                        'if-match source-mac 0101-0202-0303'
         DestinationMAC: SIZE (12) HHHHHHHHHHHH
           for example: 010102020303 means the match rule is
                        'if-match destination-mac 0101-0202-0303'
         Classifier: SIZE (1..31) classifier name
         InboundInterface: SIZE (1..47) interface description
         TopMostVlanID, VlanID: SIZE(1..109), up to 10 values can be input;
           for example: 1##5#11#111##114#1111 means the match rule is
                        'if-match vlanid 1 to 5 11 111 to 114 1111'
         SourceIp: SIZE (12) HHHHHHHHHHHH
           for example: 010102020303 means the match rule is
                        'if-match source-ip mac-address 0101-0202-0303'
         MplsLabel: SIZE (1..63), up to 8 values can be input;
           for example: 1#11#111#1111 means the match rule is
                        'if-match mpls-label 1 11 111 1111';
                        1##1111 means the match rule is
                        'if-match mpls-label 1 to 1111';
         SecondMplsLabel: SIZE (1..63), up to 8 values can be input;
           for example: 1#11#111#1111 means the match rule is
                        'if-match mpls-label 1 11 111 1111';
                        1##1111 means the match rule is
                        'if-match mpls-label 1 to 1111';
         VxlanID: SIZE(1..8) Vxlan ID or any
           for example: 20 means the match rule is
                        'if-match vxlan 20';
                        any means the match rule is
                        'if-match vxlan any';
         other types: Set is not permitted.  Zero-length string will
                      be returned when getting.
        "
    ::= { hh3cCBQoSMatchRuleCfgInfoEntry 4 }

hh3cCBQoSMatchRuleIntValue1 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Value of Match Rule.
         IPv4 ACL: 2000~3999
         MAC ACL: 4000~4999
         User ACL: 5000~5999
         IPv6 ACL: 2000~3999; 10000~42767
         Software QoS: 2000~3999
         Hardware Qos: 10000~42767
         RtpPort: start-port: 2000~65535
         IpPrec: value: 0~7, up to 8 values can be input.  The bit set to
                 1 of the last 8 bits of hh3cCBQoSMatchRuleIntValue1 is
                 used to indicate the value 0~7.
           for example: 0x53(Binary format is 01010011)
                        means the match rule is 'if-match ip-prec 0 1 4 6'
         Dscp: value:0~63, up to 8 values can be input.
               The bit set to 1 of hh3cCBQoSMatchRuleIntValue1 is used
               to indicate the value 32~63.
               The bit set to 1 of hh3cCBQoSMatchRuleIntValue2 is used to
               indicate the value 0~31.
           for example: 0x80000003 means the match rule is 'if-match
                        dscp 32 33 63'
         Vlan8021p: value:0~7, up to 8 values can be input.  The bit set
                    to 1 of the last 8 bits of hh3cCBQoSMatchRuleIntValue1
                    is used to indicate the value 0~7.
           for example: 0x53(Binary format is 01010011) means the
                        match rule is 'if-match customer-dot1p 0 1 4 6'
         MplsExp: value:0~7, up to 8 values can be input.  The bit set to 1
                  of the last 8 bits of hh3cCBQoSMatchRuleIntValue1 is used
                  to indicate the 8 value 0~7.
           for example: 0x53(Binary format is 01010011) means the
                        match rule is 'if-match mpls 0 1 4 6'
         SourceIp: 1~4095
         QosLocalID: 1~4095
         AtmClp: 0~1
         FrDe: 0~1
         LocalPrecedence: 0~7, up to 8 values can be input.  The bit set to
                          1 of the last 8 bits of hh3cCBQoSMatchRuleIntValue1
                          is used to indicate the value 0~7.
           for example: 0x53(Binary format is 01010011) means the match
                        rule is 'if-match localprecedence 0 1 4 6'
         DropPriority: 0~2, up to 3 values can be input.  The bit set to 1
                       of the last 3 bits of hh3cCBQoSMatchRuleIntValue1 is
                       used to indicate the value 0~2.
         ServiceDot1p: 0~7, up to 8 values can be input.
                       The bit set to 1 of the last 8 bits of
                       hh3cCBQoSMatchRuleIntValue1 is used to indicate
                       the value 0~7.
           for example: 0x53(Binary format is 01010011) means the match
                        rule is 'if-match service-dot1p 0 1 4 6'
         SecondMplsExp: value:0~7, up to 8 values can be input.  The bit
                        set to 1 of the last 8 bits of hh3cCBQoSMatchRuleIntValue1
                        is used to indicate the 8 value 0~7.
           for example: 0x53(Binary format is 01010011) means the
                        match rule is 'if-match mpls 0 1 4 6'
         PacketLength: 1~2000.  hh3cCBQoSMatchRuleIntValue1 is used to
                       indicate the minimum value, hh3cCBQoSMatchRuleIntValue2
                       is used to indicate the maximum value.
         ForwardingLayer: {bridge(1), route(2)}
         other types: Set is not permitted.  0xffffffff will be returned
                      when getting.
        "
    ::= { hh3cCBQoSMatchRuleCfgInfoEntry 5 }

hh3cCBQoSMatchRuleIntValue2 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Value of Match Rule.
         RtpPort: end-port: 2000~65535
         Dscp: value:0~63, up to 8 values can be input.
               The bit set to 1 of hh3cCBQoSMatchRuleIntValue1 is used to indicate the value 32~63.
               The bit set to 1 of hh3cCBQoSMatchRuleIntValue2 is used to indicate the value 0~31.
               for example: 0x80000003 means the match rule is 'if-match dscp 0 1 31'
         PacketLength: 1~2000.  hh3cCBQoSMatchRuleIntValue1 is used to
                       indicate the minimum value, hh3cCBQoSMatchRuleIntValue2
                       is used to indicate the maximum value.
         other types: Set is not permitted.  0xffffffff will be returned when getting.
        "
    ::= { hh3cCBQoSMatchRuleCfgInfoEntry 6 }

hh3cCBQoSMatchIpAddressType OBJECT-TYPE
    SYNTAX InetAddressType
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "A value that represents a type of Internet address.
          unknown(0)  An unknown address type.  This value MUST
            be used if the value of the corresponding
            InetAddress object is a zero-length string.
            It may also be used to indicate an IP address
            which is not in one of the formats defined below.

         ipv4(1)     An IPv4 address as defined by the
                InetAddressIPv4 textual convention.

         ipv6(2)     A global IPv6 address as defined by the
                InetAddressIPv6 textual convention.

         ipv4z(3)    A non-global IPv4 address including a zone
                index as defined by the InetAddressIPv4z textual convention.

         ipv6z(4)    A non-global IPv6 address including a zone
                index as defined by the InetAddressIPv6z textual convention.

         dns(16)     A DNS domain name as defined by the
                InetAddressDNS textual convention.

         Value of match rule.
         SourceIp support this node.
         other types: Set is not permitted.  Unknown will be returned when getting.
        "
    ::= { hh3cCBQoSMatchRuleCfgInfoEntry 7 }

hh3cCBQoSMatchIpAddress OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Denotes a generic Internet address.
         SourceIP support this node.
         other types: Set is not permitted.  NULL will be returned when getting.
        "
    ::= { hh3cCBQoSMatchRuleCfgInfoEntry 8 }

hh3cCBQoSMatchRuleRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "RowStatus."
    ::= { hh3cCBQoSMatchRuleCfgInfoEntry 9 }

-- hh3cCBQoSMatchCpProtoCfgTable

hh3cCBQoSMatchCpProtoCfgTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSMatchCpProtoCfgEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Matching CpProtocol Rule configuration information."
    ::= { hh3cCBQoSClassifierObjects 4 }

hh3cCBQoSMatchCpProtoCfgEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSMatchCpProtoCfgEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Matching CpProtocol Rule Configuration Information Entry."
    INDEX { hh3cCBQoSClassifierIndex, hh3cCBQoSMatchRuleIndex }
    ::= { hh3cCBQoSMatchCpProtoCfgTable 1 }

Hh3cCBQoSMatchCpProtoCfgEntry ::=
    SEQUENCE
    {
        hh3cCBQoSMatchCpProtoIfNot
            INTEGER,
        hh3cCBQoSMatchCpProtoValue
            OCTET STRING,
        hh3cCBQoSMatchCpProtoRowStatus
            RowStatus
    }

hh3cCBQoSMatchCpProtoIfNot OBJECT-TYPE
    SYNTAX INTEGER
    {
        match(1),
        matchNot(2)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Whether the if-match rule is a match or matchNot statement.
         Software QoS supports match, matchNot.
         Hardware QoS supports match.
        "
    DEFVAL { match }
    ::= { hh3cCBQoSMatchCpProtoCfgEntry 1 }

hh3cCBQoSMatchCpProtoValue OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..255))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Value of Cp Protocol, SIZE (1..23).  Up to 8 values can be input.
           for example: 1#2#3#4#5 means the match rule is
                        'if-match control-plane protocol arp arp-snooping
                        bgp bgp4+ bpdu-tunnel';
        arp: 1
        arp-snooping: 2
        bgp: 3
        bgp4+: 4
        bpdu-tunnel: 5
        cdp: 6
        cfd: 7
        dhcp: 8
        dhcp-snooping: 9
        dhcp6: 10
        dldp: 11
        dot1x: 12
        gmrp: 13
        gvrp: 14
        http: 15
        https: 16
        icmp: 17
        icmp6: 18
        igmp: 19
        igmp-snooping: 20
        irdp: 21
        isis: 22
        lacp: 23
        ldp: 24
        ldp6: 25
        lldp: 26
        mld: 27
        msdp: 28
        ntp: 29
        oam: 30
        ospf-multicast: 31
        ospf-unicast: 32
        ospf3-multicast: 33
        ospf3-unicast: 34
        pagp: 35
        pim-multicast: 36
        pim-unicast: 37
        pim6-multicast: 38
        pim6-unicast: 39
        portal: 40
        pppoe-negotiation: 41
        pvst: 42
        radius: 43
        rip: 44
        ripng: 45
        rrpp: 46
        rsvp: 47
        smart-link: 48
        snmp: 49
        stp: 50
        tacas: 51
        udld: 52
        udp-helper: 53
        vrrp: 54
        vrrp6: 55
        vtp: 56
        ip-option: 57
        ipv6-option: 58
        ssh: 59
        telnet: 60"
    ::= { hh3cCBQoSMatchCpProtoCfgEntry 2 }

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

-- hh3cCBQoSMatchCpGroupCfgTable

hh3cCBQoSMatchCpGroupCfgTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSMatchCpGroupCfgEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of matching Cp protocol group rule configuration information."
    ::= { hh3cCBQoSClassifierObjects 5 }

hh3cCBQoSMatchCpGroupCfgEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSMatchCpGroupCfgEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Matching Cp protocol group Rule Configuration Information Entry."
    INDEX { hh3cCBQoSClassifierIndex, hh3cCBQoSMatchRuleIndex }
    ::= { hh3cCBQoSMatchCpGroupCfgTable 1 }

Hh3cCBQoSMatchCpGroupCfgEntry ::=
    SEQUENCE
    {
        hh3cCBQoSMatchCpGroupIfNot
            INTEGER,
        hh3cCBQoSMatchCpGroupValue
            INTEGER,
        hh3cCBQoSMatchCpGroupRowStatus
            RowStatus
    }

hh3cCBQoSMatchCpGroupIfNot OBJECT-TYPE
    SYNTAX INTEGER
    {
        match(1),
        matchNot(2)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Whether the if-match rule is a match or matchNot statement.
         Software QoS supports match, matchNot.
         Hardware QoS supports match.
        "
    DEFVAL { match }
    ::= { hh3cCBQoSMatchCpGroupCfgEntry 1 }

hh3cCBQoSMatchCpGroupValue OBJECT-TYPE
    SYNTAX INTEGER
    {
        critical(1),
        important(2),
        management(3),
        normal(4),
        redirect(5),
        monitor(6),
        exception(7)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Type of Cp protocol group.
        "
    ::= { hh3cCBQoSMatchCpGroupCfgEntry 2 }

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

-- hh3cCBQoSBehaviorObjects

hh3cCBQoSBehaviorObjects OBJECT IDENTIFIER ::= { hh3cCBQoSObjects 2 }

-- Traffic Behavior Next Index

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

-- Traffic Behavior

hh3cCBQoSBehaviorCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSBehaviorCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Traffic Behavior configuration information."
    ::= { hh3cCBQoSBehaviorObjects 2 }

hh3cCBQoSBehaviorCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSBehaviorCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Traffic Behavior Configuration Information Entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSBehaviorCfgInfoTable 1 }

Hh3cCBQoSBehaviorCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSBehaviorIndex
            Integer32,
        hh3cCBQoSBehaviorName
            OCTET STRING,
        hh3cCBQoSBehaviorType
            INTEGER,
        hh3cCBQoSBehaviorRowStatus
            RowStatus
    }

hh3cCBQoSBehaviorIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of Traffic Behavior."
    ::= { hh3cCBQoSBehaviorCfgInfoEntry 1 }

hh3cCBQoSBehaviorName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Name of Traffic Behavior."
    ::= { hh3cCBQoSBehaviorCfgInfoEntry 2 }

hh3cCBQoSBehaviorType OBJECT-TYPE
    SYNTAX INTEGER
    {
        systemDefined(1),
        userDefined(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Type of behavior."
    ::= { hh3cCBQoSBehaviorCfgInfoEntry 3 }

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

-- CAR

hh3cCBQoSCarCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSCarCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of CAR feature configuration information."
    ::= { hh3cCBQoSBehaviorObjects 3 }

hh3cCBQoSCarCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSCarCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "CAR Configuration Information Entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSCarCfgInfoTable 1 }

Hh3cCBQoSCarCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSCarCir
            Unsigned32,
        hh3cCBQoSCarCbs
            Unsigned32,
        hh3cCBQoSCarEbs
            Unsigned32,
        hh3cCBQoSCarPir
            Unsigned32,
        hh3cCBQoSCarPbs
            Unsigned32,
        hh3cCBQoSCarGreenAction
            CarAction,
        hh3cCBQoSCarGreenRemarkValue
            Integer32,
        hh3cCBQoSCarYellowAction
            CarAction,
        hh3cCBQoSCarYellowRemarkValue
            Integer32,
        hh3cCBQoSCarRedAction
            CarAction,
        hh3cCBQoSCarRedRemarkValue
            Integer32,
        hh3cCBQoSCarPolicedPriorityMapType
            INTEGER,
        hh3cCBQoSCarRowStatus
            RowStatus
    }

hh3cCBQoSCarCir OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Committed Information Rate.  Unit: kbps."
    ::= { hh3cCBQoSCarCfgInfoEntry 1 }

hh3cCBQoSCarCbs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Committed Burst Size.  Unit: byte."
    ::= { hh3cCBQoSCarCfgInfoEntry 2 }

hh3cCBQoSCarEbs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Excess Burst Size.  Unit: byte.
         Only software QoS support this node.
         4294967295 is returned only when getting value from hardware QoS.
         4294967295 can't be set."
    DEFVAL {0}
    ::= { hh3cCBQoSCarCfgInfoEntry 3 }

hh3cCBQoSCarPir OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Peak Information Rate.  Unit: kbps.
         Only hardware QoS support this node.
         4294967295 is returned only when getting value from software QoS.
         4294967295 can't be set."
    ::= { hh3cCBQoSCarCfgInfoEntry 4 }

hh3cCBQoSCarPbs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Peak Burst Size.  Unit: byte.
         Only hardware QoS support this node.
         4294967295 is returned only when getting value from software QoS.
         4294967295 can't be set."
    ::= { hh3cCBQoSCarCfgInfoEntry 5 }

hh3cCBQoSCarGreenAction OBJECT-TYPE
    SYNTAX CarAction
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Green Action
         Hardware QoS : pass, discard, remark.
         Software QoS : pass, discard, remark IP Precedence, remark DSCP, remark MPLS EXP.
        "
    DEFVAL {pass}
    ::= { hh3cCBQoSCarCfgInfoEntry 6 }

hh3cCBQoSCarGreenRemarkValue 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 remarking DSCP, the range is 0~63;
         For remarking IP Precedence and MPLS EXP, 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.
        "
    ::= { hh3cCBQoSCarCfgInfoEntry 7 }

hh3cCBQoSCarYellowAction OBJECT-TYPE
    SYNTAX CarAction
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Yellow Action:
         Only hardware QoS support this node.  Hardware QoS support pass, discard, remark.
         invalid is returned only when getting value from software QoS.
         invalid can't be set.
        "
    DEFVAL {remark}
    ::= { hh3cCBQoSCarCfgInfoEntry 8 }

hh3cCBQoSCarYellowRemarkValue 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 remarking DSCP, the range is 0~63;
         For remarking IP Precedence and MPLS EXP, 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."
    ::= { hh3cCBQoSCarCfgInfoEntry 9 }

hh3cCBQoSCarRedAction OBJECT-TYPE
    SYNTAX CarAction
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Red Action:
         Hardware QoS : pass, discard, remark.
         Software QoS : pass, discard, remark IP Precedence, remark DSCP, remark MPLS EXP.
        "
    DEFVAL {discard}
    ::= { hh3cCBQoSCarCfgInfoEntry 10 }

hh3cCBQoSCarRedRemarkValue 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 remarking DSCP, the range is 0~63;
         For remarking IP Precedence and MPLS EXP, 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."
    ::= { hh3cCBQoSCarCfgInfoEntry 11 }

hh3cCBQoSCarPolicedPriorityMapType OBJECT-TYPE
    SYNTAX INTEGER
    {
        none(0),
        policed-service-map(1),
        local-precedence-dot1p-map(2),
        drop-precedence-map(3)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Type of priority map."
    DEFVAL { none }
    ::= { hh3cCBQoSCarCfgInfoEntry 12 }

hh3cCBQoSCarRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "RowStatus."
    ::= { hh3cCBQoSCarCfgInfoEntry 13 }

--
-- nodes of aggregative CAR applyed behavior
--
hh3cCBQoSAggregativeCarCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAggregativeCarCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of aggregative CAR applied CBQ feature configuration information.
         Aggregative CAR is managed by HH3C-IFQOS2-MIB.  So, you can use HH3C-IFQOS2-MIB
         to get some details information about aggregative CAR.
        "
    ::= { hh3cCBQoSBehaviorObjects 4 }

hh3cCBQoSAggregativeCarCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAggregativeCarCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Aggregative CAR feature applied CBQ configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex,
            hh3cCBQoSCarAggregativeCarIndex }
    ::= { hh3cCBQoSAggregativeCarCfgInfoTable 1 }

Hh3cCBQoSAggregativeCarCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSCarAggregativeCarIndex
            Integer32,
        hh3cCBQoSCarAggregativeCarName
            OCTET STRING,
        hh3cCBQoSAggregativeCarRowStatus
            RowStatus
    }

hh3cCBQoSCarAggregativeCarIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of aggregative CAR.
         It is equal to hh3cIfQoSAggregativeCarIndex at HH3C-IFQOS2-MIB.
        "
    ::= { hh3cCBQoSAggregativeCarCfgInfoEntry 1 }

hh3cCBQoSCarAggregativeCarName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE(1..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Name of aggregative CAR.
         It is equal to hh3cIfQoSAggregativeCarName at HH3C-IFQOS2-MIB.
        "
    ::= { hh3cCBQoSAggregativeCarCfgInfoEntry 2 }

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

-- GTS

hh3cCBQoSGtsCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSGtsCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of GTS feature configuration information."
    ::= { hh3cCBQoSBehaviorObjects 5 }

hh3cCBQoSGtsCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSGtsCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GTS Configuration Information Entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSGtsCfgInfoTable 1 }

Hh3cCBQoSGtsCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSGtsCir
            Unsigned32,
        hh3cCBQoSGtsCbs
            Unsigned32,
        hh3cCBQoSGtsEbs
            Unsigned32,
        hh3cCBQoSGtsQueueLength
            Integer32,
        hh3cCBQoSGtsRowStatus
            RowStatus,
        hh3cCBQoSGtsPir
            Unsigned32
    }

hh3cCBQoSGtsCir OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Committed Information Rate.  Unit: kbps"
    ::= { hh3cCBQoSGtsCfgInfoEntry 1 }

hh3cCBQoSGtsCbs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Committed Burst Size.  Unit: byte
         default: max(cir*1/2,15000)"
    ::= { hh3cCBQoSGtsCfgInfoEntry 2 }

hh3cCBQoSGtsEbs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Excess Burst Size.  Unit: byte"
    ::= { hh3cCBQoSGtsCfgInfoEntry 3 }

hh3cCBQoSGtsQueueLength OBJECT-TYPE
    SYNTAX Integer32 (1..1024)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The length of GTS buffer."
    DEFVAL { 50 }
    ::= { hh3cCBQoSGtsCfgInfoEntry 4 }

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

hh3cCBQoSGtsPir OBJECT-TYPE
    SYNTAX Unsigned32
    UNITS  "kbps"
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Peak Information Rate."
    ::= { hh3cCBQoSGtsCfgInfoEntry 6 }

-- REMARK

hh3cCBQoSRemarkCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSRemarkCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Remarking feature configuration information."
    ::= { hh3cCBQoSBehaviorObjects 6 }

hh3cCBQoSRemarkCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSRemarkCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Remarking Configuration Information Entry."
    INDEX { hh3cCBQoSBehaviorIndex, hh3cCBQoSRemarkType }
    ::= { hh3cCBQoSRemarkCfgInfoTable 1 }

Hh3cCBQoSRemarkCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSRemarkType
            RemarkType,
        hh3cCBQoSRemarkValue
            Integer32,
        hh3cCBQoSRemarkRowStatus
            RowStatus
    }

hh3cCBQoSRemarkType OBJECT-TYPE
    SYNTAX RemarkType
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Remark type."
    ::= { hh3cCBQoSRemarkCfgInfoEntry 1 }

hh3cCBQoSRemarkValue OBJECT-TYPE
    SYNTAX Integer32 (0..4095)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Value to remark:
         for IpPrecedence: 0~7
         for Dscp: 0~63
         for MplsExp: 0~7
         for Vlan8021p: 0~7
         for AtmClp: 0~1
         for FrDe: 0~1
         for VlanID: 1~4094
         for QosLocalID: 1~4095
         for DropPrecedence: 0~2
         for LocalPrecedence: 0~7
         for TopMostVlanID: 1~4094
         for SecondMplsExp: 0~7
        "
    ::= { hh3cCBQoSRemarkCfgInfoEntry 2 }

hh3cCBQoSRemarkRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "RowStatus"
    ::= { hh3cCBQoSRemarkCfgInfoEntry 3 }

-- Queue

hh3cCBQoSQueueCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSQueueCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of queue feature configuration information."
    ::= { hh3cCBQoSBehaviorObjects 7 }

hh3cCBQoSQueueCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSQueueCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Queue Configuration Information Entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSQueueCfgInfoTable 1 }

Hh3cCBQoSQueueCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSQueueType
            QueueType,
        hh3cCBQoSQueueDropType
            INTEGER,
        hh3cCBQoSQueueLength
            Integer32,
        hh3cCBQoSQueueBandwidthUnit
            QueueBandwidthUnit,
        hh3cCBQoSQueueBandwidthValue
            Integer32,
        hh3cCBQoSQueueCbs
            Integer32,
        hh3cCBQoSQueueQueueNumber
            INTEGER,
        hh3cCBQoSQueueCbsRatio
            Integer32,
        hh3cCBQoSQueueRowStatus
            RowStatus
    }

hh3cCBQoSQueueType OBJECT-TYPE
    SYNTAX QueueType
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Queueing Type:
         EF:(1)
         AF:(2)
         WFQ:(3)"
    ::= { hh3cCBQoSQueueCfgInfoEntry 1 }

hh3cCBQoSQueueDropType OBJECT-TYPE
    SYNTAX INTEGER
    {
        typeUnavailable(0),
        typeTailDrop(1),
        typeWred(2)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The drop type of queue.  Only valid for AF and WFQ queue.
         typeUnavailable is returned only when getting value about EF queue.
         typeUnavailable can't be set."
    DEFVAL {typeTailDrop}
    ::= { hh3cCBQoSQueueCfgInfoEntry 2 }

hh3cCBQoSQueueLength OBJECT-TYPE
    SYNTAX Integer32 (1..2147483647)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The length of QueueLength.  Only valid for tail-drop type
         of AF and WFQ queue.
         2147483647 is returned only when getting value about EF queue
         or WRED type of AF and WFQ queue.
         2147483647 can't be set."
    DEFVAL { 64 }
    ::= { hh3cCBQoSQueueCfgInfoEntry 3 }

hh3cCBQoSQueueBandwidthUnit OBJECT-TYPE
    SYNTAX QueueBandwidthUnit
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Bandwidth Unit:
         Absolute, Unit Kbps (1)
         Percent, Unit % (2)
         RemainPercent, Unit % of remained bandwidth (3)
         Only valid for EF and AF queue.
         0 is returned only when getting value about WFQ queue.
         0 can't be set.
        "
    ::= { hh3cCBQoSQueueCfgInfoEntry 4 }

hh3cCBQoSQueueBandwidthValue OBJECT-TYPE
    SYNTAX Integer32 (1..100000000|2147483647)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Bandwidth value:
         Absolute value: 8~100000000.  Unit: Kbps
         Percent value: 1~100.
         Only valid for EF and AF queue.
         2147483647 is returned only when getting value about WFQ queue.
         2147483647 can't be set."
    ::= { hh3cCBQoSQueueCfgInfoEntry 5 }

hh3cCBQoSQueueCbs OBJECT-TYPE
    SYNTAX Integer32 (32..1000000000|2147483647)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Committed Burst Size.  Unit: byte.
         Only valid for EF queue.
         Default: If the value of 'hh3cCBQoSQueueBandwidthValue * 25' is
                  between 1500 and 2000000, the default value of this
                  object is 'hh3cCBQoSQueueBandwidthValue * 25';If the value of
                  'hh3cCBQoSQueueBandwidthValue * 25' is larger than or equal to
                  2000000, the default value of this object is 2000000;
                  If the value of 'hh3cCBQoSQueueBandwidthValue * 25' is
                  less than or equal to 1500, the default value of this object is 1500.
         2147483647 is returned only when getting value about AF or WFQ queue.
         2147483647 can't be set."
    ::= { hh3cCBQoSQueueCfgInfoEntry 6 }

hh3cCBQoSQueueQueueNumber OBJECT-TYPE
    SYNTAX INTEGER
    {
        unavailable(0),
        a16(16),
        a32(32),
        a64(64),
        a128(128),
        a256(256),
        a512(512),
        a1024(1024),
        a2048(2048),
        a4096(4096)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Max number of hashed queues (a power of 2).
         Only valid for WFQ.
         'unavailable' is returned only when getting value about AF or EF queue.
         'unavailable' can't be set."
    DEFVAL {a256}
    ::= { hh3cCBQoSQueueCfgInfoEntry 7 }

hh3cCBQoSQueueCbsRatio OBJECT-TYPE
    SYNTAX Integer32(25..500|2147483647)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Committed Burst Size Ratio.
         CBS = CBS_Ratio * Bandwidth(k bps)
         Only valid for EF queue.
         2147483647 is returned only when getting value about AF or WFQ queue.
         2147483647 can't be set.
        "
    DEFVAL { 25 }
    ::= { hh3cCBQoSQueueCfgInfoEntry 8 }

hh3cCBQoSQueueRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "RowStatus."
    ::= { hh3cCBQoSQueueCfgInfoEntry 9 }

-- WRED

hh3cCBQoSWredCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSWredCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of WRED configuration information."
    ::= { hh3cCBQoSBehaviorObjects 8 }

hh3cCBQoSWredCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSWredCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "WRED Configuration Information Entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSWredCfgInfoTable 1 }

Hh3cCBQoSWredCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSWredType
            WredType,
        hh3cCBQoSWredWeightConst
            Integer32
    }

hh3cCBQoSWredType OBJECT-TYPE
    SYNTAX WredType
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "WRED type."
    DEFVAL { 1 }
    ::= { hh3cCBQoSWredCfgInfoEntry 1 }

hh3cCBQoSWredWeightConst OBJECT-TYPE
    SYNTAX Integer32 (1..16)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specify weight for calculating mean queue depth."
    DEFVAL { 9 }
    ::= { hh3cCBQoSWredCfgInfoEntry 2 }

-- WRED Class

hh3cCBQoSWredClassCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSWredClassCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of WRED configuration information."
    ::= { hh3cCBQoSBehaviorObjects 9 }

hh3cCBQoSWredClassCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSWredClassCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "WRED Class Configuration Information Entry."
    INDEX { hh3cCBQoSBehaviorIndex, hh3cCBQoSWredClassValue }
    ::= { hh3cCBQoSWredClassCfgInfoTable 1 }

Hh3cCBQoSWredClassCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSWredClassValue
            Integer32,
        hh3cCBQoSWredClassLowLimit
            Integer32,
        hh3cCBQoSWredClassHighLimit
            Integer32,
        hh3cCBQoSWredClassDiscardProb
            Integer32
    }

hh3cCBQoSWredClassValue OBJECT-TYPE
    SYNTAX Integer32 (0..63)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The class value.
         For IP precedence based WRED, the class is IP precedence,
         and range is 0~7.
         For DSCP based WRED, the class is DSCP, and range is 0~63.
        "
    ::= { hh3cCBQoSWredClassCfgInfoEntry 1 }

hh3cCBQoSWredClassLowLimit OBJECT-TYPE
    SYNTAX Integer32 (1..1024)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The low limit of queue depth."
    DEFVAL {10}
    ::= { hh3cCBQoSWredClassCfgInfoEntry 2 }

hh3cCBQoSWredClassHighLimit OBJECT-TYPE
    SYNTAX Integer32 (1..1024)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The high limit of queue depth."
    DEFVAL { 30 }
    ::= { hh3cCBQoSWredClassCfgInfoEntry 3 }

hh3cCBQoSWredClassDiscardProb OBJECT-TYPE
    SYNTAX Integer32 (1..255)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The discard probability denominator."
    DEFVAL { 10 }
    ::= { hh3cCBQoSWredClassCfgInfoEntry 4 }

-- Policy Route

hh3cCBQoSPolicyRouteCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSPolicyRouteCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Policy Routing configuration information."
    ::= { hh3cCBQoSBehaviorObjects 10 }

hh3cCBQoSPolicyRouteCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSPolicyRouteCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy Routeing Configuration Information Entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSPolicyRouteCfgInfoTable 1 }

Hh3cCBQoSPolicyRouteCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSPolicyRouteIpAddrType
            InetAddressType,
        hh3cCBQoSPolicyRouteNexthop
            InetAddress,
        hh3cCBQoSPolicyRouteBackup
            INTEGER,
        hh3cCBQoSPolicyRouteRowStatus
            RowStatus
    }

hh3cCBQoSPolicyRouteIpAddrType OBJECT-TYPE
    SYNTAX InetAddressType
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Type of InetAddress."
    ::= { hh3cCBQoSPolicyRouteCfgInfoEntry 1 }

hh3cCBQoSPolicyRouteNexthop OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The next-hop ip address for redirection."
    ::= { hh3cCBQoSPolicyRouteCfgInfoEntry 2 }

hh3cCBQoSPolicyRouteBackup OBJECT-TYPE
    SYNTAX INTEGER
    {
        backup(1),
        notbackup(2)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Whether forward the packet according to the routing table
         When the next-hop IP address for redirection is not valid.
         Backup means forwarding.  NoBackup means not forwarding.
        "
    ::= { hh3cCBQoSPolicyRouteCfgInfoEntry 3 }

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

-- NAT

hh3cCBQoSNatCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSNatCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Nat configuration information."
    ::= { hh3cCBQoSBehaviorObjects 11 }

hh3cCBQoSNatCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSNatCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Nat Configuration Information Entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSNatCfgInfoTable 1 }

Hh3cCBQoSNatCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSNatMainNumber
            Integer32,
        hh3cCBQoSNatBackupNumber
            Integer32,
        hh3cCBQoSNatServiceClass
            Integer32,
        hh3cCBQoSNatRowStatus
            RowStatus
    }

hh3cCBQoSNatMainNumber OBJECT-TYPE
    SYNTAX Integer32 (1..255)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The main ISP number."
    ::= { hh3cCBQoSNatCfgInfoEntry 1 }

hh3cCBQoSNatBackupNumber OBJECT-TYPE
    SYNTAX Integer32 (1..255)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The backup ISP number"
    ::= { hh3cCBQoSNatCfgInfoEntry 2 }

hh3cCBQoSNatServiceClass OBJECT-TYPE
    SYNTAX Integer32 (1..4)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The service class."
    DEFVAL { 2 }
    ::= { hh3cCBQoSNatCfgInfoEntry 3 }

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

-- Firewall

hh3cCBQoSFirewallCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFirewallCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of firewall configuration information."
    ::= { hh3cCBQoSBehaviorObjects 12 }

hh3cCBQoSFirewallCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFirewallCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Firewall configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSFirewallCfgInfoTable 1 }

Hh3cCBQoSFirewallCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFirewallAction
            INTEGER,
        hh3cCBQoSFirewallRowStatus
            RowStatus
    }

hh3cCBQoSFirewallAction OBJECT-TYPE
    SYNTAX INTEGER
    {
        permit(1),
        deny(2)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The firewall action "
    DEFVAL {permit}
    ::= { hh3cCBQoSFirewallCfgInfoEntry 1 }

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

-- Sampling behavior

hh3cCBQoSSamplingCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSSamplingCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of sampling configuration information."
    ::= { hh3cCBQoSBehaviorObjects 13 }

hh3cCBQoSSamplingCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSSamplingCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Sampling configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSSamplingCfgInfoTable 1 }

Hh3cCBQoSSamplingCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSSamplingNum
            Integer32,
        hh3cCBQoSSamplingRowStatus
            RowStatus
    }

hh3cCBQoSSamplingNum OBJECT-TYPE
    SYNTAX Integer32 (1..16)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The sampling number."
    ::= { hh3cCBQoSSamplingCfgInfoEntry 1 }

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

hh3cCBQoSAccountCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAccountCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of account configuration information."
    ::= { hh3cCBQoSBehaviorObjects 14 }

hh3cCBQoSAccountCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAccountCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Account configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSAccountCfgInfoTable 1 }

Hh3cCBQoSAccountCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAccounting
            TruthValue,
        hh3cCBQoSAccountRowStatus
            RowStatus,
        hh3cCBQoSAccountingMode
            INTEGER
    }

hh3cCBQoSAccounting OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Account action."
    ::= { hh3cCBQoSAccountCfgInfoEntry 1 }

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

hh3cCBQoSAccountingMode OBJECT-TYPE
    SYNTAX INTEGER
    {
        auto(1),
        packet(2),
        byte(3),
        both(4)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Account mode."
    DEFVAL { auto }
    ::= { hh3cCBQoSAccountCfgInfoEntry 3 }

--
-- nodes of hh3cCBQoSRedirectCfgInfoTable
--
hh3cCBQoSRedirectCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSRedirectCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of redirect configuration information."
    ::= { hh3cCBQoSBehaviorObjects 15 }

hh3cCBQoSRedirectCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSRedirectCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Redirect configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSRedirectCfgInfoTable 1 }

Hh3cCBQoSRedirectCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSRedirectType
            INTEGER,
        hh3cCBQoSRedirectIfIndex
            Integer32,
        hh3cCBQoSRedirectIpAddressType
            InetAddressType,
        hh3cCBQoSRedirectIpAddress1
            InetAddress,
        hh3cCBQoSRedirectIpAddress2
            InetAddress,
        hh3cCBQoSRedirectRowStatus
            RowStatus,
        hh3cCBQoSRedirectIpv6Interface1
            Integer32,
        hh3cCBQoSRedirectIpv6Interface2
            Integer32,
        hh3cCBQoSRedirectIfVlanID
            Integer32
    }

hh3cCBQoSRedirectType OBJECT-TYPE
    SYNTAX INTEGER
    {
        cpu(1),
        interface(2),
        nextHop(3)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The type of redirect."
    ::= { hh3cCBQoSRedirectCfgInfoEntry 1 }

hh3cCBQoSRedirectIfIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "ifIndex.
         Only the value of hh3cCBQoSRedirectType is interface,
         can be set this node.
        "
    DEFVAL { 0 }
    ::= { hh3cCBQoSRedirectCfgInfoEntry 2 }

hh3cCBQoSRedirectIpAddressType OBJECT-TYPE
    SYNTAX InetAddressType
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "A value that represents a type of Internet address.
          unknown(0)  An unknown address type.  This value MUST
             be used if the value of the corresponding
             InetAddress object is a zero-length string.
             It may also be used to indicate an IP address
             which is not in one of the formats defined
             below.

          ipv4(1)     An IPv4 address as defined by the
             InetAddressIPv4 textual convention.

          ipv6(2)     A global IPv6 address as defined by the
             InetAddressIPv6 textual convention.

          ipv4z(3)    A non-global IPv4 address including a zone
             index as defined by the InetAddressIPv4z
             textual convention.

          ipv6z(4)    A non-global IPv6 address including a zone
             index as defined by the InetAddressIPv6z
             textual convention.

          dns(16)     A DNS domain name as defined by the
             InetAddressDNS textual convention.
          Now supports ipv4 and ipv6.
          Only the value of hh3cCBQoSRedirectType is next-hop,
          can be set this node and hh3cCBQoSRedirectIpAddress1 or hh3cCBQoSRedirectIpAddress2.
        "
    DEFVAL { unknown }
    ::= { hh3cCBQoSRedirectCfgInfoEntry 3 }

hh3cCBQoSRedirectIpAddress1 OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "IP Address.
         If the value of hh3cCBQoSRedirectType is not next-hop,
         zero-length string will be returned when getting.
         If the value of hh3cCBQoSRedirectIpAddressType is ipv6,
         this node is set necessarily.
        "
    ::= { hh3cCBQoSRedirectCfgInfoEntry 4 }

hh3cCBQoSRedirectIpAddress2 OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "IP Address.
         If the value of hh3cCBQoSRedirectType is not next-hop,
         zero-length string will be returned when getting.
         If the value of hh3cCBQoSRedirectIpAddressType is ipv6,
         this node is set optionally.
        "
    ::= { hh3cCBQoSRedirectCfgInfoEntry 5 }

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

hh3cCBQoSRedirectIpv6Interface1 OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "IfIndex for ipv6 next hop .
         If and only if the value of hh3cCBQoSRedirectIpAddressType is ipv6
         and hh3cCBQoSRedirectIpAddress1 is set,
         this node can be set.
        "
    DEFVAL { 0 }
    ::= { hh3cCBQoSRedirectCfgInfoEntry 7 }

hh3cCBQoSRedirectIpv6Interface2 OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "IfIndex for ipv6 next hop .
         If and only if the value of hh3cCBQoSRedirectIpAddressType is ipv6
         and hh3cCBQoSRedirectIpAddress2 is set,
         this node can be set.
        "
    DEFVAL { 0 }
    ::= { hh3cCBQoSRedirectCfgInfoEntry 8 }

hh3cCBQoSRedirectIfVlanID OBJECT-TYPE
    SYNTAX Integer32 (0..4094 |65535)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "VLAN-ID to tag.
         If and only if the value of hh3cCBQoSRedirectType is interface,
         this node can be set.
        "
    DEFVAL { 65535 }
    ::= { hh3cCBQoSRedirectCfgInfoEntry 9 }

--
-- nodes of hh3cCBQoSPriorityMapCfgInfoTable
--
hh3cCBQoSPriorityMapCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSPriorityMapCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of priority map configuration information."
    ::= { hh3cCBQoSBehaviorObjects 16 }

hh3cCBQoSPriorityMapCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSPriorityMapCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "priority map configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSPriorityMapCfgInfoTable 1 }

Hh3cCBQoSPriorityMapCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSPriorityMapImportType
            INTEGER,
        hh3cCBQoSPriorityMapExportType
            INTEGER,
        hh3cCBQoSPriorityMapGroupIndex
            Integer32,
        hh3cCBQoSPriorityMapGroupName
            OCTET STRING,
        hh3cCBQoSPriorityMapAuto
            INTEGER,
        hh3cCBQoSPriorityMapRowStatus
            RowStatus
    }

hh3cCBQoSPriorityMapImportType OBJECT-TYPE
    SYNTAX INTEGER
    {
        invalid(1),
        dscp(2),
        dot1p(3),
        exp(4),
        ipPrecedence(5),
        localPrecedence(6),
        dropPrecedence(7)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Import type of map."
    DEFVAL { invalid }
    ::= { hh3cCBQoSPriorityMapCfgInfoEntry 1 }

hh3cCBQoSPriorityMapExportType OBJECT-TYPE
    SYNTAX INTEGER
    {
        invalid(1),
        dscp(2),
        dot1p(3),
        exp(4),
        ipPrecedence(5),
        localPrecedence(6),
        dropPrecedence(7)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Export type of map."
    DEFVAL { invalid }
    ::= { hh3cCBQoSPriorityMapCfgInfoEntry 2 }

hh3cCBQoSPriorityMapGroupIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Index of map group.
         Map group is managed by HH3C-IFQOS2-MIB.
        "
    ::= { hh3cCBQoSPriorityMapCfgInfoEntry 3 }

hh3cCBQoSPriorityMapGroupName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE(0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Name of map group.
         Map group is managed by HH3C-IFQOS2-MIB.
        "
    ::= { hh3cCBQoSPriorityMapCfgInfoEntry 4 }

hh3cCBQoSPriorityMapAuto OBJECT-TYPE
    SYNTAX INTEGER
    {
        invalid(1),
        autoDscp(2),
        autoDot1p(3),
        autoMplsExp(4),
        autoIp(5)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Type of priority MAP."
    DEFVAL { invalid }
    ::= { hh3cCBQoSPriorityMapCfgInfoEntry 5 }

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

--
-- nodes of hh3cCBQoSMirrorCfgInfoTable
--
hh3cCBQoSMirrorCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSMirrorCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of flow mirror configuration information."
    ::= { hh3cCBQoSBehaviorObjects 17 }

hh3cCBQoSMirrorCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSMirrorCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Flow mirror configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSMirrorCfgInfoTable 1 }

Hh3cCBQoSMirrorCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSMirrorType
            INTEGER,
        hh3cCBQoSMirrorIfIndex
            OCTET STRING,
        hh3cCBQoSMirrorVlanID
            Integer32,
        hh3cCBQoSMirrorRowStatus
            RowStatus
    }

hh3cCBQoSMirrorType OBJECT-TYPE
    SYNTAX INTEGER
    {
        interface(1),
        cpu(2),
        vlan(3)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Type of flow mirror."
    ::= { hh3cCBQoSMirrorCfgInfoEntry 1 }

hh3cCBQoSMirrorIfIndex OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..255))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "IfIndex of destination interface.
         Only the value of hh3cCBQoSMirrorType is interface,
         can be set this node.
         For example: 1#11#111#1111 means the flow mirror
         destination ifindex is 1,11,111 and 1111.
         '#' is list separator for all IfIndex value.
        "
    ::= { hh3cCBQoSMirrorCfgInfoEntry 2 }

hh3cCBQoSMirrorVlanID OBJECT-TYPE
    SYNTAX Integer32 (0..4094)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Destination vlan of flow mirror,
         Only the value of hh3cCBQoSMirrorType is vlan,
         can be set this node.
        "
    ::= { hh3cCBQoSMirrorCfgInfoEntry 3 }

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

--
-- nodes of hh3cCBQoSNestCfgInfoTable
--
hh3cCBQoSNestCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSNestCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Insert a service VLAN tag or customer VLAN tag into a packet.
        A VLAN tag contains the VLAN ID field and the 802.1p priority
        field.  Both the service VLAN ID and the customer VLAN ID can
        not be set at the same time.  One of them must be set.  The
        802.1p priority of the service VLAN tag and that of the
        customer VLAN tag can be set optionally.  However, both of
        them can not be set at the same time.  The new setting
        overwrites the previous one."
    ::= { hh3cCBQoSBehaviorObjects 18 }

hh3cCBQoSNestCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSNestCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "VLAN nesting table entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSNestCfgInfoTable 1 }

Hh3cCBQoSNestCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSNestServiceVlanID
            Integer32,
        hh3cCBQoSNestServiceDot1pValue
            Integer32,
        hh3cCBQoSNestCustomerVlanID
            Integer32,
        hh3cCBQoSNestCustomerDot1pValue
            Integer32,
        hh3cCBQoSNestRowStatus
            RowStatus
    }

hh3cCBQoSNestServiceVlanID OBJECT-TYPE
    SYNTAX Integer32 (1..4094|65535)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "VLAN ID of the service VLAN tag to be inserted.  If the
        customer VLAN tag has been configured, 65535 is returned
        for the service VLAN ID.  The service VLAN ID can not be
        set to 65535."
    ::= { hh3cCBQoSNestCfgInfoEntry 1 }

hh3cCBQoSNestServiceDot1pValue OBJECT-TYPE
    SYNTAX Integer32 (0..7|65535)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "802.1p priority value in the service VLAN tag to be inserted.
        If the 802.1p priority is not set, 65535 is returned.  The
        802.1p priority value can not be set to 65535."
    ::= { hh3cCBQoSNestCfgInfoEntry 2 }

hh3cCBQoSNestCustomerVlanID OBJECT-TYPE
    SYNTAX Integer32 (1..4094|65535)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "VLAN ID of the customer VLAN tag to be inserted.  If the
        service VLAN tag has been configured, 65535 is returned for
        the customer VLAN ID.  The customer VLAN ID can not be set
        to 65535."
    ::= { hh3cCBQoSNestCfgInfoEntry 3 }

hh3cCBQoSNestCustomerDot1pValue OBJECT-TYPE
    SYNTAX Integer32 (0..7|65535)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "802.1p priority value in the customer VLAN tag to be inserted.
        If the 802.1p priority is not set, 65535 is returned.  The
        802.1p priority value can not be set to 65535."
    ::= { hh3cCBQoSNestCfgInfoEntry 4 }

hh3cCBQoSNestRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "RowStatus"
    ::= { hh3cCBQoSNestCfgInfoEntry 5 }

-- Nest Policy

hh3cCBQoSNestPolicyCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSNestPolicyCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table is used for configuring nest policy."
    ::= { hh3cCBQoSBehaviorObjects 19 }

hh3cCBQoSNestPolicyCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSNestPolicyCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Nest policy configuration entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSNestPolicyCfgInfoTable 1 }

Hh3cCBQoSNestPolicyCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSNestPolicyName
            OCTET STRING,
        hh3cCBQoSNestPolicyRowStatus
            RowStatus
    }

hh3cCBQoSNestPolicyName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE(1..31))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Name of the nested policy."
    ::= { hh3cCBQoSNestPolicyCfgInfoEntry 1 }

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

--
-- nodes of hh3cCBQoSMirrorIfCfgInfoTable
--
hh3cCBQoSMirrorIfCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSMirrorIfCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of flow mirroring to interface configuration information."
    ::= { hh3cCBQoSBehaviorObjects 20 }

hh3cCBQoSMirrorIfCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSMirrorIfCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Flow mirroring to interface configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex, hh3cCBQoSMirrorIfMainIfIndex }
    ::= { hh3cCBQoSMirrorIfCfgInfoTable 1 }

Hh3cCBQoSMirrorIfCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSMirrorIfMainIfIndex
            Integer32,
        hh3cCBQoSMirrorIfMainIfStatus
            INTEGER,
        hh3cCBQoSMirrorIfBackupIfIndex
            Integer32,
        hh3cCBQoSMirrorIfBackupIfStatus
            INTEGER,
        hh3cCBQoSMirrorIfRowStatus
            RowStatus
    }

hh3cCBQoSMirrorIfMainIfIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "IfIndex of mirror interface."
    ::= { hh3cCBQoSMirrorIfCfgInfoEntry 1 }

hh3cCBQoSMirrorIfMainIfStatus OBJECT-TYPE
    SYNTAX INTEGER
    {
        inactive(1),
        active(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of main interface."
    DEFVAL {active}
    ::= { hh3cCBQoSMirrorIfCfgInfoEntry 2 }

hh3cCBQoSMirrorIfBackupIfIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "IfIndex of backup mirror interface."
    ::= { hh3cCBQoSMirrorIfCfgInfoEntry 3 }

hh3cCBQoSMirrorIfBackupIfStatus OBJECT-TYPE
    SYNTAX INTEGER
    {
        inactive(1),
        active(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of backup interface."
    DEFVAL {active}
    ::= { hh3cCBQoSMirrorIfCfgInfoEntry 4 }

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

--
-- nodes of hh3cCBQoSColoredRemarkCfgTable
--
hh3cCBQoSColoredRemarkCfgTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSColoredRemarkCfgEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of colored remarking feature configuration information."
    ::= { hh3cCBQoSBehaviorObjects 21 }

hh3cCBQoSColoredRemarkCfgEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSColoredRemarkCfgEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Colored remarking configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex, hh3cCBQoSColoredRemarkType, hh3cCBQoSColoredRemarkColor }
    ::= { hh3cCBQoSColoredRemarkCfgTable 1 }

Hh3cCBQoSColoredRemarkCfgEntry ::=
    SEQUENCE
    {
        hh3cCBQoSColoredRemarkType
            RemarkType,
        hh3cCBQoSColoredRemarkColor
            INTEGER,
        hh3cCBQoSColoredRemarkValue
            Integer32,
        hh3cCBQoSColoredRemarkRowStatus
            RowStatus
    }

hh3cCBQoSColoredRemarkType OBJECT-TYPE
    SYNTAX RemarkType
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Remark type."
    ::= { hh3cCBQoSColoredRemarkCfgEntry 1 }

hh3cCBQoSColoredRemarkColor OBJECT-TYPE
    SYNTAX INTEGER
    {
        green(1),
        yellow(2),
        red(3)
    }
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Remark color."
    ::= { hh3cCBQoSColoredRemarkCfgEntry 2 }

hh3cCBQoSColoredRemarkValue OBJECT-TYPE
    SYNTAX Integer32 (0..4095)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Value to remark:
         for IpPrecedence: 0~7
         for Dscp: 0~63
         for MplsExp: 0~7
         for Vlan8021p: 0~7
         for AtmClp: 0~1
         for FrDe: 0~1
         for VlanID: 1~4094
         for QosLocalID: 1~4095
         for DropPrecedence: 0~2
         for LocalPrecedence: 0~7
         for TopMostVlanID: 1~4094
         for SecondMplsExp: 0~7
        "
    ::= { hh3cCBQoSColoredRemarkCfgEntry 3 }

hh3cCBQoSColoredRemarkRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "RowStatus"
    ::= { hh3cCBQoSColoredRemarkCfgEntry 4 }

--
-- nodes of hh3cCBQoSPrimapCfgInfoTable
--
hh3cCBQoSPrimapCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSPrimapCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of referencing priority map configuration information."
    ::= { hh3cCBQoSBehaviorObjects 22 }

hh3cCBQoSPrimapCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSPrimapCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Referencing priority map configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex, hh3cCBQoSPrimapColorType, hh3cCBQoSPrePriMapTableType }
    ::= { hh3cCBQoSPrimapCfgInfoTable 1 }

Hh3cCBQoSPrimapCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSPrimapColorType
            INTEGER,
        hh3cCBQoSPrePriMapTableType
            INTEGER,
        hh3cCBQoSPrimapRowStatus
            RowStatus
    }

hh3cCBQoSPrimapColorType OBJECT-TYPE
    SYNTAX INTEGER
    {
        noColorMap(1),
        colorMap(2)
    }
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Color type of priority map."
    ::= { hh3cCBQoSPrimapCfgInfoEntry 1 }

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

hh3cCBQoSPrimapRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "RowStatus"
    ::= { hh3cCBQoSPrimapCfgInfoEntry 3 }

--
-- nodes of hh3cCBQoSColorMapDpCfgInfoTable
--
hh3cCBQoSColorMapDpCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSColorMapDpCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of referencing color-map-DP action configuration information."
    ::= { hh3cCBQoSBehaviorObjects 23 }

hh3cCBQoSColorMapDpCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSColorMapDpCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Referencing color-map-DP action configuration information entry."
    INDEX { hh3cCBQoSBehaviorIndex }
    ::= { hh3cCBQoSColorMapDpCfgInfoTable 1 }

Hh3cCBQoSColorMapDpCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSColorMapDpEnable
            TruthValue,
        hh3cCBQoSColorMapDpRowStatus
            RowStatus
    }

hh3cCBQoSColorMapDpEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Color-map-DP enable status."
    ::= { hh3cCBQoSColorMapDpCfgInfoEntry 1 }

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

-- hh3cCBQoSPolicyObjects

hh3cCBQoSPolicyObjects OBJECT IDENTIFIER ::= { hh3cCBQoSObjects 3 }

-- Traffic Policy Next Index

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

-- Traffic Policy

hh3cCBQoSPolicyCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSPolicyCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of QoS policy configuration information."
    ::= { hh3cCBQoSPolicyObjects 2 }

hh3cCBQoSPolicyCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSPolicyCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Traffic policy configuration information entry."
    INDEX { hh3cCBQoSPolicyIndex }
    ::= { hh3cCBQoSPolicyCfgInfoTable 1 }

Hh3cCBQoSPolicyCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSPolicyIndex
            Integer32,
        hh3cCBQoSPolicyName
            OCTET STRING,
        hh3cCBQoSPolicyClassCount
            Integer32,
        hh3cCBQoSPolicyConfigMode
            INTEGER,
        hh3cCBQoSPolicyType
            INTEGER,
        hh3cCBQoSPolicyClassNextIndex
            Integer32,
        hh3cCBQoSPolicyRowStatus
            RowStatus
    }

hh3cCBQoSPolicyIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of Traffic Policy."
    ::= { hh3cCBQoSPolicyCfgInfoEntry 1 }

hh3cCBQoSPolicyName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Name of Traffic Policy."
    ::= { hh3cCBQoSPolicyCfgInfoEntry 2 }

hh3cCBQoSPolicyClassCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The counter of policy classes of policy."
    ::= { hh3cCBQoSPolicyCfgInfoEntry 3 }

hh3cCBQoSPolicyConfigMode OBJECT-TYPE
    SYNTAX INTEGER
    {
        unavailable(0),
        config(1),
        auto(2)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Configuration mode of Traffic Policy.
         Only hardware QoS support this node.
         'unavailable' is returned only when getting value from software QoS.
         'unavailable' can't be set."
    DEFVAL {config}
    ::= { hh3cCBQoSPolicyCfgInfoEntry 4 }

hh3cCBQoSPolicyType OBJECT-TYPE
    SYNTAX INTEGER
    {
        systemDefined(1),
        userDefined(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Type of policy."
    ::= { hh3cCBQoSPolicyCfgInfoEntry 5 }

hh3cCBQoSPolicyClassNextIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object contains an appropriate value to be used for
         hh3cCBQoSPolicyClassIndex when creating rows in the
         hh3cCBQoSPolicyClassCfgInfoTable.
        "
    ::= { hh3cCBQoSPolicyCfgInfoEntry 6 }

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

-- Classifier-Behavior in QoS policy

hh3cCBQoSPolicyClassCfgInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSPolicyClassCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of QoS Policy classifier-behavior configuration information."
    ::= { hh3cCBQoSPolicyObjects 3 }

hh3cCBQoSPolicyClassCfgInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSPolicyClassCfgInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Traffic policy classifier-behavior configuration information entry."
    INDEX { hh3cCBQoSPolicyIndex, hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSPolicyClassCfgInfoTable 1 }

Hh3cCBQoSPolicyClassCfgInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSPolicyClassIndex
            Integer32,
        hh3cCBQoSPolicyClassClassifierIndex
            Integer32,
        hh3cCBQoSPolicyClassClassifierName
            OCTET STRING,
        hh3cCBQoSPolicyClassBehaviorIndex
            Integer32,
        hh3cCBQoSPolicyClassBehaviorName
            OCTET STRING,
        hh3cCBQoSPolicyClassPrecedence
            Integer32,
        hh3cCBQoSPolicyClassRowStatus
            RowStatus,
        hh3cCBQoSPolicyClassMode
            INTEGER,
        hh3cCBQoSPolicyClassCfgOrder
            Integer32
    }

hh3cCBQoSPolicyClassIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "PolicyClass Index in a QoS policy."
    ::= { hh3cCBQoSPolicyClassCfgInfoEntry 1 }

hh3cCBQoSPolicyClassClassifierIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Index of classifier applied by a policy.
         It should exist in hh3cCBQoSClassifierCfgInfoTable."
    ::= { hh3cCBQoSPolicyClassCfgInfoEntry 2 }

hh3cCBQoSPolicyClassClassifierName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Name of classifier applied by a policy.
         It is corresponding to hh3cCBQoSPolicyClassClassifierIndex."
    ::= { hh3cCBQoSPolicyClassCfgInfoEntry 3 }

hh3cCBQoSPolicyClassBehaviorIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Index of Behavior applied by a policy.
         It should exist in hh3cCBQoSBehaviorCfgInfoTable."
    ::= { hh3cCBQoSPolicyClassCfgInfoEntry 4 }

hh3cCBQoSPolicyClassBehaviorName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Name of Behavior applied by a policy.
         It is corresponding to hh3cCBQoSPolicyClassBehaviorIndex."
    ::= { hh3cCBQoSPolicyClassCfgInfoEntry 5 }

hh3cCBQoSPolicyClassPrecedence OBJECT-TYPE
    SYNTAX Integer32 (0..16383|2147483647)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The Precedence of the class in the policy.
         Only hardware QoS support this node.
         2147483647 is returned only when getting value from software QoS.
         2147483647 can't be set."
    ::= { hh3cCBQoSPolicyClassCfgInfoEntry 6 }

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

hh3cCBQoSPolicyClassMode OBJECT-TYPE
    SYNTAX INTEGER
    {
        modeNo(1),
        modeDot1q(2),
        modeQppb(3),
        modeIpSourceGuard(4),
        modeVoiceVlan(5),
        modeDCBX(6)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Set the mode of the classifier-behavior association.  The
        default mode modeNo is a normal mode.
        modeDot1q indicates that the association is used for VLAN mapping.
        modeQppb indicates that the association is used for BGP routing policy.
        modeIpSourceGuard indicates that the association is used for packets
        undergo IP source guard.
        modeVoiceVlan indicates that the association is used for voice data
        packets.
        modeDCBX indicates that the association is used for DCBX.
        "
    DEFVAL {modeNo}
    ::= { hh3cCBQoSPolicyClassCfgInfoEntry 8 }

hh3cCBQoSPolicyClassCfgOrder OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A QoS policy contains multiple classifier-behavior
        associations.  A node indicates the configuration order of
        the corresponding classifier-behavior association."
    ::= { hh3cCBQoSPolicyClassCfgInfoEntry 9 }

-- hh3cCBQoSApplyPolicyObjects

hh3cCBQoSApplyPolicyObjects OBJECT IDENTIFIER ::= { hh3cCBQoSObjects 4 }

-- Policy Instance on interface Table

hh3cCBQoSIfApplyPolicyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSIfApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of QoS policy instance."
    ::= { hh3cCBQoSApplyPolicyObjects 1 }

hh3cCBQoSIfApplyPolicyEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSIfApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy applied on interface Configuration Information Entry."
    INDEX { hh3cCBQoSIfApplyPolicyIfIndex, hh3cCBQoSIfApplyPolicyDirection }
    ::= { hh3cCBQoSIfApplyPolicyTable 1 }

Hh3cCBQoSIfApplyPolicyEntry ::=
    SEQUENCE
    {
        hh3cCBQoSIfApplyPolicyIfIndex
            Integer32,
        hh3cCBQoSIfApplyPolicyDirection
            DirectionType,
        hh3cCBQoSIfApplyPolicyName
            OCTET STRING,
        hh3cCBQoSIfApplyPolicyEnableDynamic
            INTEGER,
        hh3cCBQoSIfApplyPolicyRowStatus
            RowStatus,
        hh3cCBQoSIfApplyPolicyStatus
            INTEGER
    }

hh3cCBQoSIfApplyPolicyIfIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Interface Index, equal to ifIndex."
    ::= { hh3cCBQoSIfApplyPolicyEntry 1 }

hh3cCBQoSIfApplyPolicyDirection OBJECT-TYPE
    SYNTAX DirectionType
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Policy direction:
         inbound (1)
         outbound (2)
        "
    ::= { hh3cCBQoSIfApplyPolicyEntry 2 }

hh3cCBQoSIfApplyPolicyName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Name of Traffic Policy."
    ::= { hh3cCBQoSIfApplyPolicyEntry 3 }

hh3cCBQoSIfApplyPolicyEnableDynamic OBJECT-TYPE
    SYNTAX INTEGER
    {
        unavailable(1),
        true(2),
        false(3)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "If the value of it is specified 'true',Enable dynamic qos policy.
         'unavailable' is returned if device don't support dynamic QoS.
         'unavailable' can't be set.
        "
    ::= { hh3cCBQoSIfApplyPolicyEntry 4 }

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

hh3cCBQoSIfApplyPolicyStatus OBJECT-TYPE
    SYNTAX INTEGER
    {
        proccessing(1),
        success(2),
        partialItemFailed(3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of policy applied on interface."
    ::= { hh3cCBQoSIfApplyPolicyEntry 6 }

-- Policy Instance on ATM PVC Table

hh3cCBQoSAtmPvcApplyPolicyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAtmPvcApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of QoS policy instance."
    ::= { hh3cCBQoSApplyPolicyObjects 2 }

hh3cCBQoSAtmPvcApplyPolicyEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAtmPvcApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy applied on ATM PVC Configuration Information Entry."
    INDEX { hh3cCBQoSAtmPvcApplyPolicyIfIndex,
            hh3cCBQoSAtmPvcApplyPolicyVPI,
            hh3cCBQoSAtmPvcApplyPolicyVCI,
            hh3cCBQoSAtmPvcApplyPolicyDirection }
    ::= { hh3cCBQoSAtmPvcApplyPolicyTable 1 }

Hh3cCBQoSAtmPvcApplyPolicyEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAtmPvcApplyPolicyIfIndex
            Integer32,
        hh3cCBQoSAtmPvcApplyPolicyVPI
            Integer32,
        hh3cCBQoSAtmPvcApplyPolicyVCI
            Integer32,
        hh3cCBQoSAtmPvcApplyPolicyDirection
            DirectionType,
        hh3cCBQoSAtmPvcApplyPolicyName
            OCTET STRING,
        hh3cCBQoSAtmPvcApplyPolicyRowStatus
            RowStatus
    }

hh3cCBQoSAtmPvcApplyPolicyIfIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "ATM Interface Index, equal to ifIndex."
    ::= { hh3cCBQoSAtmPvcApplyPolicyEntry 1 }

hh3cCBQoSAtmPvcApplyPolicyVPI OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "VPI value of ATM Interface."
    ::= { hh3cCBQoSAtmPvcApplyPolicyEntry 2 }

hh3cCBQoSAtmPvcApplyPolicyVCI OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "VCI value of ATM Interface."
    ::= { hh3cCBQoSAtmPvcApplyPolicyEntry 3 }

hh3cCBQoSAtmPvcApplyPolicyDirection OBJECT-TYPE
    SYNTAX DirectionType
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy direction:
         inbound (1)
         outbound (2)"
    ::= { hh3cCBQoSAtmPvcApplyPolicyEntry 4 }

hh3cCBQoSAtmPvcApplyPolicyName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Name of Traffic Policy."
    ::= { hh3cCBQoSAtmPvcApplyPolicyEntry 5 }

hh3cCBQoSAtmPvcApplyPolicyRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "RowStatus"
    ::= { hh3cCBQoSAtmPvcApplyPolicyEntry 6 }

-- Policy Instance on VLAN Table

hh3cCBQoSVlanApplyPolicyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSVlanApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of QoS policy instance."
    ::= { hh3cCBQoSApplyPolicyObjects 3 }

hh3cCBQoSVlanApplyPolicyEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSVlanApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy applied on Ethernet VLAN Configuration Information Entry."
    INDEX { hh3cCBQoSVlanApplyPolicyVlanid,
            hh3cCBQoSVlanApplyPolicyDirection }
    ::= { hh3cCBQoSVlanApplyPolicyTable 1 }

Hh3cCBQoSVlanApplyPolicyEntry ::=
    SEQUENCE
    {
        hh3cCBQoSVlanApplyPolicyVlanid
            Integer32,
        hh3cCBQoSVlanApplyPolicyDirection
            DirectionType,
        hh3cCBQoSVlanApplyPolicyName
            OCTET STRING,
        hh3cCBQoSVlanApplyPriority
            Integer32,
        hh3cCBQoSVlanApplyPolicyRowStatus
            RowStatus,
        hh3cCBQoSVlanApplyPolicyStatus
            INTEGER
    }

hh3cCBQoSVlanApplyPolicyVlanid OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Vlan of Ethernet Interface."
    ::= { hh3cCBQoSVlanApplyPolicyEntry 1 }

hh3cCBQoSVlanApplyPolicyDirection OBJECT-TYPE
    SYNTAX DirectionType
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Policy direction:
         inbound (1)
         outbound (2)"
    ::= { hh3cCBQoSVlanApplyPolicyEntry 2 }

hh3cCBQoSVlanApplyPolicyName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..31))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Name of Traffic Policy."
    ::= { hh3cCBQoSVlanApplyPolicyEntry 3 }

hh3cCBQoSVlanApplyPriority OBJECT-TYPE
    SYNTAX Integer32 (0..4095)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The priority of policy."
    ::= { hh3cCBQoSVlanApplyPolicyEntry 4 }

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

hh3cCBQoSVlanApplyPolicyStatus OBJECT-TYPE
    SYNTAX INTEGER
    {
        proccessing(1),
        success(2),
        partialItemFailed(3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of policy applied on VLAN."
    ::= { hh3cCBQoSVlanApplyPolicyEntry 6 }

-- Policy Instance on FR class Table

hh3cCBQoSFrClassApplyPolicyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFrClassApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of QoS policy instance."
    ::= { hh3cCBQoSApplyPolicyObjects 4 }

hh3cCBQoSFrClassApplyPolicyEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFrClassApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy applied on FR class Configuration Information Entry."
    INDEX { hh3cCBQoSFrClassApplyPolicyFrClassName,
            hh3cCBQoSFrClassApplyPolicyDirection }
    ::= { hh3cCBQoSFrClassApplyPolicyTable 1 }

Hh3cCBQoSFrClassApplyPolicyEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFrClassApplyPolicyFrClassName
            OCTET STRING,
        hh3cCBQoSFrClassApplyPolicyDirection
            DirectionType,
        hh3cCBQoSFrClassApplyPolicyName
            OCTET STRING,
        hh3cCBQoSFrClassApplyPolicyRowStatus
            RowStatus
    }

hh3cCBQoSFrClassApplyPolicyFrClassName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The name of FR class."
    ::= { hh3cCBQoSFrClassApplyPolicyEntry 1 }

hh3cCBQoSFrClassApplyPolicyDirection OBJECT-TYPE
    SYNTAX DirectionType
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy direction:
         inbound (1)
         outbound (2)"
    ::= { hh3cCBQoSFrClassApplyPolicyEntry 2 }

hh3cCBQoSFrClassApplyPolicyName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Name of Traffic Policy."
    ::= { hh3cCBQoSFrClassApplyPolicyEntry 3 }

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

-- Policy Instance on FR PVC Table

hh3cCBQoSFrPvcApplyPolicyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFrPvcApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of QoS policy instance."
    ::= { hh3cCBQoSApplyPolicyObjects 5 }

hh3cCBQoSFrPvcApplyPolicyEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFrPvcApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy applied on FR PVC Configuration Information Entry."
    INDEX { hh3cCBQoSFrPvcApplyPolicyIfIndex,
            hh3cCBQoSFrPvcApplyPolicyDlciNum,
            hh3cCBQoSFrPvcApplyPolicyDirection }
    ::= { hh3cCBQoSFrPvcApplyPolicyTable 1 }

Hh3cCBQoSFrPvcApplyPolicyEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFrPvcApplyPolicyIfIndex
            Integer32,
        hh3cCBQoSFrPvcApplyPolicyDlciNum
            Integer32,
        hh3cCBQoSFrPvcApplyPolicyDirection
            DirectionType,
        hh3cCBQoSFrPvcApplyPolicyName
            OCTET STRING,
        hh3cCBQoSFrPvcApplyPolicyRowStatus
            RowStatus
    }

hh3cCBQoSFrPvcApplyPolicyIfIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Fr Interface Index, equal to ifIndex."
    ::= { hh3cCBQoSFrPvcApplyPolicyEntry 1 }

hh3cCBQoSFrPvcApplyPolicyDlciNum OBJECT-TYPE
    SYNTAX Integer32 (16..1007)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Fr DLCI number."
    ::= { hh3cCBQoSFrPvcApplyPolicyEntry 2 }

hh3cCBQoSFrPvcApplyPolicyDirection OBJECT-TYPE
    SYNTAX DirectionType
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy direction:
         inbound (1)
         outbound (2)"
    ::= { hh3cCBQoSFrPvcApplyPolicyEntry 3 }

hh3cCBQoSFrPvcApplyPolicyName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Name of Traffic Policy."
    ::= { hh3cCBQoSFrPvcApplyPolicyEntry 4 }

hh3cCBQoSFrPvcApplyPolicyRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "RowStatus."
    ::= { hh3cCBQoSFrPvcApplyPolicyEntry 5 }

-- Policy Instance on Global

hh3cCBQoSGlobalApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSGlobalApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of QoS policies applied globally.  A QoS policy
        applied globally takes effect on all ports of the device."
    ::= { hh3cCBQoSApplyPolicyObjects 6 }

hh3cCBQoSGlobalApplyEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSGlobalApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A global policy entry."
    INDEX { hh3cCBQoSGlobalApplyDirection }
    ::= { hh3cCBQoSGlobalApplyTable 1 }

Hh3cCBQoSGlobalApplyEntry ::=
    SEQUENCE
    {
        hh3cCBQoSGlobalApplyDirection
            DirectionType,
        hh3cCBQoSGlobalApplyName
            OCTET STRING,
        hh3cCBQoSGlobalApplyRowStatus
            RowStatus,
        hh3cCBQoSGlobalApplyStatus
            INTEGER
    }

hh3cCBQoSGlobalApplyDirection OBJECT-TYPE
    SYNTAX DirectionType
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy direction:
         inbound (1)
         outbound (2)"
    ::= { hh3cCBQoSGlobalApplyEntry 1 }

hh3cCBQoSGlobalApplyName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Name of a global policy."
    ::= { hh3cCBQoSGlobalApplyEntry 2 }

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

hh3cCBQoSGlobalApplyStatus OBJECT-TYPE
    SYNTAX INTEGER
    {
        proccessing(1),
        success(2),
        partialItemFailed(3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of policy applied globally."
    ::= { hh3cCBQoSGlobalApplyEntry 4 }

-- Policy Instance on controlPlane

hh3cCBQoSCpApplyPolicyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSCpApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of QoS policies applied on control plane."
    ::= { hh3cCBQoSApplyPolicyObjects 7 }

hh3cCBQoSCpApplyPolicyEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSCpApplyPolicyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy applied on control plane configuration information entry."
    INDEX { hh3cCBQoSCpApplyPolicyChassis,
            hh3cCBQoSCpApplyPolicySlot,
            hh3cCBQoSCpApplyPolicyDirection }
    ::= { hh3cCBQoSCpApplyPolicyTable 1 }

Hh3cCBQoSCpApplyPolicyEntry ::=
    SEQUENCE
    {
        hh3cCBQoSCpApplyPolicyChassis
            Unsigned32,
        hh3cCBQoSCpApplyPolicySlot
            Unsigned32,
        hh3cCBQoSCpApplyPolicyDirection
            DirectionType,
        hh3cCBQoSCpApplyPolicyName
            OCTET STRING,
        hh3cCBQoSCpApplyPolicyStatus
            INTEGER,
        hh3cCBQoSCpApplyRowStatus
            RowStatus
    }

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

hh3cCBQoSCpApplyPolicySlot OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Slot number."
    ::= { hh3cCBQoSCpApplyPolicyEntry 2 }

hh3cCBQoSCpApplyPolicyDirection OBJECT-TYPE
    SYNTAX DirectionType
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy direction:
         inbound (1)
         outbound (2)"
    ::= { hh3cCBQoSCpApplyPolicyEntry 3 }

hh3cCBQoSCpApplyPolicyName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Name of traffic policy."
    ::= { hh3cCBQoSCpApplyPolicyEntry 4 }

hh3cCBQoSCpApplyPolicyStatus OBJECT-TYPE
    SYNTAX INTEGER
    {
        proccessing(1),
        success(2),
        partialItemFailed(3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of policy applied on control plane."
    ::= { hh3cCBQoSCpApplyPolicyEntry 5 }

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

-- Running statistics information

hh3cCBQoSApplyPolicyStaticsObjects OBJECT IDENTIFIER ::= { hh3cCBQoSObjects 5 }

-- Interface: policy Running statistics information

hh3cCBQoSIfStaticsObjects OBJECT IDENTIFIER ::= { hh3cCBQoSApplyPolicyStaticsObjects 1 }

-- Interface CBQ statistics

hh3cCBQoSIfCbqRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSIfCbqRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of interface CBQ Running statistics.
         When policy using queue behavior is applied on
         interface the interface will using Class Based Queuing."
    ::= { hh3cCBQoSIfStaticsObjects 1 }

hh3cCBQoSIfCbqRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSIfCbqRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Interface CBQ statistics entry."
    INDEX { hh3cCBQoSIfApplyPolicyIfIndex }
    ::= { hh3cCBQoSIfCbqRunInfoTable 1 }

Hh3cCBQoSIfCbqRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSIfCbqQueueSize
            Integer32,
        hh3cCBQoSIfCbqDiscard
            Counter64,
        hh3cCBQoSIfCbqEfQueueSize
            Integer32,
        hh3cCBQoSIfCbqAfQueueSize
            Integer32,
        hh3cCBQoSIfCbqBeQueueSize
            Integer32,
        hh3cCBQoSIfCbqBeActiveQueueNum
            Integer32,
        hh3cCBQoSIfCbqBeMaxActiveQueueNum
            Integer32,
        hh3cCBQoSIfCbqBeTotalQueueNum
            Integer32,
        hh3cCBQoSIfCbqAfAllocatedQueueNum
            Integer32
    }

hh3cCBQoSIfCbqQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of CBQ queue"
    ::= { hh3cCBQoSIfCbqRunInfoEntry 1 }

hh3cCBQoSIfCbqDiscard OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of discarded packets which couldn't be enqueued."
    ::= { hh3cCBQoSIfCbqRunInfoEntry 2 }

hh3cCBQoSIfCbqEfQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of EF queue."
    ::= { hh3cCBQoSIfCbqRunInfoEntry 3 }

hh3cCBQoSIfCbqAfQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of AF queue."
    ::= { hh3cCBQoSIfCbqRunInfoEntry 4 }

hh3cCBQoSIfCbqBeQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of BE queue."
    ::= { hh3cCBQoSIfCbqRunInfoEntry 5 }

hh3cCBQoSIfCbqBeActiveQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Packet number of Active BE Queue."
    ::= { hh3cCBQoSIfCbqRunInfoEntry 6 }

hh3cCBQoSIfCbqBeMaxActiveQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The max Packet number of Active BE Queue."
    ::= { hh3cCBQoSIfCbqRunInfoEntry 7 }

hh3cCBQoSIfCbqBeTotalQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total Packet number of BE Queue."
    ::= { hh3cCBQoSIfCbqRunInfoEntry 8 }

hh3cCBQoSIfCbqAfAllocatedQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Allocated Packet number of AF Queue."
    ::= { hh3cCBQoSIfCbqRunInfoEntry 9 }

-- Class match statistics

hh3cCBQoSIfClassMatchRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSIfClassMatchRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for matching a classifier
         in a QoS policy applied on the interface."
    ::= { hh3cCBQoSIfStaticsObjects 2 }

hh3cCBQoSIfClassMatchRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSIfClassMatchRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Classifier's matching statistics information entry."
    INDEX { hh3cCBQoSIfApplyPolicyIfIndex,
            hh3cCBQoSIfApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSIfClassMatchRunInfoTable 1 }

Hh3cCBQoSIfClassMatchRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSIfClassMatchedPackets
            Counter64,
        hh3cCBQoSIfClassMatchedBytes
            Counter64,
        hh3cCBQoSIfClassAverageRate
            Counter64
    }

hh3cCBQoSIfClassMatchedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matching a class in a QoS policy."
    ::= { hh3cCBQoSIfClassMatchRunInfoEntry 1 }

hh3cCBQoSIfClassMatchedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes matching a class in a QoS policy.
         Only software QoS support this node."
    ::= { hh3cCBQoSIfClassMatchRunInfoEntry 2 }

hh3cCBQoSIfClassAverageRate OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average rate matching a class of the last 5 minutes."
    ::= { hh3cCBQoSIfClassMatchRunInfoEntry 3 }

-- CAR statistics

hh3cCBQoSIfCarRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSIfCarRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for CAR
         in a QoS policy applied on the interface."
    ::= { hh3cCBQoSIfStaticsObjects 3 }

hh3cCBQoSIfCarRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSIfCarRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "CAR statistics information entry."
    INDEX { hh3cCBQoSIfApplyPolicyIfIndex,
            hh3cCBQoSIfApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSIfCarRunInfoTable 1 }

Hh3cCBQoSIfCarRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSIfCarGreenPackets
            Counter64,
        hh3cCBQoSIfCarGreenBytes
            Counter64,
        hh3cCBQoSIfCarRedPackets
            Counter64,
        hh3cCBQoSIfCarRedBytes
            Counter64,
        hh3cCBQoSIfCarYellowPackets
            Counter64,
        hh3cCBQoSIfCarYellowBytes
            Counter64
    }

hh3cCBQoSIfCarGreenPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of green packets."
    ::= { hh3cCBQoSIfCarRunInfoEntry 1 }

hh3cCBQoSIfCarGreenBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of green bytes."
    ::= { hh3cCBQoSIfCarRunInfoEntry 2 }

hh3cCBQoSIfCarRedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of red packets."
    ::= { hh3cCBQoSIfCarRunInfoEntry 3 }

hh3cCBQoSIfCarRedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of red bytes."
    ::= { hh3cCBQoSIfCarRunInfoEntry 4 }

hh3cCBQoSIfCarYellowPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of yellow packets."
    ::= { hh3cCBQoSIfCarRunInfoEntry 5 }

hh3cCBQoSIfCarYellowBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of yellow bytes."
    ::= { hh3cCBQoSIfCarRunInfoEntry 6 }

-- GTS statistics

hh3cCBQoSIfGtsRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSIfGtsRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for GTS
         in a QoS policy applied on the interface."
    ::= { hh3cCBQoSIfStaticsObjects 4 }

hh3cCBQoSIfGtsRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSIfGtsRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GTS statistics entry."
    INDEX { hh3cCBQoSIfApplyPolicyIfIndex,
            hh3cCBQoSIfApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSIfGtsRunInfoTable 1 }

Hh3cCBQoSIfGtsRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSIfGtsPassedPackets
            Counter64,
        hh3cCBQoSIfGtsPassedBytes
            Counter64,
        hh3cCBQoSIfGtsDiscardedPackets
            Counter64,
        hh3cCBQoSIfGtsDiscardedBytes
            Counter64,
        hh3cCBQoSIfGtsDelayedPackets
            Counter64,
        hh3cCBQoSIfGtsDelayedBytes
            Counter64,
        hh3cCBQoSIfGtsQueueSize
            Integer32
    }

hh3cCBQoSIfGtsPassedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets passed by GTS."
    ::= { hh3cCBQoSIfGtsRunInfoEntry 1 }

hh3cCBQoSIfGtsPassedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes passed by GTS."
    ::= { hh3cCBQoSIfGtsRunInfoEntry 2 }

hh3cCBQoSIfGtsDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets discarded by GTS."
    ::= { hh3cCBQoSIfGtsRunInfoEntry 3 }

hh3cCBQoSIfGtsDiscardedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes discarded by GTS."
    ::= { hh3cCBQoSIfGtsRunInfoEntry 4 }

hh3cCBQoSIfGtsDelayedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets delayed by GTS."
    ::= { hh3cCBQoSIfGtsRunInfoEntry 5 }

hh3cCBQoSIfGtsDelayedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes delayed by GTS."
    ::= { hh3cCBQoSIfGtsRunInfoEntry 6 }

hh3cCBQoSIfGtsQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of GTS queue."
    ::= { hh3cCBQoSIfGtsRunInfoEntry 7 }

-- Remark statistics

hh3cCBQoSIfRemarkRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSIfRemarkRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for remarking
         in a QoS policy applied on the interface."
    ::= { hh3cCBQoSIfStaticsObjects 5 }

hh3cCBQoSIfRemarkRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSIfRemarkRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Remarking statistics entry."
    INDEX { hh3cCBQoSIfApplyPolicyIfIndex,
            hh3cCBQoSIfApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSIfRemarkRunInfoTable 1 }

Hh3cCBQoSIfRemarkRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSIfRemarkedPackets
            Counter64
    }

hh3cCBQoSIfRemarkedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets remarked."
    ::= { hh3cCBQoSIfRemarkRunInfoEntry 1 }

-- Queue statistics

hh3cCBQoSIfQueueRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSIfQueueRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for queue
         in a QoS policy applied on the interface."
    ::= { hh3cCBQoSIfStaticsObjects 6 }

hh3cCBQoSIfQueueRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSIfQueueRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Queue statistics entry."
    INDEX { hh3cCBQoSIfApplyPolicyIfIndex,
            hh3cCBQoSIfApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSIfQueueRunInfoTable 1 }

Hh3cCBQoSIfQueueRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSIfQueueMatchedPackets
            Counter64,
        hh3cCBQoSIfQueueMatchedBytes
            Counter64,
        hh3cCBQoSIfQueueEnqueuedPackets
            Counter64,
        hh3cCBQoSIfQueueEnqueuedBytes
            Counter64,
        hh3cCBQoSIfQueueDiscardedPackets
            Counter64,
        hh3cCBQoSIfQueueDiscardedBytes
            Counter64
    }

hh3cCBQoSIfQueueMatchedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matched to enqueue."
    ::= { hh3cCBQoSIfQueueRunInfoEntry 1 }

hh3cCBQoSIfQueueMatchedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes matched to enqueue."
    ::= { hh3cCBQoSIfQueueRunInfoEntry 2 }

hh3cCBQoSIfQueueEnqueuedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets enqueued."
    ::= { hh3cCBQoSIfQueueRunInfoEntry 3 }

hh3cCBQoSIfQueueEnqueuedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes enqueued."
    ::= { hh3cCBQoSIfQueueRunInfoEntry 4 }

hh3cCBQoSIfQueueDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets discarded when enqueued by discard method."
    ::= { hh3cCBQoSIfQueueRunInfoEntry 5 }

hh3cCBQoSIfQueueDiscardedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes discarded when enqueued by discard method."
    ::= { hh3cCBQoSIfQueueRunInfoEntry 6 }

-- WRED statistics

hh3cCBQoSIfWredRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSIfWredRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for WRED
         in a QoS policy applied on the interface."
    ::= { hh3cCBQoSIfStaticsObjects 7 }

hh3cCBQoSIfWredRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSIfWredRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "WRED statistics entry."
    INDEX { hh3cCBQoSIfApplyPolicyIfIndex,
            hh3cCBQoSIfApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex,
            hh3cCBQoSWredClassValue }
    ::= { hh3cCBQoSIfWredRunInfoTable 1 }

Hh3cCBQoSIfWredRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSIfWredRandomDiscardedPackets
            Counter64,
        hh3cCBQoSIfWredTailDiscardedPackets
            Counter64
    }

hh3cCBQoSIfWredRandomDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets that random-discarded by WRED."
    ::= { hh3cCBQoSIfWredRunInfoEntry 1 }

hh3cCBQoSIfWredTailDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets that tail-discarded by WRED."
    ::= { hh3cCBQoSIfWredRunInfoEntry 2 }

--
-- nodes of hh3cCBQoSIfAccountingRunInfoTable
--
hh3cCBQoSIfAccountingRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSIfAccountingRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for account
         in a QoS policy applied on the interface."
    ::= { hh3cCBQoSIfStaticsObjects 8 }

hh3cCBQoSIfAccountingRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSIfAccountingRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Account statistics entry."
    INDEX { hh3cCBQoSIfApplyPolicyIfIndex,
            hh3cCBQoSIfApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex
          }
    ::= { hh3cCBQoSIfAccountingRunInfoTable 1 }

Hh3cCBQoSIfAccountingRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSIfAccountingPackets
            Counter64,
        hh3cCBQoSIfAccountingBytes
            Counter64
    }

hh3cCBQoSIfAccountingPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets."
    ::= { hh3cCBQoSIfAccountingRunInfoEntry 1 }

hh3cCBQoSIfAccountingBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes."
    ::= { hh3cCBQoSIfAccountingRunInfoEntry 2 }

-- ATM Interface PVC: policy Running statistics information

hh3cCBQoSAtmPvcStaticsObjects OBJECT IDENTIFIER ::= { hh3cCBQoSApplyPolicyStaticsObjects 2 }

-- ATM PVC CBQ statistics

hh3cCBQoSAtmPvcCbqRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAtmPvcCbqRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of ATM PVC CBQ Running statistics.
         When policy using queue behavior is applied on
         ATM PVC.  ATM PVC will using Class Based Queuing."
    ::= { hh3cCBQoSAtmPvcStaticsObjects 1 }

hh3cCBQoSAtmPvcCbqRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAtmPvcCbqRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "FR PVC CBQ statistics entry."
    INDEX { hh3cCBQoSAtmPvcApplyPolicyIfIndex,
            hh3cCBQoSAtmPvcApplyPolicyVPI,
            hh3cCBQoSAtmPvcApplyPolicyVCI }
    ::= { hh3cCBQoSAtmPvcCbqRunInfoTable 1 }

Hh3cCBQoSAtmPvcCbqRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAtmPvcCbqQueueSize
            Integer32,
        hh3cCBQoSAtmPvcCbqDiscard
            Counter64,
        hh3cCBQoSAtmPvcCbqEfQueueSize
            Integer32,
        hh3cCBQoSAtmPvcCbqAfQueueSize
            Integer32,
        hh3cCBQoSAtmPvcCbqBeQueueSize
            Integer32,
        hh3cCBQoSAtmPvcCbqBeActiveQueueNum
            Integer32,
        hh3cCBQoSAtmPvcCbqBeMaxActiveQueueNum
            Integer32,
        hh3cCBQoSAtmPvcCbqBeTotalQueueNum
            Integer32,
        hh3cCBQoSAtmPvcCbqAfAllocatedQueueNum
            Integer32
    }

hh3cCBQoSAtmPvcCbqQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of CBQ queue."
    ::= { hh3cCBQoSAtmPvcCbqRunInfoEntry 1 }

hh3cCBQoSAtmPvcCbqDiscard OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of discarded packets which couldn't be enqueued."
    ::= { hh3cCBQoSAtmPvcCbqRunInfoEntry 2 }

hh3cCBQoSAtmPvcCbqEfQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of EF queue."
    ::= { hh3cCBQoSAtmPvcCbqRunInfoEntry 3 }

hh3cCBQoSAtmPvcCbqAfQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of AF queue."
    ::= { hh3cCBQoSAtmPvcCbqRunInfoEntry 4 }

hh3cCBQoSAtmPvcCbqBeQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of BE queue."
    ::= { hh3cCBQoSAtmPvcCbqRunInfoEntry 5 }

hh3cCBQoSAtmPvcCbqBeActiveQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The packet number of Active Be Queue."
    ::= { hh3cCBQoSAtmPvcCbqRunInfoEntry 6 }

hh3cCBQoSAtmPvcCbqBeMaxActiveQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The max packet number of Active Be Queue."
    ::= { hh3cCBQoSAtmPvcCbqRunInfoEntry 7 }

hh3cCBQoSAtmPvcCbqBeTotalQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total packet number of Be Queue."
    ::= { hh3cCBQoSAtmPvcCbqRunInfoEntry 8 }

hh3cCBQoSAtmPvcCbqAfAllocatedQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Allocated packet number of AF Queue."
    ::= { hh3cCBQoSAtmPvcCbqRunInfoEntry 9 }

-- Class match statistics

hh3cCBQoSAtmPvcClassMatchRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAtmPvcClassMatchRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for matching a classifier
         in a QoS policy applied on ATM PVC."
    ::= { hh3cCBQoSAtmPvcStaticsObjects 2 }

hh3cCBQoSAtmPvcClassMatchRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAtmPvcClassMatchRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Classifier matching statistics entry."
    INDEX { hh3cCBQoSAtmPvcApplyPolicyIfIndex,
            hh3cCBQoSAtmPvcApplyPolicyVPI,
            hh3cCBQoSAtmPvcApplyPolicyVCI,
            hh3cCBQoSAtmPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSAtmPvcClassMatchRunInfoTable 1 }

Hh3cCBQoSAtmPvcClassMatchRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAtmPvcClassMatchPackets
            Counter64,
        hh3cCBQoSAtmPvcClassMatchBytes
            Counter64,
        hh3cCBQoSAtmPvcClassAverageRate
            Integer32
    }

hh3cCBQoSAtmPvcClassMatchPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matching a class in a QoS policy."
    ::= { hh3cCBQoSAtmPvcClassMatchRunInfoEntry 1 }

hh3cCBQoSAtmPvcClassMatchBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes matching a class in a QoS policy."
    ::= { hh3cCBQoSAtmPvcClassMatchRunInfoEntry 2 }

hh3cCBQoSAtmPvcClassAverageRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average rate matching a class in the last 5 minutes."
    ::= { hh3cCBQoSAtmPvcClassMatchRunInfoEntry 3 }

-- CAR statistics

hh3cCBQoSAtmPvcCarRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAtmPvcCarRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for CAR
         in a QoS policy applied on ATM PVC."
    ::= { hh3cCBQoSAtmPvcStaticsObjects 3 }

hh3cCBQoSAtmPvcCarRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAtmPvcCarRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "CAR statistics entry."
    INDEX { hh3cCBQoSAtmPvcApplyPolicyIfIndex,
            hh3cCBQoSAtmPvcApplyPolicyVPI,
            hh3cCBQoSAtmPvcApplyPolicyVCI,
            hh3cCBQoSAtmPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSAtmPvcCarRunInfoTable 1 }

Hh3cCBQoSAtmPvcCarRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAtmPvcCarConformPackets
            Counter64,
        hh3cCBQoSAtmPvcCarConformBytes
            Counter64,
        hh3cCBQoSAtmPvcCarExceedPackets
            Counter64,
        hh3cCBQoSAtmPvcCarExceedBytes
            Counter64
    }

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

hh3cCBQoSAtmPvcCarConformBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes that conforming specified CIR."
    ::= { hh3cCBQoSAtmPvcCarRunInfoEntry 2 }

hh3cCBQoSAtmPvcCarExceedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets exceeded CIR."
    ::= { hh3cCBQoSAtmPvcCarRunInfoEntry 3 }

hh3cCBQoSAtmPvcCarExceedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes exceeded CIR."
    ::= { hh3cCBQoSAtmPvcCarRunInfoEntry 4 }

-- GTS statistics

hh3cCBQoSAtmPvcGtsRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAtmPvcGtsRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for GTS
         in a QoS policy applied on ATM PVC."
    ::= { hh3cCBQoSAtmPvcStaticsObjects 4 }

hh3cCBQoSAtmPvcGtsRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAtmPvcGtsRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GTS statistics entry."
    INDEX { hh3cCBQoSAtmPvcApplyPolicyIfIndex,
            hh3cCBQoSAtmPvcApplyPolicyVPI,
            hh3cCBQoSAtmPvcApplyPolicyVCI,
            hh3cCBQoSAtmPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSAtmPvcGtsRunInfoTable 1 }

Hh3cCBQoSAtmPvcGtsRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAtmPvcGtsPassedPackets
            Counter64,
        hh3cCBQoSAtmPvcGtsPassedBytes
            Counter64,
        hh3cCBQoSAtmPvcGtsDiscardedPackets
            Counter64,
        hh3cCBQoSAtmPvcGtsDiscardedBytes
            Counter64,
        hh3cCBQoSAtmPvcGtsDelayedPackets
            Counter64,
        hh3cCBQoSAtmPvcGtsDelayedBytes
            Counter64,
        hh3cCBQoSAtmPvcGtsQueueSize
            Integer32
    }

hh3cCBQoSAtmPvcGtsPassedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets passed by GTS."
    ::= { hh3cCBQoSAtmPvcGtsRunInfoEntry 1 }

hh3cCBQoSAtmPvcGtsPassedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes passed by GTS."
    ::= { hh3cCBQoSAtmPvcGtsRunInfoEntry 2 }

hh3cCBQoSAtmPvcGtsDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets discarded by GTS."
    ::= { hh3cCBQoSAtmPvcGtsRunInfoEntry 3 }

hh3cCBQoSAtmPvcGtsDiscardedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes discarded by GTS."
    ::= { hh3cCBQoSAtmPvcGtsRunInfoEntry 4 }

hh3cCBQoSAtmPvcGtsDelayedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets delayed by GTS."
    ::= { hh3cCBQoSAtmPvcGtsRunInfoEntry 5 }

hh3cCBQoSAtmPvcGtsDelayedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes delayed by GTS."
    ::= { hh3cCBQoSAtmPvcGtsRunInfoEntry 6 }

hh3cCBQoSAtmPvcGtsQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "packet number of GTS queue."
    ::= { hh3cCBQoSAtmPvcGtsRunInfoEntry 7 }

-- Remark statistics

hh3cCBQoSAtmPvcRemarkRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAtmPvcRemarkRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for remarking
         in a QoS policy applied on ATM PVC."
    ::= { hh3cCBQoSAtmPvcStaticsObjects 5 }

hh3cCBQoSAtmPvcRemarkRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAtmPvcRemarkRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Remarking statistics entry."
    INDEX { hh3cCBQoSAtmPvcApplyPolicyIfIndex,
            hh3cCBQoSAtmPvcApplyPolicyVPI,
            hh3cCBQoSAtmPvcApplyPolicyVCI,
            hh3cCBQoSAtmPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSAtmPvcRemarkRunInfoTable 1 }

Hh3cCBQoSAtmPvcRemarkRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAtmPvcRemarkedPackets
            Counter64
    }

hh3cCBQoSAtmPvcRemarkedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets remarked."
    ::= { hh3cCBQoSAtmPvcRemarkRunInfoEntry 1 }

-- Queue statistics

hh3cCBQoSAtmPvcQueueRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAtmPvcQueueRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for queue
         in a QoS policy applied on ATM PVC."
    ::= { hh3cCBQoSAtmPvcStaticsObjects 6 }

hh3cCBQoSAtmPvcQueueRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAtmPvcQueueRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Queue statistics entry."
    INDEX { hh3cCBQoSAtmPvcApplyPolicyIfIndex,
            hh3cCBQoSAtmPvcApplyPolicyVPI,
            hh3cCBQoSAtmPvcApplyPolicyVCI,
            hh3cCBQoSAtmPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSAtmPvcQueueRunInfoTable 1}

Hh3cCBQoSAtmPvcQueueRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAtmPvcQueueMatchedPackets
            Counter64,
        hh3cCBQoSAtmPvcQueueMatchedBytes
            Counter64,
        hh3cCBQoSAtmPvcQueueEnqueuedPackets
            Counter64,
        hh3cCBQoSAtmPvcQueueEnqueuedBytes
            Counter64,
        hh3cCBQoSAtmPvcQueueDiscardedPackets
            Counter64,
        hh3cCBQoSAtmPvcQueueDiscardedBytes
            Counter64
    }

hh3cCBQoSAtmPvcQueueMatchedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matched to enqueue."
    ::= { hh3cCBQoSAtmPvcQueueRunInfoEntry 1 }

hh3cCBQoSAtmPvcQueueMatchedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes matched to enqueue."
    ::= { hh3cCBQoSAtmPvcQueueRunInfoEntry 2 }

hh3cCBQoSAtmPvcQueueEnqueuedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets enqueued."
    ::= { hh3cCBQoSAtmPvcQueueRunInfoEntry 3 }

hh3cCBQoSAtmPvcQueueEnqueuedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes enqueued."
    ::= { hh3cCBQoSAtmPvcQueueRunInfoEntry 4 }

hh3cCBQoSAtmPvcQueueDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets discard when enqueued by discard method."
    ::= { hh3cCBQoSAtmPvcQueueRunInfoEntry 5 }

hh3cCBQoSAtmPvcQueueDiscardedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes discard when enqueued by discard method."
    ::= { hh3cCBQoSAtmPvcQueueRunInfoEntry 6 }

-- WRED statistics

hh3cCBQoSAtmPvcWredRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAtmPvcWredRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for WRED
         in a QoS policy applied on ATM PVC."
    ::= { hh3cCBQoSAtmPvcStaticsObjects 7 }

hh3cCBQoSAtmPvcWredRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAtmPvcWredRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "WRED statistics entry."
    INDEX { hh3cCBQoSAtmPvcApplyPolicyIfIndex,
            hh3cCBQoSAtmPvcApplyPolicyVPI,
            hh3cCBQoSAtmPvcApplyPolicyVCI,
            hh3cCBQoSAtmPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex,
            hh3cCBQoSWredClassValue }
    ::= { hh3cCBQoSAtmPvcWredRunInfoTable 1 }

Hh3cCBQoSAtmPvcWredRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAtmPvcWredRandomDiscardedPackets
            Counter64,
        hh3cCBQoSAtmPvcWredTailDiscardedPackets
            Counter64
    }

hh3cCBQoSAtmPvcWredRandomDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets randomly discarded by WRED."
    ::= { hh3cCBQoSAtmPvcWredRunInfoEntry 1 }

hh3cCBQoSAtmPvcWredTailDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets tail-discarded by WRED."
    ::= { hh3cCBQoSAtmPvcWredRunInfoEntry 2 }

--
-- nodes of hh3cCBQoSAtmPvcAccountingRunInfoTable
--
hh3cCBQoSAtmPvcAccountingRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAtmPvcAccountingRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for account
         in a QoS policy applied on the ATM PVC."
    ::= { hh3cCBQoSAtmPvcStaticsObjects 8 }

hh3cCBQoSAtmPvcAccountingRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAtmPvcAccountingRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Account statistics entry."
    INDEX { hh3cCBQoSAtmPvcApplyPolicyIfIndex,
            hh3cCBQoSAtmPvcApplyPolicyVPI,
            hh3cCBQoSAtmPvcApplyPolicyVCI,
            hh3cCBQoSAtmPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex,
            hh3cCBQoSWredClassValue
          }
    ::= { hh3cCBQoSAtmPvcAccountingRunInfoTable 1 }

Hh3cCBQoSAtmPvcAccountingRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAtmPvcAccountingPackets
            Counter64,
        hh3cCBQoSAtmPvcAccountingBytes
            Counter64
    }

hh3cCBQoSAtmPvcAccountingPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets."
    ::= { hh3cCBQoSAtmPvcAccountingRunInfoEntry 1 }

hh3cCBQoSAtmPvcAccountingBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes."
    ::= { hh3cCBQoSAtmPvcAccountingRunInfoEntry 2 }

-- FR Interface PVC: policy Running statistics information

hh3cCBQoSFrPvcStaticsObjects OBJECT IDENTIFIER ::= { hh3cCBQoSApplyPolicyStaticsObjects 3 }

-- FR PVC CBQ statistics

hh3cCBQoSFrPvcCbqRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFrPvcCbqRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of FR PVC CBQ Running statistics.
         When policy using queue behavior is applied on FR PVC
         will using Class Based Queuing."
    ::= { hh3cCBQoSFrPvcStaticsObjects 1 }

hh3cCBQoSFrPvcCbqRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFrPvcCbqRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "FR PVC CBQ statistics entry."
    INDEX { hh3cCBQoSFrPvcApplyPolicyIfIndex, hh3cCBQoSFrPvcApplyPolicyDlciNum }
    ::= { hh3cCBQoSFrPvcCbqRunInfoTable 1 }

Hh3cCBQoSFrPvcCbqRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFrPvcCbqQueueSize
            Integer32,
        hh3cCBQoSFrPvcCbqDiscard
            Counter64,
        hh3cCBQoSFrPvcCbqEfQueueSize
            Integer32,
        hh3cCBQoSFrPvcCbqAfQueueSize
            Integer32,
        hh3cCBQoSFrPvcCbqBeQueueSize
            Integer32,
        hh3cCBQoSFrPvcCbqBeActiveQueueNum
            Integer32,
        hh3cCBQoSFrPvcCbqBeMaxActiveQueueNum
            Integer32,
        hh3cCBQoSFrPvcCbqBeTotalQueueNum
            Integer32,
        hh3cCBQoSFrPvcCbqAfAllocatedQueueNum
            Integer32
    }

hh3cCBQoSFrPvcCbqQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of CBQ queue."
    ::= { hh3cCBQoSFrPvcCbqRunInfoEntry 1 }

hh3cCBQoSFrPvcCbqDiscard OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of discarded packets which could not be enqueued."
    ::= { hh3cCBQoSFrPvcCbqRunInfoEntry 2 }

hh3cCBQoSFrPvcCbqEfQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of EF queue."
    ::= { hh3cCBQoSFrPvcCbqRunInfoEntry 3 }

hh3cCBQoSFrPvcCbqAfQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of AF queue."
    ::= { hh3cCBQoSFrPvcCbqRunInfoEntry 4 }

hh3cCBQoSFrPvcCbqBeQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of BE queue."
    ::= { hh3cCBQoSFrPvcCbqRunInfoEntry 5 }

hh3cCBQoSFrPvcCbqBeActiveQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The packet number of Active Be Queue."
    ::= { hh3cCBQoSFrPvcCbqRunInfoEntry 6 }

hh3cCBQoSFrPvcCbqBeMaxActiveQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The max packet number of Active Be Queue."
    ::= { hh3cCBQoSFrPvcCbqRunInfoEntry 7 }

hh3cCBQoSFrPvcCbqBeTotalQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total packet number of Be Queue."
    ::= { hh3cCBQoSFrPvcCbqRunInfoEntry 8 }

hh3cCBQoSFrPvcCbqAfAllocatedQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Allocated packet number of AF Queue."
    ::= { hh3cCBQoSFrPvcCbqRunInfoEntry 9 }

-- Class match statistics

hh3cCBQoSFrPvcClassMatchRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFrPvcClassMatchRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for matching a classifier
         in a QoS policy applied on FR PVC."
    ::= { hh3cCBQoSFrPvcStaticsObjects 2 }

hh3cCBQoSFrPvcClassMatchRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFrPvcClassMatchRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Classifier matching statistics entry."
    INDEX { hh3cCBQoSFrPvcApplyPolicyIfIndex,
            hh3cCBQoSFrPvcApplyPolicyDlciNum,
            hh3cCBQoSFrPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSFrPvcClassMatchRunInfoTable 1 }

Hh3cCBQoSFrPvcClassMatchRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFrPvcClassMatchedPackets
            Counter64,
        hh3cCBQoSFrPvcClassMatchedBytes
            Counter64,
        hh3cCBQoSFrPvcClassAverageRate
            Counter64
    }

hh3cCBQoSFrPvcClassMatchedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matching a class in a QoS policy."
    ::= { hh3cCBQoSFrPvcClassMatchRunInfoEntry 1 }

hh3cCBQoSFrPvcClassMatchedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes matching a class in a QoS policy."
    ::= { hh3cCBQoSFrPvcClassMatchRunInfoEntry 2 }

hh3cCBQoSFrPvcClassAverageRate OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average rate matching a class of the last 5 minutes."
    ::= { hh3cCBQoSFrPvcClassMatchRunInfoEntry 3 }

-- CAR statistics

hh3cCBQoSFrPvcCarRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFrPvcCarRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for CAR
         in a QoS policy applied on FR PVC."
    ::= { hh3cCBQoSFrPvcStaticsObjects 3 }

hh3cCBQoSFrPvcCarRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFrPvcCarRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "CAR statistics entry."
    INDEX { hh3cCBQoSFrPvcApplyPolicyIfIndex,
            hh3cCBQoSFrPvcApplyPolicyDlciNum,
            hh3cCBQoSFrPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSFrPvcCarRunInfoTable 1 }

Hh3cCBQoSFrPvcCarRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFrPvcCarConformPackets
            Counter64,
        hh3cCBQoSFrPvcCarConformBytes
            Counter64,
        hh3cCBQoSFrPvcCarExceedPackets
            Counter64,
        hh3cCBQoSFrPvcCarExceedBytes
            Counter64
    }

hh3cCBQoSFrPvcCarConformPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets conform CIR."
    ::= { hh3cCBQoSFrPvcCarRunInfoEntry 1 }

hh3cCBQoSFrPvcCarConformBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes conform CIR."
    ::= { hh3cCBQoSFrPvcCarRunInfoEntry 2 }

hh3cCBQoSFrPvcCarExceedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets exceed CIR."
    ::= { hh3cCBQoSFrPvcCarRunInfoEntry 3 }

hh3cCBQoSFrPvcCarExceedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes exceed CIR."
    ::= { hh3cCBQoSFrPvcCarRunInfoEntry 4 }

-- GTS statistics

hh3cCBQoSFrPvcGtsRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFrPvcGtsRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for GTS
         in a QoS policy applied on FR PVC."
    ::= { hh3cCBQoSFrPvcStaticsObjects 4 }

hh3cCBQoSFrPvcGtsRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFrPvcGtsRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GTS statistics entry."
    INDEX { hh3cCBQoSFrPvcApplyPolicyIfIndex,
            hh3cCBQoSFrPvcApplyPolicyDlciNum,
            hh3cCBQoSFrPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSFrPvcGtsRunInfoTable 1 }

Hh3cCBQoSFrPvcGtsRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFrPvcGtsPassedPackets
            Counter64,
        hh3cCBQoSFrPvcGtsPassedBytes
            Counter64,
        hh3cCBQoSFrPvcGtsDiscardedPackets
            Counter64,
        hh3cCBQoSFrPvcGtsDiscardedBytes
            Counter64,
        hh3cCBQoSFrPvcGtsDelayedPackets
            Counter64,
        hh3cCBQoSFrPvcGtsDelayedBytes
            Counter64,
        hh3cCBQoSFrPvcGtsQueueSize
            Integer32
    }

hh3cCBQoSFrPvcGtsPassedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets passed by GTS."
    ::= { hh3cCBQoSFrPvcGtsRunInfoEntry 1 }

hh3cCBQoSFrPvcGtsPassedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes passed by GTS."
    ::= { hh3cCBQoSFrPvcGtsRunInfoEntry 2 }

hh3cCBQoSFrPvcGtsDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets discarded by GTS."
    ::= { hh3cCBQoSFrPvcGtsRunInfoEntry 3 }

hh3cCBQoSFrPvcGtsDiscardedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes discarded by GTS."
    ::= { hh3cCBQoSFrPvcGtsRunInfoEntry 4 }

hh3cCBQoSFrPvcGtsDelayedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets delayed by GTS."
    ::= { hh3cCBQoSFrPvcGtsRunInfoEntry 5 }

hh3cCBQoSFrPvcGtsDelayedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes delayed by GTS."
    ::= { hh3cCBQoSFrPvcGtsRunInfoEntry 6 }

hh3cCBQoSFrPvcGtsQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Packet number of GTS queue."
    ::= { hh3cCBQoSFrPvcGtsRunInfoEntry 7 }

-- Remark statistics

hh3cCBQoSFrPvcRemarkRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFrPvcRemarkRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for remarking
         in a QoS policy applied on FR PVC."
    ::= { hh3cCBQoSFrPvcStaticsObjects 5 }

hh3cCBQoSFrPvcRemarkRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFrPvcRemarkRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Remarking statistics entry."
    INDEX { hh3cCBQoSFrPvcApplyPolicyIfIndex,
            hh3cCBQoSFrPvcApplyPolicyDlciNum,
            hh3cCBQoSFrPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSFrPvcRemarkRunInfoTable 1 }

Hh3cCBQoSFrPvcRemarkRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFrPvcRemarkedPackets
            Counter64
    }

hh3cCBQoSFrPvcRemarkedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets remarked."
    ::= { hh3cCBQoSFrPvcRemarkRunInfoEntry 1 }

-- Queue statistics

hh3cCBQoSFrPvcQueueRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFrPvcQueueRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for queue
        in a QoS policy applied on FR PVC."
    ::= { hh3cCBQoSFrPvcStaticsObjects 6 }

hh3cCBQoSFrPvcQueueRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFrPvcQueueRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Queue statistics entry."
    INDEX { hh3cCBQoSFrPvcApplyPolicyIfIndex,
            hh3cCBQoSFrPvcApplyPolicyDlciNum,
            hh3cCBQoSFrPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSFrPvcQueueRunInfoTable 1 }

Hh3cCBQoSFrPvcQueueRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFrPvcQueueMatchedPackets
            Counter64,
        hh3cCBQoSFrPvcQueueMatchedBytes
            Counter64,
        hh3cCBQoSFrPvcQueueEnqueuedPackets
            Counter64,
        hh3cCBQoSFrPvcQueueEnqueuedBytes
            Counter64,
        hh3cCBQoSFrPvcQueueDiscardedPackets
            Counter64,
        hh3cCBQoSFrPvcQueueDiscardedBytes
            Counter64
    }

hh3cCBQoSFrPvcQueueMatchedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matched to enqueue."
    ::= { hh3cCBQoSFrPvcQueueRunInfoEntry 1 }

hh3cCBQoSFrPvcQueueMatchedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes matched to en-queue."
    ::= { hh3cCBQoSFrPvcQueueRunInfoEntry 2 }

hh3cCBQoSFrPvcQueueEnqueuedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets en-queued."
    ::= { hh3cCBQoSFrPvcQueueRunInfoEntry 3 }

hh3cCBQoSFrPvcQueueEnqueuedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes enqueued."
    ::= { hh3cCBQoSFrPvcQueueRunInfoEntry 4 }

hh3cCBQoSFrPvcQueueDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets discarded when enqueued by discard method."
    ::= { hh3cCBQoSFrPvcQueueRunInfoEntry 5 }

hh3cCBQoSFrPvcQueueDiscardedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes discarded when enqueued by discard method."
    ::= { hh3cCBQoSFrPvcQueueRunInfoEntry 6 }

-- WRED statistics

hh3cCBQoSFrPvcWredRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFrPvcWredRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for WRED
         in a QoS policy applied on FR PVC.
        "
    ::= { hh3cCBQoSFrPvcStaticsObjects 7 }

hh3cCBQoSFrPvcWredRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFrPvcWredRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "WRED statistics entry."
    INDEX { hh3cCBQoSFrPvcApplyPolicyIfIndex,
            hh3cCBQoSFrPvcApplyPolicyDlciNum,
            hh3cCBQoSFrPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex,
            hh3cCBQoSWredClassValue }
    ::= { hh3cCBQoSFrPvcWredRunInfoTable 1 }

Hh3cCBQoSFrPvcWredRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFrPvcWredRandomDiscardedPackets
            Counter64,
        hh3cCBQoSFrPvcWredTailDiscardedPackets
            Counter64
    }

hh3cCBQoSFrPvcWredRandomDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets randomly discarded by WRED."
    ::= { hh3cCBQoSFrPvcWredRunInfoEntry 1 }

hh3cCBQoSFrPvcWredTailDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets tail-discarded by WRED."
    ::= { hh3cCBQoSFrPvcWredRunInfoEntry 2 }

--
-- nodes of hh3cCBQoSFrPvcAccountingRunInfoTable
--
hh3cCBQoSFrPvcAccountingRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSFrPvcAccountingRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for account
         in a QoS policy applied on the interface."
    ::= { hh3cCBQoSFrPvcStaticsObjects 8 }

hh3cCBQoSFrPvcAccountingRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSFrPvcAccountingRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Account statistics entry."
    INDEX { hh3cCBQoSFrPvcApplyPolicyIfIndex,
            hh3cCBQoSFrPvcApplyPolicyDlciNum,
            hh3cCBQoSFrPvcApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex,
            hh3cCBQoSWredClassValue
          }
    ::= { hh3cCBQoSFrPvcAccountingRunInfoTable 1 }

Hh3cCBQoSFrPvcAccountingRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSFrPvcAccountingPackets
            Counter64,
        hh3cCBQoSFrPvcAccountingBytes
            Counter64
    }

hh3cCBQoSFrPvcAccountingPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets."
    ::= { hh3cCBQoSFrPvcAccountingRunInfoEntry 1 }

hh3cCBQoSFrPvcAccountingBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes."
    ::= { hh3cCBQoSFrPvcAccountingRunInfoEntry 2 }

-- Ethernet Interface VLAN: policy Running statistics information

hh3cCBQoSVlanStaticsObjects OBJECT IDENTIFIER ::= { hh3cCBQoSApplyPolicyStaticsObjects 4 }

-- Class match statistics

hh3cCBQoSVlanClassMatchRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSVlanClassMatchRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for matching a classifier
         in a QoS policy applied on Ethernet VLAN.
        "
    ::= { hh3cCBQoSVlanStaticsObjects 1 }

hh3cCBQoSVlanClassMatchRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSVlanClassMatchRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Classifier matching statistics entry."
    INDEX { hh3cCBQoSVlanApplyPolicyVlanid,
            hh3cCBQoSVlanApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSVlanClassMatchRunInfoTable 1 }

Hh3cCBQoSVlanClassMatchRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSVlanClassMatchedPackets
            Counter64
    }

hh3cCBQoSVlanClassMatchedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matching a class in a QoS policy."
    ::= { hh3cCBQoSVlanClassMatchRunInfoEntry 1 }

--
-- nodes of hh3cCBQoSIfVlanAccountingRunInfoTable
--
hh3cCBQoSVlanAccountingRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSVlanAccountingRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of Running statistics for account
         in a QoS policy applied on the interface."
    ::= { hh3cCBQoSVlanStaticsObjects 2 }

hh3cCBQoSVlanAccountingRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSVlanAccountingRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Account statistics entry."
    INDEX { hh3cCBQoSVlanApplyPolicyVlanid,
            hh3cCBQoSVlanApplyPolicyDirection,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSVlanAccountingRunInfoTable 1 }

Hh3cCBQoSVlanAccountingRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSVlanAccountingPackets
            Counter64,
        hh3cCBQoSVlanAccountingBytes
            Counter64
    }

hh3cCBQoSVlanAccountingPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets."
    ::= { hh3cCBQoSVlanAccountingRunInfoEntry 1 }

hh3cCBQoSVlanAccountingBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes."
    ::= { hh3cCBQoSVlanAccountingRunInfoEntry 2 }

-- Index Object
hh3cCBQoSApplyPolicyIndexObjects OBJECT IDENTIFIER
    ::= { hh3cCBQoSApplyPolicyStaticsObjects 5 }

--
-- ApplyObjectTable
--
hh3cCBQoSApplyObjectTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of QoS apply object index.  It provides the function
         of querying the information of QoS apply object, which
         consists of interface type, interface index, ATM PVC, FR DLCI
         and nesting policy index, using QoS apply object index."
    ::= { hh3cCBQoSApplyPolicyIndexObjects 1 }

hh3cCBQoSApplyObjectEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QoS apply object index entry."
    INDEX { hh3cCBQoSApplyObjectIndex }
    ::= { hh3cCBQoSApplyObjectTable 1 }

Hh3cCBQoSApplyObjectEntry ::=
    SEQUENCE
    {
        hh3cCBQoSApplyObjectIndex
            Unsigned32,
        hh3cCBQoSApplyObjectType
            ApplyObjectType,
        hh3cCBQoSApplyObjectDirection
            DirectionType,
        hh3cCBQoSApplyObjectMainSite
            Unsigned32,
        hh3cCBQoSApplyObjectSubChannel
            Unsigned32,
        hh3cCBQoSApplyObjectSubClass
            Unsigned32,
        hh3cCBQoSApplyObjectSubClassSec
            Unsigned32
    }

hh3cCBQoSApplyObjectIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QoS apply object index.  It represents the unique identifier
         of QoS policy applied position.  It generates when QoS policy
         is applied considering ifIndex, VLAN ID, ATM PVC, FR DLCI and
         policy nesting."
    ::= { hh3cCBQoSApplyObjectEntry 1 }

hh3cCBQoSApplyObjectType OBJECT-TYPE
    SYNTAX ApplyObjectType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Apply object type."
    ::= { hh3cCBQoSApplyObjectEntry 2 }

hh3cCBQoSApplyObjectDirection OBJECT-TYPE
    SYNTAX DirectionType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The direction of QoS apply object."
    ::= { hh3cCBQoSApplyObjectEntry 3 }

hh3cCBQoSApplyObjectMainSite OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Its value depends on hh3cCBQoSApplyObjectType.
         It represents VLAN ID when hh3cCBQoSApplyObjectType
         is vlan, and represents chassis ID when hh3cCBQoSApplyObjectType
         is controlPlane, otherwise it represents ifIndex."
    ::= { hh3cCBQoSApplyObjectEntry 4 }

hh3cCBQoSApplyObjectSubChannel OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Its value depends on hh3cCBQoSApplyObjectType.
         It represents the value of VPI/VCI, of which high 16-bits
         is VPI and low 16-bits is VCI, when hh3cCBQoSApplyObjectType
         is atmPvc.
         It represents the value of data link connection identifier
         in FR network, when hh3cCBQoSApplyObjectType is frDlci.
         It represents slot ID, when hh3cCBQoSApplyObjectType is controlPlane.
         Otherwise the value is '0xFFFFFFFF'."
    ::= { hh3cCBQoSApplyObjectEntry 5 }

hh3cCBQoSApplyObjectSubClass OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value represents level-1 sub class index when the QoS
         apply object is level-2 or level-3 nesting policy.  Otherwise
         the value is '0xFFFFFFFF'."
    ::= { hh3cCBQoSApplyObjectEntry 6 }

hh3cCBQoSApplyObjectSubClassSec OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value represents level-2 sub class index when the QoS
         apply object is level-3 nesting policy.  Otherwise
         the value is '0xFFFFFFFF'."
    ::= { hh3cCBQoSApplyObjectEntry 7 }

--
-- IntApplyObjectTable
--
hh3cCBQoSIntApplyObjectTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSIntApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table used for querying the QoS apply object indexes by
         interface index.  It is suitable for querying QoS apply
         object indexes for policies applied on Ethernet ports, ATM
         ports and FR ports."
    ::= { hh3cCBQoSApplyPolicyIndexObjects 2 }

hh3cCBQoSIntApplyObjectEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSIntApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QoS apply object on interface index querying entry."
    INDEX { hh3cCBQoSIntApplyObjectIfIndex,
            hh3cCBQoSApplyObjectDirection }
    ::= { hh3cCBQoSIntApplyObjectTable 1 }

Hh3cCBQoSIntApplyObjectEntry ::=
    SEQUENCE
    {
        hh3cCBQoSIntApplyObjectIfIndex
            Unsigned32,
        hh3cCBQoSIntApplyObjectIndex
            Unsigned32
    }

hh3cCBQoSIntApplyObjectIfIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Interface index."
    ::= { hh3cCBQoSIntApplyObjectEntry 1 }

hh3cCBQoSIntApplyObjectIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QoS apply object index."
    ::= { hh3cCBQoSIntApplyObjectEntry 2 }

--
-- VlanApplyObjectTable
--
hh3cCBQoSVlanApplyObjectTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSVlanApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table used for querying the QoS apply object indexes by VLAN
         ID and policy direction.  It is suitable for querying QoS
         apply object indexes for policies applied on VLANs.  If the
         value of hh3cCBQoSVlanApplyObjectVlanID is 0, it means querying
         Qos apply object index for policy applied on global."
    ::= { hh3cCBQoSApplyPolicyIndexObjects 3 }

hh3cCBQoSVlanApplyObjectEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSVlanApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "VLAN apply object entry."
    INDEX { hh3cCBQoSVlanApplyObjectVlanID,
            hh3cCBQoSApplyObjectDirection }
    ::= { hh3cCBQoSVlanApplyObjectTable 1 }

Hh3cCBQoSVlanApplyObjectEntry ::=
    SEQUENCE
    {
        hh3cCBQoSVlanApplyObjectVlanID
            Unsigned32,
        hh3cCBQoSVlanApplyObjectIndex
            Unsigned32
    }

hh3cCBQoSVlanApplyObjectVlanID OBJECT-TYPE
    SYNTAX Unsigned32 (0..4094)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "VLAN ID."
    ::= { hh3cCBQoSVlanApplyObjectEntry 1 }

hh3cCBQoSVlanApplyObjectIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QoS apply object index."
    ::= { hh3cCBQoSVlanApplyObjectEntry 2 }

--
-- PvcApplyObjectTable
--
hh3cCBQoSPvcApplyObjectTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSPvcApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table used for querying the QoS apply object indexes by ATM
         PVC or FR DLCI, ifIndex and policy direction.  It is suitable
         for querying QoS apply object indexes for policies applied on
         ATM PVCs or FR DLCIs."
    ::= { hh3cCBQoSApplyPolicyIndexObjects 4 }

hh3cCBQoSPvcApplyObjectEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSPvcApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QoS apply object querying entry for ATM PVC or FR
         DLCI."
    INDEX { hh3cCBQoSPvcApplyObjectIfIndex,
            hh3cCBQoSPvcApplyObjectPvcID,
            hh3cCBQoSApplyObjectDirection }
    ::= { hh3cCBQoSPvcApplyObjectTable 1 }

Hh3cCBQoSPvcApplyObjectEntry ::=
    SEQUENCE
    {
        hh3cCBQoSPvcApplyObjectIfIndex
            Unsigned32,
        hh3cCBQoSPvcApplyObjectPvcID
            Unsigned32,
        hh3cCBQoSPvcApplyObjectIndex
            Unsigned32
    }

hh3cCBQoSPvcApplyObjectIfIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Interface index."
    ::= { hh3cCBQoSPvcApplyObjectEntry 1 }

hh3cCBQoSPvcApplyObjectPvcID OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "If the QoS apply object queried is a ATM PVC, its input value
         represents a VPI/VCI.  If the QoS apply object queried is a FR
         DLCI, its input value represents a value of FR DLCI."
    ::= { hh3cCBQoSPvcApplyObjectEntry 2 }

hh3cCBQoSPvcApplyObjectIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QoS apply object index."
    ::= { hh3cCBQoSPvcApplyObjectEntry 3 }

--
-- hh3cCBQoSNestPolicyApplyObjectTable
--
hh3cCBQoSNestPolicyApplyObjectTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSNestPolicyApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table used for querying the nested QoS policy apply object indexes.
         It is suitable for querying nested QoS apply object indexes for policies
         applied on ifIndex, VLAN ID, ATM PVC or FR DLCI."
    ::= { hh3cCBQoSApplyPolicyIndexObjects 5 }

hh3cCBQoSNestPolicyApplyObjectEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSNestPolicyApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QoS apply object on policy querying entry."
    INDEX { hh3cCBQoSApplyObjectIndex,
            hh3cCBQoSNestPolicyClassIndex}
    ::= { hh3cCBQoSNestPolicyApplyObjectTable 1 }

Hh3cCBQoSNestPolicyApplyObjectEntry ::=
    SEQUENCE
    {
        hh3cCBQoSNestPolicyClassIndex
            Unsigned32,
        hh3cCBQoSNestPolicyApplyObjectIndex
            Unsigned32
    }

hh3cCBQoSNestPolicyClassIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policyclass index in father policy."
    ::= { hh3cCBQoSNestPolicyApplyObjectEntry 1 }

hh3cCBQoSNestPolicyApplyObjectIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QoS apply object index of the son policy."
    ::= { hh3cCBQoSNestPolicyApplyObjectEntry 2 }

--
-- hh3cCBQoSCpApplyObjectTable
--
hh3cCBQoSCpApplyObjectTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSCpApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table used for querying the QoS policy apply object indexes
         by chassis ID and slot ID.  It is suitable for querying QoS apply
         object indexes for policies applied on control plane."
    ::= { hh3cCBQoSApplyPolicyIndexObjects 6 }

hh3cCBQoSCpApplyObjectEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSCpApplyObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QoS policy apply object on control plane querying entry."
    INDEX { hh3cCBQoSCpApplyObjectChassis,
            hh3cCBQoSCpApplyObjectSlot,
            hh3cCBQoSApplyObjectDirection}
    ::= { hh3cCBQoSCpApplyObjectTable 1 }

Hh3cCBQoSCpApplyObjectEntry ::=
    SEQUENCE
    {
        hh3cCBQoSCpApplyObjectChassis
            Unsigned32,
        hh3cCBQoSCpApplyObjectSlot
            Unsigned32,
        hh3cCBQoSCpApplyObjectIndex
            Unsigned32
    }

hh3cCBQoSCpApplyObjectChassis OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Chassis ID."
    ::= { hh3cCBQoSCpApplyObjectEntry 1 }

hh3cCBQoSCpApplyObjectSlot OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Slot ID."
    ::= { hh3cCBQoSCpApplyObjectEntry 2 }

hh3cCBQoSCpApplyObjectIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QoS apply object index."
    ::= { hh3cCBQoSCpApplyObjectEntry 3 }

-- Statistics

hh3cCBQoSStaticsObjects OBJECT IDENTIFIER
    ::= { hh3cCBQoSApplyPolicyStaticsObjects 6 }

-- CBQ statistics

hh3cCBQoSCbqRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSCbqRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of CBQ running statistics.
         When policy using queue behavior is applied on QoS apply
         object, the QoS apply object will use Class Based Queuing."
    ::= { hh3cCBQoSStaticsObjects 1 }

hh3cCBQoSCbqRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSCbqRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "CBQ statistics entry of QoS apply object."
    INDEX { hh3cCBQoSApplyObjectIndex }
    ::= { hh3cCBQoSCbqRunInfoTable 1 }

Hh3cCBQoSCbqRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSCbqQueueSize
            Integer32,
        hh3cCBQoSCbqDiscard
            Counter64,
        hh3cCBQoSCbqEfQueueSize
            Integer32,
        hh3cCBQoSCbqAfQueueSize
            Integer32,
        hh3cCBQoSCbqBeQueueSize
            Integer32,
        hh3cCBQoSCbqBeActiveQueueNum
            Integer32,
        hh3cCBQoSCbqBeMaxActiveQueueNum
            Integer32,
        hh3cCBQoSCbqBeTotalQueueNum
            Integer32,
        hh3cCBQoSCbqAfAllocatedQueueNum
            Integer32
    }

hh3cCBQoSCbqQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets in CBQ queue."
    ::= { hh3cCBQoSCbqRunInfoEntry 1 }

hh3cCBQoSCbqDiscard OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of discarded packets which couldn't queue."
    ::= { hh3cCBQoSCbqRunInfoEntry 2 }

hh3cCBQoSCbqEfQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets in EF queue."
    ::= { hh3cCBQoSCbqRunInfoEntry 3 }

hh3cCBQoSCbqAfQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets in AF queue."
    ::= { hh3cCBQoSCbqRunInfoEntry 4 }

hh3cCBQoSCbqBeQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets in BE Queue."
    ::= { hh3cCBQoSCbqRunInfoEntry 5 }

hh3cCBQoSCbqBeActiveQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of Active BE Queues."
    ::= { hh3cCBQoSCbqRunInfoEntry 6 }

hh3cCBQoSCbqBeMaxActiveQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The max number of Active BE Queues."
    ::= { hh3cCBQoSCbqRunInfoEntry 7 }

hh3cCBQoSCbqBeTotalQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of total BE Queues."
    ::= { hh3cCBQoSCbqRunInfoEntry 8 }

hh3cCBQoSCbqAfAllocatedQueueNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of allocated AF Queues."
    ::= { hh3cCBQoSCbqRunInfoEntry 9 }

-- Class match statistics

hh3cCBQoSClassMatchRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSClassMatchRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of running statistics for matching a classifier on a
         QoS apply object."
    ::= { hh3cCBQoSStaticsObjects 2 }

hh3cCBQoSClassMatchRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSClassMatchRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Classifier's matching statistics information entry."
    INDEX { hh3cCBQoSApplyObjectIndex,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSClassMatchRunInfoTable 1 }

Hh3cCBQoSClassMatchRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSClassMatchedPackets
            Counter64,
        hh3cCBQoSClassMatchedBytes
            Counter64,
        hh3cCBQoSClassFwdPktpps
            Unsigned32,
        hh3cCBQoSClassFwdPktbps
            Unsigned32,
        hh3cCBQoSClassDropPktpps
            Unsigned32,
        hh3cCBQoSClassDropPktbps
            Unsigned32,
        hh3cCBQoSClassFlowStatInterval
            Unsigned32,
        hh3cCBQoSClassBehaviorStatus
            INTEGER
    }

hh3cCBQoSClassMatchedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matching a class in a QoS policy."
    ::= { hh3cCBQoSClassMatchRunInfoEntry 1 }

hh3cCBQoSClassMatchedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes matching a class in a QoS policy."
    ::= { hh3cCBQoSClassMatchRunInfoEntry 2 }

hh3cCBQoSClassFwdPktpps OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average number of packets macthing the class forwarded
         per second in the last interval.
         Unit: pps."
    ::= { hh3cCBQoSClassMatchRunInfoEntry 3 }

hh3cCBQoSClassFwdPktbps OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average bits of packets matching the class forwarded
         per second in the last interval.
         Unit: bps."
    ::= { hh3cCBQoSClassMatchRunInfoEntry 4 }

hh3cCBQoSClassDropPktpps OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average number of packets matching the class dropped
         per second in the last interval.
         Unit: pps."
    ::= { hh3cCBQoSClassMatchRunInfoEntry 5 }

hh3cCBQoSClassDropPktbps OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average bits of packets matching the class dropped
         per second in the last interval.
         Unit: bps."
    ::= { hh3cCBQoSClassMatchRunInfoEntry 6 }

hh3cCBQoSClassFlowStatInterval OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Interval of collecting traffic statistics.
         Unit: minute."
    ::= { hh3cCBQoSClassMatchRunInfoEntry 7 }

hh3cCBQoSClassBehaviorStatus OBJECT-TYPE
    SYNTAX INTEGER
    {
        success(1),
        failure(2),
        partialSuccess(3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Classifier-behavior applying status."
    ::= { hh3cCBQoSClassMatchRunInfoEntry 8 }

-- CAR statistics

hh3cCBQoSCarRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSCarRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of running statistics for CAR on a QoS apply object."
    ::= { hh3cCBQoSStaticsObjects 3 }

hh3cCBQoSCarRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSCarRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "CAR statistics information entry."
    INDEX { hh3cCBQoSApplyObjectIndex,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSCarRunInfoTable 1 }

Hh3cCBQoSCarRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSCarGreenPackets
            Counter64,
        hh3cCBQoSCarGreenBytes
            Counter64,
        hh3cCBQoSCarRedPackets
            Counter64,
        hh3cCBQoSCarRedBytes
            Counter64,
        hh3cCBQoSCarYellowPackets
            Counter64,
        hh3cCBQoSCarYellowBytes
            Counter64,
        hh3cCBQoSCarClassName
            OCTET STRING,
        hh3cCBQoSCarGreenpps
            Counter64,
        hh3cCBQoSCarGreenbps
            Counter64,
        hh3cCBQoSCarRedpps
            Counter64,
        hh3cCBQoSCarRedbps
            Counter64,
        hh3cCBQoSCarYellowpps
            Counter64,
        hh3cCBQoSCarYellowbps
            Counter64
    }

hh3cCBQoSCarGreenPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of green packets."
    ::= { hh3cCBQoSCarRunInfoEntry 1 }

hh3cCBQoSCarGreenBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of green bytes."
    ::= { hh3cCBQoSCarRunInfoEntry 2 }

hh3cCBQoSCarRedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of red packets."
    ::= { hh3cCBQoSCarRunInfoEntry 3 }

hh3cCBQoSCarRedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of red bytes."
    ::= { hh3cCBQoSCarRunInfoEntry 4 }

hh3cCBQoSCarYellowPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of yellow packets."
    ::= { hh3cCBQoSCarRunInfoEntry 5 }

hh3cCBQoSCarYellowBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of yellow bytes."
    ::= { hh3cCBQoSCarRunInfoEntry 6 }

hh3cCBQoSCarClassName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Name of classifier."
    ::= { hh3cCBQoSCarRunInfoEntry 7 }

hh3cCBQoSCarGreenpps OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average number of green packets matching a class in a QoS policy
         per second in the last interval.
         Unit: pps."
    ::= { hh3cCBQoSCarRunInfoEntry 8 }

hh3cCBQoSCarGreenbps OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
       "Average bits of green packets matching a class in a QoS policy
         per second in the last interval.
         Unit: bps."
    ::= { hh3cCBQoSCarRunInfoEntry 9 }

hh3cCBQoSCarRedpps OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average number of red packets matching a class in a QoS policy
         per second in the last interval.
         Unit: pps."
    ::= { hh3cCBQoSCarRunInfoEntry 10 }

hh3cCBQoSCarRedbps OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average bits of red packets matching a class in a QoS policy
         per second in the last interval.
         Unit: bps."
    ::= { hh3cCBQoSCarRunInfoEntry 11 }

hh3cCBQoSCarYellowpps OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average number of yellow packets matching a class in a QoS policy
         per second in the last interval.
         Unit: pps."
    ::= { hh3cCBQoSCarRunInfoEntry 12 }

hh3cCBQoSCarYellowbps OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average bits of yellow packets matching a class in a QoS policy
         per second in the last interval.
         Unit: bps."
    ::= { hh3cCBQoSCarRunInfoEntry 13 }

-- GTS statistics

hh3cCBQoSGtsRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSGtsRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of running statistics for GTS on a QoS apply object."
    ::= { hh3cCBQoSStaticsObjects 4 }

hh3cCBQoSGtsRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSGtsRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GTS statistics entry."
    INDEX { hh3cCBQoSApplyObjectIndex,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSGtsRunInfoTable 1 }

Hh3cCBQoSGtsRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSGtsPassedPackets
            Counter64,
        hh3cCBQoSGtsPassedBytes
            Counter64,
        hh3cCBQoSGtsDiscardedPackets
            Counter64,
        hh3cCBQoSGtsDiscardedBytes
            Counter64,
        hh3cCBQoSGtsDelayedPackets
            Counter64,
        hh3cCBQoSGtsDelayedBytes
            Counter64,
        hh3cCBQoSGtsQueueSize
            Integer32
    }

hh3cCBQoSGtsPassedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets passed by GTS."
    ::= { hh3cCBQoSGtsRunInfoEntry 1 }

hh3cCBQoSGtsPassedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes passed by GTS."
    ::= { hh3cCBQoSGtsRunInfoEntry 2 }

hh3cCBQoSGtsDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets discarded by GTS."
    ::= { hh3cCBQoSGtsRunInfoEntry 3 }

hh3cCBQoSGtsDiscardedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes discarded by GTS."
    ::= { hh3cCBQoSGtsRunInfoEntry 4 }

hh3cCBQoSGtsDelayedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets delayed by GTS."
    ::= { hh3cCBQoSGtsRunInfoEntry 5 }

hh3cCBQoSGtsDelayedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes delayed by GTS."
    ::= { hh3cCBQoSGtsRunInfoEntry 6 }

hh3cCBQoSGtsQueueSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets in GTS queue."
    ::= { hh3cCBQoSGtsRunInfoEntry 7 }

-- Remark statistics

hh3cCBQoSRemarkRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSRemarkRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of running statistics for remarking on a QoS apply
         object."
    ::= { hh3cCBQoSStaticsObjects 5 }

hh3cCBQoSRemarkRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSRemarkRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Remarking statistics entry."
    INDEX { hh3cCBQoSApplyObjectIndex,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSRemarkRunInfoTable 1 }

Hh3cCBQoSRemarkRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSRemarkedPackets
            Counter64
    }

hh3cCBQoSRemarkedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of remarked packets."
    ::= { hh3cCBQoSRemarkRunInfoEntry 1 }

-- Queue statistics

hh3cCBQoSQueueRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSQueueRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of running statistics for queue on a QoS apply
         object."
    ::= { hh3cCBQoSStaticsObjects 6 }

hh3cCBQoSQueueRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSQueueRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Queue statistics entry."
    INDEX { hh3cCBQoSApplyObjectIndex,
            hh3cCBQoSPolicyClassIndex }
    ::= { hh3cCBQoSQueueRunInfoTable 1 }

Hh3cCBQoSQueueRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSQueueMatchedPackets
            Counter64,
        hh3cCBQoSQueueMatchedBytes
            Counter64,
        hh3cCBQoSQueueEnqueuedPackets
            Counter64,
        hh3cCBQoSQueueEnqueuedBytes
            Counter64,
        hh3cCBQoSQueueDiscardedPackets
            Counter64,
        hh3cCBQoSQueueDiscardedBytes
            Counter64
    }

hh3cCBQoSQueueMatchedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matched to queue."
    ::= { hh3cCBQoSQueueRunInfoEntry 1 }

hh3cCBQoSQueueMatchedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes matched to queue."
    ::= { hh3cCBQoSQueueRunInfoEntry 2 }

hh3cCBQoSQueueEnqueuedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets queued."
    ::= { hh3cCBQoSQueueRunInfoEntry 3 }

hh3cCBQoSQueueEnqueuedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes queued."
    ::= { hh3cCBQoSQueueRunInfoEntry 4 }

hh3cCBQoSQueueDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets discarded when queued by discard method."
    ::= { hh3cCBQoSQueueRunInfoEntry 5 }

hh3cCBQoSQueueDiscardedBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes discarded when queued by discard method."
    ::= { hh3cCBQoSQueueRunInfoEntry 6 }

-- WRED statistics

hh3cCBQoSWredRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSWredRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of running statistics for WRED on a QoS apply object."
    ::= { hh3cCBQoSStaticsObjects 7 }

hh3cCBQoSWredRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSWredRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "WRED statistics entry."
    INDEX { hh3cCBQoSApplyObjectIndex,
            hh3cCBQoSPolicyClassIndex,
            hh3cCBQoSWredClassValue }
    ::= { hh3cCBQoSWredRunInfoTable 1 }

Hh3cCBQoSWredRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSWredRandomDiscardedPackets
            Counter64,
        hh3cCBQoSWredTailDiscardedPackets
            Counter64
    }

hh3cCBQoSWredRandomDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets random-discarded by WRED."
    ::= { hh3cCBQoSWredRunInfoEntry 1 }

hh3cCBQoSWredTailDiscardedPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets tail-discarded by WRED."
    ::= { hh3cCBQoSWredRunInfoEntry 2 }

--
-- Accounting RunInfo
--
hh3cCBQoSAccountingRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSAccountingRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of running statistics for account on a QoS apply
         object."
    ::= { hh3cCBQoSStaticsObjects 8 }

hh3cCBQoSAccountingRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSAccountingRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Account statistics entry."
    INDEX { hh3cCBQoSApplyObjectIndex,
            hh3cCBQoSPolicyClassIndex
          }
    ::= { hh3cCBQoSAccountingRunInfoTable 1 }

Hh3cCBQoSAccountingRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSAccountingPackets
            Counter64,
        hh3cCBQoSAccountingBytes
            Counter64,
        hh3cCBQoSAccountingPktpps
            Counter64,
        hh3cCBQoSAccountingPktbps
            Counter64
    }

hh3cCBQoSAccountingPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matching a class in a QoS policy."
    ::= { hh3cCBQoSAccountingRunInfoEntry 1 }

hh3cCBQoSAccountingBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes matching a class in a QoS policy."
    ::= { hh3cCBQoSAccountingRunInfoEntry 2 }

hh3cCBQoSAccountingPktpps OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average number of packets matching a class in a QoS policy
         per second in the last interval.
         Unit: pps."
    ::= { hh3cCBQoSAccountingRunInfoEntry 3 }

hh3cCBQoSAccountingPktbps OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average bits of packets matching a class in a QoS policy
         per second in the last interval.
         Unit: bps."
    ::= { hh3cCBQoSAccountingRunInfoEntry 4 }

--
-- Policy Accounting RunInfo
--
hh3cCBQoSPolicyAccRunInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cCBQoSPolicyAccRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table of running statistics for account on a QoS apply
         object."
    ::= { hh3cCBQoSStaticsObjects 9 }

hh3cCBQoSPolicyAccRunInfoEntry OBJECT-TYPE
    SYNTAX Hh3cCBQoSPolicyAccRunInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Policy account statistics entry."
    INDEX { hh3cCBQoSApplyObjectIndex }
    ::= { hh3cCBQoSPolicyAccRunInfoTable 1 }

Hh3cCBQoSPolicyAccRunInfoEntry ::=
    SEQUENCE
    {
        hh3cCBQoSPolicyAccPackets
            Counter64,
        hh3cCBQoSPolicyAccBytes
            Counter64
    }

hh3cCBQoSPolicyAccPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets matching a QoS policy."
    ::= { hh3cCBQoSPolicyAccRunInfoEntry 1 }

hh3cCBQoSPolicyAccBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bytes matching a QoS policy."
    ::= { hh3cCBQoSPolicyAccRunInfoEntry 2 }

-- Policy applying status

hh3cCBQoSApplyingStatusObjects OBJECT IDENTIFIER ::= { hh3cCBQoSObjects 6 }

-- System status when applying policy

hh3cCBQoSApplyingStatus OBJECT-TYPE
    SYNTAX INTEGER
    {
        idle(1),
        busy(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object shows the status of the system when applying policy.
        It is forbidden to set or read in this MIB module except current
        table when the value is busy."
    ::= { hh3cCBQoSApplyingStatusObjects 1 }

-- Notifications

hh3cCBQoSNotifications OBJECT IDENTIFIER ::= { hh3cCBQoSObjects 7 }

-- All trap definitions should be placed under this object.

hh3cCBQoSNotificationsPrefix OBJECT IDENTIFIER ::= { hh3cCBQoSNotifications 0 }

-- All objects used for TRAP only are defined here.

hh3cCBQoSIfPolicyChanged NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cCBQoSIfApplyPolicyIfIndex,
            hh3cCBQoSIfApplyPolicyDirection
        }
    STATUS current
    DESCRIPTION
        "This notification will be sent when the applying status
        of the policy on the interface is changed."
    ::= { hh3cCBQoSNotificationsPrefix 1 }

hh3cCBQoSVlanPolicyChanged NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cCBQoSVlanApplyPolicyVlanid,
            hh3cCBQoSVlanApplyPolicyDirection
        }
    STATUS current
    DESCRIPTION
        "This notification will be sent when the applying status
        of the policy on the VLAN is changed."
    ::= { hh3cCBQoSNotificationsPrefix 2 }

END
