RADLAN-OSPF-MIB DEFINITIONS ::= BEGIN

-- Title:                RADLAN OSPF
--                       OSPF Private MIB
--                       Multi OSPF Instance support
--                       based on OSPF standard MIB OSPF-MIB (rfc1850)
-- Version:              0.00
-- Date:                 04 May 2011

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
        Integer32, Unsigned32, IpAddress
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue, RowStatus, TimeStamp
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    InterfaceIndexOrZero
        FROM IF-MIB
    AreaID, RouterID, Metric, BigMetric, Status, PositiveInteger, HelloRange, UpToMaxAge, DesignatedRouterPriority, TOSType
        FROM OSPF-MIB
    rnd                                      FROM RADLAN-MIB
    mib-2                                    FROM RFC1213-MIB
    DisplayString                            FROM SNMPv2-TC;

rlOspf MODULE-IDENTITY
        LAST-UPDATED "201105041700Z" -- Wed May 04 17:00:00 PST 2011
        ORGANIZATION "Radlan Computer Communications Ltd."
        CONTACT-INFO
             "radlan.com"
        DESCRIPTION
             "The private MIB module definition for Multi Instance OSPF MIB."
        REVISION "201105041700Z"
        DESCRIPTION
             "Initial version of this MIB."
    ::= { rnd 210 }

------------------------------------------------------------------------------
--  Textual conventions
------------------------------------------------------------------------------

--  OSPF Process Id

RlOspfProcessID ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An OSPF Process Identifier."
    SYNTAX      Integer32

--  Fast Hello Multiplier Range

RlOspfFastHelloMultiplierRange ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
           "The range of hello multipliers that determine how often
           Fast Hellos are exchanged."
        SYNTAX       Integer32 (3..20)

--  Restart Helper Status

RlOspfRestartHelperStatus ::= TEXTUAL-CONVENTION
         STATUS      current
         DESCRIPTION "Indicates whether the router is acting as a
                      hitless restart helper for a neighbor."
         SYNTAX     INTEGER {
                      notHelping(1),
                      helping(2)
                    }

--  Restart Exit Reason

RlOspfRestartExitReason ::= TEXTUAL-CONVENTION
         STATUS      current
         DESCRIPTION
            "The reason for exiting an attempted graceful restart."
         SYNTAX     INTEGER {
                      none (1),           -- none attempted
                      inProgress (2),     -- restart in progress
                      completed (3),      -- successfully completed
                      timedOut (4),       -- timed out
                      topologyChanged (5) -- aborted due to topology change.
                    }

--  Router Id Type

RlOspfRouterIdType ::= TEXTUAL-CONVENTION
         STATUS      current
         DESCRIPTION
            "The reason for exiting an attempted graceful restart."
         SYNTAX     INTEGER {
                      default (1),        -- default value
                      manual (2)         -- manually set by user
                    }

--  Authentication Type

RlOspfAuthenticationType ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
          "The authentication type."
       SYNTAX       INTEGER {
                       none (0),
                       simplePassword (1),
                       md5 (2),
                       -- reserved for specification by IANA (> 2)

                       null (9)
                    }

--  Refresh Interval

RlOspfUpToRefreshIntervalTC ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d-0"
       STATUS        current
       DESCRIPTION
            "The values one might be able to configure for
            variables bounded by the Refresh Interval."
       REFERENCE
            "OSPF Version 2, Appendix B, Architectural Constants"
       SYNTAX      Unsigned32 (1..'FFFF'h)

--  Dead Interval

RlOspfDeadIntervalRangeTC ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d-0"
       STATUS        current
       DESCRIPTION
            "The range, in seconds, of dead interval value."
       REFERENCE
            "OSPF for IPv6, Appendix C.3, Router Interface
            Parameters"
       SYNTAX      Unsigned32 (1..'FFFF'h)

------------------------------------------------------------------------------
--  OSPF Instance General Variables
------------------------------------------------------------------------------

rlOspfInstance OBJECT-TYPE
    SYNTAX   RlOspfProcessID
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
       "Selected OSPF Process ID. Additional key value for
           old fashion usage of OSPF standard MIB to support
           multi OSPF instance."
   ::= { rlOspf 1 }


------------------------------------------------------------------------------
--  OSPF General Group Table

