--MibName=rcRouteManage  
-- *****************************************************************
-- RAISECOM-ROUTEMANAGE-MIB.MIB:  Raisecom RouteManage MIB file
-- Feb 2011, Yuyonghong
--
-- Copyright (c) 2011 by Raisecom, Inc.
-- All rights reserved.
--
-- *****************************************************************
RAISECOM-ROUTEMANAGE-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        Counter32, Gauge32,
        Unsigned32, Integer32                   FROM SNMPv2-SMI  
                                                
        InetAddress                             FROM INET-ADDRESS-MIB
        
        InterfaceIndexOrZero                    FROM IF-MIB
                  
        RowStatus, TruthValue,
        MacAddress,RowPointer                   FROM SNMPv2-TC    
        
        PortList                                FROM SWITCH-TC
        
        Vlanset				                    FROM SWITCH-TC 
     
        raisecomAgent	            	        FROM RAISECOM-BASE-MIB;

    	        
    raisecomRouteManage MODULE-IDENTITY
        LAST-UPDATED    "0412200000Z"  -- Dec 20, 2004
        ORGANIZATION    "Wind River Systems, Inc."
        CONTACT-INFO    "Wind River Systems, Inc.
                         E-mail: support@windriver.com"

        DESCRIPTION     "description of raisecomRouteManage object."

        REVISION        "0412200000Z"  -- Dec 20, 2004
        DESCRIPTION     "Initial MIB creation."

        ::= {raisecomAgent 30}
 
 
 --------------------------------------------------------------------------------------
--  groups in the ROSE Layer 3 MIB
--------------------------------------------------------------------------------------  
    raisecomRouteManageNotifications            OBJECT IDENTIFIER ::={ raisecomRouteManage 1 }    
    raisecomRouteManageObjects                  OBJECT IDENTIFIER ::={ raisecomRouteManage 2 }        
    raisecomRouteManageConformance              OBJECT IDENTIFIER ::={ raisecomRouteManage 3 } 
---------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------
--  groups in the ROSE Layer 3 MIB
--------------------------------------------------------------------------------------  
    raisecomRouteManageScalarGroup                 OBJECT IDENTIFIER ::={ raisecomRouteManageObjects 1 }  
    raisecomIpv4RouteManagScalarGroup              OBJECT IDENTIFIER ::={ raisecomRouteManageObjects 2 }        
    raisecomRouteManageTableGroup                  OBJECT IDENTIFIER ::={ raisecomRouteManageObjects 4 } 
---------------------------------------------------------------------------------------

-- -------------------------------------------------------------
-- scalar in the MIB
-- -------------------------------------------------------------   
--raisecomRouteManageScalarGroup 
    raisecomIpRMRouterId  OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Uniquely identifies the router." 
        DEFVAL          { 0 }       
        ::= { raisecomRouteManageScalarGroup 1 }
    
        
