Network Working Group                                      D. Joyal, Ed.
Request for Comments: 4750                                        Nortel
Obsoletes: 1850                                          P. Galecki, Ed.
Category: Standards Track                                        Airvana
                                                      S. Giacalone, Ed.
                                                                   CSFB
                                                   Original Authors:
                                                              R. Coltun
                                                         Touch Acoustra
                                                               F. Baker
                                                          Cisco Systems
                                                          December 2006


             OSPF Version 2 Management Information Base

Status of This Memo

  This document specifies an Internet standards track protocol for the
  Internet community, and requests discussion and suggestions for
  improvements.  Please refer to the current edition of the "Internet
  Official Protocol Standards" (STD 1) for the standardization state
  and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

  Copyright (C) The IETF Trust (2006).

Abstract

  This memo defines a portion of the Management Information Base (MIB)
  for use with network management protocols in TCP/IP-based internets.
  In particular, it defines objects for managing version 2 of the Open
  Shortest Path First Routing Protocol.  Version 2 of the OSPF protocol
  is specific to the IPv4 address family.  Version 3 of the OSPF
  protocol is specific to the IPv6 address family.

  This memo obsoletes RFC 1850; however, it is designed to be backwards
  compatible.  The functional differences between this memo and RFC
  1850 are explained in Appendix B.











Galecki, et al.             Standards Track                     [Page 1]

RFC 4750                       OSPFv2 MIB                  December 2006


Table of Contents

  1. Overview ........................................................3
     1.1. The Internet-Standard Management Framework .................3
     1.2. Conceptual Row Creation ....................................3
     1.3. Default Configuration ......................................4
     1.4. OSPF Counters ..............................................5
     1.5. Multiple OSPF Instances ....................................5
     1.6. Conventions ................................................6
  2. Structure of This MIB ...........................................6
     2.1. The Purposes of the Sections in This MIB ...................6
          2.1.1. General Variables ...................................6
          2.1.2. Area Data Structure and Area Stub Metric Table ......6
          2.1.3. Link State Database and External Link State
                 Database ............................................7
          2.1.4. Address Table and Host Tables .......................7
          2.1.5. Interface and Interface Metric Tables ...............7
          2.1.6. Virtual Interface Table .............................7
          2.1.7. Neighbor and Virtual Neighbor Tables ................7
          2.1.8. Local Link State Database Table and Virtual
                 Local Link State Database Table .....................7
          2.1.9. AS-scope Link State Database Table ..................7
          2.1.10. Area LSA Count Table ...............................7
  3. OSPF MIB Module .................................................8
  4. OSPF Trap Overview .............................................94
     4.1. Introduction ..............................................94
     4.2. Approach ..................................................95
     4.3. Ignoring Initial Activity .................................95
     4.4. Throttling Traps ..........................................95
     4.5. One Trap Per OSPF Event ...................................96
     4.6. Polling Event Counters ....................................96
     4.7. Translating Notification Parameters .......................97
     4.8. Historical Artifacts ......................................97
  5. OSPF Trap Definitions ..........................................98
  6. Security Considerations .......................................110
  7. IANA Considerations ...........................................111
  8. Acknowledgements ..............................................111
  9. References ....................................................111
     9.1. Normative References .....................................111
     9.2. Informative References ...................................111
  Appendix A. TOS Support ..........................................113
  Appendix B. Changes from RFC 1850 ................................113
     B.1. General Group Changes ....................................113
     B.2. OSPF NSSA Enhancement Support ............................113
     B.3. Opaque LSA Support .......................................114
     B.4. Graceful Restart Support .................................116
     B.5. OSPF Compliances .........................................116
     B.6. OSPF Authentication and Security .........................117



Galecki, et al.             Standards Track                     [Page 2]

RFC 4750                       OSPFv2 MIB                  December 2006


     B.7. OSPF Trap MIB ............................................117
     B.8. Miscellaneous ............................................118

1.  Overview

1.1.  The Internet-Standard Management Framework

  For a detailed overview of the documents that describe the current
  Internet-Standard Management Framework, please refer to section 7 of
  RFC 3410 [RFC3410].

  Managed objects are accessed via a virtual information store, termed
  the Management Information Base or MIB.  MIB objects are generally
  accessed through the Simple Network Management Protocol (SNMP).
  Objects in the MIB are defined using the mechanisms defined in the
  Structure of Management Information (SMI).  This memo specifies a MIB
  module that is compliant to the SMIv2, which is described in STD 58,
  RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
  [RFC2580].

1.2.  Conceptual Row Creation

  For the benefit of row-creation in "conceptual" tables, DEFVAL
  (Default Value) clauses are included in the definitions in section 3,
  suggesting values that an agent should use for instances of variables
  that need to be created due to a Set-Request, but that are not
  specified in the Set-Request.  DEFVAL clauses have not been specified
  for some objects that are read-only, implying that they are zeroed
  upon row creation.  These objects are of the SYNTAX Counter32 or
  Gauge32.

  For those objects not having a DEFVAL clause, both management
  stations and agents should heed the Robustness Principle of the
  Internet (see [RFC791]):

  "be liberal in what you accept, conservative in what you send"

  Therefore, management stations should include as many of these
  columnar objects as possible (e.g., all read-write objects) in a
  Set-Request when creating a conceptual row.  Agents should accept a
  Set-Request with as few of these columnar objects as they need (e.g.,
  the minimum contents of a "row-creating" SET consists of those
  objects for which, as they cannot be intuited, no default is
  specified).







Galecki, et al.             Standards Track                     [Page 3]

RFC 4750                       OSPFv2 MIB                  December 2006


1.3.  Default Configuration

  OSPF is a powerful routing protocol, equipped with features to handle
  virtually any configuration requirement that might reasonably be
  found within an Autonomous System (AS).  With this power comes a fair
  degree of complexity, which the sheer number of objects in the MIB
  will attest to.  Care has therefore been taken, in constructing this
  MIB, to define default values for virtually every object, to minimize
  the amount of parameterization required in the typical case.  That
  default configuration is as follows:

  Given the following assumptions:

  - IP has already been configured.

  - The ifTable has already been configured.

  - ifSpeed is estimated by the interface drivers.

  - The OSPF process automatically discovers all IP interfaces and
    creates corresponding OSPF interfaces.

  - The OSPF process automatically creates the areas required for the
    interfaces.

  The simplest configuration of an OSPF process requires the following:

  - The OSPF process be enabled.

  This can be accomplished with a single SET:

     ospfAdminStat := enabled.

  The configured system will have the following attributes:

  - The RouterID will be one of the IP addresses of the device.

  - The device will be neither an Area Border Router nor an Autonomous
    System Border Router.

  - Every IP interface, with or without an address, will be an OSPF
    interface.

  - The AreaID of each interface will be 0.0.0.0, the backbone.

  - Authentication will be disabled.





Galecki, et al.             Standards Track                     [Page 4]

RFC 4750                       OSPFv2 MIB                  December 2006


  - All broadcast and point-to-point interfaces will be operational.
    Non-broadcast multi-access (NBMA) interfaces require the
    configuration of at least one neighbor.

  - Timers on all direct interfaces will be:

    Hello Interval:        10 seconds
    Dead Timeout:          40 Seconds
    Retransmission:         5 Seconds
    Transit Delay:          1 Second
    Poll Interval:        120 Seconds

  - No direct links to hosts will be configured.

  - No addresses will be summarized.

  - Metrics, being a measure of bit duration, are unambiguous and
    intelligent.

  - No virtual links will be configured.

1.4.  OSPF Counters

  This MIB defines several counters, namely:

  - ospfOriginateNewLsas, ospfRxNewLsas in the ospfGeneralGroup
  - ospfSpfRuns, ospfAreaNssaTranslatorEvents in the ospfAreaTable
  - ospfIfEvents in the ospfIfTable
  - ospfVirtIfEvents in the ospfVirtIfTable
  - ospfNbrEvents in the ospfNbrTable
  - ospfVirtNbrEvents in the ospfVirtNbrTable

  As a best practice, a management entity, when reading these counters,
  should use the discontinuity object, ospfDiscontinuityTime, to
  determine if an event that would invalidate the management entity
  understanding of the counters has occurred.  A restart of the OSPF
  routing process is a possible example of a discontinuity event.

1.5.  Multiple OSPF Instances

  SNMPv3 supports "Contexts" that can be used to implement MIB views on
  multiple OSPF instances on the same system.  See [RFC3411] or its
  successors for details.








Galecki, et al.             Standards Track                     [Page 5]

RFC 4750                       OSPFv2 MIB                  December 2006


1.6.  Conventions

  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  document are to be interpreted as described in RFC 2119 [RFC2119].

2.  Structure of This MIB

  This MIB is composed of the following sections:

     General Variables
     Area Data Structure
     Area Stub Metric Table
     Link State Database (LSDB)
     Address Range Table
     Host Table
     Interface Table
     Interface Metric Table
     Virtual Interface Table
     Neighbor Table
     Virtual Neighbor Table
     External Link State Database
     Aggregate Range Table
     Local Link State Database
     AS-scope Link State Database

  It supports the base OSPFv2 specification [RFC2328] and extensions to
  OSPFv2 such as [RFC1765], [RFC1793], [RFC2370], [RFC3101] and
  [RFC3623].

  There exists a separate MIB for notifications ("traps"), which is
  entirely optional.

2.1.  The Purposes of the Sections in This MIB

2.1.1.  General Variables

  The general variables describe (as it may seem from the name)
  variables that are global to the OSPF Process.

2.1.2.  Area Data Structure and Area Stub Metric Table

  The Area Data Structure describes all of the OSPF Areas that the
  router participates in.  The Area Table includes data for Not-So-
  Stubby-Area (NSSA) translation.

  The Area Stub Metric Table describes the metrics advertised into a
  stub area by the default router(s).



Galecki, et al.             Standards Track                     [Page 6]

RFC 4750                       OSPFv2 MIB                  December 2006


2.1.3.  Link State Database and External Link State Database

  The link state database is provided primarily to provide detailed
  information for network debugging.

2.1.4.  Address Table and Host Tables

  The Address Range Table and Host Table are provided to view
  configured Network Summary and host route information.

2.1.5.  Interface and Interface Metric Tables

  The Interface Table and the Interface Metric Table together describe
  the various IP interfaces to OSPF.  The metrics are placed in
  separate tables in order to simplify dealing with multiple types of
  service.  The Interface table includes link-local (Opaque type-9)
  link state advertisement (LSA) statistics.

2.1.6.  Virtual Interface Table

  The Virtual Interface Table describes virtual links to the OSPF
  Process, similarly to the (non-virtual) Interface Tables.  This Table
  includes link-local (Opaque type-9) LSA statistics.

2.1.7.  Neighbor and Virtual Neighbor Tables

  The Neighbor Table and the Virtual Neighbor Table describe the
  neighbors to the OSPF Process.

2.1.8.  Local Link State Database Table and Virtual Local Link State
       Database Table

  The Local Link State Database Table and Virtual Local Link State
  Database Table are identical to the OSPF LSDB Table in format, but
  contain only link-local (Opaque type-9) link state advertisements for
  non-virtual and virtual links.

2.1.9.  AS-scope Link State Database Table

  The AS-scope Link State Database Table is identical to the OSPF LSDB
  Table in format, but contains only AS-scoped link state
  advertisements.

2.1.10.  Area LSA Count Table

  The table, which maintains number of link state advertisements on the
  per-area, per-LSA-type basis.




Galecki, et al.             Standards Track                     [Page 7]

RFC 4750                       OSPFv2 MIB                  December 2006


3.  OSPF MIB Module

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;

ospf MODULE-IDENTITY
      LAST-UPDATED "200611100000Z" -- November 10, 2006 00:00:00 EST
      ORGANIZATION "IETF OSPF Working Group"
      CONTACT-INFO
      "WG E-Mail: [email protected]

       WG Chairs: [email protected]
                  [email protected]

       Editors:   Dan Joyal
                  Nortel
                  600 Technology Park Drive
                  Billerica, MA  01821
                  [email protected]

                  Piotr Galecki
                  Airvana
                  19 Alpha Road
                  Chelmsford, MA 01824
                  [email protected]

                  Spencer Giacalone
                  CSFB
                  Eleven Madison Ave
                  New York, NY 10010-3629
                  [email protected]"

      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.



Galecki, et al.             Standards Track                     [Page 8]

RFC 4750                       OSPFv2 MIB                  December 2006


         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."
      ::= { mib-2 14 }

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



Galecki, et al.             Standards Track                     [Page 9]

RFC 4750                       OSPFv2 MIB                  December 2006


          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



Galecki, et al.             Standards Track                    [Page 10]

RFC 4750                       OSPFv2 MIB                  December 2006


      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 {



Galecki, et al.             Standards Track                    [Page 11]

RFC 4750                       OSPFv2 MIB                  December 2006


                      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.

ospfGeneralGroup OBJECT IDENTIFIER ::= { ospf 1 }

 ospfRouterId 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"
      ::= { ospfGeneralGroup 1 }

 ospfAdminStat 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."
      ::= { ospfGeneralGroup 2 }

 ospfVersionNumber OBJECT-TYPE
      SYNTAX       INTEGER { version2 (2) }
      MAX-ACCESS   read-only
      STATUS       current



Galecki, et al.             Standards Track                    [Page 12]

RFC 4750                       OSPFv2 MIB                  December 2006


      DESCRIPTION
         "The current version number of the OSPF protocol is 2."
      REFERENCE
         "OSPF Version 2, Title"
      ::= { ospfGeneralGroup 3 }

 ospfAreaBdrRtrStatus 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"
      ::= { ospfGeneralGroup 4 }

 ospfASBdrRtrStatus 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"
      ::= { ospfGeneralGroup 5 }

 ospfExternLsaCount 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"
       ::= { ospfGeneralGroup 6 }

 ospfExternLsaCksumSum OBJECT-TYPE
       SYNTAX       Integer32
       MAX-ACCESS   read-only



Galecki, et al.             Standards Track                    [Page 13]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfTOSSupport 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"
      ::= { ospfGeneralGroup 8 }

  ospfOriginateNewLsas 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."
       ::= { ospfGeneralGroup 9 }

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



Galecki, et al.             Standards Track                    [Page 14]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfExtLsdbLimit 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 }
       ::= { ospfGeneralGroup 11 }

 ospfMulticastExtensions 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



Galecki, et al.             Standards Track                    [Page 15]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfExitOverflowInterval 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 }
      ::= { ospfGeneralGroup 13 }

 ospfDemandExtensions OBJECT-TYPE
      SYNTAX       TruthValue
      MAX-ACCESS   read-write



Galecki, et al.             Standards Track                    [Page 16]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfRFC1583Compatibility  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"
       ::= { ospfGeneralGroup 15 }

ospfOpaqueLsaSupport  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"
      ::= { ospfGeneralGroup 16 }

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



Galecki, et al.             Standards Track                    [Page 17]

