-- ****************************************************************
-- FS Class-Based QoS Configuration and Statistics MIB
--   
-- March 2012, Luo Junxin
--   
-- Copyright (c) 2012 by FS.COM Inc..
-- All rights reserved.
--   
-- ****************************************************************




-- Start module
FS-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
    fsMgmt
        FROM FS-SMI;
-- End external defined node


-- Start root node
fsRouterQoSMIB MODULE-IDENTITY
        LAST-UPDATED "201202270000Z"
        ORGANIZATION "FS.COM Inc.."
        CONTACT-INFO
                " 
                                E-mail: https://www.fs.com/live_chat_service_mail.html"
        DESCRIPTION
                "This module defines fs QoS(Quality of Service) mibs."

        REVISION    "201112200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 106}
        
        FSCosType ::= 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)
                 }

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

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

       FSLayerType ::= TEXTUAL-CONVENTION
          STATUS  current
          DESCRIPTION
             "Layer type to apply match rule."
          SYNTAX INTEGER {
                     l3-layer(0),
                     link-layer(1),
                     all-layer(2)
                     }
                     
-- End root node
  
        fsCBQoSMIBObjects OBJECT IDENTIFIER ::= { fsRouterQoSMIB 1 }
        fsIfQoSMIBObjects OBJECT IDENTIFIER ::= { fsRouterQoSMIB 2 }
        fsHQoSMIBObjects  OBJECT IDENTIFIER ::= { fsRouterQoSMIB 3 }

-- CBQoS MIB    


-- Node definitions
        
--  Interface: policy Running statistics information
        fsCBQoSIfStaticsObjects OBJECT IDENTIFIER ::= { fsCBQoSMIBObjects  1 }

        
--  Interface CBWFQ statistics
        fsCBQoSIfCbwfqRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF FSCBQoSIfCbwfqRunInfoEntry
            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."
            ::= { fsCBQoSIfStaticsObjects 1 }
        
        fsCBQoSIfCbwfqRunInfoEntry OBJECT-TYPE
            SYNTAX FSCBQoSIfCbwfqRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Interface CBWFQ statistics entry."
            INDEX { fsCBQoSIfCbwfqPolicyIfIndex }
            ::= { fsCBQoSIfCbwfqRunInfoTable 1 }
        
        FSCBQoSIfCbwfqRunInfoEntry ::=
            SEQUENCE { 
            	fsCBQoSIfCbwfqPolicyIfIndex
            		Integer32,
                fsCBQoSIfCbwfqQueueSize
                    Integer32,
                fsCBQoSIfCbwfqDiscard
                    Counter64,
                fsCBQoSIfCbwfqEfQueueSize
                    Integer32,
                fsCBQoSIfCbwfqAfQueueSize
                    Integer32,
                fsCBQoSIfCbwfqBeQueueSize
                    Integer32,
                fsCBQoSIfCbwfqBeActiveQueueNum
                    Integer32,
                fsCBQoSIfCbwfqBeMaxActiveQueueNum
                    Integer32,
                fsCBQoSIfCbwfqBeTotalQueueNum
                    Integer32,
                fsCBQoSIfCbwfqAfAllocatedQueueNum
                    Integer32,
                fsCBQoSIfCbwfqPass
                    Counter64,
                fsCBQoSIfCbwfqDroppedRateIn5Min
                    Integer32,
                fsCBQoSIfCbwfqPassBytes  
                    Counter64, 
                fsCBQoSIfCbwfqDiscardBytes
                   Counter64      
             }
             
        fsCBQoSIfCbwfqPolicyIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The interface index"
            ::= { fsCBQoSIfCbwfqRunInfoEntry 1 }
            
        fsCBQoSIfCbwfqQueueSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Queue size of CBWFQ"
            ::= { fsCBQoSIfCbwfqRunInfoEntry 2 }
        
        fsCBQoSIfCbwfqDiscard OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of discarded packets which coundn't be enqueued."
            ::= { fsCBQoSIfCbwfqRunInfoEntry 3 }
        
        fsCBQoSIfCbwfqEfQueueSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Queue size of EF"
            ::= { fsCBQoSIfCbwfqRunInfoEntry 4 }
        
        fsCBQoSIfCbwfqAfQueueSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Queue size of AF"
            ::= { fsCBQoSIfCbwfqRunInfoEntry 5}
        
        fsCBQoSIfCbwfqBeQueueSize OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Queue size of BE"
            ::= { fsCBQoSIfCbwfqRunInfoEntry 6 }
        
        fsCBQoSIfCbwfqBeActiveQueueNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the number of Active Be Queue"
            ::= { fsCBQoSIfCbwfqRunInfoEntry 7 }
        
        fsCBQoSIfCbwfqBeMaxActiveQueueNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the max number of Active Be Queue"
            ::= { fsCBQoSIfCbwfqRunInfoEntry 8 }
        
        fsCBQoSIfCbwfqBeTotalQueueNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the total number of Be Queue"
            ::= { fsCBQoSIfCbwfqRunInfoEntry 9 }
        
        fsCBQoSIfCbwfqAfAllocatedQueueNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the Allocated number of Af Queue"
            ::= { fsCBQoSIfCbwfqRunInfoEntry 10 }
 
        fsCBQoSIfCbwfqPass OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of pass packets ."
            ::= { fsCBQoSIfCbwfqRunInfoEntry 11 }

 		fsCBQoSIfCbwfqDroppedRateIn5Min OBJECT-TYPE
            SYNTAX Integer32 (0..100)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Rate of dropped packets in five minite."
            ::= { fsCBQoSIfCbwfqRunInfoEntry 12 }   

        fsCBQoSIfCbwfqPassBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of pass packets ."
            ::= { fsCBQoSIfCbwfqRunInfoEntry 13 }
 
        fsCBQoSIfCbwfqDiscardBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of discarded packets which coundn't be enqueued."
            ::= { fsCBQoSIfCbwfqRunInfoEntry 14 }

                    
