-- *****************************************************************
-- MY-ROUTE-MIB.mib:  My Route MIB file
--
-- $Copyright$
-- 
-- *****************************************************************
--

MY-ROUTE-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        NOTIFICATION-TYPE,
        Integer32,
        Counter32,
        IpAddress
                FROM SNMPv2-SMI
        VlanId
                FROM Q-BRIDGE-MIB
        TruthValue,
        DisplayString,
        RowStatus,
        MacAddress
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP,
        NOTIFICATION-GROUP
                FROM SNMPv2-CONF
        ConfigStatus,
        IfIndex
                FROM MY-TC
        EnabledStatus 
                FROM P-BRIDGE-MIB
        BigMetric
                FROM OSPF-MIB                
        myMgmt
                FROM MY-SMI;

myRouteMIB MODULE-IDENTITY
        LAST-UPDATED "200203200000Z"
        ORGANIZATION "$Company$"
        CONTACT-INFO
                " 
                Tel: $Telephone$ 

                E-mail: $E-mail$"
        DESCRIPTION
                "This module defines my route mibs."
        REVISION      "200203200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { myMgmt 20}

MyRouteProtoType ::= TEXTUAL-CONVENTION        
   STATUS current                          
   DESCRIPTION                             
            "Routing protocol type." 
   SYNTAX INTEGER {                        
            other(1),  --notspecified
            local(2),  --localinterface
            netmgmt(3),  --staticroute
            icmp(4),  --resultofICMPRedirect
            egp(5),  --ExteriorGatewayProtocol
            ggp(6),  --Gateway-GatewayProtocol
            hello(7),  --FuzzBallHelloSpeak
            rip(8),  --BerkeleyRIPorRIP-II
            isis(9),  --DualIS-IS
            esis(10),  --ISO9542
            ciscoigrp(11),  --CiscoIGRP
            bbnspfigp(12),  --BBNSPFIGP
            ospf(13),  --OpenShortestPathFirst
            bgp(14),  --BorderGatewayProtocol
            idpr(15),  --InterDomainPolicyRouting
            ciscoeigrp(16),  --CiscoEIGRP
            max(17)  --MAXTYPE                        
            }                                

myRouteMIBObjects OBJECT IDENTIFIER ::= { myRouteMIB 1 }

myRouteServiceStatus OBJECT-TYPE
    SYNTAX  EnabledStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
              "Route management function status"
         ::={ myRouteMIBObjects 1 }
         
myRoutingProtoInfoTable OBJECT-TYPE
     SYNTAX   SEQUENCE OF MyRoutingProtoInfoEntry
     MAX-ACCESS   not-accessible
     STATUS   current
     DESCRIPTION
        "The routing protocol infomation ."
    ::= { myRouteMIBObjects  2 }

myRoutingProtoInfoEntry OBJECT-TYPE
    SYNTAX   MyRoutingProtoInfoEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "the entry of this table."
   INDEX {   myRoutingProtoInfoProtoType,
             myRoutingProtoInfoGateWay
          }
   ::= { myRoutingProtoInfoTable 1 }
   
MyRoutingProtoInfoEntry ::=
  SEQUENCE{
     myRoutingProtoInfoProtoType
         MyRouteProtoType,
     myRoutingProtoInfoGateWay    
         IpAddress,
     myRoutingProtoInfoDistance 
         Unsigned32,
     myRoutingProtoInfoLastUpdate   
         TimeTicks
     }
  
myRoutingProtoInfoProtoType   OBJECT-TYPE
     SYNTAX   MyRouteProtoType
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "The routing protocol type"
    ::= { myRoutingProtoInfoEntry 1 }  
             
myRoutingProtoInfoGateWay OBJECT-TYPE 
     SYNTAX   IpAddress
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "For rip ,the gateway is this router's neighbor.
         for ospf ,the gateway is  the router Id of this router,
         New entry will be addded when router ID is changed."
    ::= { myRoutingProtoInfoEntry 2 }
    
myRoutingProtoInfoDistance OBJECT-TYPE 
     SYNTAX   Unsigned32
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "The routing protocol distance."
    ::= { myRoutingProtoInfoEntry 3 }
    
myRoutingProtoInfoLastUpdate OBJECT-TYPE 
     SYNTAX   TimeTicks
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "The last update time of the neighbor that be found.
         or  router ID that it last change ."
    ::= { myRoutingProtoInfoEntry 4 }


myDefRoutingCfgTable OBJECT-TYPE
     SYNTAX SEQUENCE OF MyDefRoutingCfgEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
         "Default routing configuration."
 ::= { myRouteMIBObjects 3}
 
myDefRoutingCfgEntry OBJECT-TYPE
     SYNTAX MyDefRoutingCfgEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
         "The entry define one routing protocol's default
          routing configurate,if in rip routing configuration
          only route map is valid to this default route parameter"
     INDEX { myDefRoutingCfgRoutingProtoType}
 ::= { myDefRoutingCfgTable 1 }

 
MyDefRoutingCfgEntry ::=
     SEQUENCE {
     myDefRoutingCfgRoutingProtoType 
             MyRouteProtoType,
     myDefRoutingCfgAlways  
             TruthValue,
     myDefRoutingCfgMetric
             Unsigned32,
     myDefRoutingCfgMetricType  --only use in ospf
             INTEGER,
     myDefRoutingCfgRouteMap
             DisplayString,
     myDefRoutingCfgStatus
             RowStatus
              }
myDefRoutingCfgRoutingProtoType  OBJECT-TYPE
     SYNTAX   MyRouteProtoType
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "index indicate that which routing protocol configuration mode is current mode."
    ::= { myDefRoutingCfgEntry 1 } 
    
myDefRoutingCfgAlways OBJECT-TYPE
     SYNTAX   TruthValue
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "Setting the value to TRUE indicates that always advertise default route."
     DEFVAL{false}
    ::= { myDefRoutingCfgEntry 2 }  
             
