-- These MIBs were created on 1/2/2003
-- This module defines enterprise MIBs for NS RIP
-- 
-- Copyright (c) 1999-2004, Juniper Networks, Inc.
-- All rights reserved.
-- 
-- MODULE-IDENTITY
--  OrgName
--    Juniper Networks, Inc.
--  ContactInfo
--     Customer Support
--     
--     1194 North Mathilda Avenue 
--     Sunnyvale, California 94089-1206
--     USA
--     
--     Tel: 1-800-638-8296
--     E-mail: customerservice@juniper.net
--     HTTP://www.juniper.net"
--
--  Descr
--    This module defines the object that are used to monitor
--    NS's RIP configuration  
--
--  Last modified date: 06/20/2005
--  Created from NS-RIP.MIB with modified VR table index
--

NETSCREEN-VR-RIPv2-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, Counter32,
       TimeTicks, IpAddress                     FROM SNMPv2-SMI
       TEXTUAL-CONVENTION, RowStatus            FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
       netscreenVR                              FROM NETSCREEN-SMI;

   --  This MIB module uses the extended OBJECT-TYPE macro as
   --  defined in [9].

   nsVrRip2  MODULE-IDENTITY
      LAST-UPDATED  "200506202022Z" -- June 20, 2005
      ORGANIZATION
          "Juniper Networks, Inc."
      CONTACT-INFO
          "Customer Support

           1194 North Mathilda Avenue 
           Sunnyvale, California 94089-1206
           USA

           Tel: 1-800-638-8296
           E-mail: customerservice@juniper.net
           HTTP://www.juniper.net"
      DESCRIPTION
         "The MIB module to describe the RIP2 Version 2 Protocol"
     ::= { netscreenVR 7 }

 --  RIP-2 Management Information Base

 -- the RouteTag type represents the contents of the
 -- Route Domain field in the packet header or route entry.
 -- The use of the Route Domain is deprecated.

 RouteTag ::= TEXTUAL-CONVENTION
     STATUS      current
     DESCRIPTION
        "the RouteTag type represents the contents of the Route Domain
        field in the packet header or route entry"
    SYNTAX      OCTET STRING (SIZE (2))

--4.1 Global Counters

--      The RIP-2 Globals Group.
--      Implementation of this group is mandatory for systems
--      which implement RIP-2.

-- These counters are intended to facilitate debugging quickly
-- changing routes or failing neighbors

-- nsVrRip2Globals OBJECT IDENTIFIER ::= { nsVrRip2 1 }

--     nsVrRip2GlobalRouteChanges OBJECT-TYPE
--         SYNTAX   Counter32
--         MAX-ACCESS   read-only
--         STATUS   current
--         DESCRIPTION
--            "The number of route changes made to the IP Route
--            Database by RIP.  This does not include the refresh
--            of a route's age."
--        ::= { nsVrRip2Globals 1 }

--     nsVrRip2GlobalQueries OBJECT-TYPE
--         SYNTAX   Counter32
--         MAX-ACCESS   read-only
--         STATUS   current
--         DESCRIPTION
--            "The number of responses sent to RIP queries
--            from other systems."
--        ::= { nsVrRip2Globals 2 }

    nsVrRip2GlobalsTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsVrRip2GlobalsEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A list of RIP2 Globals per VR."
       ::= { nsVrRip2 1 }

    nsVrRip2GlobalsEntry OBJECT-TYPE

        SYNTAX   NsVrRip2GlobalsEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "One VR's Globals."
        INDEX { nsVrRip2GlobalVRID }
       ::= { nsVrRip2GlobalsTable 1 }

    NsVrRip2GlobalsEntry ::=
        SEQUENCE {
            nsVrRip2GlobalRouteChanges
                Counter32,
            nsVrRip2GlobalQueries
                Counter32,
            nsVrRip2GlobalVRID
                INTEGER
    }

    nsVrRip2GlobalRouteChanges OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of route changes made to the IP Route
           Database by RIP.  This does not include the refresh
           of a route's age."
       ::= { nsVrRip2GlobalsEntry 1 }

    nsVrRip2GlobalQueries OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of responses sent to RIP queries
           from other systems."
       ::= { nsVrRip2GlobalsEntry 2 }

    nsVrRip2GlobalVRID OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
           "Virtual Router ID. VRID range for system created 
           VRs: [1-1024] and for user created VRs: [1025-2048]"
        ::= { nsVrRip2GlobalsEntry 3 }


--4.2 RIP Interface Tables

--  RIP Interfaces Groups
--  Implementation of these Groups is mandatory for systems
--  which implement RIP-2.

