-- ****************************************************************
-- Qtech Class-Based QoS Configuration and Statistics MIB
--   
-- March 2012, Luo Junxin
--   
-- Copyright (c) 2012 by Qtech Networks Co.,Ltd.
-- All rights reserved.
--   
-- ****************************************************************


-- Start module
QTECH-ROUTER-QOS-MIB DEFINITIONS ::= BEGIN

-- Start external defined node
IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Counter32,
    Gauge32,
    Unsigned32,
    Counter64
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION,
    DisplayString,
    MacAddress,
    RowStatus,
    TruthValue
        FROM SNMPv2-TC
    InterfaceIndex
        FROM IF-MIB
    qtechMgmt
        FROM QTECH-SMI;
-- End external defined node


-- Start root node
qtechRouterQoSMIB MODULE-IDENTITY
        LAST-UPDATED "201202270000Z"
        ORGANIZATION "Qtech Networks Co.,Ltd."
        CONTACT-INFO
                " 
                                E-mail: service@qtech.com.cn"
        DESCRIPTION
                "This module defines qtech QoS(Quality of Service) mibs."

        REVISION    "201112200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 106}
        
        QtechCosType ::= TEXTUAL-CONVENTION
          STATUS  current
          DESCRIPTION
             "Class of service type."
          SYNTAX INTEGER {
                     cos-be(1),
                     cos-af1(2), 
                     cos-af2(3),
                     cos-af3(4),
                     cos-af4(5),
                     cos-ef(6),
                     cos-cs6(7),
                     cos-cs7(8)
                 }

       QtechQType ::= TEXTUAL-CONVENTION
          STATUS  current
          DESCRIPTION
             "Queue type."
          SYNTAX INTEGER {
                     q-lpq(1),
                     q-wfq(2), 
                     q-pq(3)
                     }

       QtechQDirectionType ::= TEXTUAL-CONVENTION
          STATUS  current
          DESCRIPTION
             "Direction type."
          SYNTAX INTEGER {
                     d-input(1),
                     d-output(2)
                     }

       QtechLayerType ::= TEXTUAL-CONVENTION
          STATUS  current
          DESCRIPTION
             "Layer type to apply match rule."
          SYNTAX INTEGER {
                     link-layer(1),
                     all-layer(2)
                     }
                     
-- End root node
  
        qtechCBQoSMIBObjects OBJECT IDENTIFIER ::= { qtechRouterQoSMIB 1 }
        qtechIfQoSMIBObjects OBJECT IDENTIFIER ::= { qtechRouterQoSMIB 2 }
        qtechHQoSMIBObjects  OBJECT IDENTIFIER ::= { qtechRouterQoSMIB 3 }

-- CBQoS MIB    


-- Node definitions
        
--  Interface: policy Running statistics information
        qtechCBQoSIfStaticsObjects OBJECT IDENTIFIER ::= { qtechCBQoSMIBObjects  1 }

        
--  Interface CBWFQ statistics
        qtechCBQoSIfCbwfqRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF QtechCBQoSIfCbwfqRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of interface CBWFQ Running statistics. When policy using queue behavior is applied on
                interface the interface will using Class Base Weighted Fair Queueing."
            ::= { qtechCBQoSIfStaticsObjects 1 }
        
        qtechCBQoSIfCbwfqRunInfoEntry OBJECT-TYPE
            SYNTAX QtechCBQoSIfCbwfqRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Interface CBWFQ statistics entry."
            INDEX { qtechCBQoSIfCbwfqPolicyIfIndex }
            ::= { qtechCBQoSIfCbwfqRunInfoTable 1 }
        
        QtechCBQoSIfCbwfqRunInfoEntry ::=
            SEQUENCE { 
            	qtechCBQoSIfCbwfqPolicyIfIndex
            		Integer32,
                qtechCBQoSIfCbwfqQueueSize
                    Integer32,
                qtechCBQoSIfCbwfqDiscard
                    Counter64,
                qtechCBQoSIfCbwfqEfQueueSize
                    Integer32,
                qtechCBQoSIfCbwfqAfQueueSize
                    Integer32,
                qtechCBQoSIfCbwfqBeQueueSize
                    Integer32,
                qtechCBQoSIfCbwfqBeActiveQueueNum
                    Integer32,
                qtechCBQoSIfCbwfqBeMaxActiveQueueNum
                    Integer32,
                qtechCBQoSIfCbwfqBeTotalQueueNum
                    Integer32,
                qtechCBQoSIfCbwfqAfAllocatedQueueNum
                    Integer32
             }
             
        qtechCBQoSIfCbwfqPolicyIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The interface index"
            ::= { qtechCBQoSIfCbwfqRunInfoEntry 1 }
            
        qtechCBQoSIfCbwfqQueueSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Queue size of CBWFQ"
            ::= { qtechCBQoSIfCbwfqRunInfoEntry 2 }
        
        qtechCBQoSIfCbwfqDiscard OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of discarded packets which coundn't be enqueued."
            ::= { qtechCBQoSIfCbwfqRunInfoEntry 3 }
        
        qtechCBQoSIfCbwfqEfQueueSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Queue size of EF"
            ::= { qtechCBQoSIfCbwfqRunInfoEntry 4 }
        
        qtechCBQoSIfCbwfqAfQueueSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Queue size of AF"
            ::= { qtechCBQoSIfCbwfqRunInfoEntry 5}
        
        qtechCBQoSIfCbwfqBeQueueSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Queue size of BE"
            ::= { qtechCBQoSIfCbwfqRunInfoEntry 6 }
        
        qtechCBQoSIfCbwfqBeActiveQueueNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the number of Active Be Queue"
            ::= { qtechCBQoSIfCbwfqRunInfoEntry 7 }
        
        qtechCBQoSIfCbwfqBeMaxActiveQueueNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the max number of Active Be Queue"
            ::= { qtechCBQoSIfCbwfqRunInfoEntry 8 }
        
        qtechCBQoSIfCbwfqBeTotalQueueNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the total number of Be Queue"
            ::= { qtechCBQoSIfCbwfqRunInfoEntry 9 }
        
        qtechCBQoSIfCbwfqAfAllocatedQueueNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the Allocated number of Af Queue"
            ::= { qtechCBQoSIfCbwfqRunInfoEntry 10 }
   
        
--  Class match statistics
        qtechCBQoSIfClassMatchRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF QtechCBQoSIfClassMatchRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for matching a classifier
                in a QoS policy applied on the interface."
            ::= { qtechCBQoSIfStaticsObjects 2 }
        
        qtechCBQoSIfClassMatchRunInfoEntry OBJECT-TYPE
            SYNTAX QtechCBQoSIfClassMatchRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Classifier's matching statistics information entry."
            INDEX { qtechCBQoSIfClassMatchIfIndex, qtechCBQoSIfClassMatchPolicyDirection, qtechCBQoSIfClassMatchClassIndex }
            ::= { qtechCBQoSIfClassMatchRunInfoTable 1 }
        
        QtechCBQoSIfClassMatchRunInfoEntry ::=
            SEQUENCE { 
            	qtechCBQoSIfClassMatchIfIndex
            		Integer32,
            	qtechCBQoSIfClassMatchPolicyDirection
            		INTEGER,
            	qtechCBQoSIfClassMatchClassIndex
            		Integer32,
                qtechCBQoSIfClassMatchedPackets
                    Counter64,
                qtechCBQoSIfClassMatchedBytes
                    Counter64,
                qtechCBQosIfClassPassedPackets
                    Counter64,
                qtechCBQosIfClassDroppedPackets
                    Counter64
             }

        qtechCBQoSIfClassMatchIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the interface index"
            ::= { qtechCBQoSIfClassMatchRunInfoEntry 1 }

        qtechCBQoSIfClassMatchPolicyDirection OBJECT-TYPE
            SYNTAX INTEGER
            	{
            	input(1),
            	output(2)
            	}
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the direction of policy-map."
            ::= { qtechCBQoSIfClassMatchRunInfoEntry 2 }

        qtechCBQoSIfClassMatchClassIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "class index in the policy-map."
            ::= { qtechCBQoSIfClassMatchRunInfoEntry 3 }                        
            
        qtechCBQoSIfClassMatchedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets matching a class in a QoS policy."
            ::= { qtechCBQoSIfClassMatchRunInfoEntry 4 }

        qtechCBQoSIfClassMatchedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes matching a class in a QoS policy."
            ::= { qtechCBQoSIfClassMatchRunInfoEntry 5 }
        
		qtechCBQosIfClassPassedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of passed packets matching a class in a QoS policy."
            ::= { qtechCBQoSIfClassMatchRunInfoEntry 6 }
      
		qtechCBQosIfClassDroppedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of dropped packets matching a class in a QoS policy."
            ::= { qtechCBQoSIfClassMatchRunInfoEntry 7 }      
    
        
--  CAR statistics
    	qtechCBQoSIfCarRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF QtechCBQoSIfCarRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for CAR in a QoS policy applied on the interface."
            ::= { qtechCBQoSIfStaticsObjects 3 }

    	qtechCBQoSIfCarRunInfoEntry OBJECT-TYPE
	        SYNTAX QtechCBQoSIfCarRunInfoEntry
	        MAX-ACCESS not-accessible
	        STATUS current
	        DESCRIPTION
	            "CAR statistics information entry."
	        INDEX { qtechCBQoSIfCarIfIndex, qtechCBQoSIfCarPolicyDirection, qtechCBQoSIfCarClassIndex }
	        ::= { qtechCBQoSIfCarRunInfoTable 1 }
        
        QtechCBQoSIfCarRunInfoEntry ::=
            SEQUENCE { 
            	qtechCBQoSIfCarIfIndex
            		Integer32,
            	qtechCBQoSIfCarPolicyDirection
            		INTEGER,
            	qtechCBQoSIfCarClassIndex
            		Integer32,
                qtechCBQoSIfCarConformedPackets
                    Counter64,
                qtechCBQoSIfCarConformedBytes
                    Counter64,
                qtechCBQoSIfCarExceededPackets
                    Counter64,
                qtechCBQoSIfCarExceededBytes
                    Counter64,
                qtechCBQoSIfCarViolatedPackets
                    Counter64,
                qtechCBQoSIfCarViolatedBytes
                    Counter64
             }

        qtechCBQoSIfCarIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the interface index"
            ::= { qtechCBQoSIfCarRunInfoEntry 1 }
        
        qtechCBQoSIfCarPolicyDirection OBJECT-TYPE         
            SYNTAX INTEGER
            	{
            	input(1),
            	output(2)
            	}
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the direction of policy-map."
            ::= { qtechCBQoSIfCarRunInfoEntry 2 }
        
        qtechCBQoSIfCarClassIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "class index in the policy-map."
            ::= { qtechCBQoSIfCarRunInfoEntry 3 }
        
        qtechCBQoSIfCarConformedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "packets of conformed"
            ::= { qtechCBQoSIfCarRunInfoEntry 4 }
        
        qtechCBQoSIfCarConformedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "bytes of conformed"
            ::= { qtechCBQoSIfCarRunInfoEntry 5 }
        
        qtechCBQoSIfCarExceededPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "packets of exceeded"
            ::= { qtechCBQoSIfCarRunInfoEntry 6 }
        
        qtechCBQoSIfCarExceededBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "bytes of exceeded"
            ::= { qtechCBQoSIfCarRunInfoEntry 7 }
        
        qtechCBQoSIfCarViolatedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "packets of violated"
            ::= { qtechCBQoSIfCarRunInfoEntry 8 }
        
        qtechCBQoSIfCarViolatedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "bytes of violated"
            ::= { qtechCBQoSIfCarRunInfoEntry 9 }

                  
--  Remark statistics
        qtechCBQoSIfRemarkRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF QtechCBQoSIfRemarkRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for remarking in a QoS policy applied on the interface."
            ::= { qtechCBQoSIfStaticsObjects 4 }
        
        qtechCBQoSIfRemarkRunInfoEntry OBJECT-TYPE
            SYNTAX QtechCBQoSIfRemarkRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Remarking statistics entry."
            INDEX { qtechCBQoSIfRemarkIfIndex, qtechCBQoSIfRemarkPolicyDirection, qtechCBQoSIfRemarkClassIndex }
            ::= { qtechCBQoSIfRemarkRunInfoTable 1 }
        
        QtechCBQoSIfRemarkRunInfoEntry ::=
            SEQUENCE { 
            	qtechCBQoSIfRemarkIfIndex
            		Integer32,
            	qtechCBQoSIfRemarkPolicyDirection
            		INTEGER,
            	qtechCBQoSIfRemarkClassIndex
            		Integer32,
                qtechCBQoSIfRemarkedPackets
                    Counter64,
                qtechCBQoSIfRemarkedBytes
                    Counter64
             }

        qtechCBQoSIfRemarkIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the interface index"
            ::= { qtechCBQoSIfRemarkRunInfoEntry 1 }
        
        qtechCBQoSIfRemarkPolicyDirection OBJECT-TYPE
            SYNTAX INTEGER
            	{
            	input(1),
            	output(2)
            	}
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the direction of policy-map."
            ::= { qtechCBQoSIfRemarkRunInfoEntry 2 }
        
        qtechCBQoSIfRemarkClassIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "class index in the policy-map."
            ::= { qtechCBQoSIfRemarkRunInfoEntry 3 }
            
        qtechCBQoSIfRemarkedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets remarked."
            ::= { qtechCBQoSIfRemarkRunInfoEntry 4 }
        
        qtechCBQoSIfRemarkedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes remarked."
            ::= { qtechCBQoSIfRemarkRunInfoEntry 5 }

        