myDefRoutingCfgMetric OBJECT-TYPE
     SYNTAX   Unsigned32(1..16777214) 
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "Set  ospf default metric value."
     DEFVAL {10}
    ::= { myDefRoutingCfgEntry 3 }
                             
myDefRoutingCfgMetricType OBJECT-TYPE
     SYNTAX   INTEGER{                        
                     type1(1),
                     type2(2)
                     }
                   
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
        "Set  OSPF Link State type,this value is only 
         valid in ospf configuration"
     DEFVAL {type2}
    ::= { myDefRoutingCfgEntry 4 } 
           
myDefRoutingCfgRouteMap OBJECT-TYPE
     SYNTAX   DisplayString(SIZE(0..32))
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "Set  route's Route-map reference.Null string indicate that no any route-map
        reference."
     DEFVAL {""}
    ::= { myDefRoutingCfgEntry 5 }   
          
myDefRoutingCfgStatus OBJECT-TYPE
     SYNTAX   RowStatus
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "if this value is change to destroy,
         this entry will be deleted"       
    ::= { myDefRoutingCfgEntry 6 }           


         
--Route map group
myRouteMapMIBObjects OBJECT IDENTIFIER ::= { myRouteMIB 2 }         

--myRouteMapTable
myRouteMapTable OBJECT-TYPE
     SYNTAX   SEQUENCE OF MyRouteMapEntry
     MAX-ACCESS   not-accessible
     STATUS   current
     DESCRIPTION
        "the route map table."
    ::= { myRouteMapMIBObjects  1 }

myRouteMapEntry OBJECT-TYPE
    SYNTAX   MyRouteMapEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "the entry of this table."
   INDEX {
            myRouteMapName,
            myRouteMapSequenceNumber
          }
   ::= { myRouteMapTable 1 }
   
MyRouteMapEntry ::=
  SEQUENCE{
     myRouteMapName
         DisplayString,
     myRouteMapSequenceNumber
         Unsigned32,
     myRouteMapOperType   
         INTEGER,
     myRouteMapMatchMetric  
         Unsigned32,
     myRouteMapMatchRouteType 
         INTEGER,
     myRouteMapMetricValueType    
         INTEGER,
     myRouteMapSetMetric  
         Unsigned32,      
    myRouteMapSetLevel  
         INTEGER,
     myRouteMapSetMetricType 
         INTEGER,
     myRouteMapSetNexthopSt
         ConfigStatus,          
     myRouteMapSetNexthop
         IpAddress,
     myRouteMapStatus
         RowStatus             
           }   
myRouteMapName   OBJECT-TYPE  
     SYNTAX   DisplayString(SIZE(1..32))
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "The route map name  ,A meaningful name for the route map. The
        redistribute router configuration command uses this
        name to reference the route map. Multiple route maps
        might share the same map tag name.
        
        When this string be used as an index,Value of a sub-identifier equal 
        ASCII value of corresponding character(first sub-identifier corresponds
        first character of string). The number of sub-identifiers of this string
        must be 32,If length of string is less than 32 the sub-identifier(0x0) 
        will be filled in tail."
    ::= { myRouteMapEntry 1 }    
         
myRouteMapSequenceNumber   OBJECT-TYPE
     SYNTAX   Unsigned32(0..65535)
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "Number that indicates the position of a new route map in the 
         list of route maps already configured with the same name."
     DEFVAL {10}
    ::= { myRouteMapEntry 2 }    

myRouteMapOperType   OBJECT-TYPE
     SYNTAX   INTEGER
                    { permit(1),
                      deny(2)
                     }
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        " If permit is specified and the match criteria are
        met for this route map, the route is redistributed as
        controlled by the set actions. If deny is specified, the route
        is not redistributed.  "
     DEFVAL {permit}
    ::= { myRouteMapEntry 3 }      
    
myRouteMapMatchMetric   OBJECT-TYPE  
     SYNTAX   Unsigned32(0..2147483647) 
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        " Match the specified route metric. The metric-value can be
          an IGRP 5-part metric with a value from 1 to 255.
          0 indicate that this item will not be matched."
     DEFVAL {0}
    ::= { myRouteMapEntry 4 }       
    
myRouteMapMatchRouteType   OBJECT-TYPE  
     SYNTAX   INTEGER{
                	 notMatch(0),
               	 internal(1),
               	 external(2),
                	 external-type1(3),
                	 external-type2(4)                   	
                	} 
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "  the route type value which route-map match,
           internal: OSPF intra-area and interarea routes or EIGRP internal routes,
           external: OSPF external routes(Type 1 or Type 2)or EIGRP external routes,
           external-type1: OSPF external routes Type 1 
           external-type2: OSPF external routes Type 2
           'notMatch' indicate that this item will not be matched."
     DEFVAL {notMatch}
    ::= { myRouteMapEntry 5}      

myRouteMapMetricValueType   OBJECT-TYPE  
     SYNTAX INTEGER{
           noOper(0),
     		  replace(1),
     		  add(2), 
     		  reduce(3)
     		} 
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        " How to modify old metric vlaue.
          'noOper':  metric value will not be modified.
          'replace': old metric value will be replaced by  myRouteMapSetMetric.
          'add': new metric value will equal 'old metric vlaue + myRouteMapSetMetric'
          'reduce': new metric value will equal 'old metric vlaue - myRouteMapSetMetric'"
     DEFVAL {noOper}
    ::= { myRouteMapEntry 6 } 
           
myRouteMapSetMetric   OBJECT-TYPE  
     SYNTAX   Unsigned32(1..2147483647)
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        " Set the metric value to the given redistributed routes (for
         any protocol except IGRP or EIGRP). The metric value is
         an integer from 1 to 255.
         
         myRouteMapMetricValueType will decide real operation.  The value of
         myRouteMapSetMetric is invalid in myRouteMapMetricValueType is 
         'noOper'."
     DEFVAL {1}
    ::= { myRouteMapEntry 7 }
    