--  Class match statistics
        fsCBQoSIfClassMatchRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF FSCBQoSIfClassMatchRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for matching a classifier
                in a QoS policy applied on the interface."
            ::= { fsCBQoSIfStaticsObjects 2 }
        
        fsCBQoSIfClassMatchRunInfoEntry OBJECT-TYPE
            SYNTAX FSCBQoSIfClassMatchRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Classifier's matching statistics information entry."
            INDEX { fsCBQoSIfClassMatchIfIndex, fsCBQoSIfClassMatchPolicyDirection, fsCBQoSIfClassMatchClassIndex }
            ::= { fsCBQoSIfClassMatchRunInfoTable 1 }
        
        FSCBQoSIfClassMatchRunInfoEntry ::=
            SEQUENCE { 
            	fsCBQoSIfClassMatchIfIndex
            		Integer32,
            	fsCBQoSIfClassMatchPolicyDirection
            		INTEGER,
            	fsCBQoSIfClassMatchClassIndex
            		Integer32,
                fsCBQoSIfClassMatchedPackets
                    Counter64,
                fsCBQoSIfClassMatchedBytes
                    Counter64,
                fsCBQosIfClassPassedPackets
                    Counter64,
                fsCBQosIfClassDroppedPackets
                    Counter64,
                fsCBQoSIfPolicyName
                    OCTET STRING,
                 fsCBQoSIfClassName
                    OCTET STRING,
                fsCBQoSIfClassPassBytes
                    Counter64,
                fsCBQoSIfClassDiscardBytes
                    Counter64   
             }

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

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

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

        fsCBQoSIfClassMatchedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes matching a class in a QoS policy."
            ::= { fsCBQoSIfClassMatchRunInfoEntry 5 }
        
		fsCBQosIfClassPassedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of passed packets matching a class in a QoS policy."
            ::= { fsCBQoSIfClassMatchRunInfoEntry 6 }
      
		fsCBQosIfClassDroppedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of dropped packets matching a class in a QoS policy."
            ::= { fsCBQoSIfClassMatchRunInfoEntry 7 }      
                
        fsCBQoSIfPolicyName OBJECT-TYPE
            SYNTAX        OCTET STRING (SIZE (0..32))
            MAX-ACCESS    read-only
            STATUS        current
            DESCRIPTION
            "The classifier in this interface."
            ::= { fsCBQoSIfClassMatchRunInfoEntry 8 }
  
        fsCBQoSIfClassName OBJECT-TYPE
            SYNTAX        OCTET STRING (SIZE (0..32))
            MAX-ACCESS    read-only
            STATUS        current
            DESCRIPTION
            "The policy in this interface."
            ::= { fsCBQoSIfClassMatchRunInfoEntry 9 }  
            
        fsCBQoSIfClassPassBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of pass packets ."
            ::= { fsCBQoSIfClassMatchRunInfoEntry 10 }
 
        fsCBQoSIfClassDiscardBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The bytes of discarded packets which coundn't be enqueued."
            ::= { fsCBQoSIfClassMatchRunInfoEntry 11 }

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

    	fsCBQoSIfCarRunInfoEntry OBJECT-TYPE
	        SYNTAX FSCBQoSIfCarRunInfoEntry
	        MAX-ACCESS not-accessible
	        STATUS current
	        DESCRIPTION
	            "CAR statistics information entry."
	        INDEX { fsCBQoSIfCarIfIndex, fsCBQoSIfCarPolicyDirection, fsCBQoSIfCarClassIndex }
	        ::= { fsCBQoSIfCarRunInfoTable 1 }
        
        FSCBQoSIfCarRunInfoEntry ::=
            SEQUENCE { 
            	fsCBQoSIfCarIfIndex
            		Integer32,
            	fsCBQoSIfCarPolicyDirection
            		INTEGER,
            	fsCBQoSIfCarClassIndex
            		Integer32,
                fsCBQoSIfCarConformedPackets
                    Counter64,
                fsCBQoSIfCarConformedBytes
                    Counter64,
                fsCBQoSIfCarExceededPackets
                    Counter64,
                fsCBQoSIfCarExceededBytes
                    Counter64,
                fsCBQoSIfCarViolatedPackets
                    Counter64,
                fsCBQoSIfCarViolatedBytes
                    Counter64
             }

        fsCBQoSIfCarIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the interface index"
            ::= { fsCBQoSIfCarRunInfoEntry 1 }
        
        fsCBQoSIfCarPolicyDirection OBJECT-TYPE         
            SYNTAX INTEGER
            	{
            	input(1),
            	output(2)
            	}
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the direction of policy-map."
            ::= { fsCBQoSIfCarRunInfoEntry 2 }
        
        fsCBQoSIfCarClassIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "class index in the policy-map."
            ::= { fsCBQoSIfCarRunInfoEntry 3 }
        
        fsCBQoSIfCarConformedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "packets of conformed"
            ::= { fsCBQoSIfCarRunInfoEntry 4 }
        
        fsCBQoSIfCarConformedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "bytes of conformed"
            ::= { fsCBQoSIfCarRunInfoEntry 5 }
        
        fsCBQoSIfCarExceededPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "packets of exceeded"
            ::= { fsCBQoSIfCarRunInfoEntry 6 }
        
        fsCBQoSIfCarExceededBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "bytes of exceeded"
            ::= { fsCBQoSIfCarRunInfoEntry 7 }
        
        fsCBQoSIfCarViolatedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "packets of violated"
            ::= { fsCBQoSIfCarRunInfoEntry 8 }
        
        fsCBQoSIfCarViolatedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "bytes of violated"
            ::= { fsCBQoSIfCarRunInfoEntry 9 }

                  
--  Remark statistics
        fsCBQoSIfRemarkRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF FSCBQoSIfRemarkRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for remarking in a QoS policy applied on the interface."
            ::= { fsCBQoSIfStaticsObjects 4 }
        
        fsCBQoSIfRemarkRunInfoEntry OBJECT-TYPE
            SYNTAX FSCBQoSIfRemarkRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Remarking statistics entry."
            INDEX { fsCBQoSIfRemarkIfIndex, fsCBQoSIfRemarkPolicyDirection, fsCBQoSIfRemarkClassIndex }
            ::= { fsCBQoSIfRemarkRunInfoTable 1 }
        
        FSCBQoSIfRemarkRunInfoEntry ::=
            SEQUENCE { 
            	fsCBQoSIfRemarkIfIndex
            		Integer32,
            	fsCBQoSIfRemarkPolicyDirection
            		INTEGER,
            	fsCBQoSIfRemarkClassIndex
            		Integer32,
                fsCBQoSIfRemarkedPackets
                    Counter64,
                fsCBQoSIfRemarkedBytes
                    Counter64
             }

        fsCBQoSIfRemarkIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the interface index"
            ::= { fsCBQoSIfRemarkRunInfoEntry 1 }
        
        fsCBQoSIfRemarkPolicyDirection OBJECT-TYPE
            SYNTAX INTEGER
            	{
            	input(1),
            	output(2)
            	}
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the direction of policy-map."
            ::= { fsCBQoSIfRemarkRunInfoEntry 2 }
        
        fsCBQoSIfRemarkClassIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "class index in the policy-map."
            ::= { fsCBQoSIfRemarkRunInfoEntry 3 }
            
        fsCBQoSIfRemarkedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets remarked."
            ::= { fsCBQoSIfRemarkRunInfoEntry 4 }
        
        fsCBQoSIfRemarkedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes remarked."
            ::= { fsCBQoSIfRemarkRunInfoEntry 5 }

        
