-- *****************************************************************
-- QTECH-DVMRP-MIB.mib:  qtech Dvmrp MIB file
--
-- January 2003, zhenggao
--
-- Copyright (c) 2003 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************


QTECH-DVMRPINTEROPERABILITY-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY,
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        Integer32,
        Unsigned32,
        IpAddress,
        TimeTicks
             FROM SNMPv2-SMI
        RowStatus,
        DisplayString
             FROM SNMPv2-TC
        InterfaceIndex
             FROM IF-MIB
        EnabledStatus 
             FROM P-BRIDGE-MIB
        qtechMgmt
             FROM QTECH-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP,
        NOTIFICATION-GROUP
             FROM SNMPv2-CONF;
 
qtechDvmrpMIB MODULE-IDENTITY
    LAST-UPDATED "200301200000Z"
    ORGANIZATION "Qtech Networks Co.,Ltd."
    CONTACT-INFO
        " 
        Tel: 4008-111-000 
         
        E-mail: service@qtech.com.cn"
    DESCRIPTION
        "This module defines qtech dvmrp mibs."
    REVISION      "200301200000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { qtechMgmt 29}

qtechDvmrpMIBObjects OBJECT IDENTIFIER ::= { qtechDvmrpMIB 1 }

qtechDvmrpGroup OBJECT IDENTIFIER  ::= {  qtechDvmrpMIBObjects 1 }

