-- ================================================================
-- Copyright (C) 2020 by HUAWEI TECHNOLOGIES. All rights reserved
--
-- Description:The mib file is for management of huawei RIP extension
-- Reference:
-- Version: V1.05
-- History:
-- 2006.5.18, publish
-- 2014.5.28, modified
-- ================================================================

    HUAWEI-RIPV2-EXT-MIB DEFINITIONS ::= BEGIN
        IMPORTS
                   hwDatacomm
                     FROM HUAWEI-MIB
                   OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP         
                	 FROM SNMPv2-CONF
                   Integer32, Unsigned32, Counter64, OBJECT-TYPE, MODULE-IDENTITY, 
                   NOTIFICATION-TYPE               
                     FROM SNMPv2-SMI
                   RowStatus, DisplayString
                     FROM SNMPv2-TC; 
                    
-- 1.3.6.1.4.1.2011.5.25.120
    hwRipv2Ext MODULE-IDENTITY
        LAST-UPDATED "202001061010Z"        -- Jan 6, 2020 at 10:10 GMT
        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
            "The HUAWEI-RIPv2-EXT-MIB.mib contains objects to configure RIP
        module, including query RIP process, RIP VPN-instance configuration
        and status. This MIB module objects indicate hwRip2ProcInstTable.
                 
            RIP can support many processes, but mib can support only one of
        them. To get more RIP configuration, it is required to locate one 
        specified RIP process. "

        REVISION "202001061010Z"
        DESCRIPTION "Added 		            
	                hwRip2AuthModeInsecure,
                                   hwRip2AuthModeInsecureClear " 
--  Revision history
        REVISION     "201710241625Z"
        
        DESCRIPTION
                            " Modified hwRip2ProcessId,hwRip2CurrentProcId type."

--  Revision history
        REVISION     "201708171943Z"
        
        DESCRIPTION
                            " Modified hwRip2ProcInstTable,hwRip2CurrentProcId discription."

--  Revision history
        REVISION     "201409180930Z"

        DESCRIPTION
                                " Modified HwRip2ProcInstEntry sequence, extra comma is removed."

        REVISION     "201405281430Z"
        DESCRIPTION  "V.1.01, Added below nodes in hwRip2Ext 
	            	hwRip2Notifications 
	            	   hwRip2DBOverFlow 
	            	   hwRip2DBOverFlowResume
                hwRip2DBLimit and hwRip2DBThresholdLevel  as parameters for 
                hwRip2DBOverFlow and hwRip2DBOverFlowResume respectively."
        ::= { hwDatacomm 120 }
        



-- RIP Process-Instance Private Table

    hwRip2ProcInstTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF HwRip2ProcInstEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "This object indicates the current RIP process.
"
       ::= { hwRipv2Ext 1 }

   hwRip2ProcInstEntry OBJECT-TYPE
       SYNTAX   HwRip2ProcInstEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "Information about the VRF of a process."
      INDEX { hwRip2ProcessId }
      ::= { hwRip2ProcInstTable 1 }

    HwRip2ProcInstEntry ::=
        SEQUENCE {
            hwRip2ProcessId
                Unsigned32,
            hwRip2VrfName
                OCTET STRING,
            hwRip2CurrentProcId
                Unsigned32,
            hwRip2DBLimit
                Unsigned32,
            hwRip2DBThresholdLevel
                OCTET STRING
            }

    hwRip2ProcessId OBJECT-TYPE
        SYNTAX   Unsigned32 ( 1..4294967295)
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The RIP process id."
       ::= { hwRip2ProcInstEntry 1 }

    hwRip2VrfName OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(1..31))
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "VRF Name."
       ::= { hwRip2ProcInstEntry 2 }

    hwRip2CurrentProcId OBJECT-TYPE
        SYNTAX   Unsigned32 ( 1..4294967295)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object indicates the current RIP process.
"
       ::= { hwRip2ProcInstEntry 3 }      
           
   hwRip2DBLimit OBJECT-TYPE
        SYNTAX   Unsigned32 ( 1..200000 )
        MAX-ACCESS   accessible-for-notify
        STATUS   current
        DESCRIPTION
           "Maximum number of routes that can be added to RIP database.
           When this limit is reached, the RIP process will be suspended and hwRip2DBOverFlow notification will be sent."
       ::= { hwRip2ProcInstEntry 4 } 
     
   hwRip2DBThresholdLevel OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(1..8))
        MAX-ACCESS   accessible-for-notify
        STATUS   current
        DESCRIPTION
           "RIP database threshold value in percentage(%). 
            This is used only for RIP notifications."
       ::= { hwRip2ProcInstEntry 5 } 

