-- *****************************************************************
-- QTECH-ROUTE-MIB.mib:  Qtech Route MIB file
--
-- March 2002, Wuzg
--
-- Copyright (c) 2002 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************
--

QTECH-ROUTE-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        TimeTicks,
        Unsigned32,
        Integer32,
        IpAddress
                FROM SNMPv2-SMI
        TruthValue,
        DisplayString,
        RowStatus,
        TEXTUAL-CONVENTION
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ConfigStatus,
        IfIndex
                FROM QTECH-TC
        EnabledStatus 
                FROM P-BRIDGE-MIB               
        qtechMgmt
                FROM QTECH-SMI;

qtechRouteMIB MODULE-IDENTITY
        LAST-UPDATED "200203200000Z"
        ORGANIZATION "Qtech Networks Co.,Ltd."
        CONTACT-INFO
                " 
                Tel: 4008-111-000 

                E-mail: service@qtech.com.cn"
        DESCRIPTION
                "This module defines qtech route mibs."
        REVISION      "200203200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 20}

QtechRouteProtoType ::= 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                        
            }                                

qtechRouteMIBObjects OBJECT IDENTIFIER ::= { qtechRouteMIB 1 }

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

qtechRoutingProtoInfoEntry OBJECT-TYPE
    SYNTAX   QtechRoutingProtoInfoEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "the entry of this table."
   INDEX {   qtechRoutingProtoInfoProtoType,
             qtechRoutingProtoInfoGateWay
          }
   ::= { qtechRoutingProtoInfoTable 1 }
   
QtechRoutingProtoInfoEntry ::=
  SEQUENCE{
     qtechRoutingProtoInfoProtoType
         QtechRouteProtoType,
     qtechRoutingProtoInfoGateWay    
         IpAddress,
     qtechRoutingProtoInfoDistance 
         Unsigned32,
     qtechRoutingProtoInfoLastUpdate   
         TimeTicks
     }
  
qtechRoutingProtoInfoProtoType   OBJECT-TYPE
     SYNTAX   QtechRouteProtoType
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "The routing protocol type"
    ::= { qtechRoutingProtoInfoEntry 1 }  
             
qtechRoutingProtoInfoGateWay 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."
    ::= { qtechRoutingProtoInfoEntry 2 }
    
qtechRoutingProtoInfoDistance OBJECT-TYPE 
     SYNTAX   Unsigned32
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "The routing protocol distance."
    ::= { qtechRoutingProtoInfoEntry 3 }
    
qtechRoutingProtoInfoLastUpdate 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 ."
    ::= { qtechRoutingProtoInfoEntry 4 }


qtechDefRoutingCfgTable OBJECT-TYPE
     SYNTAX SEQUENCE OF QtechDefRoutingCfgEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
         "Default routing configuration."
 ::= { qtechRouteMIBObjects 3}
 
qtechDefRoutingCfgEntry OBJECT-TYPE
     SYNTAX QtechDefRoutingCfgEntry
     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 { qtechDefRoutingCfgRoutingProtoType}
 ::= { qtechDefRoutingCfgTable 1 }

 
QtechDefRoutingCfgEntry ::=
     SEQUENCE {
     qtechDefRoutingCfgRoutingProtoType 
             QtechRouteProtoType,
     qtechDefRoutingCfgAlways  
             TruthValue,
     qtechDefRoutingCfgMetric
             Unsigned32,
     qtechDefRoutingCfgMetricType  --only use in ospf
             INTEGER,
     qtechDefRoutingCfgRouteMap
             DisplayString,
     qtechDefRoutingCfgStatus
             RowStatus
              }
qtechDefRoutingCfgRoutingProtoType  OBJECT-TYPE
     SYNTAX   QtechRouteProtoType
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "index indicate that which routing protocol configuration mode is current mode."
    ::= { qtechDefRoutingCfgEntry 1 } 
    
qtechDefRoutingCfgAlways OBJECT-TYPE
     SYNTAX   TruthValue
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "Setting the value to TRUE indicates that always advertise default route."
     DEFVAL{false}
    ::= { qtechDefRoutingCfgEntry 2 }  
             
qtechDefRoutingCfgMetric OBJECT-TYPE
     SYNTAX   Unsigned32(1..16777214) 
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "Set  ospf default metric value."
     DEFVAL {10}
    ::= { qtechDefRoutingCfgEntry 3 }
                             