--  Queue statistics
        fsCBQoSIfQueueRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF FSCBQoSIfQueueRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for queue in a QoS policy applied on the interface."
            ::= { fsCBQoSIfStaticsObjects 5 }
        
        fsCBQoSIfQueueRunInfoEntry OBJECT-TYPE
            SYNTAX FSCBQoSIfQueueRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Queue statistics entry."
            INDEX { fsCBQoSIfQueueIfIndex, fsCBQoSIfQueuePolicyDirection, fsCBQoSIfQueueClassIndex }
            ::= { fsCBQoSIfQueueRunInfoTable 1 }
        
        FSCBQoSIfQueueRunInfoEntry ::=
            SEQUENCE { 
            	fsCBQoSIfQueueIfIndex
            		Integer32,
            	fsCBQoSIfQueuePolicyDirection
            		INTEGER,
            	fsCBQoSIfQueueClassIndex
            		Integer32,
                fsCBQoSIfQueueMatchedPackets
                    Counter64,
                fsCBQoSIfQueueMatchedBytes
                    Counter64,
                fsCBQoSIfQueueEnqueuedPackets
                    Counter64,
                fsCBQoSIfQueueEnqueuedBytes
                    Counter64,
                fsCBQoSIfQueueDiscardedPackets
                    Counter64,
                fsCBQoSIfQueueDiscardedBytes
                    Counter64
             }

        fsCBQoSIfQueueIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the interface index"
            ::= { fsCBQoSIfQueueRunInfoEntry 1 }
        
        fsCBQoSIfQueuePolicyDirection OBJECT-TYPE
            SYNTAX INTEGER
            	{
            	input(1),
            	output(2)
            	}			
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the direction of policy-map."
            ::= { fsCBQoSIfQueueRunInfoEntry 2 }
        
        fsCBQoSIfQueueClassIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "class index in the policy-map."
            ::= { fsCBQoSIfQueueRunInfoEntry 3 }
            
        fsCBQoSIfQueueMatchedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets matched to enqueue."
            ::= { fsCBQoSIfQueueRunInfoEntry 4 }
        
        fsCBQoSIfQueueMatchedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes matched to enqueue."
            ::= { fsCBQoSIfQueueRunInfoEntry 5 }
        
        fsCBQoSIfQueueEnqueuedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets enqueued."
            ::= { fsCBQoSIfQueueRunInfoEntry 6 }
        
        fsCBQoSIfQueueEnqueuedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes enqueued."
            ::= { fsCBQoSIfQueueRunInfoEntry 7 }
        
        fsCBQoSIfQueueDiscardedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets discarded when enqueued by discard method."
            ::= { fsCBQoSIfQueueRunInfoEntry 8 }
        
        fsCBQoSIfQueueDiscardedBytes OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bytes discarded when enqueued by discard method."
            ::= { fsCBQoSIfQueueRunInfoEntry 9 }

        
--  WRED statistics
        fsCBQoSIfWredRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF FSCBQoSIfWredRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for WRED in a QoS policy applied on the interface."
            ::= { fsCBQoSIfStaticsObjects 6 }
        
        fsCBQoSIfWredRunInfoEntry OBJECT-TYPE
            SYNTAX FSCBQoSIfWredRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "WRED statistics entry."
            INDEX { fsCBQoSIfWredIfIndex, fsCBQoSIfWredClassIndex, fsCBQoSIfWredClassValue }
            ::= { fsCBQoSIfWredRunInfoTable 1 }
        
        FSCBQoSIfWredRunInfoEntry ::=
            SEQUENCE { 
            	fsCBQoSIfWredIfIndex
            		Integer32,
            	fsCBQoSIfWredClassIndex
            		Integer32,
            	fsCBQoSIfWredClassValue
            		Integer32,
                fsCBQoSIfWredRandomDiscardedPackets
                    Counter64,
                fsCBQoSIfWredTailDiscardedPackets
                    Counter64
            }

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

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

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

-- End CBQoS MIB



-- Begin IF QoS MIB

-- qos pq / display qos pq interface   6                
    fsIfQosPQRunInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfQosPQRunInfoEntry
        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."
        ::= { fsIfQoSMIBObjects 1 }

    fsIfQosPQRunInfoEntry OBJECT-TYPE
        SYNTAX FSIfQosPQRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "PQ configuration and running infomation"
        INDEX { fsIfQosPQIfIndex }
        ::= { fsIfQosPQRunInfoTable 1 }

            
    FSIfQosPQRunInfoEntry ::=
        SEQUENCE { 
            fsIfQosPQIfIndex
                Integer32,
            fsIfQosPQListNum
                Integer32,
            fsIfQosPQIfName
                OCTET STRING,
            fsIfQosPQHighPkt
                Integer32,
            fsIfQosPQHighDiscard
                Counter32,
            fsIfQosPQHighMaxQueLen
                Integer32,
            fsIfQosPQMiddlePkt
                Integer32,
            fsIfQosPQMiddleDiscard
                Counter32,
            fsIfQosPQMiddleMaxQueLen
                Integer32,
            fsIfQosPQNormalPkt
                Integer32,
            fsIfQosPQNormalDiscard
                Counter32,
            fsIfQosPQNormalMaxQueLen
                Integer32,
            fsIfQosPQLowPkt
                Integer32,
            fsIfQosPQLowDiscard
                Counter32,
            fsIfQosPQLowMaxQueLen
                Integer32
        }

    fsIfQosPQIfIndex 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."
        ::= { fsIfQosPQRunInfoEntry 1 }

    fsIfQosPQListNum 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."
        ::= { fsIfQosPQRunInfoEntry 2 }

    fsIfQosPQIfName 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."
        ::= { fsIfQosPQRunInfoEntry 3 }

    fsIfQosPQHighPkt 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."
        ::= { fsIfQosPQRunInfoEntry 4 }

    fsIfQosPQHighDiscard 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."
        ::= { fsIfQosPQRunInfoEntry 5 }

    fsIfQosPQHighMaxQueLen 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."
        ::= { fsIfQosPQRunInfoEntry 6 }

    fsIfQosPQMiddlePkt 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."
        ::= { fsIfQosPQRunInfoEntry 7 }

    fsIfQosPQMiddleDiscard 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."
        ::= { fsIfQosPQRunInfoEntry 8 }

    fsIfQosPQMiddleMaxQueLen 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."
        ::= { fsIfQosPQRunInfoEntry 9 }

    fsIfQosPQNormalPkt 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."
        ::= { fsIfQosPQRunInfoEntry 10 }

    fsIfQosPQNormalDiscard 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."
        ::= { fsIfQosPQRunInfoEntry 11 }

    fsIfQosPQNormalMaxQueLen 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."
        ::= { fsIfQosPQRunInfoEntry 12 }

    fsIfQosPQLowPkt 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."
        ::= { fsIfQosPQRunInfoEntry 13 }

    fsIfQosPQLowDiscard 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."
        ::= { fsIfQosPQRunInfoEntry 14 }

    fsIfQosPQLowMaxQueLen 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."
        ::= { fsIfQosPQRunInfoEntry 15 }

  
-- display qos cq interface   2                
    fsIfQosCQRunInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfQosCQRunInfoEntry
        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."
        ::= { fsIfQoSMIBObjects 2 }

    fsIfQosCQRunInfoEntry OBJECT-TYPE
        SYNTAX FSIfQosCQRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "CQ running infomation"
        INDEX { fsIfQosCQRunInfoIfIndex, fsIfQosCQRunInfoQueNum }
        ::= { fsIfQosCQRunInfoTable 1 }
            
    FSIfQosCQRunInfoEntry ::=
        SEQUENCE { 
            fsIfQosCQRunInfoIfIndex
                Integer32,
            fsIfQosCQRunInfoQueNum
                Integer32,
            fsIfQosCQRunInfoIfName
                OCTET STRING,
            fsIfQosCQRunInfoQuePkt
                Integer32,
            fsIfQosCQRunInfoQueDiscard
                Counter32,
            fsIfQosCQRunInfoMaxQueLen
                Integer32
        }

    fsIfQosCQRunInfoIfIndex 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."
        ::= { fsIfQosCQRunInfoEntry 1 }

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

    fsIfQosCQRunInfoIfName 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."
        ::= { fsIfQosCQRunInfoEntry 3 }

    fsIfQosCQRunInfoQuePkt 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."
        ::= { fsIfQosCQRunInfoEntry 4 }

    fsIfQosCQRunInfoQueDiscard 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."
        ::= { fsIfQosCQRunInfoEntry 5 }

     fsIfQosCQRunInfoMaxQueLen 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."
        ::= { fsIfQosCQRunInfoEntry 6 }