myRouteMapSetLevel   OBJECT-TYPE  
     SYNTAX   INTEGER{
     		  all(0),
     		  stubarea(1), -- OSPF NSSA
     		  backbone(2)  -- OSPF backbone areas
     		} 
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "Set the level for routes that are advertised into the
         specified area of the routing domain.
         'all'indicate that routes will be advertised into all type area."
     DEFVAL {all}
    ::= { myRouteMapEntry 8 }       
    
myRouteMapSetMetricType   OBJECT-TYPE  
     SYNTAX   INTEGER{
                 	 noOper(0),
               	 internal(1),
                	 external(2),
                	 type1(3),
                	 type2(4)
                	} 
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        " set metric type,
         'external' means   IS-IS external metric;
         'internal' means   Use IGP metric as the MED for BGP;
         'type-1  ' means  OSPF external type 1 metric;
         'type-2 '  means  OSPF external type 2 metric.
         'noOper'indicate that no any opertion will be done for this item."
     DEFVAL {noOper}
    ::= { myRouteMapEntry 9}    

myRouteMapSetNexthopSt   OBJECT-TYPE  
     SYNTAX ConfigStatus
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
        " How to modify nexthop vlaue.
          'invalid': nexthop value will not be modified.
          'valid':  nexthop value will be modified to myRouteMapSetNexthop.
          Setting this value to 'valid' have no any effect.This value will be changed 
          to 'valid' when setting 'myRouteMapSetNexthop'"
     DEFVAL {invalid}
    ::= { myRouteMapEntry 10 } 
           
myRouteMapSetNexthop   OBJECT-TYPE  
     SYNTAX   IpAddress
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        " Set the nexthop value to give the redistributed routes"
    ::= { myRouteMapEntry 11 }

myRouteMapStatus   OBJECT-TYPE  
     SYNTAX   RowStatus
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        " if this value is destroy,the entry will be delete."
    ::= { myRouteMapEntry 12 }    


--myRouteMapMatchIpAddressTable

myRouteMapMatchIpAddressTable OBJECT-TYPE
     SYNTAX   SEQUENCE OF MyRouteMapMatchIpAddressEntry 
     MAX-ACCESS   not-accessible
     STATUS   current
     DESCRIPTION
        "the match ip address item of the route map ."
    ::= { myRouteMapMIBObjects  2 }

myRouteMapMatchIpAddressEntry OBJECT-TYPE
    SYNTAX   MyRouteMapMatchIpAddressEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "Match a standard access list by specifying the Acl name "
   INDEX {
            myRouteMapName,      
            myRouteMapSequenceNumber, 
            myRouteMapMatchType,  
            myRouteMapMatchIpAddressAclName
          }
   ::= { myRouteMapMatchIpAddressTable 1 }
   
MyRouteMapMatchIpAddressEntry ::=
  SEQUENCE{
     myRouteMapMatchType
         INTEGER,    
     myRouteMapMatchIpAddressAclName  
         DisplayString,         
     myRouteMapMatchIpAddressStatus
         RowStatus
           }   

myRouteMapMatchType   OBJECT-TYPE  
     SYNTAX   INTEGER{
             destination(1),
             nextHop(2),
             source(3)
     }
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "destination(1):match route destination ip address 
         nextHop(2):match route nextHop ip address
         source(3):match route source ip address
        "
    ::= { myRouteMapMatchIpAddressEntry 1 }
                  
myRouteMapMatchIpAddressAclName   OBJECT-TYPE  
     SYNTAX   DisplayString(SIZE(1..32)) 
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "The acl name apply to ip address.
        
        When this string be used as an index,Value of a sub-identifier equal 
        ASCII value of corresponding character(first sub-identifier corresponds
        first character of string). The number of sub-identifiers of this string
        must be 32,If length of string is less than 32 the sub-identifier(0x0) 
        will be filled in tail."
    ::= { myRouteMapMatchIpAddressEntry 2 }
             
myRouteMapMatchIpAddressStatus  OBJECT-TYPE
     SYNTAX   RowStatus                      
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "The entry status,if the value is destroy ,the 
          entry will be deleted."
    ::= { myRouteMapMatchIpAddressEntry 3 }       
    
--myRouteMapMatchTagTable

myRouteMapMatchTagTable OBJECT-TYPE
     SYNTAX   SEQUENCE OF MyRouteMapMatchTagEntry
     MAX-ACCESS   not-accessible
     STATUS   current
     DESCRIPTION
        "Match a tag value item of route map "
    ::= { myRouteMapMIBObjects  3 }

myRouteMapMatchTagEntry OBJECT-TYPE
    SYNTAX   MyRouteMapMatchTagEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "Match the specified tag value in a list of one or more route
        tag values. Each can be an integer from 0 to 4294967295. "
   INDEX {
            myRouteMapName,     
            myRouteMapSequenceNumber,
            myRouteMapMatchTagValue 
          }
   ::= { myRouteMapMatchTagTable 1 }
   
MyRouteMapMatchTagEntry ::=
  SEQUENCE{
     myRouteMapMatchTagValue  
         Unsigned32,
     myRouteMapMatchTagStatus
         RowStatus
           }   
myRouteMapMatchTagValue   OBJECT-TYPE  
     SYNTAX   Unsigned32(0..2147483647) 
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "  Match the specified tag value."
    ::= { myRouteMapMatchTagEntry 1 }   
    
myRouteMapMatchTagStatus   OBJECT-TYPE
     SYNTAX   RowStatus
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "  the entry status,if the value is destroy ,the 
        entry will be deleted."
    ::= { myRouteMapMatchTagEntry 2 }