qtechDefRoutingCfgMetricType OBJECT-TYPE
     SYNTAX   INTEGER{                        
                     type1(1),
                     type2(2)
                     }
                   
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "Set  OSPF Link State type,this value is only 
         valid in ospf configuration"
     DEFVAL {type2}
    ::= { qtechDefRoutingCfgEntry 4 } 
           
qtechDefRoutingCfgRouteMap 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 {""}
    ::= { qtechDefRoutingCfgEntry 5 }   
          
qtechDefRoutingCfgStatus OBJECT-TYPE
     SYNTAX   RowStatus
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "if this value is change to destroy,
         this entry will be deleted"       
    ::= { qtechDefRoutingCfgEntry 6 }           


         
--Route map group
qtechRouteMapMIBObjects OBJECT IDENTIFIER ::= { qtechRouteMIB 2 }         

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

qtechRouteMapEntry OBJECT-TYPE
    SYNTAX   QtechRouteMapEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "the entry of this table."
   INDEX {
            qtechRouteMapName,
            qtechRouteMapSequenceNumber
          }
   ::= { qtechRouteMapTable 1 }
   
QtechRouteMapEntry ::=
  SEQUENCE{
     qtechRouteMapName
         DisplayString,
     qtechRouteMapSequenceNumber
         Unsigned32,
     qtechRouteMapOperType   
         INTEGER,
     qtechRouteMapMatchMetric  
         Unsigned32,
     qtechRouteMapMatchRouteType 
         INTEGER,
     qtechRouteMapMetricValueType    
         INTEGER,
     qtechRouteMapSetMetric  
         Unsigned32,      
    qtechRouteMapSetLevel  
         INTEGER,
     qtechRouteMapSetMetricType 
         INTEGER,
     qtechRouteMapSetNexthopSt
         ConfigStatus,          
     qtechRouteMapSetNexthop
         IpAddress,
     qtechRouteMapStatus
         RowStatus             
           }   
qtechRouteMapName   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."
    ::= { qtechRouteMapEntry 1 }    
         
qtechRouteMapSequenceNumber   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}
    ::= { qtechRouteMapEntry 2 }    

qtechRouteMapOperType   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}
    ::= { qtechRouteMapEntry 3 }      
    
qtechRouteMapMatchMetric   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}
    ::= { qtechRouteMapEntry 4 }       
    
qtechRouteMapMatchRouteType   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}
    ::= { qtechRouteMapEntry 5}      

qtechRouteMapMetricValueType   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  qtechRouteMapSetMetric.
          'add': new metric value will equal 'old metric vlaue + qtechRouteMapSetMetric'
          'reduce': new metric value will equal 'old metric vlaue - qtechRouteMapSetMetric'"
     DEFVAL {noOper}
    ::= { qtechRouteMapEntry 6 } 
           
qtechRouteMapSetMetric   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.
         
         qtechRouteMapMetricValueType will decide real operation.  The value of
         qtechRouteMapSetMetric is invalid in qtechRouteMapMetricValueType is 
         'noOper'."
     DEFVAL {1}
    ::= { qtechRouteMapEntry 7 }
    
qtechRouteMapSetLevel   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}
    ::= { qtechRouteMapEntry 8 }       
    
qtechRouteMapSetMetricType   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}
    ::= { qtechRouteMapEntry 9}    

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

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


--qtechRouteMapMatchIpAddressTable

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

qtechRouteMapMatchIpAddressEntry OBJECT-TYPE
    SYNTAX   QtechRouteMapMatchIpAddressEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "Match a standard access list by specifying the Acl name "
   INDEX {
            qtechRouteMapName,      
            qtechRouteMapSequenceNumber, 
            qtechRouteMapMatchType,  
            qtechRouteMapMatchIpAddressAclName
          }
   ::= { qtechRouteMapMatchIpAddressTable 1 }
   
QtechRouteMapMatchIpAddressEntry ::=
  SEQUENCE{
     qtechRouteMapMatchType
         INTEGER,    
     qtechRouteMapMatchIpAddressAclName  
         DisplayString,         
     qtechRouteMapMatchIpAddressStatus
         RowStatus
           }   

qtechRouteMapMatchType   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
        "
    ::= { qtechRouteMapMatchIpAddressEntry 1 }
                  
