-- =================================================================
-- Copyright (C) 1996-2002 by  HUAWEI TECHNOLOGIES. All rights reserved.
--
-- Description:H3C QOS Profile MIB
-- Version: V2.1
-- History:
--   V1.0(Initial version) 6th Jul 2004
--	 V2.0 2004-10-12 updated by gaolong
--        Import Integer32.
--        Modify h3cQoSProfile to h3cQosProfile
--        Replace INTEGER with Integer32.
--        Change value of h3cQoSTrafPrioPolicedServiceType from underscores to hyphens.
--        Fix a default value error of h3cQoSTrafPrioPolicedServiceType.
--        Add MODULE clause for h3cQoSProfMibCompliance.
--   v2.1 2004-12-23 changed by zhuangyu
--        1 Add an enumeration in h3cQoSTrafLmtConformActionType
--        2 Add h3cQoSTrafLmtConformCos and h3cQoSTrafLmtConformDscp in h3cQoSTrafficLimitTable
--   
-- =================================================================
A3COM-HUAWEI-QOS-PROFILE-MIB DEFINITIONS ::= BEGIN
 
		IMPORTS
			h3cCommon			
				FROM A3COM-HUAWEI-OID-MIB			
			OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP			
				FROM SNMPv2-CONF			
			IpAddress, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Integer32
				FROM SNMPv2-SMI			
			RowStatus, TruthValue, MacAddress, TEXTUAL-CONVENTION			
				FROM SNMPv2-TC;
	
	
		h3cQosProfile MODULE-IDENTITY 
			LAST-UPDATED "200407060000Z"		
			ORGANIZATION 
				"Huawei-3com Technologies co.,Ltd."
			CONTACT-INFO 
				"Platform Team Beijing Institute Huawei-3com Tech, Inc.
				Http://www.huawei-3com.com                                       
				E-mail:support@huawei-3com.com "
			DESCRIPTION 
				"The private mib file includes the general information QoS profile."
			::= { h3cCommon 17 }
		
	
--  
-- Textual conventions
-- 
		H3cQoSDirection ::= TEXTUAL-CONVENTION
			STATUS current
			DESCRIPTION 
				"Description."
			SYNTAX INTEGER
				{
				invalid(0),
				input(1),
				ouput(2)
				}
			
	
