Network Working Group                                           Editors
Internet Draft                                        Spencer Giacalone
                                                     Predictive Systems
                                                              Dan Joyal
                                                        Nortel Networks

                                                       Original Authors
                                                             Rob Coltun
                                                         Movaz Networks
                                                             Fred Baker
                                                          Cisco Systems


Document: draft-ietf-ospf-mib-update-06.txt                  April 2003
Expires: October 2003


                OSPF Version 2 Management Information Base

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026. Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

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 the Open Shortest Path
   First Routing Protocol.

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

   Please send comments to ospf@discuss.microsoft.com.

Copyright Notice

   Copyright (C) The Internet Society (1999).  All Rights Reserved.


Internet Draft           Expires October 2003                        1
                              OSPFv3 MIB                    April 2003


Table of Contents

   1 Overview ..............................................3
   1.1 The SNMPv2 Network Management Framework .............3
   1.2 The SMI, and Object definitions .....................3
   1.3 Object Identification ...............................4
   1.4 Textual Conventions .................................4
   1.5 Conceptual Row Creation .............................4
   1.6 Default Configuration ...............................5
   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
   3 OSPF-MIB Definitions ..................................7
   3.1 OSPF General Variables ..............................11
   3.2 OSPF Area Table .....................................17
   3.3 OSPF Area Default Metrics ...........................22
   3.4 OSPF Link State Database ............................24
   3.5 OSPF Address Range Table ............................27
   3.6 OSPF Host Table .....................................29
   3.7 OSPF Interface Table ................................31
   3.8 OSPF Interface Metric Table .........................38
   3.9 OSPF Virtual Interface Table ........................40
   3.10 OSPF Neighbor Table ................................45
   3.11 OSPF Virtual Neighbor Table ........................49
   3.12 OSPF External Link State Database ..................53
   3.13 OSPF Route Table Use ...............................56
   3.14 OSPF Area Aggregate Table ..........................57
   3.15 OSPF Local LSDB Table...............................59
   3.16 OSPF Virtual Local LSDB Table.......................63
   3.17 OSPF AS LSDB Table..................................66
   3.18 Conformance Information ............................69
   4 OSPF Trap overview ....................................79
   4.1 Introduction.........................................79
   4.2 Approach.............................................80
   4.3 Ignoring Initial Activity ...........................80
   4.4 Throttling Traps ....................................80
   4.5 One Trap Per OSPF Event .............................80
   4.6 Polling Event Counters ..............................81
   5 OSPF Trap Definitions .................................81
   5.1 Trap Support Objects ................................82
   5.2 Traps ...............................................84
   5.3 Conformance Information .............................90
   6 Acknowledgements ......................................92

Internet Draft           Expires October 2003                        2
                              OSPFv3 MIB                    April 2003


   7 References ............................................92
   A TOS Support ...........................................94
   B Changes from RFC 1850 .................................94
   B.1 General Group Support ...............................94
   B.2 OSPF NSSA Enhancement Support .......................94
   B.4 Opaque LSA Support ..................................95
   B.5 Graceful Restart Support ............................97
   B.6 OSPF Compliances.....................................97
   B.7 OSPF Authentication and Security.....................98
   B.8 OSPF Trap MIB .......................................98
   B.9 Miscellaneous .......................................99
   C Security Considerations ...............................100
   D Authors' Addresses ....................................100
   E Full Copyright Statement ..............................101


1 Overview

1.1 The SNMPv2 Network Management Framework

   This document describes aspects of the SNMPv2 Network Management
   Framework, which consists of a number of components.  They are:

      - An overall architecture, described in RFC 2571 [1].

      - Mechanisms for describing and naming objects  and  events
        for  the purpose of management. The first version of this
        Structure of Management Information (SMI) is called SMIv1
        and described in STD 16, RFC 1155 [2], STD 16, RFC 1212
        [3] and RFC 1215 [4]. The second version, called SMIv2,
        is described in STD 58, RFC 2578 [5], RFC 2579 [6] and
        RFC 2580 [7].

      - Message protocols for transferring management
        information. The first version of the SNMP  message
        protocol is called SNMPv1 and described in STD 15, RFC
        1157 [8]. A second version of the SNMP message protocol,
        which is not an Internet standards  track  protocol, is
        called SNMPv2c and described in RFC 1901 [9] and RFC 1906
        [10]. The third version of the message protocol is called
        SNMPv3 and described in RFC 1906 [10], RFC 2572 [11] and
        RFC 2574 [12].

      - Protocol operations for accessing management information.
        The first set of protocol operations and associated PDU
        formats is described in STD 15, RFC 1157  [8]. A second
        set of protocol operations and associated PDU formats is
        described in RFC 1905 [13].

      - A set of fundamental applications described in  RFC  2573
        [14] and the view-based access control mechanism
        described in RFC 2575 [15].


Internet Draft           Expires October 2003                        3
                              OSPFv3 MIB                    April 2003


1.2 The SMI, and Object Definitions

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the subset of Abstract Syntax Notation One (ASN.1)
   defined in the SMI.

   This memo specifies a MIB module that is compliant to the
   SMIv2. A MIB conforming to the SMIv1 can be produced through
   the appropriate translations.

1.3 Object Identification

   Objects in the SMI are defined by types, and are named by an
   OBJECT IDENTIFIER, which is an administratively assigned name.
   The object type together with an object instance serves to
   uniquely identify a specific instantiation of the object. For
   human convenience, we often use a textual string, termed
   the descriptor, to refer to the object type.

1.4 Textual Conventions

   Several data types in this MIB document are termed textual
   conventions. Textual conventions enhance the readability
   of the specification and can ease comparison with other
   specifications if appropriate. It should be noted that
   textual conventions have no effect on either the syntax nor
   the semantics of any managed objects. Objects defined in
   terms of one of these methods are always encoded by means
   of the rules that define the primitive type. Textual
   conventions are used for the convenience of readers and
   writers in pursuit of the goal of clear, concise, and
   unambiguous MIB documents.

1.5 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 which an agent should use for instances
   of variables which need to be created due to a Set-Request, but which
   are not specified in the Set-Request. DEFVAL clauses have not been
   specified for some objects which 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 RFC-791):

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

   Therefor, management stations should include as many of these
   columnar objects as possible (e.g., all read-write objects) in a Set-

Internet Draft           Expires October 2003                        4
                              OSPFv3 MIB                    April 2003


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

1.6 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. 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 that:

      - 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

Internet Draft           Expires October 2003                        5
                              OSPFv3 MIB                    April 2003



      - All Broadcast and Point to Point interfaces will be
        operational.  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.

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

   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 which are global to the OSPF Process.

2.1.2 Area Data Structure and Area Stub Metric Table

Internet Draft           Expires October 2003                        6
                              OSPFv3 MIB                    April 2003



   The Area Data Structure describes all of the OSPF Areas that the
   router participates in. The Area Table includes data for NSSA
   translation.

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

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


OSPF-MIB DEFINITIONS ::= BEGIN

Internet Draft           Expires October 2003                        7
                              OSPFv3 MIB                    April 2003



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


ospf MODULE-IDENTITY
        LAST-UPDATED "200304011015Z" -- Apr 01, 2003 10:15:00 GMT
        ORGANIZATION "IETF OSPF Working Group"
        CONTACT-INFO
        "WG E-Mail: ospf@discuss.microsoft.com
         WG Chairs: John.Moy@sycamorenet.com
                    acee@redback.com
                    rohit@xebeo.com

                Spencer Giacalone
        Postal: Predictive Systems
                25a Vreeland Road
                Florham Park, NJ 07932
        Tel:    +1 (973) 301-5695
        E-Mail: spencer.giacalone@predictive.com

                Dan Joyal
        Postal: Nortel Networks
                600 Technology Park Drive
                Billerica, MA  01821
        E-Mail: djoyal@nortelnetworks.com"
        DESCRIPTION
           "The MIB module to describe the OSPF Version 2
           Protocol. Note that some objects in this MIB
           module may pose a significant security risk.
           Refer to the Security Considerations section
           in the document defining this MIB module for more
           information"
        REVISION "200304011015Z" -- Apr 01, 2003 10:15:00 GMT
        DESCRIPTION
          "Updated for latest changes to OSPF Version 2.
          See Appendix B for details."
        REVISION "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995
        DESCRIPTION
           "The initial SMIv2 revision of this MIB module, published in
           RFC1850."
        ::= { mib-2 14 }

--  Note the Area ID, in OSPF, has the same format as an IP Address,
--  but has the function of defining a summarization point for

Internet Draft           Expires October 2003                        8
                              OSPFv3 MIB                    April 2003


--  Link State Advertisements

AreaID ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
           "An OSPF Area Identifier."
        SYNTAX       IpAddress

--  Note: The Router ID, in OSPF, has the same format as an IP
--  Address, but identifies the router independent of its IP Address.

RouterID ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
           "A OSPF Router Identifier."
        SYNTAX       IpAddress

--  Note the OSPF Metric is defined as an unsigned value in the range

Metric ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
           "The OSPF Internal Metric."
        SYNTAX       Integer32 (0..'FFFF'h)

BigMetric ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
           "The OSPF External Metric."
        SYNTAX       Integer32 (0..'FFFFFF'h)

--  Status Values

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,
           while 'disabled' indicates that it is not."
        SYNTAX       INTEGER { enabled (1), disabled (2) }

--  Note that the following Time Durations are measured in seconds

PositiveInteger ::= TEXTUAL-CONVENTION
        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

Internet Draft           Expires October 2003                        9
                              OSPFv3 MIB                    April 2003


        STATUS       current
        DESCRIPTION
           "The range of intervals on which hello messages are
           exchanged."
        SYNTAX       Integer32 (1..'FFFF'h)