qtechRouteMapMatchIpAddressAclName   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."
    ::= { qtechRouteMapMatchIpAddressEntry 2 }
             
qtechRouteMapMatchIpAddressStatus  OBJECT-TYPE
     SYNTAX   RowStatus                      
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "The entry status,if the value is destroy ,the 
          entry will be deleted."
    ::= { qtechRouteMapMatchIpAddressEntry 3 }       
    
--qtechRouteMapMatchTagTable

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

qtechRouteMapMatchTagEntry OBJECT-TYPE
    SYNTAX   QtechRouteMapMatchTagEntry
    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 {
            qtechRouteMapName,     
            qtechRouteMapSequenceNumber,
            qtechRouteMapMatchTagValue 
          }
   ::= { qtechRouteMapMatchTagTable 1 }
   
QtechRouteMapMatchTagEntry ::=
  SEQUENCE{
     qtechRouteMapMatchTagValue  
         Unsigned32,
     qtechRouteMapMatchTagStatus
         RowStatus
           }   
qtechRouteMapMatchTagValue   OBJECT-TYPE  
     SYNTAX   Unsigned32(0..2147483647) 
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "  Match the specified tag value."
    ::= { qtechRouteMapMatchTagEntry 1 }   
    
qtechRouteMapMatchTagStatus   OBJECT-TYPE
     SYNTAX   RowStatus
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "  the entry status,if the value is destroy ,the 
        entry will be deleted."
    ::= { qtechRouteMapMatchTagEntry 2 }


--qtechRouteMapMatchInterfaceTable

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

qtechRouteMapMatchInterfaceEntry OBJECT-TYPE
    SYNTAX   QtechRouteMapMatchInterfaceEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "Match the specified next hop route out one of the specified
       interfaces. "
   INDEX {
            qtechRouteMapName,    
            qtechRouteMapSequenceNumber,  
            qtechRouteMapMatchInterfaceIfIndex                  
          }
   ::= { qtechRouteMapMatchInterfaceTable 1 }
   
QtechRouteMapMatchInterfaceEntry ::=
  SEQUENCE{
     qtechRouteMapMatchInterfaceIfIndex
            IfIndex,
     qtechRouteMapMatchInterfaceStatus
            RowStatus
           }   
           
qtechRouteMapMatchInterfaceIfIndex   OBJECT-TYPE  
     SYNTAX   IfIndex 
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
        "  The ifTable's ifIndex."
    ::= { qtechRouteMapMatchInterfaceEntry 1 }   
    
qtechRouteMapMatchInterfaceStatus  OBJECT-TYPE
     SYNTAX   RowStatus
     MAX-ACCESS   read-create
     STATUS   current
     DESCRIPTION
        "  the entry status,if the value is destroy ,the 
        entry will be deleted."
    ::= { qtechRouteMapMatchInterfaceEntry 2 }
         
--Route redistribute group
qtechRouteRedistributeMIBObjects OBJECT IDENTIFIER ::= { qtechRouteMIB 3 }

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

qtechRouteRedistributeEntry OBJECT-TYPE
       SYNTAX   QtechRouteRedistributeEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "each entry descripts the methord,when Redistribute routes 
           from one routing protocol to another routing protocol."
      INDEX {qtechRouteRedistributeProtocolCfg, 
             qtechRouteRedistributeProtocol
            }
      ::= { qtechRouteRedistributeTable 1 }
      
QtechRouteRedistributeEntry ::=
     SEQUENCE{
         qtechRouteRedistributeProtocolCfg
            QtechRouteProtoType,
         qtechRouteRedistributeProtocol
            QtechRouteProtoType,
         qtechRouteRedistributeMetricValue
            Unsigned32,
         qtechRouteRedistributeMetricType
            INTEGER,
         qtechRouteRedistributeTagValue
            Unsigned32,
         qtechRouteRedistributeRouteMapName
            DisplayString,
         qtechRouteRedistributeStatus
            RowStatus
              }

qtechRouteRedistributeProtocolCfg OBJECT-TYPE
       SYNTAX   QtechRouteProtoType                       
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
           "The protocol which the redistributing will be setted in."  
       ::={qtechRouteRedistributeEntry 1}  
       
qtechRouteRedistributeProtocol OBJECT-TYPE
       SYNTAX   QtechRouteProtoType
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
           "The protocol which routing will redistribute to ."  
       ::={qtechRouteRedistributeEntry 2}         
          