--myRouteMapMatchInterfaceTable

myRouteMapMatchInterfaceTable OBJECT-TYPE
     SYNTAX   SEQUENCE OF MyRouteMapMatchInterfaceEntry
     MAX-ACCESS   not-accessible
     STATUS   current
     DESCRIPTION
        "Match Interface item of route map ."
    ::= { myRouteMapMIBObjects  4 }

myRouteMapMatchInterfaceEntry OBJECT-TYPE
    SYNTAX   MyRouteMapMatchInterfaceEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "Match the specified next hop route out one of the specified
       interfaces. "
   INDEX {
            myRouteMapName,    
            myRouteMapSequenceNumber,  
            myRouteMapMatchInterfaceIfIndex                  
          }
   ::= { myRouteMapMatchInterfaceTable 1 }
   
MyRouteMapMatchInterfaceEntry ::=
  SEQUENCE{
     myRouteMapMatchInterfaceIfIndex
            IfIndex,
     myRouteMapMatchInterfaceStatus
            RowStatus
           }   
           
myRouteMapMatchInterfaceIfIndex   OBJECT-TYPE  
     SYNTAX   IfIndex 
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "  The ifTable's ifIndex."
    ::= { myRouteMapMatchInterfaceEntry 1 }   
    
myRouteMapMatchInterfaceStatus  OBJECT-TYPE
     SYNTAX   RowStatus
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "  the entry status,if the value is destroy ,the 
        entry will be deleted."
    ::= { myRouteMapMatchInterfaceEntry 2 }
         
--Route redistribute group
myRouteRedistributeMIBObjects OBJECT IDENTIFIER ::= { myRouteMIB 3 }

--Routing Redistribute table
myRouteRedistributeTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF MyRouteRedistributeEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           " this table descripts the redistributing methods."
       ::= { myRouteRedistributeMIBObjects  1 }

myRouteRedistributeEntry OBJECT-TYPE
       SYNTAX   MyRouteRedistributeEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "each entry descripts the methord,when Redistribute routes 
           from one routing protocol to another routing protocol."
      INDEX {myRouteRedistributeProtocolCfg, 
             myRouteRedistributeProtocol
            }
      ::= { myRouteRedistributeTable 1 }
      
MyRouteRedistributeEntry ::=
     SEQUENCE{
         myRouteRedistributeProtocolCfg
            MyRouteProtoType,
         myRouteRedistributeProtocol
            MyRouteProtoType,
         myRouteRedistributeMetricValue
            Unsigned32,
         myRouteRedistributeMetricType
            INTEGER,
         myRouteRedistributeTagValue
            Unsigned32,
         myRouteRedistributeRouteMapName
            DisplayString,
         myRouteRedistributeStatus
            RowStatus
              }

myRouteRedistributeProtocolCfg OBJECT-TYPE
       SYNTAX   MyRouteProtoType                       
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
           "The protocol which the redistributing will be setted in."  
       ::={myRouteRedistributeEntry 1}  
       
myRouteRedistributeProtocol OBJECT-TYPE
       SYNTAX   MyRouteProtoType
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
           "The protocol which routing will redistribute to ."  
       ::={myRouteRedistributeEntry 2}         
          
myRouteRedistributeMetricValue OBJECT-TYPE
        SYNTAX   Unsigned32(1..16777214)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "0 indicate that redistributing metric value will equal 
            myOspfRouteRedisDefMetricVal for OSPF or 
            myRipOffsetMetric for RIP. Other value indicate that
            myRouteRedistributeMetricValue will be set for new metric value
            for redistribute routes,for rip this value only can be from 1 to 16."
        DEFVAL {0}   
        ::= { myRouteRedistributeEntry 3 }   
       
myRouteRedistributeMetricType  OBJECT-TYPE
        SYNTAX   INTEGER{  
                     type1(1),
                     type2(2)
                   }                        
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           " Metric type  value ."
        DEFVAL {type2}   
        ::= { myRouteRedistributeEntry 4 }    
       
myRouteRedistributeTagValue  OBJECT-TYPE
        SYNTAX   Unsigned32(0..4294967295)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "  Set tag for routes redistributed into OSPF."
        DEFVAL {0}             
        ::= { myRouteRedistributeEntry 5 } 
              
myRouteRedistributeRouteMapName  OBJECT-TYPE
        SYNTAX   DisplayString(SIZE(0..32))
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "Set  route's Route-map reference.Null string indicate that no any route-map
            reference."
        DEFVAL {""}
       ::= { myRouteRedistributeEntry 6 }         
           
myRouteRedistributeStatus  OBJECT-TYPE
        SYNTAX   RowStatus        
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "  the entry status,if the value is destroy ,then 
              disable this redistribute."
       ::= { myRouteRedistributeEntry 7 } 

myRouteFilteringMIBObjects OBJECT IDENTIFIER ::= { myRouteMIB 4 }
--ip prefix-list table
myIpPrefixListTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF MyIpPrefixListEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           " this table descripts the ip prefix list."
       ::= { myRouteFilteringMIBObjects  1 }

myIpPrefixListEntry OBJECT-TYPE
       SYNTAX   MyIpPrefixListEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "each entry descripts a prefix list"
      INDEX {myIpPrefixListName, 
             myIpPrefixListSequence
            }
      ::= { myIpPrefixListTable 1 }
      
MyIpPrefixListEntry ::=
     SEQUENCE{
         myIpPrefixListName
            DisplayString,
         myIpPrefixListSequence
            Unsigned32,
         myIpPrefixListOperMethod
            INTEGER,
         myIpPrefixListIpAddress
            IpAddress,
         myIpPrefixListMaskLength
            Unsigned32,
         myIpPrefixListMinimumPrefixLength
            Unsigned32,
         myIpPrefixListMaximumPrefixLength
            Unsigned32,
         myIpPrefixListStatus
            RowStatus
              }