-- The RIP Interface Status Table.

    nsVrRip2IfStatTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsVrRip2IfStatEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A list of subnets which require separate
           status monitoring in RIP."
       ::= { nsVrRip2 2 }

    nsVrRip2IfStatEntry OBJECT-TYPE

        SYNTAX   NsVrRip2IfStatEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A Single Routing Domain in a single Subnet."
       INDEX { nsVrRip2IfStatVRID, nsVrRip2IfStatAddress }
       ::= { nsVrRip2IfStatTable 1 }

    NsVrRip2IfStatEntry ::=
        SEQUENCE {
            nsVrRip2IfStatAddress
                IpAddress,
            nsVrRip2IfStatRcvBadPackets
                Counter32,
            nsVrRip2IfStatRcvBadRoutes
                Counter32,
            nsVrRip2IfStatSentUpdates
                Counter32,
            nsVrRip2IfStatStatus
                RowStatus,
            nsVrRip2IfStatVRID
                INTEGER
    }

    nsVrRip2IfStatAddress OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP Address of this system on the indicated
           subnet. For unnumbered interfaces, the value 0.0.0.N,
           where the least significant 24 bits (N) is the ifIndex
           for the IP Interface in network byte order."
       ::= { nsVrRip2IfStatEntry 1 }

    nsVrRip2IfStatRcvBadPackets 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)."
       ::= { nsVrRip2IfStatEntry 2 }

    nsVrRip2IfStatRcvBadRoutes 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)."
       ::= { nsVrRip2IfStatEntry 3 }

    nsVrRip2IfStatSentUpdates 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."
       ::= { nsVrRip2IfStatEntry 4 }

    nsVrRip2IfStatStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "Writing invalid has the effect of deleting
           this interface."
       ::= { nsVrRip2IfStatEntry 5 }

    nsVrRip2IfStatVRID OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
           "Virtual Router ID. VRID range for system created 
           VRs: [1-1024] and for user created VRs: [1025-2048]"
        ::= { nsVrRip2IfStatEntry 6 }

-- The RIP Interface Configuration Table.

    nsVrRip2IfConfTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsVrRip2IfConfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A list of subnets which require separate
           configuration in RIP."
       ::= { nsVrRip2 3 }

   nsVrRip2IfConfEntry OBJECT-TYPE
       SYNTAX   NsVrRip2IfConfEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "A Single Routing Domain in a single Subnet."
      INDEX { nsVrRip2IfConfVRID, nsVrRip2IfConfAddress }
      ::= { nsVrRip2IfConfTable 1 }

    NsVrRip2IfConfEntry ::=
        SEQUENCE {

            nsVrRip2IfConfAddress
                IpAddress,
            nsVrRip2IfConfDomain
                RouteTag,
            nsVrRip2IfConfAuthType
                INTEGER,
            nsVrRip2IfConfAuthKey
                OCTET STRING,
            nsVrRip2IfConfSend
                INTEGER,
            nsVrRip2IfConfReceive
                INTEGER,
            nsVrRip2IfConfDefaultMetric
                INTEGER,
            nsVrRip2IfConfStatus
                RowStatus,
            nsVrRip2IfConfSrcAddress
                IpAddress,
            nsVrRip2IfConfVRID
                INTEGER
    }

    nsVrRip2IfConfAddress OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP Address of this system on the indicated
           subnet.  For unnumbered interfaces, the value 0.0.0.N,
           where the least significant 24 bits (N) is the ifIndex
           for the IP Interface in network byte order."
       ::= { nsVrRip2IfConfEntry 1 }

    nsVrRip2IfConfDomain OBJECT-TYPE
        SYNTAX   RouteTag
        MAX-ACCESS   read-create
        STATUS   obsolete
        DESCRIPTION
           "Value inserted into the Routing Domain field
           of all RIP packets sent on this interface."
       DEFVAL { '0000'H }
       ::= { nsVrRip2IfConfEntry 2 }

    nsVrRip2IfConfAuthType OBJECT-TYPE
        SYNTAX   INTEGER {
                    noAuthentication (1),
                    simplePassword (2),
                    md5 (3)
                 }
        MAX-ACCESS   read-create

        STATUS   current
        DESCRIPTION
           "The type of Authentication used on this
           interface."
       DEFVAL { noAuthentication }
       ::= { nsVrRip2IfConfEntry 3 }

    nsVrRip2IfConfAuthKey OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(0..16))
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The value to be used as the Authentication Key
           whenever the corresponding instance of
           nsVrRip2IfConfAuthType has a value other than
           noAuthentication.  A modification of the corresponding
           instance of nsVrRip2IfConfAuthType does not modify
           the nsVrRip2IfConfAuthKey value.  If a string shorter
           than 16 octets is supplied, it will be left-
           justified and padded to 16 octets, on the right,
           with nulls (0x00).

           Reading this object always results in an  OCTET
           STRING of length zero; authentication may not
           be bypassed by reading the MIB object."
       DEFVAL { ''H }
       ::= { nsVrRip2IfConfEntry 4 }

    nsVrRip2IfConfSend OBJECT-TYPE
        SYNTAX   INTEGER {
                    doNotSend (1),
                    ripVersion1 (2),
                    rip1Compatible (3),
                    ripVersion2 (4),
                    ripV1Demand (5),
                    ripV2Demand (6)
                 }
        MAX-ACCESS   read-create
        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 }
       ::= { nsVrRip2IfConfEntry 5 }

    nsVrRip2IfConfReceive OBJECT-TYPE
        SYNTAX   INTEGER {
                    rip1 (1),
                    rip2 (2),
                    rip1OrRip2 (3),
                    doNotRecieve (4)
                 }
        MAX-ACCESS   read-create
        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 }
       ::= { nsVrRip2IfConfEntry 6 }

    nsVrRip2IfConfDefaultMetric OBJECT-TYPE
        SYNTAX   INTEGER ( 0..15 )
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "This variable indicates the metric that is to
           be used for the default route entry in RIP updates
           originated on this interface.  A value of zero
           indicates that no default route should be
           originated; in this case, a default route via
           another router may be propagated."
       ::= { nsVrRip2IfConfEntry 7 }

    nsVrRip2IfConfStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "Writing invalid has  the  effect  of  deleting
           this interface."
       ::= { nsVrRip2IfConfEntry 8 }

    nsVrRip2IfConfSrcAddress OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION

           "The IP Address this system will use as a source
            address on this interface.  If it is a numbered
            interface, this MUST be the same value as
            nsVrRip2IfConfAddress.  On unnumbered interfaces,
            it must be the value of nsVrRip2IfConfAddress for
            some interface on the system."
       ::= { nsVrRip2IfConfEntry 9 }

    nsVrRip2IfConfVRID OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
           "Virtual Router ID. VRID range for system created 
           VRs: [1-1024] and for user created VRs: [1025-2048]"
        ::= { nsVrRip2IfConfEntry 10 }