RFC 4750                       OSPFv2 MIB                  December 2006


         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."
      ::= { ospfGeneralGroup 17 }

 ospfRestartSupport 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."
      ::= { ospfGeneralGroup 18 }

 ospfRestartInterval 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."
      ::= { ospfGeneralGroup 19 }

 ospfRestartStrictLsaChecking 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



Galecki, et al.             Standards Track                    [Page 18]

RFC 4750                       OSPFv2 MIB                  December 2006


          storage."
      ::= { ospfGeneralGroup 20 }


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

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

 ospfRestartExitReason 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."
      ::= { ospfGeneralGroup 23 }

 ospfAsLsaCount OBJECT-TYPE
      SYNTAX       Gauge32
      MAX-ACCESS   read-only
      STATUS       current



Galecki, et al.             Standards Track                    [Page 19]

RFC 4750                       OSPFv2 MIB                  December 2006


      DESCRIPTION
          "The number of AS-scope link state
          advertisements in the AS-scope link state database."
      ::= { ospfGeneralGroup 24 }

 ospfAsLsaCksumSum 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."
      ::= { ospfGeneralGroup 25 }

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

  ospfStubRouterAdvertisement 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."
      ::= { ospfGeneralGroup 27 }

 ospfDiscontinuityTime OBJECT-TYPE
     SYNTAX     TimeStamp



Galecki, et al.             Standards Track                    [Page 20]

RFC 4750                       OSPFv2 MIB                  December 2006


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


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

 ospfAreaTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfAreaEntry
      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"
      ::= { ospf 2 }

 ospfAreaEntry OBJECT-TYPE
      SYNTAX       OspfAreaEntry
      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 { ospfAreaId }
      ::= { ospfAreaTable 1 }




Galecki, et al.             Standards Track                    [Page 21]

RFC 4750                       OSPFv2 MIB                  December 2006


 OspfAreaEntry ::=
       SEQUENCE {
          ospfAreaId
             AreaID,
          ospfAuthType
             OspfAuthenticationType,
          ospfImportAsExtern
             INTEGER,
          ospfSpfRuns
             Counter32,
          ospfAreaBdrRtrCount
             Gauge32,
          ospfAsBdrRtrCount
             Gauge32,
          ospfAreaLsaCount
             Gauge32,
          ospfAreaLsaCksumSum
             Integer32,
          ospfAreaSummary
             INTEGER,
          ospfAreaStatus
             RowStatus,
          ospfAreaNssaTranslatorRole
             INTEGER,
          ospfAreaNssaTranslatorState
             INTEGER,
          ospfAreaNssaTranslatorStabilityInterval
             PositiveInteger,
          ospfAreaNssaTranslatorEvents
             Counter32
          }

 ospfAreaId 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"
      ::= { ospfAreaEntry 1 }

 ospfAuthType OBJECT-TYPE
      SYNTAX       OspfAuthenticationType
      MAX-ACCESS   read-create
      STATUS       obsolete



Galecki, et al.             Standards Track                    [Page 22]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfImportAsExtern 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 }
      ::= { ospfAreaEntry 3 }

 ospfSpfRuns 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."
      ::= { ospfAreaEntry 4 }

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



Galecki, et al.             Standards Track                    [Page 23]

RFC 4750                       OSPFv2 MIB                  December 2006


      ::= { ospfAreaEntry 5 }

 ospfAsBdrRtrCount 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."
      ::= { ospfAreaEntry 6 }

 ospfAreaLsaCount 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."
      ::= { ospfAreaEntry 7 }

 ospfAreaLsaCksumSum 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 }
      ::= { ospfAreaEntry 8 }

 ospfAreaSummary OBJECT-TYPE
      SYNTAX       INTEGER {
                      noAreaSummary (1),
                      sendAreaSummary (2)
                      }
      MAX-ACCESS   read-create
      STATUS       current
      DESCRIPTION



Galecki, et al.             Standards Track                    [Page 24]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfAreaStatus 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."
      ::= { ospfAreaEntry 10 }

 ospfAreaNssaTranslatorRole 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 }
      ::= { ospfAreaEntry 11 }

 ospfAreaNssaTranslatorState 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



Galecki, et al.             Standards Track                    [Page 25]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfAreaNssaTranslatorStabilityInterval 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 }
      ::= { ospfAreaEntry 13 }

 ospfAreaNssaTranslatorEvents 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."
      ::= { ospfAreaEntry 14 }

--  OSPF Area Default Metric Table

 ospfStubAreaTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfStubAreaEntry
      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"
      ::= { ospf 3 }

 ospfStubAreaEntry OBJECT-TYPE
      SYNTAX       OspfStubAreaEntry



Galecki, et al.             Standards Track                    [Page 26]

RFC 4750                       OSPFv2 MIB                  December 2006


      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 { ospfStubAreaId, ospfStubTOS }
      ::= { ospfStubAreaTable 1 }

 OspfStubAreaEntry ::=
      SEQUENCE {
         ospfStubAreaId
            AreaID,
         ospfStubTOS
            TOSType,
         ospfStubMetric
            BigMetric,
         ospfStubStatus
            RowStatus,
         ospfStubMetricType
            INTEGER
         }

 ospfStubAreaId 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."
      ::= { ospfStubAreaEntry 1 }

 ospfStubTOS 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



Galecki, et al.             Standards Track                    [Page 27]

RFC 4750                       OSPFv2 MIB                  December 2006


         the instance."
      ::= { ospfStubAreaEntry 2 }

 ospfStubMetric 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."
      ::= { ospfStubAreaEntry 3 }

 ospfStubStatus 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."
      ::= { ospfStubAreaEntry 4 }

 ospfStubMetricType 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 }
      ::= { ospfStubAreaEntry 5 }

--  OSPF Link State Database

 ospfLsdbTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfLsdbEntry
      MAX-ACCESS   not-accessible
      STATUS       current



Galecki, et al.             Standards Track                    [Page 28]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfLsdbEntry OBJECT-TYPE
      SYNTAX   OspfLsdbEntry
      MAX-ACCESS   not-accessible
      STATUS   current
      DESCRIPTION
         "A single link state advertisement."
      INDEX { ospfLsdbAreaId, ospfLsdbType,
              ospfLsdbLsid, ospfLsdbRouterId }
      ::= { ospfLsdbTable 1 }

 OspfLsdbEntry ::=
      SEQUENCE {
         ospfLsdbAreaId
            AreaID,
         ospfLsdbType
            INTEGER,
         ospfLsdbLsid
            IpAddress,
         ospfLsdbRouterId
            RouterID,
         ospfLsdbSequence
            Integer32,
         ospfLsdbAge
            Integer32,
         ospfLsdbChecksum
            Integer32,
         ospfLsdbAdvertisement
            OCTET STRING
         }

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



Galecki, et al.             Standards Track                    [Page 29]

RFC 4750                       OSPFv2 MIB                  December 2006


      ::= { ospfLsdbEntry 1 }

 ospfLsdbType 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"
      ::= { ospfLsdbEntry 2 }

 ospfLsdbLsid 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"
      ::= { ospfLsdbEntry 3 }

 ospfLsdbRouterId OBJECT-TYPE
      SYNTAX       RouterID
      MAX-ACCESS   read-only -- read-only since originally an
                             -- SMIv1 index
      STATUS       current



Galecki, et al.             Standards Track                    [Page 30]

RFC 4750                       OSPFv2 MIB                  December 2006


      DESCRIPTION
         "The 32-bit number that uniquely identifies the
         originating router in the Autonomous System."
      REFERENCE
         "OSPF Version 2, Appendix C.1 Global parameters"
      ::= { ospfLsdbEntry 4 }

 ospfLsdbSequence 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"
      ::= { ospfLsdbEntry 5 }

 ospfLsdbAge 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"
      ::= { ospfLsdbEntry 6 }

 ospfLsdbChecksum 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



Galecki, et al.             Standards Track                    [Page 31]

RFC 4750                       OSPFv2 MIB                  December 2006


         datagrams; it is commonly referred to as the
         Fletcher checksum."
       REFERENCE
          "OSPF Version 2, Section 12.1.7 LS checksum"
       ::= { ospfLsdbEntry 7 }

 ospfLsdbAdvertisement 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"
      ::= { ospfLsdbEntry 8 }

--  Address Range Table

 ospfAreaRangeTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfAreaRangeEntry
      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"
      ::= { ospf 5 }

 ospfAreaRangeEntry OBJECT-TYPE
      SYNTAX       OspfAreaRangeEntry
      MAX-ACCESS   not-accessible
      STATUS       obsolete
      DESCRIPTION



Galecki, et al.             Standards Track                    [Page 32]

RFC 4750                       OSPFv2 MIB                  December 2006


         "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 { ospfAreaRangeAreaId, ospfAreaRangeNet }
      ::= { ospfAreaRangeTable 1 }

 OspfAreaRangeEntry ::=
      SEQUENCE {
         ospfAreaRangeAreaId
            AreaID,
         ospfAreaRangeNet
            IpAddress,
         ospfAreaRangeMask
            IpAddress,
         ospfAreaRangeStatus
            RowStatus,
         ospfAreaRangeEffect
            INTEGER
         }

 ospfAreaRangeAreaId 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"
      ::= { ospfAreaRangeEntry 1 }

 ospfAreaRangeNet 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"
      ::= { ospfAreaRangeEntry 2 }




Galecki, et al.             Standards Track                    [Page 33]

RFC 4750                       OSPFv2 MIB                  December 2006


 ospfAreaRangeMask 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"
      ::= { ospfAreaRangeEntry 3 }

 ospfAreaRangeStatus 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."
      ::= { ospfAreaRangeEntry 4 }

 ospfAreaRangeEffect 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 }
      ::= { ospfAreaRangeEntry 5 }

--  OSPF Host Table

 ospfHostTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfHostEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "The Host/Metric Table indicates what hosts are directly



Galecki, et al.             Standards Track                    [Page 34]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfHostEntry OBJECT-TYPE
      SYNTAX       OspfHostEntry
      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 { ospfHostIpAddress, ospfHostTOS }
      ::= { ospfHostTable 1 }

 OspfHostEntry ::=
      SEQUENCE {
         ospfHostIpAddress
            IpAddress,
         ospfHostTOS
            TOSType,
         ospfHostMetric
            Metric,
         ospfHostStatus
            RowStatus,
         ospfHostAreaID
            AreaID,
         ospfHostCfgAreaID
            AreaID
         }

 ospfHostIpAddress 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"
      ::= { ospfHostEntry 1 }



Galecki, et al.             Standards Track                    [Page 35]

RFC 4750                       OSPFv2 MIB                  December 2006


 ospfHostTOS 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"
      ::= { ospfHostEntry 2 }

 ospfHostMetric 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"
      ::= { ospfHostEntry 3 }

 ospfHostStatus 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."
      ::= { ospfHostEntry 4 }

 ospfHostAreaID 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"
      ::= { ospfHostEntry 5 }

 ospfHostCfgAreaID OBJECT-TYPE
      SYNTAX       AreaID



Galecki, et al.             Standards Track                    [Page 36]

RFC 4750                       OSPFv2 MIB                  December 2006


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

--  OSPF Interface Table

 ospfIfTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfIfEntry
      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"
      ::= { ospf 7 }

 ospfIfEntry OBJECT-TYPE
      SYNTAX       OspfIfEntry
      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 { ospfIfIpAddress, ospfAddressLessIf }
      ::= { ospfIfTable 1 }

 OspfIfEntry ::=
      SEQUENCE {
         ospfIfIpAddress
            IpAddress,
         ospfAddressLessIf
            InterfaceIndexOrZero,
         ospfIfAreaId
            AreaID,
         ospfIfType
            INTEGER,
         ospfIfAdminStat



Galecki, et al.             Standards Track                    [Page 37]

RFC 4750                       OSPFv2 MIB                  December 2006


            Status,
         ospfIfRtrPriority
            DesignatedRouterPriority,
         ospfIfTransitDelay
            UpToMaxAge,
         ospfIfRetransInterval
            UpToMaxAge,
         ospfIfHelloInterval
            HelloRange,
         ospfIfRtrDeadInterval
            PositiveInteger,
         ospfIfPollInterval
            PositiveInteger,
         ospfIfState
            INTEGER,
         ospfIfDesignatedRouter
            IpAddress,
         ospfIfBackupDesignatedRouter
            IpAddress,
         ospfIfEvents
            Counter32,
         ospfIfAuthKey
            OCTET STRING,
         ospfIfStatus
            RowStatus,
         ospfIfMulticastForwarding
            INTEGER,
         ospfIfDemand
            TruthValue,
         ospfIfAuthType
            OspfAuthenticationType,
         ospfIfLsaCount
            Gauge32,
         ospfIfLsaCksumSum
            Unsigned32,
         ospfIfDesignatedRouterId
            RouterID,
         ospfIfBackupDesignatedRouterId
            RouterID
         }

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



Galecki, et al.             Standards Track                    [Page 38]

RFC 4750                       OSPFv2 MIB                  December 2006


      ::= { ospfIfEntry 1 }

 ospfAddressLessIf 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."
      ::= { ospfIfEntry 2 }

 ospfIfAreaId 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
      ::= { ospfIfEntry 3 }

 ospfIfType 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'."
       ::= { ospfIfEntry 4 }

 ospfIfAdminStat OBJECT-TYPE
      SYNTAX       Status



Galecki, et al.             Standards Track                    [Page 39]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfIfRtrPriority 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 }
       ::= { ospfIfEntry 6 }

 ospfIfTransitDelay 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 }
       ::= { ospfIfEntry 7 }

 ospfIfRetransInterval 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



Galecki, et al.             Standards Track                    [Page 40]

RFC 4750                       OSPFv2 MIB                  December 2006


         database description and Link State request packets.
         Note that minimal value SHOULD be 1 second."
      DEFVAL { 5 }
      ::= { ospfIfEntry 8 }

 ospfIfHelloInterval 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 }
      ::= { ospfIfEntry 9 }

 ospfIfRtrDeadInterval 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 }
       ::= { ospfIfEntry 10 }

 ospfIfPollInterval 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 }
      ::= { ospfIfEntry 11 }

 ospfIfState OBJECT-TYPE
      SYNTAX       INTEGER {
                      down (1),
                      loopback (2),
                      waiting (3),



Galecki, et al.             Standards Track                    [Page 41]

RFC 4750                       OSPFv2 MIB                  December 2006


                      pointToPoint (4),
                      designatedRouter (5),
                      backupDesignatedRouter (6),
                      otherDesignatedRouter (7)
                      }
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "The OSPF Interface State."
      DEFVAL { down }
      ::= { ospfIfEntry 12 }

 ospfIfDesignatedRouter 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
      ::= { ospfIfEntry 13 }

 ospfIfBackupDesignatedRouter 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
      ::= { ospfIfEntry 14 }

 ospfIfEvents 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."
      ::= { ospfIfEntry 15 }

 ospfIfAuthKey OBJECT-TYPE
      SYNTAX       OCTET STRING (SIZE (0..256))
      MAX-ACCESS   read-create
      STATUS       current



Galecki, et al.             Standards Track                    [Page 42]