-- 	
-- Node definitions
-- 
		h3cQoSProfObjects OBJECT IDENTIFIER ::= { h3cQosProfile 1 }
		
		h3cQoSProf OBJECT IDENTIFIER ::= { h3cQoSProfObjects 1 }
		
		h3cQoSProfTable OBJECT-TYPE
			SYNTAX SEQUENCE OF H3cQoSProfEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"QoS profile table is used to config the qos profiles."
			::= { h3cQoSProf 1 }
		
		h3cQoSProfEntry OBJECT-TYPE
			SYNTAX H3cQoSProfEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION			 " "
			INDEX { h3cQoSProfIndex }
			::= { h3cQoSProfTable 1 }
		
		H3cQoSProfEntry ::=
			SEQUENCE { 
				h3cQoSProfIndex
					Integer32,
				h3cQoSProfName
					OCTET STRING,
				h3cQoSProfActionNumber
					Integer32,
				h3cQoSProfRowStatus
					RowStatus
			 }

		h3cQoSProfIndex OBJECT-TYPE
			SYNTAX Integer32 (1..65535)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"QoS profile table index."
			::= { h3cQoSProfEntry 1 }
		
		h3cQoSProfName OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (1..32))
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"QoS profile name."
			::= { h3cQoSProfEntry 2 }
		
		h3cQoSProfActionNumber OBJECT-TYPE
			SYNTAX Integer32 (0..65535)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Total number of actions of a QoS profile."
			::= { h3cQoSProfEntry 3 }
		
		h3cQoSProfRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"RowStatus,Now support three state:CreateAndGo,Active,Destroy."
			::= { h3cQoSProfEntry 4 }
		
		h3cQoSAction OBJECT IDENTIFIER ::= { h3cQoSProfObjects 2 }
		
		h3cQoSTrafficLimitTable OBJECT-TYPE
			SYNTAX SEQUENCE OF H3cQoSTrafficLimitEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Traffic limit table is used to set the average rate or peak rate of the flow.
				IP and Link ACL rules can be applied simultaneously,
				IP and User based ACL rules can not be applied simultaneously,
				Link and User based ACL rules can not be applied simultaneously.
				Unused ones is represented with default values."
			::= { h3cQoSAction 1 }
		
		h3cQoSTrafficLimitEntry OBJECT-TYPE
			SYNTAX H3cQoSTrafficLimitEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION			 " "
			INDEX { h3cQoSTrafLmtProfIndex, h3cQoSTrafLmtActionIndex }
			::= { h3cQoSTrafficLimitTable 1 }
		
		H3cQoSTrafficLimitEntry ::=
			SEQUENCE { 
				h3cQoSTrafLmtProfIndex
					Integer32,
				h3cQoSTrafLmtActionIndex
					Integer32,
				h3cQoSTrafLmtDirection
					H3cQoSDirection,
				h3cQoSTrafLmtUserAclNum
					Integer32,
				h3cQoSTrafLmtUserAclRule
					Integer32,
				h3cQoSTrafLmtIpAclNum
					Integer32,
				h3cQoSTrafLmtIpAclRule
					Integer32,
				h3cQoSTrafLmtLinkAclNum
					Integer32,
				h3cQoSTrafLmtLinkAclRule
					Integer32,
				h3cQoSTrafLmtTargetRateMbps
					Integer32,
				h3cQoSTrafLmtTargetRateKbps
					Integer32,
				h3cQoSTrafLmtPeakRate
					Integer32,
				h3cQoSTrafLmtCIR
					Integer32,
				h3cQoSTrafLmtCBS
					Integer32,
				h3cQoSTrafLmtEBS
					Integer32,
				h3cQoSTrafLmtPIR
					Integer32,
				h3cQoSTrafLmtConformLocalPre
					Integer32,
				h3cQoSTrafLmtConformActionType
					INTEGER,
				h3cQoSTrafLmtExceedActionType
					INTEGER,
				h3cQoSTrafLmtExceedDscp
					Integer32,
				h3cQoSTrafLmtExceedCos
					Integer32,
				h3cQoSTrafLmtRowStatus
					RowStatus,
				h3cQoSTrafLmtConformCos
					Integer32,
				h3cQoSTrafLmtConformDscp    	
					Integer32
			 }

		h3cQoSTrafLmtProfIndex OBJECT-TYPE
			SYNTAX Integer32 (1..65535)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of QoS profile which the traffic-limit action belongs to."
			::= { h3cQoSTrafficLimitEntry 1 }
		
		h3cQoSTrafLmtActionIndex OBJECT-TYPE
			SYNTAX Integer32 (1..65535)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of traffic-limit action."
			::= { h3cQoSTrafficLimitEntry 2 }
		
		h3cQoSTrafLmtDirection OBJECT-TYPE
			SYNTAX H3cQoSDirection
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The direction of traffic-limit action."
			::= { h3cQoSTrafficLimitEntry 3 }
		
		h3cQoSTrafLmtUserAclNum OBJECT-TYPE
			SYNTAX Integer32 (0 | 5000..5999)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The number of user-based acl group."
			DEFVAL { 0 }
			::= { h3cQoSTrafficLimitEntry 4 }
		
		h3cQoSTrafLmtUserAclRule OBJECT-TYPE
			SYNTAX Integer32 (0..65535)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The subitem of user-based acl rule."
			DEFVAL { 65535 }
			::= { h3cQoSTrafficLimitEntry 5 }
		
		h3cQoSTrafLmtIpAclNum OBJECT-TYPE
			SYNTAX Integer32 (0 | 2000..3999)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The number of Ip-based acl group."
			DEFVAL { 0 }
			::= { h3cQoSTrafficLimitEntry 6 }
		
		h3cQoSTrafLmtIpAclRule OBJECT-TYPE
			SYNTAX Integer32 (0..65535)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The subitem of IP-based acl rule."
			DEFVAL { 65535 }
			::= { h3cQoSTrafficLimitEntry 7 }
		
		h3cQoSTrafLmtLinkAclNum OBJECT-TYPE
			SYNTAX Integer32 (0 | 4000..4999)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The number of Link-based acl group"
			DEFVAL { 0 }
			::= { h3cQoSTrafficLimitEntry 8 }
		
		h3cQoSTrafLmtLinkAclRule OBJECT-TYPE
			SYNTAX Integer32 (0..65535)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The subitem of Link-based acl rule."
			DEFVAL { 65535 }
			::= { h3cQoSTrafficLimitEntry 9 }
		
		h3cQoSTrafLmtTargetRateMbps OBJECT-TYPE
			SYNTAX Integer32 (0..10000)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Target rate:Mbps
				Some products only support Mbps,but others support Kbps,so
				Kbps and Mbps should be supportted mutually exclusively on the same
				product."
			::= { h3cQoSTrafficLimitEntry 10 }
		
		h3cQoSTrafLmtTargetRateKbps OBJECT-TYPE
			SYNTAX Integer32 (0..10000000)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Target rate:Kbps.
				Some products only support Kbps,but others support Mbps,so
				Kbps and Mbps should be supportted mutually exclusively on the same
				product."
			::= { h3cQoSTrafficLimitEntry 11 }
		
		h3cQoSTrafLmtPeakRate OBJECT-TYPE
			SYNTAX Integer32 (0 | 64..8388608)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Peak rate"
			::= { h3cQoSTrafficLimitEntry 12 }
		
		h3cQoSTrafLmtCIR OBJECT-TYPE
			SYNTAX Integer32 (0..34120000)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Committed Information Rate.
				unit:kbps."
			::= { h3cQoSTrafficLimitEntry 13 }
		
		h3cQoSTrafLmtCBS OBJECT-TYPE
			SYNTAX Integer32 (0..1048575)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Committed Burst Size.
				unit:byte."
			::= { h3cQoSTrafficLimitEntry 14 }
		
		h3cQoSTrafLmtEBS OBJECT-TYPE
			SYNTAX Integer32 (0..268435455)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Excess Burst Size.
				unit:byte."
			::= { h3cQoSTrafficLimitEntry 15 }
		
		h3cQoSTrafLmtPIR OBJECT-TYPE
			SYNTAX Integer32 (0..34120000)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Peak Information Rate.
				unit:kbps."
			::= { h3cQoSTrafficLimitEntry 16 }
		
		h3cQoSTrafLmtConformLocalPre OBJECT-TYPE
			SYNTAX Integer32 (0..7)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The local precedence of conformed flow."
			::= { h3cQoSTrafficLimitEntry 17 }
		
		h3cQoSTrafLmtConformActionType OBJECT-TYPE
			SYNTAX INTEGER
				{
				invalid(0),
				remark-cos(1),
				remark-drop-priority(2),
				remark-cos-drop-priority(3),
				remark-policed-service(4),
				remark-dscp(5)
				}
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The action type of conformed flow."
			DEFVAL { 1 }
			::= { h3cQoSTrafficLimitEntry 18 }
		
		h3cQoSTrafLmtExceedActionType OBJECT-TYPE
			SYNTAX INTEGER
				{
				invalid(0),
				forward(1),
				drop(2),
				remarkdscp(3),
				exceed-cos(4)
				}
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The action type of non-conformed flow."
			DEFVAL { 1 }
			::= { h3cQoSTrafficLimitEntry 19 }
		
		h3cQoSTrafLmtExceedDscp OBJECT-TYPE
			SYNTAX Integer32 (0..63 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The remarked DSCP value of non-conformed flow.
				DSCP 255 is used as default value and for get/get-next operation of this
				node. If the user does not set exceeding action as remarking DSCP, then value 255
				is returned for get/get-next operation.
				"
			DEFVAL { 255 }
			::= { h3cQoSTrafficLimitEntry 20 }
		
		h3cQoSTrafLmtExceedCos OBJECT-TYPE
			SYNTAX Integer32 (0..7 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The remarked COS value of non-conformed flow.
				COS 255 is used as default value and for get/get-next operation of this
				node. If the user does not set exceeding action as remarking COS, then value 255
				is returned for get/get-next operation.
				"
			DEFVAL { 255 }
			::= { h3cQoSTrafficLimitEntry 21 }
		
		h3cQoSTrafLmtRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"RowStatus,Now support three state:CreateAndGo,Active,Destroy."
			::= { h3cQoSTrafficLimitEntry 22 }
			
		h3cQoSTrafLmtConformCos OBJECT-TYPE
			SYNTAX Integer32 (0..7|255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"If the user chooses remark-cos value of the h3cQoSTrafLmtConformActionType,
				this object can be used to set the conform cos value.
				There are some enumerations as follows:
				best-effort         Specify best-effort priority(0)
				background          Specify background priority(1)
				spare               Specify spare priority(2)
				excellent-effort    Specify excellent-effort priority(3)
				controlled-load     Specify controlled-load priority(4)
				video               Specify video priority(5)
				voice               Specify voice priority(6)
				network-management  Specify network-management priority(7)
				255 indicates invalid value. "
  			DEFVAL      { 255 }	
			::= { h3cQoSTrafficLimitEntry 23 }	
        
		h3cQoSTrafLmtConformDscp OBJECT-TYPE
			SYNTAX Integer32 (0..63|255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"If the user chooses remark-dscp value of the h3cQoSTrafLmtConformActionType,
				this object can be used to set the conform dscp value.
				There are some enumerations as follows:
				<0-63>  Value of DSCP
				af11    Specify Assured Forwarding 11 service(10)
				af12    Specify Assured Forwarding 12 service(12)
				af13    Specify Assured Forwarding 13 service(14)
				af21    Specify Assured Forwarding 21 service(18)
				af22    Specify Assured Forwarding 22 service(20)
				af23    Specify Assured Forwarding 23 service(22)
				af31    Specify Assured Forwarding 31 service(26)
				af32    Specify Assured Forwarding 32 service(28)
				af33    Specify Assured Forwarding 33 service(30)
				af41    Specify Assured Forwarding 41 service(34)
				af42    Specify Assured Forwarding 42 service(36)
				af43    Specify Assured Forwarding 43 service(38)
				be      Specify Best Effort service(0)
				cs1     Specify Class Selector 1 service(8)
				cs2     Specify Class Selector 2 service(16)
				cs3     Specify Class Selector 3 service(24)
				cs4     Specify Class Selector 4 service(32)
				cs5     Specify Class Selector 5 service(40)
				cs6     Specify Class Selector 6 service(48)
				cs7     Specify Class Selector 7 service(56)
				ef      Specify Expedited Forwarding service(46)
				255 indicates invalid value. "
  			DEFVAL      { 255 }                                 
  			::= { h3cQoSTrafficLimitEntry 24 }        
        
		h3cQoSTrafficPriorityTable OBJECT-TYPE
			SYNTAX SEQUENCE OF H3cQoSTrafficPriorityEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Traffic priority table is used to remark the IP-precedence, DSCP or COS priority of packets.
				IP and Link ACL rules can be applied simultaneously,
				IP and User based ACL rules can not be applied simultaneously,
				Link and User based ACL rules can not be applied simultaneously.
				Unused ones is represented with default values.
				QOS policed service from DSCP mapping table is pre-defined in the hwDscpMapTable in the A3COM-HUAWEI-LswQos-MIB.
				Policed service can decide what kind of QOS service the flow should get by the DSCP vlaue in the packets.
				Policed service includes remarking new DSCP,new EXP,new 802.1p priority,new local precedence and new drop priority.				
				"
			::= { h3cQoSAction 2 }
		
		h3cQoSTrafficPriorityEntry OBJECT-TYPE
			SYNTAX H3cQoSTrafficPriorityEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION			 " "
			INDEX { h3cQoSTrafPrioProfIndex, h3cQoSTrafPrioActionIndex }
			::= { h3cQoSTrafficPriorityTable 1 }
		
		H3cQoSTrafficPriorityEntry ::=
			SEQUENCE { 
				h3cQoSTrafPrioProfIndex
					Integer32,
				h3cQoSTrafPrioActionIndex
					Integer32,
				h3cQoSTrafPrioDirection
					H3cQoSDirection,
				h3cQoSTrafPrioUserAclNum
					Integer32,
				h3cQoSTrafPrioUserAclRule
					Integer32,
				h3cQoSTrafPrioIpAclNum
					Integer32,
				h3cQoSTrafPrioIpAclRule
					Integer32,
				h3cQoSTrafPrioLinkAclNum
					Integer32,
				h3cQoSTrafPrioLinkAclRule
					Integer32,
				h3cQoSTrafPrioDscp
					Integer32,
				h3cQoSTrafPrioIpPre
					Integer32,
				h3cQoSTrafPrioIpPreFromCos
					TruthValue,
				h3cQoSTrafPrioCos
					Integer32,
				h3cQoSTrafPrioCosFromIpPre
					TruthValue,
				h3cQoSTrafPrioLocalPre
					Integer32,
				h3cQoSTrafPrioPolicedServiceType
					INTEGER,
				h3cQoSTrafPrioPolicedServiceDscp
					Integer32,
				h3cQoSTrafPrioPolicedServiceExp
					Integer32,
				h3cQoSTrafPrioPolicedServiceCos
					Integer32,
				h3cQoSTrafPrioPolicedServiceLoaclPre
					Integer32,
				h3cQoSTrafPrioPolicedServiceDropPriority
					Integer32,
				h3cQoSTrafPrioRowStatus
					RowStatus
			 }

		h3cQoSTrafPrioProfIndex OBJECT-TYPE
			SYNTAX Integer32 (1..65535)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of QoS profile which the traffic-priority action belongs to."
			::= { h3cQoSTrafficPriorityEntry 1 }
		
		h3cQoSTrafPrioActionIndex OBJECT-TYPE
			SYNTAX Integer32 (1..65535)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of traffic-priority action."
			::= { h3cQoSTrafficPriorityEntry 2 }
		
		h3cQoSTrafPrioDirection OBJECT-TYPE
			SYNTAX H3cQoSDirection
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The direction of traffic-priority action."
			::= { h3cQoSTrafficPriorityEntry 3 }
		
		h3cQoSTrafPrioUserAclNum OBJECT-TYPE
			SYNTAX Integer32 (0 | 5000..5999)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The number of user-based acl group."
			DEFVAL { 0 }
			::= { h3cQoSTrafficPriorityEntry 4 }
		
		h3cQoSTrafPrioUserAclRule OBJECT-TYPE
			SYNTAX Integer32 (0..65535)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The subitem of user-based acl rule."
			DEFVAL { 65535 }
			::= { h3cQoSTrafficPriorityEntry 5 }
		
		h3cQoSTrafPrioIpAclNum OBJECT-TYPE
			SYNTAX Integer32 (0 | 2000..3999)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The number of Ip-based acl group."
			DEFVAL { 0 }
			::= { h3cQoSTrafficPriorityEntry 6 }
		
		h3cQoSTrafPrioIpAclRule OBJECT-TYPE
			SYNTAX Integer32 (0..65535)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The subitem of IP-based acl rule."
			DEFVAL { 65535 }
			::= { h3cQoSTrafficPriorityEntry 7 }
		
		h3cQoSTrafPrioLinkAclNum OBJECT-TYPE
			SYNTAX Integer32 (0 | 4000..4999)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The number of Link-based acl group"
			DEFVAL { 0 }
			::= { h3cQoSTrafficPriorityEntry 8 }
		
		h3cQoSTrafPrioLinkAclRule OBJECT-TYPE
			SYNTAX Integer32 (0..65535)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The subitem of Link-based acl rule."
			DEFVAL { 65535 }
			::= { h3cQoSTrafficPriorityEntry 9 }
		
		h3cQoSTrafPrioDscp OBJECT-TYPE
			SYNTAX Integer32 (0..63 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Set new DSCP value of specifed flow.
				DSCP 255 is used as default value and for get/get-next operation of this
				node. If the user does not set action as remarking DSCP, then value 255
				is returned for get/get-next operation.
				"
			DEFVAL { 255 }
			::= { h3cQoSTrafficPriorityEntry 10 }
		
		h3cQoSTrafPrioIpPre OBJECT-TYPE
			SYNTAX Integer32 (0..7 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Set Ip precedence value of specifed flow.
				Ip precedence 255 is used as default value and for get/get-next operation of this
				node. If the user does not set action as remarking Ip precedence, then value 255
				is returned for get/get-next operation.
				"
			DEFVAL { 255 }
			::= { h3cQoSTrafficPriorityEntry 11 }
		
		h3cQoSTrafPrioIpPreFromCos OBJECT-TYPE
			SYNTAX TruthValue
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Set Ip precedence according to vlan priority.
				False(2)is used as default value and for get/get-next operation of this
				node. If the user does not set action as remarking Ip precedence from COS, then value 2
				is returned for get/get-next operation.
				"
			DEFVAL { 2 }
			::= { h3cQoSTrafficPriorityEntry 12 }
		
		h3cQoSTrafPrioCos OBJECT-TYPE
			SYNTAX Integer32 (0..7 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Set vlan priority of specifed flow.
				COS 255 is used as default value and for get/get-next operation of this
				node. If the user does not set action as remarking COS, then value 255
				is returned for get/get-next operation.
				"
			DEFVAL { 255 }
			::= { h3cQoSTrafficPriorityEntry 13 }
		
		h3cQoSTrafPrioCosFromIpPre OBJECT-TYPE
			SYNTAX TruthValue
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Set vlan priority according to IP precedence.
				False(2)is used as default value and for get/get-next operation of this
				node. If the user does not set action as remarking COS from Ip precedence, then value 2
				is returned for get/get-next operation.
				"
			DEFVAL { 2 }
			::= { h3cQoSTrafficPriorityEntry 14 }
		
		h3cQoSTrafPrioLocalPre OBJECT-TYPE
			SYNTAX Integer32 (0..7 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Set local precedence of specifed flow.
				Local precedence 255 is used as default value and for get/get-next operation of this
				node. If the user does not set action as remarking local precedence, then value 255
				is returned for get/get-next operation.
				"
			DEFVAL { 255 }
			::= { h3cQoSTrafficPriorityEntry 15 }
		
		h3cQoSTrafPrioPolicedServiceType OBJECT-TYPE
			SYNTAX INTEGER
				{
				invalid(0),
				trust-dscp(2),
				new-dscp(3),
				untrusted(4)
				}
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The service type of policed Priority.
				Policed Service is not allowed to be set with remarking DSCP,IpPrecedence,IpPrecedenceFromCOS,COS,COSFromIpPrecedence and LocalPrecedence action simultaneously on the same product.
				Policed service is user-predefined qos policy parameters.
				trust-dscp(2) means to decide new police service parameters by the DSCP value in the packets.
				new-dscp(3) means to decide new police service parameters by the new DSCP value set by the user.
				And a DSCP mapping table should be pre-defined in the hwDscpMapTable in the A3COM-HUAWEI-LswQos-MIB.
				Untrusted(4) means to set all the new DSCP,EXP,COS,Local precedence and Drop priority by the user.
				
				"
			DEFVAL { invalid }
			::= { h3cQoSTrafficPriorityEntry 16 }
		
		h3cQoSTrafPrioPolicedServiceDscp OBJECT-TYPE
			SYNTAX Integer32 (0..63 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The service Dscp of policed Priority"
			DEFVAL { 255 }
			::= { h3cQoSTrafficPriorityEntry 17 }
		
		h3cQoSTrafPrioPolicedServiceExp OBJECT-TYPE
			SYNTAX Integer32 (0..7 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The service Exp of policed Priority"
			DEFVAL { 255 }
			::= { h3cQoSTrafficPriorityEntry 18 }
		
		h3cQoSTrafPrioPolicedServiceCos OBJECT-TYPE
			SYNTAX Integer32 (0..7 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The service cos of policed Priority"
			DEFVAL { 255 }
			::= { h3cQoSTrafficPriorityEntry 19 }
		
		h3cQoSTrafPrioPolicedServiceLoaclPre OBJECT-TYPE
			SYNTAX Integer32 (0..7 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The service local pre of policed Priority"
			DEFVAL { 255 }
			::= { h3cQoSTrafficPriorityEntry 20 }
		
		h3cQoSTrafPrioPolicedServiceDropPriority OBJECT-TYPE
			SYNTAX Integer32 (0..2 | 255)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The service drop priority of proliced Priority"
			DEFVAL { 255 }
			::= { h3cQoSTrafficPriorityEntry 21 }
		
		h3cQoSTrafPrioRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"RowStatus,Now support three state:CreateAndGo,Active,Destroy."
			::= { h3cQoSTrafficPriorityEntry 22 }
		
		h3cQoSTrafficFilterTable OBJECT-TYPE
			SYNTAX SEQUENCE OF H3cQoSTrafficFilterEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Traffic filter table is used to deny or permit packets.
				IP and Link ACL rules can be applied simultaneously,
				IP and User based ACL rules can not be applied simultaneously,
				Link and User based ACL rules can not be applied simultaneously.
				Unused ones is represented with default values.
				To deny or permit packets,the ACL rules should be defined in h3cAcl table.
				The 'deny' or 'permit' action should be defined with ACL rules.
				In this table,a predefined ACL rules can be referenced in a specified QOS profile group.
				'Direction' means the ACL rules can be applied to the inbound or outbound packets.
				
				"
			::= { h3cQoSAction 3 }
		
		h3cQoSTrafficFilterEntry OBJECT-TYPE
			SYNTAX H3cQoSTrafficFilterEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION			 " "
			INDEX { h3cQoSTrafFilterProfIndex, h3cQoSTrafFilterActionIndex }
			::= { h3cQoSTrafficFilterTable 1 }
		
		H3cQoSTrafficFilterEntry ::=
			SEQUENCE { 
				h3cQoSTrafFilterProfIndex
					Integer32,
				h3cQoSTrafFilterActionIndex
					Integer32,
				h3cQoSTrafFilterDirection
					H3cQoSDirection,
				h3cQoSTrafFilterUserAclNum
					Integer32,
				h3cQoSTrafFilterUserAclRule
					Integer32,
				h3cQoSTrafFilterIpAclNum
					Integer32,
				h3cQoSTrafFilterIpAclRule
					Integer32,
				h3cQoSTrafFilterLinkAclNum
					Integer32,
				h3cQoSTrafFilterLinkAclRule
					Integer32,
				h3cQoSTrafFilterRowStatus
					RowStatus
			 }

		h3cQoSTrafFilterProfIndex OBJECT-TYPE
			SYNTAX Integer32 (1..65535)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of QoS profile which the traffic-filter action belongs to."
			::= { h3cQoSTrafficFilterEntry 1 }
		
		h3cQoSTrafFilterActionIndex OBJECT-TYPE
			SYNTAX Integer32 (1..65535)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of traffic-filter action."
			::= { h3cQoSTrafficFilterEntry 2 }
		
		h3cQoSTrafFilterDirection OBJECT-TYPE
			SYNTAX H3cQoSDirection
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The direction of traffic-filter action."
			::= { h3cQoSTrafficFilterEntry 3 }
		
		h3cQoSTrafFilterUserAclNum OBJECT-TYPE
			SYNTAX Integer32 (0 | 5000..5999 )
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The number of user-based acl group."
			DEFVAL { 0 }
			::= { h3cQoSTrafficFilterEntry 4 }
		
		h3cQoSTrafFilterUserAclRule OBJECT-TYPE
			SYNTAX Integer32 (0..65535)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The subitem of user-based acl rule."
			DEFVAL { 65535 }
			::= { h3cQoSTrafficFilterEntry 5 }
		
		h3cQoSTrafFilterIpAclNum OBJECT-TYPE
			SYNTAX Integer32 (0 | 2000..3999)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The number of Ip-based acl group."
			DEFVAL { 0 }
			::= { h3cQoSTrafficFilterEntry 6 }
		
		h3cQoSTrafFilterIpAclRule OBJECT-TYPE
			SYNTAX Integer32 (0..65535)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The subitem of IP-based acl rule."
			DEFVAL { 65535 }
			::= { h3cQoSTrafficFilterEntry 7 }
		
		h3cQoSTrafFilterLinkAclNum OBJECT-TYPE
			SYNTAX Integer32 (0 | 4000..4999)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The number of Link-based acl group"
			DEFVAL { 0 }
			::= { h3cQoSTrafficFilterEntry 8 }
		
		h3cQoSTrafFilterLinkAclRule OBJECT-TYPE
			SYNTAX Integer32 (0..65535)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"The subitem of Link-based acl rule."
			DEFVAL { 65535 }
			::= { h3cQoSTrafficFilterEntry 9 }
		
		h3cQoSTrafFilterRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"RowStatus,Now support three state:CreateAndGo,Active,Destroy."
			::= { h3cQoSTrafficFilterEntry 10 }
		
		h3cQoSProfPortMapping OBJECT IDENTIFIER ::= { h3cQoSProfObjects 3 }
		
		h3cQoSProfPortMappingTable OBJECT-TYPE
			SYNTAX SEQUENCE OF H3cQoSProfPortMappingEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Port mapping table is used to apply the qos profile to the port.
				If a qos profile is applied to the port, 
				then the port will have an entry in the table."
			::= { h3cQoSProfPortMapping 1 }
		
		h3cQoSProfPortMappingEntry OBJECT-TYPE
			SYNTAX H3cQoSProfPortMappingEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION			 " "
			INDEX { h3cQoSProfPortMappingIfIndex, h3cQoSProfPortMappingProfIndex }
			::= { h3cQoSProfPortMappingTable 1 }
		
		H3cQoSProfPortMappingEntry ::=
			SEQUENCE { 
				h3cQoSProfPortMappingIfIndex
					Integer32,
				h3cQoSProfPortMappingProfIndex
					Integer32,
				h3cQoSProfPortMappingRowStatus
					RowStatus
			 }

		h3cQoSProfPortMappingIfIndex OBJECT-TYPE
			SYNTAX Integer32 (1..2147483647)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The ifindex which the specified QoS profile group is applied to."
			::= { h3cQoSProfPortMappingEntry 1 }
		
		h3cQoSProfPortMappingProfIndex OBJECT-TYPE
			SYNTAX Integer32 (1..65535)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The index of specified QoS profile group."
			::= { h3cQoSProfPortMappingEntry 2 }
		
		h3cQoSProfPortMappingRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"RowStatus,Now support three state:CreateAndGo,Active,Destroy."
			::= { h3cQoSProfPortMappingEntry 3 }
		
		h3cQoSProfPortMappingModeTable OBJECT-TYPE
			SYNTAX SEQUENCE OF H3cQoSProfPortMappingModeEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Port mapping mode table is used to set mapping mode of the port.
				When a qos profile is applied to a port, the profile can have two working ways:
				1)The profile is the same for all the users connected to the port;
				2)The profile can be different for different users connected to the port;
				Port-based mode means the profile is the same for all the users.
				User-based mode means the profile is different for different users.
				Default value is port-based."
			::= { h3cQoSProfPortMapping 2 }
		
		h3cQoSProfPortMappingModeEntry OBJECT-TYPE
			SYNTAX H3cQoSProfPortMappingModeEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION			 " "
			INDEX { h3cQoSProfPortMappingModeIfIndex }
			::= { h3cQoSProfPortMappingModeTable 1 }
		
		H3cQoSProfPortMappingModeEntry ::=
			SEQUENCE { 
				h3cQoSProfPortMappingModeIfIndex
					Integer32,
				h3cQoSProfPortMappingMode
					INTEGER
			 }

		h3cQoSProfPortMappingModeIfIndex OBJECT-TYPE
			SYNTAX Integer32 (1..2147483647)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"The ifindex which the QoS profile mapping mode is applied to."
			::= { h3cQoSProfPortMappingModeEntry 1 }
		
		h3cQoSProfPortMappingMode OBJECT-TYPE
			SYNTAX INTEGER
				{
				user-based(1),
				port-based(2)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The QoS profile mapping mode of specifed port."
			DEFVAL { 2 }
			::= { h3cQoSProfPortMappingModeEntry 2 }
		
		h3cQoSProfDynPortMappingTable OBJECT-TYPE
			SYNTAX SEQUENCE OF H3cQoSProfDynPortMappingEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Dynamic port mapping table is used to get user' port,MAC address,IP address,VLAN ID and user-specified qos profiles.
				Network managers can allocate different QOS profile groups to different users.
				Once the user is on line, then the user-specified QOS profiles will be dynamically applied to the port the user connects.
				Each port can have different groups of users simultaneously connected.
				Each group of users can have assiociation with multiple QOS profiles simultaneously.
				So the user's port,MAC address,IP address and VLAN ID will replace the source information in the ACL rules refered in the QOS profiles.
				Once the user is off line, then the user-specified QOS profiles will be dynamically deleted from the port the user connects."
			::= { h3cQoSProfPortMapping 3 }
		
		h3cQoSProfDynPortMappingEntry OBJECT-TYPE
			SYNTAX H3cQoSProfDynPortMappingEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION			 " "
			INDEX { h3cQoSProfDynPortMappingIfIndex, h3cQoSProfDynPortMappingUserSrcMAC }
			::= { h3cQoSProfDynPortMappingTable 1 }
		
		H3cQoSProfDynPortMappingEntry ::=
			SEQUENCE { 
				h3cQoSProfDynPortMappingIfIndex
					Integer32,
				h3cQoSProfDynPortMappingUserSrcMAC
					MacAddress,
				h3cQoSProfDynPortMappingUserName
					OCTET STRING,
				h3cQoSProfDynPortMappingUserIPAddr
					IpAddress,
				h3cQoSProfDynPortMappingUserVLANID
					Integer32,
				h3cQoSProfDynPortMappingUserProfName
					OCTET STRING
			 }

		h3cQoSProfDynPortMappingIfIndex OBJECT-TYPE
			SYNTAX Integer32 (1..2147483647)
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"if index of the port user profile is applied."
			::= { h3cQoSProfDynPortMappingEntry 1 }
		
		h3cQoSProfDynPortMappingUserSrcMAC OBJECT-TYPE
			SYNTAX MacAddress
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"User sourc MAC address."
			::= { h3cQoSProfDynPortMappingEntry 2 }
		
		h3cQoSProfDynPortMappingUserName OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (1..32))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"User name."
			::= { h3cQoSProfDynPortMappingEntry 3 }
		
		h3cQoSProfDynPortMappingUserIPAddr OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"User IP address"
			::= { h3cQoSProfDynPortMappingEntry 4 }
		
		h3cQoSProfDynPortMappingUserVLANID OBJECT-TYPE
			SYNTAX Integer32 (1..65535)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"User VLAN ID."
			::= { h3cQoSProfDynPortMappingEntry 5 }
		
		h3cQoSProfDynPortMappingUserProfName OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (1..32))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"User profile name."
			::= { h3cQoSProfDynPortMappingEntry 6 }
		
		h3cQoSProfPortMappingTraps OBJECT IDENTIFIER ::= { h3cQosProfile 2 }
		
		h3cQoSProfPortMappingError NOTIFICATION-TYPE
			STATUS current
			DESCRIPTION 
				"An h3cQoSProfPortMappingError notification is generated
				when a qos profile fails to be applied on the port."
			::= { h3cQoSProfPortMappingTraps 1 }
		
		h3cQoSProfMibConformance OBJECT IDENTIFIER ::= { h3cQosProfile 3 }
		
		h3cQoSProfMibCompliances OBJECT IDENTIFIER ::= { h3cQoSProfMibConformance 1 }
		
		h3cQoSProfMibCompliance MODULE-COMPLIANCE
			STATUS current
			DESCRIPTION 
				"The compliance statement for QoS Profile MIB."
			MODULE -- this module
				MANDATORY-GROUPS { h3cQoSProfGroup, h3cQoSActionGroup, h3cQoSProfPortMappingGroup, h3cQoSProfPortMappingTrapsGroup }
			::= { h3cQoSProfMibCompliances 1 }
		
		h3cQoSProfMibGroups OBJECT IDENTIFIER ::= { h3cQoSProfMibConformance 2 }
		
		h3cQoSProfGroup OBJECT-GROUP
			OBJECTS { h3cQoSProfName, h3cQoSProfActionNumber, h3cQoSProfRowStatus }
			STATUS current
			DESCRIPTION 
				"Included table:
				h3cQoSProfTable."
			::= { h3cQoSProfMibGroups 1 }
		
		h3cQoSActionGroup OBJECT-GROUP
			OBJECTS { h3cQoSTrafLmtDirection, h3cQoSTrafLmtUserAclNum, h3cQoSTrafLmtUserAclRule, h3cQoSTrafLmtIpAclNum, h3cQoSTrafLmtIpAclRule, 
				h3cQoSTrafLmtLinkAclNum, h3cQoSTrafLmtLinkAclRule, h3cQoSTrafLmtTargetRateMbps, h3cQoSTrafLmtTargetRateKbps, h3cQoSTrafLmtPeakRate, 
				h3cQoSTrafLmtCIR, h3cQoSTrafLmtCBS, h3cQoSTrafLmtEBS, h3cQoSTrafLmtPIR, h3cQoSTrafLmtConformLocalPre, 
				h3cQoSTrafLmtConformActionType, h3cQoSTrafLmtExceedActionType, h3cQoSTrafLmtExceedDscp, h3cQoSTrafLmtExceedCos, h3cQoSTrafLmtRowStatus, 
				h3cQoSTrafLmtConformCos,h3cQoSTrafLmtConformDscp, 
				h3cQoSTrafPrioDirection, h3cQoSTrafPrioUserAclNum, h3cQoSTrafPrioUserAclRule, h3cQoSTrafPrioIpAclNum, h3cQoSTrafPrioIpAclRule, 
				h3cQoSTrafPrioLinkAclNum, h3cQoSTrafPrioLinkAclRule, h3cQoSTrafPrioDscp, h3cQoSTrafPrioIpPre, h3cQoSTrafPrioIpPreFromCos, 
				h3cQoSTrafPrioCos, h3cQoSTrafPrioCosFromIpPre, h3cQoSTrafPrioLocalPre, h3cQoSTrafPrioPolicedServiceType, h3cQoSTrafPrioPolicedServiceDscp, 
				h3cQoSTrafPrioPolicedServiceExp, h3cQoSTrafPrioPolicedServiceCos, h3cQoSTrafPrioPolicedServiceLoaclPre, h3cQoSTrafPrioPolicedServiceDropPriority, h3cQoSTrafPrioRowStatus, 
				h3cQoSTrafFilterDirection, h3cQoSTrafFilterUserAclNum, h3cQoSTrafFilterUserAclRule, h3cQoSTrafFilterIpAclNum, h3cQoSTrafFilterIpAclRule, 
				h3cQoSTrafFilterLinkAclNum, h3cQoSTrafFilterLinkAclRule, h3cQoSTrafFilterRowStatus }
			STATUS current
			DESCRIPTION 
				"Included table:
				1)h3cQoSTrafficLimitTable.
				2)h3cQoSTrafficPriorityTable.
				3)h3cQoSTrafficFilterTable
				"
			::= { h3cQoSProfMibGroups 2 }
		
		h3cQoSProfPortMappingGroup OBJECT-GROUP
			OBJECTS { h3cQoSProfPortMappingRowStatus, h3cQoSProfPortMappingMode, h3cQoSProfDynPortMappingUserName, h3cQoSProfDynPortMappingUserIPAddr, h3cQoSProfDynPortMappingUserVLANID, 
				h3cQoSProfDynPortMappingUserProfName }
			STATUS current
			DESCRIPTION 
				"Included tables:
				1)h3cQoSProfPortMappingTable.
				2)h3cQoSProfPortMappingModeTable.
				3)h3cQoSProfDynPortMappingTable.				
				"
			::= { h3cQoSProfMibGroups 3 }
		
		h3cQoSProfPortMappingTrapsGroup NOTIFICATION-GROUP
			NOTIFICATIONS { h3cQoSProfPortMappingError }
			STATUS current
			DESCRIPTION 
				"Included:
				h3cQoSProfPortMappingTraps."
			::= { h3cQoSProfMibGroups 4 }
		
	
	END