myIpPrefixListName OBJECT-TYPE
       SYNTAX   DisplayString(SIZE(1..32))                       
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
           "name of ip prefix-list name."  
       ::={myIpPrefixListEntry 1}
       
myIpPrefixListSequence OBJECT-TYPE
       SYNTAX   Unsigned32(0..2147483647)                       
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
           "sequence can be set either automatically or manually. 
           if 0 is seted,that means sequence will be created automatically.
           In the case that sequential numbers are set manually, the
           user may pick any number less than 2147483647 and more than 1. 
           In the case that sequential number are set automatically, the sequential 
           number will increase by a unit of five (5) per list. If a list
           with no specified sequential number is created after a list
           with a specified sequential number, the list will 
           automatically pick the next multiple of five (5) as the 
           list number. For example, if a list with number 2 already 
           exists and a new list with no specified number is created,
           the next list will be numbered 5. If lists 2 and 7 already
           exist and a new list with no specified number is created, 
           the new list will be numbered 10."  
       ::={myIpPrefixListEntry 2}
       
myIpPrefixListOperMethod OBJECT-TYPE
       SYNTAX   INTEGER{
                         permit(1),
                         deny(2)
                       }                       
       MAX-ACCESS   read-write
       STATUS   current
       DESCRIPTION 
           "this field specifies whether the prefix for this entry 
           is to permit or deny the listed prefix."  
       ::={myIpPrefixListEntry 3}
       
myIpPrefixListIpAddress OBJECT-TYPE
       SYNTAX   IpAddress                    
       MAX-ACCESS   read-write
       STATUS   current
       DESCRIPTION 
           "ip prefix-list ip address."  
       ::={myIpPrefixListEntry 4}
       
myIpPrefixListMaskLength OBJECT-TYPE
       SYNTAX  Unsigned32(0..32)                       
       MAX-ACCESS   read-write
       STATUS   current
       DESCRIPTION 
           "ip prefix-list mask length."  
       ::={myIpPrefixListEntry 5}
       
myIpPrefixListMinimumPrefixLength OBJECT-TYPE
       SYNTAX  Unsigned32(0..32)                       
       MAX-ACCESS   read-write
       STATUS   current
       DESCRIPTION 
           "this field specifies prefix length. The prefix list
            will be applied if the prefix length is greater than 
            or equal to myIpPrefixListMinimumPrefixLength.
            value '0' means that this parameter has no effect.
            
            The condition 'myIpPrefixListMaximumPrefixLength 
            >= myIpPrefixListMinimumPrefixLength > myIpPrefixListMaskLength'
            must be satisfied when this value is not '0' "  
       ::={myIpPrefixListEntry 6}
       
myIpPrefixListMaximumPrefixLength OBJECT-TYPE
       SYNTAX Unsigned32(0..32)                         
       MAX-ACCESS   read-write
       STATUS   current
       DESCRIPTION 
           "this field specifies prefix length. The prefix list 
            will be applied if the prefix length is less than or 
            equal to myIpPrefixListMaximumPrefixLength.
            value '0' means that this parameter has no effect.
            
            The condition 'myIpPrefixListMaximumPrefixLength 
            >= myIpPrefixListMinimumPrefixLength > myIpPrefixListMaskLength'
            must be satisfied when this value is not '0' "  
       ::={myIpPrefixListEntry 7}
       
myIpPrefixListStatus OBJECT-TYPE
       SYNTAX   RowStatus                    
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           "the entry status,if the value is destroy ,then 
            delete this ip prefix-list."  
       ::={myIpPrefixListEntry 8}  
       
       
--distribute-list table
--distribute-list is used for Filtering both input and output of the routing information
myDistributeListTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF MyDistributeListEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           " this table descripts the distribute list."
       ::= { myRouteFilteringMIBObjects  2 }

myDistributeListEntry OBJECT-TYPE
       SYNTAX   MyDistributeListEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "distribute-list can be applied to both incoming
           and outgoing routing information,Permit or deny 
           routes from being advertised in routing updates
           depending upon the action listed in the access list or ip prefix list."
      INDEX {myDistributeListCfgProtoType, 
             myDistributeListIfIndex,
             myDistributeListDirection,
             myDistributeListFilteringProtocol
            }
      ::= { myDistributeListTable 1 }
      
MyDistributeListEntry ::=
     SEQUENCE{
         myDistributeListCfgProtoType 
             MyRouteProtoType,
         myDistributeListIfIndex
             Unsigned32,
         myDistributeListDirection 
            INTEGER,             
         myDistributeListFilteringProtocol
            Unsigned32,
         myDistributeListFilterType
            INTEGER,
         myDistributeListAclName
            DisplayString,
         myDistributeListGateWayIpPrefixName
            DisplayString,
         myDistributeListPrefixIpPrefixName
            DisplayString,      
         myDistributeListStatus
            RowStatus
              }

myDistributeListCfgProtoType OBJECT-TYPE
       SYNTAX   MyRouteProtoType                      
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
        "This index indicate that which routing protocol
         configuration mode is current mode."
       ::={myDistributeListEntry 1}
       
myDistributeListIfIndex OBJECT-TYPE
       SYNTAX   Unsigned32                       
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
          "The interface that this distribute list apply to.
           If this value is 0,it indicate that this distribute list apply in all 
           interfaces.
           Other value is equal to TEXTUAL-CONVENTION 'IfIndex' meaning."
       ::={myDistributeListEntry 2}

myDistributeListDirection OBJECT-TYPE
       SYNTAX  INTEGER{
                         out(1),
                         in(2)
                       }                        
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
           "If direct is 'in' the distribute list is applied to input packets
            If direct is 'out' the distribute list is applied to output packets."
       ::={myDistributeListEntry 3}