--      The OSPF Variables General Group Data Structure contains information
--      apply globally to the Router's (OSPF Process).
------------------------------------------------------------------------------

    rlOspfGeneralGroupTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF RlOspfGeneralGroupEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "OSPF Instance General Variables"
      ::= { rlOspf 2 }


    rlOspfGeneralGroupEntry OBJECT-TYPE
        SYNTAX   RlOspfGeneralGroupEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the configured global parame-
           ters to the Router OSPF Process."
       INDEX { rlOspfProcessId }
       ::= { rlOspfGeneralGroupTable 1 }

  RlOspfGeneralGroupEntry ::=
    SEQUENCE {
        rlOspfProcessId
            RlOspfProcessID,
        rlOspfRouterId
            RouterID,
        rlOspfAdminStat
            Status,
        rlOspfVersionNumber
            INTEGER,
        rlOspfAreaBdrRtrStatus
            TruthValue,
        rlOspfASBdrRtrStatus
            TruthValue,
        rlOspfExternLsaCount
            Gauge32,
        rlOspfExternLsaCksumSum
            Integer32,
        rlOspfTOSSupport
            TruthValue,
        rlOspfOriginateNewLsas
            Counter32,
        rlOspfRxNewLsas
            Counter32,
        rlOspfExtLsdbLimit
            Integer32,
        rlOspfMulticastExtensions
            Integer32,
        rlOspfExitOverflowInterval
            PositiveInteger,
        rlOspfDemandExtensions
            TruthValue,
        rlOspfRFC1583Compatibility
            TruthValue,
        rlOspfOpaqueLsaSupport
            TruthValue,
        rlOspfReferenceBandwidth
            Unsigned32,
        rlOspfRestartSupport
            INTEGER,
        rlOspfRestartInterval
            Integer32,
        rlOspfRestartStrictLsaChecking
            TruthValue,
        rlOspfRestartStatus
            INTEGER,
        rlOspfRestartAge
            Unsigned32,
        rlOspfRestartExitReason
            INTEGER,
        rlOspfAsLsaCount
            Gauge32,
        rlOspfAsLsaCksumSum
            Unsigned32,
        rlOspfStubRouterSupport
            TruthValue,
        rlOspfStubRouterAdvertisement
            INTEGER,
        rlOspfDiscontinuityTime
            TimeStamp,
        rlOspfGeneralGroupStatus
            RowStatus,
        rlOspfLogAdjacencyChanges
            INTEGER,
        rlOspfPassiveInterface
            TruthValue,
        rlOspfDefaultMetric
            Integer32,
        rlOspfMaximumRedistPrefixNum
            Integer32,
        rlOspfMaximumRedistPrefixThreshold
            Integer32,
        rlOspfMaximumRedistPrefixWarningOnly
            TruthValue,
        rlOspfOperStatus
            INTEGER,
        rlOspfNextRouterId
            RouterID,
        rlOspfRouterIdType
            RlOspfRouterIdType,
        rlOspfNextRouterIdType
            RlOspfRouterIdType,
        rlOspfASBdrRtrActualStatus
            TruthValue,
        rlOspfCalcMaxDelay
            Unsigned32,
        rlOspfRteMaxEqCostPaths
            Unsigned32
              }

  rlOspfProcessId OBJECT-TYPE
        SYNTAX   RlOspfProcessID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A 32-bit integer uniquely identifying an OSPF process."
      ::= { rlOspfGeneralGroupEntry 1 }

  rlOspfRouterId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "A 32-bit integer uniquely identifying the
          router in the Autonomous System.
          By convention, to ensure uniqueness, this
          should default to the value of one of the
          router's IP interface addresses.

          This object is persistent and when written
          the entity SHOULD save the change to non-volatile storage."
       REFERENCE
          "OSPF Version 2, C.1 Global parameters"
       ::= { rlOspfGeneralGroupEntry 2 }

  rlOspfAdminStat OBJECT-TYPE
       SYNTAX       Status
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The administrative status of OSPF in the
          router.  The value 'enabled' denotes that the
          OSPF Process is active on at least one interface;
          'disabled' disables it on all interfaces.

          This object is persistent and when written
          the entity SHOULD save the change to non-volatile storage."
       ::= { rlOspfGeneralGroupEntry 3 }

  rlOspfVersionNumber OBJECT-TYPE
       SYNTAX       INTEGER { version2 (2) }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The current version number of the OSPF protocol is 2."
       REFERENCE
          "OSPF Version 2, Title"
       ::= { rlOspfGeneralGroupEntry 4 }

  rlOspfAreaBdrRtrStatus OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "A flag to note whether this router is an Area
          Border Router."
       REFERENCE
          "OSPF Version 2, Section 3 Splitting the AS into
          Areas"
       ::= { rlOspfGeneralGroupEntry 5 }

  rlOspfASBdrRtrStatus OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "A flag to note whether this router is configured as
           an Autonomous System Border Router.

           This object is persistent and when written the
           entity SHOULD save the change to non-volatile storage."
       REFERENCE
          "OSPF Version 2, Section 3.3 Classification of
          routers"
       ::= { rlOspfGeneralGroupEntry 6 }

  rlOspfExternLsaCount OBJECT-TYPE
        SYNTAX       Gauge32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The number of external (LS type-5) link state
           advertisements in the link state database."
        REFERENCE
           "OSPF Version 2, Appendix A.4.5 AS external link
           advertisements"
        ::= { rlOspfGeneralGroupEntry 7 }

  rlOspfExternLsaCksumSum OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The 32-bit sum of the LS checksums of
           the external link state advertisements
           contained in the link state database.  This sum
           can be used to determine if there has been a
           change in a router's link state database and
           to compare the link state database of two
           routers.  The value should be treated as unsigned
           when comparing two sums of checksums."
        ::= { rlOspfGeneralGroupEntry 8 }

  rlOspfTOSSupport OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The router's support for type-of-service routing.

           This object is persistent and when written
           the entity SHOULD save the change to non-volatile
           storage."
       REFERENCE
          "OSPF Version 2, Appendix F.1.2 Optional TOS
          support"
       ::= { rlOspfGeneralGroupEntry 9 }

   rlOspfOriginateNewLsas OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The number of new link state advertisements
          that have been originated.  This number is
          incremented each time the router originates a new
          LSA.

          Discontinuities in the value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the value of
          ospfDiscontinuityTime."
        ::= { rlOspfGeneralGroupEntry 10 }

  rlOspfRxNewLsas OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The number of link state advertisements received
          that are determined to be new instantiations.
          This number does not include newer instantiations
          of self-originated link state advertisements.

          Discontinuities in the value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the value of
          ospfDiscontinuityTime."
       ::= { rlOspfGeneralGroupEntry 11 }

  rlOspfExtLsdbLimit OBJECT-TYPE
       SYNTAX       Integer32 (-1..'7FFFFFFF'h)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The maximum number of non-default
          AS-external LSAs entries that can be stored in the
          link state database.  If the value is -1, then
          there is no limit.

          When the number of non-default AS-external LSAs
          in a router's link state database reaches
          rlOspfExtLsdbLimit, the router enters
          overflow state.  The router never holds more than
          rlOspfExtLsdbLimit non-default AS-external LSAs
          in its database.  OspfExtLsdbLimit MUST be set
          identically in all routers attached to the OSPF
          backbone and/or any regular OSPF area (i.e.,
          OSPF stub areas and NSSAs are excluded).

          This object is persistent and when written
          the entity SHOULD save the change to non-volatile
          storage."
        DEFVAL { -1 }
        ::= { rlOspfGeneralGroupEntry 12 }

  rlOspfMulticastExtensions OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "A bit mask indicating whether the router is
          forwarding IP multicast (Class D) datagrams
          based on the algorithms defined in the
          multicast extensions to OSPF.

          Bit 0, if set, indicates that the router can
          forward IP multicast datagrams in the router's
          directly attached areas (called intra-area
          multicast routing).

          Bit 1, if set, indicates that the router can
          forward IP multicast datagrams between OSPF
          areas (called inter-area multicast routing).

          Bit 2, if set, indicates that the router can
          forward IP multicast datagrams between
          Autonomous Systems (called inter-AS multicast
          routing).

          Only certain combinations of bit settings are
          allowed, namely: 0 (no multicast forwarding is
          enabled), 1 (intra-area multicasting only), 3
          (intra-area and inter-area multicasting), 5
          (intra-area and inter-AS multicasting), and 7
          (multicasting everywhere).  By default, no
          multicast forwarding is enabled.

          This object is persistent and when written
          the entity SHOULD save the change to non-volatile
          storage."
       DEFVAL { 0 }
       ::= { rlOspfGeneralGroupEntry 13 }

  rlOspfExitOverflowInterval OBJECT-TYPE
       SYNTAX       PositiveInteger
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The number of seconds that, after entering
          OverflowState, a router will attempt to leave
          OverflowState.  This allows the router to again
          originate non-default AS-external LSAs.  When
          set to 0, the router will not leave
          overflow state until restarted.

          This object is persistent and when written
          the entity SHOULD save the change to non-volatile
          storage."
       DEFVAL { 0 }
       ::= { rlOspfGeneralGroupEntry 14 }

  rlOspfDemandExtensions OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The router's support for demand routing.
           This object is persistent and when written
           the entity SHOULD save the change to non-volatile
           storage."
       REFERENCE
          "Extending OSPF to Support Demand Circuits"
       ::= { rlOspfGeneralGroupEntry 15 }

  rlOspfRFC1583Compatibility  OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "Indicates metrics used to choose among multiple
          AS-external LSAs.  When RFC1583Compatibility is set to
          enabled, only cost will be used when choosing among
          multiple AS-external LSAs advertising the same
          destination.  When RFC1583Compatibility is set to
          disabled, preference will be driven first by type of
          path using cost only to break ties.

          This object is persistent and when written
          the entity SHOULD save the change to non-volatile
          storage."
        REFERENCE
           "OSPF Version 2, Section 16.4.1 External path
            preferences"
        ::= { rlOspfGeneralGroupEntry 16 }

  rlOspfOpaqueLsaSupport  OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The router's support for Opaque LSA types."
       REFERENCE
          "The OSPF Opaque LSA Option"
       ::= { rlOspfGeneralGroupEntry 17 }

  rlOspfReferenceBandwidth OBJECT-TYPE
       SYNTAX       Unsigned32
       UNITS        "megabits per second"
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "Reference bandwidth in megabits/second for
          calculating default interface metrics.  The
          default value is 0.

          This object is persistent and when written
          the entity SHOULD save the change to non-volatile
          storage."
       ::= { rlOspfGeneralGroupEntry 18 }

  rlOspfRestartSupport OBJECT-TYPE
       SYNTAX       INTEGER { none (1),
                              plannedOnly (2),
                              plannedAndUnplanned (3)
                            }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The router's support for OSPF graceful restart.
          Options include: no restart support, only planned
          restarts, or both planned and unplanned restarts.

          This object is persistent and when written
          the entity SHOULD save the change to non-volatile
          storage."
       ::= { rlOspfGeneralGroupEntry 19 }

  rlOspfRestartInterval OBJECT-TYPE
       SYNTAX       Integer32 (1..1800)
       UNITS        "seconds"
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "Configured OSPF graceful restart timeout interval.

           This object is persistent and when written
           the entity SHOULD save the change to non-volatile
           storage."
       ::= { rlOspfGeneralGroupEntry 20 }

  rlOspfRestartStrictLsaChecking OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "Indicates if strict LSA checking is enabled for
           graceful restart.

           This object is persistent and when written
           the entity SHOULD save the change to non-volatile
           storage."
       ::= { rlOspfGeneralGroupEntry 21 }


  rlOspfRestartStatus OBJECT-TYPE
       SYNTAX       INTEGER { notRestarting (1),
                              plannedRestart (2),
                              unplannedRestart (3)
                            }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Current status of OSPF graceful restart."
       ::= { rlOspfGeneralGroupEntry 22 }

  rlOspfRestartAge OBJECT-TYPE
       SYNTAX       Unsigned32
       UNITS        "seconds"
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Remaining time in current OSPF graceful restart
          interval."
       ::= { rlOspfGeneralGroupEntry 23 }

  rlOspfRestartExitReason OBJECT-TYPE
       SYNTAX       INTEGER { none (1),           -- none attempted
                              inProgress (2),     -- restart in
                                                  -- progress
                              completed (3),      -- successfully
                                                  -- completed
                              timedOut (4),       -- timed out
                              topologyChanged (5) -- aborted due to
                                                  -- topology change.
                            }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Describes the outcome of the last attempt at a
          graceful restart.  If the value is 'none', no restart
          has yet been attempted.  If the value is 'inProgress',
          a restart attempt is currently underway."
       ::= { rlOspfGeneralGroupEntry 24 }

  rlOspfAsLsaCount OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "The number of AS-scope link state
           advertisements in the AS-scope link state database."
       ::= { rlOspfGeneralGroupEntry 25 }

  rlOspfAsLsaCksumSum OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "The 32-bit unsigned sum of the LS checksums of
           the AS link state advertisements contained in the AS-scope
           link state database.  This sum can be used to determine
           if there has been a change in a router's AS-scope link
           state database, and to compare the AS-scope link state
           database of two routers."
       ::= { rlOspfGeneralGroupEntry 26 }

   rlOspfStubRouterSupport OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "The router's support for stub router functionality."
       REFERENCE
           "OSPF Stub Router Advertisement"
       ::= { rlOspfGeneralGroupEntry 27 }

   rlOspfStubRouterAdvertisement OBJECT-TYPE
       SYNTAX       INTEGER {
                          doNotAdvertise (1),
                          advertise(2)
                          }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
           "This object controls the advertisement of
           stub router LSAs by the router.  The value
           doNotAdvertise will result in the advertisement
           of a standard router LSA and is the default value.

           This object is persistent and when written
           the entity SHOULD save the change to non-volatile
           storage."
       ::= { rlOspfGeneralGroupEntry 28 }

  rlOspfDiscontinuityTime OBJECT-TYPE
      SYNTAX     TimeStamp
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
         "The value of sysUpTime on the most recent occasion
          at which any one of this MIB's counters suffered
          a discontinuity.

          If no such discontinuities have occurred since the last
          re-initialization of the local management subsystem,
          then this object contains a zero value."
      ::= { rlOspfGeneralGroupEntry 29 }

    rlOspfGeneralGroupStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { rlOspfGeneralGroupEntry 30 }

   rlOspfLogAdjacencyChanges OBJECT-TYPE
        SYNTAX   INTEGER {
                      enable (1),
                      detail (2),
                      disable (3)
                      }
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "Configure the router to send a syslog message when an OSPF
            neighbor goes up or down.
            detail � sends a syslog message for each state change,
            not just when a neighbor goes up or down"
      ::= { rlOspfGeneralGroupEntry 31 }

   rlOspfPassiveInterface OBJECT-TYPE
       SYNTAX   TruthValue
       MAX-ACCESS   read-write
       STATUS   current
       DESCRIPTION
          "A flag to note whether to disable sending OSPF routing updates
          on all OSPF IP interfaces."
      ::= { rlOspfGeneralGroupEntry 32 }

   rlOspfDefaultMetric OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "A default metric helps solve the problem of redistributing routes
           with incompatible metrics.
           Whenever metrics do not convert, using a default metric provides
           a reasonable substitute and enables the redistribution to proceed."
       DEFVAL { 0 }
      ::= { rlOspfGeneralGroupEntry 33 }

   rlOspfMaximumRedistPrefixNum OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "Specifies the maximum number of IP prefixes that can be redistributed into OSPF."
       DEFVAL { 0 }
      ::= { rlOspfGeneralGroupEntry 34 }

   rlOspfMaximumRedistPrefixThreshold OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "Threshold value, as a percentage, at which a warning message should be generated."
       DEFVAL { 75 }
      ::= { rlOspfGeneralGroupEntry 35 }

   rlOspfMaximumRedistPrefixWarningOnly OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "Causes a warning message to be logged when the number of prefixes
           defined by the maximum argumenthas been exceeded.
           Additional redistribution is not prevented."
       DEFVAL { false }
      ::= { rlOspfGeneralGroupEntry 36 }

    rlOspfOperStatus OBJECT-TYPE
       SYNTAX  INTEGER {
                    up(1),        -- active
                    down(2),      -- inactive
                    goingUp(3),   -- activating
                    goingDown(4), -- deactivating
                    actFailed(5)  -- activation failed
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "The current operational state of the OSPF in the router."
      ::= { rlOspfGeneralGroupEntry 37 }

  rlOspfNextRouterId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "A 32-bit integer uniquely identifying the
          of router in the Autonomous System after restart.
          By convention, to ensure uniqueness, this
          should default to the value of one of the
          router's IP interface addresses."
       ::= { rlOspfGeneralGroupEntry 38 }

  rlOspfRouterIdType OBJECT-TYPE
       SYNTAX       RlOspfRouterIdType
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Type of router identifier
           - default value or manually set by user."
       ::= { rlOspfGeneralGroupEntry 39 }

  rlOspfNextRouterIdType OBJECT-TYPE
       SYNTAX       RlOspfRouterIdType
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Type of router identifier after restart
           - default value or manually set by user."
       ::= { rlOspfGeneralGroupEntry 40 }

  rlOspfASBdrRtrActualStatus OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "A flag to note whether this router is
          an Autonomous System Border Router.

          Note: rlOspfASBdrRtrStatus field is the configuration
                while this filed is the actual ASBR status"
       ::= { rlOspfGeneralGroupEntry 41 }

  rlOspfCalcMaxDelay OBJECT-TYPE
       SYNTAX       Unsigned32
       UNITS        "milliseconds"
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The maximum delay before the Routing Table is
          recalculated following a change to the Link State
          Database.  (Recalculation is delayed to reduce the
          frequency of recalculations of the Routing Table).

          This parameter has units of milliseconds.  A value of
          0 indicates that a routing calculation will
          immediately follow an update to the database."
       DEFVAL { 5000 }
       ::= { rlOspfGeneralGroupEntry 42 }

  rlOspfRteMaxEqCostPaths OBJECT-TYPE
       SYNTAX       Unsigned32 (1..'FFFF'h)
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The maximum number of equal cost paths that are stored for each
          destination in the Routing Table."
       DEFVAL { 5 }
       ::= { rlOspfGeneralGroupEntry 43 }

------------------------------------------------------------------------------
--  OSPF Area Table
--     The OSPF Area Table contains information
--     regarding the various areas.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfAreaTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfAreaEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "Information describing the configured parameters and
          cumulative statistics of the router's attached areas.
          The interfaces and virtual links are configured
          as part of these areas.  Area 0.0.0.0, by definition,
          is the backbone area."
       REFERENCE
          "OSPF Version 2, Section 6 The Area Data Structure"
       ::= { rlOspf 3 }

  rlOspfAreaEntry OBJECT-TYPE
       SYNTAX       RlOspfAreaEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "Information describing the configured parameters and
          cumulative statistics of one of the router's attached areas.
          The interfaces and virtual links are configured as part of
          these areas.  Area 0.0.0.0, by definition, is the backbone
          area.

          Information in this table is persistent and when this object
          is written the entity SHOULD save the change to non-volatile
          storage."
       INDEX { rlOspfAreaProcessId,
               rlOspfAreaId }
       ::= { rlOspfAreaTable 1 }

  RlOspfAreaEntry ::=
        SEQUENCE {
           rlOspfAreaProcessId
              RlOspfProcessID,
           rlOspfAreaId
              AreaID,
           rlOspfAuthType
              RlOspfAuthenticationType,
           rlOspfImportAsExtern
              INTEGER,
           rlOspfSpfRuns
              Counter32,
           rlOspfAreaBdrRtrCount
              Gauge32,
           rlOspfAsBdrRtrCount
              Gauge32,
           rlOspfAreaLsaCount
              Gauge32,
           rlOspfAreaLsaCksumSum
              Integer32,
           rlOspfAreaSummary
              INTEGER,
           rlOspfAreaStatus
              RowStatus,
           rlOspfAreaNssaTranslatorRole
              INTEGER,
           rlOspfAreaNssaTranslatorState
              INTEGER,
           rlOspfAreaNssaTranslatorStabilityInterval
              PositiveInteger,
           rlOspfAreaNssaTranslatorEvents
              Counter32,
           rlOspfAreaAdminStat
              Status,
           rlOspfAreaOperStatus
              INTEGER,
           rlOspfAreaFilterPrefixListIn
              DisplayString,
           rlOspfAreaFilterPrefixListOut
              DisplayString
           }

  rlOspfAreaProcessId OBJECT-TYPE
      SYNTAX   RlOspfProcessID
      MAX-ACCESS   read-only
      STATUS   current
      DESCRIPTION
         "A 32-bit integer uniquely identifying an OSPF process."
      ::= { rlOspfAreaEntry 1 }

  rlOspfAreaId OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-only -- read-only since originally
                              -- an SMIv1 index
       STATUS       current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an area.
          Area ID 0.0.0.0 is used for the OSPF backbone."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
       ::= { rlOspfAreaEntry 2 }

  rlOspfAuthType OBJECT-TYPE
       SYNTAX       RlOspfAuthenticationType
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The authentication type specified for an area."
       REFERENCE
          "OSPF Version 2, Appendix D Authentication"
       DEFVAL { none } -- no authentication, by default
       ::= { rlOspfAreaEntry 3 }

  rlOspfImportAsExtern OBJECT-TYPE
       SYNTAX       INTEGER {
                      importExternal (1),
                      importNoExternal (2),
                      importNssa (3)
                      }
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "Indicates if an area is a stub area, NSSA, or standard
          area.  Type-5 AS-external LSAs and type-11 Opaque LSAs are
          not imported into stub areas or NSSAs.  NSSAs import
          AS-external data as type-7 LSAs"
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
       DEFVAL { importExternal }
       ::= { rlOspfAreaEntry 4 }

  rlOspfSpfRuns OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The number of times that the intra-area route
          table has been calculated using this area's
          link state database.  This is typically done
          using Dijkstra's algorithm.

          Discontinuities in the value of this counter can occur
          at re-initialization of the management system, and at other
          times as indicated by the value of ospfDiscontinuityTime."
       ::= { rlOspfAreaEntry 5 }

  rlOspfAreaBdrRtrCount OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The total number of Area Border Routers reachable
          within this area.  This is initially zero and is
          calculated in each Shortest Path First (SPF) pass."
       ::= { rlOspfAreaEntry 6 }

  rlOspfAsBdrRtrCount OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The total number of Autonomous System Border
          Routers reachable within this area.  This is
          initially zero and is calculated in each SPF
          pass."
       ::= { rlOspfAreaEntry 7 }

  rlOspfAreaLsaCount OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The total number of link state advertisements
          in this area's link state database, excluding
          AS-external LSAs."
       ::= { rlOspfAreaEntry 8 }

  rlOspfAreaLsaCksumSum OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The 32-bit sum of the link state
          advertisements' LS checksums contained in this
          area's link state database.  This sum excludes
          external (LS type-5) link state advertisements.
          The sum can be used to determine if there has
          been a change in a router's link state
          database, and to compare the link state database of
          two routers.  The value should be treated as unsigned
          when comparing two sums of checksums."
       DEFVAL { 0 }
       ::= { rlOspfAreaEntry 9 }

  rlOspfAreaSummary OBJECT-TYPE
       SYNTAX       INTEGER {
                       noAreaSummary (1),
                       sendAreaSummary (2)
                       }
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The variable ospfAreaSummary controls the
          import of summary LSAs into stub and NSSA areas.
          It has no effect on other areas.

          If it is noAreaSummary, the router will not
          originate summary LSAs into the stub or NSSA area.
          It will rely entirely on its default route.

          If it is sendAreaSummary, the router will both
          summarize and propagate summary LSAs."
       DEFVAL { noAreaSummary }
       ::= { rlOspfAreaEntry 10 }

  rlOspfAreaStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "This object permits management of the table by
          facilitating actions such as row creation,
          construction, and destruction.

          The value of this object has no effect on
          whether other objects in this conceptual row can be
          modified."
       ::= { rlOspfAreaEntry 11 }

  rlOspfAreaNssaTranslatorRole OBJECT-TYPE
       SYNTAX       INTEGER { always (1), candidate (2) }
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "Indicates an NSSA border router's ability to
          perform NSSA translation of type-7 LSAs into
          type-5 LSAs."
       DEFVAL { candidate }
       ::= { rlOspfAreaEntry 12 }

  rlOspfAreaNssaTranslatorState OBJECT-TYPE
       SYNTAX       INTEGER { enabled (1),
                       elected (2),
                       disabled (3)
                       }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Indicates if and how an NSSA border router is
          performing NSSA translation of type-7 LSAs into type-5
          LSAs.  When this object is set to enabled, the NSSA Border
          router's OspfAreaNssaExtTranslatorRole has been set to
          always.  When this object is set to elected, a candidate
          NSSA Border router is Translating type-7 LSAs into type-5.
          When this object is set to disabled, a candidate NSSA
          border router is NOT translating type-7 LSAs into type-5."
       ::= { rlOspfAreaEntry 13 }

  rlOspfAreaNssaTranslatorStabilityInterval OBJECT-TYPE
       SYNTAX       PositiveInteger
       UNITS        "seconds"
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The number of seconds after an elected translator
          determines its services are no longer required, that
          it should continue to perform its translation duties."
       DEFVAL { 40 }
       ::= { rlOspfAreaEntry 14 }

  rlOspfAreaNssaTranslatorEvents OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Indicates the number of translator state changes
          that have occurred since the last boot-up.

          Discontinuities in the value of this counter can occur
          at re-initialization of the management system, and at other
          times as indicated by the value of ospfDiscontinuityTime."
       ::= { rlOspfAreaEntry 15 }

  rlOspfAreaAdminStat OBJECT-TYPE
      SYNTAX   Status
      MAX-ACCESS   read-create
      STATUS   current
      DESCRIPTION
         "The OSPF  Area's  administrative  status.
         The  value formed on the area, and the in-
         terfaces associated with the area.
         The  value 'disabled' denotes
         that the area is external to OSPF."
      DEFVAL { enabled }
      ::= { rlOspfAreaEntry 16 }

  rlOspfAreaOperStatus OBJECT-TYPE
       SYNTAX  INTEGER {
                    up(1),        -- active
                    down(2),      -- inactive
                    goingUp(3),   -- activating
                    goingDown(4), -- deactivating
                    actFailed(5)  -- activation failed
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "The current operational state of the OSPF Area."
      ::= { rlOspfAreaEntry 17 }

  rlOspfAreaFilterPrefixListIn OBJECT-TYPE
       SYNTAX DisplayString(SIZE(0..32))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The prefix list is applied to prefixes advertised to the specified area from other areas."
       DEFVAL {""}
      ::= { rlOspfAreaEntry 18 }

  rlOspfAreaFilterPrefixListOut OBJECT-TYPE
       SYNTAX DisplayString(SIZE(0..32))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The prefix list is applied to prefixes advertised out of the specified area to other areas."
       DEFVAL {""}
          ::= { rlOspfAreaEntry 19 }


------------------------------------------------------------------------------
--  OSPF Area Default Metric Table

--      The OSPF Area Default Metric Table describes the metrics
--      that a default Area Border Router will advertise into a
--      Stub area.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfStubAreaTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfStubAreaEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The set of metrics that will be advertised
          by a default Area Border Router into a stub area."
       REFERENCE
          "OSPF Version 2, Appendix C.2, Area Parameters"
       ::= { rlOspf 4 }

  rlOspfStubAreaEntry OBJECT-TYPE
       SYNTAX       RlOspfStubAreaEntry
       MAX-ACCESS   not-accessible
       STATUS      current
       DESCRIPTION
          "The metric for a given Type of Service that
          will be advertised by a default Area Border
          Router into a stub area.

          Information in this table is persistent and when this object
          is written the entity SHOULD save the change to non-volatile
          storage."
       REFERENCE
          "OSPF Version 2, Appendix C.2, Area Parameters"
       INDEX { rlOspfStubProcessId,
               rlOspfStubAreaId, rlOspfStubTOS }
       ::= { rlOspfStubAreaTable 1 }

  RlOspfStubAreaEntry ::=
       SEQUENCE {
          rlOspfStubProcessId
             RlOspfProcessID,
          rlOspfStubAreaId
             AreaID,
          rlOspfStubTOS
             TOSType,
          rlOspfStubMetric
             BigMetric,
          rlOspfStubStatus
             RowStatus,
          rlOspfStubMetricType
             INTEGER
          }

   rlOspfStubProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { rlOspfStubAreaEntry 1 }

  rlOspfStubAreaId OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The 32-bit identifier for the stub area.  On
          creation, this can be derived from the
          instance."
       ::= { rlOspfStubAreaEntry 2 }

  rlOspfStubTOS OBJECT-TYPE
       SYNTAX       TOSType
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The Type of Service associated with the
          metric.  On creation, this can be derived from
          the instance."
       ::= { rlOspfStubAreaEntry 3 }

  rlOspfStubMetric OBJECT-TYPE
       SYNTAX       BigMetric
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The metric value applied at the indicated Type
          of Service.  By default, this equals the least
          metric at the Type of Service among the
          interfaces to other areas."
       ::= { rlOspfStubAreaEntry 4 }

  rlOspfStubStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "This object permits management of the table by
          facilitating actions such as row creation,
          construction, and destruction.

          The value of this object has no effect on
          whether other objects in this conceptual row can be
          modified."
       ::= { rlOspfStubAreaEntry 5 }

  rlOspfStubMetricType OBJECT-TYPE
       SYNTAX       INTEGER {
                       ospfMetric (1),  -- OSPF Metric
                       comparableCost (2), -- external type 1
                       nonComparable  (3) -- external type 2
                       }
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "This variable displays the type of metric
          advertised as a default route."
       DEFVAL { ospfMetric }
       ::= { rlOspfStubAreaEntry 6 }

------------------------------------------------------------------------------
--  OSPF Link State Database

--      The Link State Database contains the Link State
--      Advertisements from throughout the areas that the
--      device is attached to.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfLsdbTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The OSPF Process's link state database (LSDB).
           The LSDB contains the link state advertisements
           from throughout the areas that the device is attached to."
       REFERENCE
          "OSPF Version 2, Section 12 Link State Advertisements"
       ::= { rlOspf 5 }

  rlOspfLsdbEntry OBJECT-TYPE
       SYNTAX   RlOspfLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "A single link state advertisement."
       INDEX { rlOspfLsdbProcessId,
               rlOspfLsdbAreaId, rlOspfLsdbType,
               rlOspfLsdbLsid, rlOspfLsdbRouterId }
       ::= { rlOspfLsdbTable 1 }

  RlOspfLsdbEntry ::=
       SEQUENCE {
          rlOspfLsdbProcessId
             RlOspfProcessID,
          rlOspfLsdbAreaId
             AreaID,
          rlOspfLsdbType
             INTEGER,
          rlOspfLsdbLsid
             IpAddress,
          rlOspfLsdbRouterId
             RouterID,
          rlOspfLsdbSequence
             Integer32,
          rlOspfLsdbAge
             Integer32,
          rlOspfLsdbChecksum
             Integer32,
          rlOspfLsdbAdvertisement
             OCTET STRING
          }

  rlOspfLsdbProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { rlOspfLsdbEntry 1 }

  rlOspfLsdbAreaId OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The 32-bit identifier of the area from which
          the LSA was received."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
       ::= { rlOspfLsdbEntry 2 }

  rlOspfLsdbType OBJECT-TYPE
       SYNTAX       INTEGER {
                       routerLink (1),
                       networkLink (2),
                       summaryLink (3),
                       asSummaryLink (4),
                       asExternalLink (5), -- but see ospfAsLsdbTable
                       multicastLink (6),
                       nssaExternalLink (7),
                       areaOpaqueLink (10)
                       }
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The type of the link state advertisement.
          Each link state type has a separate advertisement
          format.

          Note: External link state advertisements are permitted
          for backward compatibility, but should be displayed
          in the ospfAsLsdbTable rather than here."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The Link State
          Advertisement header"
       ::= { rlOspfLsdbEntry 3 }

  rlOspfLsdbLsid OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The Link State ID is an LS Type Specific field
          containing either a Router ID or an IP address;
          it identifies the piece of the routing domain
          that is being described by the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.4 Link State ID"
       ::= { rlOspfLsdbEntry 4 }

  rlOspfLsdbRouterId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The 32-bit number that uniquely identifies the
          originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
       ::= { rlOspfLsdbEntry 5 }

  rlOspfLsdbSequence OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The sequence number field is a signed 32-bit
          integer.  It starts with the value '80000001'h,
          or -'7FFFFFFF'h, and increments until '7FFFFFFF'h.
          Thus, a typical sequence number will be very negative.
          It is used to detect old and duplicate Link State
          Advertisements.  The space of sequence numbers is linearly
          ordered.  The larger the sequence number, the more recent
          the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.6 LS sequence
          number"
       ::= { rlOspfLsdbEntry 6 }

  rlOspfLsdbAge OBJECT-TYPE
       SYNTAX       Integer32 -- Should be 0..MaxAge, except when
                              -- doNotAge bit is set
       UNITS        "seconds"
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "This field is the age of the link state advertisement
          in seconds."
       REFERENCE
          "OSPF Version 2, Section 12.1.1 LS age"
       ::= { rlOspfLsdbEntry 7 }

  rlOspfLsdbChecksum OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "This field is the checksum of the complete contents of
          the advertisement, excepting the age field.  The age field
          is excepted so that an advertisement's age can be
          incremented without updating the checksum.  The checksum
          used is the same that is used for ISO connectionless
          datagrams; it is commonly referred to as the
          Fletcher checksum."
        REFERENCE
           "OSPF Version 2, Section 12.1.7 LS checksum"
        ::= { rlOspfLsdbEntry 8 }

  rlOspfLsdbAdvertisement OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE (1..65535))
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The entire link state advertisement, including
          its header.

          Note that for variable length LSAs, SNMP agents
          may not be able to return the largest string size."
       REFERENCE
          "OSPF Version 2, Section 12 Link State Advertisements"
       ::= { rlOspfLsdbEntry 9 }

------------------------------------------------------------------------------
--  Address Range Table

--      The Address Range Table acts as an adjunct to the Area
--      Table; It describes those Address Range Summaries that
--      are configured to be propagated from an Area to reduce
--      the amount of information about it which is known beyond
--      its borders.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfAreaRangeTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfAreaRangeEntry
       MAX-ACCESS   not-accessible
       STATUS       obsolete
       DESCRIPTION
          "The Address Range Table acts as an adjunct to the Area
           Table.  It describes those Address Range Summaries that
           are configured to be propagated from an Area to reduce
           the amount of information about it that is known beyond
           its borders.  It contains a set of IP address ranges
           specified by an IP address/IP network mask pair.
           For example, class B address range of X.X.X.X
           with a network mask of 255.255.0.0 includes all IP
           addresses from X.X.0.0 to X.X.255.255.

           Note that this table is obsoleted and is replaced
           by the Area Aggregate Table."
       REFERENCE
          "OSPF Version 2, Appendix C.2  Area parameters"
       ::= { rlOspf 6 }

  rlOspfAreaRangeEntry OBJECT-TYPE
       SYNTAX       RlOspfAreaRangeEntry
       MAX-ACCESS   not-accessible
       STATUS       obsolete
       DESCRIPTION
          "A single area address range.

          Information in this table is persistent and when this object
          is written the entity SHOULD save the change to non-volatile
          storage."
       REFERENCE
          "OSPF Version 2, Appendix C.2  Area parameters"
       INDEX { rlOspfAreaRangeProcessId,
               rlOspfAreaRangeAreaId, rlOspfAreaRangeNet }
       ::= { rlOspfAreaRangeTable 1 }

  RlOspfAreaRangeEntry ::=
       SEQUENCE {
          rlOspfAreaRangeProcessId
             RlOspfProcessID,
          rlOspfAreaRangeAreaId
             AreaID,
          rlOspfAreaRangeNet
             IpAddress,
          rlOspfAreaRangeMask
             IpAddress,
          rlOspfAreaRangeStatus
             RowStatus,
          rlOspfAreaRangeEffect
             INTEGER
          }

   rlOspfAreaRangeProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   obsolete
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
      ::= { rlOspfAreaRangeEntry 1 }

  rlOspfAreaRangeAreaId OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       obsolete
       DESCRIPTION
          "The area that the address range is to be found
          within."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
       ::= { rlOspfAreaRangeEntry 2 }

  rlOspfAreaRangeNet OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       obsolete
       DESCRIPTION
          "The IP address of the net or subnet indicated
          by the range."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
       ::= { rlOspfAreaRangeEntry 3 }

  rlOspfAreaRangeMask OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-create
       STATUS       obsolete
       DESCRIPTION
          "The subnet mask that pertains to the net or
          subnet."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
       ::= { rlOspfAreaRangeEntry 4 }

  rlOspfAreaRangeStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create
       STATUS       obsolete
       DESCRIPTION
          "This object permits management of the table by
          facilitating actions such as row creation,
          construction, and destruction.

          The value of this object has no effect on
          whether other objects in this conceptual row can be
          modified."
       ::= { rlOspfAreaRangeEntry 5 }

  rlOspfAreaRangeEffect OBJECT-TYPE
       SYNTAX       INTEGER {
                       advertiseMatching (1),
                       doNotAdvertiseMatching (2)
                       }
       MAX-ACCESS   read-create
       STATUS       obsolete
       DESCRIPTION
          "Subnets subsumed by ranges either trigger the
          advertisement of the indicated summary
         (advertiseMatching) or result in the subnet's not
          being advertised at all outside the area."
       DEFVAL { advertiseMatching }
       ::= { rlOspfAreaRangeEntry 6 }

------------------------------------------------------------------------------
--  OSPF Host Table

--      The Host/Metric Table indicates what hosts are directly
--      attached to the Router, and what metrics and types of
--      service should be advertised for them.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfHostTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfHostEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The Host/Metric Table indicates what hosts are directly
          attached to the router, what metrics and types
          of service should be advertised for them,
          and what areas they are found within."
       REFERENCE
          "OSPF Version 2, Appendix C.7 Host route
          parameters"
       ::= { rlOspf 7 }

  rlOspfHostEntry OBJECT-TYPE
       SYNTAX       RlOspfHostEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "A metric to be advertised, for a given type of
          service, when a given host is reachable.

          Information in this table is persistent and when this object
          is written the entity SHOULD save the change to non-volatile
          storage."
       INDEX { rlOspfHostProcessId,
               rlOspfHostIpAddress, rlOspfHostTOS }
       ::= { rlOspfHostTable 1 }

  RlOspfHostEntry ::=
       SEQUENCE {
          rlOspfHostProcessId
             RlOspfProcessID,
          rlOspfHostIpAddress
             IpAddress,
          rlOspfHostTOS
             TOSType,
          rlOspfHostMetric
             Metric,
          rlOspfHostStatus
             RowStatus,
          rlOspfHostAreaID
             AreaID,
          rlOspfHostCfgAreaID
             AreaID
          }

   rlOspfHostProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { rlOspfHostEntry 1 }

  rlOspfHostIpAddress OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The IP address of the host."
       REFERENCE
          "OSPF Version 2, Appendix C.7 Host route parameters"
       ::= { rlOspfHostEntry 2 }

  rlOspfHostTOS OBJECT-TYPE
       SYNTAX       TOSType
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The Type of Service of the route being configured."
       REFERENCE
          "OSPF Version 2, Appendix C.7 Host route parameters"
       ::= { rlOspfHostEntry 3 }

  rlOspfHostMetric OBJECT-TYPE
       SYNTAX       Metric
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The metric to be advertised."
       REFERENCE
          "OSPF Version 2, Appendix C.7 Host route parameters"
       ::= { rlOspfHostEntry 4 }

  rlOspfHostStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "This object permits management of the table by
          facilitating actions such as row creation,
          construction, and destruction.

          The value of this object has no effect on
          whether other objects in this conceptual row can be
          modified."
       ::= { rlOspfHostEntry 5 }

  rlOspfHostAreaID OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-only
       STATUS       deprecated
       DESCRIPTION
          "The OSPF area to which the host belongs.
          Deprecated by ospfHostCfgAreaID."
       REFERENCE
          "OSPF Version 2, Appendix C.7 Host parameters"
       ::= { rlOspfHostEntry 6 }

  rlOspfHostCfgAreaID OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "To configure the OSPF area to which the host belongs."
       REFERENCE
          "OSPF Version 2, Appendix C.7 Host parameters"
       ::= { rlOspfHostEntry 7 }

------------------------------------------------------------------------------
--  OSPF Interface Table

--      The OSPF Interface Table augments the ipAddrTable
--      with OSPF specific information.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfIfTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfIfEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The OSPF Interface Table describes the interfaces
          from the viewpoint of OSPF.
          It augments the ipAddrTable with OSPF specific information."
       REFERENCE
          "OSPF Version 2, Appendix C.3  Router interface
          parameters"
       ::= { rlOspf 8 }

  rlOspfIfEntry OBJECT-TYPE
       SYNTAX       RlOspfIfEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The OSPF interface entry describes one interface
          from the viewpoint of OSPF.

          Information in this table is persistent and when this object
          is written the entity SHOULD save the change to non-volatile
          storage."
       INDEX { rlOspfIfProcessId,
               rlOspfIfIpAddress, rlOspfAddressLessIf }
       ::= { rlOspfIfTable 1 }

  RlOspfIfEntry ::=
       SEQUENCE {
          rlOspfIfProcessId
             RlOspfProcessID,
          rlOspfIfIpAddress
             IpAddress,
          rlOspfAddressLessIf
             InterfaceIndexOrZero,
          rlOspfIfAreaId
             AreaID,
          rlOspfIfType
             INTEGER,
          rlOspfIfAdminStat
             Status,
          rlOspfIfRtrPriority
             DesignatedRouterPriority,
          rlOspfIfTransitDelay
             RlOspfUpToRefreshIntervalTC,
          rlOspfIfRetransInterval
             RlOspfUpToRefreshIntervalTC,
          rlOspfIfHelloInterval
             HelloRange,
          rlOspfIfRtrDeadInterval
             RlOspfDeadIntervalRangeTC,
          rlOspfIfPollInterval
             INTEGER,
          rlOspfIfState
             INTEGER,
          rlOspfIfDesignatedRouter
             IpAddress,
          rlOspfIfBackupDesignatedRouter
             IpAddress,
          rlOspfIfEvents
             Counter32,
          rlOspfIfAuthKey
             OCTET STRING,
          rlOspfIfStatus
             RowStatus,
          rlOspfIfMulticastForwarding
             INTEGER,
          rlOspfIfDemand
             TruthValue,
          rlOspfIfAuthType
             RlOspfAuthenticationType,
          rlOspfIfLsaCount
             Gauge32,
          rlOspfIfLsaCksumSum
             Unsigned32,
          rlOspfIfDesignatedRouterId
             RouterID,
          rlOspfIfBackupDesignatedRouterId
             RouterID,
          rlOspfIfOperStatus
             INTEGER,
          rlOspfIfAuthKeyChain
             OCTET STRING,
          rlOspfIfPassive
             TruthValue,
          rlOspfIfLsaRefreshIntvl
             Integer32,
          rlOspfIfFastHelloMultiplier
             RlOspfFastHelloMultiplierRange,
          rlOspfIfMtuIgnore
             TruthValue,
          rlOspfIfNameLookup
             TruthValue,
          rlOspfIfIfIndex
             Integer32,
          rlOspfIfActualAuthType
             RlOspfAuthenticationType
          }

  rlOspfIfProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { rlOspfIfEntry 1 }

  rlOspfIfIpAddress OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The IP address of this OSPF interface."
       ::= { rlOspfIfEntry 2 }

  rlOspfAddressLessIf OBJECT-TYPE
       SYNTAX       InterfaceIndexOrZero
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "For the purpose of easing the instancing of
          addressed and addressless interfaces; this
          variable takes the value 0 on interfaces with
          IP addresses and the corresponding value of
          ifIndex for interfaces having no IP address."
       ::= { rlOspfIfEntry 3 }

  rlOspfIfAreaId OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "A 32-bit integer uniquely identifying the area
          to which the interface connects.  Area ID
          0.0.0.0 is used for the OSPF backbone."
       DEFVAL { '00000000'H }  -- 0.0.0.0
       ::= { rlOspfIfEntry 4 }

  rlOspfIfType OBJECT-TYPE
       SYNTAX       INTEGER {
                       broadcast (1),
                       nbma (2),
                       pointToPoint (3),
                       pointToMultipoint (5),
                       pointToMultipointNbma (6)
                       }
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The OSPF interface type.
          By way of a default, this field may be intuited
          from the corresponding value of ifType.
          Broadcast LANs, such as Ethernet and IEEE 802.5,
          take the value 'broadcast', X.25 and similar
          technologies take the value 'nbma', and links
          that are definitively point to point take the
          value 'pointToPoint'."
        ::= { rlOspfIfEntry 5 }

  rlOspfIfAdminStat OBJECT-TYPE
       SYNTAX       Status
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The OSPF interface's administrative status.
          The value formed on the interface, and the interface
          will be advertised as an internal route to some area.
          The value 'disabled' denotes that the interface is
          external to OSPF."
       DEFVAL { enabled }
       ::= { rlOspfIfEntry 6 }

  rlOspfIfRtrPriority OBJECT-TYPE
       SYNTAX       DesignatedRouterPriority
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The priority of this interface.  Used in
          multi-access networks, this field is used in
          the designated router election algorithm.  The
          value 0 signifies that the router is not eligible
          to become the designated router on this particular
          network.  In the event of a tie in this value,
          routers will use their Router ID as a tie breaker."
        DEFVAL { 1 }
        ::= { rlOspfIfEntry 7 }

  rlOspfIfTransitDelay OBJECT-TYPE
        SYNTAX       RlOspfUpToRefreshIntervalTC
        UNITS        "seconds"
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The estimated number of seconds it takes to
           transmit a link state update packet over this
           interface.  Note that the minimal value SHOULD be
           1 second."
        DEFVAL { 1 }
        ::= { rlOspfIfEntry 8 }

  rlOspfIfRetransInterval OBJECT-TYPE
       SYNTAX       RlOspfUpToRefreshIntervalTC
       UNITS        "seconds"
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The number of seconds between link state advertisement
          retransmissions, for adjacencies belonging to this
          interface.  This value is also used when retransmitting
          database description and Link State request packets.
          Note that minimal value SHOULD be 1 second."
       DEFVAL { 5 }
       ::= { rlOspfIfEntry 9 }

  rlOspfIfHelloInterval OBJECT-TYPE
       SYNTAX       HelloRange
       UNITS        "seconds"
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The length of time, in seconds, between the Hello packets
          that the router sends on the interface.  This value must be
          the same for all routers attached to a common network."
       DEFVAL { 10 }
       ::= { rlOspfIfEntry 10 }

  rlOspfIfRtrDeadInterval OBJECT-TYPE
       SYNTAX       RlOspfDeadIntervalRangeTC
       UNITS        "seconds"
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The number of seconds that a router's Hello packets have
          not been seen before its neighbors declare the router down.
          This should be some multiple of the Hello interval.  This
          value must be the same for all routers attached to a common
          network."
        DEFVAL { 40 }
        ::= { rlOspfIfEntry 11 }

  rlOspfIfPollInterval OBJECT-TYPE
       SYNTAX       INTEGER(1..255)
       UNITS        "seconds"
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The larger time interval, in seconds, between the Hello
          packets sent to an inactive non-broadcast multi-access
          neighbor."
       DEFVAL { 120 }
       ::= { rlOspfIfEntry 12 }

  rlOspfIfState OBJECT-TYPE
       SYNTAX       INTEGER {
                       down (1),
                       loopback (2),
                       waiting (3),
                       pointToPoint (4),
                       designatedRouter (5),
                       backupDesignatedRouter (6),
                       otherDesignatedRouter (7)
                       }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The OSPF Interface State."
       DEFVAL { down }
       ::= { rlOspfIfEntry 13 }

  rlOspfIfDesignatedRouter OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The IP address of the designated router."
       DEFVAL { '00000000'H } -- 0.0.0.0
       ::= { rlOspfIfEntry 14 }

  rlOspfIfBackupDesignatedRouter OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The IP address of the backup designated
          router."
       DEFVAL { '00000000'H }  -- 0.0.0.0
       ::= { rlOspfIfEntry 15 }

  rlOspfIfEvents OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The number of times this OSPF interface has
          changed its state or an error has occurred.

          Discontinuities in the value of this counter can occur
          at re-initialization of the management system, and at other
          times as indicated by the value of ospfDiscontinuityTime."
       ::= { rlOspfIfEntry 16 }

  rlOspfIfAuthKey OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE (0..256))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The cleartext password used as an OSPF
          authentication key when simplePassword security
          is enabled.  This object does not access any OSPF
          cryptogaphic (e.g., MD5) authentication key under
          any circumstance.

          If the key length is shorter than 8 octets, the
          agent will left adjust and zero fill to 8 octets.

          Unauthenticated interfaces need no authentication
          key, and simple password authentication cannot use
          a key of more than 8 octets.

          Note that the use of simplePassword authentication
          is NOT recommended when there is concern regarding
          attack upon the OSPF system.  SimplePassword
          authentication is only sufficient to protect against
          accidental misconfigurations because it re-uses
          cleartext passwords [RFC1704].

          When read, rlOspfIfAuthKey always returns an octet
          string of length zero."
       REFERENCE
          "OSPF Version 2, Section 9 The Interface Data
          Structure"
       DEFVAL { '0000000000000000'H } -- 0.0.0.0.0.0.0.0
       ::= { rlOspfIfEntry 17 }

  rlOspfIfStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "This object permits management of the table by
          facilitating actions such as row creation,
          construction, and destruction.

          The value of this object has no effect on
          whether other objects in this conceptual row can be
          modified."
       ::= { rlOspfIfEntry 18 }

  rlOspfIfMulticastForwarding OBJECT-TYPE
       SYNTAX       INTEGER {
                       blocked (1), -- no multicast forwarding
                       multicast (2), -- using multicast address
                       unicast (3) -- to each OSPF neighbor
                       }
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The way multicasts should be forwarded on this
          interface: not forwarded, forwarded as data
          link multicasts, or forwarded as data link
          unicasts.  Data link multicasting is not
          meaningful on point-to-point and NBMA interfaces,
          and setting ospfMulticastForwarding to 0 effectively
          disables all multicast forwarding."
       DEFVAL { blocked }
       ::= { rlOspfIfEntry 19 }

  rlOspfIfDemand OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "Indicates whether Demand OSPF procedures (hello
          suppression to FULL neighbors and setting the
          DoNotAge flag on propagated LSAs) should be
          performed on this interface."
       DEFVAL { false }
       ::= { rlOspfIfEntry 20 }

  rlOspfIfAuthType OBJECT-TYPE
       SYNTAX       RlOspfAuthenticationType
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The authentication type specified for an interface.

          Note that this object can be used to engage
          in significant attacks against an OSPF router."
       REFERENCE
          "OSPF Version 2, Appendix D Authentication"
       DEFVAL { none } -- no authentication, by default
       ::= { rlOspfIfEntry 21 }

  rlOspfIfLsaCount OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The total number of link-local link state advertisements
          in this interface's link-local link state database."
       ::= { rlOspfIfEntry 22 }

  rlOspfIfLsaCksumSum OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The 32-bit unsigned sum of the Link State
          Advertisements' LS checksums contained in this
          interface's link-local link state database.
          The sum can be used to determine if there has
          been a change in the interface's link state
          database and to compare the interface link state
          database of routers attached to the same subnet."
       ::= { rlOspfIfEntry 23 }

  rlOspfIfDesignatedRouterId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The Router ID of the designated router."
       ::= { rlOspfIfEntry 24 }

  rlOspfIfBackupDesignatedRouterId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The Router ID of the backup designated router."
       ::= { rlOspfIfEntry 25 }

    rlOspfIfOperStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                     up(1),        -- active
                     down(2),      -- inactive
                     goingUp(3),   -- activating
                     goingDown(4), -- deactivating
                     actFailed(5)  -- activation failed
                     }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
          "The current operational state of the OSPF interface."
        ::= { rlOspfIfEntry 26 }

    rlOspfIfAuthKeyChain OBJECT-TYPE
        SYNTAX       OCTET STRING (SIZE (0..256))
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
            "The name of the authentication key-chain configured
             on this interface.   The key-chain is a reference to
             which set of secret keys are to be accessed in order
             to determine which secret key string to use.  The key
             chain name is not the secret key string password and
             can also be used in other routing protocols, such
             as RIP and ISIS."
        ::= { rlOspfIfEntry 27 }

    rlOspfIfPassive OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "Indicates whether this interface is a passive interface.  If set
           to TRUE, we suppress HELLO packets sent on and received from this
           interface.  We will therefore advertise this interface in our LSAs
           but not run OSPF protocol over it."
        DEFVAL { false }
        ::= { rlOspfIfEntry 28 }

    rlOspfIfLsaRefreshIntvl OBJECT-TYPE
        SYNTAX       Integer32 (1..3599)
        UNITS        "seconds"
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "Self-originated LSAs are periodically reflooded into the routing
           domain, to add to the robustness of the OSPF protocol.  This value
           determines the interval between refreshes of LSAs that are only
           flooded over this interface, for example type-9 opaque LSAs, and
           is defaulted to the OSPF standard default of 1800 seconds
           (30 minutes)."
        DEFVAL { 1800 }
        ::= { rlOspfIfEntry 29 }

    rlOspfIfFastHelloMultiplier OBJECT-TYPE
        SYNTAX       RlOspfFastHelloMultiplierRange
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The number of Hellos that should be sent within 1 second when
           using Fast Hellos on this interface.  This value does not have
           to be same for all routers attached to a common network, but it
           is advisable.  Fast Hellos are configured using
           ospfPmIfRtrDeadInterval."
        DEFVAL { 5 }
        ::= { rlOspfIfEntry 30 }

    rlOspfIfMtuIgnore OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "This object controls whether DC-OSPF checks the MTU size on
           incoming Database Description packets.  By default, if the
           received MTU size in a DB Description packet is higher than
           the MTU size configured on the incoming interface, the OSPF
           adjacency will not be established.  If the interface is
           tunneled over, say, an MPLS network, then the administrator
           may not know the maximum MTU size and so can tell DC-OSPF to
           ignore the MTU size on incoming DB description packets."
        DEFVAL { false }
        ::= { rlOspfIfEntry 31 }

    rlOspfIfNameLookup OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "A flag to note whether to look up Domain Name System (DNS) names
           for use in all OSPF show EXEC command displays."
        ::= { rlOspfIfEntry 32 }

    rlOspfIfIfIndex OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "A 32-bit index identifying this interface, or zero if no index
           value is known.  For interfaces having no IP Address this field
           is automatically set to the value of the address-less interface
           index field."
       ::= { rlOspfIfEntry 33 }

  rlOspfIfActualAuthType OBJECT-TYPE
       SYNTAX       RlOspfAuthenticationType
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The actual authentication type specified for an interface."
       ::= { rlOspfIfEntry 34 }