-- qos wfq / display qos wfq interface  13  
    fsIfQosWFQRunInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfQosWFQRunInfoEntry
        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."
        ::= { fsIfQoSMIBObjects 3 }

    fsIfQosWFQRunInfoEntry OBJECT-TYPE
        SYNTAX FSIfQosWFQRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "WFQ configuration and running infomation"
        INDEX { fsIfQosWFQIfIndex }
        ::= { fsIfQosWFQRunInfoTable 1 }
            
    FSIfQosWFQRunInfoEntry ::=
        SEQUENCE { 
            fsIfQosWFQIfIndex
                Integer32,
            fsIfQosWFQIfName
                OCTET STRING,
            fsIfQosWFQMaxQueLen
                Integer32,
            fsIfQosWFQTotalQueNum
                INTEGER,
            fsIfQosWFQCurQueLen
                Integer32,
            fsIfQosWFQTotalDiscard
                Counter32,
            fsIfQosWFQActiveQueNum
                Integer32,
            fsIfQosWFQMaxActiveQueNum
                Integer32
        }

    fsIfQosWFQIfIndex 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."
        ::= { fsIfQosWFQRunInfoEntry 1 }

    fsIfQosWFQIfName 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."
        ::= { fsIfQosWFQRunInfoEntry 2 }

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

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

    fsIfQosWFQCurQueLen 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."
        ::= { fsIfQosWFQRunInfoEntry 5 }

    fsIfQosWFQTotalDiscard 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."
        ::= { fsIfQosWFQRunInfoEntry 6 }

    fsIfQosWFQActiveQueNum 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."
        ::= { fsIfQosWFQRunInfoEntry 7 }

    fsIfQosWFQMaxActiveQueNum 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."
        ::= { fsIfQosWFQRunInfoEntry 8 }