--  Queue statistics
        qtechCBQoSIfQueueRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF QtechCBQoSIfQueueRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for queue in a QoS policy applied on the interface."
            ::= { qtechCBQoSIfStaticsObjects 5 }
        
        qtechCBQoSIfQueueRunInfoEntry OBJECT-TYPE
            SYNTAX QtechCBQoSIfQueueRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queue statistics entry."
            INDEX { qtechCBQoSIfQueueIfIndex, qtechCBQoSIfQueuePolicyDirection, qtechCBQoSIfQueueClassIndex }
            ::= { qtechCBQoSIfQueueRunInfoTable 1 }
        
        QtechCBQoSIfQueueRunInfoEntry ::=
            SEQUENCE { 
            	qtechCBQoSIfQueueIfIndex
            		Integer32,
            	qtechCBQoSIfQueuePolicyDirection
            		INTEGER,
            	qtechCBQoSIfQueueClassIndex
            		Integer32,
                qtechCBQoSIfQueueMatchedPackets
                    Counter64,
                qtechCBQoSIfQueueMatchedBytes
                    Counter64,
                qtechCBQoSIfQueueEnqueuedPackets
                    Counter64,
                qtechCBQoSIfQueueEnqueuedBytes
                    Counter64,
                qtechCBQoSIfQueueDiscardedPackets
                    Counter64,
                qtechCBQoSIfQueueDiscardedBytes
                    Counter64
             }

        qtechCBQoSIfQueueIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the interface index"
            ::= { qtechCBQoSIfQueueRunInfoEntry 1 }
        
        qtechCBQoSIfQueuePolicyDirection OBJECT-TYPE
            SYNTAX INTEGER
            	{
            	input(1),
            	output(2)
            	}			
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the direction of policy-map."
            ::= { qtechCBQoSIfQueueRunInfoEntry 2 }
        
        qtechCBQoSIfQueueClassIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "class index in the policy-map."
            ::= { qtechCBQoSIfQueueRunInfoEntry 3 }
            
        qtechCBQoSIfQueueMatchedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets matched to enqueue."
            ::= { qtechCBQoSIfQueueRunInfoEntry 4 }
        
        qtechCBQoSIfQueueMatchedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes matched to enqueue."
            ::= { qtechCBQoSIfQueueRunInfoEntry 5 }
        
        qtechCBQoSIfQueueEnqueuedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets enqueued."
            ::= { qtechCBQoSIfQueueRunInfoEntry 6 }
        
        qtechCBQoSIfQueueEnqueuedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes enqueued."
            ::= { qtechCBQoSIfQueueRunInfoEntry 7 }
        
        qtechCBQoSIfQueueDiscardedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets discarded when enqueued by discard method."
            ::= { qtechCBQoSIfQueueRunInfoEntry 8 }
        
        qtechCBQoSIfQueueDiscardedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes discarded when enqueued by discard method."
            ::= { qtechCBQoSIfQueueRunInfoEntry 9 }

        
--  WRED statistics
        qtechCBQoSIfWredRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF QtechCBQoSIfWredRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for WRED in a QoS policy applied on the interface."
            ::= { qtechCBQoSIfStaticsObjects 6 }
        
        qtechCBQoSIfWredRunInfoEntry OBJECT-TYPE
            SYNTAX QtechCBQoSIfWredRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "WRED statistics entry."
            INDEX { qtechCBQoSIfWredIfIndex, qtechCBQoSIfWredClassIndex, qtechCBQoSIfWredClassValue }
            ::= { qtechCBQoSIfWredRunInfoTable 1 }
        
        QtechCBQoSIfWredRunInfoEntry ::=
            SEQUENCE { 
            	qtechCBQoSIfWredIfIndex
            		Integer32,
            	qtechCBQoSIfWredClassIndex
            		Integer32,
            	qtechCBQoSIfWredClassValue
            		Integer32,
                qtechCBQoSIfWredRandomDiscardedPackets
                    Counter64,
                qtechCBQoSIfWredTailDiscardedPackets
                    Counter64
            }

        qtechCBQoSIfWredIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the interface index."
            ::= { qtechCBQoSIfWredRunInfoEntry 1 }

        qtechCBQoSIfWredClassIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the direction of policy-map."
            ::= { qtechCBQoSIfWredRunInfoEntry 2 }
        
        qtechCBQoSIfWredClassValue OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "dscp/prec value."
            ::= { qtechCBQoSIfWredRunInfoEntry 3 } 

        qtechCBQoSIfWredRandomDiscardedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets that random-discarded by WRED."
            ::= { qtechCBQoSIfWredRunInfoEntry 4 }
        
        qtechCBQoSIfWredTailDiscardedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets that tail-discarded by WRED."
            ::= { qtechCBQoSIfWredRunInfoEntry 5 }

-- End CBQoS MIB



-- Begin IF QoS MIB

-- qos pq / display qos pq interface   6                
    qtechIfQosPQRunInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIfQosPQRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "PQ(Priority Queuing) table
             PQ is a kind of queuing strategy applied on interface for congestion management.
             PQ provides a mechanism to prioritize packets sent on an interface.
             If the specified priority list is applied to an interface the Priority Queuing strategy
             is applied on this interface. Only one list can be assigned per interface. 
             This table is about the PQ configuration and running infomation."
        ::= { qtechIfQoSMIBObjects 1 }

    qtechIfQosPQRunInfoEntry OBJECT-TYPE
        SYNTAX QtechIfQosPQRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "PQ configuration and running infomation"
        INDEX { qtechIfQosPQIfIndex }
        ::= { qtechIfQosPQRunInfoTable 1 }

            
    QtechIfQosPQRunInfoEntry ::=
        SEQUENCE { 
            qtechIfQosPQIfIndex
                Integer32,
            qtechIfQosPQListNum
                Integer32,
            qtechIfQosPQIfName
                OCTET STRING,
            qtechIfQosPQHighPkt
                Integer32,
            qtechIfQosPQHighDiscard
                Counter32,
            qtechIfQosPQHighMaxQueLen
                Integer32,
            qtechIfQosPQMiddlePkt
                Integer32,
            qtechIfQosPQMiddleDiscard
                Counter32,
            qtechIfQosPQMiddleMaxQueLen
                Integer32,
            qtechIfQosPQNormalPkt
                Integer32,
            qtechIfQosPQNormalDiscard
                Counter32,
            qtechIfQosPQNormalMaxQueLen
                Integer32,
            qtechIfQosPQLowPkt
                Integer32,
            qtechIfQosPQLowDiscard
                Counter32,
            qtechIfQosPQLowMaxQueLen
                Integer32
        }

    qtechIfQosPQIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The index of table, which is the index of interface applying Priority Queuing strategy. 
             The interface identified by the value of this index is the same interface 
             as identified by the same value of ifIndex."
        ::= { qtechIfQosPQRunInfoEntry 1 }

    qtechIfQosPQListNum OBJECT-TYPE
        SYNTAX Integer32 (1..16)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of PQL applied to an interface identified by the value of qosPQIfIndex."
        ::= { qtechIfQosPQRunInfoEntry 2 }

    qtechIfQosPQIfName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The description of the interface by the value of qosPQIfIndex.
             It's a textual string containing information about the interface type and the interface number."
        ::= { qtechIfQosPQRunInfoEntry 3 }

    qtechIfQosPQHighPkt OBJECT-TYPE
        SYNTAX Integer32 (0..32767)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of packets enqueued the high priority queue when congestion occoured in the interface."
        ::= { qtechIfQosPQRunInfoEntry 4 }

    qtechIfQosPQHighDiscard OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of discarded packets which can't be enqueued high priority queue because the high priority queue is full."
        ::= { qtechIfQosPQRunInfoEntry 5 }

    qtechIfQosPQHighMaxQueLen OBJECT-TYPE
        SYNTAX Integer32 (1..1024)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum length of high priority queue.
             The default value of maximum queue length is 20."
        ::= { qtechIfQosPQRunInfoEntry 6 }

    qtechIfQosPQMiddlePkt OBJECT-TYPE
        SYNTAX Integer32 (0..32767)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of packets enqueued the middle priority queue when congestion occoured in the interface."
        ::= { qtechIfQosPQRunInfoEntry 7 }

    qtechIfQosPQMiddleDiscard OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of discarded packets which can't be enqueued middle priority queue because the middle priority queue is full."
        ::= { qtechIfQosPQRunInfoEntry 8 }

    qtechIfQosPQMiddleMaxQueLen OBJECT-TYPE
        SYNTAX Integer32 (1..1024)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum length of middle priority queue. The default value of maximum queue length is 40."
        ::= { qtechIfQosPQRunInfoEntry 9 }

    qtechIfQosPQNormalPkt OBJECT-TYPE
        SYNTAX Integer32 (0..32767)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of packets enqueued the normal priority queue when congestion occoured in the interface."
        ::= { qtechIfQosPQRunInfoEntry 10 }

    qtechIfQosPQNormalDiscard OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of discarded packets which can't be enqueued normal priority queue  because the normal priority queue is full."
        ::= { qtechIfQosPQRunInfoEntry 11 }

    qtechIfQosPQNormalMaxQueLen OBJECT-TYPE
        SYNTAX Integer32 (1..1024)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum length of normal priority queue.
             The default value of maximum queue length is 60."
        ::= { qtechIfQosPQRunInfoEntry 12 }

    qtechIfQosPQLowPkt OBJECT-TYPE
        SYNTAX Integer32 (0..32767)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of packets enqueued the bottom priority queue when congestion occoured in the interface."
        ::= { qtechIfQosPQRunInfoEntry 13 }

    qtechIfQosPQLowDiscard OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of discarded packets which can't be enqueued low priority queue  because the low priority queue is full."
        ::= { qtechIfQosPQRunInfoEntry 14 }

    qtechIfQosPQLowMaxQueLen OBJECT-TYPE
        SYNTAX Integer32 (1..1024)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum length of low priority queue. The default value of maximum queue length is 80."
        ::= { qtechIfQosPQRunInfoEntry 15 }

  
-- display qos cq interface   2                
    qtechIfQosCQRunInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIfQosCQRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "CQ(Custom Queuing) statistics table
             This table is about the running infomation of CQ applied on interface for congestion management."
        ::= { qtechIfQoSMIBObjects 2 }

    qtechIfQosCQRunInfoEntry OBJECT-TYPE
        SYNTAX QtechIfQosCQRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "CQ running infomation"
        INDEX { qtechIfQosCQRunInfoIfIndex, qtechIfQosCQRunInfoQueNum }
        ::= { qtechIfQosCQRunInfoTable 1 }
            
    QtechIfQosCQRunInfoEntry ::=
        SEQUENCE { 
            qtechIfQosCQRunInfoIfIndex
                Integer32,
            qtechIfQosCQRunInfoQueNum
                Integer32,
            qtechIfQosCQRunInfoIfName
                OCTET STRING,
            qtechIfQosCQRunInfoQuePkt
                Integer32,
            qtechIfQosCQRunInfoQueDiscard
                Counter32,
            qtechIfQosCQRunInfoMaxQueLen
                Integer32
        }

    qtechIfQosCQRunInfoIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The index of the table, which is the index of interface applying Custom Queuing strategy. 
             The interface identified by the value of this index is the same interface 
             as identified by the same value of ifIndex."
        ::= { qtechIfQosCQRunInfoEntry 1 }

    qtechIfQosCQRunInfoQueNum OBJECT-TYPE
        SYNTAX Integer32 (1..16)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The index of the table, which is the custom queue number"
        ::= { qtechIfQosCQRunInfoEntry 2 }

    qtechIfQosCQRunInfoIfName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The description of the interface by the value of qosCQRunInfoIfIndex.
             It's a textual string containing information about the interface type and the interface number."
        ::= { qtechIfQosCQRunInfoEntry 3 }

    qtechIfQosCQRunInfoQuePkt OBJECT-TYPE
        SYNTAX Integer32 (0..32767)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of packets enqueued the spceified custom queue when congestion occoured in the interface."
        ::= { qtechIfQosCQRunInfoEntry 4 }

    qtechIfQosCQRunInfoQueDiscard OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of discarded packets which can't be enqueued the specified custom queue because the custom queue is full."
        ::= { qtechIfQosCQRunInfoEntry 5 }

     qtechIfQosCQRunInfoMaxQueLen OBJECT-TYPE
        SYNTAX Integer32 (1..1024)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum length of the specified queue.
             The default value of maximum queue length is 20."
        ::= { qtechIfQosCQRunInfoEntry 6 }


