RAISECOM-OSPF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
    Integer32, Unsigned32, IpAddress, mib-2
                 FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue, RowStatus, TimeStamp
                 FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
                 FROM SNMPv2-CONF
    InterfaceIndexOrZero
                 FROM IF-MIB
    iscomSwitch FROM RAISECOM-BASE-MIB;

rcOspf MODULE-IDENTITY
       LAST-UPDATED "200611100000Z" -- November 10, 2006 00:00:00 EST
       ORGANIZATION "Raisecom, Inc."
       CONTACT-INFO
       "Raisecom Systems

        Editors:   Dan Joyal
                   Nortel
                   600 Technology Park Drive
                   Billerica, MA  01821
                   djoyal@nortel.com

                   Piotr Galecki
                   Airvana
                   19 Alpha Road
                   Chelmsford, MA 01824
                   pgalecki@airvana.com

                   Spencer Giacalone
                   CSFB
                   Eleven Madison Ave
                   New York, NY 10010-3629
                   spencer.giacalone@gmail.com"

       DESCRIPTION
          "The MIB module to describe the OSPF Version 2
          Protocol.  Note that some objects in this MIB
          module may pose a significant security risk.
          Refer to the Security Considerations section
          in RFC 4750 for more information.





          Copyright (C) The IETF Trust (2006).
          This version of this MIB module is part of
          RFC 4750;  see the RFC itself for full legal
          notices."

       REVISION "200611100000Z" -- November 10, 2006 09:00:00 EST
       DESCRIPTION
         "Updated for latest changes to OSPF Version 2:
          - updated the General Group with the new
            ospfRFC1583Compatibility, ospfReferenceBandwidth
            and ospfDiscontinuityTime objects
          - added graceful-restart-related objects
          - added stub-router-related objects
          - updated the Area Table with NSSA-related objects
          - added ospfAreaAggregateExtRouteTag object
          - added Opaque LSA-related objects
          - updates to the Compliances and Security sections
          - added area LSA counter table
          - added section describing translation of notification
            parameters between SNMP versions
          - added ospfComplianceObsolete to contain obsolete
            object groups
          - deprecated ospfExtLsdbTable
          See Appendix B of RFC 4750 for more details.

          This version published as part of RFC 4750"

       REVISION "199501201225Z" -- Fri Jan 20 12:25:50 PST 1995
       DESCRIPTION
          "The initial SMIv2 revision of this MIB module, published
          in RFC 1850."
       ::= { iscomSwitch 79 }

AreaID ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
          "An OSPF Area Identifier.
           Note that the Area ID, in OSPF, has the same format
           as an IP address, but has the function of defining
           a summarization point for link state advertisements."
       SYNTAX       IpAddress

RouterID ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
          "A OSPF Router Identifier.
           Note that the Router ID, in OSPF, has the same format
           as an IP address, but identifies the router independent





           of its IP address."
       SYNTAX       IpAddress

Metric ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d-0"
       STATUS       current
       DESCRIPTION
          "The OSPF internal metric.
           Note that the OSPF metric is defined as an unsigned value
           in the range."
       SYNTAX       Integer32 (0..'FFFF'h)

BigMetric ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d-0"
       STATUS       current
       DESCRIPTION
          "The OSPF external metric."
       SYNTAX       Integer32 (0..'FFFFFF'h)

Status ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
          "An indication of the operability of an OSPF
          function or feature.  For example, the status
          of an interface: 'enabled' indicates that
          it is willing to communicate with other OSPF routers,
          and 'disabled' indicates that it is not."
       SYNTAX       INTEGER { enabled (1), disabled (2) }

PositiveInteger ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d-0"
       STATUS       current
       DESCRIPTION
          "A positive integer.  Values in excess are precluded as
          unnecessary and prone to interoperability issues."
       SYNTAX       Integer32 (0..'7FFFFFFF'h)

HelloRange ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d-0"
       STATUS       current
       DESCRIPTION
          "The range of intervals in seconds on which Hello messages
          are exchanged."
       SYNTAX       Integer32 (1..'FFFF'h)

UpToMaxAge ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d-0"
       STATUS       current





       DESCRIPTION
          "The values in seconds that one might find or configure
          for variables bounded by the maximum age of an LSA."
       SYNTAX       Integer32 (0..3600)

DesignatedRouterPriority ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d-0"
       STATUS       current
       DESCRIPTION
          "The range of values defined for the priority of a system
          for becoming the designated router."
       SYNTAX       Integer32 (0..'FF'h)

TOSType ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d-0"
       STATUS      current
       DESCRIPTION
        "Type of Service (TOS) is defined as a mapping to the IP
        Type of Service Flags as defined in the IP Forwarding
        Table MIB

            +-----+-----+-----+-----+-----+-----+-----+-----+
            |                 |                       |     |
            |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
            |                 |                       |     |
            +-----+-----+-----+-----+-----+-----+-----+-----+

                     IP TOS                IP TOS
                Field     Policy      Field     Policy

                Contents    Code      Contents    Code
                0 0 0 0  ==>   0      0 0 0 1  ==>   2
                0 0 1 0  ==>   4      0 0 1 1  ==>   6
                0 1 0 0  ==>   8      0 1 0 1  ==>  10
                0 1 1 0  ==>  12      0 1 1 1  ==>  14
                1 0 0 0  ==>  16      1 0 0 1  ==>  18
                1 0 1 0  ==>  20      1 0 1 1  ==>  22
                1 1 0 0  ==>  24      1 1 0 1  ==>  26
                1 1 1 0  ==>  28      1 1 1 1  ==>  30

         The remaining values are left for future definition."
           SYNTAX       Integer32 (0..30)

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

--  OSPF General Variables

--      Note: These parameters apply globally to the Router's
--      OSPF Process.