qtechRouteRedistributeMetricValue OBJECT-TYPE
        SYNTAX   Unsigned32(1..16777214)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "0 indicate that redistributing metric value will equal 
            qtechOspfRouteRedisDefMetricVal for OSPF or 
            qtechRipOffsetMetric for RIP. Other value indicate that
            qtechRouteRedistributeMetricValue will be set for new metric value
            for redistribute routes,for rip this value only can be from 1 to 16."
        DEFVAL {0}   
        ::= { qtechRouteRedistributeEntry 3 }   
       
qtechRouteRedistributeMetricType  OBJECT-TYPE
        SYNTAX   INTEGER{  
                     type1(1),
                     type2(2)
                   }                        
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           " Metric type  value ."
        DEFVAL {type2}   
        ::= { qtechRouteRedistributeEntry 4 }    
       
qtechRouteRedistributeTagValue  OBJECT-TYPE
        SYNTAX   Unsigned32(0..4294967295)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "  Set tag for routes redistributed into OSPF."
        DEFVAL {0}             
        ::= { qtechRouteRedistributeEntry 5 } 
              
qtechRouteRedistributeRouteMapName  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 {""}
       ::= { qtechRouteRedistributeEntry 6 }         
           
qtechRouteRedistributeStatus  OBJECT-TYPE
        SYNTAX   RowStatus        
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "  the entry status,if the value is destroy ,then 
              disable this redistribute."
       ::= { qtechRouteRedistributeEntry 7 } 

qtechRouteFilteringMIBObjects OBJECT IDENTIFIER ::= { qtechRouteMIB 4 }
--ip prefix-list table
qtechIpPrefixListTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechIpPrefixListEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           " this table descripts the ip prefix list."
       ::= { qtechRouteFilteringMIBObjects  1 }

qtechIpPrefixListEntry OBJECT-TYPE
       SYNTAX   QtechIpPrefixListEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "each entry descripts a prefix list"
      INDEX {qtechIpPrefixListName, 
             qtechIpPrefixListSequence
            }
      ::= { qtechIpPrefixListTable 1 }
      
QtechIpPrefixListEntry ::=
     SEQUENCE{
         qtechIpPrefixListName
            DisplayString,
         qtechIpPrefixListSequence
            Unsigned32,
         qtechIpPrefixListOperMethod
            INTEGER,
         qtechIpPrefixListIpAddress
            IpAddress,
         qtechIpPrefixListMaskLength
            Unsigned32,
         qtechIpPrefixListMinimumPrefixLength
            Unsigned32,
         qtechIpPrefixListMaximumPrefixLength
            Unsigned32,
         qtechIpPrefixListStatus
            RowStatus
              }

qtechIpPrefixListName OBJECT-TYPE
       SYNTAX   DisplayString(SIZE(1..32))                       
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
           "name of ip prefix-list name."  
       ::={qtechIpPrefixListEntry 1}
       
qtechIpPrefixListSequence 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."  
       ::={qtechIpPrefixListEntry 2}
       
qtechIpPrefixListOperMethod OBJECT-TYPE
       SYNTAX   INTEGER{
                         permit(1),
                         deny(2)
                       }                       
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           "this field specifies whether the prefix for this entry 
           is to permit or deny the listed prefix."  
       ::={qtechIpPrefixListEntry 3}
       
qtechIpPrefixListIpAddress OBJECT-TYPE
       SYNTAX   IpAddress                    
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           "ip prefix-list ip address."  
       ::={qtechIpPrefixListEntry 4}
       
qtechIpPrefixListMaskLength OBJECT-TYPE
       SYNTAX  Unsigned32(0..32)                       
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           "ip prefix-list mask length."  
       ::={qtechIpPrefixListEntry 5}
       
qtechIpPrefixListMinimumPrefixLength OBJECT-TYPE
       SYNTAX  Unsigned32(0..32)                       
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           "this field specifies prefix length. The prefix list
            will be applied if the prefix length is greater than 
            or equal to qtechIpPrefixListMinimumPrefixLength.
            value '0' means that this parameter has no effect.
            
            The condition 'qtechIpPrefixListMaximumPrefixLength 
            >= qtechIpPrefixListMinimumPrefixLength > qtechIpPrefixListMaskLength'
            must be satisfied when this value is not '0' "  
       ::={qtechIpPrefixListEntry 6}
       