--raisecomIpv4RouteManagScalarGroup 
    raisecomIpv4RMDefaultGateway  OBJECT-TYPE
        SYNTAX IpAddress 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This address is used only when ip 
             routing is not-forwarding." 
        ::= { raisecomIpv4RouteManagScalarGroup 1 }

    raisecomIpv4RMMaxHwHostNum  OBJECT-TYPE
        SYNTAX Unsigned32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum number, if any, of hosts that 
             the hardware can support in its routing table." 
        ::= { raisecomIpv4RouteManagScalarGroup 2 }
        
    raisecomIpv4RMCurrentHwHostNum  OBJECT-TYPE
        SYNTAX Unsigned32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The current number of hosts the 
             hardware supports." 
        ::= { raisecomIpv4RouteManagScalarGroup 3 } 
     
    raisecomIpv4RMMaxHwSubnetNum  OBJECT-TYPE
        SYNTAX Unsigned32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum number, if any, of subnets that 
             the hardware can support in its routing table." 
        ::= { raisecomIpv4RouteManagScalarGroup 4 }
        
    raisecomIpv4RMCurrentHwSubnetNum  OBJECT-TYPE
        SYNTAX Unsigned32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The current number of subnets that 
             the hardware supports." 
        ::= { raisecomIpv4RouteManagScalarGroup 5 }
        
    raisecomIpv4RMMaxRouteNum  OBJECT-TYPE
        SYNTAX Unsigned32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum number of rows in the 
             raisecomIpv4RouteManageRouteTable." 
        ::= { raisecomIpv4RouteManagScalarGroup 6 }
        
    raisecomIpv4RMCurrentRouteNum  OBJECT-TYPE
        SYNTAX Unsigned32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The current number of rows in the 
             raisecomIpv4RouteManageRouteTable" 
        ::= { raisecomIpv4RouteManagScalarGroup 7 }
        
    raisecomIpv4RMMaxEcmpGroupNum  OBJECT-TYPE
        SYNTAX Unsigned32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Equipment-related; It represents 
            the total numbers of ipv4 equivalent 
            routes the device supports." 
        ::= { raisecomIpv4RouteManagScalarGroup 8 }
        
        
    raisecomIpv4RMCurrentEcmpGroupNum  OBJECT-TYPE
        SYNTAX Unsigned32 
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            "Equipment-related; It represents 
            the current numbers of ipv4 equivalent 
            routes the device supports." 
        ::= { raisecomIpv4RouteManagScalarGroup 9 }


    raisecomIpv4RMEcmpNextHopNum  OBJECT-TYPE
        SYNTAX Unsigned32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Equipment-related;It represents the 
             nexthop numbers to the same destination." 
        ::= { raisecomIpv4RouteManagScalarGroup 10 }
     
       
------------------------------------------------------------------
--table in the mib
------------------------------------------------------------------