RFC 4750                       OSPFv2 MIB                  December 2006


      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
      ::= { ospfIfEntry 16 }

 ospfIfStatus 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."
      ::= { ospfIfEntry 17 }

 ospfIfMulticastForwarding OBJECT-TYPE
      SYNTAX       INTEGER {
                      blocked (1), -- no multicast forwarding
                      multicast (2), -- using multicast address
                      unicast (3) -- to each OSPF neighbor



Galecki, et al.             Standards Track                    [Page 43]

RFC 4750                       OSPFv2 MIB                  December 2006


                      }
      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 }
      ::= { ospfIfEntry 18 }

 ospfIfDemand 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 }
      ::= { ospfIfEntry 19 }

 ospfIfAuthType OBJECT-TYPE
      SYNTAX       OspfAuthenticationType
      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
      ::= { ospfIfEntry 20 }

 ospfIfLsaCount 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."
      ::= { ospfIfEntry 21 }



Galecki, et al.             Standards Track                    [Page 44]

RFC 4750                       OSPFv2 MIB                  December 2006


 ospfIfLsaCksumSum 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."
      ::= { ospfIfEntry 22 }

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

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

--  OSPF Interface Metric Table

 ospfIfMetricTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfIfMetricEntry
      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:




Galecki, et al.             Standards Track                    [Page 45]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfIfMetricEntry OBJECT-TYPE
      SYNTAX       OspfIfMetricEntry
      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 { ospfIfMetricIpAddress,
         ospfIfMetricAddressLessIf,
         ospfIfMetricTOS }
      ::= { ospfIfMetricTable 1 }




Galecki, et al.             Standards Track                    [Page 46]

RFC 4750                       OSPFv2 MIB                  December 2006


 OspfIfMetricEntry ::=
      SEQUENCE {
         ospfIfMetricIpAddress
            IpAddress,
         ospfIfMetricAddressLessIf
            InterfaceIndexOrZero,
         ospfIfMetricTOS
            TOSType,
         ospfIfMetricValue
            Metric,
         ospfIfMetricStatus
            RowStatus
         }

 ospfIfMetricIpAddress 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."
      ::= { ospfIfMetricEntry 1 }

 ospfIfMetricAddressLessIf 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."
       ::= { ospfIfMetricEntry 2 }

 ospfIfMetricTOS 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."
      ::= { ospfIfMetricEntry 3 }



Galecki, et al.             Standards Track                    [Page 47]

RFC 4750                       OSPFv2 MIB                  December 2006


 ospfIfMetricValue 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."
      ::= { ospfIfMetricEntry 4 }

 ospfIfMetricStatus 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."
      ::= { ospfIfMetricEntry 5 }

--  OSPF Virtual Interface Table

 ospfVirtIfTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfVirtIfEntry
      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"
      ::= { ospf 9 }

 ospfVirtIfEntry OBJECT-TYPE
      SYNTAX       OspfVirtIfEntry
      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."



Galecki, et al.             Standards Track                    [Page 48]

RFC 4750                       OSPFv2 MIB                  December 2006


      INDEX { ospfVirtIfAreaId, ospfVirtIfNeighbor }
      ::= { ospfVirtIfTable 1 }

 OspfVirtIfEntry ::=
      SEQUENCE {
         ospfVirtIfAreaId
            AreaID,
         ospfVirtIfNeighbor
            RouterID,
         ospfVirtIfTransitDelay
            UpToMaxAge,
         ospfVirtIfRetransInterval
            UpToMaxAge,
         ospfVirtIfHelloInterval
            HelloRange,
         ospfVirtIfRtrDeadInterval
            PositiveInteger,
         ospfVirtIfState
            INTEGER,
         ospfVirtIfEvents
            Counter32,
         ospfVirtIfAuthKey
            OCTET STRING,
         ospfVirtIfStatus
            RowStatus,
         ospfVirtIfAuthType
            OspfAuthenticationType,
         ospfVirtIfLsaCount
            Gauge32,
         ospfVirtIfLsaCksumSum
            Unsigned32
         }

 ospfVirtIfAreaId 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."
      ::= { ospfVirtIfEntry 1 }

 ospfVirtIfNeighbor OBJECT-TYPE
      SYNTAX       RouterID
      MAX-ACCESS   read-only -- read-only since originally an
                             -- SMIv1 index
      STATUS       current



Galecki, et al.             Standards Track                    [Page 49]

RFC 4750                       OSPFv2 MIB                  December 2006


      DESCRIPTION
         "The Router ID of the virtual neighbor."
      ::= { ospfVirtIfEntry 2 }

 ospfVirtIfTransitDelay 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 }
      ::= { ospfVirtIfEntry 3 }

 ospfVirtIfRetransInterval 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 }
      ::= { ospfVirtIfEntry 4 }

 ospfVirtIfHelloInterval 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 }
      ::= { ospfVirtIfEntry 5 }

 ospfVirtIfRtrDeadInterval OBJECT-TYPE



Galecki, et al.             Standards Track                    [Page 50]

RFC 4750                       OSPFv2 MIB                  December 2006


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

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

 ospfVirtIfEvents 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."
      ::= { ospfVirtIfEntry 8 }

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



Galecki, et al.             Standards Track                    [Page 51]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfVirtIfStatus 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."
       ::= { ospfVirtIfEntry 10 }

 ospfVirtIfAuthType OBJECT-TYPE
      SYNTAX       OspfAuthenticationType
      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



Galecki, et al.             Standards Track                    [Page 52]

RFC 4750                       OSPFv2 MIB                  December 2006


      ::= { ospfVirtIfEntry 11 }

 ospfVirtIfLsaCount 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."
      ::= { ospfVirtIfEntry 12 }

 ospfVirtIfLsaCksumSum 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."
      ::= { ospfVirtIfEntry 13 }

--  OSPF Neighbor Table

 ospfNbrTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfNbrEntry
      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"
      ::= { ospf 10 }

 ospfNbrEntry OBJECT-TYPE
      SYNTAX       OspfNbrEntry
      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



Galecki, et al.             Standards Track                    [Page 53]

RFC 4750                       OSPFv2 MIB                  December 2006


         storage."
      REFERENCE
         "OSPF Version 2, Section 10 The Neighbor Data
         Structure"
      INDEX { ospfNbrIpAddr, ospfNbrAddressLessIndex }
      ::= { ospfNbrTable 1 }

 OspfNbrEntry ::=
      SEQUENCE {
         ospfNbrIpAddr
            IpAddress,
         ospfNbrAddressLessIndex
            InterfaceIndexOrZero,
         ospfNbrRtrId
            RouterID,
         ospfNbrOptions
            Integer32,
         ospfNbrPriority
            DesignatedRouterPriority,
         ospfNbrState
            INTEGER,
         ospfNbrEvents
            Counter32,
         ospfNbrLsRetransQLen
            Gauge32,
         ospfNbmaNbrStatus
            RowStatus,
         ospfNbmaNbrPermanence
            INTEGER,
         ospfNbrHelloSuppressed
            TruthValue,
         ospfNbrRestartHelperStatus
            INTEGER,
         ospfNbrRestartHelperAge
            Unsigned32,
         ospfNbrRestartHelperExitReason
            INTEGER
         }

 ospfNbrIpAddr 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



Galecki, et al.             Standards Track                    [Page 54]

RFC 4750                       OSPFv2 MIB                  December 2006


         address of another of the neighbor's interfaces."
      ::= { ospfNbrEntry 1 }

  ospfNbrAddressLessIndex 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."
       ::= { ospfNbrEntry 2 }

 ospfNbrRtrId 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
      ::= { ospfNbrEntry 3 }

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



Galecki, et al.             Standards Track                    [Page 55]

RFC 4750                       OSPFv2 MIB                  December 2006


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

  ospfNbrPriority 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 }
      ::= { ospfNbrEntry 5 }

  ospfNbrState 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 }
        ::= { ospfNbrEntry 6 }

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



Galecki, et al.             Standards Track                    [Page 56]

RFC 4750                       OSPFv2 MIB                  December 2006


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

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

 ospfNbmaNbrStatus 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."
      ::= { ospfNbrEntry 9 }

 ospfNbmaNbrPermanence 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 }
      ::= { ospfNbrEntry 10 }

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



Galecki, et al.             Standards Track                    [Page 57]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfNbrRestartHelperStatus 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."
         ::= { ospfNbrEntry 12 }

 ospfNbrRestartHelperAge 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."
      ::= { ospfNbrEntry 13 }

 ospfNbrRestartHelperExitReason 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."
      ::= { ospfNbrEntry 14 }

--  OSPF Virtual Neighbor Table




Galecki, et al.             Standards Track                    [Page 58]

RFC 4750                       OSPFv2 MIB                  December 2006


 ospfVirtNbrTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfVirtNbrEntry
      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"
      ::= { ospf 11 }

 ospfVirtNbrEntry OBJECT-TYPE
      SYNTAX       OspfVirtNbrEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "Virtual neighbor information."
      INDEX { ospfVirtNbrArea, ospfVirtNbrRtrId }
      ::= { ospfVirtNbrTable 1 }

 OspfVirtNbrEntry ::=
      SEQUENCE {
         ospfVirtNbrArea
            AreaID,
         ospfVirtNbrRtrId
            RouterID,
         ospfVirtNbrIpAddr
            IpAddress,
         ospfVirtNbrOptions
            Integer32,
         ospfVirtNbrState
            INTEGER,
         ospfVirtNbrEvents
            Counter32,
         ospfVirtNbrLsRetransQLen
            Gauge32,
         ospfVirtNbrHelloSuppressed
            TruthValue,
         ospfVirtNbrRestartHelperStatus
            INTEGER,
         ospfVirtNbrRestartHelperAge
            Unsigned32,
         ospfVirtNbrRestartHelperExitReason
            INTEGER
         }

 ospfVirtNbrArea OBJECT-TYPE