--4.3 Peer Table

--  Peer Table

--      The RIP Peer Group
--      Implementation of this Group is Optional

--      This group provides information about active peer
--      relationships intended to assist in debugging.  An
--      active peer is a router from which a valid RIP
--      updated has been heard in the last 180 seconds.

    nsVrRip2PeerTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsVrRip2PeerEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A list of RIP Peers."
       ::= { nsVrRip2 4 }

   nsVrRip2PeerEntry OBJECT-TYPE
       SYNTAX   NsVrRip2PeerEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "Information regarding a single routing peer."
      INDEX { nsVrRip2PeerVRID, nsVrRip2PeerAddress, nsVrRip2PeerDomain }
      ::= { nsVrRip2PeerTable 1 }

    NsVrRip2PeerEntry ::=
        SEQUENCE {
            nsVrRip2PeerAddress
                IpAddress,
            nsVrRip2PeerDomain
                RouteTag,
            nsVrRip2PeerLastUpdate
                TimeTicks,
            nsVrRip2PeerVersion
                INTEGER,
            nsVrRip2PeerRcvBadPackets

                Counter32,
            nsVrRip2PeerRcvBadRoutes
                Counter32,
            nsVrRip2PeerVRID
                INTEGER
            }

    nsVrRip2PeerAddress OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP Address that the peer is using as its source
            address.  Note that on an unnumbered link, this may
            not be a member of any subnet on the system."
       ::= { nsVrRip2PeerEntry 1 }

    nsVrRip2PeerDomain OBJECT-TYPE
        SYNTAX   RouteTag
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The value in the Routing Domain field  in  RIP
           packets received from the peer.  As domain suuport
           is deprecated, this must be zero."
       ::= { nsVrRip2PeerEntry 2 }

    nsVrRip2PeerLastUpdate OBJECT-TYPE
        SYNTAX   TimeTicks
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The value of sysUpTime when the most recent
           RIP update was received from this system."
       ::= { nsVrRip2PeerEntry 3 }

    nsVrRip2PeerVersion OBJECT-TYPE
        SYNTAX   INTEGER ( 0..255 )
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The RIP version number in the header of the
           last RIP packet received."
       ::= { nsVrRip2PeerEntry 4 }

    nsVrRip2PeerRcvBadPackets OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION

           "The number of RIP response packets from this
           peer discarded as invalid."
       ::= { nsVrRip2PeerEntry 5 }

    nsVrRip2PeerRcvBadRoutes OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of routes from this peer that were
           ignored because the entry format was invalid."
       ::= { nsVrRip2PeerEntry 6 }

    nsVrRip2PeerVRID OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
           "Virtual Router ID. VRID range for system created 
           VRs: [1-1024] and for user created VRs: [1025-2048]"
        ::= { nsVrRip2PeerEntry 7 }

END
