-- These MIBs were created on 1/2/2003
-- This module defines NetScreen private MIBs for address book
-- 
-- Copyright (c) 1999 - 2003 by NetScreen Technologies, Inc.
-- All rights reserved.
-- 

-- MODULE-IDENTITY
--  OrgName
--    Netscreen Technologies, Inc.
--  ContactInfo
--     Customer Support
--     
--     350 Oakmead Parkway
--     Sunnyvale, CA  94085
--     USA
--    
--     Tel: 1.877.NETSCREEN
--     E-mail: support@netscreen.com
--     Http://www.netscreen.com

--  Descr
--    This module defines the object that are used to monitor
--    all the entries in the Address Book 
--
--  Last modified date: 01/16/2003
--    

NETSCREEN-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].

   nsRip2  MODULE-IDENTITY
           LAST-UPDATED "9407272253Z"      -- Wed Jul 27 22:53:04 PDT 1994
           ORGANIZATION "IETF RIP-II Working Group"
           CONTACT-INFO
          "       Fred Baker
          Postal: Cisco Systems
                  519 Lado Drive
                  Santa Barbara, California 93111
          Tel:    +1 805 681 0115
          E-Mail: fbaker@cisco.com

          Postal: Gary Malkin
                  Xylogics, Inc.
                  53 Third Avenue
                  Burlington, MA  01803

          Phone:  (617) 272-8140
          EMail:  gmalkin@Xylogics.COM"
      DESCRIPTION
         "The MIB module to describe the RIP2 Version 2 Protocol"
     ::= { netscreenVR 4 }

 --  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

-- nsRip2Globals OBJECT IDENTIFIER ::= { nsRip2 1 }

--     nsRip2GlobalRouteChanges 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."
--        ::= { nsRip2Globals 1 }

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

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

    nsRip2GlobalsEntry OBJECT-TYPE

        SYNTAX   NsRip2GlobalsEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "One VR's Globals."
        INDEX { nsRip2GlobalVRID }
       ::= { nsRip2GlobalsTable 1 }

    NsRip2GlobalsEntry ::=
        SEQUENCE {
            nsRip2GlobalRouteChanges
                Counter32,
            nsRip2GlobalQueries
                Counter32,
            nsRip2GlobalVRID
                INTEGER
    }

    nsRip2GlobalRouteChanges 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."
       ::= { nsRip2GlobalsEntry 1 }

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

    nsRip2GlobalVRID OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Virtual Router ID"
        ::= { nsRip2GlobalsEntry 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.

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

    nsRip2IfStatEntry OBJECT-TYPE

        SYNTAX   NsRip2IfStatEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A Single Routing Domain in a single Subnet."
       INDEX { nsRip2IfStatAddress, nsRip2IfStatVRID }
       ::= { nsRip2IfStatTable 1 }

    NsRip2IfStatEntry ::=
        SEQUENCE {
            nsRip2IfStatAddress
                IpAddress,
            nsRip2IfStatRcvBadPackets
                Counter32,
            nsRip2IfStatRcvBadRoutes
                Counter32,
            nsRip2IfStatSentUpdates
                Counter32,
            nsRip2IfStatStatus
                RowStatus,
            nsRip2IfStatVRID
                INTEGER
    }

    nsRip2IfStatAddress 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."
       ::= { nsRip2IfStatEntry 1 }

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

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

    nsRip2IfStatSentUpdates 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."
       ::= { nsRip2IfStatEntry 4 }

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

    nsRip2IfStatVRID OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Virtual Router ID"
        ::= { nsRip2IfStatEntry 6 }

-- The RIP Interface Configuration Table.

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

   nsRip2IfConfEntry OBJECT-TYPE
       SYNTAX   NsRip2IfConfEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "A Single Routing Domain in a single Subnet."
      INDEX { nsRip2IfConfAddress, nsRip2IfConfVRID }
      ::= { nsRip2IfConfTable 1 }

    NsRip2IfConfEntry ::=
        SEQUENCE {

            nsRip2IfConfAddress
                IpAddress,
            nsRip2IfConfDomain
                RouteTag,
            nsRip2IfConfAuthType
                INTEGER,
            nsRip2IfConfAuthKey
                OCTET STRING (SIZE(0..16)),
            nsRip2IfConfSend
                INTEGER,
            nsRip2IfConfReceive
                INTEGER,
            nsRip2IfConfDefaultMetric
                INTEGER,
            nsRip2IfConfStatus
                RowStatus,
            nsRip2IfConfSrcAddress
                IpAddress,
            nsRip2IfConfVRID
                INTEGER
    }

    nsRip2IfConfAddress 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."
       ::= { nsRip2IfConfEntry 1 }

    nsRip2IfConfDomain 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 }
       ::= { nsRip2IfConfEntry 2 }

    nsRip2IfConfAuthType 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 }
       ::= { nsRip2IfConfEntry 3 }

    nsRip2IfConfAuthKey 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
           nsRip2IfConfAuthType has a value other than
           noAuthentication.  A modification of the corresponding
           instance of nsRip2IfConfAuthType does not modify
           the nsRip2IfConfAuthKey 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 }
       ::= { nsRip2IfConfEntry 4 }

    nsRip2IfConfSend 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 }
       ::= { nsRip2IfConfEntry 5 }

    nsRip2IfConfReceive 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 }
       ::= { nsRip2IfConfEntry 6 }

    nsRip2IfConfDefaultMetric 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."
       ::= { nsRip2IfConfEntry 7 }

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

    nsRip2IfConfSrcAddress 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
            nsRip2IfConfAddress.  On unnumbered interfaces,
            it must be the value of nsRip2IfConfAddress for
            some interface on the system."
       ::= { nsRip2IfConfEntry 9 }

    nsRip2IfConfVRID OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Virtual Router ID"
        ::= { nsRip2IfConfEntry 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.

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

   nsRip2PeerEntry OBJECT-TYPE
       SYNTAX   NsRip2PeerEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "Information regarding a single routing peer."
      INDEX { nsRip2PeerAddress, nsRip2PeerDomain, nsRip2PeerVRID }
      ::= { nsRip2PeerTable 1 }

    NsRip2PeerEntry ::=
        SEQUENCE {
            nsRip2PeerAddress
                IpAddress,
            nsRip2PeerDomain
                RouteTag,
            nsRip2PeerLastUpdate
                TimeTicks,
            nsRip2PeerVersion
                INTEGER,
            nsRip2PeerRcvBadPackets

                Counter32,
            nsRip2PeerRcvBadRoutes
                Counter32,
            nsRip2PeerVRID
                INTEGER
            }

    nsRip2PeerAddress 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."
       ::= { nsRip2PeerEntry 1 }

    nsRip2PeerDomain 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."
       ::= { nsRip2PeerEntry 2 }

    nsRip2PeerLastUpdate 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."
       ::= { nsRip2PeerEntry 3 }

    nsRip2PeerVersion 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."
       ::= { nsRip2PeerEntry 4 }

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

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

    nsRip2PeerRcvBadRoutes 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."
       ::= { nsRip2PeerEntry 6 }

    nsRip2PeerVRID OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Virtual Router ID"
        ::= { nsRip2PeerEntry 7 }

END
