-- ============================================================================
-- Copyright (C) 2012 by HUAWEI TECHNOLOGIES. All rights reserved.
-- Description: This MIB module provides certain configuration functions for the CPU overload control feature. 
--              The functions include the configuration of the mapping relation between the OLC queue and the priority, 
--              configuration and query of the attributes in the OLC queue, and configuration and query of the parameters 
--              of the system-level leaky bucket. The CPU overload control function is used for preventing the overuse of 
--              system resources of the device. This is to ensure that the interruption of all the service and the management 
--              failure of the NMS do not occur due to the overuse of CPU or other system resources.
-- Reference:  
-- Version: V1.08
-- ============================================================================
HUAWEI-OLC-MIB DEFINITIONS ::= BEGIN

IMPORTS
        huaweiUtility           
                FROM HUAWEI-MIB         
        Unsigned32, Counter32, OBJECT-TYPE, MODULE-IDENTITY         
                FROM SNMPv2-SMI;
    
        hwOverLoadControl MODULE-IDENTITY 
            LAST-UPDATED "201206270000Z"
            ORGANIZATION "Huawei Technologies Co.,Ltd."
            CONTACT-INFO                                    
                         "Huawei Industrial Base            
                          Bantian, Longgang                 
                          Shenzhen 518129                   
                          People's Republic of China        
                          Website: http://www.huawei.com    
                          Email: support@huawei.com         
                         "                                  
            DESCRIPTION                         
                "
                This MIB module provides certain configuration functions for the CPU overload control feature. 
                The functions include the configuration of the mapping relation between the OLC queue and the priority,
                configuration and query of the attributes in the OLC queue, and configuration and query of the parameters 
                of the system-level leaky bucket. The CPU overload control function is used for preventing the overuse of 
                system resources of the device. This is to ensure that the interruption of all the service and the management 
                failure of the NMS do not occur due to the overuse of CPU or other system resources.
                " 
                 