------------------------------------------------------------------------------
--  OSPF Interface Metric Table

--      The Metric Table describes the metrics to be advertised
--      for a specified interface at the various types of service.
--      As such, this table is an adjunct of the OSPF Interface
--      Table.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfIfMetricTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfIfMetricEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The Metric Table describes the metrics to be advertised
          for a specified interface at the various types of service.
          As such, this table is an adjunct of the OSPF Interface
          Table.

          Types of service, as defined by RFC 791, have the ability
          to request low delay, high bandwidth, or reliable linkage.

          For the purposes of this specification, the measure of
          bandwidth:

          Metric = referenceBandwidth / ifSpeed

          is the default value.
          The default reference bandwidth is 10^8.
          For multiple link interfaces, note that ifSpeed is the sum
          of the individual link speeds.  This yields a number having
          the following typical values:

          Network Type/bit rate   Metric

          >= 100 MBPS                 1
          Ethernet/802.3             10
          E1                         48
          T1 (ESF)                   65
          64 KBPS                    1562
          56 KBPS                    1785
          19.2 KBPS                  5208
          9.6 KBPS                   10416

          Routes that are not specified use the default
          (TOS 0) metric.

          Note that the default reference bandwidth can be configured
          using the general group object ospfReferenceBandwidth."
       REFERENCE
          "OSPF Version 2, Appendix C.3 Router interface
          parameters"
       ::= { rlOspf 9 }

  rlOspfIfMetricEntry OBJECT-TYPE
       SYNTAX       RlOspfIfMetricEntry
       MAX-ACCESS   not-accessible
       STATUS      current
       DESCRIPTION
          "A particular TOS metric for a non-virtual interface
          identified by the interface index.

          Information in this table is persistent and when this object
          is written the entity SHOULD save the change to non-volatile
          storage."
       REFERENCE
          "OSPF Version 2, Appendix C.3 Router interface
          parameters"
       INDEX { rlOspfIfMetricProcessId,
          rlOspfIfMetricIpAddress,
          rlOspfIfMetricAddressLessIf,
          rlOspfIfMetricTOS }
       ::= { rlOspfIfMetricTable 1 }

  RlOspfIfMetricEntry ::=
       SEQUENCE {
          rlOspfIfMetricProcessId
             RlOspfProcessID,
          rlOspfIfMetricIpAddress
             IpAddress,
          rlOspfIfMetricAddressLessIf
             InterfaceIndexOrZero,
          rlOspfIfMetricTOS
             TOSType,
          rlOspfIfMetricValue
             Metric,
          rlOspfIfMetricStatus
             RowStatus
          }

  rlOspfIfMetricProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { rlOspfIfMetricEntry 1 }

  rlOspfIfMetricIpAddress OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The IP address of this OSPF interface.  On row
          creation, this can be derived from the instance."
       ::= { rlOspfIfMetricEntry 2 }

  rlOspfIfMetricAddressLessIf OBJECT-TYPE
       SYNTAX       InterfaceIndexOrZero
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "For the purpose of easing the instancing of
          addressed and addressless interfaces; this
          variable takes the value 0 on interfaces with
          IP addresses and the value of ifIndex for
          interfaces having no IP address.  On row
          creation, this can be derived from the instance."
        ::= { rlOspfIfMetricEntry 3 }

  rlOspfIfMetricTOS OBJECT-TYPE
       SYNTAX       TOSType
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The Type of Service metric being referenced.
          On row creation, this can be derived from the
          instance."
       ::= { rlOspfIfMetricEntry 4 }

  rlOspfIfMetricValue OBJECT-TYPE
       SYNTAX       Metric
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The metric of using this Type of Service on
          this interface.  The default value of the TOS 0
          metric is 10^8 / ifSpeed."
       ::= { rlOspfIfMetricEntry 5 }

  rlOspfIfMetricStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "This object permits management of the table by
          facilitating actions such as row creation,
          construction, and destruction.

          The value of this object has no effect on
          whether other objects in this conceptual row can be
          modified."
       ::= { rlOspfIfMetricEntry 6 }