-- qos wfq / display qos wfq interface  13  
    qtechIfQosWFQRunInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIfQosWFQRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "WFQ(Weighted Fair Queuing) table
             WFQ is a kind of queuing strategy applied on interface for congestion management.
             With WFQ, packets are classified by flow. For example, packets with the same source IP address,
             destination IP address, source TCP or UDP port, destination TCP or UDP port, and protocol 
             belong to the same flow.
             When enabled for an interface, WFQ provides traffic priority management that automatically sorts
             among individual traffic flows without requiring first defined match rule lists.
             This table is about the WFQ configuration and running infomation."
        ::= { qtechIfQoSMIBObjects 3 }

    qtechIfQosWFQRunInfoEntry OBJECT-TYPE
        SYNTAX QtechIfQosWFQRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "WFQ configuration and running infomation"
        INDEX { qtechIfQosWFQIfIndex }
        ::= { qtechIfQosWFQRunInfoTable 1 }
            
    QtechIfQosWFQRunInfoEntry ::=
        SEQUENCE { 
            qtechIfQosWFQIfIndex
                Integer32,
            qtechIfQosWFQIfName
                OCTET STRING,
            qtechIfQosWFQMaxQueLen
                Integer32,
            qtechIfQosWFQTotalQueNum
                INTEGER,
            qtechIfQosWFQCurQueLen
                Integer32,
            qtechIfQosWFQTotalDiscard
                Counter32,
            qtechIfQosWFQActiveQueNum
                Integer32,
            qtechIfQosWFQMaxActiveQueNum
                Integer32
        }

    qtechIfQosWFQIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The index of the table, which is the index of interface applying Weighted Fair Queuing strategy. 
             The interface identified by the value of this index is the same interface 
             as identified by the same value of ifIndex."
        ::= { qtechIfQosWFQRunInfoEntry 1 }

    qtechIfQosWFQIfName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The description of the interface by the value of qosWFQIfIndex.
             It's a textual string containing information about the interface type and the interface number."
        ::= { qtechIfQosWFQRunInfoEntry 2 }

    qtechIfQosWFQMaxQueLen OBJECT-TYPE
        SYNTAX Integer32 (1..1024)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum length of the queue."
        ::= { qtechIfQosWFQRunInfoEntry 3 }

    qtechIfQosWFQTotalQueNum OBJECT-TYPE
        SYNTAX INTEGER
            {
            a16(16),
            a32(32),
            a64(64),
            a128(128),
            a256(256),
            a512(512),
            a1024(1024),
            a2048(2048),
            a4096(4096)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The total number of queues. The default value is a256(256)."
        ::= { qtechIfQosWFQRunInfoEntry 4 }

    qtechIfQosWFQCurQueLen OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of packets enqueued all the queues when congestion occoured in the interface."
        ::= { qtechIfQosWFQRunInfoEntry 5 }

    qtechIfQosWFQTotalDiscard OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The count of discarded packets which can't be enqueued all the queues
             because the queue is full."
        ::= { qtechIfQosWFQRunInfoEntry 6 }

    qtechIfQosWFQActiveQueNum OBJECT-TYPE
        SYNTAX Integer32 (0..32767)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A queue becomes active when the queue is not empty.
             The count of current active queues when WFQ was enabled in the interface."
        ::= { qtechIfQosWFQRunInfoEntry 7 }

    qtechIfQosWFQMaxActiveQueNum OBJECT-TYPE
        SYNTAX Integer32 (0..32767)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum count of active queues.
             It is the count of active queues that have occurred since WFQ was enabled in the interface."
        ::= { qtechIfQosWFQRunInfoEntry 8 }


--  WRED statistics
        qtechIfQosWredRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF QtechIfQosWredRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for WRED in the interface."
            ::= { qtechIfQoSMIBObjects 4 }
        
        qtechIfQosWredRunInfoEntry OBJECT-TYPE
            SYNTAX QtechIfQosWredRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "WRED statistics entry."
            INDEX { qtechIfQosWredIfIndex,  qtechIfQosWredValue }
            ::= { qtechIfQosWredRunInfoTable 1 }
        
        QtechIfQosWredRunInfoEntry ::=
            SEQUENCE { 
            	qtechIfQosWredIfIndex
            		Integer32,
            	qtechIfQosWredValue
            		Integer32,
                qtechIfQosWredRandomDiscardedPackets
                    Counter64,
                qtechIfQosWredTailDiscardedPackets
                    Counter64
             }

        qtechIfQosWredIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The index of the table, which is the index of interface applying WRED."
            ::= { qtechIfQosWredRunInfoEntry 1 }
               
        qtechIfQosWredValue OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the dscp/prec value."
            ::= { qtechIfQosWredRunInfoEntry 2 } 
            
        qtechIfQosWredRandomDiscardedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets that random-discarded by WRED."
            ::= { qtechIfQosWredRunInfoEntry 3 }
        
        qtechIfQosWredTailDiscardedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets that tail-discarded by WRED."
            ::= { qtechIfQosWredRunInfoEntry 4 }


-- qos car / display qos car interface 17
-- the CAR table
-- CAR(Committed Access Rate) is the feature for limiting the traffic to a committed rate. 
-- The CAR table contains configuration and running information of the CAR policy
-- which applied on an interface.
    qtechIfQosCARTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIfQosCAREntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "CAR(Committed Access Rate) table"
        ::= { qtechIfQoSMIBObjects 5 }

    qtechIfQosCAREntry OBJECT-TYPE
        SYNTAX QtechIfQosCAREntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "CAR configuration and running infomation."
        INDEX { qtechIfQosCARIfIndex, qtechIfQosCARPktDirection, qtechIfQosCARindex }
        ::= { qtechIfQosCARTable 1 }
            
    QtechIfQosCAREntry ::=
        SEQUENCE { 
            qtechIfQosCARIfIndex
                Integer32,
            qtechIfQosCARIfName
                OCTET STRING,
            qtechIfQosCARPktDirection
                INTEGER,
            qtechIfQosCARType
                INTEGER,
            qtechIfQosCARListNum
                Integer32, 
            qtechIfQosCARindex
            	Integer32, 
            qtechIfQosCARCIR
                Integer32,
            qtechIfQosCARBurstSize
                Integer32,
            qtechIfQosCARExcessBurstSize
                Integer32,
            qtechIfQosCARConformAction
                INTEGER,
            qtechIfQosCARExceedAction
                INTEGER,
            qtechIfQosCARConformNewPrec
                Integer32,
            qtechIfQosCARExceedNewPrec
                Integer32,
            qtechIfQosCARConformPkt
                Counter32,
            qtechIfQosCARConformByte
                Counter32,
            qtechIfQosCARExceedPkt
                Counter32,
            qtechIfQosCARExceedByte
                Counter32    
        }
        
    qtechIfQosCARIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "One of the index of the CAR table. This is the index of the interface on which CAR policy applied."
        ::= { qtechIfQosCAREntry 1 }

    qtechIfQosCARIfName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The description of the interface."
        ::= { qtechIfQosCAREntry 2 }

    qtechIfQosCARPktDirection OBJECT-TYPE
        SYNTAX INTEGER
            {
            input(1),
            outout(2)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "One of the index of the CAR table. This is the direction of traffic. 
            There are two directions: input(1) and output(2)."
        ::= { qtechIfQosCAREntry 3 }

    qtechIfQosCARType OBJECT-TYPE
        SYNTAX INTEGER
            {
            acl(1),
            dscp(2),
            qos-group(3),
            default(4)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This is the matching type for the traffic. 
             The value acl(1) means that the traffic matching the 
             configured ACL is applicable to the CAR policy.
             The value dscp(2) means that the traffic matching the 
             configured DSCP is applicable to the CAR policy.            
             The value qos-group(3) means that the traffic matching the 
             configured QOS-GROUP is applicable to the CAR policy.
             The value default(4) means that the traffic matching the 
             default setting is applicable to the CAR policy."
        ::= { qtechIfQosCAREntry 4 }

    qtechIfQosCARListNum OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This is the ACL number, DSCP number or QOS-GROUP number. 
             When CARType=1,this number is ACL number;
             When CARType=2,this number is DSCP number;
             When CARType=3,this number is QOS-GROUP number."
        ::= { qtechIfQosCAREntry 5 }

    qtechIfQosCARindex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "One of the index of the CAR table. This is the index of the configured CAR policy. "
        ::= { qtechIfQosCAREntry 6 }

    qtechIfQosCARCIR OBJECT-TYPE
        SYNTAX Integer32 (8000..155000000)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Committed Information Rate.
             Unit: bps. This is the target rate which the CAR policy limits. "
        ::= { qtechIfQosCAREntry 7 }

    qtechIfQosCARBurstSize OBJECT-TYPE
        SYNTAX Integer32 (15000..155000000)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Burst traffic size. Unit: bit. 
             This is the amount of traffic in excess of the committed information 
             rate that will be permitted by the CAR policy."
        ::= { qtechIfQosCAREntry 8 }

    qtechIfQosCARExcessBurstSize OBJECT-TYPE
        SYNTAX Integer32 (0..155000000)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Excess Burst Size. Unit: bit. 
             This is the amount of traffic in excess of the burst size, 
             which may be conditionally permitted by the CAR policy."
        ::= { qtechIfQosCAREntry 9 }

    qtechIfQosCARConformAction OBJECT-TYPE
        SYNTAX INTEGER
            {
            continue(1),
            drop(2), 
            set-dscp-continue(3), 
            set-dscp-transmit(4),
            set-prec-continue(5),
            set-prec-transmit(6),
            transmit(7),
            set-mpls-exp-continue(8), 
            set-mpls-exp-transmit(9)  
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Action to be taken by the traffic, when the traffic conforms CIR. 
             There are the following actions:
             Continue(1) -- Continue to be processed by the following 
                            CAR policy which applied on the interface.
             drop(2) -- Discard the packet. 
             set-dscp-continue(3) -- Remark the IP dscp of IP packet,
                                        and then continue to be processed by 
                                        the following CAR policy., 
             set-dscp-transmit(4) -- Remark the IP dscp of IP packet,
                                    and then send the packet.
             set-prec-continue(5) -- Remark the IP precedence of IP packet,
                                        and then continue to be processed by 
                                        the following CAR policy.
             set-prec-transmit(6) -- Remark the IP precedence of IP packet,
                                    and then send the packet.
             transmit(7) -- Send the packet directly. 
             set-mpls-exp-continue(8) -- Remark the mpls exp field of mpls packet,
                                           and then continue to be processed by 
                                           the following CAR policy.
             set-mpls-exp-transmit(9) -- Remark the mpls exp field of mpls packet,
                                       and then send the packet.
             "
        ::= { qtechIfQosCAREntry 10 }

    qtechIfQosCARExceedAction OBJECT-TYPE
        SYNTAX INTEGER
            {
            continue(1),
            drop(2), 
            set-dscp-continue(3), 
            set-dscp-transmit(4),
            set-prec-continue(5),
            set-prec-transmit(6),
            transmit(7),
            set-mpls-exp-continue(8), 
            set-mpls-exp-transmit(9)  
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Action to be taken by the traffic, when the traffic is exceeds the CIR. 
             There are the following actions:
             Continue(1) -- Continue to be processed by the following 
                            CAR policy which applied on the interface.
             drop(2) -- Discard the packet. 
             set-dscp-continue(3) -- Remark the IP dscp of IP packet,
                                        and then continue to be processed by 
                                        the following CAR policy., 
             set-dscp-transmit(4) -- Remark the IP dscp of IP packet,
                                    and then send the packet.
             set-prec-continue(5) -- Remark the IP precedence of IP packet,
                                        and then continue to be processed by 
                                        the following CAR policy.
             set-prec-transmit(6) -- Remark the IP precedence of IP packet,
                                    and then send the packet.
             transmit(7) -- Send the packet directly. 
             set-mpls-exp-continue(8) -- Remark the mpls exp field of mpls packet,
                                           and then continue to be processed by 
                                           the following CAR policy.
             set-mpls-exp-transmit(9) -- Remark the mpls exp field of mpls packet,
                                       and then send the packet.

             "
        ::= { qtechIfQosCAREntry 11 }

    qtechIfQosCARConformNewPrec OBJECT-TYPE
        SYNTAX Integer32 (0..7)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Rewrite the precedence value on packets when traffic is within the CIR."
        ::= { qtechIfQosCAREntry 12 }

    qtechIfQosCARExceedNewPrec OBJECT-TYPE
        SYNTAX Integer32 (0..7)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Rewrite the precedence value on packets when traffic is out of CIR."
        ::= { qtechIfQosCAREntry 13 }

    qtechIfQosCARConformPkt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packets which conformed CIR."
        ::= { qtechIfQosCAREntry 14 }

    qtechIfQosCARConformByte OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The bytes of packets which conformed CIR."
        ::= { qtechIfQosCAREntry 15 }

    qtechIfQosCARExceedPkt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packets which exceeded CIR."
            ::= { qtechIfQosCAREntry 16 }

    qtechIfQosCARExceedByte OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the bytes of packets which exceeded CIR."
        ::= { qtechIfQosCAREntry 17 }


-- qos gts / display qos gts interface  18
-- the GTS table
-- GTS(Generic Traffic Shaping) is the feature for shaping the traffic. 
-- The GTS table contains configuration and running information of GTS policy
-- which applied on an interface. 
    qtechIfQosGTSTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIfQosGTSEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "GTS(Generic Traffic Shaping) table"
        ::= { qtechIfQoSMIBObjects 6 }

    qtechIfQosGTSEntry OBJECT-TYPE
        SYNTAX QtechIfQosGTSEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "GTS configuration and running information"
        INDEX { qtechIfQosGTSIfIndex, qtechIfQosGTSType, qtechIfQosGTSACLNum }
        ::= { qtechIfQosGTSTable 1 }
    
    QtechIfQosGTSEntry ::=
        SEQUENCE { 
            qtechIfQosGTSIfIndex
                Integer32,
            qtechIfQosGTSIfName
                OCTET STRING,
            qtechIfQosGTSType
                INTEGER,
            qtechIfQosGTSACLNum
                Integer32,
            qtechIfQosGTSCIR
                Integer32,
            qtechIfQosGTSBurstSize
                Integer32,
            qtechIfQosGTSExcessBurstSize
                Integer32,
            qtechIfQosGTSMaxQueLen
                Integer32,
            qtechIfQosGTSCurQueLen
                Integer32,
            qtechIfQosGTSPassPkt
                Counter32,
            qtechIfQosGTSPassByte
                Counter32,
            qtechIfQosGTSDiscardPkt
                Counter32,
            qtechIfQosGTSDiscardByte
                Counter32
        }

    qtechIfQosGTSIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "One of the index of the GTS table. This is the index of the interface on which GTS policy applied."
        ::= { qtechIfQosGTSEntry 1 }

    qtechIfQosGTSIfName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The description of the interface on which GTS policy applied."
        ::= { qtechIfQosGTSEntry 2 }

    qtechIfQosGTSType OBJECT-TYPE
        SYNTAX INTEGER
            {
            acl(1),
            all(2)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "One of the index of the GTS table. This is the matching type for the traffic. 
             The value acl(1) means that the traffic matching the 
             configured ACL is applicable to the GTS policy.
             The value all(2) means that all the traffic passing the interface
             is applicable to the GTS policy."
        ::= { qtechIfQosGTSEntry 3 }

    qtechIfQosGTSACLNum OBJECT-TYPE
        SYNTAX Integer32 (0|2000..3999)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "One of the index of the GTS table. This is the ACL number for the shaping traffic to match. "
        ::= { qtechIfQosGTSEntry 4 }

    qtechIfQosGTSCIR OBJECT-TYPE
        SYNTAX Integer32 (8000..155000000)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Committed Information Rate. This is the target sustained rate which the GTS policy will shape. Unit: bps."
        ::= { qtechIfQosGTSEntry 5 }

    qtechIfQosGTSBurstSize OBJECT-TYPE
        SYNTAX Integer32 (15000..155000000)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Burst traffic size. Unit: bit. This is the amount of traffic in excess of the committed information rate that will be permitted by the GTS policy."
        ::= { qtechIfQosGTSEntry 6 }

    qtechIfQosGTSExcessBurstSize OBJECT-TYPE
        SYNTAX Integer32 (0..155000000)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Excess Burst Size. Unit: bit. This is the amount of traffic in excess of the burst size, which may be conditionally permitted by the GTS policy."
        ::= { qtechIfQosGTSEntry 7 }

    qtechIfQosGTSMaxQueLen OBJECT-TYPE
        SYNTAX Integer32 (1..1024)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum queue length for the GTS buffer."
        ::= { qtechIfQosGTSEntry 8 }

    qtechIfQosGTSCurQueLen OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The current queue length for the GTS buffer, i.e. the 
             number of packets queuing in the GTS buffer."
        ::= { qtechIfQosGTSEntry 9 }

    qtechIfQosGTSPassPkt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "The number of packets which passed by the GTS policy."
        ::= { qtechIfQosGTSEntry 10 }

    qtechIfQosGTSPassByte OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The bytes of packets which passed by the GTS policy."
        ::= { qtechIfQosGTSEntry 11 }

    qtechIfQosGTSDiscardPkt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packets which discarded by the GTS policy."
    	::= { qtechIfQosGTSEntry 12 }

    qtechIfQosGTSDiscardByte OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The bytes of packets which discarded by the GTS policy."
        ::= { qtechIfQosGTSEntry 13 }


-- RTPQ statistics on the interface               
    qtechIfQosRTPIfQueueRunInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIfQosRTPIfQueueRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of Running statistics for RTP(Realtime Transport Protocol) Queue applied on the interface."
        ::= { qtechIfQoSMIBObjects 7 }
        
    qtechIfQosRTPIfQueueRunInfoEntry OBJECT-TYPE
        SYNTAX QtechIfQosRTPIfQueueRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "RTP(Realtime Transport Protocol) Queue statistics entry."
        INDEX { qtechIfQosRTPIfApplyIfIndex }
        ::= { qtechIfQosRTPIfQueueRunInfoTable 1 }
        
    QtechIfQosRTPIfQueueRunInfoEntry ::=
        SEQUENCE {  
            qtechIfQosRTPIfApplyIfIndex
        	    Integer32,
            qtechIfQosRTPIfQueueSize
                Counter32,
            qtechIfQosRTPIfQueueMaxSize
                Counter32, 
            qtechIfQosRTPIfQueueOutputs
                Counter32,
            qtechIfQosRTPIfQueueDiscards
                Counter32                                                                    
        }  
       
    qtechIfQosRTPIfApplyIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the inteface index."
        ::= { qtechIfQosRTPIfQueueRunInfoEntry 1 } 
             
    qtechIfQosRTPIfQueueSize OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Size of Rtpq Queue."
        ::= { qtechIfQosRTPIfQueueRunInfoEntry 2 }    
                             
    qtechIfQosRTPIfQueueMaxSize OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Max packet number of RTP(Realtime Transport Protocol) Queue."
        ::= { qtechIfQosRTPIfQueueRunInfoEntry 3 }
        
    qtechIfQosRTPIfQueueOutputs OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Output packet number of RTP(Realtime Transport Protocol) Queue."
        ::= { qtechIfQosRTPIfQueueRunInfoEntry 4 } 
                 
    qtechIfQosRTPIfQueueDiscards OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Discarded packet number of RTP(Realtime Transport Protocol) Queue."
        ::= { qtechIfQosRTPIfQueueRunInfoEntry 5 }                   
       

-- flow-limit statistics on the interface               
    qtechIfQosFlowLimitRunInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIfQosFlowLimitRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of Running statistics for Flow-Limit."
        ::= { qtechIfQoSMIBObjects 8 }

    qtechIfQosFlowLimitRunInfoEntry OBJECT-TYPE
        SYNTAX QtechIfQosFlowLimitRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Flow limit statistics entry."
        INDEX { qtechIfQosFlowLimitLabelNum, qtechIfQosFlowLimitPktDirection }
        ::= { qtechIfQosFlowLimitRunInfoTable 1 }
            
    QtechIfQosFlowLimitRunInfoEntry ::=
        SEQUENCE { 
            qtechIfQosFlowLimitLabelNum
                Integer32,
            qtechIfQosFlowLimitPktDirection
                INTEGER,
            qtechIfQosFlowLimitCIR
                Integer32,
            qtechIfQosFlowLimitBurstSize
                Integer32,
            qtechIfQosFlowLimitExcessBurstSize
                Integer32,
            qtechIfQosFlowLimitConformAction
                INTEGER,
            qtechIfQosFlowLimitExceedAction
                INTEGER,
            qtechIfQosFlowLimitConformNewPrec
                Integer32,
            qtechIfQosFlowLimitExceedNewPrec
                Integer32,
            qtechIfQosFlowLimitConformPkt
                Counter32,
            qtechIfQosFlowLimitConformByte
                Counter32,
            qtechIfQosFlowLimitExceedPkt
                Counter32,
            qtechIfQosFlowLimitExceedByte
                Counter32    
         }
         
    qtechIfQosFlowLimitLabelNum OBJECT-TYPE
        SYNTAX Integer32 (1..16)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This is the label number of flow limit."
        ::= { qtechIfQosFlowLimitRunInfoEntry 1 }
    
    qtechIfQosFlowLimitPktDirection OBJECT-TYPE
        SYNTAX INTEGER
            {
            input(1),
            output(2)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "One of the index of the flow limit table. This is the direction of traffic.
             There are two directions: input(1) and output(2)  "
        ::= { qtechIfQosFlowLimitRunInfoEntry 2 }  
  
    qtechIfQosFlowLimitCIR OBJECT-TYPE
        SYNTAX Integer32 (8000..155000000)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Committed Information Rate. Unit: bps. This is the target rate which the flow limit policy limits. "
        ::= { qtechIfQosFlowLimitRunInfoEntry 3 }

    qtechIfQosFlowLimitBurstSize OBJECT-TYPE
        SYNTAX Integer32 (15000..155000000)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Burst traffic size. Unit: bit. This is the amount of traffic in excess of the committed information rate that will be permitted by the flow limit policy."
        ::= { qtechIfQosFlowLimitRunInfoEntry 4 }

    qtechIfQosFlowLimitExcessBurstSize OBJECT-TYPE
        SYNTAX Integer32 (0..155000000)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Excess Burst Size. Unit: bit. This is the amount of traffic in excess of the burst size, which may be conditionally permitted by the flow limit policy."
        ::= { qtechIfQosFlowLimitRunInfoEntry 5 }

    qtechIfQosFlowLimitConformAction OBJECT-TYPE
        SYNTAX INTEGER
            {
            continue(1),
            drop(2), 
            set-dscp-continue(3), 
            set-dscp-transmit(4),
            set-prec-continue(5),
            set-prec-transmit(6),
            transmit(7),
            set-mpls-exp-continue(8), 
            set-mpls-exp-transmit(9)  
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Action to be taken by the traffic, when the traffic conforms CIR. 
             There are the following actions:
             Continue(1) -- Continue to be processed by the following 
                            CAR policy which applied on the interface.
             drop(2) -- Discard the packet. 
             set-dscp-continue(3) -- Remark the IP dscp of IP packet,
                                        and then continue to be processed by 
                                        the following CAR policy., 
             set-dscp-transmit(4) -- Remark the IP dscp of IP packet,
                                    and then send the packet.
             set-prec-continue(5) -- Remark the IP precedence of IP packet,
                                        and then continue to be processed by 
                                        the following CAR policy.
             set-prec-transmit(6) -- Remark the IP precedence of IP packet,
                                    and then send the packet.
             transmit(7) -- Send the packet directly. 
             set-mpls-exp-continue(8) -- Remark the mpls exp field of mpls packet,
                                           and then continue to be processed by 
                                           the following CAR policy.
             set-mpls-exp-transmit(9) -- Remark the mpls exp field of mpls packet,
                                       and then send the packet.
             "
        ::= { qtechIfQosFlowLimitRunInfoEntry 6 }

    qtechIfQosFlowLimitExceedAction OBJECT-TYPE
        SYNTAX INTEGER
            {
            continue(1),
            drop(2), 
            set-dscp-continue(3), 
            set-dscp-transmit(4),
            set-prec-continue(5),
            set-prec-transmit(6),
            transmit(7),
            set-mpls-exp-continue(8), 
            set-mpls-exp-transmit(9)  
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Action to be taken by the traffic, when the traffic is exceeds the CIR.
             There are the following actions:
             Continue(1) -- Continue to be processed by the following 
                            CAR policy which applied on the interface.
             drop(2) -- Discard the packet. 
             set-dscp-continue(3) -- Remark the IP dscp of IP packet,
                                        and then continue to be processed by 
                                        the following CAR policy., 
             set-dscp-transmit(4) -- Remark the IP dscp of IP packet,
                                    and then send the packet.
             set-prec-continue(5) -- Remark the IP precedence of IP packet,
                                        and then continue to be processed by 
                                        the following CAR policy.
             set-prec-transmit(6) -- Remark the IP precedence of IP packet,
                                    and then send the packet.
             transmit(7) -- Send the packet directly. 
             set-mpls-exp-continue(8) -- Remark the mpls exp field of mpls packet,
                                           and then continue to be processed by 
                                           the following CAR policy.
             set-mpls-exp-transmit(9) -- Remark the mpls exp field of mpls packet,
                                       and then send the packet.

             "
        ::= { qtechIfQosFlowLimitRunInfoEntry 7 }

    qtechIfQosFlowLimitConformNewPrec OBJECT-TYPE
        SYNTAX Integer32 (0..63)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Rewrite the precedence value on packets when traffic is within the CIR"
        ::= { qtechIfQosFlowLimitRunInfoEntry 8 }

    qtechIfQosFlowLimitExceedNewPrec OBJECT-TYPE
        SYNTAX Integer32 (0..63)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Rewrite the precedence value on packets when traffic is out of CIR"
        ::= { qtechIfQosFlowLimitRunInfoEntry 9 }

    qtechIfQosFlowLimitConformPkt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packets which conformed CIR."
        ::= { qtechIfQosFlowLimitRunInfoEntry 10 }

    qtechIfQosFlowLimitConformByte OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The bytes of packets which conformed CIR."
        ::= { qtechIfQosFlowLimitRunInfoEntry 11 }

    qtechIfQosFlowLimitExceedPkt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packets which exceeded CIR."
        ::= { qtechIfQosFlowLimitRunInfoEntry 12 }

    qtechIfQosFlowLimitExceedByte OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the bytes of packets which exceeded CIR."
        ::= { qtechIfQosFlowLimitRunInfoEntry 13 }

-- End of IF QoS MIB
-- start of hqos mib object, add by tangyoucan
    qtechHQoSScalarObjects      OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  1 }
    qtechHQoSUserQObjects       OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  2 }
    qtechHQoSUserGroupQObjects  OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  3 }
    qtechHQoSFlowQObjects       OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  4 }
    qtechHQoSFlowMapObjects     OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  5 }
    qtechHQoSTClassifierObjects OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  6 }
    qtechHQoSTBehaviorObjects   OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  7 }
    qtechHQoSTPolicyObjects     OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  8 }
    qtechHQoSVoQObjects         OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  9 }
    qtechHQoSPortQObjects       OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  10 }
    qtechHQoSIfAppObjects       OBJECT IDENTIFIER ::= { qtechHQoSMIBObjects  11 }
	