--raisecomIpv4RouteManageRouteTable  

    raisecomIpv4RouteManageRouteTable      OBJECT-TYPE 
        SYNTAX   SEQUENCE OF raisecomIpv4RouteManageRouteEntry
        ACCESS	 not-accessible
        STATUS   current
        DESCRIPTION
                 "ipv4 route manage route information"
        ::= { raisecomRouteManageTableGroup   1 }

    raisecomIpv4RouteManageRouteEntry   OBJECT-TYPE
        SYNTAX raisecomIpv4RouteManageRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in raisecomIpv4RouteManageRouteTable."
        INDEX { raisecomIpv4RMRouteDest, raisecomIpv4RMRouteMask, raisecomIpv4RMRouteIndex}
        ::= { raisecomIpv4RouteManageRouteTable 1 }

    raisecomIpv4RouteManageRouteEntry  ::= SEQUENCE {
        raisecomIpv4RMRouteDest          IpAddress,
        raisecomIpv4RMRouteMask          IpAddress, 
        raisecomIpv4RMRouteIndex         Unsigned32,
        raisecomIpv4RMRouteNextHop       IpAddress,  
        raisecomIpv4RMRouteLearnFrom     IpAddress,
        raisecomIpv4RMRouteIfIndex       Integer32,  
        raisecomIpv4RMRouteTag           Integer32, 
        raisecomIpv4RMRouteType          INTEGER,
        raisecomIpv4RMRouteProto         INTEGER,
        raisecomIpv4RMRouteAge           Unsigned32,   
        raisecomIpv4RMRouteDistance      Unsigned32,
        raisecomIpv4RMRouteValid         TruthValue,
        raisecomIpv4RMRouteInfo          RowPointer,
        raisecomIpv4RMRouteMetric1       Integer32,   
        raisecomIpv4RMRouteMetric2       Integer32,
        raisecomIpv4RMRouteMetric3       Integer32,
        raisecomIpv4RMRouteMetric4       Integer32,
        raisecomIpv4RMRouteMetric5       Integer32
    }

    raisecomIpv4RMRouteDest  OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The destination IP address of this route. 
             An entry with a value of 0.0.0.0 is considered 
             a default route. Multiple routes to a single 
             destination can appear in the table, but access 
             to such multiple entries is dependent on the 
             table- access mechanisms defined by the network 
             management protocol in use."
        ::= { raisecomIpv4RouteManageRouteEntry 1 }

    raisecomIpv4RMRouteMask  OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Indicate the mask to be logical-ANDed 
            with the destination address  before being 
            compared to the value in the raisecomRouteDest field.
            If the value of the raisecomRouteDest is 0.0.0.0 
            (a default route), then the mask value is also 0.0.0.0 ."
        ::= { raisecomIpv4RouteManageRouteEntry 2 } 
        
    raisecomIpv4RMRouteIndex  OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The value which uniquely identifies the route 
            among the routes to the same network layer destination."
        ::= { raisecomIpv4RouteManageRouteEntry 3 } 
        
    raisecomIpv4RMRouteNextHop  OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The IP address of the next hop of this route."
        ::= { raisecomIpv4RouteManageRouteEntry 4 }  
        
    raisecomIpv4RMRouteLearnFrom  OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Where the route learned from."
        ::= { raisecomIpv4RouteManageRouteEntry 5 }
   
    raisecomIpv4RMRouteIfIndex  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The index value which uniquely identifies the
             local interface through which the next hop of 
             this route should be reached.  The interface 
             identified by a particular value of this index 
             is the same interface as identified by the same 
             value of ifIndex."
        ::= { raisecomIpv4RouteManageRouteEntry 6 }

    raisecomIpv4RMRouteTag  OBJECT-TYPE
        SYNTAX Integer32(0.. 2147483647)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Used to tag external routes."
        ::= { raisecomIpv4RouteManageRouteEntry 7 }
        
    raisecomIpv4RMRouteType  OBJECT-TYPE
        SYNTAX INTEGER {
                   other(1),               
                   invalid(2),               
                   direct(3),   
                   indirect(4)     
                   }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The type of route."
        ::= { raisecomIpv4RouteManageRouteEntry 8 }
           
    raisecomIpv4RMRouteProto  OBJECT-TYPE
        SYNTAX INTEGER {
                  other(1),       
                  local(2),      
                  netmgmt(3),    
                  icmp(4),                                                            
                  egp(5),
                  ggp(6),
                  hello(7),
                  rip(8),
                  is-is(9),
                  es-is(10),
                  ciscoIgrp(11),
                  bbnSpfIgp(12),
                  ospf(13),
                  bgp(14)
                  }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The routing mechanism via which this 
            route was learned."
        ::= { raisecomIpv4RouteManageRouteEntry 9 }        

    raisecomIpv4RMRouteAge  OBJECT-TYPE
        SYNTAX Unsigned32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of seconds since this route 
            was last updated or otherwise determined 
            to be correct.Note that no semantics of 
            `too old' can be implied except through 
            knowledge of the routing protocol by which 
            the route was learned."
        ::= { raisecomIpv4RouteManageRouteEntry 10 }        
        
   raisecomIpv4RMRouteDistance  OBJECT-TYPE
        SYNTAX Unsigned32 (1..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Administrative distance is the credibility 
            of a routing protocol."
        ::= { raisecomIpv4RouteManageRouteEntry 11 }        
        
    raisecomIpv4RMRouteValid  OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Setting this object to the value 'false(2)' 
            has the effect of invalidating the corresponding 
            entry in the ipv4 RouteTable object.  That is, 
            it effectively disassociates the destination
            identified with said entry from the route 
            identified with said entry.  It is an 
            implementation-specific matter as to whether 
            the agent removes an invalidated entry from 
            the table. Accordingly, management stations 
            must be prepared to receive tabular information 
            from agents that corresponds to entries not 
            currently in use.Proper interpretation of such 
            entries requires examination of the relevant 
            ipv6RouteValid object."
        ::= { raisecomIpv4RouteManageRouteEntry 12 }     
        
    raisecomIpv4RMRouteInfo  OBJECT-TYPE
        SYNTAX RowPointer
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A reference to MIB definitions specific to 
            the particular routing protocol which is 
            responsible for this route, as determined 
            by the value specified  in the route's 
            ipv6RouteProto value.If this information 
            is not present,  its value should be set to 
            the OBJECT ID { 0 0 },which is a syntactically 
            valid object  identifier,and any implementation 
            conforming to ASN.1and the Basic Encoding Rules must  
            be  able  to generate and recognize this value."
        ::= { raisecomIpv4RouteManageRouteEntry 13 }        
        
    raisecomIpv4RMRouteMetric1  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The primary routing metric for this route.  
            The semantics of this metric are determined 
            by the routing-protocol specified in the route's 
            raisecomRouteProto value.  If this metric is not used,
            its value should be set to -1."
        ::= { raisecomIpv4RouteManageRouteEntry 14 }                
                                                
     raisecomIpv4RMRouteMetric2  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "An alternate routing metric for this route.  
            The semantics of this metric are determined 
            by the routing-protocol specified in the route's 
            raisecomIpv4RMRouteProto value.  If this metric is not 
            used,its value should be set to -1."
        ::= { raisecomIpv4RouteManageRouteEntry 15 } 
        
    raisecomIpv4RMRouteMetric3  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "An alternate routing metric for this route.  
            The semantics of this metric are determined 
            by the routing-protocol specified in the route's 
            raisecomIpv4RMRouteProto value.  If this metric is not 
            used,its value should be set to -1."
        ::= { raisecomIpv4RouteManageRouteEntry 16 } 
        
    raisecomIpv4RMRouteMetric4  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "An alternate routing metric for this route.  
            The semantics of this metric are determined 
            by the routing-protocol specified in the route's 
            raisecomIpv4RMRouteProto value.  If this metric is not 
            used,its value should be set to -1."
        ::= { raisecomIpv4RouteManageRouteEntry 17 } 
        
    raisecomIpv4RMRouteMetric5  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "An alternate routing metric for this route.  
            The semantics of this metric are determined 
            by the routing-protocol specified in the route's 
            raisecomIpv4RMRouteProto value.  If this metric is not 
            used,its value should be set to -1."
        ::= { raisecomIpv4RouteManageRouteEntry 18 } 
        
  
  
    
--raisecomIpv4RouteManageProtocolStatisticsTable   

    raisecomIpv4RouteManageProtocolStatisticsTable      OBJECT-TYPE 
        SYNTAX   SEQUENCE OF raisecomIpv4RouteManageProtocolStatisticsEntry
        ACCESS	 not-accessible
        STATUS   current
        DESCRIPTION
                 "ipv4 route manage statistics information"
        ::= { raisecomRouteManageTableGroup   2 }

    raisecomIpv4RouteManageProtocolStatisticsEntry   OBJECT-TYPE
        SYNTAX raisecomIpv4RouteManageProtocolStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in raisecomIpv4RouteManageProtocolStatisticsTable."
        INDEX { raisecomIpv4RMRProtocolIndex}
        ::= { raisecomIpv4RouteManageProtocolStatisticsTable 1 }

    raisecomIpv4RouteManageProtocolStatisticsEntry  ::= SEQUENCE {
        raisecomIpv4RMRProtocolIndex           INTEGER,
        raisecomIpv4RMRProtocolActiveRouteNum  INTEGER, 
        raisecomIpv4RMRProtocolInactiveRouteNum INTEGER
        }

    raisecomIpv4RMRProtocolIndex  OBJECT-TYPE
        SYNTAX INTEGER  {
        		  other(1),       
                  local(2),      
                  netmgmt(3),    
                  icmp(4),                                                            
                  egp(5),
                  ggp(6),
                  hello(7),
                  rip(8),
                  is-is(9),
                  es-is(10),
                  ciscoIgrp(11),
                  bbnSpfIgp(12),
                  ospf(13),
                  bgp(14) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The index of the table."
        ::= { raisecomIpv4RouteManageProtocolStatisticsEntry 1 }
 
    raisecomIpv4RMRProtocolActiveRouteNum  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of the active routes."
        ::= { raisecomIpv4RouteManageProtocolStatisticsEntry 2 }

    raisecomIpv4RMRProtocolInactiveRouteNum  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of the inactive routes."
        ::= { raisecomIpv4RouteManageProtocolStatisticsEntry 3 }  
               
           
--
-- END of SRoute-MIB
--

END