rcOspfGeneralGroup OBJECT IDENTIFIER ::= { rcOspf 1 }

  rcOspfRouterId 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"
       ::= { rcOspfGeneralGroup 1 }

  rcOspfAdminStat 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."
       ::= { rcOspfGeneralGroup 2 }

  rcOspfVersionNumber 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"
       ::= { rcOspfGeneralGroup 3 }

  rcOspfAreaBdrRtrStatus 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"
       ::= { rcOspfGeneralGroup 4 }

  rcOspfASBdrRtrStatus 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"
       ::= { rcOspfGeneralGroup 5 }

  rcOspfExternLsaCount 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"
        ::= { rcOspfGeneralGroup 6 }

  rcOspfExternLsaCksumSum 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."
        ::= { rcOspfGeneralGroup 7 }

  rcOspfTOSSupport 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"
       ::= { rcOspfGeneralGroup 8 }

   rcOspfOriginateNewLsas 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."
        ::= { rcOspfGeneralGroup 9 }

  rcOspfRxNewLsas 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."
       ::= { rcOspfGeneralGroup 10 }

  rcOspfExtLsdbLimit 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
          ospfExtLsdbLimit, the router enters
          overflow state.  The router never holds more than
          ospfExtLsdbLimit 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 }
        ::= { rcOspfGeneralGroup 11 }

  rcOspfMulticastExtensions 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 }
       ::= { rcOspfGeneralGroup 12 }

  rcOspfExitOverflowInterval 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 }
       ::= { rcOspfGeneralGroup 13 }

  rcOspfDemandExtensions 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"
       ::= { rcOspfGeneralGroup 14 }

  rcOspfRFC1583Compatibility  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"
        ::= { rcOspfGeneralGroup 15 }

 rcOspfOpaqueLsaSupport  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"
       ::= { rcOspfGeneralGroup 16 }

  rcOspfReferenceBandwidth OBJECT-TYPE
       SYNTAX       Unsigned32
       UNITS        "kilobits per second"
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "Reference bandwidth in kilobits/second for





          calculating default interface metrics.  The
          default value is 100,000 KBPS (100 MBPS).

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

  rcOspfRestartSupport 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."
       ::= { rcOspfGeneralGroup 18 }

  rcOspfRestartInterval 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."
       ::= { rcOspfGeneralGroup 19 }

  rcOspfRestartStrictLsaChecking 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."
       ::= { rcOspfGeneralGroup 20 }


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

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

  rcOspfRestartExitReason 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."
       ::= { rcOspfGeneralGroup 23 }

  rcOspfAsLsaCount 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."
       ::= { rcOspfGeneralGroup 24 }

  rcOspfAsLsaCksumSum 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."
       ::= { rcOspfGeneralGroup 25 }

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

   rcOspfStubRouterAdvertisement 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."
       ::= { rcOspfGeneralGroup 27 }

  rcOspfDiscontinuityTime 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."
      ::= { rcOspfGeneralGroup 28 }


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

  rcOspfAreaTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfAreaEntry
       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"
       ::= { rcOspf 2 }

  rcOspfAreaEntry OBJECT-TYPE
       SYNTAX       rcOspfAreaEntry
       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 { rcOspfAreaId, rcOspfAreaApplIndex }
       ::= { rcOspfAreaTable 1 }






  rcOspfAreaEntry ::=
        SEQUENCE {
           rcOspfAreaId
              AreaID,
           rcOspfAuthType
              INTEGER,
           rcOspfImportAsExtern
              INTEGER,
           rcOspfSpfRuns
              Counter32,
           rcOspfAreaBdrRtrCount
              Gauge32,
           rcOspfAsBdrRtrCount
              Gauge32,
           rcOspfAreaLsaCount
              Gauge32,
           rcOspfAreaLsaCksumSum
              Integer32,
           rcOspfAreaSummary
              INTEGER,
           rcOspfAreaStatus
              RowStatus,
           rcOspfAreaNssaTranslatorRole
              INTEGER,
           rcOspfAreaNssaTranslatorState
              INTEGER,
           rcOspfAreaNssaTranslatorStabilityInterval
              PositiveInteger,
           rcOspfAreaNssaTranslatorEvents
              Counter32,
           rcOspfAreaApplIndex
              Gauge32,
           rcOspfAreaAuthKey
             OCTET STRING,
           rcOspfAreaAuthKeyId
             INTEGER
           }

  rcOspfAreaId 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"
       ::= { rcOspfAreaEntry 1 }

  rcOspfAuthType OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-create
       STATUS       obsolete





       DESCRIPTION
          "The authentication type specified for an area."
       REFERENCE
          "OSPF Version 2, Appendix D Authentication"
       DEFVAL { none } -- no authentication, by default
       ::= { rcOspfAreaEntry 2 }

  rcOspfImportAsExtern 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 }
       ::= { rcOspfAreaEntry 3 }

  rcOspfSpfRuns 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."
       ::= { rcOspfAreaEntry 4 }

  rcOspfAreaBdrRtrCount 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."





       ::= { rcOspfAreaEntry 5 }

  rcOspfAsBdrRtrCount 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."
       ::= { rcOspfAreaEntry 6 }

  rcOspfAreaLsaCount 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."
       ::= { rcOspfAreaEntry 7 }

  rcOspfAreaLsaCksumSum 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 }
       ::= { rcOspfAreaEntry 8 }

  rcOspfAreaSummary 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 }
       ::= { rcOspfAreaEntry 9 }

  rcOspfAreaStatus 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."
       ::= { rcOspfAreaEntry 10 }

  rcOspfAreaNssaTranslatorRole 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 }
       ::= { rcOspfAreaEntry 11 }

  rcOspfAreaNssaTranslatorState 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."
       ::= { rcOspfAreaEntry 12 }

  rcOspfAreaNssaTranslatorStabilityInterval 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 }
       ::= { rcOspfAreaEntry 13 }

  rcOspfAreaNssaTranslatorEvents 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."
       ::= { rcOspfAreaEntry 14 }
       
  rcOspfAreaApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfAreaEntry 15 }
       
  rcOspfAreaAuthKey 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, ospfIfAuthKey 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
       ::= { rcOspfAreaEntry 16 }
       
	rcOspfAreaAuthKeyId OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "OSPF md5 key id, only valid when authtype is md5."
       ::= { rcOspfAreaEntry 17 }
       
--  OSPF Area Default Metric Table

  rcOspfStubAreaTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfStubAreaEntry
       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"
       ::= { rcOspf 3 }

  rcOspfStubAreaEntry OBJECT-TYPE
       SYNTAX       rcOspfStubAreaEntry





       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 { rcOspfStubAreaId, rcOspfStubTOS, rcOspfStubApplIndex }
       ::= { rcOspfStubAreaTable 1 }

  rcOspfStubAreaEntry ::=
       SEQUENCE {
          rcOspfStubAreaId
             AreaID,
          rcOspfStubTOS
             TOSType,
          rcOspfStubMetric
             BigMetric,
          rcOspfStubStatus
             RowStatus,
          rcOspfStubMetricType
             INTEGER,
          rcOspfStubApplIndex
             Gauge32
          }

  rcOspfStubAreaId 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."
       ::= { rcOspfStubAreaEntry 1 }

  rcOspfStubTOS 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."
       ::= { rcOspfStubAreaEntry 2 }

  rcOspfStubMetric 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."
       ::= { rcOspfStubAreaEntry 3 }

  rcOspfStubStatus 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."
       ::= { rcOspfStubAreaEntry 4 }

  rcOspfStubMetricType 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 }
       ::= { rcOspfStubAreaEntry 5 }

  rcOspfStubApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfStubAreaEntry 6 }