Galecki, et al.             Standards Track                    [Page 59]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfVirtNbrRtrId 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."
      ::= { ospfVirtNbrEntry 2 }

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

 ospfVirtNbrOptions 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."
      ::= { ospfVirtNbrEntry 4 }

  ospfVirtNbrState OBJECT-TYPE
      SYNTAX       INTEGER {
                      down (1),
                      attempt (2),



Galecki, et al.             Standards Track                    [Page 60]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfVirtNbrEvents 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."
      ::= { ospfVirtNbrEntry 6 }

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

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

 ospfVirtNbrRestartHelperStatus OBJECT-TYPE
      SYNTAX       INTEGER { notHelping (1),
                             helping (2)
                           }



Galecki, et al.             Standards Track                    [Page 61]

RFC 4750                       OSPFv2 MIB                  December 2006


      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
         "Indicates whether the router is acting
         as a graceful restart helper for the neighbor."
      ::= { ospfVirtNbrEntry 9 }

 ospfVirtNbrRestartHelperAge 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."
      ::= { ospfVirtNbrEntry 10 }

 ospfVirtNbrRestartHelperExitReason 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."
      ::= { ospfVirtNbrEntry 11 }

--  OSPF Link State Database, External

 ospfExtLsdbTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfExtLsdbEntry
      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



Galecki, et al.             Standards Track                    [Page 62]

RFC 4750                       OSPFv2 MIB                  December 2006


         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"
      ::= { ospf 12 }

 ospfExtLsdbEntry OBJECT-TYPE
      SYNTAX       OspfExtLsdbEntry
      MAX-ACCESS   not-accessible
      STATUS       deprecated
      DESCRIPTION
         "A single link state advertisement."
      INDEX { ospfExtLsdbType, ospfExtLsdbLsid, ospfExtLsdbRouterId }
      ::= { ospfExtLsdbTable 1 }

 OspfExtLsdbEntry ::=
      SEQUENCE {
         ospfExtLsdbType
            INTEGER,
         ospfExtLsdbLsid
            IpAddress,
         ospfExtLsdbRouterId
            RouterID,
         ospfExtLsdbSequence
            Integer32,
         ospfExtLsdbAge
            Integer32,
         ospfExtLsdbChecksum
            Integer32,
         ospfExtLsdbAdvertisement
            OCTET STRING
         }

 ospfExtLsdbType 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



Galecki, et al.             Standards Track                    [Page 63]

RFC 4750                       OSPFv2 MIB                  December 2006


         "OSPF Version 2, Appendix A.4.1 The Link State
         Advertisement header"

      ::= { ospfExtLsdbEntry 1 }

 ospfExtLsdbLsid 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"
      ::= { ospfExtLsdbEntry 2 }

 ospfExtLsdbRouterId 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"
      ::= { ospfExtLsdbEntry 3 }

 ospfExtLsdbSequence 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"
      ::= { ospfExtLsdbEntry 4 }



Galecki, et al.             Standards Track                    [Page 64]

RFC 4750                       OSPFv2 MIB                  December 2006


 ospfExtLsdbAge 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"
      ::= { ospfExtLsdbEntry 5 }

 ospfExtLsdbChecksum 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"
      ::= { ospfExtLsdbEntry 6 }

 ospfExtLsdbAdvertisement 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"
      ::= { ospfExtLsdbEntry 7 }

--  OSPF Use of the CIDR Route Table

 ospfRouteGroup    OBJECT IDENTIFIER ::= { ospf 13 }

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



Galecki, et al.             Standards Track                    [Page 65]

RFC 4750                       OSPFv2 MIB                  December 2006


--     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, ospf (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.

 ospfIntraArea      OBJECT IDENTIFIER ::= { ospfRouteGroup 1 }
 ospfInterArea      OBJECT IDENTIFIER ::= { ospfRouteGroup 2 }
 ospfExternalType1  OBJECT IDENTIFIER ::= { ospfRouteGroup 3 }
 ospfExternalType2  OBJECT IDENTIFIER ::= { ospfRouteGroup 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.

  ospfAreaAggregateTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfAreaAggregateEntry
      MAX-ACCESS   not-accessible
      STATUS       current



Galecki, et al.             Standards Track                    [Page 66]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfAreaAggregateEntry OBJECT-TYPE
      SYNTAX   OspfAreaAggregateEntry
      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 { ospfAreaAggregateAreaID, ospfAreaAggregateLsdbType,
         ospfAreaAggregateNet, ospfAreaAggregateMask }
      ::= { ospfAreaAggregateTable 1 }

 OspfAreaAggregateEntry ::=
      SEQUENCE {
         ospfAreaAggregateAreaID
            AreaID,
         ospfAreaAggregateLsdbType
            INTEGER,
         ospfAreaAggregateNet
            IpAddress,
         ospfAreaAggregateMask
            IpAddress,
         ospfAreaAggregateStatus



Galecki, et al.             Standards Track                    [Page 67]

RFC 4750                       OSPFv2 MIB                  December 2006


            RowStatus,
         ospfAreaAggregateEffect
            INTEGER,
         ospfAreaAggregateExtRouteTag
            Unsigned32
         }

 ospfAreaAggregateAreaID 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"
      ::= { ospfAreaAggregateEntry 1 }

 ospfAreaAggregateLsdbType 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"
      ::= { ospfAreaAggregateEntry 2 }

 ospfAreaAggregateNet 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"
      ::= { ospfAreaAggregateEntry 3 }




Galecki, et al.             Standards Track                    [Page 68]

RFC 4750                       OSPFv2 MIB                  December 2006


 ospfAreaAggregateMask 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"
      ::= { ospfAreaAggregateEntry 4 }

 ospfAreaAggregateStatus 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."
      ::= { ospfAreaAggregateEntry 5 }

 ospfAreaAggregateEffect 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 }
      ::= { ospfAreaAggregateEntry 6 }

 ospfAreaAggregateExtRouteTag OBJECT-TYPE
      SYNTAX       Unsigned32
      MAX-ACCESS   read-create
      STATUS       current
      DESCRIPTION
         "External route tag to be included in NSSA (type-7)
          LSAs."



Galecki, et al.             Standards Track                    [Page 69]

RFC 4750                       OSPFv2 MIB                  December 2006


      DEFVAL { 0 }
      ::= { ospfAreaAggregateEntry 7 }

--  OSPF Link State Database, link-local for non-virtual links


 ospfLocalLsdbTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfLocalLsdbEntry
      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"
      ::= { ospf 17 }

 ospfLocalLsdbEntry OBJECT-TYPE
      SYNTAX       OspfLocalLsdbEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "A single link state advertisement."
      INDEX { ospfLocalLsdbIpAddress, ospfLocalLsdbAddressLessIf,
         ospfLocalLsdbType, ospfLocalLsdbLsid, ospfLocalLsdbRouterId
         }
      ::= { ospfLocalLsdbTable 1 }

 OspfLocalLsdbEntry ::=
      SEQUENCE {
         ospfLocalLsdbIpAddress
            IpAddress,
         ospfLocalLsdbAddressLessIf
            InterfaceIndexOrZero,
         ospfLocalLsdbType
            INTEGER,
         ospfLocalLsdbLsid
            IpAddress,
         ospfLocalLsdbRouterId
            RouterID,



Galecki, et al.             Standards Track                    [Page 70]

RFC 4750                       OSPFv2 MIB                  December 2006


         ospfLocalLsdbSequence
            Integer32,
         ospfLocalLsdbAge
            Integer32,
         ospfLocalLsdbChecksum
            Integer32,
         ospfLocalLsdbAdvertisement
            OCTET STRING
         }

 ospfLocalLsdbIpAddress 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"
      ::= { ospfLocalLsdbEntry 1 }

 ospfLocalLsdbAddressLessIf 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"
      ::= { ospfLocalLsdbEntry 2 }

 ospfLocalLsdbType 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"
      ::= { ospfLocalLsdbEntry 3 }

 ospfLocalLsdbLsid OBJECT-TYPE



Galecki, et al.             Standards Track                    [Page 71]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfLocalLsdbRouterId 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"
      ::= { ospfLocalLsdbEntry 5 }

 ospfLocalLsdbSequence 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"
      ::= { ospfLocalLsdbEntry 6 }

 ospfLocalLsdbAge OBJECT-TYPE
      SYNTAX       Integer32 -- Should be 0..MaxAge, except when
                             -- doNotAge bit is set
      UNITS        "seconds"
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION



Galecki, et al.             Standards Track                    [Page 72]

RFC 4750                       OSPFv2 MIB                  December 2006


         "This field is the age of the link state
         advertisement in seconds."
      REFERENCE
         "OSPF Version 2, Section 12.1.1 LS age"
      ::= { ospfLocalLsdbEntry 7 }

 ospfLocalLsdbChecksum 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"
      ::= { ospfLocalLsdbEntry 8 }

 ospfLocalLsdbAdvertisement 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"
      ::= { ospfLocalLsdbEntry 9 }

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

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




Galecki, et al.             Standards Track                    [Page 73]

RFC 4750                       OSPFv2 MIB                  December 2006


         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"
      ::= { ospf 18 }

 ospfVirtLocalLsdbEntry OBJECT-TYPE
      SYNTAX       OspfVirtLocalLsdbEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "A single link state advertisement."
      INDEX { ospfVirtLocalLsdbTransitArea,
         ospfVirtLocalLsdbNeighbor,
         ospfVirtLocalLsdbType,
         ospfVirtLocalLsdbLsid,
         ospfVirtLocalLsdbRouterId
         }
      ::= { ospfVirtLocalLsdbTable 1 }

 OspfVirtLocalLsdbEntry ::=
      SEQUENCE {
         ospfVirtLocalLsdbTransitArea
            AreaID,
         ospfVirtLocalLsdbNeighbor
            RouterID,
         ospfVirtLocalLsdbType
            INTEGER,
         ospfVirtLocalLsdbLsid
            IpAddress,
         ospfVirtLocalLsdbRouterId
            RouterID,
         ospfVirtLocalLsdbSequence
            Integer32,
         ospfVirtLocalLsdbAge
            Integer32,
         ospfVirtLocalLsdbChecksum
            Integer32,
         ospfVirtLocalLsdbAdvertisement
           OCTET STRING
         }

 ospfVirtLocalLsdbTransitArea OBJECT-TYPE



Galecki, et al.             Standards Track                    [Page 74]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfVirtLocalLsdbNeighbor 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"
      ::= { ospfVirtLocalLsdbEntry 2 }

 ospfVirtLocalLsdbType 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"
      ::= { ospfVirtLocalLsdbEntry 3 }

 ospfVirtLocalLsdbLsid 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"
      ::= { ospfVirtLocalLsdbEntry 4 }

 ospfVirtLocalLsdbRouterId OBJECT-TYPE
      SYNTAX       RouterID



Galecki, et al.             Standards Track                    [Page 75]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfVirtLocalLsdbSequence 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"
      ::= { ospfVirtLocalLsdbEntry 6 }

 ospfVirtLocalLsdbAge 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"
      ::= { ospfVirtLocalLsdbEntry 7 }

 ospfVirtLocalLsdbChecksum 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



Galecki, et al.             Standards Track                    [Page 76]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfVirtLocalLsdbAdvertisement 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."
      ::= { ospfVirtLocalLsdbEntry 9 }

--  OSPF Link State Database, AS-scope

 ospfAsLsdbTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF OspfAsLsdbEntry
      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"
      ::= { ospf 19 }

 ospfAsLsdbEntry OBJECT-TYPE
      SYNTAX       OspfAsLsdbEntry



Galecki, et al.             Standards Track                    [Page 77]

RFC 4750                       OSPFv2 MIB                  December 2006


      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "A single link state advertisement."
      INDEX { ospfAsLsdbType, ospfAsLsdbLsid, ospfAsLsdbRouterId }
      ::= { ospfAsLsdbTable 1 }

 OspfAsLsdbEntry ::=
      SEQUENCE {
         ospfAsLsdbType
            INTEGER,
         ospfAsLsdbLsid
            IpAddress,
         ospfAsLsdbRouterId
            RouterID,
         ospfAsLsdbSequence
            Integer32,
         ospfAsLsdbAge
            Integer32,
         ospfAsLsdbChecksum
            Integer32,
         ospfAsLsdbAdvertisement
            OCTET STRING
         }

 ospfAsLsdbType 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"
      ::= { ospfAsLsdbEntry 1 }

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



Galecki, et al.             Standards Track                    [Page 78]

RFC 4750                       OSPFv2 MIB                  December 2006


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

 ospfAsLsdbRouterId 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"
      ::= { ospfAsLsdbEntry 3 }

 ospfAsLsdbSequence 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"
      ::= { ospfAsLsdbEntry 4 }

 ospfAsLsdbAge 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"
      ::= { ospfAsLsdbEntry 5 }




Galecki, et al.             Standards Track                    [Page 79]

RFC 4750                       OSPFv2 MIB                  December 2006


 ospfAsLsdbChecksum 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"
      ::= { ospfAsLsdbEntry 6 }

 ospfAsLsdbAdvertisement 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."
      ::= { ospfAsLsdbEntry 7 }

--  OSPF Area LSA Counter Table

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

     ospfAreaLsaCountEntry OBJECT-TYPE
         SYNTAX       OspfAreaLsaCountEntry
         MAX-ACCESS   not-accessible
         STATUS       current
         DESCRIPTION
            "An entry with a number of link advertisements



Galecki, et al.             Standards Track                    [Page 80]

RFC 4750                       OSPFv2 MIB                  December 2006


             of a given type for a given area."
         INDEX { ospfAreaLsaCountAreaId, ospfAreaLsaCountLsaType }
         ::= { ospfAreaLsaCountTable 1 }

     OspfAreaLsaCountEntry ::=
          SEQUENCE {
             ospfAreaLsaCountAreaId
                AreaID,
             ospfAreaLsaCountLsaType
                INTEGER,
             ospfAreaLsaCountNumber
                Gauge32
          }

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

     ospfAreaLsaCountLsaType 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."
        ::= { ospfAreaLsaCountEntry 2 }

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

-- conformance information




Galecki, et al.             Standards Track                    [Page 81]

RFC 4750                       OSPFv2 MIB                  December 2006


ospfConformance OBJECT IDENTIFIER ::= { ospf 15 }

ospfGroups      OBJECT IDENTIFIER ::= { ospfConformance 1 }
ospfCompliances OBJECT IDENTIFIER ::= { ospfConformance 2 }

-- compliance statements

 ospfCompliance MODULE-COMPLIANCE
      STATUS       deprecated
      DESCRIPTION
         "The compliance statement for OSPF systems
         conforming to RFC 1850."
      MODULE       -- this module
      MANDATORY-GROUPS {
          ospfBasicGroup,
          ospfAreaGroup,
          ospfStubAreaGroup,
          ospfIfGroup,
          ospfIfMetricGroup,
          ospfVirtIfGroup,
          ospfNbrGroup,
          ospfVirtNbrGroup,
          ospfAreaAggregateGroup
          }
      GROUP  ospfHostGroup
         DESCRIPTION
            "This group is mandatory for OSPF systems that support
            attached hosts."
      GROUP  ospfLsdbGroup
         DESCRIPTION
            "This group is mandatory for OSPF systems that display
            their per-area link state database."
      GROUP  ospfExtLsdbGroup
         DESCRIPTION
            "This group is mandatory for OSPF systems that display
            their external link state database."
      ::= { ospfCompliances 1 }

 ospfCompliance2 MODULE-COMPLIANCE
      STATUS       current
      DESCRIPTION
         "The compliance statement."
      MODULE       -- this module
      MANDATORY-GROUPS {
         ospfBasicGroup2,
         ospfAreaGroup2,
         ospfStubAreaGroup,
         ospfIfGroup2,



Galecki, et al.             Standards Track                    [Page 82]

RFC 4750                       OSPFv2 MIB                  December 2006


         ospfIfMetricGroup,
         ospfVirtIfGroup2,
         ospfNbrGroup2,
         ospfVirtNbrGroup2,
         ospfAreaAggregateGroup2
         }
      GROUP  ospfHostGroup2
         DESCRIPTION
            "This group is mandatory for OSPF systems that support
            attached hosts."
      GROUP  ospfLsdbGroup
         DESCRIPTION
            "This group is mandatory for OSPF systems that display
            their per-area link state database."
      GROUP  ospfAsLsdbGroup
         DESCRIPTION
            "This group is mandatory for OSPF systems that display
            their AS-scope link state database."
      GROUP  ospfLocalLsdbGroup
         DESCRIPTION
            "This group is mandatory for OSPF systems that display
            their per-link link state database for non-virtual
            links."
      GROUP  ospfVirtLocalLsdbGroup
         DESCRIPTION
            "This group is mandatory for OSPF systems that display
            their per-link link state database for virtual links."
      GROUP ospfAreaLsaCountGroup
         DESCRIPTION
            "This group is mandatory for OSPF systems that display
            per-area, per-LSA-type counters."
      ::= { ospfCompliances 2 }

 ospfComplianceObsolete MODULE-COMPLIANCE
      STATUS       obsolete
      DESCRIPTION
         "Contains obsolete object groups."
      MODULE       -- this module
      GROUP  ospfAreaRangeGroup
         DESCRIPTION
            "This group is obsolete, and it is mandatory only
            for non-Classless Inter-Domain Routing (CIDR) OSPF
            systems that support multiple areas."
      GROUP  ospfObsoleteGroup
         DESCRIPTION
            "This group contains obsolete objects,
            which are no longer required for OSPF systems."
      ::= { ospfCompliances 3 }



Galecki, et al.             Standards Track                    [Page 83]

RFC 4750                       OSPFv2 MIB                  December 2006


--  units of conformance

 ospfBasicGroup    OBJECT-GROUP
      OBJECTS {
         ospfRouterId,
         ospfAdminStat,
         ospfVersionNumber,
         ospfAreaBdrRtrStatus,
         ospfASBdrRtrStatus,
         ospfExternLsaCount,
         ospfExternLsaCksumSum,
         ospfTOSSupport,
         ospfOriginateNewLsas,
         ospfRxNewLsas,
         ospfExtLsdbLimit,
         ospfMulticastExtensions,
         ospfExitOverflowInterval,
         ospfDemandExtensions
         }
      STATUS      deprecated
      DESCRIPTION
         "These objects are used to monitor/manage
         global OSPF parameters.  This object group
         conforms to RFC 1850."
      ::= { ospfGroups 1 }

 ospfAreaGroup    OBJECT-GROUP
      OBJECTS {
         ospfAreaId,
         ospfImportAsExtern,
         ospfSpfRuns,
         ospfAreaBdrRtrCount,
         ospfAsBdrRtrCount,
         ospfAreaLsaCount,
         ospfAreaLsaCksumSum,
         ospfAreaSummary,
         ospfAreaStatus
         }
      STATUS      deprecated
      DESCRIPTION
         "These objects are used for OSPF systems
         supporting areas per RFC 1850."
      ::= { ospfGroups 2 }

 ospfStubAreaGroup    OBJECT-GROUP
      OBJECTS {
         ospfStubAreaId,
         ospfStubTOS,



Galecki, et al.             Standards Track                    [Page 84]

RFC 4750                       OSPFv2 MIB                  December 2006


         ospfStubMetric,
         ospfStubStatus,
         ospfStubMetricType
         }
      STATUS       current
      DESCRIPTION
         "These objects are used for OSPF systems
         supporting stub areas."
      ::= { ospfGroups 3 }

  ospfLsdbGroup    OBJECT-GROUP
      OBJECTS {
         ospfLsdbAreaId,
         ospfLsdbType,
         ospfLsdbLsid,
         ospfLsdbRouterId,
         ospfLsdbSequence,
         ospfLsdbAge,
         ospfLsdbChecksum,
         ospfLsdbAdvertisement
         }
      STATUS       current
      DESCRIPTION
         "These objects are used for OSPF systems
         that display their link state database."
      ::= { ospfGroups 4 }

  ospfAreaRangeGroup    OBJECT-GROUP
      OBJECTS {
         ospfAreaRangeAreaId,
         ospfAreaRangeNet,
         ospfAreaRangeMask,
         ospfAreaRangeStatus,
         ospfAreaRangeEffect
         }
      STATUS  obsolete
      DESCRIPTION
         "These objects are used for non-CIDR OSPF
         systems that support multiple areas.  This
         object group is obsolete."
      ::= { ospfGroups 5 }

 ospfHostGroup    OBJECT-GROUP
      OBJECTS {
         ospfHostIpAddress,
         ospfHostTOS,
         ospfHostMetric,
         ospfHostStatus,



Galecki, et al.             Standards Track                    [Page 85]

RFC 4750                       OSPFv2 MIB                  December 2006


         ospfHostAreaID
         }
      STATUS       deprecated
      DESCRIPTION
         "These objects are used for OSPF systems
         that support attached hosts."
      ::= { ospfGroups 6 }

 ospfIfGroup    OBJECT-GROUP
      OBJECTS {
         ospfIfIpAddress,
         ospfAddressLessIf,
         ospfIfAreaId,
         ospfIfType,
         ospfIfAdminStat,
         ospfIfRtrPriority,
         ospfIfTransitDelay,
         ospfIfRetransInterval,
         ospfIfHelloInterval,
         ospfIfRtrDeadInterval,
         ospfIfPollInterval,
         ospfIfState,
         ospfIfDesignatedRouter,
         ospfIfBackupDesignatedRouter,
         ospfIfEvents,
         ospfIfAuthType,
         ospfIfAuthKey,
         ospfIfStatus,
         ospfIfMulticastForwarding,
         ospfIfDemand
         }
      STATUS       deprecated
      DESCRIPTION
         "These objects are used to monitor/manage OSPF
         interfaces.  This object group conforms to RFC 1850."
      ::= { ospfGroups 7 }

 ospfIfMetricGroup    OBJECT-GROUP
      OBJECTS {
         ospfIfMetricIpAddress,
         ospfIfMetricAddressLessIf,
         ospfIfMetricTOS,
         ospfIfMetricValue,
         ospfIfMetricStatus
         }
      STATUS       current
      DESCRIPTION
         "These objects are used for OSPF systems for supporting



Galecki, et al.             Standards Track                    [Page 86]

RFC 4750                       OSPFv2 MIB                  December 2006


         interface metrics."
      ::= { ospfGroups 8 }

 ospfVirtIfGroup    OBJECT-GROUP
      OBJECTS {
         ospfVirtIfAreaId,
         ospfVirtIfNeighbor,
         ospfVirtIfTransitDelay,
         ospfVirtIfRetransInterval,
         ospfVirtIfHelloInterval,
         ospfVirtIfRtrDeadInterval,
         ospfVirtIfState,
         ospfVirtIfEvents,
         ospfVirtIfAuthType,
         ospfVirtIfAuthKey,
         ospfVirtIfStatus
         }
       STATUS       deprecated
       DESCRIPTION
         "These objects are used for OSPF systems for supporting
         virtual interfaces.  This object group conforms
         to RFC 1850."
       ::= { ospfGroups 9 }

 ospfNbrGroup    OBJECT-GROUP
      OBJECTS {
         ospfNbrIpAddr,
         ospfNbrAddressLessIndex,
         ospfNbrRtrId,
         ospfNbrOptions,
         ospfNbrPriority,
         ospfNbrState,
         ospfNbrEvents,
         ospfNbrLsRetransQLen,
         ospfNbmaNbrStatus,
         ospfNbmaNbrPermanence,
         ospfNbrHelloSuppressed
         }
      STATUS       deprecated
      DESCRIPTION
         "These objects are used to monitor/manage OSPF neighbors.
         This object group conforms to RFC 1850."
      ::= { ospfGroups 10 }

 ospfVirtNbrGroup    OBJECT-GROUP
      OBJECTS {
         ospfVirtNbrArea,
         ospfVirtNbrRtrId,



Galecki, et al.             Standards Track                    [Page 87]

RFC 4750                       OSPFv2 MIB                  December 2006


         ospfVirtNbrIpAddr,
         ospfVirtNbrOptions,
         ospfVirtNbrState,
         ospfVirtNbrEvents,
         ospfVirtNbrLsRetransQLen,
         ospfVirtNbrHelloSuppressed
         }
      STATUS       deprecated
      DESCRIPTION
         "These objects are used to monitor/manage OSPF virtual
         neighbors.  This object group conforms to RFC 1850."

      ::= { ospfGroups 11 }

 ospfExtLsdbGroup    OBJECT-GROUP
      OBJECTS {
         ospfExtLsdbType,
         ospfExtLsdbLsid,
         ospfExtLsdbRouterId,
         ospfExtLsdbSequence,
         ospfExtLsdbAge,
         ospfExtLsdbChecksum,
         ospfExtLsdbAdvertisement
         }
      STATUS       deprecated
      DESCRIPTION
         "These objects are used for OSPF systems that display
         their link state database.  This object group
         conforms to RFC 1850.

         This object group is replaced by the ospfAsLsdbGroup
         in order to support any AS-scope LSA type in a single
         table."
      ::= { ospfGroups 12 }

 ospfAreaAggregateGroup    OBJECT-GROUP
      OBJECTS {
         ospfAreaAggregateAreaID,
         ospfAreaAggregateLsdbType,
         ospfAreaAggregateNet,
         ospfAreaAggregateMask,
         ospfAreaAggregateStatus,
         ospfAreaAggregateEffect
         }
      STATUS       deprecated
      DESCRIPTION
         "These objects are used for OSPF systems to support
         network prefix aggregation across areas."



Galecki, et al.             Standards Track                    [Page 88]

RFC 4750                       OSPFv2 MIB                  December 2006


      ::= { ospfGroups 13 }

 ospfLocalLsdbGroup    OBJECT-GROUP
      OBJECTS {
         ospfLocalLsdbSequence,
         ospfLocalLsdbAge,
         ospfLocalLsdbChecksum,
         ospfLocalLsdbAdvertisement
         }
      STATUS      current
      DESCRIPTION
         "These objects are used for OSPF systems
         that display their link-local link state databases
         for non-virtual links."
       ::= { ospfGroups 14 }

 ospfVirtLocalLsdbGroup    OBJECT-GROUP
      OBJECTS {
         ospfVirtLocalLsdbSequence,
         ospfVirtLocalLsdbAge,
         ospfVirtLocalLsdbChecksum,
         ospfVirtLocalLsdbAdvertisement
         }
       STATUS       current
       DESCRIPTION
          "These objects are used for OSPF systems
          that display their link-local link state databases
          for virtual links."
        ::= { ospfGroups 15 }

 ospfAsLsdbGroup    OBJECT-GROUP
      OBJECTS {
         ospfAsLsdbSequence,
         ospfAsLsdbAge,
         ospfAsLsdbChecksum,
         ospfAsLsdbAdvertisement
         }
       STATUS       current
       DESCRIPTION
          "These objects are used for OSPF systems
          that display their AS-scope link state database."
        ::= { ospfGroups 16 }

 ospfBasicGroup2    OBJECT-GROUP
      OBJECTS {
         ospfRouterId,
         ospfAdminStat,
         ospfVersionNumber,



Galecki, et al.             Standards Track                    [Page 89]

RFC 4750                       OSPFv2 MIB                  December 2006


         ospfAreaBdrRtrStatus,
         ospfASBdrRtrStatus,
         ospfExternLsaCount,
         ospfExternLsaCksumSum,
         ospfTOSSupport,
         ospfOriginateNewLsas,
         ospfRxNewLsas,
         ospfExtLsdbLimit,
         ospfMulticastExtensions,
         ospfExitOverflowInterval,
         ospfDemandExtensions,
         ospfRFC1583Compatibility,
         ospfOpaqueLsaSupport,
         ospfReferenceBandwidth,
         ospfRestartSupport,
         ospfRestartInterval,
         ospfRestartStrictLsaChecking,
         ospfRestartStatus,
         ospfRestartAge,
         ospfRestartExitReason,
         ospfAsLsaCount,
         ospfAsLsaCksumSum,
         ospfStubRouterSupport,
         ospfStubRouterAdvertisement,
         ospfDiscontinuityTime
         }
      STATUS       current
      DESCRIPTION
         "These objects are used to monitor/manage OSPF global
         parameters."
      ::= { ospfGroups 17 }

 ospfAreaGroup2    OBJECT-GROUP
      OBJECTS {
         ospfAreaId,
         ospfImportAsExtern,
         ospfSpfRuns,
         ospfAreaBdrRtrCount,
         ospfAsBdrRtrCount,
         ospfAreaLsaCount,
         ospfAreaLsaCksumSum,
         ospfAreaSummary,
         ospfAreaStatus,
         ospfAreaNssaTranslatorRole,
         ospfAreaNssaTranslatorState,
         ospfAreaNssaTranslatorStabilityInterval,
         ospfAreaNssaTranslatorEvents
         }



Galecki, et al.             Standards Track                    [Page 90]

RFC 4750                       OSPFv2 MIB                  December 2006


      STATUS       current
      DESCRIPTION
           "These objects are used by OSPF systems
           to support areas."
      ::= { ospfGroups 18 }

 ospfIfGroup2    OBJECT-GROUP
      OBJECTS {
         ospfIfIpAddress,
         ospfAddressLessIf,
         ospfIfAreaId,
         ospfIfType,
         ospfIfAdminStat,
         ospfIfRtrPriority,
         ospfIfTransitDelay,
         ospfIfRetransInterval,
         ospfIfHelloInterval,
         ospfIfRtrDeadInterval,
         ospfIfPollInterval,
         ospfIfState,
         ospfIfDesignatedRouter,
         ospfIfBackupDesignatedRouter,
         ospfIfEvents,
         ospfIfAuthType,
         ospfIfAuthKey,
         ospfIfStatus,
         ospfIfMulticastForwarding,
         ospfIfDemand,
         ospfIfLsaCount,
         ospfIfLsaCksumSum
         }
      STATUS       current
      DESCRIPTION
         "These objects are used to monitor/manage OSPF interfaces."
       ::= { ospfGroups 19 }

 ospfVirtIfGroup2    OBJECT-GROUP
      OBJECTS {
         ospfVirtIfAreaId,
         ospfVirtIfNeighbor,
         ospfVirtIfTransitDelay,
         ospfVirtIfRetransInterval,
         ospfVirtIfHelloInterval,
         ospfVirtIfRtrDeadInterval,
         ospfVirtIfState,
         ospfVirtIfEvents,
         ospfVirtIfAuthType,
         ospfVirtIfAuthKey,



Galecki, et al.             Standards Track                    [Page 91]

RFC 4750                       OSPFv2 MIB                  December 2006


         ospfVirtIfStatus,
         ospfVirtIfLsaCount,
         ospfVirtIfLsaCksumSum,
         ospfIfDesignatedRouterId,
         ospfIfBackupDesignatedRouterId
         }
      STATUS       current
      DESCRIPTION
         "These objects are used to monitor/manage OSPF
         virtual interfaces."
      ::= { ospfGroups 20 }

 ospfNbrGroup2    OBJECT-GROUP
      OBJECTS {
         ospfNbrIpAddr,
         ospfNbrAddressLessIndex,
         ospfNbrRtrId,
         ospfNbrOptions,
         ospfNbrPriority,
         ospfNbrState,
         ospfNbrEvents,
         ospfNbrLsRetransQLen,
         ospfNbmaNbrStatus,
         ospfNbmaNbrPermanence,
         ospfNbrHelloSuppressed,
         ospfNbrRestartHelperStatus,
         ospfNbrRestartHelperAge,
         ospfNbrRestartHelperExitReason
         }
      STATUS       current
      DESCRIPTION
         "These objects are used to monitor/manage OSPF
         neighbors."
      ::= { ospfGroups 21 }

 ospfVirtNbrGroup2    OBJECT-GROUP
      OBJECTS {
         ospfVirtNbrArea,
         ospfVirtNbrRtrId,
         ospfVirtNbrIpAddr,
         ospfVirtNbrOptions,
         ospfVirtNbrState,
         ospfVirtNbrEvents,
         ospfVirtNbrLsRetransQLen,
         ospfVirtNbrHelloSuppressed,
         ospfVirtNbrRestartHelperStatus,
         ospfVirtNbrRestartHelperAge,
         ospfVirtNbrRestartHelperExitReason



Galecki, et al.             Standards Track                    [Page 92]

RFC 4750                       OSPFv2 MIB                  December 2006


         }
      STATUS       current
      DESCRIPTION
         "These objects are used to monitor/manage OSPF
         virtual neighbors."
      ::= { ospfGroups 22 }

 ospfAreaAggregateGroup2    OBJECT-GROUP
      OBJECTS {
         ospfAreaAggregateAreaID,
         ospfAreaAggregateLsdbType,
         ospfAreaAggregateNet,
         ospfAreaAggregateMask,
         ospfAreaAggregateStatus,
         ospfAreaAggregateEffect,
         ospfAreaAggregateExtRouteTag
         }
      STATUS       current
      DESCRIPTION
         "These objects are used for OSPF systems to support
         network prefix aggregation across areas."
      ::= { ospfGroups 23 }

 ospfAreaLsaCountGroup      OBJECT-GROUP
      OBJECTS {
         ospfAreaLsaCountNumber
         }
      STATUS       current
      DESCRIPTION
         "These objects are used for OSPF systems that display
         per-area, per-LSA-type counters."
      ::= { ospfGroups 24 }

 ospfHostGroup2    OBJECT-GROUP
      OBJECTS {
         ospfHostIpAddress,
         ospfHostTOS,
         ospfHostMetric,
         ospfHostStatus,
         ospfHostCfgAreaID
         }
      STATUS       current
      DESCRIPTION
         "These objects are used for OSPF systems
         that support attached hosts."
      ::= { ospfGroups 25 }

--     This object group is included for SMI conformance.  It is not a



Galecki, et al.             Standards Track                    [Page 93]

RFC 4750                       OSPFv2 MIB                  December 2006


--     mandatory group for compliance with this MIB

 ospfObsoleteGroup    OBJECT-GROUP
      OBJECTS {
         ospfAuthType
         }
      STATUS       obsolete
      DESCRIPTION
         "These objects are obsolete and are no longer required for
         OSPF systems.  They are placed into this group for SMI
         conformance."
      ::= { ospfGroups 26 }

END

4.  OSPF Trap Overview

4.1.  Introduction

  OSPF is an event-driven routing protocol, where an event can be a
  change in an OSPF interface's link-level status, the expiration of an
  OSPF timer, or the reception of an OSPF protocol packet.  Many of the
  actions that OSPF takes as a result of these events will result in a
  change of the routing topology.

  As routing topologies become large and complex, it is often difficult
  to locate the source of a topology change or unpredicted routing path
  by polling a large number or routers.  Because of the difficulty of
  polling a large number of devices, a more prudent approach is for
  devices to notify a network manager of potentially critical OSPF
  events using SNMP traps.

  This section defines a set of traps, objects, and mechanisms to
  enhance the ability to manage IP internetworks that use OSPF as their
  Interior Gateway Protocol (IGP).  It is an optional but very useful
  extension to the OSPF MIB.















Galecki, et al.             Standards Track                    [Page 94]

RFC 4750                       OSPFv2 MIB                  December 2006


4.2.  Approach

  The mechanism for sending traps is straightforward.  When an
  exception event occurs, the application notifies the local agent, who
  sends a trap to the appropriate SNMP management stations.  The
  message includes the trap type and may include a list of trap-
  specific variables.  Section 5 gives the trap definitions, which
  includes the variable lists.  The Router ID of the originator of the
  trap is included in the variable list so that the network manager may
  easily determine the source of the trap.

  To limit the frequency of OSPF traps, the following additional
  mechanisms are suggested.

4.3.  Ignoring Initial Activity

  The majority of critical events occur when OSPF is enabled on a
  router, at which time the designated router is elected and neighbor
  adjacencies are formed.  During this initial period, a potential
  flood of traps is unnecessary since the events are expected.  To
  avoid unnecessary traps, a router should not originate expected OSPF
  interface-related traps until two of that interface's dead timer
  intervals have elapsed.  The expected OSPF interface traps are
  ospfIfStateChange, ospfVirtIfStateChange, ospfNbrStateChange,
  ospfVirtNbrStateChange, ospfTxRetransmit, and ospfVirtIfTxRetransmit.
  Additionally, ospfMaxAgeLsa and ospfOriginateLsa traps should not be
  originated until two dead timer intervals have elapsed where the dead
  timer interval used should be the dead timer with the smallest value.

4.4.  Throttling Traps

  The mechanism for throttling the traps is similar to the mechanism
  explained in RFC 1224 [RFC1224].  The basic premise of the throttling
  mechanism is that of a sliding window, defined in seconds and an
  upper bound on the number of traps that may be generated within this
  window.  Note that unlike RFC 1224, traps are not sent to inform the
  network manager that the throttling mechanism has kicked in.

  A single window should be used to throttle all OSPF trap types except
  for the ospfLsdbOverflow and the ospfLsdbApproachingOverflow traps,
  which should not be throttled.  For example, with a window time of 3,
  an upper bound of 3, and events to cause trap types 1, 3, 5, and 7 (4
  traps within a 3-second period), the type-7 (the 4th) trap should not
  be generated.

  Appropriate values are 7 traps with a window time of 10 seconds.





Galecki, et al.             Standards Track                    [Page 95]

RFC 4750                       OSPFv2 MIB                  December 2006


4.5.  One Trap Per OSPF Event

  Several of the traps defined in section 5 are generated as the result
  of finding an unusual condition while parsing an OSPF packet or a
  processing a timer event.  There may be more than one unusual
  condition detected while handling the event.  For example, a link
  state update packet may contain several retransmitted link state
  advertisements (LSAs), or a retransmitted database description packet
  may contain several database description entries.  To limit the
  number of traps and variables, OSPF should generate at most one trap
  per OSPF event.  Only the variables associated with the first unusual
  condition should be included with the trap.  Similarly, if more than
  one type of unusual condition is encountered while parsing the
  packet, only the first event will generate a trap.

4.6.  Polling Event Counters

  Many of the tables in the OSPF MIB contain generalized event
  counters.  By enabling the traps defined in this document, a network
  manager can obtain more specific information about these events.  A
  network manager may want to poll these event counters and enable
  specific OSPF traps when a particular counter starts increasing
  abnormally.

  The following table shows the relationship between the event counters
  defined in the OSPF MIB and the trap types.

        Counter32                   Trap Type
  -----------------------   ------------------------
    ospfOriginateNewLsas       ospfOriginateLsa
    ospfIfEvents               ospfIfStateChange
                               ospfConfigError
                               ospfIfAuthFailure
                               ospfRxBadPacket
                               ospfTxRetransmit
    ospfVirtIfEvents           ospfVirtIfStateChange
                               ospfVirtIfConfigError
                               ospfVirtIfAuthFailure
                               ospfVirtIfRxBadPacket
                               ospfVirtIfTxRetransmit
    ospfNbrEvents              ospfNbrStateChange
    ospfVirtNbrEvents          ospfVirtNbrStateChange
    ospfExternLSACount         ospfLsdbApproachingOverflow
    ospfExternLSACount         ospfLsdbOverflow







Galecki, et al.             Standards Track                    [Page 96]

RFC 4750                       OSPFv2 MIB                  December 2006


4.7.  Translating Notification Parameters

  The definition of the OSPF notifications pre-dates the RFC 2578
  [RFC2578] requirement of having a zero value for the penultimate
  sub-identifier for translating SNMPv2/SNMPv3 trap parameters to
  SNMPv1 trap parameters.  RFC 3584 [RFC3584], section 3, defines the
  translation rules that can be implemented by intermediate proxy-
  agents or multi-lingual agents to convert SNMPv2/SNMPv3 notifications
  to SNMPv1 notifications and vice versa.  The conversion is not
  reversible, that is, a conversion to one SNMP version and then back
  again will result in an incorrectly formatted version of the
  notification.

  According to the rules specified in RFC 3584, section 3.1,
  translation of OSPF notifications from SNMPv1 to SNMPv2/SNMPv3 would
  result in the SNMPv2/SNMPv3 snmpTrapOID being the concatenation of
  the SNMPv1 'enterprise' parameter and two additional sub-identifiers,
  '0' and the SNMPv1 'specific-trap' parameter.

  According to the rules specified in RFC 3584, section 3.2,
  translation of OSPF notifications from SNMPv2/SNMPv3 to SNMPv1, as
  the notifications are defined in this MIB, would result in the SNMPv1
  'enterprise' parameter being set to the SNMPv2/SNMPv3 snmpTrapOID
  parameter value with the last sub-identifier removed and the
  'specific-trap' parameter being set to the last sub-identifier of the
  SNMPv2/SNMPv3 snmpTrapOID parameter.

  Note that a notification originated from an SNMPv1 agent will not be
  converted into the same notification that would be originated from a
  native SNMPv2/SNMPv3 agent.

4.8.  Historical Artifacts

  The MIB modules that are updated by this document were originally
  written in SMIv1 for SNMPv1 when only traps were used.  Since this
  version of the MIB module is written in SMIv2, it should be
  understood that all types of notifications, trap and inform PDUs, may
  be used by native SNMPv2 and SNMPv3 agents, although only traps are
  mentioned.  Also, for backwards compatibility, the OSPF Trap module
  remains rooted at {ospf 16}.











Galecki, et al.             Standards Track                    [Page 97]

RFC 4750                       OSPFv2 MIB                  December 2006


5.  OSPF Trap Definitions

  OSPF-TRAP-MIB DEFINITIONS ::= BEGIN

  IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress
                   FROM SNMPv2-SMI
      MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                   FROM SNMPv2-CONF
      ospfRouterId, ospfIfIpAddress, ospfAddressLessIf, ospfIfState,
      ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfVirtIfState,
      ospfNbrIpAddr, ospfNbrAddressLessIndex, ospfNbrRtrId,
      ospfNbrState, ospfVirtNbrArea, ospfVirtNbrRtrId,
      ospfVirtNbrState, ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId,
      ospfLsdbAreaId, ospfExtLsdbLimit, ospf, ospfAreaId,
      ospfAreaNssaTranslatorState, ospfRestartStatus,
      ospfRestartInterval, ospfRestartExitReason,
      ospfNbrRestartHelperStatus, ospfNbrRestartHelperAge,
      ospfNbrRestartHelperExitReason, ospfVirtNbrRestartHelperStatus,
      ospfVirtNbrRestartHelperAge, ospfVirtNbrRestartHelperExitReason
                   FROM OSPF-MIB;

    ospfTrap MODULE-IDENTITY

         LAST-UPDATED "200611100000Z" -- November 10, 2006 00:00:00 EST
         ORGANIZATION "IETF OSPF Working Group"
         CONTACT-INFO
         "WG E-Mail: [email protected]

          WG Chairs: [email protected]
                     [email protected]

          Editors:   Dan Joyal
                     Nortel
                     600 Technology Park Drive
                     Billerica, MA  01821
                     [email protected]

                     Piotr Galecki
                     Airvana
                     19 Alpha Road
                     Chelmsford, MA 01824
                     [email protected]

                     Spencer Giacalone
                     CSFB
                     Eleven Madison Ave
                     New York, NY 10010-3629



Galecki, et al.             Standards Track                    [Page 98]

RFC 4750                       OSPFv2 MIB                  December 2006


                     [email protected]"

         DESCRIPTION
            "The MIB module to describe traps for the OSPF
            Version 2 Protocol.

            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 00:00:00 EST
         DESCRIPTION
            "Updated for latest changes to OSPFv2:
             -added graceful restart related traps
             -added new config error types
             -added ospfNssaTranslatorStatusChange trap.
             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."

         ::= { ospf 16 }

  --  Trap Support Objects

  --  The following are support objects for the OSPF traps.

    ospfTrapControl OBJECT IDENTIFIER ::= { ospfTrap 1 }
    ospfTraps OBJECT IDENTIFIER ::= { ospfTrap 2 }

    ospfSetTrap OBJECT-TYPE
         SYNTAX       OCTET STRING (SIZE(4))
         MAX-ACCESS   read-write
         STATUS       current
         DESCRIPTION
            "A 4-octet string serving as a bit map for
            the trap events defined by the OSPF traps.  This
            object is used to enable and disable specific
            OSPF traps where a 1 in the bit field
            represents enabled.  The right-most bit (least
            significant) represents trap 0.

            This object is persistent and when written



Galecki, et al.             Standards Track                    [Page 99]

RFC 4750                       OSPFv2 MIB                  December 2006


            the entity SHOULD save the change to non-volatile
            storage."
          ::= { ospfTrapControl 1 }

    ospfConfigErrorType OBJECT-TYPE
         SYNTAX       INTEGER {
                         badVersion (1),
                         areaMismatch (2),
                         unknownNbmaNbr (3), -- Router is DR eligible
                         unknownVirtualNbr (4),
                         authTypeMismatch(5),
                         authFailure (6),
                         netMaskMismatch (7),
                         helloIntervalMismatch (8),
                         deadIntervalMismatch (9),
                         optionMismatch (10),
                         mtuMismatch (11),
                         duplicateRouterId (12),
                         noError (13) }
         MAX-ACCESS   read-only
         STATUS   current
         DESCRIPTION
            "Potential types of configuration conflicts.
            Used by the ospfConfigError and
            ospfConfigVirtError traps.  When the last value
            of a trap using this object is needed, but no
            traps of that type have been sent, this value
            pertaining to this object should be returned as
            noError."
         ::= { ospfTrapControl 2 }

    ospfPacketType OBJECT-TYPE
         SYNTAX       INTEGER {
                         hello (1),
                         dbDescript (2),
                         lsReq (3),
                         lsUpdate (4),
                         lsAck (5),
                         nullPacket (6) }
         MAX-ACCESS   read-only
         STATUS       current
         DESCRIPTION
            "OSPF packet types.  When the last value of a trap
            using this object is needed, but no traps of
            that type have been sent, this value pertaining
            to this object should be returned as nullPacket."
         ::= { ospfTrapControl 3 }




Galecki, et al.             Standards Track                   [Page 100]

RFC 4750                       OSPFv2 MIB                  December 2006


    ospfPacketSrc OBJECT-TYPE
         SYNTAX       IpAddress
         MAX-ACCESS   read-only
         STATUS       current
         DESCRIPTION
            "The IP address of an inbound packet that cannot
            be identified by a neighbor instance.  When
            the last value of a trap using this object is
            needed, but no traps of that type have been sent,
            this value pertaining to this object should
            be returned as 0.0.0.0."
         ::= { ospfTrapControl 4 }

  --  Traps

    ospfVirtIfStateChange NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfVirtIfAreaId,
            ospfVirtIfNeighbor,
            ospfVirtIfState  -- The new state
            }
         STATUS       current
         DESCRIPTION
            "An ospfVirtIfStateChange trap signifies that there
            has been a change in the state of an OSPF virtual
            interface.

            This trap should be generated when the interface
            state regresses (e.g., goes from Point-to-Point to Down)
            or progresses to a terminal state
            (i.e., Point-to-Point)."
         ::= { ospfTraps 1 }

    ospfNbrStateChange NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfNbrIpAddr,
            ospfNbrAddressLessIndex,
            ospfNbrRtrId,
            ospfNbrState  -- The new state
            }
         STATUS       current
         DESCRIPTION
            "An ospfNbrStateChange trap signifies that
            there has been a change in the state of a
            non-virtual OSPF neighbor.  This trap should be
            generated when the neighbor state regresses
            (e.g., goes from Attempt or Full to 1-Way or
            Down) or progresses to a terminal state (e.g.,



Galecki, et al.             Standards Track                   [Page 101]

RFC 4750                       OSPFv2 MIB                  December 2006


            2-Way or Full).  When an neighbor transitions
            from or to Full on non-broadcast multi-access
            and broadcast networks, the trap should be
            generated by the designated router.  A designated
            router transitioning to Down will be noted by
            ospfIfStateChange."
         ::= { ospfTraps 2 }

    ospfVirtNbrStateChange NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfVirtNbrArea,
            ospfVirtNbrRtrId,
            ospfVirtNbrState  -- The new state
            }
         STATUS       current
         DESCRIPTION
            "An ospfVirtNbrStateChange trap signifies that there
            has been a change in the state of an OSPF virtual
            neighbor.  This trap should be generated
            when the neighbor state regresses (e.g., goes
            from Attempt or Full to 1-Way or Down) or
            progresses to a terminal state (e.g., Full)."
         ::= { ospfTraps 3 }

    ospfIfConfigError NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfIfIpAddress,
            ospfAddressLessIf,
            ospfPacketSrc,  -- The source IP address
            ospfConfigErrorType, -- Type of error
            ospfPacketType
            }
         STATUS       current
         DESCRIPTION
            "An ospfIfConfigError trap signifies that a
            packet has been received on a non-virtual
            interface from a router whose configuration
            parameters conflict with this router's
            configuration parameters.  Note that the event
            optionMismatch should cause a trap only if it
            prevents an adjacency from forming."
         ::= { ospfTraps 4 }

    ospfVirtIfConfigError NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfVirtIfAreaId,
            ospfVirtIfNeighbor,
            ospfConfigErrorType, -- Type of error