qtechIpPrefixListMaximumPrefixLength OBJECT-TYPE
       SYNTAX Unsigned32(0..32)                         
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           "this field specifies prefix length. The prefix list 
            will be applied if the prefix length is less than or 
            equal to qtechIpPrefixListMaximumPrefixLength.
            value '0' means that this parameter has no effect.
            
            The condition 'qtechIpPrefixListMaximumPrefixLength 
            >= qtechIpPrefixListMinimumPrefixLength > qtechIpPrefixListMaskLength'
            must be satisfied when this value is not '0' "  
       ::={qtechIpPrefixListEntry 7}
       
qtechIpPrefixListStatus 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."  
       ::={qtechIpPrefixListEntry 8}  
       
       
--distribute-list table
--distribute-list is used for Filtering both input and output of the routing information
qtechDistributeListTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechDistributeListEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           " this table descripts the distribute list."
       ::= { qtechRouteFilteringMIBObjects  2 }

qtechDistributeListEntry OBJECT-TYPE
       SYNTAX   QtechDistributeListEntry
       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 {qtechDistributeListCfgProtoType, 
             qtechDistributeListIfIndex,
             qtechDistributeListDirection,
             qtechDistributeListFilteringProtocol
            }
      ::= { qtechDistributeListTable 1 }
      
QtechDistributeListEntry ::=
     SEQUENCE{
         qtechDistributeListCfgProtoType 
             QtechRouteProtoType,
         qtechDistributeListIfIndex
             Unsigned32,
         qtechDistributeListDirection 
            INTEGER,             
         qtechDistributeListFilteringProtocol
            Unsigned32,
         qtechDistributeListFilterType
            INTEGER,
         qtechDistributeListAclName
            DisplayString,
         qtechDistributeListGateWayIpPrefixName
            DisplayString,
         qtechDistributeListPrefixIpPrefixName
            DisplayString,      
         qtechDistributeListStatus
            RowStatus
              }

qtechDistributeListCfgProtoType OBJECT-TYPE
       SYNTAX   QtechRouteProtoType                      
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION 
        "This index indicate that which routing protocol
         configuration mode is current mode."
       ::={qtechDistributeListEntry 1}
       
qtechDistributeListIfIndex 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."
       ::={qtechDistributeListEntry 2}

qtechDistributeListDirection 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."
       ::={qtechDistributeListEntry 3}

qtechDistributeListFilteringProtocol 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 'QtechRouteProtoType' meaning,
            it indicate the protocol which this distribute list apply on."   
       ::={qtechDistributeListEntry 4}
                     
qtechDistributeListFilterType OBJECT-TYPE
       SYNTAX   INTEGER{
                         acl(1),
                         gateway(2),
                         prefix(3),
                         prefix-gateway(4)
                       }                       
       MAX-ACCESS   read-create
       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."  
       ::={qtechDistributeListEntry 5}
       
qtechDistributeListAclName OBJECT-TYPE
       SYNTAX DisplayString(SIZE (0..32))
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           " This field is valid when the field qtechDistributeListFilterType'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"
       ::={qtechDistributeListEntry 6}
       
qtechDistributeListGateWayIpPrefixName OBJECT-TYPE
       SYNTAX DisplayString(SIZE (0..32))
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           " this field is valid when the field qtechDistributeListFilterType'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." 
       ::={qtechDistributeListEntry 7}
       
qtechDistributeListPrefixIpPrefixName OBJECT-TYPE
       SYNTAX DisplayString(SIZE (0..32))
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           " this field is valid when the field qtechDistributeListFilterType'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."   
       ::={qtechDistributeListEntry 8}
              
qtechDistributeListStatus OBJECT-TYPE
       SYNTAX   RowStatus        
       MAX-ACCESS   read-create
       STATUS   current
       DESCRIPTION 
           "the entry status,if the value is destroy ,then 
            delete this distribute-list."  
       ::={qtechDistributeListEntry 9}
                     
qtechipCidrRouteExtendMIBObjects OBJECT IDENTIFIER ::= { qtechRouteMIB 5 }    
qtechipCidrRouteTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF QtechIpCidrRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "This entity's IP Routing table."
    REFERENCE
       "RFC 1213 Section 6.6, The IP Group"
    ::= { qtechipCidrRouteExtendMIBObjects 1 }