--  OSPF Link State Database

  rcOspfLsdbTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfLsdbEntry
       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"
       ::= { rcOspf 4 }

  rcOspfLsdbEntry OBJECT-TYPE
       SYNTAX   rcOspfLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "A single link state advertisement."
       INDEX { rcOspfLsdbAreaId, rcOspfLsdbType,
               rcOspfLsdbLsid, rcOspfLsdbRouterId, rcOspfLsdbApplIndex }
       ::= { rcOspfLsdbTable 1 }

  rcOspfLsdbEntry ::=
       SEQUENCE {
          rcOspfLsdbAreaId
             AreaID,
          rcOspfLsdbType
             INTEGER,
          rcOspfLsdbLsid
             IpAddress,
          rcOspfLsdbRouterId
             RouterID,
          rcOspfLsdbSequence
             Integer32,
          rcOspfLsdbAge
             Integer32,
          rcOspfLsdbChecksum
             Integer32,
          rcOspfLsdbAdvertisement
             OCTET STRING,
          rcOspfLsdbApplIndex
             Gauge32
          }

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





       ::= { rcOspfLsdbEntry 1 }

  rcOspfLsdbType 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"
       ::= { rcOspfLsdbEntry 2 }

  rcOspfLsdbLsid 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"
       ::= { rcOspfLsdbEntry 3 }

  rcOspfLsdbRouterId 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"
       ::= { rcOspfLsdbEntry 4 }

  rcOspfLsdbSequence 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"
       ::= { rcOspfLsdbEntry 5 }

  rcOspfLsdbAge 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"
       ::= { rcOspfLsdbEntry 6 }

  rcOspfLsdbChecksum 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"
        ::= { rcOspfLsdbEntry 7 }

  rcOspfLsdbAdvertisement 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"
       ::= { rcOspfLsdbEntry 8 }
  rcOspfLsdbApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfLsdbEntry 9 }

--  Address Range Table

  rcOspfAreaRangeTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfAreaRangeEntry
       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"
       ::= { rcOspf 5 }

  rcOspfAreaRangeEntry OBJECT-TYPE
       SYNTAX       rcOspfAreaRangeEntry
       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 { rcOspfAreaRangeAreaId, rcOspfAreaRangeNet }
       ::= { rcOspfAreaRangeTable 1 }

  rcOspfAreaRangeEntry ::=
       SEQUENCE {
          rcOspfAreaRangeAreaId
             AreaID,
          rcOspfAreaRangeNet
             IpAddress,
          rcOspfAreaRangeMask
             IpAddress,
          rcOspfAreaRangeStatus
             RowStatus,
          rcOspfAreaRangeEffect
             INTEGER
          }

  rcOspfAreaRangeAreaId 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"
       ::= { rcOspfAreaRangeEntry 1 }

  rcOspfAreaRangeNet 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"
       ::= { rcOspfAreaRangeEntry 2 }






  rcOspfAreaRangeMask 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"
       ::= { rcOspfAreaRangeEntry 3 }

  rcOspfAreaRangeStatus 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."
       ::= { rcOspfAreaRangeEntry 4 }

  rcOspfAreaRangeEffect 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 }
       ::= { rcOspfAreaRangeEntry 5 }

--  OSPF Host Table

  rcOspfHostTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfHostEntry
       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"
       ::= { rcOspf 6 }

  rcOspfHostEntry OBJECT-TYPE
       SYNTAX       rcOspfHostEntry
       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 { rcOspfHostIpAddress, rcOspfHostTOS, rcOspfHostApplIndex }
       ::= { rcOspfHostTable 1 }

  rcOspfHostEntry ::=
       SEQUENCE {
          rcOspfHostIpAddress
             IpAddress,
          rcOspfHostTOS
             TOSType,
          rcOspfHostMetric
             Metric,
          rcOspfHostStatus
             RowStatus,
          rcOspfHostAreaID
             AreaID,
          rcOspfHostCfgAreaID
             AreaID,
          rcOspfHostApplIndex
             Gauge32
          }

  rcOspfHostIpAddress 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"
       ::= { rcOspfHostEntry 1 }





  rcOspfHostTOS 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"
       ::= { rcOspfHostEntry 2 }

  rcOspfHostMetric 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"
       ::= { rcOspfHostEntry 3 }

  rcOspfHostStatus 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."
       ::= { rcOspfHostEntry 4 }

  rcOspfHostAreaID 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"
       ::= { rcOspfHostEntry 5 }

  rcOspfHostCfgAreaID 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"
       ::= { rcOspfHostEntry 6 }
  rcOspfHostApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfHostEntry 7 }

--  OSPF Interface Table

  rcOspfIfTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfIfEntry
       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"
       ::= { rcOspf 7 }

  rcOspfIfEntry OBJECT-TYPE
       SYNTAX       rcOspfIfEntry
       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 { rcOspfIfIpAddress, rcOspfAddressLessIf, rcOspfIfApplIndex  }
       ::= { rcOspfIfTable 1 }

  rcOspfIfEntry ::=
       SEQUENCE {
          rcOspfIfIpAddress
             IpAddress,
          rcOspfAddressLessIf
             InterfaceIndexOrZero,
          rcOspfIfApplIndex 
	           INTEGER,
          rcOspfIfAreaId
             AreaID,
          rcOspfIfType
             INTEGER,
          rcOspfIfAdminStat
             Status,
          rcOspfIfRtrPriority
             DesignatedRouterPriority,
          rcOspfIfTransitDelay
             UpToMaxAge,
          rcOspfIfRetransInterval
             UpToMaxAge,
          rcOspfIfHelloInterval
             HelloRange,
          rcOspfIfRtrDeadInterval
             PositiveInteger,
          rcOspfIfPollInterval
             PositiveInteger,
          rcOspfIfState
             INTEGER,
          rcOspfIfDesignatedRouter
             IpAddress,
          rcOspfIfBackupDesignatedRouter
             IpAddress,
          rcOspfIfEvents
             Counter32,
          rcOspfIfAuthKey
             OCTET STRING,
          rcOspfIfStatus
             RowStatus,
          rcOspfIfMulticastForwarding
             INTEGER,
          rcOspfIfDemand
             TruthValue,
          rcOspfIfAuthType
             INTEGER,
          rcOspfIfLsaCount
             Gauge32,
          rcOspfIfLsaCksumSum
             Unsigned32,
          rcOspfIfDesignatedRouterId
             RouterID,
          rcOspfIfBackupDesignatedRouterId 
             RouterID,
          rcOspfIfPassive
             TruthValue,
          rcOspfIfMtuIgnore
             TruthValue,
          rcOspfIfAuthKeyId
             INTEGER,          
          }

  rcOspfIfIpAddress 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."





       ::= { rcOspfIfEntry 1 }

  rcOspfAddressLessIf 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."
       ::= { rcOspfIfEntry 2 }
       
  rcOspfIfApplIndex OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfIfEntry 3 }

  rcOspfIfAreaId 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
       ::= { rcOspfIfEntry 4 }

  rcOspfIfType OBJECT-TYPE
       SYNTAX       INTEGER {
                       broadcast (1),
                       nbma (2),
                       pointToPoint (3),
                       pointToMultipoint (5)
                       }
       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'."
        ::= { rcOspfIfEntry 5 }

  rcOspfIfAdminStat 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 }
       ::= { rcOspfIfEntry 6 }

  rcOspfIfRtrPriority 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 }
        ::= { rcOspfIfEntry 7 }

  rcOspfIfTransitDelay OBJECT-TYPE
        SYNTAX       UpToMaxAge
        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 }
        ::= { rcOspfIfEntry 8 }

  rcOspfIfRetransInterval OBJECT-TYPE
       SYNTAX       UpToMaxAge
       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 }
       ::= { rcOspfIfEntry 9 }

  rcOspfIfHelloInterval 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 }
       ::= { rcOspfIfEntry 10 }

  rcOspfIfRtrDeadInterval OBJECT-TYPE
       SYNTAX       PositiveInteger
       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 }
        ::= { rcOspfIfEntry 11 }

  rcOspfIfPollInterval OBJECT-TYPE
       SYNTAX       PositiveInteger
       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 }
       ::= { rcOspfIfEntry 12 }

  rcOspfIfState 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 }
       ::= { rcOspfIfEntry 13 }

  rcOspfIfDesignatedRouter 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
       ::= { rcOspfIfEntry 14 }

  rcOspfIfBackupDesignatedRouter 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
       ::= { rcOspfIfEntry 15 }

  rcOspfIfEvents 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."
       ::= { rcOspfIfEntry 16 }

  rcOspfIfAuthKey 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, ospfIfAuthKey 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
       ::= { rcOspfIfEntry 17 }

  rcOspfIfStatus 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."
       ::= { rcOspfIfEntry 18 }

  rcOspfIfMulticastForwarding 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 }
       ::= { rcOspfIfEntry 19 }

  rcOspfIfDemand 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 }
       ::= { rcOspfIfEntry 20 }

  rcOspfIfAuthType OBJECT-TYPE
       SYNTAX       INTEGER
       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
       ::= { rcOspfIfEntry 21 }

  rcOspfIfLsaCount 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."
       ::= { rcOspfIfEntry 22 }





  rcOspfIfLsaCksumSum 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."
       ::= { rcOspfIfEntry 23 }

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

  rcOspfIfBackupDesignatedRouterId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The Router ID of the backup designated router."
       ::= { rcOspfIfEntry 25 }
       
  rcOspfIfPassive OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "Indicates whether this interface is a passive interface."
       ::= { rcOspfIfEntry 26 }
       
  rcOspfIfMtuIgnore OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "This object controls whether OSPF checks the MTU size on incoming Database Description packets."
       ::= { rcOspfIfEntry 27 }
       
	rcOspfIfAuthKeyId OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "OSPF md5 key id, only valid when authtype is md5."
       ::= { rcOspfIfEntry 28 }