--  WRED statistics
        fsIfQosWredRunInfoTable OBJECT-TYPE
            SYNTAX SEQUENCE OF FSIfQosWredRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of Running statistics for WRED in the interface."
            ::= { fsIfQoSMIBObjects 4 }
        
        fsIfQosWredRunInfoEntry OBJECT-TYPE
            SYNTAX FSIfQosWredRunInfoEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "WRED statistics entry."
            INDEX { fsIfQosWredIfIndex,  fsIfQosWredValue }
            ::= { fsIfQosWredRunInfoTable 1 }
        
        FSIfQosWredRunInfoEntry ::=
            SEQUENCE { 
            	fsIfQosWredIfIndex
            		Integer32,
            	fsIfQosWredValue
            		Integer32,
                fsIfQosWredRandomDiscardedPackets
                    Counter64,
                fsIfQosWredTailDiscardedPackets
                    Counter64
             }

        fsIfQosWredIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The index of the table, which is the index of interface applying WRED."
            ::= { fsIfQosWredRunInfoEntry 1 }
               
        fsIfQosWredValue OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "the dscp/prec value."
            ::= { fsIfQosWredRunInfoEntry 2 } 
            
        fsIfQosWredRandomDiscardedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets that random-discarded by WRED."
            ::= { fsIfQosWredRunInfoEntry 3 }
        
        fsIfQosWredTailDiscardedPackets OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets that tail-discarded by WRED."
            ::= { fsIfQosWredRunInfoEntry 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.
    fsIfQosCARTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfQosCAREntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "CAR(Committed Access Rate) table"
        ::= { fsIfQoSMIBObjects 5 }

    fsIfQosCAREntry OBJECT-TYPE
        SYNTAX FSIfQosCAREntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "CAR configuration and running infomation."
        INDEX { fsIfQosCARIfIndex, fsIfQosCARPktDirection, fsIfQosCARindex }
        ::= { fsIfQosCARTable 1 }
            
    FSIfQosCAREntry ::=
        SEQUENCE { 
            fsIfQosCARIfIndex
                Integer32,
            fsIfQosCARIfName
                OCTET STRING,
            fsIfQosCARPktDirection
                INTEGER,
            fsIfQosCARType
                INTEGER,
            fsIfQosCARListNum
                Integer32, 
            fsIfQosCARindex
            	Integer32, 
            fsIfQosCARCIR
                Integer32,
            fsIfQosCARBurstSize
                Integer32,
            fsIfQosCARExcessBurstSize
                Integer32,
            fsIfQosCARConformAction
                INTEGER,
            fsIfQosCARExceedAction
                INTEGER,
            fsIfQosCARConformNewPrec
                Integer32,
            fsIfQosCARExceedNewPrec
                Integer32,
            fsIfQosCARConformPkt
                Counter32,
            fsIfQosCARConformByte
                Counter32,
            fsIfQosCARExceedPkt
                Counter32,
            fsIfQosCARExceedByte
                Counter32    
        }
        
    fsIfQosCARIfIndex 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."
        ::= { fsIfQosCAREntry 1 }

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

    fsIfQosCARPktDirection 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)."
        ::= { fsIfQosCAREntry 3 }

    fsIfQosCARType 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."
        ::= { fsIfQosCAREntry 4 }

    fsIfQosCARListNum 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."
        ::= { fsIfQosCAREntry 5 }

    fsIfQosCARindex 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. "
        ::= { fsIfQosCAREntry 6 }

    fsIfQosCARCIR 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. "
        ::= { fsIfQosCAREntry 7 }

    fsIfQosCARBurstSize 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."
        ::= { fsIfQosCAREntry 8 }

    fsIfQosCARExcessBurstSize 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."
        ::= { fsIfQosCAREntry 9 }

    fsIfQosCARConformAction 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.
             "
        ::= { fsIfQosCAREntry 10 }

    fsIfQosCARExceedAction 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.

             "
        ::= { fsIfQosCAREntry 11 }

    fsIfQosCARConformNewPrec 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."
        ::= { fsIfQosCAREntry 12 }

    fsIfQosCARExceedNewPrec 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."
        ::= { fsIfQosCAREntry 13 }

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

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

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

    fsIfQosCARExceedByte OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the bytes of packets which exceeded CIR."
        ::= { fsIfQosCAREntry 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. 
    fsIfQosGTSTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfQosGTSEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "GTS(Generic Traffic Shaping) table"
        ::= { fsIfQoSMIBObjects 6 }

    fsIfQosGTSEntry OBJECT-TYPE
        SYNTAX FSIfQosGTSEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "GTS configuration and running information"
        INDEX { fsIfQosGTSIfIndex, fsIfQosGTSType, fsIfQosGTSACLNum }
        ::= { fsIfQosGTSTable 1 }
    
    FSIfQosGTSEntry ::=
        SEQUENCE { 
            fsIfQosGTSIfIndex
                Integer32,
            fsIfQosGTSIfName
                OCTET STRING,
            fsIfQosGTSType
                INTEGER,
            fsIfQosGTSACLNum
                Integer32,
            fsIfQosGTSCIR
                Integer32,
            fsIfQosGTSBurstSize
                Integer32,
            fsIfQosGTSExcessBurstSize
                Integer32,
            fsIfQosGTSMaxQueLen
                Integer32,
            fsIfQosGTSCurQueLen
                Integer32,
            fsIfQosGTSPassPkt
                Counter32,
            fsIfQosGTSPassByte
                Counter32,
            fsIfQosGTSDiscardPkt
                Counter32,
            fsIfQosGTSDiscardByte
                Counter32
        }

    fsIfQosGTSIfIndex 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."
        ::= { fsIfQosGTSEntry 1 }

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

    fsIfQosGTSType 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."
        ::= { fsIfQosGTSEntry 3 }

    fsIfQosGTSACLNum 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. "
        ::= { fsIfQosGTSEntry 4 }

    fsIfQosGTSCIR 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."
        ::= { fsIfQosGTSEntry 5 }

    fsIfQosGTSBurstSize 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."
        ::= { fsIfQosGTSEntry 6 }

    fsIfQosGTSExcessBurstSize 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."
        ::= { fsIfQosGTSEntry 7 }

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

    fsIfQosGTSCurQueLen 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."
        ::= { fsIfQosGTSEntry 9 }

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

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

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

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


-- RTPQ statistics on the interface               
    fsIfQosRTPIfQueueRunInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfQosRTPIfQueueRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of Running statistics for RTP(Realtime Transport Protocol) Queue applied on the interface."
        ::= { fsIfQoSMIBObjects 7 }
        
    fsIfQosRTPIfQueueRunInfoEntry OBJECT-TYPE
        SYNTAX FSIfQosRTPIfQueueRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "RTP(Realtime Transport Protocol) Queue statistics entry."
        INDEX { fsIfQosRTPIfApplyIfIndex }
        ::= { fsIfQosRTPIfQueueRunInfoTable 1 }
        
    FSIfQosRTPIfQueueRunInfoEntry ::=
        SEQUENCE {  
            fsIfQosRTPIfApplyIfIndex
        	    Integer32,
            fsIfQosRTPIfQueueSize
                Counter32,
            fsIfQosRTPIfQueueMaxSize
                Counter32, 
            fsIfQosRTPIfQueueOutputs
                Counter32,
            fsIfQosRTPIfQueueDiscards
                Counter32                                                                    
        }  
       
    fsIfQosRTPIfApplyIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the inteface index."
        ::= { fsIfQosRTPIfQueueRunInfoEntry 1 } 
             
    fsIfQosRTPIfQueueSize OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Size of Rtpq Queue."
        ::= { fsIfQosRTPIfQueueRunInfoEntry 2 }    
                             
    fsIfQosRTPIfQueueMaxSize OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Max packet number of RTP(Realtime Transport Protocol) Queue."
        ::= { fsIfQosRTPIfQueueRunInfoEntry 3 }
        
    fsIfQosRTPIfQueueOutputs OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Output packet number of RTP(Realtime Transport Protocol) Queue."
        ::= { fsIfQosRTPIfQueueRunInfoEntry 4 } 
                 
    fsIfQosRTPIfQueueDiscards OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Discarded packet number of RTP(Realtime Transport Protocol) Queue."
        ::= { fsIfQosRTPIfQueueRunInfoEntry 5 }                   
       

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

    fsIfQosFlowLimitRunInfoEntry OBJECT-TYPE
        SYNTAX FSIfQosFlowLimitRunInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Flow limit statistics entry."
        INDEX { fsIfQosFlowLimitLabelNum, fsIfQosFlowLimitPktDirection }
        ::= { fsIfQosFlowLimitRunInfoTable 1 }
            
    FSIfQosFlowLimitRunInfoEntry ::=
        SEQUENCE { 
            fsIfQosFlowLimitLabelNum
                Integer32,
            fsIfQosFlowLimitPktDirection
                INTEGER,
            fsIfQosFlowLimitCIR
                Integer32,
            fsIfQosFlowLimitBurstSize
                Integer32,
            fsIfQosFlowLimitExcessBurstSize
                Integer32,
            fsIfQosFlowLimitConformAction
                INTEGER,
            fsIfQosFlowLimitExceedAction
                INTEGER,
            fsIfQosFlowLimitConformNewPrec
                Integer32,
            fsIfQosFlowLimitExceedNewPrec
                Integer32,
            fsIfQosFlowLimitConformPkt
                Counter32,
            fsIfQosFlowLimitConformByte
                Counter32,
            fsIfQosFlowLimitExceedPkt
                Counter32,
            fsIfQosFlowLimitExceedByte
                Counter32    
         }
         
    fsIfQosFlowLimitLabelNum OBJECT-TYPE
        SYNTAX Integer32 (1..16)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This is the label number of flow limit."
        ::= { fsIfQosFlowLimitRunInfoEntry 1 }
    
    fsIfQosFlowLimitPktDirection 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)  "
        ::= { fsIfQosFlowLimitRunInfoEntry 2 }  
  
    fsIfQosFlowLimitCIR 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. "
        ::= { fsIfQosFlowLimitRunInfoEntry 3 }

    fsIfQosFlowLimitBurstSize 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."
        ::= { fsIfQosFlowLimitRunInfoEntry 4 }

    fsIfQosFlowLimitExcessBurstSize 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."
        ::= { fsIfQosFlowLimitRunInfoEntry 5 }

    fsIfQosFlowLimitConformAction 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.
             "
        ::= { fsIfQosFlowLimitRunInfoEntry 6 }

    fsIfQosFlowLimitExceedAction 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.

             "
        ::= { fsIfQosFlowLimitRunInfoEntry 7 }

    fsIfQosFlowLimitConformNewPrec 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"
        ::= { fsIfQosFlowLimitRunInfoEntry 8 }

    fsIfQosFlowLimitExceedNewPrec 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"
        ::= { fsIfQosFlowLimitRunInfoEntry 9 }

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

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

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

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

-- end of IF QoS MIB
        fsHQoSScalarObjects  OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  1 }
        fsHQoSUserQObjects   OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  2 }
        fsHQoSUserGroupQObjects  OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  3 }
        fsHQoSFlowQObjects   OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  4 }
        fsHQoSFlowMapObjects  OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  5 }
        fsHQoSTClassifierObjects OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  6 }
        fsHQoSTBehaviorObjects OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  7 }
        fsHQoSTPolicyObjects  OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  8 }
        fsHQoSVoQObjects      OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  9 }
        fsHQoSPortQObjects    OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  10 }
        fsHQoSIfAppObjects    OBJECT IDENTIFIER ::= { fsHQoSMIBObjects  11 }
	
-- 
		fsHQoSNameType 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 fsHQoSNameFind, used to get index of correspond entry." 
        DEFVAL { unknownName }
        ::= { fsHQoSScalarObjects 1 }

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

    fsHQoSNameIndex OBJECT-TYPE
        SYNTAX     INTEGER 
        MAX-ACCESS           read-only
        STATUS                current
        DESCRIPTION
            "Corresponding entry index." 
        DEFVAL { 0 }
        ::= { fsHQoSScalarObjects 3 }