Galecki, et al.             Standards Track                   [Page 102]

RFC 4750                       OSPFv2 MIB                  December 2006


            ospfPacketType
            }
         STATUS       current
         DESCRIPTION
            "An ospfVirtIfConfigError trap signifies that a
            packet has been received on a virtual interface
            from a router whose configuration parameters
            conflict with this router's configuration
            parameters.  Note that the event optionMismatch
            should cause a trap only if it prevents an
            adjacency from forming."
         ::= { ospfTraps 5 }

    ospfIfAuthFailure NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfIfIpAddress,
            ospfAddressLessIf,
            ospfPacketSrc,  -- The source IP address
            ospfConfigErrorType, -- authTypeMismatch or
                                 -- authFailure
            ospfPacketType
            }
         STATUS       current
         DESCRIPTION
            "An ospfIfAuthFailure trap signifies that a
            packet has been received on a non-virtual
            interface from a router whose authentication key
            or authentication type conflicts with this
            router's authentication key or authentication
            type."
         ::= { ospfTraps 6 }

    ospfVirtIfAuthFailure NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfVirtIfAreaId,
            ospfVirtIfNeighbor,
            ospfConfigErrorType, -- authTypeMismatch or
                                 -- authFailure
            ospfPacketType
            }
         STATUS       current
         DESCRIPTION
            "An ospfVirtIfAuthFailure trap signifies that a
            packet has been received on a virtual interface
            from a router whose authentication key or
            authentication type conflicts with this router's
            authentication key or authentication type."