UpToMaxAge ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
           "The values that one might find or configure for
           variables bounded by the maximum age of an LSA."
        SYNTAX       Integer32 (0..3600)

--  The range of ifIndex

InterfaceIndex ::= TEXTUAL-CONVENTION
        STATUS       obsolete
        DESCRIPTION
           "The range of ifIndex. This statement
           no longer used and is included for backwards-
           compatibility "
        SYNTAX       Integer32

--  Potential Priorities for the Designated Router Election

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

TOSType ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
           "Type of Service 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

Internet Draft           Expires October 2003                       10
                              OSPFv3 MIB                    April 2003


                   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)


--  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."
        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 inter-
           face; 'disabled' disables  it on all inter-
           faces."
        ::= { ospfGeneralGroup 2 }

   ospfVersionNumber OBJECT-TYPE
        SYNTAX       INTEGER { version2 (2) }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The current version number of the OSPF  proto-
           col is 2."
        REFERENCE
           "OSPF Version 2, Title"
        ::= { ospfGeneralGroup 3 }

   ospfAreaBdrRtrStatus OBJECT-TYPE

Internet Draft           Expires October 2003                       11
                              OSPFv3 MIB                    April 2003


        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 config-
           ured as an Autonomous System border router."
        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
         STATUS       current
         DESCRIPTION
            "The 32-bit unsigned sum of the LS checksums of
            the  external link-state advertisements con-
            tained 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."
         ::= { ospfGeneralGroup 7 }

   ospfTOSSupport OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current

Internet Draft           Expires October 2003                       12
                              OSPFv3 MIB                    April 2003


        DESCRIPTION
           "The router's support for type-of-service rout-
           ing."
        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 in-
           cremented each time the router originates a new
           LSA."
         ::= { ospfGeneralGroup 9 }

   ospfRxNewLsas OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The number of link-state advertisements re-
           ceived determined to be new instantiations.
           This number does not include newer instantia-
           tions of self-originated link-state advertise-
           ments."
        ::= { 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)."
         DEFVAL { -1 }
         ::= { ospfGeneralGroup 11 }


Internet Draft           Expires October 2003                       13
                              OSPFv3 MIB                    April 2003


   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 Multi-
           cast Extensions to OSPF.

           Bit 0, if set, indicates that the router can
           forward IP multicast datagrams in the router's
           directly attached areas (called intra-area mul-
           ticast 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 Auto-
           nomous Systems (called inter-AS multicast rout-
           ing).

           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 mul-
           ticast forwarding is enabled."
        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."
            DEFVAL { 0 }
            ::= { ospfGeneralGroup 13 }

   ospfDemandExtensions OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION

Internet Draft           Expires October 2003                       14
                              OSPFv3 MIB                    April 2003


           "The router's support for demand routing."
        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."
         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 }

   ospfTrafficEngineeringSupport OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "The router's support for OSPF traffic engineering."
        ::= { ospfGeneralGroup 17 }

   ospfReferenceBandwidth OBJECT-TYPE
        SYNTAX       Unsigned32
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "Reference bandwidth in kilobits/second for
           calculating default interface metrics. The
           default value is 100,000 KBPS (100 MBPS)"
        ::= { ospfGeneralGroup 18 }

   ospfRestartSupport OBJECT-TYPE
        SYNTAX       INTEGER { none (1),
                               plannedOnly (2),
                               plannedAndUnplanned (3)

Internet Draft           Expires October 2003                       15
                              OSPFv3 MIB                    April 2003


                             }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "The router's support for OSPF hitless restart.
           Options include: no restart support, only planned
           restarts or both planned and unplanned restarts."
        ::= { ospfGeneralGroup 19 }

   ospfRestartInterval OBJECT-TYPE
        SYNTAX       Integer32 (0..1800)
        UNITS        "seconds"
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "Configured OSPF hitless restart timeout interval."
        ::= { ospfGeneralGroup 20 }

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

   ospfRestartAge OBJECT-TYPE
        SYNTAX       Unsigned32
        UNITS        "seconds"
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "Remaining time in current OSPF hitless 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

Internet Draft           Expires October 2003                       16
                              OSPFv3 MIB                    April 2003


           hitless 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
        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 con-
            tained 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 LSA's by the router. The value
            doNotAdvertise will result in the advertisement
            of a standard router LSA and is the default value.ö
        ::= { ospfGeneralGroup 27 }



Internet Draft           Expires October 2003                       17
                              OSPFv3 MIB                    April 2003



--  OSPF Area Data Structure

--     The OSPF Area Data Structure contains information
--     regarding the various areas. The interfaces and
--     virtual links are configured as part of these areas.
--     Area 0.0.0.0, by definition, is the Backbone Area

   ospfAreaTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF OspfAreaEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "Information describing the configured parame-
           ters and cumulative statistics of the router's
           attached areas."
        REFERENCE
           "OSPF Version 2, Section 6 The Area Data Struc-
           ture"
        ::= { ospf 2 }

   ospfAreaEntry OBJECT-TYPE
        SYNTAX       OspfAreaEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "Information describing the configured parame-
           ters and cumulative statistics of one of the
           router's attached areas."
        INDEX { ospfAreaId }
        ::= { ospfAreaTable 1 }

   OspfAreaEntry ::=
         SEQUENCE {
            ospfAreaId
               AreaID,
            ospfAuthType
               Integer32,
            ospfImportAsExtern
               INTEGER,
            ospfSpfRuns
               Counter32,
            ospfAreaBdrRtrCount
               Gauge32,
            ospfAsBdrRtrCount
               Gauge32,
            ospfAreaLsaCount
               Gauge32,
            ospfAreaLsaCksumSum
               Integer32,
            ospfAreaSummary
               INTEGER,
            ospfAreaStatus

Internet Draft           Expires October 2003                       18
                              OSPFv3 MIB                    April 2003


               RowStatus,
            ospfAreaNssaTranslatorRole
               INTEGER,
            ospfAreaNssaTranslatorState
               INTEGER,
            ospfAreaNssaTranslatorStabilityInterval
               PositiveInteger,
            ospfAreaNssaTranslatorEvents
               Counter32
            }

   ospfAreaId OBJECT-TYPE
        SYNTAX       AreaID
        MAX-ACCESS   read-only
        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       Integer32
                        -- none (0),
                        -- simplePassword (1)
                        -- md5 (2)
                        -- reserved for specification by IANA (> 2)
        MAX-ACCESS   read-create
        STATUS       obsolete
        DESCRIPTION
           "The authentication type specified for an area.
           Additional authentication types may be assigned
           locally on a per Area basis."
        REFERENCE
           "OSPF Version 2, Appendix D Authentication"
        DEFVAL { 0 } -- 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 whether 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