------------------------------------------------------------------------------
--  OSPF Virtual Interface Table

--      The Virtual Interface Table describes the virtual
--      links that the OSPF Process is configured to
--      carry on.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfVirtIfTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfVirtIfEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "Information about this router's virtual interfaces
          that the OSPF Process is configured to carry on."
       REFERENCE
          "OSPF Version 2, Appendix C.4  Virtual link
          parameters"
       ::= { rlOspf 10 }

  rlOspfVirtIfEntry OBJECT-TYPE
       SYNTAX       RlOspfVirtIfEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "Information about a single virtual interface.

          Information in this table is persistent and when this object
          is written the entity SHOULD save the change to non-volatile
          storage."
       INDEX { rlOspfVirtIfProcessId,
               rlOspfVirtIfAreaId, rlOspfVirtIfNeighbor }
       ::= { rlOspfVirtIfTable 1 }

  RlOspfVirtIfEntry ::=
       SEQUENCE {
          rlOspfVirtIfProcessId
             RlOspfProcessID,
          rlOspfVirtIfAreaId
             AreaID,
          rlOspfVirtIfNeighbor
             RouterID,
          rlOspfVirtIfTransitDelay
             RlOspfUpToRefreshIntervalTC,
          rlOspfVirtIfRetransInterval
             RlOspfUpToRefreshIntervalTC,
          rlOspfVirtIfHelloInterval
             HelloRange,
          rlOspfVirtIfRtrDeadInterval
             RlOspfDeadIntervalRangeTC,
          rlOspfVirtIfState
             INTEGER,
          rlOspfVirtIfEvents
             Counter32,
          rlOspfVirtIfAuthKey
             OCTET STRING,
          rlOspfVirtIfStatus
             RowStatus,
          rlOspfVirtIfAuthType
             RlOspfAuthenticationType,
          rlOspfVirtIfLsaCount
             Gauge32,
          rlOspfVirtIfLsaCksumSum
             Unsigned32,
          rlOspfVirtIfAuthKeyChain
             OCTET STRING,
          rlOspfVirtIfAdminStatus
             Status,
          rlOspfVirtIfOperStatus
             INTEGER,
          rlOspfVirtIfIndex
             INTEGER,
          rlOspfVirtIfActualAuthType
             RlOspfAuthenticationType
          }

  rlOspfVirtIfProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { rlOspfVirtIfEntry 1 }

  rlOspfVirtIfAreaId OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The transit area that the virtual link
          traverses.  By definition, this is not 0.0.0.0."
       ::= { rlOspfVirtIfEntry 2 }

  rlOspfVirtIfNeighbor OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The Router ID of the virtual neighbor."
       ::= { rlOspfVirtIfEntry 3 }

  rlOspfVirtIfTransitDelay OBJECT-TYPE
       SYNTAX       RlOspfUpToRefreshIntervalTC
       UNITS        "seconds"
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The estimated number of seconds it takes to
          transmit a Link State update packet over this
          interface.  Note that the minimal value SHOULD be
          1 second."
       DEFVAL { 1 }
       ::= { rlOspfVirtIfEntry 4 }

  rlOspfVirtIfRetransInterval OBJECT-TYPE
       SYNTAX       RlOspfUpToRefreshIntervalTC
       UNITS        "seconds"
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The number of seconds between link state
          avertisement retransmissions, for adjacencies
          belonging to this interface.  This value is
          also used when retransmitting database
          description and Link State request packets.  This
          value should be well over the expected
          round-trip time.  Note that the minimal value SHOULD be
          1 second."
       DEFVAL { 5 }
       ::= { rlOspfVirtIfEntry 5 }

  rlOspfVirtIfHelloInterval OBJECT-TYPE
       SYNTAX       HelloRange
       UNITS        "seconds"
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The length of time, in seconds, between the
          Hello packets that the router sends on the
          interface.  This value must be the same for the
          virtual neighbor."
       DEFVAL { 10 }
       ::= { rlOspfVirtIfEntry 6 }

  rlOspfVirtIfRtrDeadInterval OBJECT-TYPE
       SYNTAX       RlOspfDeadIntervalRangeTC
       UNITS        "seconds"
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The number of seconds that a router's Hello
          packets have not been seen before its
          neighbors declare the router down.  This should be
          some multiple of the Hello interval.  This
          value must be the same for the virtual neighbor."
       DEFVAL { 60 }
       ::= { rlOspfVirtIfEntry 7 }

  rlOspfVirtIfState OBJECT-TYPE
       SYNTAX       INTEGER {
                       down (1), -- these use the same encoding
                       pointToPoint (4) -- as the rlOspfIfTable
                       }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "OSPF virtual interface states."
       DEFVAL { down }
       ::= { rlOspfVirtIfEntry 8 }

  rlOspfVirtIfEvents OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The number of state changes or error events on
          this virtual link.

          Discontinuities in the value of this counter can occur
          at re-initialization of the management system, and at other
          times as indicated by the value of ospfDiscontinuityTime."
       ::= { rlOspfVirtIfEntry 9 }

  rlOspfVirtIfAuthKey OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE(0..256))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The cleartext password used as an OSPF
          authentication key when simplePassword security
          is enabled.  This object does not access any OSPF
          cryptogaphic (e.g., MD5) authentication key under
          any circumstance.
          If the key length is shorter than 8 octets, the
          agent will left adjust and zero fill to 8 octets.

          Unauthenticated interfaces need no authentication
          key, and simple password authentication cannot use
          a key of more than 8 octets.

          Note that the use of simplePassword authentication
          is NOT recommended when there is concern regarding
          attack upon the OSPF system.  SimplePassword
          authentication is only sufficient to protect against
          accidental misconfigurations because it re-uses
          cleartext passwords.  [RFC1704]

          When read, rlOspfIfAuthKey always returns an octet
          string of length zero."
       REFERENCE
          "OSPF Version 2, Section 9 The Interface Data
          Structure"
       DEFVAL { '0000000000000000'H } -- 0.0.0.0.0.0.0.0
       ::= { rlOspfVirtIfEntry 10 }

  rlOspfVirtIfStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "This object permits management of the table by
          facilitating actions such as row creation,
          construction, and destruction.

          The value of this object has no effect on
          whether other objects in this conceptual row can be
          modified."
        ::= { rlOspfVirtIfEntry 11 }

  rlOspfVirtIfAuthType OBJECT-TYPE
       SYNTAX       RlOspfAuthenticationType
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The authentication type specified for a virtual interface.

          Note that this object can be used to engage
          in significant attacks against an OSPF router."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
       DEFVAL { none } -- no authentication, by default
       ::= { rlOspfVirtIfEntry 12 }

  rlOspfVirtIfLsaCount OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The total number of link-local link state advertisements
          in this virtual interface's link-local link state database."
       ::= { rlOspfVirtIfEntry 13 }

  rlOspfVirtIfLsaCksumSum OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The 32-bit unsigned sum of the link state
          advertisements' LS checksums contained in this
          virtual interface's link-local link state database.
          The sum can be used to determine if there has
          been a change in the virtual interface's link state
          database, and to compare the virtual interface
          link state database of the virtual neighbors."
       ::= { rlOspfVirtIfEntry 14 }

  rlOspfVirtIfAuthKeyChain OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE (0..256))
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The name of the authentication key-chain configured
          on this interface.   The key-chain is a reference to
          which set of secret keys are to be accessed in order
          to determine which secret key string to use.  The key
          chain name is not the secret key string password and
          can also be used in other routing protocols, such
          as RIP and ISIS."
       ::= { rlOspfVirtIfEntry 15 }

  rlOspfVirtIfAdminStatus OBJECT-TYPE
      SYNTAX   Status
      MAX-ACCESS   read-create
      STATUS   current
      DESCRIPTION
         "The desired administrative state of this virtual interface."
      DEFVAL { enabled }
      ::= { rlOspfVirtIfEntry 16 }

  rlOspfVirtIfOperStatus OBJECT-TYPE
       SYNTAX  INTEGER {
                    up(1),        -- active
                    down(2),      -- inactive
                    goingUp(3),   -- activating
                    goingDown(4), -- deactivating
                    actFailed(5)  -- activation failed
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "The current operational state of this virtual interface."
      ::= { rlOspfVirtIfEntry 17 }

  rlOspfVirtIfIndex OBJECT-TYPE
       SYNTAX          INTEGER
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
                   "The local index assigned by the
                   OSPF Process to this OSPF virtual interface."
       ::= { rlOspfVirtIfEntry 18 }

  rlOspfVirtIfActualAuthType OBJECT-TYPE
       SYNTAX       RlOspfAuthenticationType
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The actual authentication type specified for a virtual interface."
       ::= { rlOspfVirtIfEntry 19 }

------------------------------------------------------------------------------
--  OSPF Neighbor Table

--      The OSPF Neighbor Table describes all neighbors in
--      the locality of the subject router, this table is read-only.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfNbrTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfNbrEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "A table describing all non-virtual neighbors
          in the locality of the OSPF router, this table is read-only."
       REFERENCE
          "OSPF Version 2, Section 10 The Neighbor Data
          Structure"
       ::= { rlOspf 11 }

  rlOspfNbrEntry OBJECT-TYPE
       SYNTAX       RlOspfNbrEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The information regarding a single neighbor."
       REFERENCE
          "OSPF Version 2, Section 10 The Neighbor Data
          Structure"
       INDEX { rlOspfNbrProcessId,
               rlOspfNbrIpAddr, rlOspfNbrAddressLessIndex }
       ::= { rlOspfNbrTable 1 }

  RlOspfNbrEntry ::=
       SEQUENCE {
          rlOspfNbrProcessId
             RlOspfProcessID,
          rlOspfNbrIpAddr
             IpAddress,
          rlOspfNbrAddressLessIndex
             InterfaceIndexOrZero,
          rlOspfNbrRtrId
             RouterID,
          rlOspfNbrOptions
             Integer32,
          rlOspfNbrPriority
             DesignatedRouterPriority,
          rlOspfNbrState
             INTEGER,
          rlOspfNbrEvents
             Counter32,
          rlOspfNbrLsRetransQLen
             Gauge32,
          rlOspfNbmaNbrStatus
             RowStatus,
          rlOspfNbmaNbrPermanence
             INTEGER,
          rlOspfNbrHelloSuppressed
             TruthValue,
          rlOspfNbrRestartHelperStatus
             INTEGER,
          rlOspfNbrRestartHelperAge
             Unsigned32,
          rlOspfNbrRestartHelperExitReason
             INTEGER,
          rlOspfNbrDeadTime
             PositiveInteger,
          rlOspfNbrAreaId
             AreaID,
          rlOspfNbrIfIndex
             INTEGER,
          rlOspfNbrIfIpAddr
             IpAddress
          }

   rlOspfNbrProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { rlOspfNbrEntry 1 }

  rlOspfNbrIpAddr OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The IP address this neighbor is using in its
          IP source address.  Note that, on addressless
          links, this will not be 0.0.0.0 but the
          address of another of the neighbor's interfaces."
       ::= { rlOspfNbrEntry 2 }

   rlOspfNbrAddressLessIndex OBJECT-TYPE
       SYNTAX       InterfaceIndexOrZero
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "On an interface having an IP address, zero.
          On addressless interfaces, the corresponding
          value of ifIndex in the Internet Standard MIB.
          On row creation, this can be derived from the
          instance."
        ::= { rlOspfNbrEntry 3 }

  rlOspfNbrRtrId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "A 32-bit integer (represented as a type
          IpAddress) uniquely identifying the neighboring
          router in the Autonomous System."
       ::= { rlOspfNbrEntry 4 }

  rlOspfNbrOptions OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "A bit mask corresponding to the neighbor's
          options field.

          Bit 0, if set, indicates that the system will
          operate on Type of Service metrics other than
          TOS 0.  If zero, the neighbor will ignore all
          metrics except the TOS 0 metric.

          Bit 1, if set, indicates that the associated
          area accepts and operates on external
          information; if zero, it is a stub area.

          Bit 2, if set, indicates that the system is
          capable of routing IP multicast datagrams, that is
          that it implements the multicast extensions to
          OSPF.

          Bit 3, if set, indicates that the associated
          area is an NSSA.  These areas are capable of
          carrying type-7 external advertisements, which
          are translated into type-5 external advertisements
          at NSSA borders."
       REFERENCE
           "OSPF Version 2, Section 12.1.2 Options"
       ::= { rlOspfNbrEntry 5 }

   rlOspfNbrPriority OBJECT-TYPE
       SYNTAX       DesignatedRouterPriority
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The priority of this neighbor in the designated
          router election algorithm.  The value 0 signifies
          that the neighbor is not eligible to become
          the designated router on this particular network."
       ::= { rlOspfNbrEntry 6 }

   rlOspfNbrState OBJECT-TYPE
        SYNTAX       INTEGER {
                         down (1),
                         attempt (2),
                         init (3),
                         twoWay (4),
                         exchangeStart (5),
                         exchange (6),
                         loading (7),
                         full (8)
                         }
         MAX-ACCESS   read-only
         STATUS       current
         DESCRIPTION
            "The state of the relationship with this neighbor."
         REFERENCE
            "OSPF Version 2, Section 10.1 Neighbor States"
         ::= { rlOspfNbrEntry 7 }

  rlOspfNbrEvents OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The number of times this neighbor relationship
          has changed state or an error has occurred.

          Discontinuities in the value of this counter can occur
          at re-initialization of the management system, and at other
          times as indicated by the value of ospfDiscontinuityTime."
       ::= { rlOspfNbrEntry 8 }

  rlOspfNbrLsRetransQLen OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The current length of the retransmission
          queue."
       ::= { rlOspfNbrEntry 9 }

  rlOspfNbmaNbrStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "This object permits management of the table by
          facilitating actions such as row creation,
          construction, and destruction.

          The value of this object has no effect on
          whether other objects in this conceptual row can be
          modified."
       ::= { rlOspfNbrEntry 10 }

  rlOspfNbmaNbrPermanence OBJECT-TYPE
       SYNTAX       INTEGER {
                       dynamic (1), -- learned through protocol
                       permanent (2) -- configured address
                       }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "This variable displays the status of the entry;
          'dynamic' and 'permanent' refer to how the neighbor
          became known."
       ::= { rlOspfNbrEntry 11 }

   rlOspfNbrHelloSuppressed OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Indicates whether Hellos are being suppressed
          to the neighbor."
       ::= { rlOspfNbrEntry 12 }

  rlOspfNbrRestartHelperStatus OBJECT-TYPE
       SYNTAX       INTEGER { notHelping (1),
                              helping (2)
                            }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Indicates whether the router is acting
          as a graceful restart helper for the neighbor."
          ::= { rlOspfNbrEntry 13 }

  rlOspfNbrRestartHelperAge OBJECT-TYPE
       SYNTAX       Unsigned32
       UNITS        "seconds"
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Remaining time in current OSPF graceful restart
          interval, if the router is acting as a restart
          helper for the neighbor."
       ::= { rlOspfNbrEntry 14 }

  rlOspfNbrRestartHelperExitReason OBJECT-TYPE
       SYNTAX       INTEGER { none (1),           -- not attempted
                              inProgress (2),     -- restart in
                                                  -- progress
                              completed (3),      -- successfully
                                                  -- completed
                              timedOut (4),       -- timed out
                              topologyChanged (5) -- aborted due to
                                                  -- topology
                                                  -- change.
                            }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Describes the outcome of the last attempt at acting
           as a graceful restart helper for the neighbor."
       ::= { rlOspfNbrEntry 15 }

  rlOspfNbrDeadTime OBJECT-TYPE
      SYNTAX          PositiveInteger
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
         "The time remaining in seconds within which we need to receive a
         hello packet from the neighbor or we declare the adjacency down.
         If fast hellos area in use, this value is always set to 1.
         If the oper_status is down or ospfPmNbrState is DOWN, then the value
         is set to zero and the field is not valid."
     ::= { rlOspfNbrEntry 16 }

  rlOspfNbrAreaId OBJECT-TYPE
      SYNTAX          AreaID
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The area to which the neighbor belongs. If the oper_status is
          down, then this value is set to zero and the field is not valid."
     ::= { rlOspfNbrEntry 17 }

  rlOspfNbrIfIndex OBJECT-TYPE
      SYNTAX          INTEGER
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The interface index to whitch the neighbor is connected."
     ::= { rlOspfNbrEntry 18 }

  rlOspfNbrIfIpAddr OBJECT-TYPE
      SYNTAX          IpAddress
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The interface IP address to whitch the neighbor is connected."
     ::= { rlOspfNbrEntry 19 }