qtechDvmrpRouteLimit      OBJECT-TYPE
    SYNTAX      Unsigned32(0..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
             "Number of DVMRP routes that can be advertised."
    DEFVAL{7000}
    ::= { qtechDvmrpGroup 1 }

qtechDvmrpRoutehogNotification   OBJECT-TYPE
    SYNTAX      Unsigned32(1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Number of routes allowed before a syslog message 
         is triggered."
    DEFVAL{10000}
    ::= { qtechDvmrpGroup 2 }
   
  --
  --  The qtech-DVMRP Interface Table
  --
qtechDvmrpInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechDvmrpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the interfaces on
         which Dvmrp is enabled."
    ::= {  qtechDvmrpMIBObjects 2 }
  
qtechDvmrpInterfaceEntry OBJECT-TYPE
    SYNTAX     QtechDvmrpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) representing an
         interface on which Dvmrp is enabled."
    INDEX      { qtechDvmrpInterfaceIfIndex }
    ::= { qtechDvmrpInterfaceTable 1 }

             
QtechDvmrpInterfaceEntry ::= SEQUENCE {
    qtechDvmrpInterfaceIfIndex		            InterfaceIndex,                                                                      
    qtechDvmrpInterfaceDefaultInformation       INTEGER,-- 0-default 1-originate2-only
    qtechDvmrpInterfaceUnicastRoutingStatus     EnabledStatus, 
    qtechDvmrpInterfaceRejectNonPrunersStatus   EnabledStatus,      
    qtechDvmrpInterfaceAutoSummaryStatus        EnabledStatus,
    qtechDvmrpInterfaceRtsRec                   Integer32,
    qtechDvmrpInterfacePoisonReverseRtsRec      Integer32,
    qtechDvmrpInterfaceUniRtAdvertised          Integer32,
    qtechDvmrpInterfaceDvmrpRtAdvertised        Integer32
    }

qtechDvmrpInterfaceIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The ifIndex value of this Dvmrp interface."
    ::= { qtechDvmrpInterfaceEntry 1 }

qtechDvmrpInterfaceDefaultInformation     OBJECT-TYPE   
    SYNTAX     INTEGER{default(0),originate(1),only(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "originate means Other routes more specific 
         than 0.0.0.0 may be advertised,only means 
         No DVMRP routes other than 0.0.0.0 are 
         advertised.Default means Disable the command."
    DEFVAL{0}
    ::= { qtechDvmrpInterfaceEntry 2 }

qtechDvmrpInterfaceUnicastRoutingStatus  OBJECT-TYPE   
    SYNTAX     EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable DVMRP unicast routing (to send and receive DVMRP routes).
         This feature is disabled by default."
    DEFVAL{disabled}
    ::= { qtechDvmrpInterfaceEntry 3 }

qtechDvmrpInterfaceRejectNonPrunersStatus  OBJECT-TYPE   
    SYNTAX     EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Prevent peering with nonpruning DVMRP neighbors."
    DEFVAL{disabled}
    ::= { qtechDvmrpInterfaceEntry 4 }

qtechDvmrpInterfaceAutoSummaryStatus  OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Disable or Enabled DVMRP autosummarization."
    DEFVAL{enabled}
    ::= { qtechDvmrpInterfaceEntry 5 }

qtechDvmrpInterfaceRtsRec  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of received Dvmrp Routes."
    ::= { qtechDvmrpInterfaceEntry 6 }

qtechDvmrpInterfacePoisonReverseRtsRec  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of received poison-reverse Routes."
    ::= { qtechDvmrpInterfaceEntry 7}

qtechDvmrpInterfaceUniRtAdvertised  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of Advertised unicast Routes."
    ::= { qtechDvmrpInterfaceEntry 8}

qtechDvmrpInterfaceDvmrpRtAdvertised  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of Advertised dvmrp Routes."
    ::= { qtechDvmrpInterfaceEntry 9}

--
--metric-offset Table
--

qtechDvmrpMetricOffsetTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechDvmrpMetricOffsetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the MetricOffset on
         which Dvmrp is enabled."
    ::= {  qtechDvmrpMIBObjects 3 }
  
qtechDvmrpMetricOffsetEntry OBJECT-TYPE
    SYNTAX     QtechDvmrpMetricOffsetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) representing an
         MetricOffset on which Dvmrp is enabled."
    INDEX      { qtechDvmrpMetricOffsetIfIndex,qtechDvmrpMetricOffsetInOrOut }
    ::= { qtechDvmrpMetricOffsetTable 1 }
              
QtechDvmrpMetricOffsetEntry ::= SEQUENCE {
    qtechDvmrpMetricOffsetIfIndex	    InterfaceIndex,
    qtechDvmrpMetricOffsetInOrOut       INTEGER,
    qtechDvmrpMetricOffsetIncrement     Integer32  --(1-31)
    }
    
qtechDvmrpMetricOffsetIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The ifIndex value of this Dvmrp interface."
    ::= { qtechDvmrpMetricOffsetEntry 1 }

qtechDvmrpMetricOffsetInOrOut  OBJECT-TYPE
    SYNTAX      INTEGER{in(1),out(2)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "in means Specifies that the increment value is added to
         incoming DVMRP reports and is reported in mrinfo replies.
         out means Specifies that the increment value is added to
         outgoing DVMRP reports for routes from the DVMRP routing
         table."
    ::= { qtechDvmrpMetricOffsetEntry 2}

qtechDvmrpMetricOffsetIncrement  OBJECT-TYPE
    SYNTAX      Integer32(0..31)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Value added to the metric of a DVMRP route advertised in 
         a report message,the default increment value for incoming 
         routes is 1,the range is 1 to 31; and the default for outgoing 
         routes is 0,the range is 0 to 31."
    DEFVAL{1}
    ::= { qtechDvmrpMetricOffsetEntry 3 }
  
--
--Summary Table
--
qtechDvmrpSummaryTable     OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechDvmrpSummaryEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the Summary on
         which Dvmrp is enabled."
    ::= {  qtechDvmrpMIBObjects 4 }
  
qtechDvmrpSummaryEntry OBJECT-TYPE
    SYNTAX     QtechDvmrpSummaryEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) representing 
         Summary enabled."
    INDEX      { qtechDvmrpIfIndex, qtechDvmrpSummaryAddress,
                 qtechDvmrpSummaryMask }
    ::= { qtechDvmrpSummaryTable 1 }
              
QtechDvmrpSummaryEntry ::= SEQUENCE {      
    qtechDvmrpIfIndex                  InterfaceIndex, 
    qtechDvmrpSummaryAddress           IpAddress,
    qtechDvmrpSummaryMask              IpAddress,
    qtechDvmrpSummaryMetric            Integer32,--(1-32) 
    qtechDvmrpSummaryStatus            RowStatus          
    }
    
qtechDvmrpIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The ifIndex value of this Dvmrp interface."
    ::= { qtechDvmrpSummaryEntry 1 }
    
qtechDvmrpSummaryAddress   OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Summary IP address that is advertised instead of 
         the more specific route."
    ::= { qtechDvmrpSummaryEntry 2 }

qtechDvmrpSummaryMask    OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Mask on the summary IP address."
    ::= { qtechDvmrpSummaryEntry 3 }

qtechDvmrpSummaryMetric  OBJECT-TYPE
    SYNTAX      Integer32(1..32)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Metric that is advertised with the summary address."
    DEFVAL{1}
    ::= { qtechDvmrpSummaryEntry 4 }

qtechDvmrpSummaryStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of this entry.  Creating the entry enables PIM
         on the interface; destroying the entry disables PIM on the
         interface."
    ::= { qtechDvmrpSummaryEntry 5 }

--
--Metric Table
--
qtechDvmrpMetricTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechDvmrpMetricEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the interfaces on
         which Dvmrp is enabled."
    ::= {  qtechDvmrpMIBObjects 5 }
  
qtechDvmrpMetricEntry OBJECT-TYPE
    SYNTAX     QtechDvmrpMetricEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) of qtechDvmrpMetricTable."
    INDEX      {qtechDvmrpMetricIfIndex,qtechDvmrpMetric,
                qtechDvmrpMetricProtocolId}
    ::= { qtechDvmrpMetricTable 1 }

QtechDvmrpMetricEntry ::= SEQUENCE {
    qtechDvmrpMetricIfIndex		               InterfaceIndex,            
    qtechDvmrpMetric                            Integer32,--0-32
    qtechDvmrpMetricListAclName                 DisplayString,
    qtechDvmrpMetricProtocolId                  INTEGER,
    qtechDvmrpMetricStatus                      RowStatus
    }

qtechDvmrpMetricIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The ifIndex value of this Dvmrp interface."
    ::= { qtechDvmrpMetricEntry 1 }
    
qtechDvmrpMetric      OBJECT-TYPE
    SYNTAX     Integer32(0..32)
    MAX-ACCESS  not-accessible
    STATUS     current
    DESCRIPTION
        "Metric associated with a set of destinations for 
         DVMRP reports.  A value of 0 means that the route 
         is not advertised. A value of 32 is equivalent to 
         infinity (unreachable)."
    ::= { qtechDvmrpMetricEntry 2 }

qtechDvmrpMetricListAclName   OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS  read-create
    STATUS     current
    DESCRIPTION
        "The name of an access list,only the multicast destinations that
         match the access list are reported with the configured metric."
   ::= { qtechDvmrpMetricEntry 3 }
   
qtechDvmrpMetricProtocolId       OBJECT-TYPE
    SYNTAX     INTEGER{ default(0),ospf(1), rip(2), static(3),dvmrp(4) }
    MAX-ACCESS  not-accessible
    STATUS     current
    DESCRIPTION
        "The number of Protocol Id,only routes learned by the specified 
         routing protocol are advertised in DVMRP report messages."
    DEFVAL {0}
    ::= { qtechDvmrpMetricEntry 4 }

qtechDvmrpMetricStatus    OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of this entry.  Creating the entry enables Dvmrp Metric; 
         destroying the entry disables Dvmrp Metric."
    ::= { qtechDvmrpMetricEntry 5}
 
qtechDvmrpRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF QtechDvmrpRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the interfaces on
         which Dvmrp is enabled."
    ::= {  qtechDvmrpMIBObjects 6}
  
qtechDvmrpRouteEntry OBJECT-TYPE
    SYNTAX     QtechDvmrpRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) of qtechDvmrpRouteTable."
    INDEX      { qtechDvmrpRouteIpAddress,qtechDvmrpRouteInterface  }
    ::= { qtechDvmrpRouteTable 1 }