-- ͨƲѯڵ
    qtechHQoSNameType OBJECT-TYPE
        SYNTAX     INTEGER {
                       unknownName(0),   
                       userQNameIn(1), 
                       userQNameOut(2),     
                       userGroupQInName(3),
                       userGroupQOutName(4),    
                       flowQName(5),    
                       flowMapName(6),    
                       trafficClassifierName(7),    
                       trafficBehaviorName(8),    
                       trafficPolicyName(9),    
                       portQName(10)
                       }
        MAX-ACCESS           read-write
        STATUS                current
        DESCRIPTION
            "Name type of qtechHQoSNameFind, used to get index of correspond entry." 
        DEFVAL { unknownName }
        ::= { qtechHQoSScalarObjects 1 }

  qtechHQoSNameFind OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (0..32))
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "Name of entry to find."
     ::= { qtechHQoSScalarObjects 2 }

    qtechHQoSNameIndex OBJECT-TYPE
        SYNTAX     INTEGER 
        MAX-ACCESS           read-only
        STATUS                current
        DESCRIPTION
            "Corresponding entry index." 
        DEFVAL { 0 }
        ::= { qtechHQoSScalarObjects 3 }  
        
    -- Next free index in qtechHQoSUserQTable.
    qtechHQoSUserQInIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSUserQIndex when creating entries in the
           qtechHQoSUserQTable with in direction. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSUserQObjects 1 }
 
     qtechHQoSUserQOutIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSUserQIndex when creating entries in the
           qtechHQoSUserQTable with out direction. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSUserQObjects 2 } 
        
    qtechHQoSUserQTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSUserQEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION "User queue Table."
         ::= { qtechHQoSUserQObjects 3 }
       
    qtechHQoSUserQEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSUserQEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the user queue information."
        INDEX  { qtechHQoSUserQIndex }
        ::= { qtechHQoSUserQTable 1 }

    QtechHQoSUserQEntry ::= SEQUENCE {
        qtechHQoSUserQIndex               Unsigned32,
        qtechHQoSUserQName                OCTET STRING,
        qtechHQoSUserQDirection           QtechQDirectionType,
        qtechHQoSUserQRowStatus           RowStatus,
        qtechHQoSUserQFlowQName           OCTET STRING,
        qtechHQoSUserQFlowQIndex          Unsigned32,
        qtechHQoSUserQGroupName           OCTET STRING,
        qtechHQoSUserQGroupIndex          Unsigned32,
        qtechHQoSUserQFlowMapName         OCTET STRING,
        qtechHQoSUserQFlowMapIndex        Unsigned32,
        qtechHQoSUserQCIR                 Unsigned32,
        qtechHQoSUserQPIR                 Unsigned32
     }

    qtechHQoSUserQIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "User queue table index."
        ::= { qtechHQoSUserQEntry 1 }

  qtechHQoSUserQName OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (0..32))
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "User queue name."
     ::= { qtechHQoSUserQEntry 2 }

    qtechHQoSUserQDirection OBJECT-TYPE
        SYNTAX QtechQDirectionType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Direction of the user queue.
             There are two directions: inbound(1) and outbound(2)."
        ::= { qtechHQoSUserQEntry 3 }

    qtechHQoSUserQRowStatus OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, 
             qtechHQoSUserQName, qtechHQoSUserQDirection
             objects in this row can not be modified."
        ::=  { qtechHQoSUserQEntry 4 }
        
    qtechHQoSUserQFlowQName OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (0..32))
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The name of flow queue binding with this user queue."
     ::= { qtechHQoSUserQEntry 5 }
     
    qtechHQoSUserQFlowQIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "Flow queue index binding with this user queue."
        ::= { qtechHQoSUserQEntry 6 }

    qtechHQoSUserQGroupName OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (0..32))
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The name of user group queue binding with this user queue."
     ::= { qtechHQoSUserQEntry 7 }
     
    qtechHQoSUserQGroupIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "User group index binding with this user."
        ::= { qtechHQoSUserQEntry 8 }

    qtechHQoSUserQFlowMapName OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (0..32))
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "The name of flow-mapping binding with this user queue."
     ::= { qtechHQoSUserQEntry 9 }
     
    qtechHQoSUserQFlowMapIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "Flow-mapping index binding with this user queue."
        ::= { qtechHQoSUserQEntry 10 }

    qtechHQoSUserQCIR OBJECT-TYPE
        SYNTAX         Unsigned32 (0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Commit rate of this user queue."
        DEFVAL { 0 }

        ::= { qtechHQoSUserQEntry 11 }

    qtechHQoSUserQPIR OBJECT-TYPE
        SYNTAX  Unsigned32(1..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Peak rate of this user queue."
        DEFVAL { 0 }
        ::= { qtechHQoSUserQEntry 12 }

-- end of user table

-- start of user group table
-- Next free index in qtechHQoSUserGroupQTable.
    qtechHQoSUserGroupQInIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSUserGroupQIndex when creating entries in the
           qtechHQoSUserGroupQTable with in direction. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSUserGroupQObjects 1 }

    qtechHQoSUserGroupQOutIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSUserGroupQIndex when creating entries in the
           qtechHQoSUserGroupQTable with out direction. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSUserGroupQObjects 2 }
        
    qtechHQoSUserGroupQTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSUserGroupQEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION "User group queue table, a user-group contains a set of users."
         ::= { qtechHQoSUserGroupQObjects 3 }
       
    qtechHQoSUserGroupQEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSUserGroupQEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the user group queue information."
        INDEX  { qtechHQoSUserGroupQIndex }
        ::= { qtechHQoSUserGroupQTable 1 }

  QtechHQoSUserGroupQEntry ::= SEQUENCE {
        qtechHQoSUserGroupQIndex               Unsigned32,
        qtechHQoSUserGroupQName                OCTET STRING,
        qtechHQoSUserGroupQDirection           QtechQDirectionType,
        qtechHQoSUserGroupQRowStatus           RowStatus,
        qtechHQoSUserGroupQShaping             Unsigned32
     }

    qtechHQoSUserGroupQIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "User group table index."
        ::= { qtechHQoSUserGroupQEntry 1 }

  qtechHQoSUserGroupQName OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (0..32))
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "User group queue name."
     ::= { qtechHQoSUserGroupQEntry 2 }

    qtechHQoSUserGroupQDirection OBJECT-TYPE
        SYNTAX QtechQDirectionType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Direction of user group queue. 
             There are two directions: inbound(1) and outbound(2)."
        ::= { qtechHQoSUserGroupQEntry 3 }

    qtechHQoSUserGroupQRowStatus OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, 
             qtechHQoSUserGroupQName,qtechHQoSUserGroupQDirection
             objects in this row can not be modified."
        ::=  { qtechHQoSUserGroupQEntry 4 }

    qtechHQoSUserGroupQShaping OBJECT-TYPE
        SYNTAX  Unsigned32 (0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "User group queue total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSUserGroupQEntry 5 }
        
-- start of flow queue

-- Next free index in qtechHQoSFlowQTable.
    qtechHQoSFlowQIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSFlowQIndex when creating entries in the
           qtechHQoSFlowQTable. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSFlowQObjects 1 }
        
    qtechHQoSFlowQTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSFlowQEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION "Flow queue table."
         ::= { qtechHQoSFlowQObjects 2 }
       
    qtechHQoSFlowQEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSFlowQEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the flow queue information."
        INDEX  { qtechHQoSFlowQIndex }
        ::= { qtechHQoSFlowQTable 1 }

  QtechHQoSFlowQEntry ::= SEQUENCE {
        qtechHQoSFlowQIndex               Unsigned32,
        qtechHQoSFlowQName                OCTET STRING,
        qtechHQoSFlowQRowStatus           RowStatus,
        qtechHQoSFlowQBEQType             QtechQType,
        qtechHQoSFlowQBEQWredWeight       INTEGER,
        qtechHQoSFlowQBEQWredName         OCTET STRING,
        qtechHQoSFlowQBEQDepth            INTEGER,
        qtechHQoSFlowQBEQShaping          INTEGER, 
        qtechHQoSFlowQAF1QType             QtechQType,
        qtechHQoSFlowQAF1QWredWeight       INTEGER,
        qtechHQoSFlowQAF1QWredName         OCTET STRING,
        qtechHQoSFlowQAF1QDepth            INTEGER,
        qtechHQoSFlowQAF1QShaping          INTEGER,
        qtechHQoSFlowQAF2QType             QtechQType,
        qtechHQoSFlowQAF2QWredWeight       INTEGER,
        qtechHQoSFlowQAF2QWredName         OCTET STRING,
        qtechHQoSFlowQAF2QDepth            INTEGER,
        qtechHQoSFlowQAF2QShaping          INTEGER,
        qtechHQoSFlowQAF3QType             QtechQType,
        qtechHQoSFlowQAF3QWredWeight       INTEGER,
        qtechHQoSFlowQAF3QWredName         OCTET STRING,
        qtechHQoSFlowQAF3QDepth            INTEGER,
        qtechHQoSFlowQAF3QShaping          INTEGER,
        qtechHQoSFlowQAF4QType             QtechQType,
        qtechHQoSFlowQAF4QWredWeight       INTEGER,
        qtechHQoSFlowQAF4QWredName         OCTET STRING,
        qtechHQoSFlowQAF4QDepth            INTEGER,
        qtechHQoSFlowQAF4QShaping          INTEGER,
        qtechHQoSFlowQEFQType             QtechQType,
        qtechHQoSFlowQEFQWredWeight       INTEGER,
        qtechHQoSFlowQEFQWredName         OCTET STRING,
        qtechHQoSFlowQEFQDepth            INTEGER,
        qtechHQoSFlowQEFQShaping          INTEGER,
        qtechHQoSFlowQCS6QType             QtechQType,
        qtechHQoSFlowQCS6QWredWeight       INTEGER,
        qtechHQoSFlowQCS6QWredName         OCTET STRING,
        qtechHQoSFlowQCS6QDepth            INTEGER,
        qtechHQoSFlowQCS6QShaping          INTEGER,
        qtechHQoSFlowQCS7QType             QtechQType,
        qtechHQoSFlowQCS7QWredWeight       INTEGER,
        qtechHQoSFlowQCS7QWredName         OCTET STRING,
        qtechHQoSFlowQCS7QDepth            INTEGER,
        qtechHQoSFlowQCS7QShaping          INTEGER
     }

    qtechHQoSFlowQIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION "Index of flow queue."
        ::= { qtechHQoSFlowQEntry 1 }

  qtechHQoSFlowQName OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (0..32))
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "Flow queue name."
     ::= { qtechHQoSFlowQEntry 2 }

    qtechHQoSFlowQRowStatus OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, 
             qtechHQoSFlowQName
             objects in this row can not be modified."
        ::=  { qtechHQoSFlowQEntry 3 }
 
    qtechHQoSFlowQBEQType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue BEQ type."
        DEFVAL { q-wfq }
        ::= { qtechHQoSFlowQEntry 4 }  
                
    qtechHQoSFlowQBEQWredWeight OBJECT-TYPE
        SYNTAX  INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue BE to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSFlowQEntry 5 } 
        
    qtechHQoSFlowQBEQWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue BE to wfq wred name."
        ::= { qtechHQoSFlowQEntry 6 }

    qtechHQoSFlowQBEQDepth OBJECT-TYPE
        SYNTAX   INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue BE to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSFlowQEntry 7 } 

    qtechHQoSFlowQBEQShaping OBJECT-TYPE
        SYNTAX   INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue BE total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSFlowQEntry 8 } 

    qtechHQoSFlowQAF1QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF1Q type."
        DEFVAL { q-wfq }
        ::= { qtechHQoSFlowQEntry 9 }  
                
    qtechHQoSFlowQAF1QWredWeight OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF1 to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSFlowQEntry 10 } 
        
    qtechHQoSFlowQAF1QWredName OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF1 to wfq wred name."
        ::= { qtechHQoSFlowQEntry 11 }

    qtechHQoSFlowQAF1QDepth OBJECT-TYPE
        SYNTAX   INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF1 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSFlowQEntry 12 } 

    qtechHQoSFlowQAF1QShaping OBJECT-TYPE
        SYNTAX   INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF1 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSFlowQEntry 13 } 
        
    qtechHQoSFlowQAF2QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF2 type."
        DEFVAL { q-wfq}
        ::= { qtechHQoSFlowQEntry 14 }  
                
    qtechHQoSFlowQAF2QWredWeight OBJECT-TYPE
        SYNTAX  INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF2 to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSFlowQEntry 15 } 
        
    qtechHQoSFlowQAF2QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF2 to wfq wred name."
        ::= { qtechHQoSFlowQEntry 16 }

    qtechHQoSFlowQAF2QDepth OBJECT-TYPE
        SYNTAX INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF2 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSFlowQEntry 17 } 

    qtechHQoSFlowQAF2QShaping OBJECT-TYPE
        SYNTAX  INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF2 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSFlowQEntry 18 } 
                
     qtechHQoSFlowQAF3QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF3 type."
        DEFVAL { q-wfq }
        ::= { qtechHQoSFlowQEntry 19 }  
                
    qtechHQoSFlowQAF3QWredWeight OBJECT-TYPE
        SYNTAX INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF3 to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSFlowQEntry 20 } 
        
    qtechHQoSFlowQAF3QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF3 to wfq wred name."
        ::= { qtechHQoSFlowQEntry 21 }

    qtechHQoSFlowQAF3QDepth OBJECT-TYPE
        SYNTAX   INTEGER(1..1024)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF3 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSFlowQEntry 22 } 

    qtechHQoSFlowQAF3QShaping OBJECT-TYPE
        SYNTAX  INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF3 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSFlowQEntry 23 } 
            
     qtechHQoSFlowQAF4QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF4 type."
        DEFVAL { q-wfq }
        ::= { qtechHQoSFlowQEntry 24 }  
                
    qtechHQoSFlowQAF4QWredWeight OBJECT-TYPE
        SYNTAX INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF4 to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSFlowQEntry 25 } 
        
    qtechHQoSFlowQAF4QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF4 to wfq wred name."
        ::= { qtechHQoSFlowQEntry 26 }

    qtechHQoSFlowQAF4QDepth OBJECT-TYPE
        SYNTAX  INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF4 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSFlowQEntry 27 } 

    qtechHQoSFlowQAF4QShaping OBJECT-TYPE
        SYNTAX  INTEGER(0..100000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue AF4 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSFlowQEntry 28 }
         
     qtechHQoSFlowQEFQType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue EF type."
        DEFVAL { q-pq }
        ::= { qtechHQoSFlowQEntry 29 }  
                
    qtechHQoSFlowQEFQWredWeight OBJECT-TYPE
        SYNTAX   INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue EF to wfq wred weight."
        DEFVAL { 15 }
        ::= { qtechHQoSFlowQEntry 30 } 
        
    qtechHQoSFlowQEFQWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue EF to wfq wred name."
        ::= { qtechHQoSFlowQEntry 31 }

    qtechHQoSFlowQEFQDepth OBJECT-TYPE
        SYNTAX  INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue EF to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSFlowQEntry 32 } 

    qtechHQoSFlowQEFQShaping OBJECT-TYPE
        SYNTAX  INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue EF total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSFlowQEntry 33 } 
        
     qtechHQoSFlowQCS6QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue CS6 type."
        DEFVAL { q-pq }
        ::= { qtechHQoSFlowQEntry 34 }  
                
    qtechHQoSFlowQCS6QWredWeight OBJECT-TYPE
        SYNTAX  INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue CS6 to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSFlowQEntry 35 } 
        
    qtechHQoSFlowQCS6QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue CS6 to wfq wred name."
        ::= { qtechHQoSFlowQEntry 36 }

    qtechHQoSFlowQCS6QDepth OBJECT-TYPE
        SYNTAX  INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue CS6 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSFlowQEntry 37 } 

    qtechHQoSFlowQCS6QShaping OBJECT-TYPE
        SYNTAX   INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue CS6 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSFlowQEntry 38 }
        
     qtechHQoSFlowQCS7QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue CS7 type."
        DEFVAL { q-pq }
        ::= { qtechHQoSFlowQEntry 39 }  
                
    qtechHQoSFlowQCS7QWredWeight OBJECT-TYPE
        SYNTAX   INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue CS7 to wfq wred weight."
        DEFVAL { 15 }
        ::= { qtechHQoSFlowQEntry 40 } 
        
    qtechHQoSFlowQCS7QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue CS7 to wfq wred name."
        ::= { qtechHQoSFlowQEntry 41 }

    qtechHQoSFlowQCS7QDepth OBJECT-TYPE
        SYNTAX   INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue CS7 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSFlowQEntry 42 } 

    qtechHQoSFlowQCS7QShaping OBJECT-TYPE
        SYNTAX   INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue CS7 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSFlowQEntry 43 }
        
