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

QTECH-RIP-MIB DEFINITIONS ::= BEGIN

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

qtechRIPMIB 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 Rip mibs."
        REVISION      "200203200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 13}

qtechRIPMIBObjects OBJECT IDENTIFIER ::= { qtechRIPMIB 1 }

---
---RIP GROUP
---
qtechRipEnable OBJECT-TYPE
    SYNTAX EnabledStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
          "Rip management function status"
    DEFVAL { disabled }
          ::={ qtechRIPMIBObjects 1 } 

qtechRipUpdateTime OBJECT-TYPE
    SYNTAX Integer32 (0..2147483647)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
                "The rate (time in seconds between updates) at which routing updates are sent."
    DEFVAL {30}
        ::={ qtechRIPMIBObjects 2 } 

qtechRipInvalidTime OBJECT-TYPE
    SYNTAX Integer32 (1..2147483647)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
                "The interval of time (in seconds) after which a route is declared invalid."
    DEFVAL {180}        
        ::={ qtechRIPMIBObjects 3 } 

qtechRipHolddownTime OBJECT-TYPE
    SYNTAX Integer32 (0..2147483647)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
         "The amount of time (in seconds) that must pass before a route 
         is removed from the routing table"
    DEFVAL {120}
    ::={ qtechRIPMIBObjects 4 }
    