QtechDvmrpRouteEntry ::= SEQUENCE {
    qtechDvmrpRouteIpAddress        IpAddress,
    qtechDvmrpRouteInterface        InterfaceIndex,
    qtechDvmrpRouteDistance         Integer32,
    qtechDvmrpRouteMetric           Integer32,
    qtechDvmrpRouteUptime           TimeTicks,
    qtechDvmrpRouteExpires          TimeTicks,
    qtechDvmrpRouteNextHopAddress   IpAddress,
    qtechDvmrpRouteNextHopInterface InterfaceIndex,
    qtechDvmrpRouteStatus           EnabledStatus
    }

qtechDvmrpRouteIpAddress  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Clears the longest matched route."         
    ::= {  qtechDvmrpRouteEntry 1 }

qtechDvmrpRouteInterface  OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The interface number of Dvmrp Route."
    ::= {  qtechDvmrpRouteEntry 2 }

qtechDvmrpRouteDistance  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "For distance, enter the administrative distance to the
         destination. By default, the administrative distance for DVMRP
         routes is 0 and take precedence over unicast routing table routes. If
         you have two paths to a source, one through unicast routing (using
         PIM as the multicast routing protocol) and another using DVMRP,
         and if you want to use the PIM path, increase the administrative
         distance for DVMRP routes. The range is 0 to 255."
    ::= {  qtechDvmrpRouteEntry 3 }

qtechDvmrpRouteMetric  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Metric associated with a set of destinations for 
         DVMRP reports.  A value of 0 means that the route 
         is not advertised. A value of 32 is equivalent to 
         infinity (unreachable)."
    ::= {  qtechDvmrpRouteEntry 4 }

qtechDvmrpRouteUptime  OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "How long (in hours, minutes, and seconds) that the route has been in
         the DVMRP routing table."
    ::= {  qtechDvmrpRouteEntry 5 }

qtechDvmrpRouteExpires  OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "How long (in hours, minutes, and seconds) until the entry is removed
         from the DVMRP routing table."
    ::= {  qtechDvmrpRouteEntry 6 }

qtechDvmrpRouteNextHopAddress  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The address of next hop."
    ::= {  qtechDvmrpRouteEntry 7 }