------------------------------------------------------------------------------------------
    -- Next free index in fsHQoSUserQTable.
    fsHQoSUserQInIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for fsHQoSUserQIndex when creating entries in the
           fsHQoSUserQTable with in direction. The value 0 indicates that no
           unassigned entries are available."
        ::= { fsHQoSUserQObjects 1 }
 
     fsHQoSUserQOutIndexNext OBJECT-TYPE
        SYNTAX                INTEGER
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION   "This object contains an appropriate value to be used
           for fsHQoSUserQIndex when creating entries in the
           fsHQoSUserQTable with out direction. The value 0 indicates that no
           unassigned entries are available."
        ::= { fsHQoSUserQObjects 2 } 
        
    fsHQoSUserQTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF FSHQoSUserQEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION "User queue Table."
         ::= { fsHQoSUserQObjects 3 }
       
    fsHQoSUserQEntry   OBJECT-TYPE
        SYNTAX        FSHQoSUserQEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the user queue information."
        INDEX  { fsHQoSUserQIndex }
        ::= { fsHQoSUserQTable 1 }

    FSHQoSUserQEntry ::= SEQUENCE {
        fsHQoSUserQIndex               Unsigned32,
        fsHQoSUserQName                OCTET STRING,
        fsHQoSUserQDirection           FSQDirectionType,
        fsHQoSUserQRowStatus           RowStatus,
        fsHQoSUserQFlowQName           OCTET STRING,
        fsHQoSUserQFlowQIndex          Unsigned32,
        fsHQoSUserQGroupName           OCTET STRING,
        fsHQoSUserQGroupIndex          Unsigned32,
        fsHQoSUserQFlowMapName         OCTET STRING,
        fsHQoSUserQFlowMapIndex        Unsigned32,
        fsHQoSUserQCIR                 Unsigned32,
        fsHQoSUserQPIR                 Unsigned32
     }

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

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

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

    fsHQoSUserQRowStatus 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, 
             fsHQoSUserQName, fsHQoSUserQDirection
             objects in this row can not be modified."
        ::=  { fsHQoSUserQEntry 4 }
        
    fsHQoSUserQFlowQName 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."
     ::= { fsHQoSUserQEntry 5 }
     
    fsHQoSUserQFlowQIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "Flow queue index binding with this user queue."
        ::= { fsHQoSUserQEntry 6 }

    fsHQoSUserQGroupName 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."
     ::= { fsHQoSUserQEntry 7 }
     
    fsHQoSUserQGroupIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "User group index binding with this user."
        ::= { fsHQoSUserQEntry 8 }

    fsHQoSUserQFlowMapName 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."
     ::= { fsHQoSUserQEntry 9 }
     
    fsHQoSUserQFlowMapIndex OBJECT-TYPE
        SYNTAX                Unsigned32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "Flow-mapping index binding with this user queue."
        ::= { fsHQoSUserQEntry 10 }

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

        ::= { fsHQoSUserQEntry 11 }

    fsHQoSUserQPIR 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 }
        ::= { fsHQoSUserQEntry 12 }