myDistributeListFilteringProtocol OBJECT-TYPE
       SYNTAX Unsigned32              
       MAX-ACCESS read-only
       STATUS   current
       DESCRIPTION 
           "If this value is 0,it indicate that this distribute list will apply on 
            all protocol.
            
            Other value is equal to TEXTUAL-CONVENTION 'MyRouteProtoType' meaning,
            it indicate the protocol which this distribute list apply on."   
       ::={myDistributeListEntry 4}
                     
myDistributeListFilterType OBJECT-TYPE
       SYNTAX   INTEGER{
                         acl(1),
                         gateway(2),
                         prefix(3),
                         prefix-gateway(4)
                       }                       
       MAX-ACCESS   read-write
       STATUS   current
       DESCRIPTION 
           "this field defines the filtering type which
            distribute-list used ,
            'acl' means filtering destination ip address of  route 
              information in incoming or outing packets;
            'gateway' means filtering source ip address and mask of incoming packets;
            'prefix' means filtering destination ip address and mask of route
             information in incoming or outing packets;
            'prefix-gateway' means that firstly filtering  destination 
             ip address and mask of route information in incoming or outing packets,
             secondly filtering source ip address and mask of incoming packets.
             if Prefix-list filter is configed,Access-list filter can not be configed;
             if  Access-list filter is configed,Prefix-list filter can not be configed."  
       ::={myDistributeListEntry 5}
       
myDistributeListAclName OBJECT-TYPE
       SYNTAX DisplayString(SIZE (0..32))
       MAX-ACCESS   read-write
       STATUS   current
       DESCRIPTION 
           " This field is valid when the field myDistributeListFilterType's value
             is 'acl',it's access list name that distribute-list reference to.
             Null string indicate that the distribute list will not reference any ACL"
       ::={myDistributeListEntry 6}
       
myDistributeListGateWayIpPrefixName OBJECT-TYPE
       SYNTAX DisplayString(SIZE (0..32))
       MAX-ACCESS   read-write
       STATUS   current
       DESCRIPTION 
           " this field is valid when the field myDistributeListFilterType's value
             is 'gateway',it's ip prefix list name that distribute-list source ip and mask
             reference to.
             
             Null string indicate that the distribute list source ip and mask 
             will not reference any ip prefix list." 
       ::={myDistributeListEntry 7}
       
myDistributeListPrefixIpPrefixName OBJECT-TYPE
       SYNTAX DisplayString(SIZE (0..32))
       MAX-ACCESS   read-write
       STATUS   current
       DESCRIPTION 
           " this field is valid when the field myDistributeListFilterType's value
             is 'gateway',it's ip prefix list name that distribute-list destination 
             ip and mask reference to.
             
             Null string indicate that the distribute list destination ip and mask 
             will not reference any ip prefix list."   
       ::={myDistributeListEntry 8}
              
myDistributeListStatus OBJECT-TYPE
       SYNTAX   RowStatus        
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           "the entry status,if the value is destroy ,then 
            delete this distribute-list."  
       ::={myDistributeListEntry 9}
                     
myipCidrRouteExtendMIBObjects OBJECT IDENTIFIER ::= { myRouteMIB 5 }    
myipCidrRouteTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF MyIpCidrRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "This entity's IP Routing table."
    REFERENCE
       "RFC 1213 Section 6.6, The IP Group"
    ::= { myipCidrRouteExtendMIBObjects 1 }

myipCidrRouteEntry OBJECT-TYPE
    SYNTAX   MyIpCidrRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "A particular route to  a  particular  destina-
       tion, under a particular policy."
    INDEX {
        myipCidrRouteDest,
        myipCidrRouteMask,
        myipCidrRouteTos,
        myipCidrRouteNextHop
        }
    ::= { myipCidrRouteTable 1 }

MyIpCidrRouteEntry ::=
    SEQUENCE {
        myipCidrRouteDest
            IpAddress,
        myipCidrRouteMask
            IpAddress,
        myipCidrRouteTos
             Integer32,
        myipCidrRouteNextHop
            IpAddress,
        myipCidrRouteIfIndex
            Integer32,
        myipCidrRouteType
            INTEGER,
        myipCidrRouteProto
            INTEGER,
        myipCidrRouteAge
            Integer32,
        myipCidrRouteInfo
            OBJECT IDENTIFIER,
        myipCidrRouteNextHopAS
            Integer32,
        myipCidrRouteMetric1
            Integer32,
        myipCidrRouteMetric2
            Integer32,
        myipCidrRouteMetric3
            Integer32,
        myipCidrRouteMetric4
            Integer32,
        myipCidrRouteMetric5
            Integer32,
        myipCidrRouteStatus
            RowStatus,
        myipCidrOspfRouteType
            INTEGER
    }

myipCidrRouteDest OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "The destination IP address of this route.

       This object may not take a Multicast (Class  D)
       address value.

       Any assignment (implicit or  otherwise)  of  an
       instance  of  this  object to a value x must be
       rejected if the bitwise logical-AND of  x  with
       the  value of the corresponding instance of the
       ipCidrRouteMask object is not equal to x."
    ::= { myipCidrRouteEntry 1 }

myipCidrRouteMask OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "Indicate the mask to be logical-ANDed with the
       destination  address  before  being compared to
       the value  in  the  ipCidrRouteDest  field.   For
       those  systems  that  do  not support arbitrary
       subnet masks, an agent constructs the value  of
       the  ipCidrRouteMask  by  reference to the IP Ad-
       dress Class.

       Any assignment (implicit or  otherwise)  of  an
       instance  of  this  object to a value x must be
       rejected if the bitwise logical-AND of  x  with



Baker                       Standards Track                     [Page 5]

RFC 2096                IP Forwarding Table MIB             January 1997


       the  value of the corresponding instance of the
       ipCidrRouteDest object is not equal to ipCidrRoute-
       Dest."
    ::= { myipCidrRouteEntry 2 }