------------------------------------------------------------------------------
--  OSPF Virtual Neighbor Table

--      This table describes all virtual neighbors.
--      Since Virtual Links are configured in the
--      virtual interface table, this table is read-only.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfVirtNbrTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfVirtNbrEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "This table describes all virtual neighbors.
          Since virtual links are configured
          in the Virtual Interface Table, this table is read-only."
       REFERENCE
          "OSPF Version 2, Section 15 Virtual Links"
       ::= { rlOspf 12 }

  rlOspfVirtNbrEntry OBJECT-TYPE
       SYNTAX       RlOspfVirtNbrEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "Virtual neighbor information."
       INDEX { rlOspfVirtNbrProcessId,
               rlOspfVirtNbrArea, rlOspfVirtNbrRtrId }
       ::= { rlOspfVirtNbrTable 1 }

  RlOspfVirtNbrEntry ::=
       SEQUENCE {
          rlOspfVirtNbrProcessId
             RlOspfProcessID,
          rlOspfVirtNbrArea
             AreaID,
          rlOspfVirtNbrRtrId
             RouterID,
          rlOspfVirtNbrIpAddr
             IpAddress,
          rlOspfVirtNbrOptions
             Integer32,
          rlOspfVirtNbrState
             INTEGER,
          rlOspfVirtNbrEvents
             Counter32,
          rlOspfVirtNbrLsRetransQLen
             Gauge32,
          rlOspfVirtNbrHelloSuppressed
             TruthValue,
          rlOspfVirtNbrRestartHelperStatus
             INTEGER,
          rlOspfVirtNbrRestartHelperAge
             Unsigned32,
          rlOspfVirtNbrRestartHelperExitReason
             INTEGER,
          rlOspfVirtNbrDeadTime
             PositiveInteger
          }

   rlOspfVirtNbrProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
      ::= { rlOspfVirtNbrEntry 1 }

  rlOspfVirtNbrArea OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The Transit Area Identifier."
       ::= { rlOspfVirtNbrEntry 2 }

  rlOspfVirtNbrRtrId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS      current
       DESCRIPTION
          "A 32-bit integer uniquely identifying the
          neighboring router in the Autonomous System."
       ::= { rlOspfVirtNbrEntry 3 }

  rlOspfVirtNbrIpAddr OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The IP address this virtual neighbor is using."
       ::= { rlOspfVirtNbrEntry 4 }

  rlOspfVirtNbrOptions OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "A bit mask corresponding to the neighbor's
          options field.

          Bit 1, if set, indicates that the system will
          operate on Type of Service metrics other than
          TOS 0.  If zero, the neighbor will ignore all
          metrics except the TOS 0 metric.

          Bit 2, if set, indicates that the system is
          network multicast capable, i.e., that it
          implements OSPF multicast routing."
       ::= { rlOspfVirtNbrEntry 5 }

   rlOspfVirtNbrState OBJECT-TYPE
       SYNTAX       INTEGER {
                       down (1),
                       attempt (2),
                       init (3),
                       twoWay (4),
                       exchangeStart (5),
                       exchange (6),
                       loading (7),
                       full (8)
                       }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The state of the virtual neighbor relationship."
       ::= { rlOspfVirtNbrEntry 6 }

  rlOspfVirtNbrEvents OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The number of times this virtual link has
          changed its state or an error has occurred.

          Discontinuities in the value of this counter can occur
          at re-initialization of the management system, and at other
          times as indicated by the value of ospfDiscontinuityTime."
       ::= { rlOspfVirtNbrEntry 7 }

  rlOspfVirtNbrLsRetransQLen OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The current length of the retransmission
          queue."
       ::= { rlOspfVirtNbrEntry 8 }

  rlOspfVirtNbrHelloSuppressed OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Indicates whether Hellos are being suppressed
          to the neighbor."
       ::= { rlOspfVirtNbrEntry 9 }

  rlOspfVirtNbrRestartHelperStatus OBJECT-TYPE
       SYNTAX       INTEGER { notHelping (1),
                              helping (2)
                            }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Indicates whether the router is acting
          as a graceful restart helper for the neighbor."
       ::= { rlOspfVirtNbrEntry 10 }

  rlOspfVirtNbrRestartHelperAge OBJECT-TYPE
       SYNTAX       Unsigned32
       UNITS        "seconds"
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Remaining time in current OSPF graceful restart
          interval, if the router is acting as a restart
          helper for the neighbor."
       ::= { rlOspfVirtNbrEntry 11 }

  rlOspfVirtNbrRestartHelperExitReason OBJECT-TYPE
       SYNTAX       INTEGER { none (1),           -- not attempted
                              inProgress (2),     -- restart in
                                                  -- progress
                              completed (3),      -- successfully
                                                  -- completed
                              timedOut (4),       -- timed out
                              topologyChanged (5) -- aborted due to
                                                  -- topology
                                                  -- change.
                            }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Describes the outcome of the last attempt at acting
           as a graceful restart helper for the neighbor."
       ::= { rlOspfVirtNbrEntry 12 }

  rlOspfVirtNbrDeadTime OBJECT-TYPE
      SYNTAX          PositiveInteger
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
         "The time remaining in seconds within which we need to receive a
         hello packet from the neighbor or we declare the adjacency down.
         If fast hellos area in use, this value is always set to 1.
         If the oper_status is down or ospfPmVirtNbrState is DOWN, then the value
         is set to zero and the field is not valid."
     ::= { rlOspfVirtNbrEntry 13 }