Internet Draft           Expires October 2003                       19
                              OSPFv3 MIB                    April 2003


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

   ospfAreaBdrRtrCount OBJECT-TYPE
        SYNTAX       Gauge32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The total number of area border routers reach-
           able within this area. This is initially zero,
           and is calculated in each SPF Pass."
        ::= { 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 LSA's."
        ::= { ospfAreaEntry 7 }

   ospfAreaLsaCksumSum OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The 32-bit unsigned sum of the link-state  ad-
           vertisements' LS checksums contained in this

Internet Draft           Expires October 2003                       20
                              OSPFv3 MIB                    April 2003


           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 data-
           base, and to compare the link-state database of
           two routers."
        DEFVAL { 0 }
        ::= { ospfAreaEntry 8 }

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

           If it is noAreaSummary, the router will neither
           originate nor propagate 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."
        ::= { 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

Internet Draft           Expires October 2003                       21
                              OSPFv3 MIB                    April 2003


        SYNTAX       INTEGER { enabled (1),
                        elected (2),
                        disabled (3)
                        }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "Indicates if and how an NSSA Border router is
           performing NSSA translation of type-7 LSAs into type-5
           LSAs. When this object 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
        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."
        ::= { ospfAreaEntry 14 }


--  OSPF Area Default Metric Table

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

   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"

Internet Draft           Expires October 2003                       22
                              OSPFv3 MIB                    April 2003


        ::= { ospf 3 }

   ospfStubAreaEntry OBJECT-TYPE
        SYNTAX       OspfStubAreaEntry
        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."
        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
        STATUS       current
        DESCRIPTION
           "The 32 bit identifier for the Stub Area. On
           creation, this can be derived from the in-
           stance."
        ::= { ospfStubAreaEntry 1 }

   ospfStubTOS OBJECT-TYPE
        SYNTAX       TOSType
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The Type of Service associated with the
           metric. On creation, this can be derived from
           the instance."
        ::= { ospfStubAreaEntry 2 }

   ospfStubMetric OBJECT-TYPE
        SYNTAX       BigMetric
        MAX-ACCESS   read-create
        STATUS       current

Internet Draft           Expires October 2003                       23
                              OSPFv3 MIB                    April 2003


        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 inter-
           faces 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."
        ::= { 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 ad-
           vertised as a default route."
        DEFVAL { ospfMetric }
        ::= { ospfStubAreaEntry 5 }


--  OSPF Link State Database

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

   ospfLsdbTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF OspfLsdbEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "The OSPF Process's Link State Database."
        REFERENCE
           "OSPF Version 2, Section 12 Link State Adver-
           tisements"
        ::= { ospf 4 }

   ospfLsdbEntry OBJECT-TYPE
        SYNTAX   OspfLsdbEntry
        MAX-ACCESS   not-accessible
        STATUS   current

Internet Draft           Expires October 2003                       24
                              OSPFv3 MIB                    April 2003


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

--  Note: External Link State Advertisements are permitted
--  for backward compatibility, but should be displayed in
--  the ospfAsLsdbTable rather than here.

   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

Internet Draft           Expires October 2003                       25
                              OSPFv3 MIB                    April 2003


        STATUS       current
        DESCRIPTION
           "The type of the link state advertisement.
           Each link state type has a separate advertise-
           ment format."
        REFERENCE
           "OSPF Version 2, Appendix A.4.1 The  Link  State
           Advertisement header"
        ::= { ospfLsdbEntry 2 }

   ospfLsdbLsid OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        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
        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"
        ::= { ospfLsdbEntry 4 }

--  Note that the OSPF Sequence Number is a 32 bit signed
--  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.

   ospfLsdbSequence OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The sequence number field is a signed 32-bit
           integer. It is used to detect old and dupli-
           cate 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"

Internet Draft           Expires October 2003                       26
                              OSPFv3 MIB                    April 2003


        ::= { ospfLsdbEntry 5 }

   ospfLsdbAge OBJECT-TYPE
        SYNTAX       Integer32 -- Should be 0..MaxAge, except when
                               -- doNotAge bit is set
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "This field is the age of the link state adver-
           tisement 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 connec-
           tionless 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."
        REFERENCE
           "OSPF Version 2, Section 12 Link State Adver-
           tisements"
        ::= { ospfLsdbEntry 8 }


--  Address Range Table

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

   ospfAreaRangeTable OBJECT-TYPE

Internet Draft           Expires October 2003                       27
                              OSPFv3 MIB                    April 2003


        SYNTAX       SEQUENCE OF OspfAreaRangeEntry
        MAX-ACCESS   not-accessible
        STATUS       obsolete
        DESCRIPTION
           "A range if IP addresses 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"
        REFERENCE
           "OSPF Version 2, Appendix C.2  Area parameters"
        ::= { ospf 5 }

   ospfAreaRangeEntry OBJECT-TYPE
        SYNTAX       OspfAreaRangeEntry
        MAX-ACCESS   not-accessible
        STATUS       obsolete
        DESCRIPTION
           "A range if IP addresses 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"
        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
        STATUS       obsolete
        DESCRIPTION
           "The Area the Address Range is to be found
           within."
        REFERENCE
           "OSPF Version 2, Appendix C.2 Area parameters"
        ::= { ospfAreaRangeEntry 1 }


Internet Draft           Expires October 2003                       28
                              OSPFv3 MIB                    April 2003


   ospfAreaRangeNet OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        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 }

   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."
        ::= { 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 (adver-
           tiseMatching), or result in the subnet's not
           being advertised at all outside the area."
        DEFVAL { advertiseMatching }
        ::= { ospfAreaRangeEntry 5 }


--  OSPF Host Table

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

Internet Draft           Expires October 2003                       29
                              OSPFv3 MIB                    April 2003


--     are found within.

   ospfHostTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF OspfHostEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "The list of Hosts, and their metrics, that the
           router will advertise as host routes."
        REFERENCE
           "OSPF Version 2, Appendix C.7 Host route param-
           eters"
        ::= { 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."
        INDEX { ospfHostIpAddress, ospfHostTOS }
        ::= { ospfHostTable 1 }

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

   ospfHostIpAddress OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The IP Address of the Host."
        REFERENCE
           "OSPF Version 2, Appendix C.7 Host route parame-
           ters"
        ::= { ospfHostEntry 1 }

   ospfHostTOS OBJECT-TYPE
        SYNTAX       TOSType
        MAX-ACCESS   read-only
        STATUS       current

Internet Draft           Expires October 2003                       30
                              OSPFv3 MIB                    April 2003


        DESCRIPTION
           "The Type of Service of the route being config-
           ured."
        REFERENCE
           "OSPF Version 2, Appendix C.7 Host route parame-
           ters"
        ::= { 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 parame-
           ters"
        ::= { 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."
        ::= { ospfHostEntry 4 }

   ospfHostAreaID OBJECT-TYPE
        SYNTAX       AreaID
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The Area the Host Entry is to be found within."
        REFERENCE
           "OSPF Version 2, Appendix C.7 Host parameters"
        ::= { ospfHostEntry 5 }


--  OSPF Interface Table

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

   ospfIfTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF OspfIfEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "The OSPF Interface Table describes the inter-
           faces from the viewpoint of OSPF."
        REFERENCE

Internet Draft           Expires October 2003                       31
                              OSPFv3 MIB                    April 2003


           "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 inter-
           face from the viewpoint of OSPF."
        INDEX { ospfIfIpAddress, ospfAddressLessIf }
        ::= { ospfIfTable 1 }

   OspfIfEntry ::=
        SEQUENCE {
           ospfIfIpAddress
              IpAddress,
           ospfAddressLessIf
              InterfaceIndexOrZero,
           ospfIfAreaId
              AreaID,
           ospfIfType
              INTEGER,
           ospfIfAdminStat
              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

Internet Draft           Expires October 2003                       32
                              OSPFv3 MIB                    April 2003


              TruthValue,
           ospfIfAuthType
              INTEGER,
           ospfIfLsaCount
              Gauge32,
           ospfIfLsaCksumSum
              Integer32

           }

   ospfIfIpAddress OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The IP address of this OSPF interface."
        ::= { ospfIfEntry 1 }

   ospfAddressLessIf OBJECT-TYPE
        SYNTAX       InterfaceIndexOrZero
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "For the purpose of easing the instancing of
           addressed and address less 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

Internet Draft           Expires October 2003                       33
                              OSPFv3 MIB                    April 2003


           from the corresponding value of ifType. Broad-
           cast 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
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The OSPF interface's administrative status.
           The value formed on the interface, and the in-
           terface 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 eligi-
           ble 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
         MAX-ACCESS   read-create
         STATUS       current
         DESCRIPTION
            "The estimated number of seconds it takes to
            transmit a link state update packet over this
            interface."
         DEFVAL { 1 }
         ::= { ospfIfEntry 7 }

   ospfIfRetransInterval OBJECT-TYPE
        SYNTAX       UpToMaxAge
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION

Internet Draft           Expires October 2003                       34
                              OSPFv3 MIB                    April 2003


           "The number of seconds between link-state  ad-
           vertisement retransmissions, for adjacencies
           belonging to this interface. This value is
           also used when retransmitting database descrip-
           tion and link-state request packets."
        DEFVAL { 5 }
        ::= { ospfIfEntry 8 }

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

   ospfIfRtrDeadInterval OBJECT-TYPE
        SYNTAX       PositiveInteger
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The number of seconds that a router's Hello
           packets have not been seen before it's neigh-
           bors 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
        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),
                        pointToPoint (4),
                        designatedRouter (5),
                        backupDesignatedRouter (6),

Internet Draft           Expires October 2003                       35
                              OSPFv3 MIB                    April 2003


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

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

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

           Unauthenticated interfaces need no authentication
           key, and simple password authentication cannot use

Internet Draft           Expires October 2003                       36
                              OSPFv3 MIB                    April 2003


           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. [RFC-1704]

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

   ospfIfMulticastForwarding OBJECT-TYPE
        SYNTAX       INTEGER {
                        blocked (1), -- no multicast forwarding
                        multicast (2), -- using multicast address
                        unicast (3) -- to each OSPF neighbor
                        }
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The way multicasts should forwarded on this
           interface; not forwarded, forwarded as data
           link multicasts, or forwarded as data link uni-
           casts. Data link multicasting is not meaning-
           ful on point to point and NBMA interfaces, and
           setting ospfMulticastForwarding to 0 effective-
           ly 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 (hel-
           lo suppression to FULL neighbors and setting the

Internet Draft           Expires October 2003                       37
                              OSPFv3 MIB                    April 2003


           DoNotAge flag on propagated LSAs) should be per-
           formed on this interface."
        DEFVAL { false }
        ::= { ospfIfEntry 19 }

   ospfIfAuthType OBJECT-TYPE
        SYNTAX       INTEGER (0..255)
                        -- none (0),
                        -- simplePassword (1)
                        -- md5 (2)
                        -- reserved for specification by IANA (> 2)
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The authentication type specified for an in-
           terface. Additional authentication types may
           be assigned locally.

           Note that this object can be used to engage
           in significant attacks against an OSPF router."
        REFERENCE
           "OSPF Version 2, Appendix D Authentication"
        DEFVAL { 0 } -- 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 }

   ospfIfLsaCksumSum OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The 32-bit unsigned sum of the link-state ad-
           vertisements' 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 data-
           base, and to compare the interface link-state database of
           routers attached to the same subnet."
        ::= { ospfIfEntry 22 }


--  OSPF Interface Metric Table

--     The Metric Table describes the metrics to be advertised
--     for a specified interface at the various types of service.

Internet Draft           Expires October 2003                       38
                              OSPFv3 MIB                    April 2003


--     As such, this table is an adjunct of the OSPF Interface
--     Table.

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

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

--        Metric = referenceBandwidth / ifSpeed

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

--       Network Type/bit rate   Metric

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

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

--     Note that the default reference bandwidth can be configured using
--     the general group object ospfReferenceBandwidth.

   ospfIfMetricTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF OspfIfMetricEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "The TOS metrics for a non-virtual interface
           identified by the interface index."
        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 in-
           terface identified by the interface index."
        REFERENCE
           "OSPF Version 2, Appendix C.3 Router interface

Internet Draft           Expires October 2003                       39
                              OSPFv3 MIB                    April 2003


           parameters"
        INDEX { ospfIfMetricIpAddress,
           ospfIfMetricAddressLessIf,
           ospfIfMetricTOS }
        ::= { ospfIfMetricTable 1 }

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

   ospfIfMetricIpAddress OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The IP address of this OSPF interface. On row
           creation, this can be derived from the in-
           stance."
        ::= { ospfIfMetricEntry 1 }

   ospfIfMetricAddressLessIf OBJECT-TYPE
        SYNTAX       InterfaceIndexOrZero
        MAX-ACCESS   read-only
        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 in-
           terfaces having no IP Address. On row crea-
           tion, this can be derived from the instance."
         ::= { ospfIfMetricEntry 2 }

   ospfIfMetricTOS OBJECT-TYPE
        SYNTAX       TOSType
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The type of service metric being referenced.
           On row creation, this can be derived from the
           instance."
        ::= { ospfIfMetricEntry 3 }


Internet Draft           Expires October 2003                       40
                              OSPFv3 MIB                    April 2003


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


--  OSPF Virtual Interface Table

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

   ospfVirtIfTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF OspfVirtIfEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "Information about this router's virtual inter-
           faces."
        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."
        INDEX { ospfVirtIfAreaId, ospfVirtIfNeighbor }
        ::= { ospfVirtIfTable 1 }

   OspfVirtIfEntry ::=
        SEQUENCE {
           ospfVirtIfAreaId
              AreaID,
           ospfVirtIfNeighbor

Internet Draft           Expires October 2003                       41
                              OSPFv3 MIB                    April 2003


              RouterID,
           ospfVirtIfTransitDelay
              UpToMaxAge,
           ospfVirtIfRetransInterval
              UpToMaxAge,
           ospfVirtIfHelloInterval
              HelloRange,
           ospfVirtIfRtrDeadInterval
              PositiveInteger,
           ospfVirtIfState
              INTEGER,
           ospfVirtIfEvents
              Counter32,
           ospfVirtIfAuthType
              INTEGER,
           ospfVirtIfAuthKey
              OCTET STRING,
           ospfVirtIfStatus
              RowStatus,
           ospfVirtIfLsaCount
              Gauge32,
           ospfVirtIfLsaCksumSum
              Integer32
           }

   ospfVirtIfAreaId OBJECT-TYPE
        SYNTAX       AreaID
        MAX-ACCESS   read-only
        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
        STATUS       current
        DESCRIPTION
           "The Router ID of the Virtual Neighbor."
        ::= { ospfVirtIfEntry 2 }

   ospfVirtIfTransitDelay OBJECT-TYPE
        SYNTAX       UpToMaxAge
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The estimated number of seconds it takes to
           transmit a link-state update packet over this
           interface."
        DEFVAL { 1 }
        ::= { ospfVirtIfEntry 3 }


Internet Draft           Expires October 2003                       42
                              OSPFv3 MIB                    April 2003


   ospfVirtIfRetransInterval OBJECT-TYPE
        SYNTAX       UpToMaxAge
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The number of seconds between link-state ad-
           vertisement retransmissions, for adjacencies
           belonging to this interface. This value is
           also used when retransmitting database descrip-
           tion and link-state request packets. This
           value  should be well over the expected round-
           trip time."
        DEFVAL { 5 }
        ::= { ospfVirtIfEntry 4 }

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

   ospfVirtIfRtrDeadInterval OBJECT-TYPE
        SYNTAX       PositiveInteger
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The number of seconds that a router's Hello
           packets  have not been seen before it's neigh-
           bors declare the router down. This should be
           some  multiple of the Hello interval. This
           value must be the same for the virtual neigh-
           bor."
        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 }


Internet Draft           Expires October 2003                       43
                              OSPFv3 MIB                    April 2003


   ospfVirtIfEvents OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The number of state changes or error events on
           this Virtual Link"
        ::= { 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.

           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. [RFC-1704]

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

   ospfVirtIfAuthType OBJECT-TYPE

Internet Draft           Expires October 2003                       44
                              OSPFv3 MIB                    April 2003


        SYNTAX       INTEGER (0..255)
                        -- none (0),
                        -- simplePassword (1)
                        -- md5 (2)
                        -- reserved for specification by IANA (> 2)
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "The authentication type specified for a virtu-
           al interface. Additional authentication types
           may be assigned locally.

           Note that this object can be used to engage
           in significant attacks against an OSPF router."
        REFERENCE
           "OSPF Version 2, Appendix E Authentication"
        DEFVAL { 0 } -- no authentication, by default
        ::= { 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       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The 32-bit unsigned sum of the link-state ad-
           vertisements' 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 data-
           base, and to compare the virtual interface link-state
           database of the virtual neighbors."
        ::= { ospfVirtIfEntry 13 }


--  OSPF Neighbor Table

--      The OSPF Neighbor Table describes all neighbors in
--      the locality of the subject router.

   ospfNbrTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF OspfNbrEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION

Internet Draft           Expires October 2003                       45
                              OSPFv3 MIB                    April 2003


           "A table of non-virtual neighbor information."
        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."
        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

Internet Draft           Expires October 2003                       46
                              OSPFv3 MIB                    April 2003


        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 ad-
           dress of another of the neighbor's interfaces."
        ::= { ospfNbrEntry 1 }

    ospfNbrAddressLessIndex OBJECT-TYPE
        SYNTAX       InterfaceIndexOrZero
        MAX-ACCESS   read-only
        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 IpAd-
           dress) 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 op-
           tions 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 informa-
           tion; if zero, it is a stub area.

           Bit 2, if set, indicates that the system is ca-
           pable of routing IP Multicast datagrams; i.e.,
           that it implements the Multicast Extensions to
           OSPF.


Internet Draft           Expires October 2003                       47
                              OSPFv3 MIB                    April 2003


           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 advertise-
           ments 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 designat-
           ed router election algorithm. The value 0 sig-
           nifies that the neighbor is not eligible to be-
           come 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 Neigh-
             bor."
          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
           "The number of times this neighbor relationship
           has changed state, or an error has occurred."
        ::= { ospfNbrEntry 7 }


Internet Draft           Expires October 2003                       48
                              OSPFv3 MIB                    April 2003


   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."
        ::= { 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 en-
           try. 'dynamic' and 'permanent' refer to how
           the neighbor became known."
        DEFVAL { permanent }
        ::= { ospfNbrEntry 10 }

    ospfNbrHelloSuppressed OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-only
        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 hitless restart helper for the neighbor."
           ::= { ospfNbrEntry 12 }


Internet Draft           Expires October 2003                       49
                              OSPFv3 MIB                    April 2003


   ospfNbrRestartHelperAge OBJECT-TYPE
        SYNTAX       Unsigned32
        UNITS        "seconds"
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "Remaining time in current OSPF hitless 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 hitless restart helper for the neighbor."
        ::= { ospfNbrEntry 14 }

--  OSPF Virtual Neighbor Table

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

   ospfVirtNbrTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF OspfVirtNbrEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "A table of virtual neighbor information."
        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 }

Internet Draft           Expires October 2003                       50
                              OSPFv3 MIB                    April 2003



   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
        SYNTAX       AreaID
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The Transit Area Identifier."
        ::= { ospfVirtNbrEntry 1 }

   ospfVirtNbrRtrId OBJECT-TYPE
        SYNTAX       RouterID
        MAX-ACCESS   read-only
        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 us-
            ing."
        ::= { ospfVirtNbrEntry 3 }


Internet Draft           Expires October 2003                       51
                              OSPFv3 MIB                    April 2003


   ospfVirtNbrOptions OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "A Bit Mask corresponding to the neighbor's op-
           tions 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; ie, that it imple-
           ments OSPF Multicast Routing."
        ::= { ospfVirtNbrEntry 4 }

    ospfVirtNbrState OBJECT-TYPE
        SYNTAX       INTEGER {
                        down (1),
                        attempt (2),
                        init (3),
                        twoWay (4),
                        exchangeStart (5),
                        exchange (6),
                        loading (7),
                        full (8)
                        }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The state of the Virtual Neighbor Relation-
           ship."
        ::= { 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."
        ::= { ospfVirtNbrEntry 6 }

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

Internet Draft           Expires October 2003                       52
                              OSPFv3 MIB                    April 2003



   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)
                             }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "Indicates whether the router is acting
           as a hitless 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 hitless 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 hitless restart helper for the neighbor."
        ::= { ospfVirtNbrEntry 11 }


--  OSPF Link State Database, External


Internet Draft           Expires October 2003                       53
                              OSPFv3 MIB                    April 2003


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

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

--      Note that this table has been deprecated and is
--      replaced by the AS-scope Link State Database


   ospfExtLsdbTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF OspfExtLsdbEntry
        MAX-ACCESS   not-accessible
        STATUS       deprecated
        DESCRIPTION
           "The OSPF Process's External LSA Link State Database."
        REFERENCE
           "OSPF Version 2, Section 12 Link State Adver-
           tisements"
        ::= { 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

Internet Draft           Expires October 2003                       54
                              OSPFv3 MIB                    April 2003


        SYNTAX      INTEGER {
                       asExternalLink (5)
                       }
        MAX-ACCESS   read-only
        STATUS       deprecated
        DESCRIPTION
           "The type of the link state advertisement.
           Each link state type has a separate advertise-
           ment format."
        REFERENCE
           "OSPF Version 2, Appendix A.4.1 The  Link  State
           Advertisement header"
        ::= { ospfExtLsdbEntry 1 }

   ospfExtLsdbLsid OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        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
        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 }

--  Note that the OSPF Sequence Number is a 32 bit signed
--  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.

   ospfExtLsdbSequence OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       deprecated
        DESCRIPTION
           "The sequence number field is a signed 32-bit
           integer. It is used to detect old and dupli-
           cate link state advertisements. The space of
           sequence numbers is linearly ordered. The
           larger the sequence number the more recent the

Internet Draft           Expires October 2003                       55
                              OSPFv3 MIB                    April 2003


           advertisement."
        REFERENCE
           "OSPF Version  2,  Section  12.1.6  LS  sequence
           number"
        ::= { ospfExtLsdbEntry 4 }

   ospfExtLsdbAge OBJECT-TYPE
        SYNTAX       Integer32 -- Should be 0..MaxAge, except when
                               -- doNotAge bit is set
        MAX-ACCESS   read-only
        STATUS       deprecated
        DESCRIPTION
           "This field is the age of the link state adver-
           tisement 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 connec-
           tionless 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  Adver-
           tisements"
        ::= { 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

Internet Draft           Expires October 2003                       56
                              OSPFv3 MIB                    April 2003


--     the routing protocol to externalize its information. Most of
--     the variables (ipForwardDest, ipForwardMask, ipForwardPolicy,
--     ipForwardNextHop, ipForwardIfIndex, ipForwardType,
--     ipForwardProto, ipForwardAge, and ipForwardNextHopAS) are
--     defined there.

--     Those that leave some discretion are defined here.

--     ipCidrRouteProto is, of course, 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
        DESCRIPTION
           "A range of IP addresses specified by an IP
           address/IP network mask pair. For example,

Internet Draft           Expires October 2003                       57
                              OSPFv3 MIB                    April 2003


           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 sub-
           sumes 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 range of IP addresses 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 if
           ranges are range 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"
        INDEX { ospfAreaAggregateAreaID, ospfAreaAggregateLsdbType,
           ospfAreaAggregateNet, ospfAreaAggregateMask }
        ::= { ospfAreaAggregateTable 1 }

   OspfAreaAggregateEntry ::=
        SEQUENCE {
           ospfAreaAggregateAreaID
              AreaID,
           ospfAreaAggregateLsdbType
              INTEGER,
           ospfAreaAggregateNet
              IpAddress,
           ospfAreaAggregateMask
              IpAddress,
           ospfAreaAggregateStatus
              RowStatus,
           ospfAreaAggregateEffect
              INTEGER,
           ospfAreaAggregateExtRouteTag
              Unsigned32
           }

   ospfAreaAggregateAreaID OBJECT-TYPE
        SYNTAX       AreaID
        MAX-ACCESS   read-only
        STATUS       current

Internet Draft           Expires October 2003                       58
                              OSPFv3 MIB                    April 2003


        DESCRIPTION
           "The Area the Address Aggregate is to be  found
           within."
        REFERENCE
           "OSPF Version 2, Appendix C.2 Area parameters"
        ::= { ospfAreaAggregateEntry 1 }

   ospfAreaAggregateLsdbType OBJECT-TYPE
        SYNTAX       INTEGER {
                        summaryLink (3),
                        nssaExternalLink (7)
                        }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The type of the Address Aggregate. This field
           specifies the Lsdb type that this Address Ag-
           gregate 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
        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 }

   ospfAreaAggregateMask OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        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."

Internet Draft           Expires October 2003                       59
                              OSPFv3 MIB                    April 2003


        ::= { 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 (ad-
           vertiseMatching), 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."
        DEFVAL { 0 }
        ::= { ospfAreaAggregateEntry 7 }

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

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

   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."
        REFERENCE
           "OSPF Version 2, Section 12 Link State Adver-
           tisements and The OSPF Opaque LSA Option"
        ::= { ospf 17 }

   ospfLocalLsdbEntry OBJECT-TYPE
        SYNTAX       OspfLocalLsdbEntry
        MAX-ACCESS   not-accessible
        STATUS       current

Internet Draft           Expires October 2003                       60
                              OSPFv3 MIB                    April 2003


        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,
           ospfLocalLsdbSequence
              Integer32,
           ospfLocalLsdbAge
              Integer32,
           ospfLocalLsdbChecksum
              Integer32,
           ospfLocalLsdbAdvertisement
              OCTET STRING
           }

   ospfLocalLsdbIpAddress OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        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   read-only
        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 }


Internet Draft           Expires October 2003                       61
                              OSPFv3 MIB                    April 2003


   ospfLocalLsdbType OBJECT-TYPE
        SYNTAX       INTEGER { localOpaqueLink (9) }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The type of the link state advertisement.
           Each link state type has a separate advertise-
           ment format."
        REFERENCE
           "OSPF Version 2, Appendix A.4.1 The  Link  State
           Advertisement header and "
        ::= { ospfLocalLsdbEntry 3 }

   ospfLocalLsdbLsid OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        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   read-only
        STATUS       current
        DESCRIPTION
           "The 32 bit number that uniquely identifies the
           originating router in the Autonomous System."
        REFERENCE
           "OSPF Version 2, Appendix C.1 Global parameters"
        ::= { ospfLocalLsdbEntry 5 }

--  Note that the OSPF Sequence Number is a 32 bit signed
--  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.

   ospfLocalLsdbSequence OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The sequence number field is a signed 32-bit
           integer. It is used to detect old and dupli-
           cate link state advertisements. The space of
           sequence numbers is linearly ordered. The
           larger the sequence number the more recent the
           advertisement."

Internet Draft           Expires October 2003                       62
                              OSPFv3 MIB                    April 2003


        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
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "This field is the age of the link state adver-
           tisement 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 connec-
           tionless 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."
        REFERENCE
           "OSPF Version 2, Section 12 Link State Adver-
           tisements"
        ::= { ospfLocalLsdbEntry 9 }


--  OSPF Link State Database, Link-Local for virtual Links

--      This table is identical to the OSPF LSDB Table in
--      format, but contains only Link-Local Link State
--      Advertisements for virtual links. The purpose is to
--      allow Link-Local LSAs to be displayed for each virtual

Internet Draft           Expires October 2003                       63
                              OSPFv3 MIB                    April 2003


--      interface. This table is implemented to support type-9 LSAs
--      which are defined in "The OSPF Opaque LSA Option".

   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."
        REFERENCE
           "OSPF Version 2, Section 12 Link State Adver-
           tisements 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
        SYNTAX       AreaID

Internet Draft           Expires October 2003                       64
                              OSPFv3 MIB                    April 2003


        MAX-ACCESS   read-only
        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   read-only
                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   read-only
        STATUS       current
        DESCRIPTION
           "The type of the link state advertisement.
           Each  link state type has a separate advertise-
           ment format."
        REFERENCE
           "OSPF Version 2, Appendix A.4.1 The  Link  State
           Advertisement header and "
        ::= { ospfVirtLocalLsdbEntry 3 }

   ospfVirtLocalLsdbLsid OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        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
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The 32 bit number that uniquely identifies the
           originating router in the Autonomous System."
        REFERENCE

Internet Draft           Expires October 2003                       65
                              OSPFv3 MIB                    April 2003


           "OSPF Version 2, Appendix C.1 Global parameters"
        ::= { ospfVirtLocalLsdbEntry 5 }

--  Note that the OSPF Sequence Number is a 32 bit signed
--  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.

   ospfVirtLocalLsdbSequence OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The sequence number field is a  signed  32-bit
           integer. It is used to detect old and dupli-
           cate 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
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "This field is the age of the link state adver-
           tisement 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
           an advertisement's age can be incremented
           without updating the checksum. The checksum
           used is the same that is used for ISO connec-
           tionless datagrams; it is commonly referred  to
           as the Fletcher checksum."
        REFERENCE
           "OSPF Version 2, Section 12.1.7 LS checksum"
        ::= { ospfVirtLocalLsdbEntry 8 }


Internet Draft           Expires October 2003                       66
                              OSPFv3 MIB                    April 2003


   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 Adver-
           tisements"
        ::= { ospfVirtLocalLsdbEntry 9 }

--  OSPF Link State Database, AS-scope

--      The Link State 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.


   ospfAsLsdbTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF OspfAsLsdbEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "The OSPF Process's AS-scope LSA Link State Database."
        REFERENCE
           "OSPF Version 2, Section 12 Link State Adver-
           tisements"
        ::= { ospf 19 }

   ospfAsLsdbEntry OBJECT-TYPE
        SYNTAX       OspfAsLsdbEntry
        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,

Internet Draft           Expires October 2003                       67
                              OSPFv3 MIB                    April 2003


           ospfAsLsdbSequence
              Integer32,
           ospfAsLsdbAge
              Integer32,
           ospfAsLsdbChecksum
              Integer32,
           ospfAsLsdbAdvertisement
              OCTET STRING
           }

   ospfAsLsdbType OBJECT-TYPE
        SYNTAX      INTEGER {
                       asExternalLink (5),
                       asOpaqueLink   (11)
                       }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The type of the link state advertisement.
           Each link state type has a separate advertise-
           ment format."
        REFERENCE
           "OSPF Version 2, Appendix A.4.1 The  Link  State
           Advertisement header"
        ::= { ospfAsLsdbEntry 1 }

   ospfAsLsdbLsid OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        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"
        ::= { ospfAsLsdbEntry 2 }

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

--  Note that the OSPF Sequence Number is a 32 bit signed
--  integer. It starts with the value '80000001'h,
--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h

Internet Draft           Expires October 2003                       68
                              OSPFv3 MIB                    April 2003


--  Thus, a typical sequence number will be very negative.

   ospfAsLsdbSequence OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The sequence number field is a signed 32-bit
           integer. It is used to detect old and dupli-
           cate 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
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "This field is the age of the link state adver-
           tisement in seconds."
        REFERENCE
           "OSPF Version 2, Section 12.1.1 LS age"
        ::= { ospfAsLsdbEntry 5 }

   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 connec-
           tionless 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(36))
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The entire Link State Advertisement, including