qtechipCidrRouteEntry OBJECT-TYPE
    SYNTAX   QtechIpCidrRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "A particular route to  a  particular  destina-
       tion, under a particular policy."
    INDEX {
        qtechipCidrRouteDest,
        qtechipCidrRouteMask,
        qtechipCidrRouteTos,
        qtechipCidrRouteNextHop
        }
    ::= { qtechipCidrRouteTable 1 }

QtechIpCidrRouteEntry ::=
    SEQUENCE {
        qtechipCidrRouteDest
            IpAddress,
        qtechipCidrRouteMask
            IpAddress,
        qtechipCidrRouteTos
             Integer32,
        qtechipCidrRouteNextHop
            IpAddress,
        qtechipCidrRouteIfIndex
            Integer32,
        qtechipCidrRouteType
            INTEGER,
        qtechipCidrRouteProto
            INTEGER,
        qtechipCidrRouteAge
            Integer32,
        qtechipCidrRouteInfo
            OBJECT IDENTIFIER,
        qtechipCidrRouteNextHopAS
            Integer32,
        qtechipCidrRouteMetric1
            Integer32,
        qtechipCidrRouteMetric2
            Integer32,
        qtechipCidrRouteMetric3
            Integer32,
        qtechipCidrRouteMetric4
            Integer32,
        qtechipCidrRouteMetric5
            Integer32,
        qtechipCidrRouteStatus
            RowStatus,
        qtechipCidrOspfRouteType
            INTEGER
    }

qtechipCidrRouteDest 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."
    ::= { qtechipCidrRouteEntry 1 }

qtechipCidrRouteMask 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
       the  value of the corresponding instance of the
       ipCidrRouteDest object is not equal to ipCidrRoute-
       Dest."
    ::= { qtechipCidrRouteEntry 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.

qtechipCidrRouteTos 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"
    ::= { qtechipCidrRouteEntry 3 }

qtechipCidrRouteNextHop 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."
    ::= { qtechipCidrRouteEntry 4 }

qtechipCidrRouteIfIndex 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 }
    ::= { qtechipCidrRouteEntry 5 }

qtechipCidrRouteType 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."
    ::= { qtechipCidrRouteEntry 6 }

qtechipCidrRouteProto 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)  -- Qtech 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."
    ::= { qtechipCidrRouteEntry 7 }

qtechipCidrRouteAge 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 }
    ::= { qtechipCidrRouteEntry 8 }

qtechipCidrRouteInfo 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."
    ::= { qtechipCidrRouteEntry 9 }

qtechipCidrRouteNextHopAS 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 }
    ::= { qtechipCidrRouteEntry 10 }

qtechipCidrRouteMetric1 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 }
    ::= { qtechipCidrRouteEntry 11 }

qtechipCidrRouteMetric2 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 }
    ::= { qtechipCidrRouteEntry 12 }

qtechipCidrRouteMetric3 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 }
    ::= { qtechipCidrRouteEntry 13 }

qtechipCidrRouteMetric4 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 }
    ::= { qtechipCidrRouteEntry 14 }

qtechipCidrRouteMetric5 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 }
    ::= { qtechipCidrRouteEntry 15 }

qtechipCidrRouteStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS read-create
    STATUS   current
    DESCRIPTION
       "The row status variable, used according to
       row installation and removal conventions."
    ::= { qtechipCidrRouteEntry 16 }
    
qtechipCidrOspfRouteType 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."
    ::= { qtechipCidrRouteEntry 17 }                     
              
qtechRouteMIBConformance OBJECT IDENTIFIER ::= { qtechRouteMIB 6 }
qtechRouteMIBCompliances OBJECT IDENTIFIER ::= { qtechRouteMIBConformance 1 }
qtechRouteMIBGroups      OBJECT IDENTIFIER ::= { qtechRouteMIBConformance 2 }


-- compliance statements

qtechRouteMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech Route MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { 
                        qtechRouteMIBGroup,
                        qtechRouteInfoMIBGroup,
                        qtechRouteMapMIBGroup,
                        qtechRouteRedistributeMIBGroup ,
                        qtechRouteFilteringMibGroup,
                        qtechipCidrRouteMibGroup
                 }
        ::= { qtechRouteMIBCompliances 1 }
                
-- units of conformance
        