--  OSPF Interface Metric Table

  rcOspfIfMetricTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfIfMetricEntry
       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"
       ::= { rcOspf 8 }

  rcOspfIfMetricEntry OBJECT-TYPE
       SYNTAX       rcOspfIfMetricEntry
       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 { rcOspfIfMetricIpAddress,
          rcOspfIfMetricAddressLessIf,
          rcOspfIfMetricTOS,
          rcOspfIfMetricApplIndex }
       ::= { rcOspfIfMetricTable 1 }






  rcOspfIfMetricEntry ::=
       SEQUENCE {
          rcOspfIfMetricIpAddress
             IpAddress,
          rcOspfIfMetricAddressLessIf
             InterfaceIndexOrZero,
          rcOspfIfMetricTOS
             TOSType,
          rcOspfIfMetricValue
             Metric,
          rcOspfIfMetricStatus
             RowStatus,
          rcOspfIfMetricApplIndex
	           Gauge32
          }

  rcOspfIfMetricIpAddress 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."
       ::= { rcOspfIfMetricEntry 1 }

  rcOspfIfMetricAddressLessIf 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."
        ::= { rcOspfIfMetricEntry 2 }

  rcOspfIfMetricTOS 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."
       ::= { rcOspfIfMetricEntry 3 }





  rcOspfIfMetricValue 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."
       ::= { rcOspfIfMetricEntry 4 }

  rcOspfIfMetricStatus 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."
       ::= { rcOspfIfMetricEntry 5 }
  rcOspfIfMetricApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfIfMetricEntry 6 }

--  OSPF Virtual Interface Table

  rcOspfVirtIfTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfVirtIfEntry
       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"
       ::= { rcOspf 9 }

  rcOspfVirtIfEntry OBJECT-TYPE
       SYNTAX       rcOspfVirtIfEntry
       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 { rcOspfVirtIfAreaId, rcOspfVirtIfNeighbor, rcOspfVirtIfApplIndex }
       ::= { rcOspfVirtIfTable 1 }

  rcOspfVirtIfEntry ::=
       SEQUENCE {
          rcOspfVirtIfAreaId
             AreaID,
          rcOspfVirtIfNeighbor
             RouterID,
          rcOspfVirtIfTransitDelay
             UpToMaxAge,
          rcOspfVirtIfRetransInterval
             UpToMaxAge,
          rcOspfVirtIfHelloInterval
             HelloRange,
          rcOspfVirtIfRtrDeadInterval
             PositiveInteger,
          rcOspfVirtIfState
             INTEGER,
          rcOspfVirtIfEvents
             Counter32,
          rcOspfVirtIfAuthKey
             OCTET STRING,
          rcOspfVirtIfStatus
             RowStatus,
          rcOspfVirtIfAuthType
             INTEGER,
          rcOspfVirtIfLsaCount
             Gauge32,
          rcOspfVirtIfLsaCksumSum
             Unsigned32,
          rcOspfVirtIfApplIndex
	           Gauge32
          }

  rcOspfVirtIfAreaId 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."
       ::= { rcOspfVirtIfEntry 1 }

  rcOspfVirtIfNeighbor 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."
       ::= { rcOspfVirtIfEntry 2 }

  rcOspfVirtIfTransitDelay OBJECT-TYPE
       SYNTAX       UpToMaxAge
       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 }
       ::= { rcOspfVirtIfEntry 3 }

  rcOspfVirtIfRetransInterval OBJECT-TYPE
       SYNTAX       UpToMaxAge
       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 }
       ::= { rcOspfVirtIfEntry 4 }

  rcOspfVirtIfHelloInterval 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 }
       ::= { rcOspfVirtIfEntry 5 }

  rcOspfVirtIfRtrDeadInterval OBJECT-TYPE





       SYNTAX       PositiveInteger
       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 }
       ::= { rcOspfVirtIfEntry 6 }

  rcOspfVirtIfState OBJECT-TYPE
       SYNTAX       INTEGER {
                       down (1), -- these use the same encoding
                       pointToPoint (4) -- as the ospfIfTable
                       }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "rcOspf virtual interface states."
       DEFVAL { down }
       ::= { rcOspfVirtIfEntry 7 }

  rcOspfVirtIfEvents 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."
       ::= { rcOspfVirtIfEntry 8 }

  rcOspfVirtIfAuthKey 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, ospfIfAuthKey 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
       ::= { rcOspfVirtIfEntry 9 }

  rcOspfVirtIfStatus 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."
        ::= { rcOspfVirtIfEntry 10 }

  rcOspfVirtIfAuthType OBJECT-TYPE
       SYNTAX       INTEGER
       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





       ::= { rcOspfVirtIfEntry 11 }

  rcOspfVirtIfLsaCount 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."
       ::= { rcOspfVirtIfEntry 12 }

  rcOspfVirtIfLsaCksumSum 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."
       ::= { rcOspfVirtIfEntry 13 }

  rcOspfVirtIfApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfVirtIfEntry 14 }