Galecki, et al.             Standards Track                   [Page 103]

RFC 4750                       OSPFv2 MIB                  December 2006


         ::= { ospfTraps 7 }

    ospfIfRxBadPacket NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfIfIpAddress,
            ospfAddressLessIf,
            ospfPacketSrc,  -- The source IP address
            ospfPacketType
            }
         STATUS       current
         DESCRIPTION
            "An ospfIfRxBadPacket trap signifies that an
            OSPF packet has been received on a non-virtual
            interface that cannot be parsed."
         ::= { ospfTraps 8 }

    ospfVirtIfRxBadPacket NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
           ospfVirtIfAreaId,
           ospfVirtIfNeighbor,
           ospfPacketType
           }
         STATUS       current
         DESCRIPTION
            "An ospfVirtIfRxBadPacket trap signifies that an OSPF
            packet has been received on a virtual interface
            that cannot be parsed."
         ::= { ospfTraps 9 }

    ospfTxRetransmit NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfIfIpAddress,
            ospfAddressLessIf,
            ospfNbrRtrId, -- Destination
            ospfPacketType,
            ospfLsdbType,
            ospfLsdbLsid,
            ospfLsdbRouterId
            }
          STATUS       current
          DESCRIPTION
             "An ospfTxRetransmit trap signifies than an
             OSPF packet has been retransmitted on a
             non-virtual interface.  All packets that may be
             retransmitted are associated with an LSDB entry.
             The LS type, LS ID, and Router ID are used to
             identify the LSDB entry."
          ::= { ospfTraps 10 }