qtechRouteMIBGroup OBJECT-GROUP
        OBJECTS {
             qtechRouteServiceStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing route managment."
        ::= { qtechRouteMIBGroups 1 }        

qtechRouteInfoMIBGroup OBJECT-GROUP
        OBJECTS {
           qtechRoutingProtoInfoProtoType,
           qtechRoutingProtoInfoGateWay    ,
           qtechRoutingProtoInfoDistance ,
           qtechRoutingProtoInfoLastUpdate,
           
           qtechDefRoutingCfgRoutingProtoType,
           qtechDefRoutingCfgAlways  ,
           qtechDefRoutingCfgMetric,
           qtechDefRoutingCfgMetricType,
           qtechDefRoutingCfgRouteMap,
           qtechDefRoutingCfgStatus              
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing route information for all routing protocol."
        ::= { qtechRouteMIBGroups 2}
                
qtechRouteMapMIBGroup OBJECT-GROUP
        OBJECTS {
           qtechRouteMapName,
           qtechRouteMapSequenceNumber,
           qtechRouteMapOperType   ,
           qtechRouteMapMatchMetric  ,
           qtechRouteMapMatchRouteType ,
           qtechRouteMapMetricValueType    ,
           qtechRouteMapSetMetric  ,      
           qtechRouteMapSetLevel  ,
           qtechRouteMapSetMetricType ,
           qtechRouteMapSetNexthopSt,
           qtechRouteMapSetNexthopSt,
           qtechRouteMapStatus,
           
           qtechRouteMapMatchIpAddressAclName,
           qtechRouteMapMatchType,    
           qtechRouteMapMatchIpAddressStatus,
           
           qtechRouteMapMatchTagValue  ,
           qtechRouteMapMatchTagStatus,
         
           qtechRouteMapMatchInterfaceIfIndex,
           qtechRouteMapMatchInterfaceStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing route managment."
        ::= { qtechRouteMIBGroups 3 }   
        
qtechRouteRedistributeMIBGroup OBJECT-GROUP
        OBJECTS {
--         qtechRouteRedistributeDefMetricVal,
        
         qtechRouteRedistributeProtocolCfg,
         qtechRouteRedistributeProtocol,
         qtechRouteRedistributeMetricValue,
         qtechRouteRedistributeMetricType,
         qtechRouteRedistributeTagValue,
         qtechRouteRedistributeRouteMapName,
         qtechRouteRedistributeStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing route Redistributting."
        ::= { qtechRouteMIBGroups 4 }   
        
qtechRouteFilteringMibGroup  OBJECT-GROUP
        OBJECTS { 
                  qtechIpPrefixListName,
                  qtechIpPrefixListSequence,
                  qtechIpPrefixListOperMethod,
                  qtechIpPrefixListIpAddress,
                  qtechIpPrefixListMaskLength,
                  qtechIpPrefixListMinimumPrefixLength,
                  qtechIpPrefixListMaximumPrefixLength,
                  qtechIpPrefixListStatus,
                  
                  qtechDistributeListCfgProtoType ,
                  qtechDistributeListIfIndex,
                  qtechDistributeListFilterType,
                  qtechDistributeListDirection ,
                  qtechDistributeListAclName,
                  qtechDistributeListGateWayIpPrefixName,
                  qtechDistributeListPrefixIpPrefixName,
                  qtechDistributeListFilteringProtocol,
                  qtechDistributeListStatus     
                }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing route distribute-list."
        ::= { qtechRouteMIBGroups 5 }    
        
qtechipCidrRouteMibGroup  OBJECT-GROUP
        OBJECTS { 
        qtechipCidrRouteDest,
        qtechipCidrRouteMask,
        qtechipCidrRouteTos,
        qtechipCidrRouteNextHop,
        qtechipCidrRouteIfIndex,
        qtechipCidrRouteType,
        qtechipCidrRouteProto,
        qtechipCidrRouteAge,
        qtechipCidrRouteInfo,
        qtechipCidrRouteNextHopAS,
        qtechipCidrRouteMetric1,
        qtechipCidrRouteMetric2,
        qtechipCidrRouteMetric3,
        qtechipCidrRouteMetric4,
        qtechipCidrRouteMetric5,
        qtechipCidrRouteStatus,
        qtechipCidrOspfRouteType
                }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing CIDR Route Table."
        ::= { qtechRouteMIBGroups 6 }             
                
END