-- end of user table

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

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

  FSHQoSUserGroupQEntry ::= SEQUENCE {
        fsHQoSUserGroupQIndex               Unsigned32,
        fsHQoSUserGroupQName                OCTET STRING,
        fsHQoSUserGroupQDirection           FSQDirectionType,
        fsHQoSUserGroupQRowStatus           RowStatus,
        fsHQoSUserGroupQShaping             Unsigned32
     }

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

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

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

    fsHQoSUserGroupQRowStatus 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, 
             fsHQoSUserGroupQName,fsHQoSUserGroupQDirection
             objects in this row can not be modified."
        ::=  { fsHQoSUserGroupQEntry 4 }

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

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

  FSHQoSFlowQEntry ::= SEQUENCE {
        fsHQoSFlowQIndex               Unsigned32,
        fsHQoSFlowQName                OCTET STRING,
        fsHQoSFlowQRowStatus           RowStatus,
        fsHQoSFlowQBEQType             FSQType,
        fsHQoSFlowQBEQWredWeight       INTEGER,
        fsHQoSFlowQBEQWredName         OCTET STRING,
        fsHQoSFlowQBEQDepth            INTEGER,
        fsHQoSFlowQBEQShaping          INTEGER, 
        fsHQoSFlowQAF1QType             FSQType,
        fsHQoSFlowQAF1QWredWeight       INTEGER,
        fsHQoSFlowQAF1QWredName         OCTET STRING,
        fsHQoSFlowQAF1QDepth            INTEGER,
        fsHQoSFlowQAF1QShaping          INTEGER,
        fsHQoSFlowQAF2QType             FSQType,
        fsHQoSFlowQAF2QWredWeight       INTEGER,
        fsHQoSFlowQAF2QWredName         OCTET STRING,
        fsHQoSFlowQAF2QDepth            INTEGER,
        fsHQoSFlowQAF2QShaping          INTEGER,
        fsHQoSFlowQAF3QType             FSQType,
        fsHQoSFlowQAF3QWredWeight       INTEGER,
        fsHQoSFlowQAF3QWredName         OCTET STRING,
        fsHQoSFlowQAF3QDepth            INTEGER,
        fsHQoSFlowQAF3QShaping          INTEGER,
        fsHQoSFlowQAF4QType             FSQType,
        fsHQoSFlowQAF4QWredWeight       INTEGER,
        fsHQoSFlowQAF4QWredName         OCTET STRING,
        fsHQoSFlowQAF4QDepth            INTEGER,
        fsHQoSFlowQAF4QShaping          INTEGER,
        fsHQoSFlowQEFQType             FSQType,
        fsHQoSFlowQEFQWredWeight       INTEGER,
        fsHQoSFlowQEFQWredName         OCTET STRING,
        fsHQoSFlowQEFQDepth            INTEGER,
        fsHQoSFlowQEFQShaping          INTEGER,
        fsHQoSFlowQCS6QType             FSQType,
        fsHQoSFlowQCS6QWredWeight       INTEGER,
        fsHQoSFlowQCS6QWredName         OCTET STRING,
        fsHQoSFlowQCS6QDepth            INTEGER,
        fsHQoSFlowQCS6QShaping          INTEGER,
        fsHQoSFlowQCS7QType             FSQType,
        fsHQoSFlowQCS7QWredWeight       INTEGER,
        fsHQoSFlowQCS7QWredName         OCTET STRING,
        fsHQoSFlowQCS7QDepth            INTEGER,
        fsHQoSFlowQCS7QShaping          INTEGER
     }

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

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

    fsHQoSFlowQRowStatus 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, 
             fsHQoSFlowQName
             objects in this row can not be modified."
        ::=  { fsHQoSFlowQEntry 3 }
 
    fsHQoSFlowQBEQType OBJECT-TYPE
        SYNTAX FSQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue BEQ type."
        DEFVAL { q-wfq }
        ::= { fsHQoSFlowQEntry 4 }  
                
    fsHQoSFlowQBEQWredWeight OBJECT-TYPE
        SYNTAX  INTEGER(1..1024)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue BE to wfq wred weight."
        DEFVAL { 10 }
        ::= { fsHQoSFlowQEntry 5 } 
        
    fsHQoSFlowQBEQWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Flow queue BE to wfq wred name."
        ::= { fsHQoSFlowQEntry 6 }

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

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

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

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

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

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

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

    fsHQoSFlowQAF3QDepth 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 }
        ::= { fsHQoSFlowQEntry 22 } 

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

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

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

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

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

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

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

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

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

  FSHQoSFlowMapEntry ::= SEQUENCE {
        fsHQoSFlowMapIndex                Unsigned32,
        fsHQoSFlowMapName                 OCTET STRING,
        fsHQoSFlowMapRowStatus            RowStatus,
        fsHQoSFlowMapBEQ2PortQ            FSCosType, 
        fsHQoSFlowMapAF1Q2PortQ           FSCosType,
        fsHQoSFlowMapAF2Q2PortQ           FSCosType,
        fsHQoSFlowMapAF3Q2PortQ           FSCosType,
        fsHQoSFlowMapAF4Q2PortQ           FSCosType,
        fsHQoSFlowMapEFQ2PortQ            FSCosType,
        fsHQoSFlowMapCS6Q2PortQ           FSCosType,
        fsHQoSFlowMapCS7Q2PortQ           FSCosType
     }

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

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

    fsHQoSFlowMapRowStatus 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, 
             fsHQoSFlowMapName
             objects in this row can not be modified."
        ::=  { fsHQoSFlowMapEntry 3 }

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

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

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

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

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

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

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

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

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

    fsHQoSTClassifierTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF FSHQoSTClassifierEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
         "Traffic classfier table."
        ::= { fsHQoSTClassifierObjects 2 }
       
    fsHQoSTClassifierEntry   OBJECT-TYPE
        SYNTAX        FSHQoSTClassifierEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the traffic classfier information."
        INDEX  { fsHQoSTClassifierIndex,  fsHQoSTClassifierInstance}
        ::= { fsHQoSTClassifierTable 1 }

  FSHQoSTClassifierEntry ::= SEQUENCE {
        fsHQoSTClassifierIndex           Unsigned32,
        fsHQoSTClassifierInstance        Unsigned32,
        fsHQoSTClassifierName            OCTET STRING,
        fsHQoSTClassifierType            INTEGER,
        fsHQoSTClassifierRowStatus       RowStatus,
        fsHQoSTClassifierMatchMask       BITS,
        fsHQoSTClassifierMatchV4Any      TruthValue,
        fsHQoSTClassifierMatchV4AclID    INTEGER,
        fsHQoSTClassifierV4AclName       OCTET STRING, 
        fsHQoSTClassifierMatchV4Dscp     INTEGER,
        fsHQoSTClassifierMatchV4Tos      INTEGER,
        fsHQoSTClassifierMatchV6Any      TruthValue,
        fsHQoSTClassifierMatchV6AclID    INTEGER,
        fsHQoSTClassifierV6AclName       OCTET STRING, 
        fsHQoSTClassifierMatchV6Dscp     INTEGER,  
        fsHQoSTClassifierMatchCos        INTEGER,
        fsHQoSTClassifierMatchExp        INTEGER,
        fsHQoSTClassifierMatchSrcMac     MacAddress,
        fsHQoSTClassifierMatchDstMac     MacAddress
        }

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

    fsHQoSTClassifierInstance 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."
        ::= { fsHQoSTClassifierEntry 2 }

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

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

    fsHQoSTClassifierRowStatus 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, 
             fsHQoSTClassifierName, fsHQoSTClassifierType
             objects in this row can not be modified."
        ::=  { fsHQoSTClassifierEntry 5 }
        
    fsHQoSTClassifierMatchMask 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."
        ::= { fsHQoSTClassifierEntry 6 }
    
    fsHQoSTClassifierMatchV4Any OBJECT-TYPE
        SYNTAX                TruthValue
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Traffic classifier matching any ipv4 packet."
        DEFVAL {false}
        ::= { fsHQoSTClassifierEntry 7 }

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

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

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

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

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

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

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

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

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

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

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

  FSHQoSTBehaviorEntry ::= SEQUENCE {
        fsHQoSTBehaviorIndex           Unsigned32,
        fsHQoSTBehaviorName            OCTET STRING,
        fsHQoSTBehaviorRowStatus       RowStatus,
        fsHQoSTBehaviorMask            BITS,
        fsHQoSTBehaviorUserQName       OCTET STRING,
        fsHQoSTBehaviorUserQDir        FSQDirectionType,
        fsHQoSTBehaviorTCos            FSCosType,
        fsHQoSTBehaviorTColor          INTEGER,
        fsHQoSTBehaviorRV4Dscp         INTEGER,
        fsHQoSTBehaviorRV4Tos          INTEGER,
        fsHQoSTBehaviorRV6Dscp         INTEGER,
        fsHQoSTBehaviorRVlanCos        INTEGER,
        fsHQoSTBehaviorRExp            INTEGER,
        fsHQoSTBehaviorSubPolicyName   OCTET STRING 
        }

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

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

    fsHQoSTBehaviorRowStatus 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, 
             fsHQoSTBehaviorName
             objects in this row can not be modified."
        ::=  { fsHQoSTBehaviorEntry 3 }

    fsHQoSTBehaviorMask 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."
        ::= { fsHQoSTBehaviorEntry 4 }
 
     fsHQoSTBehaviorUserQName OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (0..32))
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
         "User queue belong to this traffic behavior."
     ::= { fsHQoSTBehaviorEntry 5 }
     
     fsHQoSTBehaviorUserQDir OBJECT-TYPE
        SYNTAX FSQDirectionType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Direction of the user queue belong to this traffic behavior.
             There are two directions: inbound(1) and outbound(2)."
        ::= { fsHQoSTBehaviorEntry 6 }
     
     fsHQoSTBehaviorTCos OBJECT-TYPE
        SYNTAX                FSCosType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Set service-class."
        DEFVAL {cos-be}
        ::=  { fsHQoSTBehaviorEntry 7 }

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

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

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

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

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

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

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

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

    fsHQoSTPolicyTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF FSHQoSTPolicyEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
         "Traffic policy table."
        ::= { fsHQoSTPolicyObjects 2 }
       
    fsHQoSTPolicyEntry   OBJECT-TYPE
        SYNTAX        FSHQoSTPolicyEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the traffic policy information."
        INDEX  { fsHQoSTPolicyIndex }
        ::= { fsHQoSTPolicyTable 1 }

  FSHQoSTPolicyEntry ::= SEQUENCE {
        fsHQoSTPolicyIndex           Unsigned32,
        fsHQoSTPolicyName            OCTET STRING,
        fsHQoSTPolicyRowStatus       RowStatus
        }

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

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

    fsHQoSTPolicyRowStatus 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, 
             fsHQoSTPolicyName
             objects in this row can not be modified."
        ::=  { fsHQoSTPolicyEntry 3 }

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

    fsHQoSTPolicyMapTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF FSHQoSTPolicyMapEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
        "Traffic policy map table. Contains policy,classfier,behavior."
         ::= { fsHQoSTPolicyObjects 4 }
       
    fsHQoSTPolicyMapEntry   OBJECT-TYPE
        SYNTAX        FSHQoSTPolicyMapEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the traffic policy map information."
        INDEX  { fsHQoSTPolicyMapIndex }
        ::= { fsHQoSTPolicyMapTable 1 }

  FSHQoSTPolicyMapEntry ::= SEQUENCE {
        fsHQoSTPolicyMapIndex             Unsigned32,
        fsHQoSTPolicyMapPolicyName        OCTET STRING,
        fsHQoSTPolicyMapPolicyIndex       Unsigned32,
        fsHQoSTPolicyMapTClassfierName    OCTET STRING,
        fsHQoSTPolicyMapTClassfierIndex   Unsigned32,
        fsHQoSTPolicyMapTBehaviorName     OCTET STRING,
        fsHQoSTPolicyMapTBehaviorIndex    Unsigned32,
        fsHQoSTPolicyMapPrecedence        Unsigned32,
        fsHQoSTPolicyMapRowStatus         RowStatus
        }

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

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

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

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

    fsHQoSTPolicyMapRowStatus 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, 
             fsHQoSTPolicyMapPolicyName,fsHQoSTPolicyMapTClassfierName
             fsHQoSTPolicyMapTBehaviorName
             objects in this row can not be modified."

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

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

    fsHQoSVoQDeviceTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF FSHQoSVoQDeviceEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
         "Device credite table."
         ::= { fsHQoSVoQObjects 2 }
       
    fsHQoSVoQDeviceEntry   OBJECT-TYPE
        SYNTAX        FSHQoSVoQDeviceEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the device credite information."
        INDEX  { fsHQoSVoQDeviceId }
        ::= { fsHQoSVoQDeviceTable 1 }

  FSHQoSVoQDeviceEntry ::= SEQUENCE {
        fsHQoSVoQDeviceId                 Unsigned32,
        fsHQoSVoQDeviceCredit             Unsigned32
        }

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

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

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

    fsHQoSPortQTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF FSHQoSPortQEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
         "Port queue table."
         ::= { fsHQoSPortQObjects 2 }
       
    fsHQoSPortQEntry   OBJECT-TYPE
        SYNTAX        FSHQoSPortQEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the port queue information."
        INDEX  { fsHQoSPortQIndex }
        ::= { fsHQoSPortQTable 1 }

  FSHQoSPortQEntry ::= SEQUENCE {
        fsHQoSPortQIndex               Unsigned32,
        fsHQoSPortQName                OCTET STRING,
        fsHQoSPortQRowStatus           RowStatus,
        fsHQoSPortQBEQType             FSQType,
        fsHQoSPortQBEQWredWeight       INTEGER,
        fsHQoSPortQBEQWredName         OCTET STRING,
        fsHQoSPortQBEQDepth            INTEGER,
        fsHQoSPortQBEQShaping          INTEGER, 
        fsHQoSPortQAF1QType             FSQType,
        fsHQoSPortQAF1QWredWeight       INTEGER,
        fsHQoSPortQAF1QWredName         OCTET STRING,
        fsHQoSPortQAF1QDepth            INTEGER,
        fsHQoSPortQAF1QShaping          INTEGER,
        fsHQoSPortQAF2QType             FSQType,
        fsHQoSPortQAF2QWredWeight       INTEGER,
        fsHQoSPortQAF2QWredName         OCTET STRING,
        fsHQoSPortQAF2QDepth            INTEGER,
        fsHQoSPortQAF2QShaping          INTEGER,
        fsHQoSPortQAF3QType             FSQType,
        fsHQoSPortQAF3QWredWeight       INTEGER,
        fsHQoSPortQAF3QWredName         OCTET STRING,
        fsHQoSPortQAF3QDepth            INTEGER,
        fsHQoSPortQAF3QShaping          INTEGER,
        fsHQoSPortQAF4QType             FSQType,
        fsHQoSPortQAF4QWredWeight       INTEGER,
        fsHQoSPortQAF4QWredName         OCTET STRING,
        fsHQoSPortQAF4QDepth            INTEGER,
        fsHQoSPortQAF4QShaping          INTEGER,
        fsHQoSPortQEFQType             FSQType,
        fsHQoSPortQEFQWredWeight       INTEGER,
        fsHQoSPortQEFQWredName         OCTET STRING,
        fsHQoSPortQEFQDepth            INTEGER,
        fsHQoSPortQEFQShaping          INTEGER,
        fsHQoSPortQCS6QType             FSQType,
        fsHQoSPortQCS6QWredWeight       INTEGER,
        fsHQoSPortQCS6QWredName         OCTET STRING,
        fsHQoSPortQCS6QDepth            INTEGER,
        fsHQoSPortQCS6QShaping          INTEGER,
        fsHQoSPortQCS7QType             FSQType,
        fsHQoSPortQCS7QWredWeight       INTEGER,
        fsHQoSPortQCS7QWredName         OCTET STRING,
        fsHQoSPortQCS7QDepth            INTEGER,
        fsHQoSPortQCS7QShaping          INTEGER
     }

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

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

    fsHQoSPortQRowStatus 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, 
             fsHQoSPortQName
             objects in this row can not be modified."
        ::=  { fsHQoSPortQEntry 3 }
 
    fsHQoSPortQBEQType OBJECT-TYPE
        SYNTAX FSQType
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue BEQ type."
        DEFVAL { q-wfq }
        ::= { fsHQoSPortQEntry 4 }  
                
    fsHQoSPortQBEQWredWeight OBJECT-TYPE
        SYNTAX   INTEGER(8..2048)
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue BEQ to wfq wred weight."
        DEFVAL { 10 }
        ::= { fsHQoSPortQEntry 5 } 
        
    fsHQoSPortQBEQWredName OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE (0..32))
        MAX-ACCESS            read-create
        STATUS                current
        DESCRIPTION
            "Port queue BEQ to wfq wred name."
        ::= { fsHQoSPortQEntry 6 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- start of HQoS interface application object
    fsHQoSIfAppTable  OBJECT-TYPE
        SYNTAX            SEQUENCE OF FSHQoSIfAppEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION 
         "The HQoS config with this table."
         ::= { fsHQoSIfAppObjects 1 }
       
    fsHQoSIfAppEntry   OBJECT-TYPE
        SYNTAX        FSHQoSIfAppEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
          "A row in this table represents the interface HQoS config information."
        INDEX  { fsHQoSIfAppIndex }
        ::= { fsHQoSIfAppTable 1 }

  FSHQoSIfAppEntry ::= SEQUENCE {
        fsHQoSIfAppIndex             InterfaceIndex,
        fsHQoSIfAppInPolicyName      OCTET STRING,
        fsHQoSIfAppInPolicyIndex     Unsigned32,
        fsHQoSIfAppInPolicyLayer     FSLayerType,       
        fsHQoSIfAppOutPolicyName     OCTET STRING,
        fsHQoSIfAppOutPolicyIndex    Unsigned32,
        fsHQoSIfAppOutPolicyLayer    FSLayerType,  
        fsHQoSIfAppPortQueueName     OCTET STRING,
        fsHQoSIfAppPortQueueIndex    Unsigned32, 
        fsHQoSIfAppPortQueueShaping  INTEGER
        }

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

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

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

    fsHQoSIfAppInPolicyLayer OBJECT-TYPE
        SYNTAX                FSLayerType
        MAX-ACCESS            read-write
        STATUS                current
        DESCRIPTION
            "Inbound policy layer with this interface."
        DEFVAL {l3-layer}
        ::= { fsHQoSIfAppEntry 4 }

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

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

    fsHQoSIfAppOutPolicyLayer OBJECT-TYPE
        SYNTAX                FSLayerType
        MAX-ACCESS            read-write
        STATUS                current
        DESCRIPTION
            "Outbound policy layer with this interface."
        DEFVAL {l3-layer}
        ::= { fsHQoSIfAppEntry 7 }

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

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

    fsHQoSIfAppPortQueueShaping 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}
        ::= { fsHQoSIfAppEntry 10 }
-- end of HQoS interface appliction table

END
-- End module