--  OSPF Neighbor Table

  rcOspfNbrTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfNbrEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "A table describing all non-virtual neighbors
          in the locality of the OSPF router."
       REFERENCE
          "OSPF Version 2, Section 10 The Neighbor Data
          Structure"
       ::= { rcOspf 10 }

  rcOspfNbrEntry OBJECT-TYPE
       SYNTAX       rcOspfNbrEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The information regarding a single neighbor.

          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, Section 10 The Neighbor Data
          Structure"
       INDEX { rcOspfNbrIpAddr, rcOspfNbrAddressLessIndex, rcOspfNbrApplIndex }
       ::= { rcOspfNbrTable 1 }

  rcOspfNbrEntry ::=
       SEQUENCE {
          rcOspfNbrIpAddr
             IpAddress,
          rcOspfNbrAddressLessIndex
             InterfaceIndexOrZero,
          rcOspfNbrRtrId
             RouterID,
          rcOspfNbrOptions
             Integer32,
          rcOspfNbrPriority
             DesignatedRouterPriority,
          rcOspfNbrState
             INTEGER,
          rcOspfNbrEvents
             Counter32,
          rcOspfNbrLsRetransQLen
             Gauge32,
          rcOspfNbmaNbrStatus
             RowStatus,
          rcOspfNbmaNbrPermanence
             INTEGER,
          rcOspfNbrHelloSuppressed
             TruthValue,
          rcOspfNbrRestartHelperStatus
             INTEGER,
          rcOspfNbrRestartHelperAge
             Unsigned32,
          rcOspfNbrRestartHelperExitReason
             INTEGER,
          rcOspfNbrApplIndex
	           Gauge32
          }

  rcOspfNbrIpAddr 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."
       ::= { rcOspfNbrEntry 1 }

   rcOspfNbrAddressLessIndex 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."
        ::= { rcOspfNbrEntry 2 }

  rcOspfNbrRtrId 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."
       DEFVAL { '00000000'H } -- 0.0.0.0
       ::= { rcOspfNbrEntry 3 }

  rcOspfNbrOptions 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"
       DEFVAL { 0 }
       ::= { rcOspfNbrEntry 4 }

   rcOspfNbrPriority OBJECT-TYPE
       SYNTAX       DesignatedRouterPriority
       MAX-ACCESS   read-create
       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."

       DEFVAL { 1 }
       ::= { rcOspfNbrEntry 5 }

   rcOspfNbrState 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"
         DEFVAL { down }
         ::= { rcOspfNbrEntry 6 }

  rcOspfNbrEvents 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."
       ::= { rcOspfNbrEntry 7 }

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

  rcOspfNbmaNbrStatus 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."
       ::= { rcOspfNbrEntry 9 }

  rcOspfNbmaNbrPermanence 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."
       DEFVAL { permanent }
       ::= { rcOspfNbrEntry 10 }

   rcOspfNbrHelloSuppressed OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-only





       STATUS       current
       DESCRIPTION
          "Indicates whether Hellos are being suppressed
          to the neighbor."
       ::= { rcOspfNbrEntry 11 }

  rcOspfNbrRestartHelperStatus 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."
          ::= { rcOspfNbrEntry 12 }

  rcOspfNbrRestartHelperAge 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."
       ::= { rcOspfNbrEntry 13 }

  rcOspfNbrRestartHelperExitReason 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."
       ::= { rcOspfNbrEntry 14 }
       
  rcOspfNbrApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfNbrEntry 15 }       

--  OSPF Virtual Neighbor Table






  rcOspfVirtNbrTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfVirtNbrEntry
       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"
       ::= { rcOspf 11 }

  rcOspfVirtNbrEntry OBJECT-TYPE
       SYNTAX       rcOspfVirtNbrEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "Virtual neighbor information."
       INDEX { rcOspfVirtNbrArea, rcOspfVirtNbrRtrId, rcOspfVirtNbrApplIndex }
       ::= { rcOspfVirtNbrTable 1 }

  rcOspfVirtNbrEntry ::=
       SEQUENCE {
          rcOspfVirtNbrArea
             AreaID,
          rcOspfVirtNbrRtrId
             RouterID,
          rcOspfVirtNbrIpAddr
             IpAddress,
          rcOspfVirtNbrOptions
             Integer32,
          rcOspfVirtNbrState
             INTEGER,
          rcOspfVirtNbrEvents
             Counter32,
          rcOspfVirtNbrLsRetransQLen
             Gauge32,
          rcOspfVirtNbrHelloSuppressed
             TruthValue,
          rcOspfVirtNbrRestartHelperStatus
             INTEGER,
          rcOspfVirtNbrRestartHelperAge
             Unsigned32,
          rcOspfVirtNbrRestartHelperExitReason
             INTEGER,
          rcOspfVirtNbrApplIndex
	           Gauge32
          }

  rcOspfVirtNbrArea OBJECT-TYPE





       SYNTAX       AreaID
       MAX-ACCESS   read-only -- read-only since originally an
                              -- SMIv1 index
       STATUS       current
       DESCRIPTION
          "The Transit Area Identifier."
       ::= { rcOspfVirtNbrEntry 1 }

  rcOspfVirtNbrRtrId 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."
       ::= { rcOspfVirtNbrEntry 2 }

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

  rcOspfVirtNbrOptions 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."
       ::= { rcOspfVirtNbrEntry 4 }

   rcOspfVirtNbrState 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."
       ::= { rcOspfVirtNbrEntry 5 }

  rcOspfVirtNbrEvents 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."
       ::= { rcOspfVirtNbrEntry 6 }

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

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

  rcOspfVirtNbrRestartHelperStatus 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."
       ::= { rcOspfVirtNbrEntry 9 }

  rcOspfVirtNbrRestartHelperAge 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."
       ::= { rcOspfVirtNbrEntry 10 }

  rcOspfVirtNbrRestartHelperExitReason 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."
       ::= { rcOspfVirtNbrEntry 11 }

  rcOspfVirtNbrApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfVirtNbrEntry 12 }