-- The following convention is included for specification
-- of TOS Field contents.  At this time, the Host Requirements
-- and the Router Requirements documents disagree on the width
-- of the TOS field.  This mapping describes the Router
-- Requirements mapping, and leaves room to widen the TOS field
-- without impact to fielded systems.

myipCidrRouteTos OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "The policy specifier is the IP TOS Field.  The encoding
       of IP TOS is as specified  by  the  following convention.
       Zero indicates the default path if no more  specific
       policy applies.

       +-----+-----+-----+-----+-----+-----+-----+-----+
       |                 |                       |     |
       |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
       |                 |                       |     |
       +-----+-----+-----+-----+-----+-----+-----+-----+

                IP TOS                IP TOS
           Field     Policy      Field     Policy
           Contents    Code      Contents    Code
           0 0 0 0  ==>   0      0 0 0 1  ==>   2
           0 0 1 0  ==>   4      0 0 1 1  ==>   6
           0 1 0 0  ==>   8      0 1 0 1  ==>  10
           0 1 1 0  ==>  12      0 1 1 1  ==>  14
           1 0 0 0  ==>  16      1 0 0 1  ==>  18
           1 0 1 0  ==>  20      1 0 1 1  ==>  22
           1 1 0 0  ==>  24      1 1 0 1  ==>  26
           1 1 1 0  ==>  28      1 1 1 1  ==>  30"
    ::= { myipCidrRouteEntry 3 }

myipCidrRouteNextHop OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "On remote routes, the address of the next sys-
       tem en route; Otherwise, 0.0.0.0."
    ::= { myipCidrRouteEntry 4 }

myipCidrRouteIfIndex OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The ifIndex value which identifies  the  local
       interface  through  which  the next hop of this
       route should be reached."
    DEFVAL { 0 }
    ::= { myipCidrRouteEntry 5 }

myipCidrRouteType OBJECT-TYPE
    SYNTAX   INTEGER {
                other    (1), -- not specified by this MIB
                reject   (2), -- route which discards traffic
                local    (3), -- local interface
                remote   (4)  -- remote destination
             }
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The type of route.  Note that local(3)  refers
       to  a route for which the next hop is the final
       destination; remote(4) refers to  a  route  for
       which  the  next  hop is not the final destina-
       tion.

       Routes which do not result in traffic forwarding or
       rejection should not be displayed even if the
       implementation keeps them stored internally.


       reject (2) refers to a route which, if matched, discards
       the message as unreachable. This is used in some
       protocols as a means of correctly aggregating routes."
    ::= { myipCidrRouteEntry 6 }

myipCidrRouteProto OBJECT-TYPE
    SYNTAX   INTEGER {
                other     (1),  -- not specified
                local     (2),  -- local interface
                netmgmt   (3),  -- static route
                icmp      (4),  -- result of ICMP Redirect

                        -- the following are all dynamic
                        -- routing protocols
                egp        (5),  -- Exterior Gateway Protocol
                ggp        (6),  -- Gateway-Gateway Protocol
                hello      (7),  -- FuzzBall HelloSpeak
                rip        (8),  -- Berkeley RIP or RIP-II
                isIs       (9),  -- Dual IS-IS
                esIs       (10), -- ISO 9542
                ciscoIgrp  (11), -- Cisco IGRP
                bbnSpfIgp  (12), -- BBN SPF IGP
                ospf       (13), -- Open Shortest Path First
                bgp        (14), -- Border Gateway Protocol
                idpr       (15), -- InterDomain Policy Routing
                ciscoEigrp (16), -- Cisco EIGRP
                policy     (17)  -- My private policy-route
                
             }
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "The routing mechanism via which this route was
       learned.  Inclusion of values for gateway rout-
       ing protocols is not  intended  to  imply  that
       hosts should support those protocols."
    ::= { myipCidrRouteEntry 7 }

myipCidrRouteAge OBJECT-TYPE
    SYNTAX   Integer32
    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."
    DEFVAL  { 0 }
    ::= { myipCidrRouteEntry 8 }

myipCidrRouteInfo OBJECT-TYPE
    SYNTAX   OBJECT IDENTIFIER
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "A reference to MIB definitions specific to the
       particular  routing protocol which is responsi-
       ble for this route, as determined by the  value
       specified  in the route's ipCidrRouteProto value.
       If this information is not present,  its  value
       should be set to the OBJECT IDENTIFIER { 0 0 },
       which is a syntactically valid object  identif-
       ier, and any implementation conforming to ASN.1
       and the Basic Encoding Rules must  be  able  to
       generate and recognize this value."
    ::= { myipCidrRouteEntry 9 }

myipCidrRouteNextHopAS OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The Autonomous System Number of the Next  Hop.
       The  semantics of this object are determined by
       the routing-protocol specified in  the  route's
       ipCidrRouteProto  value. When  this object is
       unknown or not relevant its value should be set
       to zero."
    DEFVAL { 0 }
    ::= { myipCidrRouteEntry 10 }

myipCidrRouteMetric1 OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-create
    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
       ipCidrRouteProto  value.   If  this metric is not
       used, its value should be set to -1."
    DEFVAL { -1 }
    ::= { myipCidrRouteEntry 11 }

myipCidrRouteMetric2 OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-create
    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
       ipCidrRouteProto  value.   If  this metric is not
       used, its value should be set to -1."
    DEFVAL { -1 }
    ::= { myipCidrRouteEntry 12 }

myipCidrRouteMetric3 OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-create
    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
       ipCidrRouteProto  value.   If  this metric is not
       used, its value should be set to -1."
    DEFVAL { -1 }
    ::= { myipCidrRouteEntry 13 }

myipCidrRouteMetric4 OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-create
    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
       ipCidrRouteProto  value.   If  this metric is not
       used, its value should be set to -1."
    DEFVAL { -1 }
    ::= { myipCidrRouteEntry 14 }