Galecki, et al.             Standards Track                   [Page 104]

RFC 4750                       OSPFv2 MIB                  December 2006


    ospfVirtIfTxRetransmit NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfVirtIfAreaId,
            ospfVirtIfNeighbor,
            ospfPacketType,
            ospfLsdbType,
            ospfLsdbLsid,
            ospfLsdbRouterId
            }
         STATUS       current
         DESCRIPTION
            "An ospfVirtIfTxRetransmit trap signifies than an
            OSPF packet has been retransmitted on a virtual
            interface.  All packets that may be retransmitted
            are associated with an LSDB entry.  The LS
            type, LS ID, and Router ID are used to identify
            the LSDB entry."
         ::= { ospfTraps 11 }

    ospfOriginateLsa NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfLsdbAreaId,  -- 0.0.0.0 for AS Externals
            ospfLsdbType,
            ospfLsdbLsid,
            ospfLsdbRouterId
            }
         STATUS       current
         DESCRIPTION
            "An ospfOriginateLsa trap signifies that a new
            LSA has been originated by this router.  This
            trap should not be invoked for simple refreshes
            of LSAs (which happens every 30 minutes), but
            instead will only be invoked when an LSA is
            (re)originated due to a topology change.
            Additionally, this trap does not include LSAs that
            are being flushed because they have reached
            MaxAge."
         ::= { ospfTraps 12 }

    ospfMaxAgeLsa NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfLsdbAreaId,  -- 0.0.0.0 for AS Externals
            ospfLsdbType,
            ospfLsdbLsid,
            ospfLsdbRouterId
            }
         STATUS       current
         DESCRIPTION



Galecki, et al.             Standards Track                   [Page 105]

RFC 4750                       OSPFv2 MIB                  December 2006


            "An ospfMaxAgeLsa trap signifies that one of
            the LSAs in the router's link state database has
            aged to MaxAge."
         ::= { ospfTraps 13 }

    ospfLsdbOverflow NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfExtLsdbLimit
            }

         STATUS       current
         DESCRIPTION
            "An ospfLsdbOverflow trap signifies that the
            number of LSAs in the router's link state
            database has exceeded ospfExtLsdbLimit."
         ::= { ospfTraps 14 }

    ospfLsdbApproachingOverflow NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfExtLsdbLimit
            }
         STATUS       current
         DESCRIPTION
            "An ospfLsdbApproachingOverflow trap signifies
            that the number of LSAs in the router's
            link state database has exceeded ninety percent of
            ospfExtLsdbLimit."
         ::= { ospfTraps 15 }

    ospfIfStateChange NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
            ospfIfIpAddress,
            ospfAddressLessIf,
            ospfIfState   -- The new state
            }
         STATUS       current
         DESCRIPTION
            "An ospfIfStateChange trap signifies that there
            has been a change in the state of a non-virtual
            OSPF interface.  This trap should be generated
            when the interface state regresses (e.g., goes
            from Dr to Down) or progresses to a terminal
            state (i.e., Point-to-Point, DR Other, Dr, or
            Backup)."
         ::= { ospfTraps 16 }

    ospfNssaTranslatorStatusChange NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap



Galecki, et al.             Standards Track                   [Page 106]

RFC 4750                       OSPFv2 MIB                  December 2006


            ospfAreaId,
            ospfAreaNssaTranslatorState -- The current translation
                                        -- status
            }
         STATUS       current
         DESCRIPTION
            "An ospfNssaTranslatorStatusChange trap indicates that
            there has been a change in the router's ability to
            translate OSPF type-7 LSAs into OSPF type-5 LSAs.
            This trap should be generated when the translator
            status transitions from or to any defined status on
            a per-area basis."
         ::= { ospfTraps 17 }

    ospfRestartStatusChange NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
                   ospfRestartStatus,
                   ospfRestartInterval,
                   ospfRestartExitReason
                 }
         STATUS       current
         DESCRIPTION
            "An ospfRestartStatusChange trap signifies that
            there has been a change in the graceful restart
            state for the router.  This trap should be
            generated when the router restart status
            changes."
         ::= { ospfTraps 18 }

    ospfNbrRestartHelperStatusChange NOTIFICATION-TYPE
         OBJECTS { ospfRouterId, -- The originator of the trap
                   ospfNbrIpAddr,
                   ospfNbrAddressLessIndex,
                   ospfNbrRtrId,
                   ospfNbrRestartHelperStatus,
                   ospfNbrRestartHelperAge,
                   ospfNbrRestartHelperExitReason
                 }
         STATUS       current
         DESCRIPTION
            "An ospfNbrRestartHelperStatusChange trap signifies that
            there has been a change in the graceful restart
            helper state for the neighbor.  This trap should be
            generated when the neighbor restart helper status
            transitions for a neighbor."
         ::= { ospfTraps 19 }

    ospfVirtNbrRestartHelperStatusChange NOTIFICATION-TYPE



Galecki, et al.             Standards Track                   [Page 107]

RFC 4750                       OSPFv2 MIB                  December 2006


         OBJECTS { ospfRouterId, -- The originator of the trap
                   ospfVirtNbrArea,
                   ospfVirtNbrRtrId,
                   ospfVirtNbrRestartHelperStatus,
                   ospfVirtNbrRestartHelperAge,
                   ospfVirtNbrRestartHelperExitReason
                 }
         STATUS       current
         DESCRIPTION
            "An ospfVirtNbrRestartHelperStatusChange trap signifies
            that there has been a change in the graceful restart
            helper state for the virtual neighbor.  This trap should
            be generated when the virtual neighbor restart helper
            status transitions for a virtual neighbor."
         ::= { ospfTraps 20 }

  --  conformance information

  ospfTrapConformance OBJECT IDENTIFIER ::= { ospfTrap 3 }
  ospfTrapGroups      OBJECT IDENTIFIER ::= { ospfTrapConformance 1 }
  ospfTrapCompliances OBJECT IDENTIFIER ::= { ospfTrapConformance 2 }

  --  compliance statements

  ospfTrapCompliance MODULE-COMPLIANCE
       STATUS       obsolete
       DESCRIPTION
          "The compliance statement."
       MODULE       -- this module
       MANDATORY-GROUPS { ospfTrapControlGroup }

       GROUP       ospfTrapControlGroup
       DESCRIPTION
          "This group is optional but recommended for all
          OSPF systems."
       ::= { ospfTrapCompliances 1 }

  ospfTrapCompliance2 MODULE-COMPLIANCE
       STATUS       current
       DESCRIPTION
          "The compliance statement."
       MODULE       -- this module
       MANDATORY-GROUPS { ospfTrapControlGroup, ospfTrapEventGroup }
       OBJECT       ospfConfigErrorType
       MIN-ACCESS   accessible-for-notify
       DESCRIPTION
          "This object is only required to be supplied within
          notifications."



Galecki, et al.             Standards Track                   [Page 108]

RFC 4750                       OSPFv2 MIB                  December 2006


       OBJECT       ospfPacketType
       MIN-ACCESS   accessible-for-notify
       DESCRIPTION
          "This object is only required to be supplied within
          notifications."
       OBJECT       ospfPacketSrc
       MIN-ACCESS   accessible-for-notify
       DESCRIPTION
          "This object is only required to be supplied within
          notifications."
       ::= { ospfTrapCompliances 2 }

  --  units of conformance

    ospfTrapControlGroup    OBJECT-GROUP
         OBJECTS { ospfSetTrap,
                   ospfConfigErrorType,
                   ospfPacketType,
                   ospfPacketSrc }
         STATUS       current
         DESCRIPTION
            "These objects are required to control traps
            from OSPF systems."
         ::= { ospfTrapGroups 1 }

    ospfTrapEventGroup       NOTIFICATION-GROUP
         NOTIFICATIONS {
            ospfVirtIfStateChange,
            ospfNbrStateChange,
            ospfVirtNbrStateChange,
            ospfIfConfigError,
            ospfVirtIfConfigError,
            ospfIfAuthFailure,
            ospfVirtIfAuthFailure,
            ospfIfRxBadPacket,
            ospfVirtIfRxBadPacket,
            ospfTxRetransmit,
            ospfVirtIfTxRetransmit,
            ospfOriginateLsa,
            ospfMaxAgeLsa,
            ospfLsdbOverflow,
            ospfLsdbApproachingOverflow,
            ospfIfStateChange,
            ospfNssaTranslatorStatusChange,
            ospfRestartStatusChange,
            ospfNbrRestartHelperStatusChange,
            ospfVirtNbrRestartHelperStatusChange
            }



Galecki, et al.             Standards Track                   [Page 109]

RFC 4750                       OSPFv2 MIB                  December 2006


         STATUS        current
         DESCRIPTION
            "A grouping of OSPF trap events, as specified
            in NOTIFICATION-TYPE constructs."
         ::= { ospfTrapGroups 2 }

  END

6.  Security Considerations

  There are a number of management objects defined in this MIB that
  have a MAX-ACCESS clause of read-write and/or read-create.  Such
  objects may be considered sensitive or vulnerable in some network
  environments.  The support for SET operations in a non-secure
  environment without proper protection can have a negative effect on
  network operations.

  It is recommended that attention be specifically given to
  implementing the MAX-ACCESS clause in a number of objects, including
  ospfIfAuthKey, ospfIfAuthType, ospfVirtIfAuthKey, and
  ospfVirtIfAuthType in scenarios that DO NOT use SNMPv3 strong
  security (i.e., authentication and encryption).  Extreme caution must
  be used to minimize the risk of cascading security vulnerabilities
  when SNMPv3 strong security is not used.  When SNMPv3 strong security
  is not used, these objects should have access of read-only, not
  read-create.

  SNMPv1 by itself is not a secure environment.  Even if the network
  itself is secure (for example by using IPsec), even then, there is no
  control as to who on the secure network is allowed to access and
  GET/SET (read/change/create/delete) the objects in this MIB.

  It is recommended that the implementers consider the security
  features as provided by the SNMPv3 framework.  Specifically, the use
  of the User-based Security Model RFC 3414 [RFC3414] and the View-
  based Access Control Model RFC 3415 [RFC3415] is recommended.

  It is then a customer/user responsibility to ensure that the SNMP
  entity giving access to an instance of this MIB, is properly
  configured to give access to the objects only to those principals
  (users) that have legitimate rights to indeed GET or SET
  (change/create/delete) them.









Galecki, et al.             Standards Track                   [Page 110]

RFC 4750                       OSPFv2 MIB                  December 2006


7.  IANA Considerations

  The MIB module in this document uses the following IANA-assigned
  OBJECT IDENTIFIER values recorded in the SMI Numbers registry:

  Descriptor        OBJECT IDENTIFIER value
  ----------        -----------------------
  ospf              { mib-2 14 }

8.  Acknowledgements

  This document was produced by the OSPF Working Group and is based on
  the MIB for OSPF version 2 by Rob Coltun and Fred Baker [RFC1850].
  The editors would like to acknowledge John Moy, Rob Coltun, Randall
  Atkinson, David T.  Perkins, Ken Chapman, Brian Field, Acee Lindem,
  Vishwas Manral, Roy Jose, Don Goodspeed, Vivek Dubey, Keith
  McCloghrie, Bill Fenner, and Dan Romascanu for their constructive
  comments.

9.  References