-- end of flow queue  
     
-- Next free index in qtechHQoSFlowMapTable.
    qtechHQoSFlowMapIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSFlowMapIndex when creating entries in the
           qtechHQoSFlowMapTable. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSFlowMapObjects 1 }
        
    qtechHQoSFlowMapTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSFlowMapEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION "Flow map table."
         ::= { qtechHQoSFlowMapObjects 2 }
       
    qtechHQoSFlowMapEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSFlowMapEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the flow map information."
        INDEX  { qtechHQoSFlowMapIndex }
        ::= { qtechHQoSFlowMapTable 1 }

  QtechHQoSFlowMapEntry ::= SEQUENCE {
        qtechHQoSFlowMapIndex                Unsigned32,
        qtechHQoSFlowMapName                 OCTET STRING,
        qtechHQoSFlowMapRowStatus            RowStatus,
        qtechHQoSFlowMapBEQ2PortQ            QtechCosType, 
        qtechHQoSFlowMapAF1Q2PortQ           QtechCosType,
        qtechHQoSFlowMapAF2Q2PortQ           QtechCosType,
        qtechHQoSFlowMapAF3Q2PortQ           QtechCosType,
        qtechHQoSFlowMapAF4Q2PortQ           QtechCosType,
        qtechHQoSFlowMapEFQ2PortQ            QtechCosType,
        qtechHQoSFlowMapCS6Q2PortQ           QtechCosType,
        qtechHQoSFlowMapCS7Q2PortQ           QtechCosType
     }

    qtechHQoSFlowMapIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "Index of flow map entry."
        ::= { qtechHQoSFlowMapEntry 1 }

  qtechHQoSFlowMapName OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (0..32))
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "Flow map entry name."
     ::= { qtechHQoSFlowMapEntry 2 }

    qtechHQoSFlowMapRowStatus OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, 
             qtechHQoSFlowMapName
             objects in this row can not be modified."
        ::=  { qtechHQoSFlowMapEntry 3 }

    qtechHQoSFlowMapBEQ2PortQ OBJECT-TYPE
        SYNTAX                QtechCosType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "BE to port queue type."
        DEFVAL{cos-be}
        ::= { qtechHQoSFlowMapEntry 4 }

    qtechHQoSFlowMapAF1Q2PortQ OBJECT-TYPE
        SYNTAX                QtechCosType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "AF1 to port queue type."
        DEFVAL {cos-af1}
        ::= { qtechHQoSFlowMapEntry 5 }

    qtechHQoSFlowMapAF2Q2PortQ OBJECT-TYPE
        SYNTAX                QtechCosType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "AF2 to port queue type."
        DEFVAL {cos-af2}
        ::= { qtechHQoSFlowMapEntry 6 }

    qtechHQoSFlowMapAF3Q2PortQ OBJECT-TYPE
        SYNTAX                QtechCosType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "AF3 to port queue type."
        DEFVAL {cos-af3}
        ::= { qtechHQoSFlowMapEntry 7 }

    qtechHQoSFlowMapAF4Q2PortQ OBJECT-TYPE
        SYNTAX                QtechCosType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "AF4 to port queue type."
        DEFVAL {cos-af4}
        ::= { qtechHQoSFlowMapEntry 8 }

    qtechHQoSFlowMapEFQ2PortQ OBJECT-TYPE
        SYNTAX                QtechCosType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "EF to port queue type."
        DEFVAL {cos-ef}
        ::= { qtechHQoSFlowMapEntry 9 }

    qtechHQoSFlowMapCS6Q2PortQ OBJECT-TYPE
        SYNTAX                QtechCosType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "CS6 to port queue type."
        DEFVAL {cos-cs6}
        ::= { qtechHQoSFlowMapEntry 10 }

    qtechHQoSFlowMapCS7Q2PortQ OBJECT-TYPE
        SYNTAX                QtechCosType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "CS7 to port queue type."
        DEFVAL {cos-cs7}
        ::= { qtechHQoSFlowMapEntry 11 }
        