Internet Draft           Expires October 2003                       69
                              OSPFv3 MIB                    April 2003


           its header."
        REFERENCE
           "OSPF Version 2, Section 12  Link  State  Adver-
           tisements"
        ::= { ospfAsLsdbEntry 7 }

-- conformance information

ospfConformance OBJECT IDENTIFIER ::= { ospf 15 }

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

-- compliance statements

   ospfCompliance MODULE-COMPLIANCE
        STATUS       current
        DESCRIPTION
           "The compliance statement for RFC 1850."
        MODULE       -- this module
        MANDATORY-GROUPS {
            ospfBasicGroup,
            ospfAreaGroup,
            ospfStubAreaGroup,
            ospfIfGroup,
            ospfIfMetricGroup,
            ospfVirtIfGroup,
            ospfNbrGroup,
            ospfVirtNbrGroup,
            ospfAreaAggregateGroup
            }
        ::= { ospfCompliances 1 }

   ospfCompliance2 MODULE-COMPLIANCE
        STATUS       current
        DESCRIPTION
           "The compliance statement."
        MODULE       -- this module
        MANDATORY-GROUPS {
           ospfBasicGroup2,
           ospfAreaGroup2,
           ospfStubAreaGroup,
           ospfIfGroup2,
           ospfIfMetricGroup,
           ospfVirtIfGroup2,
           ospfNbrGroup2,
           ospfVirtNbrGroup2,
           ospfAreaAggregateGroup2
           }
        GROUP  ospfHostGroup
           DESCRIPTION
              "This group is mandatory for OSPF systems that support
              attached hosts."