9.1.  Normative References

  [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

  [RFC2578]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
             "Structure of Management Information Version 2 (SMIv2)",
             STD 58, RFC 2578, April 1999.

  [RFC2579]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
             "Textual Conventions for SMIv2", STD 58, RFC 2579, April
             1999.

  [RFC2580]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
             "Conformance Statements for SMIv2", STD 58, RFC 2580,
             April 1999.

9.2 Informative References

  [RFC1224]  Steinberg, L., "Techniques for managing asynchronously
             generated alerts", RFC 1224, May 1991.

  [RFC1704]  Haller, N.  and R. Atkinson, "On Internet Authentication",
             RFC 1704, October 1994.

  [RFC1765]  Moy, J., "OSPF Database Overflow", RFC 1765, March 1995.




Galecki, et al.             Standards Track                   [Page 111]

RFC 4750                       OSPFv2 MIB                  December 2006


  [RFC1793]  Moy, J., "Extending OSPF to Support Demand Circuits", RFC
             1793, April 1995.

  [RFC1850]  Baker, F.  and R.  Coltun, "OSPF Version 2 Management
             Information Base", RFC 1850, November 1995.

  [RFC2328]  Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.

  [RFC2370]  Coltun, R., "The OSPF Opaque LSA Option", RFC 2370, July
             1998.

  [RFC3101]  Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option",
             RFC 3101, January 2003.

  [RFC3410]  Case, J., Mundy, R., Partain, D., and B. Stewart,
             "Introduction and Applicability Statements for Internet-
             Standard Management Framework", RFC 3410, December 2002.

  [RFC3414]  Blumenthal, U.  and B. Wijnen, "User-based Security Model
             (USM) for version 3 of the Simple Network Management
             Protocol (SNMPv3)", STD 62, RFC 3414, December 2002.

  [RFC3415]  Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
             Access Control Model (VACM) for the Simple Network
             Management Protocol (SNMP)", STD 62, RFC 3415, December
             2002.

  [RFC3584]  Frye, R., Levi, D., Routhier, S., and B. Wijnen,
             "Coexistence between Version 1, Version 2, and Version 3
             of the Internet-standard Network Management Framework",
             BCP 74, RFC 3584, August 2003.

  [RFC3623]  Moy, J., Pillay-Esnault, P., and A. Lindem, "Graceful OSPF
             Restart", RFC 3623, November 2003.

  [RFC791]  Postel, J., "Internet Protocol", STD 5, RFC 791, September
             1981.

  [RFC3411]  Harrington, D., Presuhn, R., and B. Wijnen, "An
             Architecture for Describing Simple Network Management
             Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
             December 2002.

  [RFC1583]  Moy, J., "OSPF Version 2", RFC 1583, March 1994.







Galecki, et al.             Standards Track                   [Page 112]

RFC 4750                       OSPFv2 MIB                  December 2006


Appendix A.  TOS Support

  For backward compatibility with previous versions of the OSPF MIB
  specification, TOS-specific information has been retained in this
  document, though the TOS routing option has been deleted from OSPF
  [RFC2328].

Appendix B.  Changes from RFC 1850

  This section documents the differences between this memo and RFC
  1850.

Appendix B.1.  General Group Changes

  Added object ospfRFC1583Compatibility to indicate support with "RFC
  1583 Compatibility" [RFC1583].  This object has DEFVAL of "enabled".

  Added object ospfReferenceBandwidth to allow configuration of a
  reference bandwidth for calculation of default interface metrics.

  Added objects ospfRestartSupport, ospfRestartInterval,
  ospfRestartAge, ospfRestartStrictLsaChecking, and
  ospfRestartExitReason to support graceful restart.

  Added objects ospfStubRouterSupport and ospfStubRouteAdvertisement to
  support stub routers.

  Added object ospfDiscontinuityTime in order for a management entity
  to detect counter discontinuity events.

Appendix B.2.  OSPF NSSA Enhancement Support

  Added new objects to OspfAreaTable including the following:

  -ospfAreaNssaTranslatorRole to indicate the configured NSSA
   translation role.

  -ospfAreaNssaTranslatorState to indicate the current NSSA translation
   role.

  -ospfAreaNssaTranslatorStabilityInterval to indicate time to continue
   to perform at current translation status.

  -ospfAreaNssaTranslatorEvents to indicate the number of times OSPF
   translation state has changed.

  Added new object ospfAreaAggregateExtRouteTag to
  ospfAreaAggregateTable.



Galecki, et al.             Standards Track                   [Page 113]

RFC 4750                       OSPFv2 MIB                  December 2006


  Added new object ospfNssaTranslatorStatusChange to ospfTraps in
  OSPF-TRAP-MIB DEFINITIONS.

  Added ospfAreaId to IMPORTS in OSPF-TRAP-MIB DEFINITIONS to support
  ospfNssaTranslatorStatusChange.

  Added ospfAreaExtNssaTranslatorStatus to IMPORTS in OSPF-TRAP-MIB
  DEFINITIONS to support ospfNssaTranslatorStatusChange.

  Modified the DESCRIPTION clause of the ospfAreaSummary object in the
  ospfAreaTable to indicate support for NSSA.

  Modified the DESCRIPTION clause of the ospfImportAsExtern object in
  the ospfAreaTable for clarity.

Appendix B.3.  Opaque LSA Support

  Added object ospfOpaqueLsaSupport to ospfGeneralGroup to indicate
  support of OSPF Opaque LSAs.

  Created ospfLocalLsdbTable, for link-local (type-9) LSA support. This
  table is indexed by the following:

  -ospflocalLsdbIpAddress

  -ospfLocalLsdbAddressLessIf

  -ospfLocalLsdbType

  -ospfLocalLsdbLsid

  -ospfLocalLsdbRouterId

  ospfLocalLsdbTable contains the following (columnar) objects:

  -ospfLocalLsdbSequence, to indicate LSA instance

  -ospfLocalLsdbAge

  -ospfLocalLsdbChecksum

  -ospfLocalLsdbAdvertisement, containing the entire LSA

  Created ospfVirLocalLsdbTable, for link-local (type-9) LSA support on
  virtual links.  This table is indexed by the following:

  -ospfVirtLocalLsdbTransitArea




Galecki, et al.             Standards Track                   [Page 114]

RFC 4750                       OSPFv2 MIB                  December 2006


  -ospfVirtLocalLsdbNeighbor, to indicate the router ID of the virtual
   neighbor

  -ospfVirLocalLsdbType

  -ospfVirLocalLsdbLsid

  -ospfVirLocalLsdbRouterId

  ospfVirLocalLsdbTable contains the following (columnar) objects:

  -ospfVirLocalLsdbSequence, to indicate LSA instance

  -ospfVirLocalLsdbAge

  -ospfVirLocalLsdbChecksum

  -ospfVirLocalLsdbAdvertisement, containing the entire LSA

  Added objects to ospfIfTable to support link-local (type-9) LSAs,
  including the following:

  -ospfIfLsaCount

  -ospfIfLsaCksumSum, to indicate the sum of the type-9 link state
   advertisement checksums on this interface

  Added objects to ospfVirIfTable, to support link-local (type-9) LSAs
  on virtual links, including the following:

  -ospfVirIfLsaCount

  -ospfVirIfLsaCksumSum, to indicate the sum of the type-9 link state
   advertisement checksums on this link

  To support area scope (type-10) LSAs, the enumeration areaOpaqueLink
  (10) was added to ospfLsdbType in the ospfLsdbTable.

  Created ospfAsLsdbTable, for AS-scope LSA support.  This table is
  indexed by the following:

  -ospfAsLsdbType

  -ospfAsLsdbLsid

  -ospfAsLsdbRouterId

  ospfAsLsdbTable contains the following (columnar) objects:



Galecki, et al.             Standards Track                   [Page 115]

RFC 4750                       OSPFv2 MIB                  December 2006


  -ospfAsLsdbSequence, to indicate LSA instance

  -ospfAsLsdbAge

  -ospfAsLsdbChecksum

  -ospfAsLsdbAdvertisement, containing the entire LSA

Appendix B.4.  Graceful Restart Support

  Added objects ospfRestartSupport, ospfRestartInterval,
  ospfRestartAge, ospfRestartStrictLsaChecking, and
  ospfRestartExitReason to general group.

  Added objects ospfNbrRestartHelperStatus, ospfNbrRestartHelperAge,
  and ospfNbrRestartHelperExitReason to OspfNbrTable.

  Added objects ospfVirtNbrRestartHelperStatus,
  ospfVirtNbrRestartHelperAge, and ospfVirtNbrRestartHelperExitReason
  to OspfVirtNbrTable.

Appendix B.5.  OSPF Compliances

  New compliance statements were added for new and for obsoleted
  conformance groups.  These statements include the following:

  -ospfCompliance2

  -ospfComplianceObsolete

  New conformance groups were created to support new objects added to
  the group.  These groups include the following:

  -ospfBasicGroup2

  -ospfAreaGroup2

  -ospfIfGroup2

  -ospfVirtIfGroup2

  -ospfNbrGroup2

  -ospfVirtNbrGroup2

  -ospfAreaAggregateGroup2

  Added completely new conformance groups, including the following:



Galecki, et al.             Standards Track                   [Page 116]

RFC 4750                       OSPFv2 MIB                  December 2006


  -ospfLocalLsdbGroup, which specifies support for link-local (type-9)
   LSAs

  -ospfVirtLocalLsdbGroup, which specifies support for link-local
   (type-9) LSAs on virtual links

  -ospfObsoleteGroup, for obsolete objects and SMI compatibility

Appendix B.6.  OSPF Authentication and Security

  As there has been significant concern in the community regarding
  cascading security vulnerabilities, the following changes have been
  incorporated:

  -Modified the DESCRIPTION clause of ospfIfAuthKey due to security
   concerns and to increase clarity

  -Modified the DESCRIPTION clause of ospfVirtIfAuthKey due to security
   concerns and to increase clarity

  -Modified the DESCRIPTION clause of ospfIfAuthType due to security
   concerns and to increase clarity

  -Modified the DESCRIPTION clause of ospfVirtIfType due to security
   concerns and to increase clarity

  -Modified the OSPF MIB MODULE DESCRIPTION due to security concerns
   and to include a reference to the Security Considerations section in
   this document that will transcend compilation

  -Modified the Security Considerations section to provide detail

Appendix B.7.  OSPF Trap MIB

  Added ospfTrapEventGroup.

  Added importation of NOTIFICATION-GROUP.

  Changed the STATUS of the ospfTrapCompliance MODULE-COMPLIANCE
  construct to obsolete.

  Added ospfTrapCompliance2 MODULE-COMPLIANCE construct, which replaces
  ospfTrapCompliance.  OspfTrapCompliance includes an updated
  MANDATORY-GROUPS clause and new MIN-ACCESS specifications.

  Added mtuMismatch enumeration to ospfConfigErrorType object in
  ospfTrapControl to imply MTU mismatch trap generation. in
  ospfIfConfigError.



Galecki, et al.             Standards Track                   [Page 117]

RFC 4750                       OSPFv2 MIB                  December 2006


  Added noError enumeration to ospfConfigErrorType object for
  situations when traps are requested but none have been sent.  Updated
  the DESCRIPTION clause accordingly.

  Added nullPacket enumeration to ospfPacketType object for situations
  when traps are requested but none have been sent.  Updated the
  DESCRIPTION clause accordingly.

  Updated the DESCRIPTION clause of ospfPacketSrc for situations when
  traps are requested, but none have been sent.

  Added NOTIFICATION-TYPE for ospfRestartStatusChange.

  Added NOTIFICATION-TYPE for ospfNbrRestartHelperStatusChange.

  Added NOTIFICATION-TYPE for ospfVirtNbrRestartHelperStatusChange.

Appendix B.8.  Miscellaneous

  Various sections have been moved or modified for clarity. Most of
  these changes are semantic in nature and include, but are not limited
  to the following:

  -The OSPF overview section's format was revised.  Unneeded
   information was removed.  Removed information includes OSPF TOS
   default values.

  -The trap overview section's format and working were revised.
   Unneeded information was removed.

  -Modified the DESCRIPTION clause of "Status" "TEXTUAL-CONVENTION" for
   clarity.

  -The Updates section was moved from the overview to its own section.

  -Updated "REFERENCE" clauses in all objects, as needed.

  -Modified the SEQUENCE of the OspfIfTable to reflect the true order
   of the objects in the table.

  -Modified the DESCRIPTION clause of all row management objects for
   clarity.

  Added ospfHostCfgAreaID to object to Host table with read-create
  access.  Deprecated ospfHostAreaID.






Galecki, et al.             Standards Track                   [Page 118]

RFC 4750                       OSPFv2 MIB                  December 2006


  Added importation of InterfaceIndexOrZero from IF-MIB.  This
  TEXTUAL-CONVENTION will replace the InterfaceIndex TEXTUAL-
  CONVENTION.

  Changed the SYNTAX clause of ospfNbrAddressLessIndex to use the
  semantically identical InterfaceIndexOrZero TEXTUAL-CONVENTION, as
  permitted by the SMI.

  Changed the STATUS clause of the TEXTUAL-CONVENTION InterfaceIndex to
  obsolete and modified the DESCRIPTION accordingly.

  Changed the SYNTAX clause of ospfAddressLessIf to use the
  semantically identical InterfaceIndexOrZero TEXTUAL-CONVENTION, as
  permitted by the SMI.

  Changed the SYNTAX clause of ospfIfMetricAddressLessIf to use the
  semantically identical InterfaceIndexOrZero TEXTUAL-CONVENTION, as
  permitted by the SMI.

  Changed importation of mib-2 from RFC1213-MIB to SNMPv2-SMI

  Added Intellectual Property Rights section.

  Updated REVISION DESCRIPTION clauses with description of major MIB
  modifications.

  Moved all relevant MIB comments to objects' DESCRIPTION clauses.

  Added reasoning for object deprecation.

  Added persistence information for read-write, read-create objects.

  Described conditions when columns can be modified in RowStatus
  managed rows as required by RFC 2579.

  Defined OspfAuthenticationType TC and modified authentication type
  objects to use the new type.

  Made index objects of new tables not accessible.

  Added the UNITS clause to several objects.

  Added ospfIfDesignatedRouterId and ospfIfBackupDesignatedRouterId to
  the OspfIfEntry.

  Added the area LSA counter table.

  Added IANA Considerations section.



Galecki, et al.             Standards Track                   [Page 119]

RFC 4750                       OSPFv2 MIB                  December 2006


Authors' Addresses

  Dan Joyal (Editor)
  Nortel, Inc.
  600 Technology Park Drive
  Billerica, MA 01821
  USA

  EMail: [email protected]


  Piotr Galecki (Editor)
  Airvana, Inc.
  19 Alpha Road
  Chelmsford, MA 01824
  USA

  EMail: [email protected]


  Spencer Giacalone (Editor)
  CSFB
  Eleven Madison Ave
  New York, NY 10010-3629
  USA

  EMail: [email protected]


  Fred Baker
  Cisco Systems
  1121 Via Del Rey
  Santa Barbara, California  93117
  USA

  EMail: [email protected]


  Rob Coltun
  Touch Acoustra
  3204 Brooklawn Terrace
  Chevy Chase, MD  20815
  USA

  EMail: undisclosed






Galecki, et al.             Standards Track                   [Page 120]

RFC 4750                       OSPFv2 MIB                  December 2006


Full Copyright Statement

  Copyright (C) The IETF Trust (2006).

  This document is subject to the rights, licenses and restrictions
  contained in BCP 78, and except as set forth therein, the authors
  retain all their rights.

  This document and the information contained herein are provided on an
  "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
  OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST,
  AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
  THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
  PURPOSE.

Intellectual Property

  The IETF takes no position regarding the validity or scope of any
  Intellectual Property Rights or other rights that might be claimed to
  pertain to the implementation or use of the technology described in
  this document or the extent to which any license under such rights
  might or might not be available; nor does it represent that it has
  made any independent effort to identify any such rights.  Information
  on the procedures with respect to rights in RFC documents can be
  found in BCP 78 and BCP 79.

  Copies of IPR disclosures made to the IETF Secretariat and any
  assurances of licenses to be made available, or the result of an
  attempt made to obtain a general license or permission for the use of
  such proprietary rights by implementers or users of this
  specification can be obtained from the IETF on-line IPR repository at
  http://www.ietf.org/ipr.

  The IETF invites any interested party to bring to its attention any
  copyrights, patents or patent applications, or other proprietary
  rights that may cover technology that may be required to implement
  this standard.  Please address the information to the IETF at
  [email protected].

Acknowledgement

  Funding for the RFC Editor function is currently provided by the
  Internet Society.






Galecki, et al.             Standards Track                   [Page 121]