-- end of flow map entry

-- Next free index in qtechHQoSFlowMapTable.
    qtechHQoSTClassifierIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSTClassifierIndex when creating entries in the
           qtechHQoSTClassifierTable. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSTClassifierObjects 1 }

    qtechHQoSTClassifierTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSTClassifierEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
         "Traffic classfier table."
        ::= { qtechHQoSTClassifierObjects 2 }
       
    qtechHQoSTClassifierEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSTClassifierEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the traffic classfier information."
        INDEX  { qtechHQoSTClassifierIndex,  qtechHQoSTClassifierInstance}
        ::= { qtechHQoSTClassifierTable 1 }

  QtechHQoSTClassifierEntry ::= SEQUENCE {
        qtechHQoSTClassifierIndex           Unsigned32,
        qtechHQoSTClassifierInstance        Unsigned32,
        qtechHQoSTClassifierName            OCTET STRING,
        qtechHQoSTClassifierType            INTEGER,
        qtechHQoSTClassifierRowStatus       RowStatus,
        qtechHQoSTClassifierMatchMask       BITS,
        qtechHQoSTClassifierMatchV4Any      TruthValue,
        qtechHQoSTClassifierMatchV4AclID    INTEGER,
        qtechHQoSTClassifierV4AclName       OCTET STRING, 
        qtechHQoSTClassifierMatchV4Dscp     INTEGER,
        qtechHQoSTClassifierMatchV4Tos      INTEGER,
        qtechHQoSTClassifierMatchV6Any      TruthValue,
        qtechHQoSTClassifierMatchV6AclID    INTEGER,
        qtechHQoSTClassifierV6AclName       OCTET STRING, 
        qtechHQoSTClassifierMatchV6Dscp     INTEGER,  
        qtechHQoSTClassifierMatchCos        INTEGER,
        qtechHQoSTClassifierMatchExp        INTEGER,
        qtechHQoSTClassifierMatchSrcMac     MacAddress,
        qtechHQoSTClassifierMatchDstMac     MacAddress
        }

    qtechHQoSTClassifierIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "Index of traffic classifier entry."
        ::= { qtechHQoSTClassifierEntry 1 }

    qtechHQoSTClassifierInstance OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "Sub index of traffic classifier entry. 
             It is used for matching more conditions, such as acl, dscp."
        ::= { qtechHQoSTClassifierEntry 2 }

  qtechHQoSTClassifierName OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (0..32))
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "Traffic classifier name."
     ::= { qtechHQoSTClassifierEntry 3 }

    qtechHQoSTClassifierType OBJECT-TYPE
        SYNTAX  INTEGER {
            tc-or(1),
            tc-and(2)
        }
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
         "Traffic classifier matching type."
        DEFVAL {tc-or}
        ::= { qtechHQoSTClassifierEntry 4 }

    qtechHQoSTClassifierRowStatus OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, 
             qtechHQoSTClassifierName, qtechHQoSTClassifierType
             objects in this row can not be modified."
        ::=  { qtechHQoSTClassifierEntry 5 }
        
    qtechHQoSTClassifierMatchMask OBJECT-TYPE
        SYNTAX                BITS {
            tc-v4-any(0),
            tc-v4-aclID(1),
            tc-v4-aclName(2),
            tc-v4-dscp(3),
            tc-v4-tos(4),
            tc-v6-any(5),
            tc-v6-aclID(6),
            tc-v6-aclName(7),  
            tc-v6-dscp(8), 
            tc-vlan-cos(9),
            tc-exp(10),
            tc-srcmac(11),
            tc-dstmac(12)
            }
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This bit map indicates which of the fields described
             next, If a particular bit is set to zero then
             the corresponding field in the packet MUST be ignored
             for comparison purposes."
        ::= { qtechHQoSTClassifierEntry 6 }
    
    qtechHQoSTClassifierMatchV4Any OBJECT-TYPE
        SYNTAX                TruthValue
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching any ipv4 packet."
        DEFVAL {false}
        ::= { qtechHQoSTClassifierEntry 7 }

    qtechHQoSTClassifierMatchV4AclID OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching acl id."
        DEFVAL {0}
        ::= { qtechHQoSTClassifierEntry 8 }

    qtechHQoSTClassifierV4AclName OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (0..32))
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Traffic classifier matching acl name."
     ::= { qtechHQoSTClassifierEntry 9 }
     
     qtechHQoSTClassifierMatchV4Dscp OBJECT-TYPE
        SYNTAX                INTEGER (0..63)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching ipv4 dscp."
        DEFVAL {0}
        ::= { qtechHQoSTClassifierEntry 10 }

     qtechHQoSTClassifierMatchV4Tos OBJECT-TYPE
        SYNTAX                INTEGER (0..7)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching ipv4 precedence."
        DEFVAL {0}
        ::= { qtechHQoSTClassifierEntry 11 }

    qtechHQoSTClassifierMatchV6Any OBJECT-TYPE
        SYNTAX                TruthValue
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching any ipv6 packet."
        DEFVAL {false}
        ::= { qtechHQoSTClassifierEntry 12 }

    qtechHQoSTClassifierMatchV6AclID OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching ipv6 acl id."
        ::= { qtechHQoSTClassifierEntry 13 }

    qtechHQoSTClassifierV6AclName OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (0..32))
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Traffic classifier matching ipv6 acl name."
     ::= { qtechHQoSTClassifierEntry 14 }
     
     qtechHQoSTClassifierMatchV6Dscp OBJECT-TYPE
        SYNTAX                INTEGER (0..255)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching ipv6 dscp."
        DEFVAL {0}
        ::= { qtechHQoSTClassifierEntry 15 }

     qtechHQoSTClassifierMatchCos OBJECT-TYPE
        SYNTAX  INTEGER(0..7)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching Ethernet vlan cos."
        DEFVAL {0}
        ::= { qtechHQoSTClassifierEntry 16 }

     qtechHQoSTClassifierMatchExp OBJECT-TYPE
        SYNTAX     INTEGER(0..7)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching mpls label exp."
        DEFVAL {0}
        ::= { qtechHQoSTClassifierEntry 17 }

     qtechHQoSTClassifierMatchSrcMac OBJECT-TYPE
        SYNTAX                MacAddress
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching source mac."
        ::= { qtechHQoSTClassifierEntry 18 }

     qtechHQoSTClassifierMatchDstMac OBJECT-TYPE
        SYNTAX                MacAddress
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
             "Traffic classifier matching destination mac."
        ::= { qtechHQoSTClassifierEntry 19 }
        