qtechDvmrpRouteNextHopInterface  OBJECT-TYPE
      SYNTAX     InterfaceIndex
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
         "The ifindex of next hop."
      ::= {  qtechDvmrpRouteEntry 8 }

qtechDvmrpRouteStatus OBJECT-TYPE
    SYNTAX     EnabledStatus
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The status of this entry.  only be used to 
         destroy the entry disables Dvmrp Route,the
         satuss of enabled will destroy all entry and
         disabled only destroy one entry associate with
         qtechDvmrpRouteIpAddress and qtechDvmrpRouteInterface."
    ::= { qtechDvmrpRouteEntry 9 }

--
-- Notification 
--
qtechDvmrpTraps  OBJECT IDENTIFIER ::= { qtechDvmrpMIBObjects 7 }
qtechDvmrpRouteInformation NOTIFICATION-TYPE   
    STATUS             current
    DESCRIPTION
        "A qtechDvmrpRouteInformation trap signifies the
        Number of routes is more than The limit of 
        qtechDvmrpRoutehogNotification in one minute,
        then the trap should be generated."
    ::= { qtechDvmrpTraps 1 }


-- units of conformance

qtechDvmrpMIBConformance OBJECT IDENTIFIER ::= { qtechDvmrpMIB 2 }
qtechDvmrpMIBCompliances OBJECT IDENTIFIER ::= { qtechDvmrpMIBConformance 1 }
qtechDvmrpMIBGroups      OBJECT IDENTIFIER ::= { qtechDvmrpMIBConformance 2 }


-- compliance statements

qtechDvmrpMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for entities which implement
         the Qtech DVMRP MIB"
    MODULE  -- this module
    MANDATORY-GROUPS {
        qtechDvmrpBaseMIBGroup,    
        qtechDvmrpInterfaceMIBGroup,
        qtechDvmrpMetricOffsetMIBGroup,
        qtechDvmrpSummaryMIBGroup,
        qtechDvmrpMetricMIBGroup,
        qtechDvmrpRouteMIBGroup,
        qtechDvmrpRouteTrapGroup
        }
    ::= { qtechDvmrpMIBCompliances 1 }
                
-- conformance information

qtechDvmrpBaseMIBGroup OBJECT-GROUP
    OBJECTS {
    qtechDvmrpRouteLimit,
    qtechDvmrpRoutehogNotification
    }
    STATUS  current
    DESCRIPTION
        "A collection of general objects providing DVMRP managment."
    ::= { qtechDvmrpMIBGroups 1 }

qtechDvmrpInterfaceMIBGroup OBJECT-GROUP
    OBJECTS {
    qtechDvmrpInterfaceDefaultInformation,
    qtechDvmrpInterfaceUnicastRoutingStatus, 
    qtechDvmrpInterfaceRejectNonPrunersStatus,      
    qtechDvmrpInterfaceAutoSummaryStatus,
    qtechDvmrpInterfaceRtsRec,
    qtechDvmrpInterfacePoisonReverseRtsRec,
    qtechDvmrpInterfaceUniRtAdvertised,
    qtechDvmrpInterfaceDvmrpRtAdvertised
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP interface managment."
    ::= { qtechDvmrpMIBGroups 2 }
    
qtechDvmrpMetricOffsetMIBGroup OBJECT-GROUP
    OBJECTS {
    qtechDvmrpMetricOffsetIncrement
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP metric offset objects."
    ::= { qtechDvmrpMIBGroups 3 }
    
qtechDvmrpSummaryMIBGroup OBJECT-GROUP
    OBJECTS {
    qtechDvmrpSummaryMetric, 
    qtechDvmrpSummaryStatus   
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP summary objects."
    ::= { qtechDvmrpMIBGroups 4 }
 
qtechDvmrpMetricMIBGroup OBJECT-GROUP
    OBJECTS {
    qtechDvmrpMetricListAclName,
    qtechDvmrpMetricStatus
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP metric objects."
    ::= { qtechDvmrpMIBGroups 5 }
    
qtechDvmrpRouteMIBGroup OBJECT-GROUP
    OBJECTS {
    qtechDvmrpRouteDistance,
    qtechDvmrpRouteMetric,
    qtechDvmrpRouteUptime,
    qtechDvmrpRouteExpires,
    qtechDvmrpRouteNextHopAddress,
    qtechDvmrpRouteNextHopInterface,
    qtechDvmrpRouteStatus
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP route objects."
    ::= { qtechDvmrpMIBGroups 6 }                

qtechDvmrpRouteTrapGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        qtechDvmrpRouteInformation
    }
    STATUS  current
    DESCRIPTION
        "A collection of DVMRP route traps."
    ::= { qtechDvmrpMIBGroups 7 } 
END




    
    
               
                                                 