--  OSPF Link State Database, External

  rcOspfExtLsdbTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfExtLsdbEntry
       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"
       ::= { rcOspf 12 }

  rcOspfExtLsdbEntry OBJECT-TYPE
       SYNTAX       rcOspfExtLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       deprecated
       DESCRIPTION
          "A single link state advertisement."
       INDEX { rcOspfExtLsdbType, rcOspfExtLsdbLsid, rcOspfExtLsdbRouterId, rcOspfExtLsdbApplIndex }
       ::= { rcOspfExtLsdbTable 1 }

  rcOspfExtLsdbEntry ::=
       SEQUENCE {
          rcOspfExtLsdbType
             INTEGER,
          rcOspfExtLsdbLsid
             IpAddress,
          rcOspfExtLsdbRouterId
             RouterID,
          rcOspfExtLsdbSequence
             Integer32,
          rcOspfExtLsdbAge
             Integer32,
          rcOspfExtLsdbChecksum
             Integer32,
          rcOspfExtLsdbAdvertisement
             OCTET STRING,
          rcOspfExtLsdbApplIndex
	           Gauge32
          }

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

       ::= { rcOspfExtLsdbEntry 1 }

  rcOspfExtLsdbLsid 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"
       ::= { rcOspfExtLsdbEntry 2 }

  rcOspfExtLsdbRouterId 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"
       ::= { rcOspfExtLsdbEntry 3 }

  rcOspfExtLsdbSequence 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"
       ::= { rcOspfExtLsdbEntry 4 }





  rcOspfExtLsdbAge 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"
       ::= { rcOspfExtLsdbEntry 5 }

  rcOspfExtLsdbChecksum 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"
       ::= { rcOspfExtLsdbEntry 6 }

  rcOspfExtLsdbAdvertisement 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"
       ::= { rcOspfExtLsdbEntry 7 }

  rcOspfExtLsdbApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfExtLsdbEntry 8 }
       
--  OSPF Use of the CIDR Route Table

  rcOspfRouteGroup    OBJECT IDENTIFIER ::= { rcOspf 13 }

--     The IP Forwarding Table defines a number of objects for use by
--     the routing protocol to externalize its information.  Most of





--     the variables (ipForwardDest, ipForwardMask, ipForwardPolicy,
--     ipForwardNextHop, ipForwardIfIndex, ipForwardType,
--     ipForwardProto, ipForwardAge, and ipForwardNextHopAS) are
--     defined there.

--     Those that leave some discretion are defined here.

--     ipCidrRouteProto is, of course, rcOspf (13).

--     ipCidrRouteAge is the time since the route was first
--     calculated, as opposed to the time since the last SPF run.
--     ipCidrRouteInfo is an OBJECT IDENTIFIER for use by the routing
--     protocol.  The following values shall be found there depending
--     on the way the route was calculated.

  rcOspfIntraArea      OBJECT IDENTIFIER ::= { rcOspfRouteGroup 1 }
  rcOspfInterArea      OBJECT IDENTIFIER ::= { rcOspfRouteGroup 2 }
  rcOspfExternalType1  OBJECT IDENTIFIER ::= { rcOspfRouteGroup 3 }
  rcOspfExternalType2  OBJECT IDENTIFIER ::= { rcOspfRouteGroup 4 }

--     ipCidrRouteMetric1 is, by definition, the primary routing
--     metric.  Therefore, it should be the metric that route
--     selection is based on.  For intra-area and inter-area routes,
--     it is an OSPF metric.  For External Type 1 (comparable value)
--     routes, it is an OSPF metric plus the External Metric.  For
--     external Type 2 (non-comparable value) routes, it is the
--     external metric.

--     ipCidrRouteMetric2 is, by definition, a secondary routing
--     metric.  Therefore, it should be the metric that breaks a tie
--     among routes having equal metric1 values and the same
--     calculation rule.  For intra-area, inter-area routes, and
--     External Type 1 (comparable value) routes, it is unused.  For
--     External Type 2 (non-comparable value) routes, it is the metric
--     to the AS border router.

--     ipCidrRouteMetric3, ipCidrRouteMetric4, and ipCidrRouteMetric5
--     are unused.

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

   rcOspfAreaAggregateTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfAreaAggregateEntry
       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"
       ::= { rcOspf 14 }

  rcOspfAreaAggregateEntry OBJECT-TYPE
       SYNTAX   rcOspfAreaAggregateEntry
       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 { rcOspfAreaAggregateAreaID, rcOspfAreaAggregateLsdbType,
          rcOspfAreaAggregateNet, rcOspfAreaAggregateMask, rcOspfAreaAggregateApplIndex }
       ::= { rcOspfAreaAggregateTable 1 }

  rcOspfAreaAggregateEntry ::=
       SEQUENCE {
          rcOspfAreaAggregateAreaID
             AreaID,
          rcOspfAreaAggregateLsdbType
             INTEGER,
          rcOspfAreaAggregateNet
             IpAddress,
          rcOspfAreaAggregateMask
             IpAddress,
          rcOspfAreaAggregateStatus
             RowStatus,
          rcOspfAreaAggregateEffect
             INTEGER,
          rcOspfAreaAggregateExtRouteTag
             Unsigned32,
          rcOspfAreaAggregateApplIndex
	           Gauge32
          }

  rcOspfAreaAggregateAreaID 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"
       ::= { rcOspfAreaAggregateEntry 1 }

  rcOspfAreaAggregateLsdbType 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"
       ::= { rcOspfAreaAggregateEntry 2 }

  rcOspfAreaAggregateNet 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"
       ::= { rcOspfAreaAggregateEntry 3 }

  rcOspfAreaAggregateMask 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"
       ::= { rcOspfAreaAggregateEntry 4 }

  rcOspfAreaAggregateStatus 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."
       ::= { rcOspfAreaAggregateEntry 5 }

  rcOspfAreaAggregateEffect 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 }
       ::= { rcOspfAreaAggregateEntry 6 }

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

  rcOspfAreaAggregateApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfAreaAggregateEntry 8 }
       