Internet Draft           Expires October 2003                       70
                              OSPFv3 MIB                    April 2003


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


--  units of conformance

   ospfBasicGroup    OBJECT-GROUP
        OBJECTS {
           ospfRouterId,
           ospfAdminStat,
           ospfVersionNumber,
           ospfAreaBdrRtrStatus,
           ospfASBdrRtrStatus,
           ospfExternLsaCount,
           ospfExternLsaCksumSum,
           ospfTOSSupport,
           ospfOriginateNewLsas,
           ospfRxNewLsas,
           ospfExtLsdbLimit,
           ospfMulticastExtensions,
           ospfExitOverflowInterval,
           ospfDemandExtensions
           }
        STATUS      current
        DESCRIPTION
           "These objects are required for OSPF systems conforming to
           RFC 1850."
        ::= { ospfGroups 1 }

   ospfAreaGroup    OBJECT-GROUP
        OBJECTS {
           ospfAreaId,
           ospfImportAsExtern,
           ospfSpfRuns,
           ospfAreaBdrRtrCount,
           ospfAsBdrRtrCount,
           ospfAreaLsaCount,

Internet Draft           Expires October 2003                       71
                              OSPFv3 MIB                    April 2003


           ospfAreaLsaCksumSum,
           ospfAreaSummary,
           ospfAreaStatus
           }
        STATUS      current
        DESCRIPTION
           "These objects are required for OSPF systems
           supporting areas per RFC 1850."
        ::= { ospfGroups 2 }

   ospfStubAreaGroup    OBJECT-GROUP
        OBJECTS {
           ospfStubAreaId,
           ospfStubTOS,
           ospfStubMetric,
           ospfStubStatus,
           ospfStubMetricType
           }
        STATUS       current
        DESCRIPTION
           "These objects are required 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 required 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 required for non-CIDR OSPF
           systems that support multiple areas."