-- end of tc entry 

-- Next free index in qtechHQoSTBehaviorTable.
    qtechHQoSTBehaviorIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSTBehaviorIndex when creating entries in the
           qtechHQoSTBehaviorTable. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSTBehaviorObjects 1 }
        
    qtechHQoSTBehaviorTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSTBehaviorEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
            "Traffic behavior table."
        ::= { qtechHQoSTBehaviorObjects 2 }
       
    qtechHQoSTBehaviorEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSTBehaviorEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the traffic behavior information."
        INDEX  { qtechHQoSTBehaviorIndex }
        ::= { qtechHQoSTBehaviorTable 1 }

  QtechHQoSTBehaviorEntry ::= SEQUENCE {
        qtechHQoSTBehaviorIndex           Unsigned32,
        qtechHQoSTBehaviorName            OCTET STRING,
        qtechHQoSTBehaviorRowStatus       RowStatus,
        qtechHQoSTBehaviorMask            BITS,
        qtechHQoSTBehaviorUserQName       OCTET STRING,
        qtechHQoSTBehaviorTCos            QtechCosType,
        qtechHQoSTBehaviorTColor          INTEGER,
        qtechHQoSTBehaviorRV4Dscp         INTEGER,
        qtechHQoSTBehaviorRV4Tos          INTEGER,
        qtechHQoSTBehaviorRV6Dscp         INTEGER,
        qtechHQoSTBehaviorRVlanCos        INTEGER,
        qtechHQoSTBehaviorRExp            INTEGER,
        qtechHQoSTBehaviorSubPolicyName   OCTET STRING 
        }

    qtechHQoSTBehaviorIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "Traffic behavior table index."
        ::= { qtechHQoSTBehaviorEntry 1 }

    qtechHQoSTBehaviorName OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (0..32))
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Traffic behavior table name."
     ::= { qtechHQoSTBehaviorEntry 2 }

    qtechHQoSTBehaviorRowStatus OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, 
             qtechHQoSTBehaviorName
             objects in this row can not be modified."
        ::=  { qtechHQoSTBehaviorEntry 3 }

    qtechHQoSTBehaviorMask OBJECT-TYPE
        SYNTAX                BITS {
            user-queue(0),
            set-cos(1),
            set-color(2),
            remark-v4-dscp(3),
            remark-v4-tos(4),
            remark-v6-dscp(5),
            remark-vlan-cos(6),
            remark-exp(7),
            sub-policy(8)
            }
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This bit map indicates which of the fields described
             next, If a particular bit is set to zero then
             the corresponding field in the packet MUST be ignored
             for comparison purposes."
        ::= { qtechHQoSTBehaviorEntry 4 }
 
     qtechHQoSTBehaviorUserQName OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (0..32))
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "User queue belong to this traffic behavior."
     ::= { qtechHQoSTBehaviorEntry 5 }
     qtechHQoSTBehaviorTCos OBJECT-TYPE
        SYNTAX                QtechCosType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Set service-class."
        DEFVAL {cos-be}
        ::=  { qtechHQoSTBehaviorEntry 6 }

    qtechHQoSTBehaviorTColor OBJECT-TYPE
        SYNTAX  INTEGER {
            green(1),
            yellow(2),
            red(3)
        }
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Set color." 
        DEFVAL {green}
        ::= { qtechHQoSTBehaviorEntry 7 }

    qtechHQoSTBehaviorRV4Dscp OBJECT-TYPE
        SYNTAX  INTEGER (0..63)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Remark traffic ipv4 dscp" 
        DEFVAL {0}
        ::= { qtechHQoSTBehaviorEntry 8 }

    qtechHQoSTBehaviorRV4Tos OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Remark traffic ipv4 precedence"  
        DEFVAL {0}
        ::= { qtechHQoSTBehaviorEntry 9 }

    qtechHQoSTBehaviorRV6Dscp OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Remark traffic ipv6 dscp."  
        DEFVAL {0}
        ::= { qtechHQoSTBehaviorEntry 10 }

    qtechHQoSTBehaviorRVlanCos OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Remark traffic ethernet vlan cos."  
        DEFVAL {0}
        ::= { qtechHQoSTBehaviorEntry 11 }

    qtechHQoSTBehaviorRExp OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Remark traffic mpls label exp." 
        DEFVAL {0}
        ::= { qtechHQoSTBehaviorEntry 12 }

     qtechHQoSTBehaviorSubPolicyName OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (0..32))
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Sub traffic policy under this traffic behavior."
     ::= { qtechHQoSTBehaviorEntry 13 }        
--end of traffic behavior entry

-- Next free index in qtechHQoSTPolicyTable. 
    qtechHQoSTPolicyIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSTPolicyIndex when creating entries in the
           qtechHQoSTPolicyTable. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSTPolicyObjects 1 }

    qtechHQoSTPolicyTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSTPolicyEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
         "Traffic policy table."
        ::= { qtechHQoSTPolicyObjects 2 }
       
    qtechHQoSTPolicyEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSTPolicyEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the traffic policy information."
        INDEX  { qtechHQoSTPolicyIndex }
        ::= { qtechHQoSTPolicyTable 1 }

  QtechHQoSTPolicyEntry ::= SEQUENCE {
        qtechHQoSTPolicyIndex           Unsigned32,
        qtechHQoSTPolicyName            OCTET STRING,
        qtechHQoSTPolicyRowStatus       RowStatus
        }

    qtechHQoSTPolicyIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "Traffic policy entry index."
        ::= { qtechHQoSTPolicyEntry 1 }

    qtechHQoSTPolicyName OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (0..32))
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Traffic policy entry name."
       ::= { qtechHQoSTPolicyEntry 2 }

    qtechHQoSTPolicyRowStatus OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, 
             qtechHQoSTPolicyName
             objects in this row can not be modified."
        ::=  { qtechHQoSTPolicyEntry 3 }

    qtechHQoSTPolicyMapIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSTPolicyMapIndex when creating entries in the
           qtechHQoSTPolicyMapTable. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSTPolicyObjects 3 }

    qtechHQoSTPolicyMapTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSTPolicyMapEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
        "Traffic policy map table. Contains policy,classfier,behavior."
         ::= { qtechHQoSTPolicyObjects 4 }
       
    qtechHQoSTPolicyMapEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSTPolicyMapEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the traffic policy map information."
        INDEX  { qtechHQoSTPolicyMapIndex }
        ::= { qtechHQoSTPolicyMapTable 1 }

  QtechHQoSTPolicyMapEntry ::= SEQUENCE {
        qtechHQoSTPolicyMapIndex             Unsigned32,
        qtechHQoSTPolicyMapPolicyName        OCTET STRING,
        qtechHQoSTPolicyMapPolicyIndex       Unsigned32,
        qtechHQoSTPolicyMapTClassfierName    OCTET STRING,
        qtechHQoSTPolicyMapTClassfierIndex   Unsigned32,
        qtechHQoSTPolicyMapTBehaviorName     OCTET STRING,
        qtechHQoSTPolicyMapTBehaviorIndex    Unsigned32,
        qtechHQoSTPolicyMapPrecedence        Unsigned32,
        qtechHQoSTPolicyMapRowStatus         RowStatus
        }

    qtechHQoSTPolicyMapIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "Traffic policy map entry index."
        ::= { qtechHQoSTPolicyMapEntry 1 }
        
    qtechHQoSTPolicyMapPolicyName OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (0..32))
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Traffic policy entry name."
       ::= { qtechHQoSTPolicyMapEntry 2 }
       
    qtechHQoSTPolicyMapPolicyIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic policy entry index."
        ::=  { qtechHQoSTPolicyMapEntry 3 }

    qtechHQoSTPolicyMapTClassfierName OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (0..32))
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Traffic classifier entry name."
       ::= { qtechHQoSTPolicyMapEntry 4 }
       
    qtechHQoSTPolicyMapTClassfierIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier entry index."
        ::=  { qtechHQoSTPolicyMapEntry 5 }

    qtechHQoSTPolicyMapTBehaviorName OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (0..32))
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "Traffic behavior entry name."
       ::= { qtechHQoSTPolicyMapEntry 6 }
       
    qtechHQoSTPolicyMapTBehaviorIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic behavior entry index."
        ::=  { qtechHQoSTPolicyMapEntry 7 }

    qtechHQoSTPolicyMapPrecedence OBJECT-TYPE
        SYNTAX    Unsigned32(1..200)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Precedence of traffic Policy. Set by user."
        ::=  { qtechHQoSTPolicyMapEntry 8 }

    qtechHQoSTPolicyMapRowStatus OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, 
             qtechHQoSTPolicyMapPolicyName,qtechHQoSTPolicyMapTClassfierName
             qtechHQoSTPolicyMapTBehaviorName
             objects in this row can not be modified."

        ::=  { qtechHQoSTPolicyMapEntry 9 }
-- end of policy entry

-- start of VoQ
    qtechHQoSVoQEnable OBJECT-TYPE
        SYNTAX                TruthValue
        MAX-ACCESS            read-write
        STATUS                current
        DESCRIPTION
            "Config VoQ of device."
        DEFVAL {false}
        ::= { qtechHQoSVoQObjects 1}

    qtechHQoSVoQDeviceTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSVoQDeviceEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
         "Device credite table."
         ::= { qtechHQoSVoQObjects 2 }
       
    qtechHQoSVoQDeviceEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSVoQDeviceEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the device credite information."
        INDEX  { qtechHQoSVoQDeviceId }
        ::= { qtechHQoSVoQDeviceTable 1 }

  QtechHQoSVoQDeviceEntry ::= SEQUENCE {
        qtechHQoSVoQDeviceId                 Unsigned32,
        qtechHQoSVoQDeviceCredit             Unsigned32
        }

    qtechHQoSVoQDeviceId OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "Device ID, devid=slot*3+subslot."
        ::= { qtechHQoSVoQDeviceEntry 1 } 

    qtechHQoSVoQDeviceCredit OBJECT-TYPE
        SYNTAX   Unsigned32
        UNITS "Mbit/s"
        MAX-ACCESS            read-write
        STATUS                current
        DESCRIPTION
            "Credite of this device."
        ::= { qtechHQoSVoQDeviceEntry 2 }
-- end of VoQ