--  OSPF Link State Database, link-local for non-virtual links


  rcOspfLocalLsdbTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfLocalLsdbEntry
       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"
       ::= { rcOspf 17 }

  rcOspfLocalLsdbEntry OBJECT-TYPE
       SYNTAX       rcOspfLocalLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "A single link state advertisement."
       INDEX { rcOspfLocalLsdbIpAddress, rcOspfLocalLsdbAddressLessIf,
          rcOspfLocalLsdbType, rcOspfLocalLsdbLsid, rcOspfLocalLsdbRouterId,
          rcOspfLocalLsdbApplIndex
          }
       ::= { rcOspfLocalLsdbTable 1 }

  rcOspfLocalLsdbEntry ::=
       SEQUENCE {
          rcOspfLocalLsdbIpAddress
             IpAddress,
          rcOspfLocalLsdbAddressLessIf
             InterfaceIndexOrZero,
          rcOspfLocalLsdbType
             INTEGER,
          rcOspfLocalLsdbLsid
             IpAddress,
          rcOspfLocalLsdbRouterId
             RouterID,
          rcOspfLocalLsdbSequence
             Integer32,
          rcOspfLocalLsdbAge
             Integer32,
          rcOspfLocalLsdbChecksum
             Integer32,
          rcOspfLocalLsdbAdvertisement
             OCTET STRING,
          rcOspfLocalLsdbApplIndex
	           Gauge32
          }

  rcOspfLocalLsdbIpAddress 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"
       ::= { rcOspfLocalLsdbEntry 1 }

  rcOspfLocalLsdbAddressLessIf 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"
       ::= { rcOspfLocalLsdbEntry 2 }

  rcOspfLocalLsdbType 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"
       ::= { rcOspfLocalLsdbEntry 3 }

  rcOspfLocalLsdbLsid 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"
       ::= { rcOspfLocalLsdbEntry 4 }

  rcOspfLocalLsdbRouterId 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"
       ::= { rcOspfLocalLsdbEntry 5 }

  rcOspfLocalLsdbSequence 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"
       ::= { rcOspfLocalLsdbEntry 6 }

  rcOspfLocalLsdbAge 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"
       ::= { rcOspfLocalLsdbEntry 7 }

  rcOspfLocalLsdbChecksum 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"
       ::= { rcOspfLocalLsdbEntry 8 }

  rcOspfLocalLsdbAdvertisement 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"
       ::= { rcOspfLocalLsdbEntry 9 }

  rcOspfLocalLsdbApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfLocalLsdbEntry 10 }

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

  rcOspfVirtLocalLsdbTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfVirtLocalLsdbEntry
       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"
       ::= { rcOspf 18 }

  rcOspfVirtLocalLsdbEntry OBJECT-TYPE
       SYNTAX       rcOspfVirtLocalLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "A single link state advertisement."
       INDEX { rcOspfVirtLocalLsdbTransitArea,
          rcOspfVirtLocalLsdbNeighbor,
          rcOspfVirtLocalLsdbType,
          rcOspfVirtLocalLsdbLsid,
          rcOspfVirtLocalLsdbRouterId,
          rcOspfVirtLocalLsdbApplIndex
          }
       ::= { rcOspfVirtLocalLsdbTable 1 }

  rcOspfVirtLocalLsdbEntry ::=
       SEQUENCE {
          rcOspfVirtLocalLsdbTransitArea
             AreaID,
          rcOspfVirtLocalLsdbNeighbor
             RouterID,
          rcOspfVirtLocalLsdbType
             INTEGER,
          rcOspfVirtLocalLsdbLsid
             IpAddress,
          rcOspfVirtLocalLsdbRouterId
             RouterID,
          rcOspfVirtLocalLsdbSequence
             Integer32,
          rcOspfVirtLocalLsdbAge
             Integer32,
          rcOspfVirtLocalLsdbChecksum
             Integer32,
          rcOspfVirtLocalLsdbAdvertisement
            OCTET STRING,
          rcOspfVirtLocalLsdbApplIndex
	          Gauge32
          }

  rcOspfVirtLocalLsdbTransitArea 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"
       ::= { rcOspfVirtLocalLsdbEntry 1 }

  rcOspfVirtLocalLsdbNeighbor 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"
       ::= { rcOspfVirtLocalLsdbEntry 2 }

  rcOspfVirtLocalLsdbType 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"
       ::= { rcOspfVirtLocalLsdbEntry 3 }

  rcOspfVirtLocalLsdbLsid 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"
       ::= { rcOspfVirtLocalLsdbEntry 4 }

  rcOspfVirtLocalLsdbRouterId 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"
       ::= { rcOspfVirtLocalLsdbEntry 5 }

  rcOspfVirtLocalLsdbSequence 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"
       ::= { rcOspfVirtLocalLsdbEntry 6 }

  rcOspfVirtLocalLsdbAge 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"
       ::= { rcOspfVirtLocalLsdbEntry 7 }

  rcOspfVirtLocalLsdbChecksum 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"
       ::= { rcOspfVirtLocalLsdbEntry 8 }

  rcOspfVirtLocalLsdbAdvertisement 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."
       ::= { rcOspfVirtLocalLsdbEntry 9 }

  rcOspfVirtLocalLsdbApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "Identifies this OSPF entity."
       ::= { rcOspfVirtLocalLsdbEntry 10 }

--  OSPF Link State Database, AS-scope

  rcOspfAsLsdbTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfAsLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The OSPF Process's AS-scope LSA link state database.
           The database contains the AS-scope 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 AS-scope Link State
           Advertisements.  The purpose is to allow AS-scope
           LSAs to be displayed once for the router rather
           than once in each non-stub area."
       REFERENCE
          "OSPF Version 2, Section 12 Link State
          Advertisements"
       ::= { rcOspf 19 }

  rcOspfAsLsdbEntry OBJECT-TYPE
       SYNTAX       rcOspfAsLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "A single link state advertisement."
       INDEX { rcOspfAsLsdbType, rcOspfAsLsdbLsid, rcOspfAsLsdbRouterId }
       ::= { rcOspfAsLsdbTable 1 }

  rcOspfAsLsdbEntry ::=
       SEQUENCE {
          rcOspfAsLsdbType
             INTEGER,
          rcOspfAsLsdbLsid
             IpAddress,
          rcOspfAsLsdbRouterId
             RouterID,
          rcOspfAsLsdbSequence
             Integer32,
          rcOspfAsLsdbAge
             Integer32,
          rcOspfAsLsdbChecksum
             Integer32,
          rcOspfAsLsdbAdvertisement
             OCTET STRING
          }

  rcOspfAsLsdbType OBJECT-TYPE
       SYNTAX      INTEGER {
                      asExternalLink (5),
                      asOpaqueLink   (11)
                      }
       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"
       ::= { rcOspfAsLsdbEntry 1 }

  rcOspfAsLsdbLsid OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   not-accessible
       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"
       ::= { rcOspfAsLsdbEntry 2 }

  rcOspfAsLsdbRouterId 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"
       ::= { rcOspfAsLsdbEntry 3 }

  rcOspfAsLsdbSequence 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"
       ::= { rcOspfAsLsdbEntry 4 }

  rcOspfAsLsdbAge 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"
       ::= { rcOspfAsLsdbEntry 5 }

  rcOspfAsLsdbChecksum 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"
       ::= { rcOspfAsLsdbEntry 6 }

  rcOspfAsLsdbAdvertisement 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."
       ::= { rcOspfAsLsdbEntry 7 }
       