------------------------------------------------------------------------------
--  OSPF Link State Database, External

--      The Link State Database contains the Link State
--      Advertisements from throughout the areas that the
--      device is attached to.

--      This table is identical to the OSPF LSDB Table in
--      format, but contains only External Link State
--      Advertisements.  The purpose is to allow external
--      LSAs to be displayed once for the router rather
--      than once in each non-stub area.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfExtLsdbTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfExtLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       deprecated
       DESCRIPTION
          "The OSPF Process's external LSA link state database.

          This table is identical to the OSPF LSDB Table
          in format, but contains only external link state
          advertisements.  The purpose is to allow external



          LSAs to be displayed once for the router rather
          than once in each non-stub area.

          Note that external LSAs are also in the AS-scope link state
          database."
       REFERENCE
          "OSPF Version 2, Section 12 Link State Advertisements"
       ::= { rlOspf 13 }

  rlOspfExtLsdbEntry OBJECT-TYPE
       SYNTAX       RlOspfExtLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       deprecated
       DESCRIPTION
          "A single link state advertisement."
       INDEX { rlOspfExtLsdbProcessId,
               rlOspfExtLsdbType, rlOspfExtLsdbLsid, rlOspfExtLsdbRouterId }
       ::= { rlOspfExtLsdbTable 1 }

  RlOspfExtLsdbEntry ::=
       SEQUENCE {
          rlOspfExtLsdbProcessId
             RlOspfProcessID,
          rlOspfExtLsdbType
             INTEGER,
          rlOspfExtLsdbLsid
             IpAddress,
          rlOspfExtLsdbRouterId
             RouterID,
          rlOspfExtLsdbSequence
             Integer32,
          rlOspfExtLsdbAge
             Integer32,
          rlOspfExtLsdbChecksum
             Integer32,
          rlOspfExtLsdbAdvertisement
             OCTET STRING
          }

  rlOspfExtLsdbProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { rlOspfExtLsdbEntry 1 }

  rlOspfExtLsdbType OBJECT-TYPE
       SYNTAX      INTEGER {
                      asExternalLink (5)
                      }
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       deprecated
       DESCRIPTION
          "The type of the link state advertisement.
          Each link state type has a separate advertisement
          format."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The Link State
          Advertisement header"

       ::= { rlOspfExtLsdbEntry 2 }

  rlOspfExtLsdbLsid OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       deprecated
       DESCRIPTION
          "The Link State ID is an LS Type Specific field
          containing either a Router ID or an IP address;
          it identifies the piece of the routing domain
          that is being described by the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.4 Link State ID"
       ::= { rlOspfExtLsdbEntry 3 }

  rlOspfExtLsdbRouterId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       deprecated
       DESCRIPTION
          "The 32-bit number that uniquely identifies the
          originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
       ::= { rlOspfExtLsdbEntry 4 }

  rlOspfExtLsdbSequence OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       deprecated
       DESCRIPTION
          "The sequence number field is a signed 32-bit
          integer.  It starts with the value '80000001'h,
          or -'7FFFFFFF'h, and increments until '7FFFFFFF'h.
          Thus, a typical sequence number will be very negative.
          It is used to detect old and duplicate link state
          advertisements.  The space of sequence numbers is linearly
          ordered.  The larger the sequence number, the more recent
          the advertisement."
       REFERENCE
          "OSPF Version  2,  Section  12.1.6  LS  sequence
          number"
       ::= { rlOspfExtLsdbEntry 5 }

  rlOspfExtLsdbAge OBJECT-TYPE
       SYNTAX       Integer32 -- Should be 0..MaxAge, except when
                              -- doNotAge bit is set
       UNITS        "seconds"
       MAX-ACCESS   read-only
       STATUS       deprecated
       DESCRIPTION
          "This field is the age of the link state
          advertisement in seconds."
       REFERENCE
          "OSPF Version 2, Section 12.1.1 LS age"
       ::= { rlOspfExtLsdbEntry 6 }

  rlOspfExtLsdbChecksum OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       deprecated
       DESCRIPTION
          "This field is the checksum of the complete
          contents of the advertisement, excepting the
          age field.  The age field is excepted so that
          an advertisement's age can be incremented
          without updating the checksum.  The checksum
          used is the same that is used for ISO
          connectionless datagrams; it is commonly referred
          to as the Fletcher checksum."
       REFERENCE
          "OSPF Version 2, Section 12.1.7 LS checksum"
       ::= { rlOspfExtLsdbEntry 7 }

  rlOspfExtLsdbAdvertisement OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE(36))
       MAX-ACCESS   read-only
       STATUS       deprecated
       DESCRIPTION
          "The entire link state advertisement, including
          its header."
       REFERENCE
          "OSPF Version 2, Section 12  Link State
          Advertisements"
       ::= { rlOspfExtLsdbEntry 8 }


