-- *****************************************************************
-- MP2600-RIP.my:  Maipu enterprise RIP MIB file
--
-- Dec 12, 2000 Huang lulu
-- Sep 05, 2002 Huang lulu
--
-- Copyright (c)  by Maipu DataComm Inc.
-- All rights reserved.
-- 
-- *****************************************************************
--
   
   MPRIP-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, Counter32,
       IpAddress, Unsigned32		FROM SNMPv2-SMI
       RowStatus					FROM SNMPv2-TC
       mpMgmt						FROM MAIPU-SMI;


   mpRipMib  MODULE-IDENTITY
           LAST-UPDATED "0012122030Z"      -- Fri Dec 12 20:30:04 PDT 2000
           ORGANIZATION "Maipu DataComm"
           CONTACT-INFO
          "       Huang lulu
          Postal: Maipu Inc
                  Tel: (028)5161006
          E-Mail: office@maipu.com "

        DESCRIPTION
	 "The MIB module to describe the RIP Protocol for Maipu Router"
     ::= { mpMgmt 11 }

   -- RIP Managemeng Information Base
   
   -- **********************
   -- SMI
   -- **********************
   
    ripGlobals OBJECT IDENTIFIER ::= { mpRipMib 1 }

    ripNet OBJECT IDENTIFIER ::= { mpRipMib 2 }

    ripIf OBJECT IDENTIFIER ::= { mpRipMib 3 }

   -- **********************
   -- RIP Globals
   -- **********************
   
    ripAutoSumm OBJECT-TYPE
    	SYNTAX	INTEGER {
		noAuto-summary(1),
		auto-summary(2)
		}
    	MAX-ACCESS   read-write        
    	STATUS	current
    	DESCRIPTION
    	    "Enable automatic network number summarization."
    	DEFVAL { noAuto-summary }
    	::= { ripGlobals 1 }
    	
    ripDefaultMetric OBJECT-TYPE
    	SYNTAX	Unsigned32 (0..255)
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define a default metric value."
    	DEFVAL { 1 }
    	::= { ripGlobals 2 }
    	 
	ripRedisOspfMetric	OBJECT-TYPE
    	SYNTAX	INTEGER (1..15)
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define a OSPF metric value."
    	::= { ripGlobals 3 }
   
	ripRedisStaticMetric	OBJECT-TYPE
    	SYNTAX	INTEGER (1..15)
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define a Static metric value."
    	::= { ripGlobals 4 }
   
	ripRedisSnspMetic	OBJECT-TYPE
    	SYNTAX	INTEGER (1..15)
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define a SNSP metric value."
    	::= { ripGlobals 5 }
   
	ripRedisBgpMetric	OBJECT-TYPE
    	SYNTAX	INTEGER (1..15)
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define a BGP metric value."
    	::= { ripGlobals 6 }
   
	ripRedisConnectedMetric	OBJECT-TYPE
    	SYNTAX	INTEGER (1..15)
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define a Connected metric value."
    	::= { ripGlobals 7 }
   
    ripDistance OBJECT-TYPE
    	SYNTAX	Unsigned32 (0..255)
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define an administrative distance."
    	::= { ripGlobals 8 }
    	
    ripUpdate OBJECT-TYPE
    	SYNTAX	Unsigned32
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define interval between routing updates."
    	::= { ripGlobals 9 }
    	
    ripHolddown OBJECT-TYPE
    	SYNTAX	Unsigned32
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define holddown time."
    	::= { ripGlobals 10 }
    	
    ripInvalid OBJECT-TYPE
    	SYNTAX	Unsigned32 (1..4294967295)
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define Interval of time after which a route is 
    	    declared invalid, at least 3 times of the value 
    	    of ripConfUpdate"
    	::= { ripGlobals 11 }
    	
    ripFlush OBJECT-TYPE
    	SYNTAX	Unsigned32 (1..4294967295)
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define Elaped time before deleting garbage route.
    	    must more than ripConfInvalid."
    	::= { ripGlobals 12 }
    	
    ripVersion OBJECT-TYPE
    	SYNTAX	INTEGER {
    		ripVer1(1),
    		ripVer2(2)
    		}
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Routing Protocol Version. Default Value is Version 2."
    	DEFVAL { ripVer2 }
        ::= { ripGlobals 13 }
          
    ripMaxPath OBJECT-TYPE
    	SYNTAX	INTEGER (1..6)
    	MAX-ACCESS   read-write
    	STATUS	current
    	DESCRIPTION
    	    "Define interval between routing updates."
    	DEFVAL { 4 }
    	::= { ripGlobals 14 }
    	
    	          
   -- **********************
   -- RIP Networks
   -- **********************
   
  -- ***********************
  -- network
      	
    ripNetworkTable OBJECT-TYPE
    	SYNTAX	SEQUENCE OF RipNetworkEntry
    	MAX-ACCESS   not-accessible
    	STATUS	current
    	DESCRIPTION
    	    "The valid RIP Networks."
    	::= { ripNet 1 }

    ripNetworkEntry OBJECT-TYPE
    	SYNTAX	RipNetworkEntry
    	MAX-ACCESS  not-accessible
    	STATUS	current
    	DESCRIPTION
    	    "Single Network in the Rip Global Configuration."
    	INDEX { ripNetworkNum }
    	::= { ripNetworkTable 1 }
    	
    RipNetworkEntry ::=
    	SEQUENCE { 
    		ripNetworkNum
    			IpAddress,
    		ripNetworkStatus
    			RowStatus
    		}
    		
  --  ripNetworkIndex OBJECT-TYPE
  --  	SYNTAX	INTEGER
  --  	MAX-ACCESS  not-accessible
  --  	STATUS	current
  --  	DESCRIPTION
  --  	    "For the index of the RipNetworkTable."
  --  	::= { RipNetworkEntry 1 }
    	
    ripNetworkNum OBJECT-TYPE
    	SYNTAX	IpAddress
    	MAX-ACCESS  read-create
    	STATUS	current
    	DESCRIPTION
    	    "The network-number corresponding with rip at the Router interfaces." 
    	::= { ripNetworkEntry 1 }
    	
    ripNetworkStatus OBJECT-TYPE
    	SYNTAX	RowStatus
    	MAX-ACCESS   read-create
    	STATUS	current
    	DESCRIPTION
    	    "Writing invalid has  the  effect  of  deleting
           this interface."
        ::= { ripNetworkEntry 2 }
  
  -- ***********************
  -- neighbor
    		
    ripNeighborTable OBJECT-TYPE
    	SYNTAX	SEQUENCE OF RipNeighborEntry
    	MAX-ACCESS   not-accessible
    	STATUS	current
    	DESCRIPTION
    	    "Specify the list of neighbor routers."
    	::= { ripNet 2 }
    	
    ripNeighborEntry OBJECT-TYPE
    	SYNTAX	RipNeighborEntry
    	MAX-ACCESS  not-accessible
    	STATUS	current
    	DESCRIPTION
    	    "Single neighbor router in the list."
    	INDEX { ripNeighborAddr }
    	::= { ripNeighborTable 1 }
    	
    RipNeighborEntry ::=
    	SEQUENCE {
    		ripNeighborAddr
    			IpAddress,
    		ripNeighborStatus
    			RowStatus
    		}
    		
  --  ripNeighborIndex OBJECT-TYPE
  --  	SYNTAX	INTEGER
  --  	MAX-ACCESS  not-accessible
  --  	STATUS	current
  --  	DESCRIPTION
  --  	    "For the index of ripNeighborTable."
  --  	::= { ripNeighborEntry 1 }
    	
    ripNeighborAddr OBJECT-TYPE
    	SYNTAX	IpAddress
    	MAX-ACCESS  read-create
    	STATUS	current
    	DESCRIPTION
    	    "Address of neighbor router of this router."
    	::= { ripNeighborEntry 1 }  
    	
    ripNeighborStatus OBJECT-TYPE
    	SYNTAX	RowStatus
    	MAX-ACCESS  read-create
    	STATUS	current
    	DESCRIPTION
    	    "Writing invalid has  the  effect  of  deleting
           this interface."
        ::= { ripNeighborEntry 2 }
        
  -- ************************
  -- irmp        
        
    ripRedisIrmpTable OBJECT-TYPE
    	SYNTAX	SEQUENCE OF RipRedisIrmpEntry
    	MAX-ACCESS   not-accessible
    	STATUS	current
    	DESCRIPTION
    	    "RIPطַIRMP."
    	::= { ripNet 3 }
    	
    ripRedisIrmpEntry OBJECT-TYPE
    	SYNTAX	RipRedisIrmpEntry
    	MAX-ACCESS  not-accessible
    	STATUS	current
    	DESCRIPTION
    	    "Single neighbor router in the list."
    	INDEX { ripRedisIrmpAutoNo }
    	::= { ripRedisIrmpTable 1 }
    	
    RipRedisIrmpEntry ::=
    	SEQUENCE {
        	ripRedisIrmpAutoNo	INTEGER,
        	ripRedisIrmpMetric	INTEGER,
        	ripRedisIrmpStatus	RowStatus
        		}

    ripRedisIrmpAutoNo OBJECT-TYPE
    	SYNTAX	INTEGER (1..65535)
    	MAX-ACCESS  read-create
    	STATUS	current
    	DESCRIPTION
    	    "RIPطַIRMPκ."
        ::= { ripRedisIrmpEntry 1 }

    ripRedisIrmpMetric OBJECT-TYPE
    	SYNTAX	INTEGER (1..15)
    	MAX-ACCESS  read-create
    	STATUS	current
    	DESCRIPTION
    	    "RIPطַIRMPֵ."
        ::= { ripRedisIrmpEntry 2 }

    ripRedisIrmpStatus OBJECT-TYPE
    	SYNTAX	RowStatus
    	MAX-ACCESS  read-create
    	STATUS	current
    	DESCRIPTION
    	    "RIPطַIRMP״̬."
        ::= { ripRedisIrmpEntry 3 }

      
   -- ************************  
   -- rip Interface Table	
   -- ************************
   
   -- ************************
   -- rip Interface Status Table

    ripIfStatTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF RipIfStatEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A list of subnets which require separate
           status monitoring in rip."
       ::= { ripIf 1 }
       
    ripIfStatEntry OBJECT-TYPE
    	SYNTAX	RipIfStatEntry
    	MAX-ACCESS   not-accessible
    	STATUS	current
    	DESCRIPTION
    		"A single Routing Domain in a single Subnet."
    	INDEX { ripIfStatIndex }
    	::= { ripIfStatTable 1 }
    	
    RipIfStatEntry ::=
    	SEQUENCE {
    		ripIfStatIndex
    			Unsigned32,
    		ripIfStatType
    			INTEGER,
    		ripIfStatStatus
    			INTEGER,
    		ripIfStatLocalAddr
    			IpAddress,
    		ripIfStatRemoteAddr
    			IpAddress,
    		ripIfStatUniqueAddr
    			IpAddress,
    		ripIfStatRecvBadPkts
    			Counter32,
    		ripIfStatRecvBadRoutes
    			Counter32,
    		ripIfStatRecvPkts
    			Counter32,
    		ripIfStatSendPkts
    			Counter32,
    		ripIfStatSendErrors
    			Counter32
    	}
    	
    ripIfStatIndex OBJECT-TYPE
        SYNTAX   Unsigned32		
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The Index of the router interfaces, to index the list of 
           ripIfStatTable."
       ::= { ripIfStatEntry 1 }
       
    ripIfStatType OBJECT-TYPE
        SYNTAX   INTEGER {
        			point-to-point(1),
        			lookback(2),
        			broadcast(3)
        				}
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The Type of the router interfaces."
       ::= { ripIfStatEntry 2 }
       
    ripIfStatStatus OBJECT-TYPE
        SYNTAX   INTEGER {
        			up(1),
        			down(2)
        				}
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The status of the router interfaces."
       ::= { ripIfStatEntry 3 }
       
    ripIfStatLocalAddr OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The local IP address of the router interfaces."
       ::= { ripIfStatEntry 4 }
       
    ripIfStatRemoteAddr OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The local IP address of the router interfaces."
       ::= { ripIfStatEntry 5 }
       
    ripIfStatUniqueAddr OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The local IP address of the router interfaces."
       ::= { ripIfStatEntry 6 }
       
    ripIfStatRecvBadPkts OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of rip response packets received by
           the rip process which were subsequently discarded
           for any reason (e.g. a version 0 packet, or an
           unknown command type)."
       ::= { ripIfStatEntry 7 }

    ripIfStatRecvBadRoutes OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of routes, in valid rip packets,
           which were ignored for any reason (e.g. unknown
           address family, or invalid metric)."
       ::= { ripIfStatEntry 8 }

    ripIfStatRecvPkts OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of rip response packets received by
           the rip process."
       ::= { ripIfStatEntry 9 }

    ripIfStatSendPkts OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of routes, in valid rip packets."
       ::= { ripIfStatEntry 10 }

    ripIfStatSendErrors OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The error number of rip response packets send by
           the rip process."
       ::= { ripIfStatEntry 11 }

      
   -- *************************************    
   -- rip Interface Configuration Table
    
    ripIfConfTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF RipIfConfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A list of subnets which require separate
           configuration in rip."
       ::= { ripIf 2 }

    ripIfConfEntry OBJECT-TYPE
        SYNTAX   RipIfConfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A Single Routing Domain in a single Subnet."
       INDEX { ripIfConfIndex }
       ::= { ripIfConfTable 1 }
       
    RipIfConfEntry ::=
    	SEQUENCE {
    		ripIfConfIndex
    			Unsigned32,
    		ripIfConfIp
    			IpAddress,
    		ripIfConfPassive
    			INTEGER,
    		ripIfConfAuthMode
    			INTEGER,
    		ripIfConfAuthKey
    			INTEGER,
    		ripIfConfAuthPwd
    			OCTET STRING (SIZE(0..16)),
    		ripIfConfRecvVer
    			INTEGER,
    		ripIfConfSendVer
    			INTEGER,
    		ripIfConfStatus
    			RowStatus
    	}
    	
    ripIfConfIndex OBJECT-TYPE
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The index of the router interfaces, to index the list of 
           ripIfConfTable."
       ::= { ripIfConfEntry 1 }

    ripIfConfIp	OBJECT-TYPE
   	SYNTAX	IpAddress
   	MAX-ACCESS  read-only
   	STATUS	current
   	DESCRIPTION
   	   "The IP address of the interface."
   	::= { ripIfConfEntry 2 }
 	
    ripIfConfPassive OBJECT-TYPE
        SYNTAX INTEGER  {
        	suppress(1),
        	noSuppress(2)
        }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "Boolean Value to Suppress routing updates on the 
           indecated interface"
       DEFVAL { noSuppress }
       ::= { ripIfConfEntry 3 }

    ripIfConfAuthMode OBJECT-TYPE
        SYNTAX   INTEGER {
                    noAuthentication (1),
                    simplePassword (2),
                    md5(3)
                 }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The type of Authentication used on this
           interface."
       DEFVAL { noAuthentication }
       ::= { ripIfConfEntry 4 }

    ripIfConfAuthKey OBJECT-TYPE
        SYNTAX   INTEGER {
                    noEncrypt (1),
                    encrypt (2)
                 }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The type of Authentication used on this
           interface."
       DEFVAL { noAuthentication }
       ::= { ripIfConfEntry 5 }

    ripIfConfAuthPwd OBJECT-TYPE
        SYNTAX   OCTET STRING
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The value to be used as the Authentication Key
           whenever the corresponding instance of
           rip2IfConfAuthType has a value other than
           noAuthentication.  A modification of the corresponding
           instance of ripIfConfAuthMode does not modify
           the ripIfConfAuthKey value.  If a string shorter
           than 16 octets is supplied, it will be left-
           justified and padded to 16 octets, on the right,
           with nulls (0x00).
           Reading this object always results in an  OCTET
           STRING of length zero; authentication may not
           be bypassed by reading the MIB object."
       DEFVAL { ''h }
       ::= { ripIfConfEntry 6 }

    ripIfConfRecvVer OBJECT-TYPE
        SYNTAX   INTEGER {
                    rip1(1),
                    rip2(2),
                    rip1Orrip2(3)
                 }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "This indicates which version of rip updates
           are to be accepted.  Note that rip2 and
           rip1Orrip2 implies reception of multicast
           packets."
       DEFVAL { rip2 }
       ::= { ripIfConfEntry 7 }

    ripIfConfSendVer OBJECT-TYPE
        SYNTAX   INTEGER {
                    rip1(1),
                    rip2(2),
                    rip1Orrip2(3),
                    ripNoSend(4)

--                    ripDonotSend (1),
--                    ripVersion1 (2),
--                    ripCompatible (3),
--                    ripVersion2 (4)
                 }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "What the router sends on this interface.
           ripVersion1 implies sending rip updates compliant
           with  RFC  1058.  ripVersion2 implies
           multicasting rip-2 updates."
       DEFVAL { ripVersion2 }
       ::= { ripIfConfEntry 8 }
      
    ripIfConfStatus OBJECT-TYPE
    	SYNTAX	RowStatus
    	MAX-ACCESS  read-create
    	STATUS	current
    	DESCRIPTION
    	    "RIPӿ״̬."
        ::= { ripIfConfEntry 9 }

END
 