--  OSPF Area LSA Counter Table

      rcOspfAreaLsaCountTable OBJECT-TYPE
          SYNTAX       SEQUENCE OF rcOspfAreaLsaCountEntry
          MAX-ACCESS   not-accessible
          STATUS       current
          DESCRIPTION
             "This table maintains per-area, per-LSA-type counters"
          ::= { rcOspf 20 }

      rcOspfAreaLsaCountEntry OBJECT-TYPE
          SYNTAX       rcOspfAreaLsaCountEntry
          MAX-ACCESS   not-accessible
          STATUS       current
          DESCRIPTION
             "An entry with a number of link advertisements
              of a given type for a given area."
          INDEX { rcOspfAreaLsaCountAreaId, rcOspfAreaLsaCountLsaType }
          ::= { rcOspfAreaLsaCountTable 1 }

      rcOspfAreaLsaCountEntry ::=
           SEQUENCE {
              rcOspfAreaLsaCountAreaId
                 AreaID,
              rcOspfAreaLsaCountLsaType
                 INTEGER,
              rcOspfAreaLsaCountNumber
                 Gauge32
           }

      rcOspfAreaLsaCountAreaId OBJECT-TYPE
          SYNTAX       AreaID
          MAX-ACCESS   not-accessible
          STATUS       current
          DESCRIPTION
             "This entry Area ID."
         ::= { rcOspfAreaLsaCountEntry 1 }

      rcOspfAreaLsaCountLsaType OBJECT-TYPE
          SYNTAX       INTEGER {
                          routerLink (1),
                          networkLink (2),
                          summaryLink (3),
                          asSummaryLink (4),
                          multicastLink (6),
                          nssaExternalLink (7),
                          areaOpaqueLink (10)
                       }
          MAX-ACCESS   not-accessible
          STATUS       current
          DESCRIPTION
             "This entry LSA type."
         ::= { rcOspfAreaLsaCountEntry 2 }

      rcOspfAreaLsaCountNumber OBJECT-TYPE
          SYNTAX       Gauge32
          MAX-ACCESS   read-only
          STATUS       current
          DESCRIPTION
             "Number of LSAs of a given type for a given area."
         ::= { rcOspfAreaLsaCountEntry 3 }

--  OSPF pm-entity Table
--     The table of OSPF entities.


  rcOspfPmEntTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfPmEntEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The table of OSPF entities."      
       ::= { rcOspf 21 }

  rcOspfPmEntEntry OBJECT-TYPE
       SYNTAX       rcOspfPmEntEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The table of OSPF entities."
       INDEX { rcOspfPmEntIndex }
       ::= { rcOspfPmEntTable 1 }

  rcOspfPmEntEntry ::=
        SEQUENCE {
           rcOspfPmEntRouterId
              RouterID,
           rcOspfPmEntAdminStatus
              Status,
           rcOspfPmEntRfc1583Comp
              TruthValue,
           rcOspfPmEntOpaqueLsaSupport
              TruthValue,
           rcOspfPmEntTrafficEngSupport
              TruthValue,
           rcOspfPmEntIndex
              Gauge32,
           rcOspfPmEntOperStatus
              RowStatus,
           rcOspfPmEntRowStatus
              RowStatus,
           rcOspfPmEntCalcMaxDelay
              Gauge32,
           rcOspfPmEntRteMaxEqCostPaths
              Gauge32,
           rcOspfPmEntMinLsInterval
              Gauge32,
           rcOspfPmEntMinLsArrival 
              Gauge32  
           }

  rcOspfPmEntRouterId OBJECT-TYPE
       SYNTAX       RouterID
       MAX-ACCESS   read-write 
       STATUS       current
       DESCRIPTION
          "The configured Router ID. "
       ::= { rcOspfPmEntEntry 1 }

  rcOspfPmEntAdminStatus OBJECT-TYPE
       SYNTAX       Status
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The desired administrative state of the OSPF Protocol Manager entity."
       ::= { rcOspfPmEntEntry 2 }
       
  rcOspfPmEntRfc1583Comp OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "Indicates metrics used to choose among multiple AS-external-LSAs. "
       DEFVAL { false }
       ::= { rcOspfPmEntEntry 3 }

  rcOspfPmEntOpaqueLsaSupport OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          " The router's support for Opaque LSA types.  This value cannot be changed when the Entity MIB is active and in oper state up.  "
       DEFVAL { true }
       ::= { rcOspfPmEntEntry 4 }

  rcOspfPmEntTrafficEngSupport OBJECT-TYPE
       SYNTAX       TruthValue
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The router's support for OSPF traffic engineering. "
       DEFVAL { true }
       ::= { rcOspfPmEntEntry 5 }
       
  rcOspfPmEntIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The index of this ospfPmEntEntry. "
       ::= { rcOspfPmEntEntry 6 }

  rcOspfPmEntOperStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
          "The current operational state of the OSPF Protocol Manager entity. "
       ::= { rcOspfPmEntEntry 7 }
       
  rcOspfPmEntRowStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "Used to create and delete an OSPF Protocol Manager Entity Table entry. "
       ::= { rcOspfPmEntEntry 8 }
       
  rcOspfPmEntCalcMaxDelay OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The maximum delay before the Routing Table is recalculated following a change to the Link State Database. "
       ::= { rcOspfPmEntEntry 9 }
       
  rcOspfPmEntRteMaxEqCostPaths OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The maximum number of equal cost paths that are stored for each destination in the Routing Table. "
       ::= { rcOspfPmEntEntry 10 }
       
  rcOspfPmEntMinLsInterval OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "The minimum time, in milliseconds, between distinct originations of any particular LSA. "
       ::= { rcOspfPmEntEntry 11 }
       
  rcOspfPmEntMinLsArrival OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
          "For any particular LSA, the minimum time in milliseconds that must elapse between reception of new LSA instances during flooding."
       ::= { rcOspfPmEntEntry 12 }


--  OSPF Network Table
--     The table of OSPF network.


  rcOspfNetworkTable OBJECT-TYPE
       SYNTAX       SEQUENCE OF rcOspfNetworkEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The table of OSPF network."      
       ::= { rcOspf 22 }

  rcOspfNetworkEntry OBJECT-TYPE
       SYNTAX       rcOspfNetworkEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
          "The table of OSPF network."
       INDEX { rcOspfNetworkApplIndex, rcOspfNetworkAreaId, rcOspfNetworkAddress, rcOspfNetworkMask }
       ::= { rcOspfNetworkTable 1 }

  rcOspfNetworkEntry ::=
        SEQUENCE {
           rcOspfNetworkApplIndex
              Gauge32,
           rcOspfNetworkAreaId
              AreaID,
           rcOspfNetworkAddress
              IpAddress,
           rcOspfNetworkMask
              IpAddress,       
           rcOspfNetworkRowStatus
              RowStatus
           }

  rcOspfNetworkApplIndex OBJECT-TYPE
       SYNTAX       Gauge32
       MAX-ACCESS   read-only 
       STATUS       current
       DESCRIPTION
          "The network OSPF Entity. "
       ::= { rcOspfNetworkEntry 1 }

  rcOspfNetworkAreaId OBJECT-TYPE
       SYNTAX       AreaID
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The OSPF Network Area Id."
       ::= { rcOspfNetworkEntry 2 }
       
  rcOspfNetworkAddress OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The OSPF Network IP Address. "
       ::= { rcOspfNetworkEntry 3 }

  rcOspfNetworkMask OBJECT-TYPE
       SYNTAX       IpAddress
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          " The OSPF Network IP Address Mask.  "
       ::= { rcOspfNetworkEntry 4 }

  rcOspfNetworkRowStatus OBJECT-TYPE
       SYNTAX       RowStatus
       MAX-ACCESS   read-create
       STATUS       current
       DESCRIPTION
          "The OSPF Network row status. "
       ::= { rcOspfNetworkEntry 5 }
       
  
        


END