myipCidrRouteMetric5 OBJECT-TYPE
    SYNTAX   Integer32
    MAX-ACCESS read-create
    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
       ipCidrRouteProto  value.   If  this metric is not
       used, its value should be set to -1."
    DEFVAL { -1 }
    ::= { myipCidrRouteEntry 15 }

myipCidrRouteStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The row status variable, used according to
       row installation and removal conventions."
    ::= { myipCidrRouteEntry 16 }
    
myipCidrOspfRouteType OBJECT-TYPE
    SYNTAX   INTEGER
             {
               ospf-route    (0), --ospf intra area route 
               ospf-ia-route (1), --ospf inter area route
	       ospf-n1-route (2), --ospf nssa external type 1 route
	       ospf-n2-route (3), --ospf nssa external type 2 route
	       ospf-e1-route (4), --ospf external type 1 route 
	       ospf-e2-route (5)  --OSPF external type 2 route
             }
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "this field describles the ospf route entry's type,
        it's valid when this route was learned by ospf protocol."
    ::= { myipCidrRouteEntry 17 }                     
              
myRouteMIBConformance OBJECT IDENTIFIER ::= { myRouteMIB 6 }
myRouteMIBCompliances OBJECT IDENTIFIER ::= { myRouteMIBConformance 1 }
myRouteMIBGroups      OBJECT IDENTIFIER ::= { myRouteMIBConformance 2 }


-- compliance statements

myRouteMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the My Route MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { 
                        myRouteMIBGroup,
                        myRouteInfoMIBGroup,
                        myRouteMapMIBGroup,
                        myRouteRedistributeMIBGroup ,
                        myRouteFilteringMibGroup,
                        myipCidrRouteMibGroup
                 }
        ::= { myRouteMIBCompliances 1 }
                
-- units of conformance
        
myRouteMIBGroup OBJECT-GROUP
        OBJECTS {
             myRouteServiceStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing route managment."
        ::= { myRouteMIBGroups 1 }        

myRouteInfoMIBGroup OBJECT-GROUP
        OBJECTS {
           myRoutingProtoInfoProtoType,
           myRoutingProtoInfoGateWay    ,
           myRoutingProtoInfoDistance ,
           myRoutingProtoInfoLastUpdate,
           
           myDefRoutingCfgRoutingProtoType,
           myDefRoutingCfgAlways  ,
           myDefRoutingCfgMetric,
           myDefRoutingCfgMetricType,
           myDefRoutingCfgRouteMap,
           myDefRoutingCfgStatus              
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing route information for all routing protocol."
        ::= { myRouteMIBGroups 2}
                
myRouteMapMIBGroup OBJECT-GROUP
        OBJECTS {
           myRouteMapName,
           myRouteMapSequenceNumber,
           myRouteMapOperType   ,
           myRouteMapMatchMetric  ,
           myRouteMapMatchRouteType ,
           myRouteMapMetricValueType    ,
           myRouteMapSetMetric  ,      
           myRouteMapSetLevel  ,
           myRouteMapSetMetricType ,
           myRouteMapSetNexthopSt,
           myRouteMapSetNexthopSt,
           myRouteMapStatus,
           
           myRouteMapMatchIpAddressAclName,
           myRouteMapMatchType,    
           myRouteMapMatchIpAddressStatus,
           
           myRouteMapMatchTagValue  ,
           myRouteMapMatchTagStatus,
         
           myRouteMapMatchInterfaceIfIndex,
           myRouteMapMatchInterfaceStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing route managment."
        ::= { myRouteMIBGroups 3 }   
        
myRouteRedistributeMIBGroup OBJECT-GROUP
        OBJECTS {
--         myRouteRedistributeDefMetricVal,
        
         myRouteRedistributeProtocolCfg,
         myRouteRedistributeProtocol,
         myRouteRedistributeMetricValue,
         myRouteRedistributeMetricType,
         myRouteRedistributeTagValue,
         myRouteRedistributeRouteMapName,
         myRouteRedistributeStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing route Redistributting."
        ::= { myRouteMIBGroups 4 }   
        
myRouteFilteringMibGroup  OBJECT-GROUP
        OBJECTS { 
                  myIpPrefixListName,
                  myIpPrefixListSequence,
                  myIpPrefixListOperMethod,
                  myIpPrefixListIpAddress,
                  myIpPrefixListMaskLength,
                  myIpPrefixListMinimumPrefixLength,
                  myIpPrefixListMaximumPrefixLength,
                  myIpPrefixListStatus,
                  
                  myDistributeListCfgProtoType ,
                  myDistributeListIfIndex,
                  myDistributeListFilterType,
                  myDistributeListDirection ,
                  myDistributeListAclName,
                  myDistributeListGateWayIpPrefixName,
                  myDistributeListPrefixIpPrefixName,
                  myDistributeListFilteringProtocol,
                  myDistributeListStatus     
                }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing route distribute-list."
        ::= { myRouteMIBGroups 5 }    
        
myipCidrRouteMibGroup  OBJECT-GROUP
        OBJECTS { 
        myipCidrRouteDest,
        myipCidrRouteMask,
        myipCidrRouteTos,
        myipCidrRouteNextHop,
        myipCidrRouteIfIndex,
        myipCidrRouteType,
        myipCidrRouteProto,
        myipCidrRouteAge,
        myipCidrRouteInfo,
        myipCidrRouteNextHopAS,
        myipCidrRouteMetric1,
        myipCidrRouteMetric2,
        myipCidrRouteMetric3,
        myipCidrRouteMetric4,
        myipCidrRouteMetric5,
        myipCidrRouteStatus,
        myipCidrOspfRouteType
                }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing CIDR Route Table."
        ::= { myRouteMIBGroups 6 }             
                
END