Internet Draft           Expires October 2003                       72
                              OSPFv3 MIB                    April 2003


        ::= { ospfGroups 5 }

   ospfHostGroup    OBJECT-GROUP
        OBJECTS {
           ospfHostIpAddress,
           ospfHostTOS,
           ospfHostMetric,
           ospfHostStatus,
           ospfHostAreaID
           }
        STATUS       current
        DESCRIPTION
           "These objects are required  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       current
        DESCRIPTION
           "These objects are required for OSPF systems conforming
           to RFC 1850."
        ::= { ospfGroups 7 }

   ospfIfMetricGroup    OBJECT-GROUP
        OBJECTS {
           ospfIfMetricIpAddress,
           ospfIfMetricAddressLessIf,
           ospfIfMetricTOS,
           ospfIfMetricValue,
           ospfIfMetricStatus
           }

Internet Draft           Expires October 2003                       73
                              OSPFv3 MIB                    April 2003


        STATUS       current
        DESCRIPTION
           "These objects are required for OSPF systems."
        ::= { ospfGroups 8 }

   ospfVirtIfGroup    OBJECT-GROUP
        OBJECTS {
           ospfVirtIfAreaId,
           ospfVirtIfNeighbor,
           ospfVirtIfTransitDelay,
           ospfVirtIfRetransInterval,
           ospfVirtIfHelloInterval,
           ospfVirtIfRtrDeadInterval,
           ospfVirtIfState,
           ospfVirtIfEvents,
           ospfVirtIfAuthType,
           ospfVirtIfAuthKey,
           ospfVirtIfStatus
           }
         STATUS       current
         DESCRIPTION
           "These objects are required for OSPF systems conforming
           to RFC 1850."
         ::= { ospfGroups 9 }

   ospfNbrGroup    OBJECT-GROUP
        OBJECTS {
           ospfNbrIpAddr,
           ospfNbrAddressLessIndex,
           ospfNbrRtrId,
           ospfNbrOptions,
           ospfNbrPriority,
           ospfNbrState,
           ospfNbrEvents,
           ospfNbrLsRetransQLen,
           ospfNbmaNbrStatus,
           ospfNbmaNbrPermanence,
           ospfNbrHelloSuppressed
           }
        STATUS       current
        DESCRIPTION
           "These objects are required for OSPF systems conforming
           to RFC 1850."
        ::= { ospfGroups 10 }

   ospfVirtNbrGroup    OBJECT-GROUP
        OBJECTS {
           ospfVirtNbrArea,
           ospfVirtNbrRtrId,
           ospfVirtNbrIpAddr,
           ospfVirtNbrOptions,
           ospfVirtNbrState,
           ospfVirtNbrEvents,

Internet Draft           Expires October 2003                       74
                              OSPFv3 MIB                    April 2003


           ospfVirtNbrLsRetransQLen,
           ospfVirtNbrHelloSuppressed
           }
        STATUS       current
        DESCRIPTION
           "These objects are required for OSPF systems conforming
           to RFC 1850."
        ::= { ospfGroups 11 }

   ospfExtLsdbGroup    OBJECT-GROUP
        OBJECTS {
           ospfExtLsdbType,
           ospfExtLsdbLsid,
           ospfExtLsdbRouterId,
           ospfExtLsdbSequence,
           ospfExtLsdbAge,
           ospfExtLsdbChecksum,
           ospfExtLsdbAdvertisement
           }
        STATUS       deprecated
        DESCRIPTION
           "These objects are required for OSPF systems
           that display their link state database conforming
           to RFC 1850. This object replaced be replaced by
           ospfAsLsdbGroup."
        ::= { ospfGroups 12 }

   ospfAreaAggregateGroup    OBJECT-GROUP
        OBJECTS {
           ospfAreaAggregateAreaID,
           ospfAreaAggregateLsdbType,
           ospfAreaAggregateNet,
           ospfAreaAggregateMask,
           ospfAreaAggregateStatus,
           ospfAreaAggregateEffect
           }
        STATUS       current
        DESCRIPTION
           "These objects are required for OSPF systems."
        ::= { ospfGroups 13 }

   ospfLocalLsdbGroup    OBJECT-GROUP
        OBJECTS {
           ospfLocalLsdbIpAddress,
           ospfLocalLsdbAddressLessIf,
           ospfLocalLsdbType,
           ospfLocalLsdbLsid,
           ospfLocalLsdbRouterId,
           ospfLocalLsdbSequence,
           ospfLocalLsdbAge,
           ospfLocalLsdbChecksum,
           ospfLocalLsdbAdvertisement
           }