-- conformance information

hwRip2Conformance   OBJECT IDENTIFIER ::= { hwRipv2Ext 2 }
hwRip2Notifications OBJECT IDENTIFIER ::= { hwRipv2Ext 3 }
hwRip2TrapsObjects  OBJECT IDENTIFIER ::= { hwRipv2Ext 4 }
hwRip2Groups        OBJECT IDENTIFIER ::= { hwRip2Conformance 1 }
hwRip2Compliances   OBJECT IDENTIFIER ::= { hwRip2Conformance 2 }

-- Trap Object
hwRip2InsecureAuthMode OBJECT-TYPE
            SYNTAX DisplayString (SIZE (0..32))
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                  "TThis object indicates the name of the insecure authentication mode configured for RIP."
            ::= { hwRip2TrapsObjects 1 }

-- Notification definitions   

hwRip2DBOverFlow NOTIFICATION-TYPE 
    OBJECTS { hwRip2CurrentProcId,  --  The RIP process id
              hwRip2DBLimit  -- Maximum number of routes added to RIP database                    
           } 
        STATUS       current 
        DESCRIPTION 
           "A hwRip2DBOverFlow notification signifies that there 
           has been maximum number of routes added to RIP database for
           the given process and no more routes can be added to RIP by
           redistibution or by learning.
 
           This notification should be generated when the number of routes
           added to RIP database reaches maximum value. RIP process will be suspended at this state." 
        ::= { hwRip2Notifications 1 }     

hwRip2DBOverFlowResume NOTIFICATION-TYPE 
    OBJECTS { hwRip2CurrentProcId,  --  The RIP process id
              hwRip2DBLimit,  -- Maximum number of routes added to RIP database  
              hwRip2DBThresholdLevel -- Threshold value at which the process recovers from overflow    
           } 
        STATUS       current 
        DESCRIPTION 
           "A hwRip2DBOverFlowResume notification signifies that the RIP database size has dropped to the
            lower threshold. RIP process will resume it's normal operation." 
        ::= { hwRip2Notifications 2 }          
 
hwRip2AuthModeInsecure NOTIFICATION-TYPE 
    OBJECTS { hwRip2InsecureAuthMode} 
        STATUS       current 
        DESCRIPTION 
           "This object indicates that an insecure authentication mode is configured for RIP." 
        ::= { hwRip2Notifications 3 }    

hwRip2AuthModeInsecureClear NOTIFICATION-TYPE 
    OBJECTS { hwRip2InsecureAuthMode} 
        STATUS       current 
        DESCRIPTION 
           "This object indicates that the insecure authentication mode configured for RIP is deleted." 
        ::= { hwRip2Notifications 4 }  	

-- compliance statements

hwRip2Compliance MODULE-COMPLIANCE
   STATUS  current
   DESCRIPTION
       "The compliance statement for SNMPv2 entities
       which implement the HUAWEI RIP extension MIB."

   MODULE  -- this module
   MANDATORY-GROUPS { hwRip2ExtGroup }
   
   GROUP           hwRip2NotificationsGroup
   DESCRIPTION
       "This group is required for RIP systems that
       support RIP notifications."

   ::= { hwRip2Compliances 1 }

-- units of conformance

hwRip2ExtGroup OBJECT-GROUP
    OBJECTS {
                        hwRip2VrfName, 
                        hwRip2CurrentProcId ,
                        hwRip2DBLimit ,
                        hwRip2DBThresholdLevel 
                       }
    STATUS  current
    DESCRIPTION
       "The HUAWEI RIPv2 extension Table."
    ::= { hwRip2Groups 2 }

hwRip2NotificationsGroup NOTIFICATION-GROUP 
            NOTIFICATIONS   { 
                            hwRip2DBOverFlow, 
                            hwRip2DBOverFlowResume ,
                            hwRip2AuthModeInsecure,
                            hwRip2AuthModeInsecureClear
                            } 
            STATUS          current 
            DESCRIPTION 
                "This group is used for RIP notifications" 
            ::= { hwRip2Groups 3 }
END