------------------------------------------------------------------------------
--      The OSPF Area Aggregate Table
--
--      This table replaces the OSPF Area Summary Table, being an
--      extension of that for CIDR routers.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

   rlOspfAreaAggregateTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfAreaAggregateEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The Area Aggregate Table acts as an adjunct
           to the Area Table.  It describes those address aggregates
           that are configured to be propagated from an area.
           Its purpose is to reduce the amount of information
           that is known beyond an Area's borders.

           It contains a set of IP address ranges
           specified by an IP address/IP network mask pair.
           For example, a class B address range of X.X.X.X
           with a network mask of 255.255.0.0 includes all IP
           addresses from X.X.0.0 to X.X.255.255.

           Note that if ranges are configured such that one range
           subsumes another range (e.g., 10.0.0.0 mask 255.0.0.0
           and 10.1.0.0 mask 255.255.0.0),
           the most specific match is the preferred one."
       REFERENCE
          "OSPF Version 2, Appendix C.2  Area parameters"
       ::= { rlOspf 14 }

  rlOspfAreaAggregateEntry OBJECT-TYPE
       SYNTAX   RlOspfAreaAggregateEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "A single area aggregate entry.

          Information in this table is persistent and when this object
          is written the entity SHOULD save the change to non-volatile
          storage."
       REFERENCE
          "OSPF Version 2, Appendix C.2  Area parameters"
       INDEX { rlOspfAreaAggregateProcessId,
          rlOspfAreaAggregateAreaID, rlOspfAreaAggregateLsdbType,
          rlOspfAreaAggregateNet, rlOspfAreaAggregateMask }
       ::= { rlOspfAreaAggregateTable 1 }

  RlOspfAreaAggregateEntry ::=
       SEQUENCE {
          rlOspfAreaAggregateProcessId
             RlOspfProcessID,
          rlOspfAreaAggregateAreaID
             AreaID,
          rlOspfAreaAggregateLsdbType
             INTEGER,
          rlOspfAreaAggregateNet
             IpAddress,
          rlOspfAreaAggregateMask
             IpAddress,
          rlOspfAreaAggregateStatus
             RowStatus,
          rlOspfAreaAggregateEffect
             INTEGER,
          rlOspfAreaAggregateExtRouteTag
             Unsigned32
          }

  rlOspfAreaAggregateProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { rlOspfAreaAggregateEntry 1 }

  rlOspfAreaAggregateAreaID OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The area within which the address aggregate is to be
          found."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
       ::= { rlOspfAreaAggregateEntry 2 }

  rlOspfAreaAggregateLsdbType OBJECT-TYPE
       SYNTAX       INTEGER {
                       summaryLink (3),
                       nssaExternalLink (7)
                       }
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The type of the address aggregate.  This field
          specifies the Lsdb type that this address
          aggregate applies to."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The Link State
          Advertisement header"
       ::= { rlOspfAreaAggregateEntry 3 }

  rlOspfAreaAggregateNet OBJECT-TYPE
       SYNTAX   IpAddress
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS   current
       DESCRIPTION
          "The IP address of the net or subnet indicated
          by the range."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
       ::= { rlOspfAreaAggregateEntry 4 }

  rlOspfAreaAggregateMask OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS      current
       DESCRIPTION
          "The subnet mask that pertains to the net or
          subnet."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
       ::= { rlOspfAreaAggregateEntry 5 }

  rlOspfAreaAggregateStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "This object permits management of the table by
          facilitating actions such as row creation,
          construction, and destruction.

          The value of this object has no effect on
          whether other objects in this conceptual row can be
          modified."
       ::= { rlOspfAreaAggregateEntry 6 }

  rlOspfAreaAggregateEffect OBJECT-TYPE
       SYNTAX       INTEGER {
                       advertiseMatching (1),
                       doNotAdvertiseMatching (2)
                       }
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "Subnets subsumed by ranges either trigger the
          advertisement of the indicated aggregate
         (advertiseMatching) or result in the subnet's not
          being advertised at all outside the area."
       DEFVAL { advertiseMatching }
       ::= { rlOspfAreaAggregateEntry 7 }

  rlOspfAreaAggregateExtRouteTag OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "External route tag to be included in NSSA (type-7)
           LSAs."
       DEFVAL { 0 }
       ::= { rlOspfAreaAggregateEntry 8 }

------------------------------------------------------------------------------
--  OSPF Link State Database, Link-Local for non-virtual links

--     This table is identical to the OSPF LSDB Table in
--     format, but contains only Link-Local Link State
--     Advertisements for non-virtual links.  The purpose is
--     to allow Link-Local LSAs to be displayed for each
--     non-virtual interface.  This table is implemented to
--     support type-9 LSAs which are defined in
--     "The OSPF Opaque LSA Option".

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfLocalLsdbTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfLocalLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The OSPF Process's link-local link state database
          for non-virtual links.
          This table is identical to the OSPF LSDB Table
          in format, but contains only link-local Link State
          Advertisements for non-virtual links.  The purpose is
          to allow link-local LSAs to be displayed for each
          non-virtual interface.  This table is implemented to
          support type-9 LSAs that are defined
          in 'The OSPF Opaque LSA Option'."
       REFERENCE
          "OSPF Version 2, Section 12 Link State Advertisements
          and The OSPF Opaque LSA Option"
       ::= { rlOspf 18 }

  rlOspfLocalLsdbEntry OBJECT-TYPE
       SYNTAX       RlOspfLocalLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "A single link state advertisement."
       INDEX { rlOspfLocalLsdbProcessId,
          rlOspfLocalLsdbIpAddress, rlOspfLocalLsdbAddressLessIf,
          rlOspfLocalLsdbType, rlOspfLocalLsdbLsid, rlOspfLocalLsdbRouterId
          }
       ::= { rlOspfLocalLsdbTable 1 }

  RlOspfLocalLsdbEntry ::=
       SEQUENCE {
          rlOspfLocalLsdbProcessId
             Unsigned32,
          rlOspfLocalLsdbIpAddress
             IpAddress,
          rlOspfLocalLsdbAddressLessIf
             InterfaceIndexOrZero,
          rlOspfLocalLsdbType
             INTEGER,
          rlOspfLocalLsdbLsid
             IpAddress,
          rlOspfLocalLsdbRouterId
             RouterID,
          rlOspfLocalLsdbSequence
             Integer32,
          rlOspfLocalLsdbAge
             Integer32,
          rlOspfLocalLsdbChecksum
             Integer32,
          rlOspfLocalLsdbAdvertisement
             OCTET STRING,
          rlOspfLocalLsdbAreaId
             AreaID
          }

  rlOspfLocalLsdbProcessId OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rlOspfLocalLsdbEntry 1 }

  rlOspfLocalLsdbIpAddress OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The IP address of the interface from
          which the LSA was received if the interface is
          numbered."
       REFERENCE
          "OSPF Version 2, Appendix C.3 Interface parameters"
       ::= { rlOspfLocalLsdbEntry 2 }

  rlOspfLocalLsdbAddressLessIf OBJECT-TYPE
       SYNTAX       InterfaceIndexOrZero
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The interface index of the interface from
          which the LSA was received if the interface is
          unnumbered."
       REFERENCE
          "OSPF Version 2, Appendix C.3 Interface parameters"
       ::= { rlOspfLocalLsdbEntry 3 }

  rlOspfLocalLsdbType OBJECT-TYPE
       SYNTAX       INTEGER { localOpaqueLink (9) }
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The type of the link state advertisement.
          Each link state type has a separate
          advertisement format."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The Link State
          Advertisement header"
       ::= { rlOspfLocalLsdbEntry 4 }

  rlOspfLocalLsdbLsid OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The Link State ID is an LS Type Specific field
          containing a 32-bit identifier in IP address format;
          it identifies the piece of the routing domain
          that is being described by the advertisement."
       REFERENCE
         "OSPF Version 2, Section 12.1.4 Link State ID"
       ::= { rlOspfLocalLsdbEntry 5 }

  rlOspfLocalLsdbRouterId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The 32-bit number that uniquely identifies the
          originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
       ::= { rlOspfLocalLsdbEntry 6 }

  rlOspfLocalLsdbSequence OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The sequence number field is a signed 32-bit
          integer.  It starts with the value '80000001'h,
          or -'7FFFFFFF'h, and increments until '7FFFFFFF'h.
          Thus, a typical sequence number will be very negative.
          It is used to detect old and duplicate link state
          advertisements.  The space of sequence numbers is linearly
          ordered.  The larger the sequence number, the more recent
          the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.6 LS sequence
          number"
       ::= { rlOspfLocalLsdbEntry 7 }

  rlOspfLocalLsdbAge OBJECT-TYPE
       SYNTAX       Integer32 -- Should be 0..MaxAge, except when
                              -- doNotAge bit is set
       UNITS        "seconds"
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "This field is the age of the link state
          advertisement in seconds."
       REFERENCE
          "OSPF Version 2, Section 12.1.1 LS age"
       ::= { rlOspfLocalLsdbEntry 8 }

  rlOspfLocalLsdbChecksum OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "This field is the checksum of the complete
          contents of the advertisement, excepting the
          age field.  The age field is excepted so that
          an advertisement's age can be incremented
          without updating the checksum.  The checksum
          used is the same that is used for ISO
          connectionless datagrams; it is commonly referred
          to as the Fletcher checksum."
       REFERENCE
          "OSPF Version 2, Section 12.1.7 LS checksum"
       ::= { rlOspfLocalLsdbEntry 9 }

  rlOspfLocalLsdbAdvertisement OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE (1..65535))
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The entire link state advertisement, including
          its header.

          Note that for variable length LSAs, SNMP agents
          may not be able to return the largest string size."
       REFERENCE
          "OSPF Version 2, Section 12 Link State
          Advertisements"
       ::= { rlOspfLocalLsdbEntry 10 }

  rlOspfLocalLsdbAreaId OBJECT-TYPE
       SYNTAX          AreaID
       MAX-ACCESS      read-only
       STATUS          current
       DESCRIPTION
          "The OSPF area in which the link belongs."
       ::= { rlOspfLocalLsdbEntry 11 }

