 --
 -- WWP-QOS-MIB.my
 --
 --
 -- NOTE WELL
 -- Starting from LE21X 2.0, the object wwpQosResetCounters mentioned 
 -- in this MIB has been deprecated. The WWP products no longer
 -- will provide the functionlaity to reset port stats.
 -- NOTE WELL

 WWP-QOS-MIB DEFINITIONS ::= BEGIN

 IMPORTS 		
	TEXTUAL-CONVENTION FROM SNMPv2-TC
   Counter64, Integer32, OBJECT-TYPE, MODULE-IDENTITY			
	    FROM SNMPv2-SMI
   RowStatus 
            FROM SNMPv2-TC				
   wwpModules			
	    FROM WWP-SMI;
	
 wwpQosMIB MODULE-IDENTITY
	    LAST-UPDATED "200104031700Z"
	    ORGANIZATION "World Wide Packets, Inc"
	    CONTACT-INFO
		    "   Mib Meister
		  	Postal: World Wide Packets
		        P.O. Box 950
		        Veradale, WA 99037
		        USA
		 	Phone:  +1 509 242 9000
			Email:  mib.meister@worldwidepackets.com"
	    DESCRIPTION
		    "The MIB module for the WWP QOS specific information."
	    REVISION    "200104031700Z"
	    DESCRIPTION
		    "Initial creation."
	    ::= { wwpModules 12 }
	
 
 VlanId ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A 12-bit VLAN ID used in the VLAN Tag header."
    SYNTAX      INTEGER (1..4094)

					
 --
 -- Node definitions
 --
	
 wwpQosMIBObjects OBJECT IDENTIFIER ::= { wwpQosMIB 1 }
 
 wwpQos OBJECT IDENTIFIER ::= { wwpQosMIBObjects 1 }


 -- Notifications 
  
 wwpQosNotificationPrefix     OBJECT IDENTIFIER ::= { wwpQosMIB 2 } 
 wwpQosNotifications          OBJECT IDENTIFIER ::=  
                       { wwpQosNotificationPrefix 0 }

 -- Conformance information 
 
 wwpQosMIBConformance OBJECT IDENTIFIER ::= { wwpQosMIB 3 } 
 wwpQosMIBCompliances OBJECT IDENTIFIER ::= { wwpQosMIBConformance 1 } 		
 wwpQosMIBGroups      OBJECT IDENTIFIER ::= { wwpQosMIBConformance 2 }  		

 wwpQosTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF WwpQosEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "A Table of QOS per vlan per port Entries."
     ::= { wwpQos 1 }
		
 wwpQosEntry  OBJECT-TYPE
     SYNTAX       WwpQosEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "The QOS per vlan per port Entry in the Table."
     INDEX { wwpQosVlanId, wwpQosPortId }
     ::= { wwpQosTable 1 } 

 WwpQosEntry ::= SEQUENCE {
     wwpQosVlanId           VlanId, 
     wwpQosPortId           INTEGER,
     wwpQosRateLimit        Integer32,
     wwpQosPriQueue         Integer32,
     wwpQosRowStatus        RowStatus
  } 
 

 wwpQosVlanId       OBJECT-TYPE
     SYNTAX         VlanId 
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
	     "Vlan ID for this instance of QOS. This Vlan Id should refer to
             the  wwpVlanId in the WwpVlanEntry."
     ::= { wwpQosEntry 1 }		
 
 wwpQosPortId       OBJECT-TYPE
     SYNTAX         INTEGER (1..65535) 
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
	     "Port ID for this instance of .  Port ID's start at 1, and are
	     consecutive for each additional port. This port Id should 
             refer to the dot1dBasePort in the Dot1dBasePortEntry."
     ::= { wwpQosEntry 2 }		
 
 wwpQosRateLimit    OBJECT-TYPE
     SYNTAX         Integer32(0..10000000)
     UNITS          "kbps" 
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
	     "The ingress traffic rate limit to be applied for this QOS entry."
     DEFVAL { 0 }
     ::= { wwpQosEntry 3 }		

 wwpQosPriQueue     OBJECT-TYPE
     SYNTAX         Integer32(0..3)
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
	     "The TX-priority-queue value for this entry."
     DEFVAL { 0 }
     ::= { wwpQosEntry 4 }	

 wwpQosRowStatus    OBJECT-TYPE
     SYNTAX         RowStatus
     MAX-ACCESS     read-create
     STATUS         current
     DESCRIPTION
	     "Used to manage the creation and deletion of the 
	     conceptual rows in this table.

             To create a row in this table, a manager must
             set this object to 'createAndGo'."
     ::= { wwpQosEntry 5 }	

 wwpQosStatsTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF WwpQosStatsEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "A Table of QOS Stats per vlan per port Entries."
     ::= { wwpQos 2 }
		
 wwpQosStatsEntry  OBJECT-TYPE
     SYNTAX       WwpQosStatsEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "The QOS Stats per vlan per port Entry in the Table."
     INDEX { wwpQosStatsVlanId, wwpQosStatsPortId }
     ::= { wwpQosStatsTable 1 } 

 WwpQosStatsEntry ::= SEQUENCE {
     wwpQosStatsVlanId      VlanId, 
     wwpQosStatsPortId      INTEGER,
     wwpQosRxBytes          Counter64,
     wwpQosRxPkts           Counter64,
     wwpQosResetCounters    INTEGER
  } 

 wwpQosStatsVlanId       OBJECT-TYPE
     SYNTAX         VlanId 
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
	     "Vlan ID for this instance of QOS. This Vlan Id should refer to
             the  wwpVlanId in the WwpVlanEntry."
     ::= { wwpQosStatsEntry 1 }		
 
 wwpQosStatsPortId       OBJECT-TYPE
     SYNTAX         INTEGER (1..65535) 
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
	     "Port ID for this instance of .  Port ID's start at 1, and are
	     consecutive for each additional port. This port Id should 
             refer to the dot1dBasePort in the Dot1dBasePortEntry."
     ::= { wwpQosStatsEntry 2 }	

 wwpQosRxBytes      OBJECT-TYPE
     SYNTAX         Counter64
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
	     "The number of bytes received for this QOS Entry."
     ::= { wwpQosStatsEntry 3 }	

 wwpQosRxPkts       OBJECT-TYPE
     SYNTAX         Counter64
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
	     "The number of pkts received for this QOS Entry."
     ::= { wwpQosStatsEntry 4 }	

 
 wwpQosResetCounters   OBJECT-TYPE
     SYNTAX         INTEGER  {
                         none(0),
                         reset(1)
                    }
     MAX-ACCESS     read-write
     STATUS         deprecated
     DESCRIPTION
	     "To reset the counters related to this QOS entry. A read on 
             this object will always return the 'none'"
     ::= { wwpQosStatsEntry 5 }

 wwpQosPriToQMapTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF WwpQosPriToQMapEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "A Table of mapping of an RX-priority to a TX-queue."
     ::= { wwpQos 3 }
		
 wwpQosPriToQMapEntry  OBJECT-TYPE
     SYNTAX       WwpQosPriToQMapEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "The mapping Entry of an RX-priority to a TX-queue in the Table."
     INDEX { wwpQosRxPriority }
     ::= { wwpQosPriToQMapTable 1 } 

 WwpQosPriToQMapEntry ::= SEQUENCE { 
     wwpQosRxPriority        Integer32,
     wwpQosTxPriQueue        Integer32
 } 
 
 wwpQosRxPriority  OBJECT-TYPE
     SYNTAX         Integer32(0..7)
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
	     "The RX-prioroty value for this entry."   
     ::= { wwpQosPriToQMapEntry 1 }	 

 wwpQosTxPriQueue   OBJECT-TYPE
     SYNTAX         Integer32(0..3)
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
	     "The TX-priority-queue value for this entry."   
     ::= { wwpQosPriToQMapEntry 2 }	
 
 wwpQosPortTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF WwpQosPortEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "A Table of QOS per port Entries."
     ::= { wwpQos 4 }
		
 wwpQosPortEntry  OBJECT-TYPE
     SYNTAX       WwpQosPortEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "The QOS per port Entry in the Table."
     INDEX { wwpQosPortIndex }
     ::= { wwpQosPortTable 1 } 

 WwpQosPortEntry ::= SEQUENCE { 
     wwpQosPortIndex        INTEGER,
     wwpQosPortPriQueue     Integer32,
     wwpQosPortQAlgo        INTEGER,
     wwpQosPortQApplyMode   INTEGER
  } 
 
 
 wwpQosPortIndex    OBJECT-TYPE
     SYNTAX              INTEGER (1..65535) 
     MAX-ACCESS          read-only
     STATUS             current
     DESCRIPTION
	     "Port ID for this instance of .  Port ID's start at 1, and are
	     consecutive for each additional port. This port Id should 
             refer to the dot1dBasePort in the Dot1dBasePortEntry."
     ::= { wwpQosPortEntry 1 }	

 wwpQosPortPriQueue OBJECT-TYPE
     SYNTAX         Integer32(-1..3)
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
	     "The TX-priority-queue value for this entry. 
             The protocol entry in the hardware table will have the 
             specified TX-priority-queue value.
             If no priority is associated with the port, then it is set to -1."
      DEFVAL { -1 }
     ::= { wwpQosPortEntry 2 }	

 wwpQosPortQAlgo    OBJECT-TYPE
     SYNTAX         INTEGER  {
                         weighted(0),
                         strict(1)
                   }             
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
	     "The transmit queue servicing algorithm for the port. 
             It can be either set to strict or credir(Weighted Fair Queuing)."
     DEFVAL { strict }
     ::= { wwpQosPortEntry 3 }	

 wwpQosPortQApplyMode   OBJECT-TYPE
     SYNTAX             INTEGER {
                            none(0),
                            qosMgmtPerQueue(1),
                            qosMgmtForAllQueues(2)
                        }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
	     "This object decides whether to apply the config
             of all the queues together or one at a time. 

             If this object is set to mgmtForAllQueues , then the Agent 
             gets the config for all the 4 queues from the wwpQosPortQConfigTable 
             and apply the configuration to Qos manager. This object shouldn't be 
             set to mgmtForAllQueues unless all the 4 queues have been configured 
             with Qdepth and QWeight.

             If it is set to mgmtPerQueue,then the agent just get the config for
             each configured queue at a time and apply the config to the Qos Manager." 
     DEFVAL { none }               
     ::= { wwpQosPortEntry 4 } 

 wwpQosPortQConfTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF WwpQosPortQConfEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "A Table of QOS per port per Queue Entries."
     ::= { wwpQos 5 }
		
 wwpQosPortQConfEntry  OBJECT-TYPE
     SYNTAX       WwpQosPortQConfEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "The QOS per port per queue Config Entry in the Table.
             This config will apply to the Qos Manager depending
             upon the wwpQosPortQApplyMode in the wwpQosPortEntry."
     INDEX { wwpQosConfPortId, wwpQosConfQueueId }
     ::= { wwpQosPortQConfTable 1 } 

 WwpQosPortQConfEntry ::= SEQUENCE { 
     wwpQosConfPortId          INTEGER,     
     wwpQosConfQueueId         Integer32,
     wwpQosPortQConfWeight     Integer32,
     wwpQosPortQConfDepth      Integer32,
     wwpQosPortQConfStatus     RowStatus
  } 

 wwpQosConfPortId     OBJECT-TYPE
     SYNTAX           INTEGER (1..65535) 
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
	     "Port ID for this instance of .  Port ID's start at 1, and are
	     consecutive for each additional port. This port Id should 
             refer to the dot1dBasePort in the Dot1dBasePortEntry."
     ::= { wwpQosPortQConfEntry 1 }	 	
 
 wwpQosConfQueueId    OBJECT-TYPE
     SYNTAX           Integer32(0..3)
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
	     "The TX-priority-queue Id."           
     ::= { wwpQosPortQConfEntry 2 }	

 wwpQosPortQConfWeight     OBJECT-TYPE
     SYNTAX                Integer32(0..100)
     MAX-ACCESS            read-write
     STATUS                current
     DESCRIPTION
	     "The bandwidth servicing percentage for the specified port transmit queue.
             This config will apply to the Qos Manager depending
             upon the wwpQosPortQApplyMode in the wwpQosPortEntry."           
     ::= { wwpQosPortQConfEntry 3 }

 wwpQosPortQConfDepth     OBJECT-TYPE
     SYNTAX               Integer32(0..3)
     MAX-ACCESS           read-write
     STATUS               current
     DESCRIPTION
	     "The maximum packet depth for the specified port transmit queue.
             The depth value corresponds to:

             Depth Value  |  Actual Number of Packets
            --------------|---------------------------
             0            | 32
             1            | 64
             2            | 128
             3            | 256

     The maximum total queue depth that can be configured for the port is a 
     combination of depth values that would not exceed an actual packet count of 384.
     This config will apply to the Qos Manager depending upon the wwpQosPortQApplyMode 
     in the wwpQosPortEntry."
     ::= { wwpQosPortQConfEntry 4 }	

 wwpQosPortQConfStatus    OBJECT-TYPE
     SYNTAX               RowStatus
     MAX-ACCESS           read-create
     STATUS               current
     DESCRIPTION
	     "The RowStatus to create the config entry. The RowStatus must be set to 
             active for the wwpQosPortQApplyMode to be applied."           
     ::= { wwpQosPortQConfEntry 5 }		


 wwpQosPortQStatusTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF WwpQosPortQStatusEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "A Table of QOS per port per Queue Entries."
     ::= { wwpQos 6 }
		
 wwpQosPortQStatusEntry  OBJECT-TYPE
     SYNTAX       WwpQosPortQStatusEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
	     "The QOS per port per queue Entry in the Table."
     INDEX { wwpQosQPortId, wwpQosQueueId }
     ::= { wwpQosPortQStatusTable 1 } 

 WwpQosPortQStatusEntry ::= SEQUENCE { 
     wwpQosQPortId         INTEGER,     
     wwpQosQueueId         Integer32,
     wwpQosPortQWeight     Integer32,
     wwpQosPortQDepth      Integer32
  } 


 wwpQosQPortId      OBJECT-TYPE
     SYNTAX         INTEGER (1..65535) 
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
	     "Port ID for this instance of .  Port ID's start at 1, and are
	     consecutive for each additional port. This port Id should 
             refer to the dot1dBasePort in the Dot1dBasePortEntry."
     ::= { wwpQosPortQStatusEntry 1 }	 	
 
 wwpQosQueueId      OBJECT-TYPE
     SYNTAX         Integer32(0..3)
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
	     "The TX-priority-queue Id."           
     ::= { wwpQosPortQStatusEntry 2 }	

 wwpQosPortQWeight    OBJECT-TYPE
     SYNTAX           Integer32(0..100)
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
	     "The current bandwidth servicing percentage for the specified port transmit queue."           
     ::= { wwpQosPortQStatusEntry 3 }

 wwpQosPortQDepth         OBJECT-TYPE
     SYNTAX               Integer32(0..3)
     MAX-ACCESS           read-only
     STATUS               current
     DESCRIPTION
	     "The current maximum packet depth for the specified port transmit queue."    
     ::= { wwpQosPortQStatusEntry 4 }			


 wwpQosTxAssignmentMode  OBJECT-TYPE
     SYNTAX         INTEGER { 
                         useQos(0),
                         useGreater(1)
                    }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
	     "The QoS TX-priority-queue assignment mode.
             This affect the behavior for ALL QoS entries.
             Setting the mode to useQos(0) will cause the ASIC 
             to assign the TX-priority-queue value from the matching 
             QoS entry to the frame. When set to useGreater(1), the ASIC 
             will assign the greater of the two results:  
             QoS Tx-priority or RX-Pri-To-Q TX-priority."
     DEFVAL { useQos }   
     ::= { wwpQos 7 }	
 
 wwpQosPortTxAssignmentMode  OBJECT-TYPE
     SYNTAX         INTEGER { 
                         usePort(0),
                         useGreater(1)
                    }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
	     "The Port Protocol TX-priority-queue assignment mode.  
             This affect the behavior for ALL Port Protocol entries.  
             Setting the mode to usePort(0) will cause the ASIC to assign 
             the TX-priority-queue value from the matching Port Protocol 
             entry to the frame.  When set to useGreater(1), the ASIC will 
             assign the greater of the two results:  
             Port Protocol Tx-priority or RX-Pri-To-Q TX-priority."
     DEFVAL { usePort }   
     ::= { wwpQos 8 }	
 
 
 END

 --
 -- WWP-QOS-MIB
 --