-- Next free index in qtechHQoSFlowQTable.
    qtechHQoSPortQIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for qtechHQoSPortQIndex when creating entries in the
           qtechHQoSPortQTable. The value 0 indicates that no
           unassigned entries are available."
        ::= { qtechHQoSPortQObjects 1 }

    qtechHQoSPortQTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSPortQEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
         "Port queue table."
         ::= { qtechHQoSPortQObjects 2 }
       
    qtechHQoSPortQEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSPortQEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the port queue information."
        INDEX  { qtechHQoSPortQIndex }
        ::= { qtechHQoSPortQTable 1 }

  QtechHQoSPortQEntry ::= SEQUENCE {
        qtechHQoSPortQIndex               Unsigned32,
        qtechHQoSPortQName                OCTET STRING,
        qtechHQoSPortQRowStatus           RowStatus,
        qtechHQoSPortQBEQType             QtechQType,
        qtechHQoSPortQBEQWredWeight       INTEGER,
        qtechHQoSPortQBEQWredName         OCTET STRING,
        qtechHQoSPortQBEQDepth            INTEGER,
        qtechHQoSPortQBEQShaping          INTEGER, 
        qtechHQoSPortQAF1QType             QtechQType,
        qtechHQoSPortQAF1QWredWeight       INTEGER,
        qtechHQoSPortQAF1QWredName         OCTET STRING,
        qtechHQoSPortQAF1QDepth            INTEGER,
        qtechHQoSPortQAF1QShaping          INTEGER,
        qtechHQoSPortQAF2QType             QtechQType,
        qtechHQoSPortQAF2QWredWeight       INTEGER,
        qtechHQoSPortQAF2QWredName         OCTET STRING,
        qtechHQoSPortQAF2QDepth            INTEGER,
        qtechHQoSPortQAF2QShaping          INTEGER,
        qtechHQoSPortQAF3QType             QtechQType,
        qtechHQoSPortQAF3QWredWeight       INTEGER,
        qtechHQoSPortQAF3QWredName         OCTET STRING,
        qtechHQoSPortQAF3QDepth            INTEGER,
        qtechHQoSPortQAF3QShaping          INTEGER,
        qtechHQoSPortQAF4QType             QtechQType,
        qtechHQoSPortQAF4QWredWeight       INTEGER,
        qtechHQoSPortQAF4QWredName         OCTET STRING,
        qtechHQoSPortQAF4QDepth            INTEGER,
        qtechHQoSPortQAF4QShaping          INTEGER,
        qtechHQoSPortQEFQType             QtechQType,
        qtechHQoSPortQEFQWredWeight       INTEGER,
        qtechHQoSPortQEFQWredName         OCTET STRING,
        qtechHQoSPortQEFQDepth            INTEGER,
        qtechHQoSPortQEFQShaping          INTEGER,
        qtechHQoSPortQCS6QType             QtechQType,
        qtechHQoSPortQCS6QWredWeight       INTEGER,
        qtechHQoSPortQCS6QWredName         OCTET STRING,
        qtechHQoSPortQCS6QDepth            INTEGER,
        qtechHQoSPortQCS6QShaping          INTEGER,
        qtechHQoSPortQCS7QType             QtechQType,
        qtechHQoSPortQCS7QWredWeight       INTEGER,
        qtechHQoSPortQCS7QWredName         OCTET STRING,
        qtechHQoSPortQCS7QDepth            INTEGER,
        qtechHQoSPortQCS7QShaping          INTEGER
     }

    qtechHQoSPortQIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "Index of port queue."
        ::= { qtechHQoSPortQEntry 1 }

  qtechHQoSPortQName OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (0..32))
     MAX-ACCESS    read-create
     STATUS        current
     DESCRIPTION
         "Port queue name."
     ::= { qtechHQoSPortQEntry 2 }

    qtechHQoSPortQRowStatus OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, 
             qtechHQoSPortQName
             objects in this row can not be modified."
        ::=  { qtechHQoSPortQEntry 3 }
 
    qtechHQoSPortQBEQType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue BEQ type."
        DEFVAL { q-wfq }
        ::= { qtechHQoSPortQEntry 4 }  
                
    qtechHQoSPortQBEQWredWeight OBJECT-TYPE
        SYNTAX   INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue BEQ to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSPortQEntry 5 } 
        
    qtechHQoSPortQBEQWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue BEQ to wfq wred name."
        ::= { qtechHQoSPortQEntry 6 }

    qtechHQoSPortQBEQDepth OBJECT-TYPE
        SYNTAX   INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue BEQ to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSPortQEntry 7 } 

    qtechHQoSPortQBEQShaping OBJECT-TYPE
        SYNTAX   INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue BEQ total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSPortQEntry 8 } 

    qtechHQoSPortQAF1QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF1 type."
        DEFVAL { q-wfq }
        ::= { qtechHQoSPortQEntry 9 }  
                
    qtechHQoSPortQAF1QWredWeight OBJECT-TYPE
        SYNTAX   INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF1 to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSPortQEntry 10 } 
        
    qtechHQoSPortQAF1QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF1 to wfq wred name."
        ::= { qtechHQoSPortQEntry 11 }

    qtechHQoSPortQAF1QDepth OBJECT-TYPE
        SYNTAX  INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF1 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSPortQEntry 12 } 

    qtechHQoSPortQAF1QShaping OBJECT-TYPE
        SYNTAX   INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF1 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSPortQEntry 13 } 
        
    qtechHQoSPortQAF2QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF2 type."
        DEFVAL { q-wfq }
        ::= { qtechHQoSPortQEntry 14 }  
                
    qtechHQoSPortQAF2QWredWeight OBJECT-TYPE
        SYNTAX  INTEGER(1..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF2 to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSPortQEntry 15 } 
        
    qtechHQoSPortQAF2QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF2 to wfq wred name."
        ::= { qtechHQoSPortQEntry 16 }

    qtechHQoSPortQAF2QDepth OBJECT-TYPE
        SYNTAX  INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF2 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSPortQEntry 17 } 

    qtechHQoSPortQAF2QShaping OBJECT-TYPE
        SYNTAX    INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF2 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSPortQEntry 18 } 
                
     qtechHQoSPortQAF3QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF3 type."
        DEFVAL { q-wfq }
        ::= { qtechHQoSPortQEntry 19 }  
                
    qtechHQoSPortQAF3QWredWeight OBJECT-TYPE
        SYNTAX  INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF3 to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSPortQEntry 20 } 
        
    qtechHQoSPortQAF3QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF3 to wfq wred name."
        ::= { qtechHQoSPortQEntry 21 }

    qtechHQoSPortQAF3QDepth OBJECT-TYPE
        SYNTAX   INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue BEQ to wfq depth."
        DEFVAL {200 }
        ::= { qtechHQoSPortQEntry 22 } 

    qtechHQoSPortQAF3QShaping OBJECT-TYPE
        SYNTAX  INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF3 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSPortQEntry 23 } 
            
     qtechHQoSPortQAF4QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF4 type."
        DEFVAL { q-wfq }
        ::= { qtechHQoSPortQEntry 24 }  
                
    qtechHQoSPortQAF4QWredWeight OBJECT-TYPE
        SYNTAX  INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF4 to wfq wred weight."
        DEFVAL { 10 }
        ::= { qtechHQoSPortQEntry 25 } 
        
    qtechHQoSPortQAF4QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF4 to wfq wred name."
        ::= { qtechHQoSPortQEntry 26 }

    qtechHQoSPortQAF4QDepth OBJECT-TYPE
        SYNTAX  INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF4 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSPortQEntry 27 } 

    qtechHQoSPortQAF4QShaping OBJECT-TYPE
        SYNTAX  INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue AF4 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSPortQEntry 28 }
         
     qtechHQoSPortQEFQType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue EF type."
        DEFVAL { q-pq }
        ::= { qtechHQoSPortQEntry 29 }  
                
    qtechHQoSPortQEFQWredWeight OBJECT-TYPE
        SYNTAX    INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue EF to wfq wred weight."
        DEFVAL { 15 }
        ::= { qtechHQoSPortQEntry 30 } 
        
    qtechHQoSPortQEFQWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue EF to wfq wred name."
        ::= { qtechHQoSPortQEntry 31 }

    qtechHQoSPortQEFQDepth OBJECT-TYPE
        SYNTAX INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue EF to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSPortQEntry 32 } 

    qtechHQoSPortQEFQShaping OBJECT-TYPE
        SYNTAX  INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue EF total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSPortQEntry 33 } 
        
     qtechHQoSPortQCS6QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue CS6 type."
        DEFVAL { q-pq }
        ::= { qtechHQoSPortQEntry 34 }  
                
    qtechHQoSPortQCS6QWredWeight OBJECT-TYPE
        SYNTAX  INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue CS6 to wfq wred weight."
        DEFVAL { 15 }
        ::= { qtechHQoSPortQEntry 35 } 
        
    qtechHQoSPortQCS6QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue CS6 to wfq wred name."
        ::= { qtechHQoSPortQEntry 36 }

    qtechHQoSPortQCS6QDepth OBJECT-TYPE
        SYNTAX   INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue CS6 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSPortQEntry 37 } 

    qtechHQoSPortQCS6QShaping OBJECT-TYPE
        SYNTAX  INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue CS6 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSPortQEntry 38 }
        
     qtechHQoSPortQCS7QType OBJECT-TYPE
        SYNTAX QtechQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue CS7 type."
        DEFVAL { q-pq }
        ::= { qtechHQoSPortQEntry 39 }  
                
    qtechHQoSPortQCS7QWredWeight OBJECT-TYPE
        SYNTAX   INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue CS7 to wfq wred weight."
        DEFVAL { 15 }
        ::= { qtechHQoSPortQEntry 40 } 
        
    qtechHQoSPortQCS7QWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue CS7 to wfq wred name."
        ::= { qtechHQoSPortQEntry 41 }

    qtechHQoSPortQCS7QDepth OBJECT-TYPE
        SYNTAX   INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue CS7 to wfq depth."
        DEFVAL { 200 }
        ::= { qtechHQoSPortQEntry 42 } 

    qtechHQoSPortQCS7QShaping OBJECT-TYPE
        SYNTAX  INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue CS7 total bandwidth."
        DEFVAL { 10000000 }
        ::= { qtechHQoSPortQEntry 43 }
-- end of port queue

-- start of HQoS interface application object
    qtechHQoSIfAppTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF QtechHQoSIfAppEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
         "The HQoS config with this table."
         ::= { qtechHQoSIfAppObjects 1 }
       
    qtechHQoSIfAppEntry   OBJECT-TYPE
        SYNTAX        QtechHQoSIfAppEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the interface HQoS config information."
        INDEX  { qtechHQoSIfAppIndex }
        ::= { qtechHQoSIfAppTable 1 }

  QtechHQoSIfAppEntry ::= SEQUENCE {
        qtechHQoSIfAppIndex             InterfaceIndex,
        qtechHQoSIfAppInPolicyName      OCTET STRING,
        qtechHQoSIfAppInPolicyIndex     Unsigned32,
        qtechHQoSIfAppInPolicyLayer     QtechLayerType,       
        qtechHQoSIfAppOutPolicyName     OCTET STRING,
        qtechHQoSIfAppOutPolicyIndex    Unsigned32,
        qtechHQoSIfAppOutPolicyLayer    QtechLayerType,  
        qtechHQoSIfAppPortQueueName     OCTET STRING,
        qtechHQoSIfAppPortQueueIndex    Unsigned32, 
        qtechHQoSIfAppPortQueueShaping  INTEGER
        }

    qtechHQoSIfAppIndex OBJECT-TYPE
        SYNTAX                InterfaceIndex
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
            "Interface index ."
        ::= { qtechHQoSIfAppEntry 1 } 

    qtechHQoSIfAppInPolicyName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-write
        STATUS                current
        DESCRIPTION
            "Inbound policy name with this interface."
        ::= { qtechHQoSIfAppEntry 2 }

    qtechHQoSIfAppInPolicyIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
            "Inbound policy index with this interface."
        ::= { qtechHQoSIfAppEntry 3 }

    qtechHQoSIfAppInPolicyLayer OBJECT-TYPE
        SYNTAX                QtechLayerType
        MAX-ACCESS            read-write
        STATUS                current
        DESCRIPTION
            "Inbound policy layer with this interface."
        DEFVAL {all-layer}
        ::= { qtechHQoSIfAppEntry 4 }

    qtechHQoSIfAppOutPolicyName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-write
        STATUS                current
        DESCRIPTION
            "Outbound policy name with this interface."
        ::= { qtechHQoSIfAppEntry 5 }

    qtechHQoSIfAppOutPolicyIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
            "Outbound policy index with this interface."
        ::= { qtechHQoSIfAppEntry 6 }

    qtechHQoSIfAppOutPolicyLayer OBJECT-TYPE
        SYNTAX                QtechLayerType
        MAX-ACCESS            read-write
        STATUS                current
        DESCRIPTION
            "Outbound policy layer with this interface."
        DEFVAL {all-layer}
        ::= { qtechHQoSIfAppEntry 7 }

    qtechHQoSIfAppPortQueueName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-write
        STATUS                current
        DESCRIPTION
            "Port queue name with this interface."
        ::= { qtechHQoSIfAppEntry 8 }

    qtechHQoSIfAppPortQueueIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
            "Port queue index with this interface."
        ::= { qtechHQoSIfAppEntry 9 }

    qtechHQoSIfAppPortQueueShaping OBJECT-TYPE
        SYNTAX   INTEGER(0..10000000)
        UNITS          "kilobits per second"
        MAX-ACCESS            read-write
        STATUS                current
        DESCRIPTION
            "Port queue total bandwidth with this interface."
        DEFVAL {10000000}
        ::= { qtechHQoSIfAppEntry 10 }
-- end of HQoS interface appliction table

END
-- End module