Internet Draft           Expires October 2003                       75
                              OSPFv3 MIB                    April 2003


        STATUS      current
        DESCRIPTION
           "These objects are required  for OSPF systems
           that display their Link-Local link state databases
           for non-virtual links."
         ::= { ospfGroups 14 }

   ospfVirtLocalLsdbGroup    OBJECT-GROUP
        OBJECTS {
           ospfVirtLocalLsdbTransitArea,
           ospfVirtLocalLsdbNeighbor,
           ospfVirtLocalLsdbType,
           ospfVirtLocalLsdbLsid,
           ospfVirtLocalLsdbRouterId,
           ospfVirtLocalLsdbSequence,
           ospfVirtLocalLsdbAge,
           ospfVirtLocalLsdbChecksum,
           ospfVirtLocalLsdbAdvertisement
           }
         STATUS       current
         DESCRIPTION
            "These objects are required for OSPF systems
            that display their Link-Local link state databases
            for virtual links."
          ::= { ospfGroups 15 }

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

   ospfBasicGroup2    OBJECT-GROUP
        OBJECTS {
           ospfRouterId,
           ospfAdminStat,
           ospfVersionNumber,
           ospfAreaBdrRtrStatus,
           ospfASBdrRtrStatus,
           ospfExternLsaCount,
           ospfExternLsaCksumSum,
           ospfTOSSupport,
           ospfOriginateNewLsas,

Internet Draft           Expires October 2003                       76
                              OSPFv3 MIB                    April 2003


           ospfRxNewLsas,
           ospfExtLsdbLimit,
           ospfMulticastExtensions,
           ospfExitOverflowInterval,
           ospfDemandExtensions,
           ospfRFC1583Compatibility,
           ospfOpaqueLsaSupport,
           ospfTrafficEngineeringSupport,
           ospfReferenceBandwidth,
           ospfRestartSupport,
           ospfRestartInterval,
           ospfRestartStatus,
           ospfRestartAge,
           ospfRestartExitReason,
           ospfAsLsaCount,
           ospfAsLsaCksumSum,
           ospfStubRouterSupport,
           ospfStubRouterAdvertisement
           }
        STATUS       current
        DESCRIPTION
           "These objects are required for OSPF systems."
        ::= { ospfGroups 17 }

   ospfAreaGroup2    OBJECT-GROUP
        OBJECTS {
           ospfAreaId,
           ospfImportAsExtern,
           ospfSpfRuns,
           ospfAreaBdrRtrCount,
           ospfAsBdrRtrCount,
           ospfAreaLsaCount,
           ospfAreaLsaCksumSum,
           ospfAreaSummary,
           ospfAreaStatus,
           ospfAreaNssaTranslatorRole,
           ospfAreaNssaTranslatorState,
           ospfAreaNssaTranslatorStabilityInterval,
           ospfAreaNssaTranslatorEvents
           }
        STATUS       current
        DESCRIPTION
             "These objects are required for OSPF systems
             supporting areas. This statement is recommended
             for use. "
        ::= { ospfGroups 18 }

   ospfIfGroup2    OBJECT-GROUP
        OBJECTS {
           ospfIfIpAddress,
           ospfAddressLessIf,
           ospfIfAreaId,
           ospfIfType,

Internet Draft           Expires October 2003                       77
                              OSPFv3 MIB                    April 2003


           ospfIfAdminStat,
           ospfIfRtrPriority,
           ospfIfTransitDelay,
           ospfIfRetransInterval,
           ospfIfHelloInterval,
           ospfIfRtrDeadInterval,
           ospfIfPollInterval,
           ospfIfState,
           ospfIfDesignatedRouter,
           ospfIfBackupDesignatedRouter,
           ospfIfEvents,
           ospfIfAuthType,
           ospfIfAuthKey,
           ospfIfStatus,
           ospfIfMulticastForwarding,
           ospfIfDemand,
           ospfIfLsaCount,
           ospfIfLsaCksumSum
           }
        STATUS       current
        DESCRIPTION
           "These objects are required for OSPF systems."
         ::= { ospfGroups 19 }

   ospfVirtIfGroup2    OBJECT-GROUP
        OBJECTS {
           ospfVirtIfAreaId,
           ospfVirtIfNeighbor,
           ospfVirtIfTransitDelay,
           ospfVirtIfRetransInterval,
           ospfVirtIfHelloInterval,
           ospfVirtIfRtrDeadInterval,
           ospfVirtIfState,
           ospfVirtIfEvents,
           ospfVirtIfAuthType,
           ospfVirtIfAuthKey,
           ospfVirtIfStatus,
           ospfVirtIfLsaCount,
           ospfVirtIfLsaCksumSum
           }
        STATUS       current
        DESCRIPTION
           "These objects are required for OSPF systems."
        ::= { ospfGroups 20 }

   ospfNbrGroup2    OBJECT-GROUP
        OBJECTS {
           ospfNbrIpAddr,
           ospfNbrAddressLessIndex,
           ospfNbrRtrId,
           ospfNbrOptions,
           ospfNbrPriority,
           ospfNbrState,

Internet Draft           Expires October 2003                       78
                              OSPFv3 MIB                    April 2003


           ospfNbrEvents,
           ospfNbrLsRetransQLen,
           ospfNbmaNbrStatus,
           ospfNbmaNbrPermanence,
           ospfNbrHelloSuppressed,
           ospfNbrRestartHelperStatus,
           ospfNbrRestartHelperAge,
           ospfNbrRestartHelperExitReason
           }
        STATUS       current
        DESCRIPTION
           "These objects are required for OSPF systems."
        ::= { ospfGroups 21 }

   ospfVirtNbrGroup2    OBJECT-GROUP
        OBJECTS {
           ospfVirtNbrArea,
           ospfVirtNbrRtrId,
           ospfVirtNbrIpAddr,
           ospfVirtNbrOptions,
           ospfVirtNbrState,
           ospfVirtNbrEvents,
           ospfVirtNbrLsRetransQLen,
           ospfVirtNbrHelloSuppressed,
           ospfVirtNbrRestartHelperStatus,
           ospfVirtNbrRestartHelperAge,
           ospfVirtNbrRestartHelperExitReason
           }
        STATUS       current
        DESCRIPTION
           "These objects are required for OSPF systems."
        ::= { ospfGroups 22 }

   ospfAreaAggregateGroup2    OBJECT-GROUP
        OBJECTS {
           ospfAreaAggregateAreaID,
           ospfAreaAggregateLsdbType,
           ospfAreaAggregateNet,
           ospfAreaAggregateMask,
           ospfAreaAggregateStatus,
           ospfAreaAggregateEffect,
           ospfAreaAggregateExtRouteTag
           }
        STATUS       current
        DESCRIPTION
           "These objects are required for OSPF systems."
        ::= { ospfGroups 23 }



--     This object group is included for SMI conformance. It is not a
--     mandatory group for compliance with this MIB


Internet Draft           Expires October 2003                       79
                              OSPFv3 MIB                    April 2003


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

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 which use OSPF as its
   IGP. It is an optional but very useful extension to the OSPF MIB.

4.2 Approach

   The mechanism for sending traps is straight-forward. 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

Internet Draft           Expires October 2003                       80
                              OSPFv3 MIB                    April 2003


   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, ospfTxRetranmit 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 [24]. 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 traps types
   except for the ospfLsdbOverflow and the ospfLsdbApproachingOverflow
   trap 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.

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

Internet Draft           Expires October 2003                       81
                              OSPFv3 MIB                    April 2003


   abnormally.

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

          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


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, ospfRestartInterval,
     ospfRestartExitReason, ospfNbrRestartHelperStatus,
     ospfNbrRestartHelperAge, ospfNbrRestartHelperExitReason,
     ospfVirtNbrRestartHelperStatus, ospfVirtNbrRestartHelperAge,
     ospfVirtNbrRestartHelperExitReason
                  FROM OSPF-MIB;

ospfTrap MODULE-IDENTITY
            LAST-UPDATED "200304011015Z" -- Apr 01, 2003 10:15:00 GMT
            ORGANIZATION "IETF OSPF Working Group"
            CONTACT-INFO
            "WG E-Mail: ospf@discuss.microsoft.com
            WG Chairs: John.Moy@sycamorenet.com
                       acee@redback.com
                       rohit@xebeo.com


Internet Draft           Expires October 2003                       82
                              OSPFv3 MIB                    April 2003


                    Spencer Giacalone
            Postal: Predictive Systems
                    25a Vreeland Road
                    Florham Park, NJ 07932
            Tel:    +1 (973) 301-5695
            E-Mail: spencer.giacalone@predictive.com

                    Dan Joyal
            Postal: Nortel Networks
                    600 Technology Park Drive
                    Billerica, MA  01821
            E-Mail: djoyal@nortelnetworks.com"
            DESCRIPTION
               "The MIB module to describe traps for  the  OSPF
               Version 2 Protocol."
            REVISION "200304011015Z" -- Apr 01, 2003 10:15:00 GMT
            DESCRIPTION
               "Updated for latest version of OSPFv2"
            REVISION "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995
            DESCRIPTION
               "The initial SMIv2 revision of this MIB module, published
               in RFC1850."
            ::= { 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 four-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."
         ::= { 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),

Internet Draft           Expires October 2003                       83
                              OSPFv3 MIB                    April 2003


                        helloIntervalMismatch (8),
                        deadIntervalMismatch (9),
                        optionMismatch (10),
                        mtuMismatch (11),
                        noError (12) }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "Potential types of configuration conflicts.
           Used  by the ospfConfigError and ospfConfigVir-
           tError 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 }

   ospfPacketSrc OBJECT-TYPE
            SYNTAX       IpAddress
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
               "The IP address of an inbound packet that can-
               not 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

Internet Draft           Expires October 2003                       84
                              OSPFv3 MIB                    April 2003


           }
        STATUS       current
        DESCRIPTION
           "An ospfIfStateChange trap signifies that there
           has been a change in the state of an OSPF vir-
           tual interface.

           This trap should be generated when the inter-
           face 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.,
           2-Way or Full). When an neighbor transitions
           from or to Full on non-broadcast multi-access
           and broadcast networks, the trap should be gen-
           erated  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 ospfIfStateChange trap signifies that there
           has been a change in the state of an OSPF vir-
           tual 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

Internet Draft           Expires October 2003                       85
                              OSPFv3 MIB                    April 2003


        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 in-
           terface from a router whose configuration
           parameters conflict with this router's confi-
           guration parameters. Note that the event op-
           tionMismatch 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
           ospfPacketType
           }
        STATUS       current
        DESCRIPTION
           "An ospfConfigError trap signifies that a pack-
           et 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 ad-
           jacency 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 in-
           terface from a router whose authentication key
           or authentication type conflicts with this
           router's authentication key or authentication
           type."