--  Revision history 
        REVISION    "201206270000Z"
        DESCRIPTION "V1.08, 1.Change the minimum value of hwOverLoadControlThreshold1 from 30 to 70.
                            2.Change the minimum value of hwOverLoadControlThreshold2 from 31 to 71."
        
        REVISION    "201105090000Z"
        DESCRIPTION "V1.07, the table hwOverLoadControlQueue is obsoleted."

        REVISION    "201011090000Z"
        DESCRIPTION "V1.06, The description of this MIB is modified according to the tool."

        REVISION    "201008250000Z"
        DESCRIPTION "V1.05, modified the contact-info and the revision history. Modified the description of leaves."
               
        REVISION    "201007290000Z"
        DESCRIPTION "V1.04, 1. The descriptions of hwOverLoadControlQueue0Weight, hwOverLoadControlQueue1Weight, hwOverLoadControlQueue2Weight, 
                     hwOverLoadControlQueue3Weight, hwOverLoadControlQueue4Weight, hwOverLoadControlQueue5Weight, hwOverLoadControlQueue6Weight,
                     hwOverLoadControlQueue7Weight, hwOverLoadControlQueueParaEntry, hwOverLoadControlQueueParaEntry, hwOverLoadControlThreshold1, 
                     and hwOverLoadControlThreshold2 were modified.
                     2. The default values of hwOverLoadControlQueue0Weight were changed to 7. 
                     The default values of hwOverLoadControlQueue1Weight was changed to 8.
                     The default values of hwOverLoadControlQueue2Weight was changed to 9.
                     The default values of hwOverLoadControlQueue3Weight was changed to 10.
                     The default values of hwOverLoadControlQueue4Weight was changed to 15.
                     The default values of hwOverLoadControlQueue5Weight was changed to 16.
                     The default values of hwOverLoadControlQueue6Weight was changed to 17.
                     The default values of hwOverLoadControlQueue7Weight was changed to 18." 
                      
        REVISION    "201005040000Z"
        DESCRIPTION "V1.03, DT requirements were implemented and the syntax and semantics of SIMPLETEST were changed."
              
        REVISION    "200811170000Z"
        DESCRIPTION "V1.02, modifed function description in hwOverLoadControlQueueWeight."  
              
        REVISION    "200807100000Z"
        DESCRIPTION "V1.01, completed the draft."             
            ::= { huaweiUtility 127 }

        hwOverLoadControlQueue OBJECT IDENTIFIER ::= { hwOverLoadControl 1 }

              
        hwOverLoadControlCosQueueMappingMask OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-write
            STATUS obsolete
            DESCRIPTION
                "
                Indicate how the cos maps to the queue ID.          
                Every four bits indicate the queue ID corresponding to one cos value.
                The range of the queue ID is from 0 to 7.    
                
                bit value:                bit31                              bit0
                                          0000 0000 0000 0000 0000 0000 0000 0000
                cos value:                cos7 cos6 cos5 cos4 cos3 cos2 cos1 cos0
                DEFVAL { 1985229328 }
               "
            ::= { hwOverLoadControlQueue 1 }

        
        hwOverLoadControlQueueWeight OBJECT IDENTIFIER ::= { hwOverLoadControlQueue 2 }

        hwOverLoadControlQueue0Weight OBJECT-TYPE
            SYNTAX Unsigned32 (1..93)
            MAX-ACCESS read-write
            STATUS obsolete
            DESCRIPTION
                "
                The weight value of the 0th WRR queue. WRR (Weighted Round Robin)
                DEFVAL { 7 }
                "        
            ::= { hwOverLoadControlQueueWeight 1 }

        hwOverLoadControlQueue1Weight OBJECT-TYPE
            SYNTAX Unsigned32 (1..93)
            MAX-ACCESS read-write
            STATUS obsolete
            DESCRIPTION
                "
                The weight value of the 1st WRR queue. WRR (Weighted Round Robin)
                DEFVAL { 8 }
                "  
            ::= { hwOverLoadControlQueueWeight 2 }

        hwOverLoadControlQueue2Weight OBJECT-TYPE
            SYNTAX Unsigned32 (1..93)
            MAX-ACCESS read-write
            STATUS obsolete
            DESCRIPTION
                "
                The weight value of the 2nd WRR queue. WRR (Weighted Round Robin)
                DEFVAL { 9 }
                "
            ::= { hwOverLoadControlQueueWeight 3 }


        hwOverLoadControlQueue3Weight OBJECT-TYPE
            SYNTAX Unsigned32 (1..93)
            MAX-ACCESS read-write
            STATUS obsolete
            DESCRIPTION
                "
                The weight value of the 3rd WRR queue. WRR (Weighted Round Robin)
                DEFVAL { 10 }
                "         
            ::= { hwOverLoadControlQueueWeight 4 }

        hwOverLoadControlQueue4Weight OBJECT-TYPE
            SYNTAX Unsigned32 (1..93)
            MAX-ACCESS read-write
            STATUS obsolete
            DESCRIPTION
                "
                The weight value of the 4th WRR queue. WRR (Weighted Round Robin)
                DEFVAL { 15 }
                "                     
            ::= { hwOverLoadControlQueueWeight 5 }

        hwOverLoadControlQueue5Weight OBJECT-TYPE
            SYNTAX Unsigned32 (1..93)
            MAX-ACCESS read-write
            STATUS obsolete
            DESCRIPTION
                "
                The weight value of the 5th WRR queue. WRR (Weighted Round Robin)
                DEFVAL { 16 }
                "                   
            ::= { hwOverLoadControlQueueWeight 6 }

        hwOverLoadControlQueue6Weight OBJECT-TYPE
            SYNTAX Unsigned32 (1..93)
            MAX-ACCESS read-write
            STATUS obsolete
            DESCRIPTION
                "
                The weight value of the 6th WRR queue. WRR (Weighted Round Robin)
                DEFVAL { 17 }
                "   
            ::= { hwOverLoadControlQueueWeight 7 }

        
        hwOverLoadControlQueue7Weight OBJECT-TYPE
            SYNTAX Unsigned32 (1..93)
            MAX-ACCESS read-write
            STATUS obsolete
            DESCRIPTION
                "
                The weight value of the 7th WRR queue. WRR (Weighted Round Robin)
                DEFVAL { 18 }
                "                       
            ::= { hwOverLoadControlQueueWeight 8 }

        hwOverLoadControlQueueParaTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwOverLoadControlQueueParaEntry
            MAX-ACCESS not-accessible
            STATUS obsolete
            DESCRIPTION
                "
                Olc wrr queues parameter table. 
                It is used for configuring and querying the number of messages of 0-7 OLC queues, and the counts of 
                tail drops and queue back pressures. The index of this table is hwOverLoadControlQueueID.
                "
            ::= { hwOverLoadControlQueue 3 }

        hwOverLoadControlQueueParaEntry OBJECT-TYPE
            SYNTAX HwOverLoadControlQueueParaEntry
            MAX-ACCESS not-accessible
            STATUS obsolete
            DESCRIPTION
                "
                Olc wrr queues parameter table.
                It is used for configuring and querying the number of messages of 0-7 OLC queues, and the counts of 
                tail drops and queue back pressures. The index of this entry is hwOverLoadControlQueueID.
                "
            INDEX { hwOverLoadControlQueueID }
            ::= { hwOverLoadControlQueueParaTable 1 }

        
        HwOverLoadControlQueueParaEntry ::=
            SEQUENCE 
            { 
                hwOverLoadControlQueueID
                    Unsigned32,
                hwOverLoadControlQueueMsgNum
                    Unsigned32,
                hwOverLoadControlQueueDiscardCount
                    Counter32,
                hwOverLoadControlQueueSuppressCount
                    Counter32
             }

        hwOverLoadControlQueueID OBJECT-TYPE
            SYNTAX Unsigned32 (0..7)
            MAX-ACCESS not-accessible
            STATUS obsolete
            DESCRIPTION
                "
                Olc wrr queue ID.
                "
            ::= { hwOverLoadControlQueueParaEntry 1 }

        hwOverLoadControlQueueMsgNum OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS obsolete
            DESCRIPTION
                "
                The number of Olc wrr queue messages, the number of messages currently buffered in the queue.
                " 
               ::= { hwOverLoadControlQueueParaEntry 2 }

        hwOverLoadControlQueueDiscardCount OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS obsolete
            DESCRIPTION
                "
                Olc wrr queue discard-count, the count of messages discarded because the queue is full.
                " 
            ::= { hwOverLoadControlQueueParaEntry 3 }

        hwOverLoadControlQueueSuppressCount OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS obsolete
            DESCRIPTION
                "
                Olc queue suppression count, the count of queue suppressed because the system is busy.
                "
            ::= { hwOverLoadControlQueueParaEntry 4 }

    
        hwOverLoadControlPara OBJECT IDENTIFIER ::= { hwOverLoadControl 2 }

        hwOverLoadControlThreshold1 OBJECT-TYPE
            SYNTAX Unsigned32 (70..99)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                It indicates the level-1 threshold of the system-level leaky bucket. The overload control is 
                implemented through the leak rate reduction, which starts when the CPU usage exceeds the level-1 threshold.
                DEFVAL { 80 }
                "  
            ::= { hwOverLoadControlPara 1 }

        hwOverLoadControlThreshold2 OBJECT-TYPE
            SYNTAX Unsigned32 (71..100)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                It indicates the level-2 threshold of the system-level leaky bucket. When the CPU usage exceeds the level-2 threshold, 
                the overload control is implemented according to the minimum traffic. The configured level-2 threshold of the system-level 
                leaky bucket must be higher than the level-1 threshold of the system-level leaky bucket.
                DEFVAL { 90 }
                "                        
            ::= { hwOverLoadControlPara 2 }

        hwOverLoadControlAdjustFactor OBJECT-TYPE
            SYNTAX Unsigned32 (1..1000)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                Olc system leakbucket adjust factor, means how long(units:second) can CPU overload be controlled. 
                DEFVAL { 20 }
                "  
            ::= { hwOverLoadControlPara 3 }

        
    
    END