qtechRipRecommendSetting OBJECT-TYPE
    SYNTAX INTEGER{ 
            ripv1(1),
            ripv2(2),
            compatible(3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
              "User can set this object to 1,2,3.
               1 means that the system sending and receiving RIP version1 packets,
               2 means that the system sending and receiving RIP version2 packets,
               3 means that the system sending RIP version1 packets and receiving both
                 RIP version1 and RIP version2 packets.
                 
               If the system RIP interface configuration has been modified by user,this 
               object will be 4."
    DEFVAL {3}
        ::={qtechRIPMIBObjects 5}
 
 
-- The RIP Interface Status Table.

qtechRipIfStatTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechRipIfStatEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A list of subnets which require separate
           status monitoring in RIP."
       ::= { qtechRIPMIBObjects 6 }

qtechRipIfStatEntry OBJECT-TYPE
       SYNTAX   QtechRipIfStatEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "A Single Routing Domain in a single Subnet."
      INDEX { qtechRipIfStatIfIndex }
      ::= { qtechRipIfStatTable 1 }

QtechRipIfStatEntry ::=
        SEQUENCE {
        qtechRipIfStatIfIndex
                IfIndex,
        qtechRipIfStatRcvBadPackets
                Counter32,
        qtechRipIfStatRcvBadRoutes
                Counter32,
        qtechRipIfStatSentUpdates
                Counter32
            }

qtechRipIfStatIfIndex OBJECT-TYPE
        SYNTAX   IfIndex
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "VID of vlan which each net interface associate."
       ::= { qtechRipIfStatEntry 1 }

qtechRipIfStatRcvBadPackets OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of RIP response packets received by
           the RIP process which were subsequently discarded
           for any reason (e.g. a version 0 packet, or an
           unknown command type)."
       ::= { qtechRipIfStatEntry 2 }

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

qtechRipIfStatSentUpdates OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of triggered RIP updates actually
           sent on this interface.  This explicitly does
           NOT include full updates sent containing new
           information."
       ::= { qtechRipIfStatEntry 4 }
 
-- The RIP Interface Configuration Table.

qtechRipIfConfTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechRipIfConfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A list of interfaces which require separate
           configuration in RIP."
       ::= { qtechRIPMIBObjects  7 }

qtechRipIfConfEntry OBJECT-TYPE
       SYNTAX   QtechRipIfConfEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "A Single Routing Domain in a single interface."
      INDEX { qtechRipIfConfIfIndex }
      ::= { qtechRipIfConfTable 1 }

    QtechRipIfConfEntry ::=
        SEQUENCE {
         qtechRipIfConfIfIndex
                IfIndex,
         qtechRipIfConfAuthType
                INTEGER,
         qtechRipIfConfAuthKeyChain
                DisplayString,
         qtechRipIfConfSend
                INTEGER,
         qtechRipIfConfReceive
                INTEGER,
         qtechRipIfPassiveStatus
                EnabledStatus,
         qtechRipIfBroadcastEnable       
                EnabledStatus,
         qtechRipIfAdminStat 
                EnabledStatus               
     }

qtechRipIfConfIfIndex OBJECT-TYPE
        SYNTAX   IfIndex
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "IfIndex vale of vlan interface."
       ::= { qtechRipIfConfEntry 1 }

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

qtechRipIfConfAuthKeyChain OBJECT-TYPE
        SYNTAX   DisplayString(SIZE(1..32))
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The key chain name which interface associated. It indicate that 
            this interface doesn't match any key chain which this string is null"
        REFERENCE
           "qtechAuthenKeyChainName in QTECH-AUTHEN-KEY-MIB."   
       ::= { qtechRipIfConfEntry 3 }

qtechRipIfConfSend OBJECT-TYPE
        SYNTAX   INTEGER {
                    ripVersion1 (1),
                    rip1Compatible (2),
                    ripVersion2 (3)                     
                 }
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "What the router sends on this interface.
           ripVersion1 implies sending RIP updates compliant
           with  RFC  1058.   rip1Compatible implies
           broadcasting RIP-2 updates using RFC 1058 route
           subsumption rules.  ripVersion2 implies
           multicasting RIP-2 updates.  ripV1Demand indicates
           the use of Demand RIP on a WAN interface under RIP
           Version 1 rules.  ripV2Demand indicates the use of
           Demand RIP on a WAN interface under Version 2 rules."
       DEFVAL { rip1Compatible }
       ::= { qtechRipIfConfEntry 4 }

qtechRipIfConfReceive OBJECT-TYPE
        SYNTAX   INTEGER {
                    rip1 (1),
                    rip2 (2),
                    rip1OrRip2 (3)
                 }
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This indicates which version of RIP updates
           are to be accepted.  Note that rip2 and
           rip1OrRip2 implies reception of multicast
           packets."
       DEFVAL { rip1OrRip2 }
       ::= { qtechRipIfConfEntry 5 }

qtechRipIfPassiveStatus  OBJECT-TYPE
       SYNTAX EnabledStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
             " The interface will not send routing updates if this value is 'enabled'"
       DEFVAL { disabled }
             ::={ qtechRipIfConfEntry 6 } 

qtechRipIfBroadcastEnable OBJECT-TYPE
       SYNTAX EnabledStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
             "Enable or disable broadcast updats of RIP in this interface"
       DEFVAL { disabled }
             ::={ qtechRipIfConfEntry 7 }

qtechRipIfAdminStat OBJECT-TYPE
        SYNTAX   EnabledStatus
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The RIP  interface's  administrative  status.
           The  value formed on the interface, and the in-
           terface will be advertised as an internal route
           to  some  area.   The  value 'disabled' denotes
           that the interface is external to RIP."
       ::= { qtechRipIfConfEntry 8 }

                   
qtechRipOffsetMetric OBJECT-TYPE
    SYNTAX Integer32 (1..15)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
         "This object means the value of increasing incoming 
           and outgoing metrics to routes learned via RIP "
    DEFVAL {1}
    ::={ qtechRIPMIBObjects 8 }

qtechRipAdministrativeDistance OBJECT-TYPE
    SYNTAX Integer32 (0..255)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
                "This object specified the priority of route information learned via RIP."
    ::={ qtechRIPMIBObjects 9}  

qtechRipValidateUpdateSrcEnable  OBJECT-TYPE
    SYNTAX EnabledStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
          "This object allow of enabling or disabling validate the
           source IP address of incoming RIP routing updates."
    DEFVAL { enabled }
          ::={ qtechRIPMIBObjects 10 } 

qtechRipPassiveStatus  OBJECT-TYPE
       SYNTAX EnabledStatus
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
             "The qtechRipIfPassiveStatus of a interface equal to this object value
              when this interface is created. If you change this object value to 'enabled'
              or 'disabled'all interfaces which have exist will also change their 
              qtechRipIfPassiveStatus to 'enabled' or 'disabled'."
       DEFVAL { disabled }
             ::={ qtechRIPMIBObjects 11 } 


qtechRipNextDueIn  OBJECT-TYPE
       SYNTAX TimeTicks
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
             "Waitting time interval before next update packet generatting 
             in units of second"
             ::={ qtechRIPMIBObjects 12 }

-- The RIP Interface Offset Table.
qtechRipIfOffsetTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechRipIfOffsetEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The interface configuration about offset.
            Apply an offset list to routing metrics to increase incoming and 
            outgoing metrics to routes learned through RIP. You can limit 
            the offset list with an access list or an interface."
       ::= { qtechRIPMIBObjects 13 }

qtechRipIfOffsetEntry OBJECT-TYPE
       SYNTAX   QtechRipIfOffsetEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "the entry of this table."
      INDEX { qtechRipIfOffsetIfIndex,qtechRipIfOffsetMethod }
      ::= { qtechRipIfOffsetTable 1 }

QtechRipIfOffsetEntry ::=
        SEQUENCE {
        qtechRipIfOffsetIfIndex
                Integer32,
        qtechRipIfOffsetMethod
                INTEGER,
        qtechRipIfOffsetAclName
                DisplayString,
        qtechRipIfOffsetMetric
                Unsigned32,                
        qtechRipIfOffsetStatus
                RowStatus
            }

qtechRipIfOffsetIfIndex OBJECT-TYPE
        SYNTAX   Integer32 (0..2147483647)
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "the interface that this offset list apply to.
               
                If this value is 0,it indicate that this offset list apply in all 
                interfaces except the interfaceswhich which have not Offset configure.
                
                Other value is equal to TEXTUAL-CONVENTION IfIndex meaning,this offset
                list will apply in only the designate interface"
       ::= { qtechRipIfOffsetEntry 1 }

qtechRipIfOffsetMethod OBJECT-TYPE
        SYNTAX   INTEGER{
                         out(1),
                         in(2)
                        }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the offset list apply to incoming routes or 
           outgoing routes."
       ::= { qtechRipIfOffsetEntry 2 }

qtechRipIfOffsetAclName OBJECT-TYPE
        SYNTAX   DisplayString(SIZE(1..32))
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           " the offset list with Access list name ."
       ::= { qtechRipIfOffsetEntry 3 }
       
qtechRipIfOffsetMetric OBJECT-TYPE
        SYNTAX   Unsigned32(0..16)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "the offset list with offset value,
            in condition the value will be added to route metric."
       ::= { qtechRipIfOffsetEntry 4 }

qtechRipIfOffsetStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           " if this value is setted destroy,
             the entry will be deleted ."
       ::= { qtechRipIfOffsetEntry 5 }                    


--network table
qtechRipNetworkTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechRipNetworkEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "the network for rip routing."
       ::= { qtechRIPMIBObjects 14 }

qtechRipNetworkEntry OBJECT-TYPE
       SYNTAX   QtechRipNetworkEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "the entry of this table."
      INDEX { qtechRipNetworkAddr }
      ::= { qtechRipNetworkTable 1 }

QtechRipNetworkEntry ::=
        SEQUENCE {
        qtechRipNetworkAddr
                IpAddress,
        qtechRipNetworkMask
                IpAddress,                
        qtechRipNetworkStatus
                RowStatus
            }

qtechRipNetworkAddr OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "define a network for rip routing ."
       ::= { qtechRipNetworkEntry 1 }

qtechRipNetworkMask OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "define a network's mask for rip routing ."
       ::= { qtechRipNetworkEntry 2 }
              
qtechRipNetworkStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
               "if destroy is setted,
                this entry will be deleted ."
       ::= { qtechRipNetworkEntry 3 }

--neighbor table
qtechRipNeighborTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechRipNeighborEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "the neighbor for rip routing."
       ::= { qtechRIPMIBObjects 15 }

qtechRipNeighborEntry OBJECT-TYPE
       SYNTAX   QtechRipNeighborEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "the entry of this table."
      INDEX { qtechRipNeighborIndex }
      ::= { qtechRipNeighborTable 1 }

QtechRipNeighborEntry ::=
        SEQUENCE {
        qtechRipNeighborIndex
                IpAddress,
        qtechRipNeighborStatus
                RowStatus
            }

qtechRipNeighborIndex OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "define a neighbor for rip  ."
       ::= { qtechRipNeighborEntry 1 }
       
qtechRipNeighborStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
               "if destroy is setted,
                this entry will be deleted."
       ::= { qtechRipNeighborEntry 2 }
             
qtechRIPMIBConformance OBJECT IDENTIFIER ::= { qtechRIPMIB 2 }
qtechRIPMIBCompliances OBJECT IDENTIFIER ::= { qtechRIPMIBConformance 1 }
qtechRIPMIBGroups      OBJECT IDENTIFIER ::= { qtechRIPMIBConformance 2 }


-- compliance statements

qtechRIPMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech Snooping Dhcp MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { qtechRipMIBGroup,
                                   qtechRIPExtendMIBGroup  
                 }
        ::= { qtechRIPMIBCompliances 1 }
                
-- units of conformance

qtechRipMIBGroup OBJECT-GROUP
        OBJECTS {
           qtechRipEnable,
           qtechRipUpdateTime,
           qtechRipInvalidTime,
           qtechRipHolddownTime,
           qtechRipRecommendSetting,
           qtechRipIfStatIfIndex,
           qtechRipIfStatRcvBadPackets,
           qtechRipIfStatRcvBadRoutes,
           qtechRipIfStatSentUpdates,           
           qtechRipIfConfIfIndex,
           qtechRipIfConfAuthType,
           qtechRipIfConfAuthKeyChain,
           qtechRipIfConfSend,
           qtechRipIfConfReceive,
           qtechRipIfPassiveStatus,
           qtechRipIfBroadcastEnable,
           qtechRipIfAdminStat,
           qtechRipOffsetMetric,
           qtechRipAdministrativeDistance,
           qtechRipValidateUpdateSrcEnable
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing rip managment."
        ::= { qtechRIPMIBGroups 1 }

qtechRIPExtendMIBGroup OBJECT-GROUP
        OBJECTS {
           qtechRipNextDueIn,
           
           qtechRipIfOffsetIfIndex,
           qtechRipIfOffsetMethod,
           qtechRipIfOffsetAclName,
           qtechRipIfOffsetMetric,                
           qtechRipIfOffsetStatus,
           
           qtechRipNetworkAddr,
           qtechRipNetworkMask,
           qtechRipNetworkStatus,
           
           qtechRipNeighborIndex,
           qtechRipNeighborStatus        
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing rip extend managment."
        ::= { qtechRIPMIBGroups 2 }
                
        
END