Internet Draft           Expires October 2003                       86
                              OSPFv3 MIB                    April 2003


        ::= { 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 au-
           thentication type conflicts with this router's
           authentication key or authentication type."
        ::= { 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 ospfRxBadPacket 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,

Internet Draft           Expires October 2003                       87
                              OSPFv3 MIB                    April 2003


           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 re-
            transmitted are associated with an LSDB entry.
            The LS type, LS ID, and Router ID are used to
            identify the LSDB entry."
         ::= { ospfTraps 10 }

   ospfVirtIfTxRetransmit NOTIFICATION-TYPE
        OBJECTS { ospfRouterId, -- The originator of the trap
           ospfVirtIfAreaId,
           ospfVirtIfNeighbor,
           ospfPacketType,
           ospfLsdbType,
           ospfLsdbLsid,
           ospfLsdbRouterId
           }
        STATUS       current
        DESCRIPTION
           "An ospfTxRetransmit trap signifies than  an
           OSPF packet has been retransmitted on a virtual
           interface. All packets that may be retransmit-
           ted 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. Addi-
           tionally, this trap does not include LSAs that
           are  being flushed because they have reached
           MaxAge."
        ::= { ospfTraps 12 }

   ospfMaxAgeLsa NOTIFICATION-TYPE

Internet Draft           Expires October 2003                       88
                              OSPFv3 MIB                    April 2003


        OBJECTS { ospfRouterId, -- The originator of the trap
           ospfLsdbAreaId,  -- 0.0.0.0 for AS Externals
           ospfLsdbType,
           ospfLsdbLsid,
           ospfLsdbRouterId
           }
        STATUS       current
        DESCRIPTION
           "An ospfMaxAgeLsa trap signifies  that  one  of
           the LSA 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 data-
           base 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 }


Internet Draft           Expires October 2003                       89
                              OSPFv3 MIB                    April 2003


   ospfNssaTranslatorStatusChange NOTIFICATION-TYPE
        OBJECTS { ospfRouterId, -- The originator of the trap
           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 ospfRestartStatus trap signifies that
           there has been a change in the hitless 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 ospfNbrRestartHelperStatus trap signifies that
           there has been a change in the hitless 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
        OBJECTS { ospfRouterId, -- The originator of the trap
                  ospfVirtNbrArea,
                  ospfVirtNbrRtrId,
                  ospfVirtNbrRestartHelperStatus,

Internet Draft           Expires October 2003                       90
                              OSPFv3 MIB                    April 2003


                  ospfVirtNbrRestartHelperAge,
                  ospfVirtNbrRestartHelperExitReason
                }
        STATUS       current
        DESCRIPTION
           "An ospfVirtNbrRestartHelperStatus trap signifies that
           there has been a change in the hitless 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."
        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

Internet Draft           Expires October 2003                       91
                              OSPFv3 MIB                    April 2003


        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
           }
        STATUS        current
        DESCRIPTION
           "A grouping of OSPF Trap Events, as specified
           in NOTIFICATION-TYPE constructs."
        ::= { ospfTrapGroups 2 }


END


6 Acknowledgements

Internet Draft           Expires October 2003                       92
                              OSPFv3 MIB                    April 2003



   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 [18]. We would like to acknowledge John Moy, Rob Coltun,
   Randall Atkinson, David T. Perkins, Ken Chapman, Brian Field, Acee
   Lindem and Vishwas Manral for their constructive comments.


7 References

   [1] Harrington, D., Presuhn, R., and B. Wijnen, "An
       Architecture for Describing SNMP Management Frameworks",
       RFC 2571, April 1999
   [2] Rose, M., and K. McCloghrie, "Structure and
       Identification of Management Information for TCP/IP-based
       Internets", STD 16, RFC 1155, May 1990

   [3] Rose, M., and K. McCloghrie, "Concise MIB Definitions",
       STD 16, RFC 1212, March 1991

   [4] M. Rose, "A Convention for Defining Traps for use with
       the SNMP", RFC 1215, March 1991

   [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
       Rose, M., and S. Waldbusser, "Structure of Management
       Information Version 2 (SMIv2)", STD 58, RFC  2578, April
       1999

   [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
       Rose, M., and S. Waldbusser, "Textual Conventions for
       SMIv2", STD 58, RFC 2579, April 1999

   [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
       Rose, M., and S. Waldbusser, "Conformance Statements for
       SMIv2", STD 58, RFC 2580, April 1999

   [8] Case, J., Fedor, M., Schoffstall, M., and J. Davin,
       "Simple Network Management Protocol", STD 15, RFC 1157,
       May 1990.

   [9] Case, J., McCloghrie, K., Rose, M., and S.  Waldbusser,
       "Introduction to Community-based SNMPv2", RFC 1901,
       January 1996.

   [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
        "Transport Mappings for Version 2 of the Simple Network
        Management Protocol (SNMPv2)", RFC 1906, January 1996.

   [11] Case, J., Harrington D., Presuhn R., and B. Wijnen,
        "Message Processing and Dispatching for the Simple
        Network Management Protocol (SNMP)", RFC 2572, April 1999

   [21] Moy, J., "OSPF Version 2", RFC 2328, Ascend

Internet Draft           Expires October 2003                       93
                              OSPFv3 MIB                    April 2003


        Communications, Inc., April 1998.

   [13] Case, J., McCloghrie, K., Rose, M., and S.  Waldbusser,
        "Protocol Operations for Version 2 of the Simple Network
        Management Protocol (SNMPv2)", RFC 1905, January 1996.

   [14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3
        Applications", RFC 2573, April 1999

   [15] Wijnen, B., Presuhn, R., and K.  McCloghrie, "View-based
        Access Control Model (VACM) for  the  Simple  Network
        Management Protocol (SNMP)", RFC 2575, April 1999

   [16] Case, J., Mundy, R., Partain, D., and B. Stewart,
        "Introduction to Version 3 of the Internet-standard
        Network Management Framework", RFC 2570, April 1999

   [17] Deering, S., and R. Hinden, "Internet Protocol, Version 6
        (IPv6) Specification", RFC 2460, December 1998.

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

   [19] Cerf, V., "IAB Recommendations for the Development of Internet
        Network Management Standards", RFC 1052, NRI, April 1988.

   [20] Cerf, V., "Report of the Second Ad Hoc Network Management Review
        Group", RFC 1109, NRI, August 1989.

   [21] Rose M., Editor, "Management Information Base for Network
        Management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213,
        Performance Systems International, March 1991.

   [22] Information processing systems - Open Systems Interconnection -
        Specification of Abstract Syntax Notation One (ASN.1),
        International Organization for Standardization, International
        Standard 8824, December 1987.

   [23] Information processing systems - Open Systems Interconnection -
        Specification of Basic Encoding Rules for Abstract Notation One
        (ASN.1), International Organization for Standardization,
        International Standard 8825, December 1987.

   [24] Steinberg, L., "Techniques for Managing Asynchronously Generated
        Alerts", RFC 1224, IBM Corporation, May 1991.

   [25] Moy, J., "Multicast Extensions to OSPF", RFC 1584, Proteon,
        Inc., September 1993.

A TOS Support

   For backward compatibility with previous versions of the OSPF

Internet Draft           Expires October 2003                       94
                              OSPFv3 MIB                    April 2003


   MIB specification, TOS-specific information has been retained
   in this document, though the TOS routing option has been
   deleted from OSPF [RFC 2178].

B Changes from RFC 1850

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

B.1 General Group Changes

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

   Added object ospfTrafficEngineeringSupport to indicate support
   of OSPF traffic engineering.

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

   Added objects ospfRestartSupport, ospfRestartInterval, ospfRestartAge
   and ospfRestartExitReason to support graceful (hitless) restart.

   Added objects ospfStubRouterSupport and ospfStubRouteAdvertisement to
   support stub routers.

B.2 OSPF NSSA Enhancement Support

   Added new objects to OspfAreaTable including:

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

   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

Internet Draft           Expires October 2003                       95
                              OSPFv3 MIB                    April 2003


   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.

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:

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

      -ospfVirtLocalLsdbTransitArea

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

      -ospfVirLocalLsdbType

      -ospfVirLocalLsdbLsid

      -ospfVirLocalLsdbRouterId

   ospfVirLocalLsdbTable contains the following (columnar) objects:

      -ospfVirLocalLsdbSequence, to indicate LSA instance

Internet Draft           Expires October 2003                       96
                              OSPFv3 MIB                    April 2003



      -ospfVirLocalLsdbAge

      -ospfVirLocalLsdbChecksum

      -ospfVirLocalLsdbAdvertisement, containing the entire LSA

   Added objects to ospfIfTable to support Link-local (type-9) LSAs,
   including:

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

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

      -ospfAsLsdbType

      -ospfAsLsdbLsid

      -ospfAsLsdbRouterId

   ospfAsLsdbTable contains the following (columnar) objects:

      -ospfAsLsdbSequence, to indicate LSA instance

      -ospfAsLsdbAge

      -ospfAsLsdbChecksum

      -ospfAsLsdbAdvertisement, containing the entire LSA

B.4 Graceful Restart Support

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

   Added objects ospfNbrRestartHelperStatus, ospfNbrRestartHelperAge
   and ospfNbrRestartHelperExitReason to OspfNbrTable.


Internet Draft           Expires October 2003                       97
                              OSPFv3 MIB                    April 2003


   Added objects
   ospfVirtNbrRestartHelperStatus, ospfVirtNbrRestartHelperAge
   and ospfVirtNbrRestartHelperExitReason to OspfVirtNbrTable.

B.5 OSPF Compliances

   New compliance statements were added for new conformance groups.
   These Statements include:

      -ospfCompliance2

   Conformance groups were depreciated due to the fact that
   the objects in the group were deprecated.

      -ospfExtLsdbGroup

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

      -ospfBasicGroup2

      -ospfAreaGroup2

      -ospfIfGroup2

      -ospfVirtIfGroup2

      -ospfNbrGroup2

      -ospfVirtNbrGroup2

      -ospfAreaAggregateGroup2

   Added completely new conformance groups, including:

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

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

Internet Draft           Expires October 2003                       98
                              OSPFv3 MIB                    April 2003



      -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

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.

   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.

B.8 Miscellaneous

   Various sections, have been moved and or modified for clarity.

Internet Draft           Expires October 2003                       99
                              OSPFv3 MIB                    April 2003


   Most of these changes are semantic in nature, and include,
   but are not limited to:

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

      -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

   Changed the MAX-ACCESS clause of ospfHostStatus to "read-create"

   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

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

Internet Draft           Expires October 2003                      100
                              OSPFv3 MIB                    April 2003



   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 2574 [RFC2574] and the View-
   based Access Control Model RFC 2575 [RFC2575] 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.

D Editors' Addresses

   Spencer Giacalone
   Predictive Systems, Inc.
   145 Hudson Street
   New York, NY 10013

   Phone: +1 (973) 301-5695
   EMail: spencer.giacalone@predictive.com

   Dan Joyal
   Nortel Networks, Inc.
   600 Technology Park Drive
   Billerica, MA 01821
   EMail: djoyal@nortelnetworks.com

E Full Copyright Statement

   Copyright (C) The Internet Society (1999).  All Rights Reserved.
   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing

Internet Draft           Expires October 2003                      101
                              OSPFv3 MIB                    April 2003


   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS 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.






































Internet Draft           Expires October 2003                      102