------------------------------------------------------------------------------
--  OSPF Link State Database, link-local for virtual Links

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfVirtLocalLsdbTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF RlOspfVirtLocalLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The OSPF Process's link-local link state database
          for virtual links.

          This table is identical to the OSPF LSDB Table
          in format, but contains only link-local Link State
          Advertisements for virtual links.  The purpose is to
          allow link-local LSAs to be displayed for each virtual
          interface.  This table is implemented to support type-9 LSAs
          that are defined in 'The OSPF Opaque LSA Option'."
       REFERENCE
          "OSPF Version 2, Section 12 Link State
          Advertisements and The OSPF Opaque LSA Option"
       ::= { rlOspf 19 }

  rlOspfVirtLocalLsdbEntry OBJECT-TYPE
       SYNTAX       RlOspfVirtLocalLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "A single link state advertisement."
       INDEX { rlOspfVirtLocalLsdbProcessId,
          rlOspfVirtLocalLsdbTransitArea,
          rlOspfVirtLocalLsdbNeighbor,
          rlOspfVirtLocalLsdbType,
          rlOspfVirtLocalLsdbLsid,
          rlOspfVirtLocalLsdbRouterId
          }
       ::= { rlOspfVirtLocalLsdbTable 1 }

  RlOspfVirtLocalLsdbEntry ::=
       SEQUENCE {
          rlOspfVirtLocalLsdbProcessId
             Unsigned32,
          rlOspfVirtLocalLsdbTransitArea
             AreaID,
          rlOspfVirtLocalLsdbNeighbor
             RouterID,
          rlOspfVirtLocalLsdbType
             INTEGER,
          rlOspfVirtLocalLsdbLsid
             IpAddress,
          rlOspfVirtLocalLsdbRouterId
             RouterID,
          rlOspfVirtLocalLsdbSequence
             Integer32,
          rlOspfVirtLocalLsdbAge
             Integer32,
          rlOspfVirtLocalLsdbChecksum
             Integer32,
          rlOspfVirtLocalLsdbAdvertisement
            OCTET STRING
          }

  rlOspfVirtLocalLsdbProcessId OBJECT-TYPE
       SYNTAX       Unsigned32
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rlOspfVirtLocalLsdbEntry 1 }

  rlOspfVirtLocalLsdbTransitArea OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The transit area that the virtual link
          traverses.  By definition, this is not 0.0.0.0."
       REFERENCE
          "OSPF Version 2, Appendix C.3 Interface parameters"
       ::= { rlOspfVirtLocalLsdbEntry 2 }

  rlOspfVirtLocalLsdbNeighbor OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The Router ID of the virtual neighbor."
       REFERENCE
          "OSPF Version 2, Appendix C.3 Interface parameters"
       ::= { rlOspfVirtLocalLsdbEntry 3 }

  rlOspfVirtLocalLsdbType OBJECT-TYPE
       SYNTAX       INTEGER  { localOpaqueLink (9) }
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The type of the link state advertisement.
          Each link state type has a separate
          advertisement format."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The Link State
          Advertisement header"
       ::= { rlOspfVirtLocalLsdbEntry 4 }

  rlOspfVirtLocalLsdbLsid OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The Link State ID is an LS Type Specific field
          containing a 32-bit identifier in IP address format;
          it identifies the piece of the routing domain
          that is being described by the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.4 Link State ID"
       ::= { rlOspfVirtLocalLsdbEntry 5 }

  rlOspfVirtLocalLsdbRouterId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The 32-bit number that uniquely identifies the
          originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
       ::= { rlOspfVirtLocalLsdbEntry 6 }

  rlOspfVirtLocalLsdbSequence OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The sequence number field is a signed 32-bit
          integer.  It starts with the value '80000001'h,
          or -'7FFFFFFF'h, and increments until '7FFFFFFF'h.
          Thus, a typical sequence number will be very negative.
          It is used to detect old and duplicate link state
          advertisements.  The space of sequence numbers is linearly
          ordered.  The larger the sequence number, the more recent
          the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.6 LS sequence
          number"
       ::= { rlOspfVirtLocalLsdbEntry 7 }

  rlOspfVirtLocalLsdbAge OBJECT-TYPE
       SYNTAX       Integer32 -- Should be 0..MaxAge, except when
                              -- doNotAge bit is set
       UNITS        "seconds"
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "This field is the age of the link state
          advertisement in seconds."
       REFERENCE
          "OSPF Version 2, Section 12.1.1 LS age"
       ::= { rlOspfVirtLocalLsdbEntry 8 }

  rlOspfVirtLocalLsdbChecksum OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "This field is the checksum of the complete
          contents of the advertisement, excepting the
          age field.  The age field is excepted so that
          an advertisement's age can be incremented
          without updating the checksum.  The checksum
          used is the same that is used for ISO
          connectionless datagrams; it is commonly
          referred to as the Fletcher checksum."
       REFERENCE
          "OSPF Version 2, Section 12.1.7 LS checksum"
       ::= { rlOspfVirtLocalLsdbEntry 9 }

  rlOspfVirtLocalLsdbAdvertisement OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE (1..65535))
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The entire link state advertisement, including
          its header."
       REFERENCE
          "OSPF Version 2, Section 12 Link State
          Advertisements.

          Note that for variable length LSAs, SNMP agents
          may not be able to return the largest string size."
       ::= { rlOspfVirtLocalLsdbEntry 10 }



------------------------------------------------------------------------------
--  OSPF Traps Control
------------------------------------------------------------------------------

rlOspfEnableTrapsOspfErrors OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "A bit mask indicating enable SNMP notifications for OSPF errors.

            Bit 0, if set, for authenticationFailure trap.
            enables only the ospfIfFailure trap.
            Allows SNMP notifications to be sent when a packet has been
            received on a nonvirtual interface from a neighbor router whose
            authentication key or authentication type conflicts with the
            authentication key or authentication type  of this router.

            Bit 1, if set, for badPacket trap.
                        enables only the ospfIfRxBadPacket trap. Allows SNMP
            notifications to be sent when an OSPF packet that has not been parsed
            has been received on a nonvirtual interface.

            Bit 2, if set, for configError trap.
            enables only the ospfIfConfigError trap. Sends SNMP
            notifications when a packet has been received in a nonvirtual interface
            from a neighbor router whose configuration parameters conflict with the
            configuration parameters of this router.

            Bit 3, if set, for virtAuthenticationFailure trap.
            enables only the ospfVirtIfFailure trap.
            Allows SNMP notifications to be sent when a packet has been received on
            a virtual interface from a neighbor router whose authentication key or
            authentication type conflicts with the authentication key or authentication
            type of this router.

            Bit 4, if set, for virtBadPacket trap.
            enables only the ospfVirtIfRxBadPacket trap. Allows SNMP
            notifications to be sent when an OSPF packet that has not been parsed
            has been received on a virtual interface.

            Bit 5, if set, for virtConfigError trap.
            enables only the ospfVirtIfConfigError trap. Sends SNMP
            notifications when a packet has been received in a virtual interface from
            a neighbor router whose configuration parameters conflict with the configuration
            parameters of this router."
      ::= { rlOspf 20 }

rlOspfEnableTrapsOspfLsa OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "A bit mask indicating enable SNMP notifications for OSPF LSA

            Bit 0, if set, for maxAgeLsa trap.
            enable the ospfMaxAgeLsa trap.

            Bit 1, if set, for originateLsa trap.
            enable the ospfOriginateLsa trap.

            When the originateLsa trap is enabled, it will not be invoked for
            simple LSA refreshes that take place every 30 minutes or when an LSA
            has reached its maximum age and is being flushed."
      ::= { rlOspf 21 }

rlOspfEnableTrapsOspfRateLimitSeconds OBJECT-TYPE
        SYNTAX   INTEGER
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "Sets the rate limit window size, in seconds. A number from 2 to 60.
           The default value is 10."
        DEFVAL { 10 }
      ::= { rlOspf 22 }

rlOspfEnableTrapsOspfRateLimitTrapNumber OBJECT-TYPE
        SYNTAX   INTEGER
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "Sets the maximum number of traps sent during the window time.
           A number from 0 to 300.
           The default number is 7."
        DEFVAL { 7 }
      ::= { rlOspf 23 }

rlOspfEnableTrapsOspfTransmit OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "A bit mask indicating enable SNMP notifications for OSPF transmit

            Bit 0, if set, for packets trap.
            enables  only the ospfTxRetransmit trap.
            Allows SNMP notifications to be sent when an OSPF packet has been
            re-sent on a nonvirtual interface.

            Bit 1, if set, for virtPackets trap.
            enables only the ospfVirtTxRetransmit trap.
            Allows SNMP notifications to be sent when an OSPF packet has been
            re-sent on a virtual interface."
      ::= { rlOspf 24 }

rlOspfEnableTrapsOspfStateChange OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "A bit mask indicating enable SNMP notifications for OSPF State Change.

            Bit 0, if set, for ifStateChange trap.
            only the ospfIfStateChange trap.
            Sends SNMP notifications when there has been a change in the state
            of a non-virtual OSPF interface.

            Bit 1, if set, for neighborStateChange trap.
            enables only the ospfNbrStateChange trap.
            Sends SNMP notifications when there has been a change in the state
            of a non-virtual OSPF neighbor.

            Bit 2, if set, for ospfVirtIfStateChange trap.
            only the ospfVirtIfStateChange trap.
            Sends SNMP notifications when there has been a change in the state
            of a virtual OSPF interface.

            Bit 3, if set, for ospfVirtNbrStateChange trap.
            enables only the ospfVirtNbrStateChange trap.
            Sends SNMP notifications when there has been a change in the state
            of a virtual OSPF neighbor."
      ::= { rlOspf 25 }



-- extensions

rlOspfExt OBJECT IDENTIFIER ::= { rlOspf 26 }


------------------------------------------------------------------------------
--  OSPF Router LSA Extention
------------------------------------------------------------------------------


------------------------------------------------------------------------------
--  OSPF Link State Database

--      The Link State Database contains the Link State
--      Advertisements from throughout the areas that the
--      device is attached to.

--  This table is defined per OSPF process to supports multi OSPF instance
------------------------------------------------------------------------------

  rlOspfBrRouterTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RlOspfBrRouterEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Router Link State Advertisement."
    ::= { rlOspfExt 1 }


  rlOspfBrRouterEntry OBJECT-TYPE
    SYNTAX      RlOspfBrRouterEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "A single entry from Router LSA."
    INDEX { rlOspfBrRouterProcessId,
            rlOspfBrRouterAreaId,
            rlOspfBrRouterRouterId,
            rlOspfBrRouterNextHopIp,
            rlOspfBrRouterOutIf
             }
       ::= { rlOspfBrRouterTable 1 }

  RlOspfBrRouterEntry ::=
    SEQUENCE {
        rlOspfBrRouterProcessId
            RlOspfProcessID,
        rlOspfBrRouterAreaId
            AreaID,
        rlOspfBrRouterRouterId
            RouterID,
        rlOspfBrRouterNextHopIp
            IpAddress,
        rlOspfBrRouterOutIf
            InterfaceIndexOrZero,
        rlOspfBrRouterRouteType
            INTEGER,
        rlOspfBrRouterRouteCost
            Unsigned32,
        rlOspfBrRouterRouterType
            INTEGER
  }


  rlOspfBrRouterProcessId OBJECT-TYPE
       SYNTAX   RlOspfProcessID
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { rlOspfBrRouterEntry 1 }

  rlOspfBrRouterAreaId OBJECT-TYPE
    SYNTAX      AreaID
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The 32 bit identifier of the Route Area."
    REFERENCE
       "OSPF Version 2, Appendix C.2 Area parameters"
  ::= { rlOspfBrRouterEntry 2 }

  rlOspfBrRouterRouterId OBJECT-TYPE
    SYNTAX      RouterID
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The 32 bit number that uniquely identifies the
        originating router in the Autonomous System."
    REFERENCE
       "OSPF Version 2, Appendix C.1 Global parameters"
  ::= { rlOspfBrRouterEntry 3 }

  rlOspfBrRouterNextHopIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The Hext Hop IP Address."
  ::= { rlOspfBrRouterEntry 4 }

  rlOspfBrRouterOutIf OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The outgoing interface toward the destination."
  ::= { rlOspfBrRouterEntry 5 }


  rlOspfBrRouterRouteType OBJECT-TYPE
    SYNTAX       INTEGER {
                          intra(1),
                          inter(2)
                          }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "intra is intra-area route. inter is inter-area route."
  ::= { rlOspfBrRouterEntry 6 }

  rlOspfBrRouterRouteCost OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Cost of using this route."
  ::= { rlOspfBrRouterEntry 7 }


  rlOspfBrRouterRouterType OBJECT-TYPE
    SYNTAX       INTEGER {
                          abr(1),
                          asbr(2),
                          both(3)
                          }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The border router type: ABR, ASBR or both ABR and ASBR."
  ::= { rlOspfBrRouterEntry 8 }



END
