Network Working Group
Request for Comments: 5643
Category: Standards Track
D. Joyal, Ed.
Nortel
V. Manral, Ed.
IP Infusion
August 2009

Management Information Base for OSPFv3

Abstract

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in IPv6-based internets. In particular, it defines objects for managing the Open Shortest Path First (OSPF) Routing Protocol for IPv6, otherwise known as OSPF version 3 (OSPFv3).

Status of This Memo

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

Copyright Notice

Copyright © 2009 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document.

This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.

Table of Contents

   1. The Internet-Standard Management Framework ......................3
   2. Overview ........................................................3
      2.1. IPv6 Interfaces ............................................3
      2.2. Addressing Semantics .......................................4
      2.3. Authentication .............................................4
      2.4. Type of Service ............................................4
      2.5. Flooding Scope .............................................4
      2.6. Virtual Links ..............................................4
      2.7. Neighbors ..................................................5
      2.8. OSPFv3 Counters ............................................5
      2.9. Multiple OSPFv3 Instances ..................................5
      2.10. Notifications .............................................5
      2.11. Conventions ...............................................6
   3. OSPFv3 Notification Overview ....................................6
      3.1. Introduction ...............................................6
      3.2. Ignoring Initial Activity ..................................6
      3.3. Throttling Notifications ...................................6
      3.4. One Notification per OSPFv3 Event ..........................7
      3.5. Polling Event Counters .....................................7
   4. Structure of the OSPFv3 MIB Module ..............................7
      4.1. General Variables ..........................................8
      4.2. Area Table .................................................8
      4.3. Area-Scope, Link-Scope, and AS-Scope Link State Database ...8
      4.4. Host Table .................................................8
      4.5. Interface Table ............................................8
      4.6. Virtual Interface Table ....................................8
      4.7. Neighbor, Configured Neighbor, and Virtual Neighbor
           Tables .....................................................8
      4.8. Area Aggregate Table .......................................8
      4.9. Notifications ..............................................9
   5. Definitions .....................................................9
   6. Security Considerations ........................................92
   7. IANA Considerations ............................................93
   8. Acknowledgements ...............................................93
   9. References .....................................................93
      9.1. Normative References ......................................93
      9.2. Informative References ....................................94

1. The Internet-Standard Management Framework

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

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

2. Overview

This memo defines a portion of the Management Information Base (MIB) for managing the Open Shortest Path First Routing Protocol for IPv6 [RFC5340], otherwise known as OSPF version 3 (OSPFv3). Though the fundamental mechanisms of OSPF version 2 (OSPFv2) [RFC2328] remain unchanged in OSPFv3, some changes were necessary due to differences in IP address size and in protocol semantics between IPv4 and IPv6. In many cases, where the protocol operations have not changed from OSPFv2, the specification for OSPFv3 does not restate the details but instead refers to the relevant sections in the OSPFv2 specification. This MIB module follows along the same lines and includes Reference clauses referring to the OSPFv2 specification when applicable.

2.1. IPv6 Interfaces

IPv6 interfaces attach to links [RFC2460]. A link is roughly defined as the layer below IPv6 (e.g., Ethernet, IPv4 Tunnel). One or more IPv6 prefixes can be associated with an IPv6 interface. IPv6 interfaces and the prefixes associated with those interfaces can be configured via the IP-MIB [RFC4293]. IPv6 interfaces are configured in the IPv6 Interface Table and IPv6 prefixes are configured in the Internet Address Prefix Table. An IPv6 interface is identified by a unique index value. IPv6 Address Prefix Table entries associated with an IPv6 interface reference the interface's index.

Whereas an Interface Identifier in OSPFv2 is a local IPv4 address or MIB-2 interface index, an OSPFv3 Interface Identifier is an IPv6 interface index. For example, the index value of an OSPFv3 Interface Table entry is the IPv6 interface index of the IPv6 interface over which OSPFv3 is configured to operate.

2.2. Addressing Semantics

Router ID, Area ID, and Link State ID remain at the OSPFv2 size of 32 bits. To ensure uniqueness, a router running both IPv4 and IPv6 concurrently can continue to use a local IPv4 host address, represented as an unsigned 32-bit value, as the OSPFv3 Router ID. Otherwise, the Router ID must be selected using another method (e.g., administratively assigned).

Router ID, Area ID, and Link State ID do not have addressing semantics in OSPFv3, so their syntax is changed to Unsigned32. The Router ID index component comes before the Link State ID index component in the OSPFv3 MIB module because the lack of addressing semantics in Link State IDs makes them less unique identifiers than the Router ID. It is more useful to do partial Object Identifier (OID) lookups extending to the Router ID rather than the Link State ID.

2.3. Authentication

In OSPFv3, authentication has been removed from the protocol itself. MIB objects related to authentication are not carried forward from the OSPFv2 MIB module.

2.4. Type of Service

OSPFv2 MIB module objects related to Type of Service (ToS) are not carried forward to the OSPFv3 MIB module.

2.5. Flooding Scope

Flooding scope for link state advertisements (LSAs) has been generalized and is now explicitly encoded in the LSA's LS type field. The action to take upon receipt of unknown LSA types is also encoded in the LS type field [RFC5340]. The OSPFv3 MIB module defines three Link State Database tables, one each for Area-scope LSAs, Link-scope LSAs, and Autonomous System (AS)-scope LSAs.

2.6. Virtual Links

Since addressing semantics have been removed from router-LSAs in OSPFv3, virtual links now need to be assigned an Interface ID for advertisement in Hello packets and in router-LSAs. A read-only object has been added to the Virtual Interface Table entry to view the assigned Interface ID.

2.7. Neighbors

The OSPFv3 Neighbor Table is a read-only table that contains information learned from Hellos received from neighbors, including configured neighbors. The OSPFv3 Configured Neighbor Table contains entries for manually configured neighbors for use on non-broadcast multi-access (NBMA) and Point-to-Multipoint interface types.

2.8. OSPFv3 Counters

This MIB module defines several counters, namely:

  • ospfv3OriginateNewLsas and ospfv3RxNewLsas in the ospfv3GeneralGroup
  • ospfv3AreaSpfRuns and ospfv3AreaNssaTranslatorEvents in the ospfv3AreaTable
  • ospfv3IfEvents in the ospfv3IfTable
  • ospfv3VirtIfEvents in the ospfv3VirtIfTable
  • ospfv3NbrEvents in the ospfv3NbrTable
  • ospfv3VirtNbrEvents in the ospfv3VirtNbrTable

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

2.9. Multiple OSPFv3 Instances

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

2.10. Notifications

Notifications define a set of notifications, objects, and mechanisms to enhance the ability to manage IP internetworks that use OSPFv3 as their Interior Gateway Protocol (IGP).

2.11. Conventions

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

3. OSPFv3 Notification Overview

3.1. Introduction

OSPFv3 is an event-driven routing protocol, where an event can be a change in an OSPFv3 interface's link-level status, the expiration of an OSPFv3 timer, or the reception of an OSPFv3 protocol packet. Many of the actions that OSPFv3 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 notifications.

The ospfv3NotificationEnable object provides a coarse level of control over the generation of OSPFv3 notifications. It can be used to completely enable or disable generation of OSPFv3 notifications. Fine-grain control of individual notifications can be accomplished by utilizing the objects defined in RFC 3413 [RFC3413], specifically those described in Section 6.

3.2. Ignoring Initial Activity

The majority of critical events occur when OSPFv3 is enabled on a router, at which time the Designated Router is elected and neighbor adjacencies are formed. During this initial period, a potential flood of notifications is unnecessary since the events are expected. To avoid unnecessary notifications, a router should not originate expected OSPFv3 interface-related notifications until two of that interface's dead timer intervals have elapsed. The expected OSPFv3 interface notifications are ospfv3IfStateChange, ospfv3VirtIfStateChange, ospfv3NbrStateChange, and ospfv3VirtNbrStateChange.

3.3. Throttling Notifications

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

A single window should be used to throttle all OSPFv3 notifications types except for the ospfv3LsdbOverflow and the ospfv3LsdbApproachingOverflow notifications, which should not be throttled. For example, with a window time of 3, an upper bound of 3, and events to cause notifications 1, 2, 3, and 4 (4 notifications within a 3-second period), the 4th notification should not be generated.

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

3.4. One Notification per OSPFv3 Event

Several of the notifications defined in this MIB module are generated as the result of finding an unusual condition while parsing an OSPFv3 packet or 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 notifications and variables, OSPFv3 should generate at most one notification per OSPFv3 event. Only the variables associated with the first unusual condition should be included with the notification. Similarly, if more than one type of unusual condition is encountered while parsing the packet, only the first event will generate a notification.

3.5. Polling Event Counters

Many of the tables in the OSPFv3 MIB module contain generalized event counters. By enabling the notifications 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 OSPFv3 notifications when a particular counter starts increasing abnormally.

4. Structure of the OSPFv3 MIB Module

The MIB is composed of the following sections:

General Variables
Area Table
Area-Scope Link State Database

Link-Scope Link State Databases (non-virtual and virtual) AS-Scope Link State Database
Host Table
Interface Table
Virtual Interface Table
Neighbor Table
Configured Neighbor Table
Virtual Neighbor Table
Area Aggregate Table
Notifications

4.1. General Variables

The General Variables are global to the OSPFv3 Process.

4.2. Area Table

The Area Data Structure describes the OSPFv3 Areas that the router participates in.

4.3. Area-Scope, Link-Scope, and AS-Scope Link State Database

The link state databases are provided primarily to provide detailed information for network debugging. There are separate tables for Link-scope LSAs received over non-virtual and virtual interfaces.

4.4. Host Table

The Host Table is provided to view configured Host Route information.

4.5. Interface Table

The Interface Table describes the various IPv6 links on which OSPFv3 is configured.

4.6. Virtual Interface Table

The Virtual Interface Table describes virtual OSPFv3 links.

4.7. Neighbor, Configured Neighbor, and Virtual Neighbor Tables

The Neighbor Table, the Configured Neighbor Table, and the Virtual Neighbor Table describe the neighbors to the OSPFv3 Process.

4.8. Area Aggregate Table

The Area Aggregate Table describes prefixes, which summarize routing information for export outside of an Area.

4.9. Notifications

Notifications are defined for OSPFv3 events. Several objects are defined specifically as variables to be used with notifications.

5. Definitions

OSPFV3-MIB DEFINITIONS ::= BEGIN

IMPORTS

            MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, mib-2,
            Counter32, Gauge32, Integer32, Unsigned32
                    FROM SNMPv2-SMI
            TEXTUAL-CONVENTION, TruthValue, RowStatus, TimeStamp
                    FROM SNMPv2-TC
            MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                    FROM SNMPv2-CONF
            InterfaceIndex
                    FROM IF-MIB
            InetAddressType, InetAddress, InetAddressPrefixLength,
            InetAddressIPv6
                    FROM INET-ADDRESS-MIB
            Metric, BigMetric, Status,
            HelloRange, DesignatedRouterPriority
                    FROM OSPF-MIB;

ospfv3MIB MODULE-IDENTITY

            LAST-UPDATED "200908130000Z"
            ORGANIZATION "IETF OSPF Working Group"
            CONTACT-INFO
            
                "WG E-Mail: ospf@ietf.org
                 WG Chairs: Acee Lindem
                            acee@redback.com

Abhay Roy
akr@cisco.com

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

Vishwas Manral
IP Infusion
Almora, Uttarakhand
India
vishwas@ipinfusion.com"

DESCRIPTION

"The MIB module for OSPF version 3.

Copyright © 2009 IETF Trust and the persons identified as authors of the code. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of Internet Society, IETF or IETF Trust, nor the names of specific contributors, may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This version of this MIB module is part of RFC 5643; see the RFC itself for full legal notices."

             REVISION "200908130000Z"
             DESCRIPTION
                 "Initial version, published as RFC 5643"
             ::= { mib-2 191 }
    
    -- Textual conventions

Ospfv3UpToRefreshIntervalTC ::= TEXTUAL-CONVENTION

             DISPLAY-HINT "d"
             STATUS        current
             DESCRIPTION
                  "The values one might be able to configure for
                  variables bounded by the Refresh Interval."
             REFERENCE
                  "OSPF Version 2, Appendix B, Architectural Constants"
             SYNTAX      Unsigned32 (1..1800)

Ospfv3DeadIntervalRangeTC ::= TEXTUAL-CONVENTION

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

Ospfv3RouterIdTC ::= TEXTUAL-CONVENTION

             DISPLAY-HINT "d"
             STATUS      current
             DESCRIPTION
                  "A 32-bit, unsigned integer uniquely identifying the
                  router in the Autonomous System.  To ensure
                  uniqueness, this may default to the value of one of
                  the router's IPv4 host addresses if IPv4 is
                  configured on the router."
             REFERENCE
                  "OSPF for IPv6, Appendix C.1, Global Parameters"
             SYNTAX      Unsigned32 (1..'FFFFFFFF'h)

Ospfv3LsIdTC ::= TEXTUAL-CONVENTION

             DISPLAY-HINT "d"
             STATUS      current
             DESCRIPTION
                  "A unique 32-bit identifier of the piece of the
                  routing domain that is being described by a link
                  state advertisement.  In contrast to OSPFv2, the
                  Link State ID (LSID) has no addressing semantics."
             REFERENCE
                  "OSPF Version 2, Section 12.1.4, Link State ID"
             SYNTAX      Unsigned32 (1..'FFFFFFFF'h)
    
    Ospfv3AreaIdTC ::= TEXTUAL-CONVENTION
             DISPLAY-HINT "d"
             STATUS      current
             DESCRIPTION
                  "An OSPFv3 Area Identifier.  A value of zero
                  identifies the backbone area."
             REFERENCE
                  "OSPF for IPv6, Appendix C.3 Router Interface
                  Parameters"
             SYNTAX      Unsigned32 (0..'FFFFFFFF'h)

Ospfv3IfInstIdTC ::= TEXTUAL-CONVENTION

             DISPLAY-HINT "d"
             STATUS      current
             DESCRIPTION
                  "An OSPFv3 Interface Instance ID."
             REFERENCE
                  "OSPF for IPv6, Appendix C.3, Router Interface
                  Parameters"
             SYNTAX      Unsigned32 (0..255)

Ospfv3LsaSequenceTC ::= TEXTUAL-CONVENTION

             DISPLAY-HINT "d"
             STATUS      current
             DESCRIPTION
                "The sequence number field is a signed 32-bit
                integer.  It is used to detect old and duplicate
                link state advertisements.  The space of
                sequence numbers is linearly ordered.  The
                larger the sequence number, the more recent the
                advertisement."
             REFERENCE
                "OSPF Version 2, Section 12.1.6, LS sequence
                number"
             SYNTAX      Integer32

Ospfv3LsaAgeTC ::= TEXTUAL-CONVENTION

             DISPLAY-HINT "d"
             STATUS      current
             DESCRIPTION
                "The age of the link state advertisement in
                seconds.  The high-order bit of the LS age
                field is considered the DoNotAge bit for
                support of on-demand circuits."
             REFERENCE
                "OSPF Version 2, Section 12.1.1, LS age;
                 Extending OSPF to Support Demand Circuits,
                 Section 2.2, The LS age field"
             SYNTAX      Unsigned32 (0..3600 | 32768..36368)
    
    -- Top-level structure of MIB
    ospfv3Notifications  OBJECT IDENTIFIER ::= { ospfv3MIB 0 }
    ospfv3Objects        OBJECT IDENTIFIER ::= { ospfv3MIB 1 }
    ospfv3Conformance    OBJECT IDENTIFIER ::= { ospfv3MIB 2 }

-- OSPFv3 General Variables

-- These parameters apply globally to the Router's
-- OSPFv3 Process.

    ospfv3GeneralGroup OBJECT IDENTIFIER ::= { ospfv3Objects 1 }

ospfv3RouterId OBJECT-TYPE

            SYNTAX         Ospfv3RouterIdTC
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                "A 32-bit unsigned integer uniquely identifying
                the router in the Autonomous System.  To ensure
                uniqueness, this may default to the 32-bit
                unsigned integer representation of one of
                the router's IPv4 interface addresses (if IPv4
                is configured on the router).
            
                This object is persistent, and when written, the
                entity SHOULD save the change to non-volatile
                storage."
            REFERENCE
                  "OSPF for IPv6, Appendix C.1, Global Parameters"
            ::= { ospfv3GeneralGroup 1 }

ospfv3AdminStatus OBJECT-TYPE

            SYNTAX          Status
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                "The administrative status of OSPFv3 in the
                router.  The value 'enabled' denotes that the
                OSPFv3 Process is active on at least one
                interface; 'disabled' disables it on all
                interfaces.
            
                This object is persistent, and when written, the
                entity SHOULD save the change to non-volatile
                storage."
            ::= { ospfv3GeneralGroup 2 }

ospfv3VersionNumber OBJECT-TYPE

            SYNTAX          INTEGER { version3 (3) }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The version number of OSPF for IPv6 is 3."
            ::= { ospfv3GeneralGroup 3 }

ospfv3AreaBdrRtrStatus OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A flag to denote whether this router is an area
                border router.  The value of this object is true (1)
                when the router is an area border router."
            REFERENCE
                "OSPF Version 2, Section 3, Splitting the AS into
                Areas"
            ::= { ospfv3GeneralGroup 4 }

ospfv3ASBdrRtrStatus OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                "A flag to note whether this router is
                configured as an Autonomous System border router.
            
                This object is persistent, and when written, the
                entity SHOULD save the change to non-volatile
                storage."
            REFERENCE
                "OSPF Version 2, Section 3.3, Classification of
                routers"
            ::= { ospfv3GeneralGroup 5 }

ospfv3AsScopeLsaCount OBJECT-TYPE

            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The number of AS-scope (e.g., AS-External) link state
                advertisements in the link state database."
            ::= { ospfv3GeneralGroup 6 }

ospfv3AsScopeLsaCksumSum OBJECT-TYPE

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

ospfv3OriginateNewLsas OBJECT-TYPE

            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The number of new link state advertisements
                that have been originated.  This number is
                incremented each time the router originates a new
                LSA.
            
                Discontinuities in the value of this counter
                can occur at re-initialization of the management
                system and at other times as indicated by the
                value of ospfv3DiscontinuityTime."
            ::= { ospfv3GeneralGroup 8 }

ospfv3RxNewLsas OBJECT-TYPE

            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The number of link state advertisements
                received that are determined to be new
                instantiations.  This number does not include
                newer instantiations of self-originated link state
                advertisements.
            
                Discontinuities in the value of this counter
                can occur at re-initialization of the management
                system and at other times as indicated by the
                value of ospfv3DiscontinuityTime."
            ::= { ospfv3GeneralGroup 9 }

ospfv3ExtLsaCount OBJECT-TYPE

            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                 "The number of External (LS type 0x4005) in the
                 link state database."
            ::= { ospfv3GeneralGroup 10 }

ospfv3ExtAreaLsdbLimit OBJECT-TYPE

            SYNTAX          Integer32 (-1..'7FFFFFFF'h)
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                "The maximum number of non-default
                AS-external-LSA 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 ospfv3ExtAreaLsdbLimit, the router enters Overflow state. The router never holds more than ospfv3ExtAreaLsdbLimit non-default AS-external-LSAs in its database. ospfv3ExtAreaLsdbLimit MUST be set identically in all routers attached to the OSPFv3 backbone and/or any regular OSPFv3 area (i.e., OSPFv3 stub areas and not-so-stubby-areas (NSSAs) are excluded).

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

ospfv3ExitOverflowInterval OBJECT-TYPE

            SYNTAX          Unsigned32
            UNITS           "seconds"
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                "The number of seconds that, after entering
                Overflow state, a router will attempt to leave
                Overflow state.  This allows the router to again
                originate non-default, AS-External-LSAs.  When
                set to 0, the router will not leave Overflow
                state until restarted.

This object is persistent, and when written, the entity SHOULD save the change to non-volatile storage."

            ::= { ospfv3GeneralGroup 12 }

ospfv3DemandExtensions OBJECT-TYPE

            SYNTAX         TruthValue
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                "The router's support for demand circuits.
                The value of this object is true (1) when
                demand circuits are supported.
            
                This object is persistent, and when written, the
                entity SHOULD save the change to non-volatile
                storage."
            REFERENCE
                "OSPF Version 2; Extending OSPF to Support Demand
                Circuits"
            ::= { ospfv3GeneralGroup 13 }

ospfv3ReferenceBandwidth OBJECT-TYPE

           SYNTAX       Unsigned32
           UNITS        "kilobits per second"
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "Reference bandwidth in kilobits per second for
               calculating default interface metrics.  The
               default value is 100,000 KBPS (100 MBPS).
        
               This object is persistent, and when written, the
               entity SHOULD save the change to non-volatile
               storage."
           REFERENCE
               "OSPF Version 2, Appendix C.3, Router interface
               parameters"
           DEFVAL { 100000 }
        ::= { ospfv3GeneralGroup 14 }

ospfv3RestartSupport OBJECT-TYPE

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

restarts, or both planned and unplanned restarts.

               This object is persistent, and when written, the
               entity SHOULD save the change to non-volatile
               storage."
           REFERENCE "Graceful OSPF Restart, Appendix B.1, Global
                        Parameters (Minimum subset)"
           ::= { ospfv3GeneralGroup 15 }

ospfv3RestartInterval OBJECT-TYPE

           SYNTAX       Ospfv3UpToRefreshIntervalTC
           UNITS        "seconds"
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "Configured OSPF graceful restart timeout interval.
           
               This object is persistent, and when written, the
               entity SHOULD save the change to non-volatile
               storage."
           REFERENCE "Graceful OSPF Restart, Appendix B.1, Global
                     Parameters (Minimum subset)"
           DEFVAL { 120 }
           ::= { ospfv3GeneralGroup 16 }

ospfv3RestartStrictLsaChecking OBJECT-TYPE

          SYNTAX       TruthValue
          MAX-ACCESS   read-write
          STATUS       current
          DESCRIPTION
             "Indicates if strict LSA checking is enabled for
             graceful restart.  A value of true (1) indicates that
             strict LSA checking is enabled.
          
             This object is persistent, and when written,
             the entity SHOULD save the change to non-volatile
             storage."
          REFERENCE "Graceful OSPF Restart, Appendix B.2, Global
                    Parameters (Optional)"
          DEFVAL { true }
          ::= { ospfv3GeneralGroup 17 }

ospfv3RestartStatus OBJECT-TYPE

           SYNTAX       INTEGER { notRestarting(1),
                                  plannedRestart(2),
                                  unplannedRestart(3)
                                }
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
              "The current status of OSPF graceful restart capability."
           ::= { ospfv3GeneralGroup 18 }

ospfv3RestartAge OBJECT-TYPE

           SYNTAX       Ospfv3UpToRefreshIntervalTC
           UNITS        "seconds"
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
              "Remaining time in the current OSPF graceful restart
              interval."
           ::= { ospfv3GeneralGroup 19 }

ospfv3RestartExitReason OBJECT-TYPE

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

ospfv3NotificationEnable OBJECT-TYPE

SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION

"This object provides a coarse level of control

over the generation of OSPFv3 notifications.

If this object is set to true (1), then it enables the generation of OSPFv3 notifications. If it is set to false (2), these notifications are not generated.

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

ospfv3StubRouterSupport OBJECT-TYPE

        SYNTAX       TruthValue
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The router's support for stub router functionality.  An
            object value of true (1) indicates that stub router
            functionality is supported."
        REFERENCE
            "OSPF Stub Router Advertisement"
        ::= { ospfv3GeneralGroup 22 }

ospfv3StubRouterAdvertisement OBJECT-TYPE

        SYNTAX       INTEGER {
                           doNotAdvertise(1),
                           advertise(2)
                           }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "This object controls the advertisement of
            stub LSAs by the router.  The value
            doNotAdvertise (1) will result in the advertisement
            of standard LSAs and is the default value.
        
            This object is persistent, and when written,
            the entity SHOULD save the change to non-volatile
            storage."
        REFERENCE
            "OSPF Stub Router Advertisement, Section 2, Proposed
            Solution"
        DEFVAL { doNotAdvertise }
        ::= { ospfv3GeneralGroup 23 }

ospfv3DiscontinuityTime OBJECT-TYPE

       SYNTAX     TimeStamp
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
          "The value of sysUpTime on the most recent occasion
           at which any one of this MIB's counters suffered
           a discontinuity.
       
           If no such discontinuities have occurred since the last
           re-initialization of the local management subsystem,
           then this object contains a zero value."
       ::= { ospfv3GeneralGroup 24 }

ospfv3RestartTime OBJECT-TYPE

         SYNTAX     TimeStamp
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
            "The value of sysUpTime on the most recent occasion
             at which the ospfv3RestartExitReason was updated."
         ::= { ospfv3GeneralGroup 25 }

-- The OSPFv3 Area Data Structure contains information -- regarding the various areas. The interfaces and
-- virtual links are configured as part of these areas.
-- Area 0, by definition, is the backbone area.

ospfv3AreaTable OBJECT-TYPE

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

ospfv3AreaEntry OBJECT-TYPE

            SYNTAX          Ospfv3AreaEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Information describing the configured
                parameters and cumulative statistics of one of the
                router's attached areas.
            
                The information in this table is persistent,
                and when written, the entity SHOULD save the a
                change to non-volatile storage."
            INDEX           { ospfv3AreaId }
            ::= { ospfv3AreaTable 1 }

Ospfv3AreaEntry ::= SEQUENCE {

            ospfv3AreaId
                    Ospfv3AreaIdTC,
            ospfv3AreaImportAsExtern
                    INTEGER,
            ospfv3AreaSpfRuns
                    Counter32,
            ospfv3AreaBdrRtrCount
                    Gauge32,
            ospfv3AreaAsBdrRtrCount
                    Gauge32,
            ospfv3AreaScopeLsaCount
                    Gauge32,
            ospfv3AreaScopeLsaCksumSum
                    Unsigned32,
            ospfv3AreaSummary
                    INTEGER,
            ospfv3AreaRowStatus
                    RowStatus,
            ospfv3AreaStubMetric
                    BigMetric,
            ospfv3AreaNssaTranslatorRole
                    INTEGER,
            ospfv3AreaNssaTranslatorState
                    INTEGER,
            ospfv3AreaNssaTranslatorStabInterval
                    Unsigned32,
            ospfv3AreaNssaTranslatorEvents
                    Counter32,
            ospfv3AreaStubMetricType
                    INTEGER,
            ospfv3AreaTEEnabled
                    TruthValue
            }

ospfv3AreaId OBJECT-TYPE

            SYNTAX          Ospfv3AreaIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A 32-bit unsigned integer uniquely identifying an area.
                Area ID 0 is used for the OSPFv3 backbone."
            REFERENCE
                "OSPF Version 2, Appendix C.2, Area parameters"
            ::= { ospfv3AreaEntry 1 }

ospfv3AreaImportAsExtern OBJECT-TYPE

            SYNTAX          INTEGER {
                            importExternal(1),   -- normal area
                            importNoExternal(2), -- stub area
                            importNssa(3)        -- not-so-stubby-area
                            }
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "Indicates whether an area is a stub area, NSSA, or
                standard area.  AS-scope LSAs are not imported into stub
                areas or NSSAs.  NSSAs import AS-External data as NSSA
                LSAs that have Area-scope."
            REFERENCE
                "OSPF Version 2, Appendix C.2, Area parameters"
            DEFVAL { importExternal }
            ::= { ospfv3AreaEntry 2 }

ospfv3AreaSpfRuns OBJECT-TYPE

            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The number of times that the intra-area route
                table has been calculated using this area's
                link state database.  This is typically done
                using Dijkstra's algorithm.
            
                Discontinuities in the value of this counter
                can occur at re-initialization of the management
                system and at other times as indicated by the
                value of ospfv3DiscontinuityTime."
            ::= { ospfv3AreaEntry 3 }

ospfv3AreaBdrRtrCount OBJECT-TYPE

            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The total number of area border routers
                reachable within this area.  This is initially zero,
                and is calculated in each Shortest Path First (SPF)
                pass."
            DEFVAL { 0 }
            ::= { ospfv3AreaEntry 4 }

ospfv3AreaAsBdrRtrCount 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."
            DEFVAL { 0 }
            ::= { ospfv3AreaEntry 5 }

ospfv3AreaScopeLsaCount OBJECT-TYPE

            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The total number of Area-scope link state
                advertisements in this area's link state
                database."
             DEFVAL { 0 }
            ::= { ospfv3AreaEntry 6 }

ospfv3AreaScopeLsaCksumSum OBJECT-TYPE

            SYNTAX          Unsigned32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The 32-bit unsigned sum of the Area-scope link state
                advertisements' LS checksums contained in this
                area's link state database.  The sum can be used
                to determine if there has been a change in a
                router's link state database or to compare the
                link state database of two routers."
            ::= { ospfv3AreaEntry 7 }

ospfv3AreaSummary OBJECT-TYPE

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

If it is noAreaSummary, the router will neither originate nor propagate Inter-Area LSAs into the stub or NSSA area. It will only advertise a default route.

                If it is sendAreaSummary, the router will both
                summarize and propagate Inter-Area LSAs."
            DEFVAL   { sendAreaSummary }
            ::= { ospfv3AreaEntry 8 }

ospfv3AreaRowStatus OBJECT-TYPE

            SYNTAX          RowStatus
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "This object permits management of the table by
                facilitating actions such as row creation,
                construction, and destruction.
            
                The value of this object has no effect on
                whether other objects in this conceptual row can be
                modified."
            ::= { ospfv3AreaEntry 9 }

ospfv3AreaStubMetric OBJECT-TYPE

            SYNTAX          BigMetric
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The metric value advertised for the default route
                into stub and NSSA areas.  By default, this equals the
                least metric among the interfaces to other areas."
            ::= { ospfv3AreaEntry 10 }

ospfv3AreaNssaTranslatorRole OBJECT-TYPE

            SYNTAX          INTEGER { always(1), candidate(2) }
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "Indicates an NSSA border router's policy to
                perform NSSA translation of NSSA-LSAs into
                AS-External-LSAs."
            DEFVAL { candidate }
            ::= { ospfv3AreaEntry 11 }

ospfv3AreaNssaTranslatorState OBJECT-TYPE

            SYNTAX          INTEGER {
                            enabled(1),
            
                            elected(2),
                            disabled(3)
                            }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                 "Indicates if and how an NSSA border router is
                 performing NSSA translation of NSSA-LSAs into
                 AS-External-LSAs.  When this object is set to
                 'enabled', the NSSA border router's
                 ospfv3AreaNssaTranslatorRole has been set to 'always'.
                 When this object is set to 'elected', a candidate
                 NSSA border router is translating NSSA-LSAs into
                 AS-External-LSAs.  When this object is set to
                 'disabled', a candidate NSSA Border router is NOT
                 translating NSSA-LSAs into AS-External-LSAs."
            ::= { ospfv3AreaEntry 12 }

ospfv3AreaNssaTranslatorStabInterval OBJECT-TYPE

            SYNTAX          Unsigned32
            UNITS           "seconds"
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The stability interval defined as 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 }
            ::= { ospfv3AreaEntry 13 }

ospfv3AreaNssaTranslatorEvents OBJECT-TYPE

            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "Indicates the number of Translator state changes
                that have occurred since the last start-up of the
                OSPFv3 routing process.
            
                Discontinuities in the value of this counter
                can occur at re-initialization of the management
                system and at other times as indicated by the
                value of ospfv3DiscontinuityTime."
            ::= { ospfv3AreaEntry 14 }

ospfv3AreaStubMetricType OBJECT-TYPE

            SYNTAX       INTEGER {
                            ospfv3Metric(1),   -- OSPF Metric
                            comparableCost(2), -- external type 1
                            nonComparable(3)   -- external type 2
                            }
            MAX-ACCESS   read-create
            STATUS       current
            DESCRIPTION
                "This variable assigns the type of metric
                advertised as a default route."
            DEFVAL { ospfv3Metric }
            ::= { ospfv3AreaEntry 15 }

ospfv3AreaTEEnabled OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                   "Indicates whether or not traffic engineering
                   is enabled in the area.  The object is set
                   to the value true (1) to enable traffic engineering.
                   Traffic engineering is disabled by default."
            DEFVAL { false }
            ::= { ospfv3AreaEntry 16 }
    
    -- OSPFv3 AS-Scope Link State Database

ospfv3AsLsdbTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3AsLsdbEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The OSPFv3 Process's AS-scope link state database
                (LSDB).  The LSDB contains the AS-scope link state
                advertisements from throughout the areas that the
                device is attached to."
            ::= { ospfv3Objects 3 }

ospfv3AsLsdbEntry OBJECT-TYPE

            SYNTAX          Ospfv3AsLsdbEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A single AS-scope link state advertisement."
            INDEX           { ospfv3AsLsdbType,
                              ospfv3AsLsdbRouterId,
                              ospfv3AsLsdbLsid }
            ::= { ospfv3AsLsdbTable 1 }

Ospfv3AsLsdbEntry ::= SEQUENCE {

            ospfv3AsLsdbType
                    Unsigned32,
            ospfv3AsLsdbRouterId
                    Ospfv3RouterIdTC,
            ospfv3AsLsdbLsid
                    Ospfv3LsIdTC,
            ospfv3AsLsdbSequence
                    Ospfv3LsaSequenceTC,
            ospfv3AsLsdbAge
                    Ospfv3LsaAgeTC,
            ospfv3AsLsdbChecksum
                    Integer32,
            ospfv3AsLsdbAdvertisement
                    OCTET STRING,
            ospfv3AsLsdbTypeKnown
                    TruthValue
            }

ospfv3AsLsdbType OBJECT-TYPE

            SYNTAX          Unsigned32(0..'FFFFFFFF'h)
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The type of the link state advertisement.
                Each link state type has a separate
                advertisement format.  AS-scope LSAs not recognized
                by the router may be stored in the database."
            ::= { ospfv3AsLsdbEntry 1 }

ospfv3AsLsdbRouterId OBJECT-TYPE

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

ospfv3AsLsdbLsid OBJECT-TYPE

            SYNTAX          Ospfv3LsIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The Link State ID is an LS type-specific field
                containing a unique identifier;
                it identifies the piece of the routing domain
                that is being described by the advertisement.
                In contrast to OSPFv2, the LSID has no
                addressing semantics."
            ::= { ospfv3AsLsdbEntry 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.

ospfv3AsLsdbSequence OBJECT-TYPE

            SYNTAX          Ospfv3LsaSequenceTC
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The sequence number field is a signed 32-bit
                integer.  It is used to detect old and duplicate
                link state advertisements.  The space of
                sequence numbers is linearly ordered.  The
                larger the sequence number, the more recent the
                advertisement."
            REFERENCE
                "OSPF Version 2, Section 12.1.6, LS sequence
                number"
            ::= { ospfv3AsLsdbEntry 4 }

ospfv3AsLsdbAge OBJECT-TYPE

            SYNTAX          Ospfv3LsaAgeTC
            UNITS           "seconds"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "This field is the age of the link state
                advertisement in seconds.  The high-order bit
                of the LS age field is considered the DoNotAge
                bit for support of on-demand circuits."
            REFERENCE
                "OSPF Version 2, Section 12.1.1, LS age;
                 Extending OSPF to Support Demand Circuits,
                 Section 2.2, The LS age field."
            ::= { ospfv3AsLsdbEntry 5 }

ospfv3AsLsdbChecksum OBJECT-TYPE

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

ospfv3AsLsdbAdvertisement OBJECT-TYPE

            SYNTAX          OCTET STRING (SIZE (1..65535))
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The entire link state advertisement, including
                its header."
            ::= { ospfv3AsLsdbEntry 7 }

ospfv3AsLsdbTypeKnown OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The value true (1) indicates that the LSA type
                is recognized by this router."
            ::= { ospfv3AsLsdbEntry 8 }
     
     --  OSPFv3 Area-Scope Link State Database

ospfv3AreaLsdbTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3AreaLsdbEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The OSPFv3 Process's Area-scope LSDB.
                The LSDB contains the Area-scope link state
                advertisements from throughout the area that the
                device is attached to."
            ::= { ospfv3Objects 4 }

ospfv3AreaLsdbEntry OBJECT-TYPE

            SYNTAX          Ospfv3AreaLsdbEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A single Area-scope link state advertisement."
            INDEX           { ospfv3AreaLsdbAreaId,
                              ospfv3AreaLsdbType,
                              ospfv3AreaLsdbRouterId,
                              ospfv3AreaLsdbLsid }
            ::= { ospfv3AreaLsdbTable 1 }

Ospfv3AreaLsdbEntry ::= SEQUENCE {

            ospfv3AreaLsdbAreaId
                    Ospfv3AreaIdTC,
            ospfv3AreaLsdbType
                    Unsigned32,
            ospfv3AreaLsdbRouterId
                    Ospfv3RouterIdTC,
            ospfv3AreaLsdbLsid
                    Ospfv3LsIdTC,
            ospfv3AreaLsdbSequence
                    Ospfv3LsaSequenceTC,
            ospfv3AreaLsdbAge
                    Ospfv3LsaAgeTC,
            ospfv3AreaLsdbChecksum
                    Integer32,
            ospfv3AreaLsdbAdvertisement
                    OCTET STRING,
            ospfv3AreaLsdbTypeKnown
                    TruthValue
            }

ospfv3AreaLsdbAreaId OBJECT-TYPE

            SYNTAX          Ospfv3AreaIdTC
            MAX-ACCESS      not-accessible
            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"
            ::= { ospfv3AreaLsdbEntry 1 }

ospfv3AreaLsdbType OBJECT-TYPE

            SYNTAX          Unsigned32(0..'FFFFFFFF'h)
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The type of the link state advertisement.
                Each link state type has a separate
                advertisement format.  Area-scope LSAs unrecognized
                by the router are also stored in this database."
            ::= { ospfv3AreaLsdbEntry 2 }

ospfv3AreaLsdbRouterId OBJECT-TYPE

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

ospfv3AreaLsdbLsid OBJECT-TYPE

            SYNTAX          Ospfv3LsIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The Link State ID is an LS type-specific field
                containing a unique identifier;
                it identifies the piece of the routing domain
                that is being described by the advertisement.
                In contrast to OSPFv2, the LSID has no
                addressing semantics."
            ::= { ospfv3AreaLsdbEntry 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.

ospfv3AreaLsdbSequence OBJECT-TYPE

            SYNTAX          Ospfv3LsaSequenceTC
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The sequence number field is a signed 32-bit
                integer.  It is used to detect old and
                duplicate link state advertisements.  The space
                of sequence numbers is linearly ordered.  The
                larger the sequence number, the more recent the
                advertisement."
            
            REFERENCE
                "OSPF Version 2, Section 12.1.6, LS sequence
                number"
            ::= { ospfv3AreaLsdbEntry 5 }

ospfv3AreaLsdbAge OBJECT-TYPE

            SYNTAX          Ospfv3LsaAgeTC
            UNITS           "seconds"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "This field is the age of the link state
                advertisement in seconds.  The high-order bit
                of the LS age field is considered the DoNotAge
                bit for support of on-demand circuits."
            REFERENCE
                "OSPF Version 2, Section 12.1.1, LS age;
                 Extending OSPF to Support Demand Circuits,
                 Section 2.2, The LS age field."
            ::= { ospfv3AreaLsdbEntry 6 }

ospfv3AreaLsdbChecksum OBJECT-TYPE

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

ospfv3AreaLsdbAdvertisement OBJECT-TYPE

            SYNTAX          OCTET STRING (SIZE (1..65535))
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The entire link state advertisement, including
                its header."
            ::= { ospfv3AreaLsdbEntry 8 }

ospfv3AreaLsdbTypeKnown OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The value true (1) indicates that the LSA type is
                recognized by this router."
            ::= { ospfv3AreaLsdbEntry 9 }
    
    -- OSPFv3 Link-Scope Link State Database, for non-virtual interfaces

ospfv3LinkLsdbTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3LinkLsdbEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The OSPFv3 Process's Link-scope LSDB for non-virtual
                interfaces.  The LSDB contains the Link-scope link
                state advertisements from the interfaces that the
                device is attached to."
            ::= { ospfv3Objects 5 }

ospfv3LinkLsdbEntry OBJECT-TYPE

            SYNTAX          Ospfv3LinkLsdbEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A single Link-scope link state advertisement."
            INDEX           { ospfv3LinkLsdbIfIndex,
                              ospfv3LinkLsdbIfInstId,
                              ospfv3LinkLsdbType,
                              ospfv3LinkLsdbRouterId,
                              ospfv3LinkLsdbLsid }
            ::= { ospfv3LinkLsdbTable 1 }

Ospfv3LinkLsdbEntry ::= SEQUENCE {

            ospfv3LinkLsdbIfIndex
                    InterfaceIndex,
            ospfv3LinkLsdbIfInstId
                    Ospfv3IfInstIdTC,
            ospfv3LinkLsdbType
                    Unsigned32,
            ospfv3LinkLsdbRouterId
                    Ospfv3RouterIdTC,
            ospfv3LinkLsdbLsid
                    Ospfv3LsIdTC,
            ospfv3LinkLsdbSequence
                    Ospfv3LsaSequenceTC,
            ospfv3LinkLsdbAge
                    Ospfv3LsaAgeTC,
            ospfv3LinkLsdbChecksum
                    Integer32,
            ospfv3LinkLsdbAdvertisement
                    OCTET STRING,
            ospfv3LinkLsdbTypeKnown
                    TruthValue
            }

ospfv3LinkLsdbIfIndex OBJECT-TYPE

            SYNTAX         InterfaceIndex
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                "The identifier of the link from which the LSA
                was received."
            ::= { ospfv3LinkLsdbEntry 1 }

ospfv3LinkLsdbIfInstId OBJECT-TYPE

            SYNTAX         Ospfv3IfInstIdTC
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                "The identifier of the interface instance from
                which the LSA was received."
            ::= { ospfv3LinkLsdbEntry 2 }

ospfv3LinkLsdbType OBJECT-TYPE

            SYNTAX          Unsigned32(0..'FFFFFFFF'h)
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The type of the link state advertisement.
                Each link state type has a separate
                advertisement format.  Link-scope LSAs unrecognized
                by the router are also stored in this database."
            ::= { ospfv3LinkLsdbEntry 3 }

ospfv3LinkLsdbRouterId OBJECT-TYPE

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

ospfv3LinkLsdbLsid OBJECT-TYPE

            SYNTAX        Ospfv3LsIdTC
            MAX-ACCESS    not-accessible
            STATUS        current
            DESCRIPTION
                "The Link State ID is an LS type-specific field
                containing a unique identifier;
                it identifies the piece of the routing domain
                that is being described by the advertisement.
                In contrast to OSPFv2, the LSID has no
                addressing semantics.  However, in OSPFv3
                the Link State ID always contains the flooding
                scope of the LSA."
            ::= { ospfv3LinkLsdbEntry 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.

ospfv3LinkLsdbSequence OBJECT-TYPE

            SYNTAX          Ospfv3LsaSequenceTC
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The sequence number field is a signed 32-bit
                integer.  It is used to detect old and duplicate
                link state advertisements.  The space of
                sequence numbers is linearly ordered.  The
                larger the sequence number, the more recent the
                advertisement."
            REFERENCE
                "OSPF Version 2, Section 12.1.6, LS sequence
                number"
            ::= { ospfv3LinkLsdbEntry 6 }

ospfv3LinkLsdbAge OBJECT-TYPE

            SYNTAX          Ospfv3LsaAgeTC
            UNITS           "seconds"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "This field is the age of the link state
                advertisement in seconds.  The high-order bit
                of the LS age field is considered the DoNotAge
                bit for support of on-demand circuits."
            
            REFERENCE
                "OSPF Version 2, Section 12.1.1, LS age;
                 Extending OSPF to Support Demand Circuits,
                 Section 2.2, The LS age field."
            ::= { ospfv3LinkLsdbEntry 7 }

ospfv3LinkLsdbChecksum OBJECT-TYPE

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

ospfv3LinkLsdbAdvertisement OBJECT-TYPE

            SYNTAX          OCTET STRING (SIZE (1..65535))
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The entire link state advertisement, including
                its header."
            ::= { ospfv3LinkLsdbEntry 9 }

ospfv3LinkLsdbTypeKnown OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The value true (1) indicates that the LSA type is
                recognized by this router."
            ::= { ospfv3LinkLsdbEntry 10 }

-- OSPF Host Table

ospfv3HostTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3HostEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The Host/Metric Table indicates what hosts are
                directly attached to the router and their
                corresponding metrics."
            REFERENCE
                "OSPF Version 2, Appendix C.7, Host route
                parameters"
            ::= { ospfv3Objects 6 }

ospfv3HostEntry OBJECT-TYPE

            SYNTAX          Ospfv3HostEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A metric to be advertised when a given host is
                reachable.
            
                The information in this table is persistent, and
                when written, the entity SHOULD save the change
                to non-volatile storage."
            INDEX           { ospfv3HostAddressType,
                              ospfv3HostAddress }
            ::= { ospfv3HostTable 1 }

Ospfv3HostEntry ::= SEQUENCE {

            ospfv3HostAddressType
                    InetAddressType,
            ospfv3HostAddress
                    InetAddress,
            ospfv3HostMetric
                    Metric,
            ospfv3HostRowStatus
                    RowStatus,
            ospfv3HostAreaID
                    Ospfv3AreaIdTC
            }

ospfv3HostAddressType OBJECT-TYPE

            SYNTAX          InetAddressType
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The address type of ospfv3HostAddress.  Only IPv6
                global address type is expected."
            REFERENCE
                "OSPF Version 2, Appendix C.7, Host route
                parameters"
            ::= { ospfv3HostEntry 1 }

ospfv3HostAddress OBJECT-TYPE

            SYNTAX          InetAddress
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The IPv6 address of the host.  Must be an
                IPv6 global address."
            REFERENCE
                "OSPF Version 2, Appendix C.7, Host route
                parameters"
            ::= { ospfv3HostEntry 2 }

ospfv3HostMetric OBJECT-TYPE

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

ospfv3HostRowStatus OBJECT-TYPE

            SYNTAX          RowStatus
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "This object permits management of the table by
                facilitating actions such as row creation,
                construction, and destruction.
            
                The value of this object has no effect on
                whether other objects in this conceptual row can be
                modified."
            ::= { ospfv3HostEntry 4 }

ospfv3HostAreaID OBJECT-TYPE

            SYNTAX          Ospfv3AreaIdTC
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The Area the host entry is to be found within.
                By default, the area for the subsuming OSPFv3
                interface, or Area 0 if there is no subsuming
                interface."
            REFERENCE
                "OSPF Version 2, Appendix C.2, Area parameters"
            ::= { ospfv3HostEntry 5 }

-- OSPFv3 Interface Table

ospfv3IfTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3IfEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The OSPFv3 Interface Table describes the
                interfaces from the viewpoint of OSPFv3."
            REFERENCE
                "OSPF for IPv6, Appendix C.3, Router Interface
                Parameters"
            ::= { ospfv3Objects 7 }

ospfv3IfEntry OBJECT-TYPE

            SYNTAX          Ospfv3IfEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The OSPFv3 Interface Entry describes one
                interface from the viewpoint of OSPFv3.
            
                The information in this table is persistent,
                and when written, the entity SHOULD save the
                change to non-volatile storage."
            INDEX           { ospfv3IfIndex,
                              ospfv3IfInstId }
            ::= { ospfv3IfTable 1 }

Ospfv3IfEntry ::= SEQUENCE {

            ospfv3IfIndex
                    InterfaceIndex,
            ospfv3IfInstId
                    Ospfv3IfInstIdTC,
            ospfv3IfAreaId
                    Ospfv3AreaIdTC,
            ospfv3IfType
                    INTEGER,
            ospfv3IfAdminStatus
                    Status,
            ospfv3IfRtrPriority
                    DesignatedRouterPriority,
            ospfv3IfTransitDelay
                    Ospfv3UpToRefreshIntervalTC,
            ospfv3IfRetransInterval
                    Ospfv3UpToRefreshIntervalTC,
            ospfv3IfHelloInterval
                    HelloRange,
            ospfv3IfRtrDeadInterval
                     Ospfv3DeadIntervalRangeTC,
            ospfv3IfPollInterval
                    Unsigned32,
            ospfv3IfState
                    INTEGER,
            ospfv3IfDesignatedRouter
                    Ospfv3RouterIdTC,
            ospfv3IfBackupDesignatedRouter
                    Ospfv3RouterIdTC,
            ospfv3IfEvents
                    Counter32,
            ospfv3IfRowStatus
                    RowStatus,
            ospfv3IfDemand
                    TruthValue,
            ospfv3IfMetricValue
                    Metric,
            ospfv3IfLinkScopeLsaCount
                    Gauge32,
            ospfv3IfLinkLsaCksumSum
                    Unsigned32,
            ospfv3IfDemandNbrProbe
                    TruthValue,
            ospfv3IfDemandNbrProbeRetransLimit
                    Unsigned32,
            ospfv3IfDemandNbrProbeInterval
                    Unsigned32,
            ospfv3IfTEDisabled
                    TruthValue,
            ospfv3IfLinkLSASuppression
                    TruthValue
            }

ospfv3IfIndex OBJECT-TYPE

            SYNTAX          InterfaceIndex
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The interface index of this OSPFv3 interface.
                It corresponds to the interface index of the
                IPv6 interface on which OSPFv3 is configured."
            ::= { ospfv3IfEntry 1 }

ospfv3IfInstId OBJECT-TYPE

            SYNTAX          Ospfv3IfInstIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Enables multiple interface instances of OSPFv3
                to be run over a single link.  Each interface
                instance would be assigned a separate ID.  This ID
                has local link significance only."
            ::= { ospfv3IfEntry 2 }

ospfv3IfAreaId OBJECT-TYPE

            SYNTAX          Ospfv3AreaIdTC
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "A 32-bit integer uniquely identifying the area
                to which the interface connects.  Area ID
                0 is used for the OSPFv3 backbone."
            DEFVAL          { 0 }
            ::= { ospfv3IfEntry 3 }

ospfv3IfType OBJECT-TYPE

            SYNTAX          INTEGER {
                            broadcast(1),
                            nbma(2),
                            pointToPoint(3),
                            pointToMultipoint(5)
                            }
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The OSPFv3 interface type."
            ::= { ospfv3IfEntry 4 }

ospfv3IfAdminStatus OBJECT-TYPE

            SYNTAX          Status
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The OSPFv3 interface's administrative status.
                The value formed on the interface; the interface
                will be advertised as an internal route to some
                area.  The value 'disabled' denotes that the
                interface is external to OSPFv3.
            
                Note that a value of 'disabled' for the object
                ospfv3AdminStatus will override a value of
                'enabled' for the interface."
            DEFVAL          { enabled }
            ::= { ospfv3IfEntry 5 }

ospfv3IfRtrPriority OBJECT-TYPE

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

ospfv3IfTransitDelay OBJECT-TYPE

            SYNTAX          Ospfv3UpToRefreshIntervalTC
            UNITS           "seconds"
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The estimated number of seconds it takes to transmit
                a Link State Update packet over this interface.  LSAs
                contained in the update packet must have their age
                incremented by this amount before transmission.  This
                value should take into account the transmission and
                propagation delays of the interface."
            REFERENCE
                "OSPF for IPv6, Appendix C.3, Router Interface
                Parameters."
            DEFVAL          { 1 }
            ::= { ospfv3IfEntry 7 }

ospfv3IfRetransInterval OBJECT-TYPE

            SYNTAX          Ospfv3UpToRefreshIntervalTC
            UNITS           "seconds"
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The number of seconds between link state
                advertisement retransmissions for adjacencies
            
                belonging to this interface.  This value is
                also used when retransmitting database
                description and Link State Request packets."
            DEFVAL          { 5 }
            ::= { ospfv3IfEntry 8 }

ospfv3IfHelloInterval OBJECT-TYPE

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

ospfv3IfRtrDeadInterval OBJECT-TYPE

            SYNTAX          Ospfv3DeadIntervalRangeTC
            UNITS           "seconds"
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The number of seconds that a router's Hello
                packets have not been seen before its
                neighbors declare the router down on the interface.
                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 }
            ::= { ospfv3IfEntry 10 }

ospfv3IfPollInterval OBJECT-TYPE

            SYNTAX          Unsigned32
            UNITS           "seconds"
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The larger time interval, in seconds, between
                the Hello packets sent to an inactive,
                non-broadcast multi-access neighbor."
            DEFVAL          { 120 }
            ::= { ospfv3IfEntry 11 }

ospfv3IfState OBJECT-TYPE

            SYNTAX          INTEGER {
                            down(1),
                            loopback(2),
                            waiting(3),
                            pointToPoint(4),
                            designatedRouter(5),
                            backupDesignatedRouter(6),
                            otherDesignatedRouter(7),
                            standby(8)
                            }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The OSPFv3 interface state.  An interface may be
                in standby state if there are multiple interfaces
                on the link and another interface is active.  The
                interface may be in Down state if the underlying
                IPv6 interface is down or if the admin status is
                'disabled' either globally or for the interface."
            ::= { ospfv3IfEntry 12 }

ospfv3IfDesignatedRouter OBJECT-TYPE

            SYNTAX          Ospfv3RouterIdTC
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The Router ID of the Designated Router."
            ::= { ospfv3IfEntry 13 }

ospfv3IfBackupDesignatedRouter OBJECT-TYPE

            SYNTAX          Ospfv3RouterIdTC
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The Router ID of the Backup Designated
                Router."
            ::= { ospfv3IfEntry 14 }

ospfv3IfEvents OBJECT-TYPE

            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The number of times this OSPFv3 interface has
                changed its state or an error has occurred.
            
                Discontinuities in the value of this counter
                can occur at re-initialization of the management
                system and at other times as indicated by the
                value of ospfv3DiscontinuityTime."
            ::= { ospfv3IfEntry 15 }

ospfv3IfRowStatus OBJECT-TYPE

            SYNTAX          RowStatus
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "This object permits management of the table by
                facilitating actions such as row creation,
                construction, and destruction.
            
                The value of this object has no effect on
                whether other objects in this conceptual row can be
                modified."
            ::= { ospfv3IfEntry 16 }

ospfv3IfDemand OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "Indicates whether Demand OSPFv3 procedures
                (Hello suppression to FULL neighbors and
                setting the DoNotAge flag on propagated LSAs)
                should be performed on this interface."
            DEFVAL { false }
            ::= { ospfv3IfEntry 17 }

ospfv3IfMetricValue OBJECT-TYPE

            SYNTAX          Metric
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The metric assigned to this interface.
                 The default value of the metric is
                 'Reference Bandwidth / ifSpeed'.  The value
                 of the reference bandwidth can be set
                 in the ospfv3ReferenceBandwidth object."
            ::= { ospfv3IfEntry 18 }

ospfv3IfLinkScopeLsaCount OBJECT-TYPE

            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The total number of Link-scope link state
                advertisements in this link's link state
                database."
            ::= { ospfv3IfEntry 19 }

ospfv3IfLinkLsaCksumSum OBJECT-TYPE

            SYNTAX          Unsigned32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The 32-bit unsigned sum of the Link-scope link state
                advertisements' LS checksums contained in this
                link's link state database.  The sum can be used
                to determine if there has been a change in a
                router's link state database or to compare the
                link state database of two routers."
            ::= { ospfv3IfEntry 20 }

ospfv3IfDemandNbrProbe OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                   "Indicates whether or not neighbor probing is
                   enabled to determine whether or not the neighbor
                   is inactive.  Neighbor probing is disabled by
                   default."
            DEFVAL { false }
            ::= { ospfv3IfEntry 21 }

ospfv3IfDemandNbrProbeRetransLimit OBJECT-TYPE

           SYNTAX       Unsigned32
           MAX-ACCESS   read-create
           STATUS       current
           DESCRIPTION
              "The number of consecutive LSA retransmissions before
              the neighbor is deemed inactive and the neighbor
              adjacency is brought down."
           DEFVAL          { 10 }
           ::= { ospfv3IfEntry 22}

ospfv3IfDemandNbrProbeInterval OBJECT-TYPE

           SYNTAX       Unsigned32
           UNITS        "seconds"
           MAX-ACCESS   read-create
           STATUS       current
           
           DESCRIPTION
              "Defines how often the neighbor will be probed."
           DEFVAL          { 120 }
           ::= { ospfv3IfEntry 23 }

ospfv3IfTEDisabled OBJECT-TYPE

           SYNTAX          TruthValue
           MAX-ACCESS      read-create
           STATUS          current
           DESCRIPTION
              "Indicates whether or not traffic engineering
              is disabled on the interface when traffic
              engineering is enabled in the area where the
              interface is attached.  The object is set
              to the value true (1) to disable traffic engineering
              on the interface.  Traffic engineering is enabled
              by default on the interface when traffic engineering
              is enabled in the area where the interface is
              attached."
           DEFVAL { false }
           ::= { ospfv3IfEntry 24 }

ospfv3IfLinkLSASuppression OBJECT-TYPE

           SYNTAX          TruthValue
           MAX-ACCESS      read-create
           STATUS          current
           DESCRIPTION
              "Specifies whether or not link LSA origination is
              suppressed for broadcast or NBMA interface types.
              The object is set to value true (1) to suppress
              the origination."
           REFERENCE
                "OSPF for IPv6, Appendix C.3, Router Interface
                    Parameters"
           DEFVAL { false }
           ::= { ospfv3IfEntry 25 }
    
    -- OSPFv3 Virtual Interface Table

ospfv3VirtIfTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3VirtIfEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Information about this router's virtual
                interfaces that the OSPFv3 Process is configured
                to carry on."
            
            REFERENCE
                "OSPF for IPv6, Appendix C.4, Virtual Link
                Parameters"
            ::= { ospfv3Objects 8 }

ospfv3VirtIfEntry OBJECT-TYPE

            SYNTAX          Ospfv3VirtIfEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Information about a single virtual interface.
            
                The information in this table is persistent,
                and when written, the entity SHOULD save the
                change to non-volatile storage."
            INDEX           { ospfv3VirtIfAreaId,
                              ospfv3VirtIfNeighbor }
            ::= { ospfv3VirtIfTable 1 }

Ospfv3VirtIfEntry ::= SEQUENCE {

            ospfv3VirtIfAreaId
                    Ospfv3AreaIdTC,
            ospfv3VirtIfNeighbor
                    Ospfv3RouterIdTC,
            ospfv3VirtIfIndex
                    InterfaceIndex,
            ospfv3VirtIfInstId
                    Ospfv3IfInstIdTC,
            ospfv3VirtIfTransitDelay
                    Ospfv3UpToRefreshIntervalTC,
            ospfv3VirtIfRetransInterval
                    Ospfv3UpToRefreshIntervalTC,
            ospfv3VirtIfHelloInterval
                    HelloRange,
            ospfv3VirtIfRtrDeadInterval
                    Ospfv3DeadIntervalRangeTC,
            ospfv3VirtIfState
                    INTEGER,
            ospfv3VirtIfEvents
                    Counter32,
            ospfv3VirtIfRowStatus
                    RowStatus,
            ospfv3VirtIfLinkScopeLsaCount
                    Gauge32,
            ospfv3VirtIfLinkLsaCksumSum
                    Unsigned32
            }

ospfv3VirtIfAreaId OBJECT-TYPE

            SYNTAX          Ospfv3AreaIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The transit area that the virtual link
                traverses.  By definition, this is not
                Area 0."
            ::= { ospfv3VirtIfEntry 1 }

ospfv3VirtIfNeighbor OBJECT-TYPE

            SYNTAX          Ospfv3RouterIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The Router ID of the virtual neighbor."
            ::= { ospfv3VirtIfEntry 2 }

ospfv3VirtIfIndex OBJECT-TYPE

            SYNTAX          InterfaceIndex
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The local interface index assigned by the
                OSPFv3 Process to this OSPFv3 virtual interface.
                It is advertised in Hellos sent over the virtual
                link and in the router's router-LSAs."
            ::= { ospfv3VirtIfEntry 3 }

ospfv3VirtIfInstId OBJECT-TYPE

            SYNTAX          Ospfv3IfInstIdTC
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The local Interface Instance ID assigned by the
                OSPFv3 Process to this OSPFv3 virtual interface."
            ::= { ospfv3VirtIfEntry 4 }

ospfv3VirtIfTransitDelay OBJECT-TYPE

            SYNTAX          Ospfv3UpToRefreshIntervalTC
            UNITS           "seconds"
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The estimated number of seconds it takes to
                transmit a Link State Update packet over this
                interface."
            DEFVAL          { 1 }
            ::= { ospfv3VirtIfEntry 5 }

ospfv3VirtIfRetransInterval OBJECT-TYPE

            SYNTAX          Ospfv3UpToRefreshIntervalTC
            UNITS           "seconds"
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The number of seconds between link state
                advertisement retransmissions for adjacencies
                belonging to this interface.  This value is
                also used when retransmitting database
                description and Link State Request packets.  This
                value should be well over the expected
                round-trip time."
            DEFVAL          { 5 }
            ::= { ospfv3VirtIfEntry 6 }

ospfv3VirtIfHelloInterval OBJECT-TYPE

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

ospfv3VirtIfRtrDeadInterval OBJECT-TYPE

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

ospfv3VirtIfState OBJECT-TYPE

            SYNTAX          INTEGER {
                            down(1),
                            pointToPoint(4)
                            }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "OSPF virtual interface states.  The same encoding
                as the ospfV3IfTable is used."
            ::= { ospfv3VirtIfEntry 9 }

ospfv3VirtIfEvents OBJECT-TYPE

            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The number of state changes or error events on
                this virtual link.
            
                Discontinuities in the value of this counter
                can occur at re-initialization of the management
                system and at other times as indicated by the
                value of ospfv3DiscontinuityTime."
            ::= { ospfv3VirtIfEntry 10 }

ospfv3VirtIfRowStatus OBJECT-TYPE

            SYNTAX          RowStatus
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "This object permits management of the table by
                facilitating actions such as row creation,
                construction, and destruction.
            
                The value of this object has no effect on
                whether other objects in this conceptual row can be
                modified."
            ::= { ospfv3VirtIfEntry 11 }

ospfv3VirtIfLinkScopeLsaCount OBJECT-TYPE

            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The total number of Link-scope link state
                advertisements in this virtual link's link state
                database."
            
            ::= { ospfv3VirtIfEntry 12 }

ospfv3VirtIfLinkLsaCksumSum OBJECT-TYPE

            SYNTAX          Unsigned32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The 32-bit unsigned sum of the Link-scope link state
                advertisements' LS checksums contained in this
                virtual link's link state database.  The sum can be used
                to determine if there has been a change in a
                router's link state database or to compare the
                link state database of two routers."
            ::= { ospfv3VirtIfEntry 13 }

-- OSPFv3 Neighbor Table

ospfv3NbrTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3NbrEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A table describing all neighbors in the
                locality of the OSPFv3 router."
            REFERENCE
                "OSPF Version 2, Section 10, The Neighbor Data
                Structure"
            ::= { ospfv3Objects 9 }

ospfv3NbrEntry OBJECT-TYPE

            SYNTAX          Ospfv3NbrEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The information regarding a single neighbor."
            REFERENCE
                "OSPF Version 2, Section 10, The Neighbor Data
                Structure"
            INDEX           { ospfv3NbrIfIndex,
                              ospfv3NbrIfInstId,
                              ospfv3NbrRtrId }
            ::= { ospfv3NbrTable 1 }

Ospfv3NbrEntry ::= SEQUENCE {

            ospfv3NbrIfIndex
                    InterfaceIndex,
            ospfv3NbrIfInstId
                    Ospfv3IfInstIdTC,
            ospfv3NbrRtrId
                    Ospfv3RouterIdTC,
            ospfv3NbrAddressType
                    InetAddressType,
            ospfv3NbrAddress
                    InetAddress,
            ospfv3NbrOptions
                    Integer32,
            ospfv3NbrPriority
                    DesignatedRouterPriority,
            ospfv3NbrState
                    INTEGER,
            ospfv3NbrEvents
                    Counter32,
            ospfv3NbrLsRetransQLen
                    Gauge32,
            ospfv3NbrHelloSuppressed
                    TruthValue,
            ospfv3NbrIfId
                    InterfaceIndex,
            ospfv3NbrRestartHelperStatus
                    INTEGER,
            ospfv3NbrRestartHelperAge
                    Ospfv3UpToRefreshIntervalTC,
            ospfv3NbrRestartHelperExitReason
                    INTEGER
            }

ospfv3NbrIfIndex OBJECT-TYPE

            SYNTAX          InterfaceIndex
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The Local Link ID of the link over which the
                 neighbor can be reached."
            ::= { ospfv3NbrEntry 1 }

ospfv3NbrIfInstId OBJECT-TYPE

            SYNTAX          Ospfv3IfInstIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Interface instance over which the neighbor
                can be reached.  This ID has local link
                significance only."
            ::= { ospfv3NbrEntry 2 }

ospfv3NbrRtrId OBJECT-TYPE

            SYNTAX          Ospfv3RouterIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A 32-bit unsigned integer uniquely identifying the
                neighboring router in the Autonomous System."
            ::= { ospfv3NbrEntry 3 }

ospfv3NbrAddressType OBJECT-TYPE

            SYNTAX          InetAddressType
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The address type of ospfv3NbrAddress.  Only IPv6
                addresses without zone index are expected."
            ::= { ospfv3NbrEntry 4 }

ospfv3NbrAddress OBJECT-TYPE

            SYNTAX          InetAddress
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The IPv6 address of the neighbor associated with
                the local link."
            ::= { ospfv3NbrEntry 5 }

ospfv3NbrOptions OBJECT-TYPE

            SYNTAX          Integer32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A bit mask corresponding to the neighbor's
                options field."
            REFERENCE
                "OSPF for IPv6, Appendix A.2, The Options Field"
            ::= { ospfv3NbrEntry 6 }

ospfv3NbrPriority OBJECT-TYPE

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

ospfv3NbrState OBJECT-TYPE

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

ospfv3NbrEvents OBJECT-TYPE

            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The number of times this neighbor relationship
                has changed state or an error has occurred.
            
                Discontinuities in the value of this counter
                can occur at re-initialization of the management
                system and at other times as indicated by the
                value of ospfv3DiscontinuityTime."
            ::= { ospfv3NbrEntry 9 }

ospfv3NbrLsRetransQLen OBJECT-TYPE

            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The current length of the retransmission
                queue."
            ::= { ospfv3NbrEntry 10 }

ospfv3NbrHelloSuppressed OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "Indicates whether Hellos are being suppressed
                to the neighbor."
            ::= { ospfv3NbrEntry 11 }

ospfv3NbrIfId OBJECT-TYPE

            SYNTAX          InterfaceIndex
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The Interface ID that the neighbor advertises
                in its Hello packets on this link, that is, the
                neighbor's local interface index."
            ::= { ospfv3NbrEntry 12 }

ospfv3NbrRestartHelperStatus OBJECT-TYPE

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

ospfv3NbrRestartHelperAge OBJECT-TYPE

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

ospfv3NbrRestartHelperExitReason OBJECT-TYPE

           SYNTAX       INTEGER { none(1),
                                  inProgress(2),
                                  completed(3),
                                  timedOut(4),
                                  topologyChanged(5)
                                }
           MAX-ACCESS   read-only
           STATUS       current

DESCRIPTION

"Describes the outcome of the last attempt at acting as a graceful restart helper for the neighbor.

              none:            no restart has yet been attempted.
              inProgress:      a restart attempt is currently underway.
              completed:       the last restart completed successfully.
              timedOut:        the last restart timed out.
              topologyChanged: the last restart was aborted due to
                               a topology change."
        ::= { ospfv3NbrEntry 15 }
    
    -- OSPFv3 Configured Neighbor Table

ospfv3CfgNbrTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3CfgNbrEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A table describing all configured neighbors.
            
                The Configured Neighbors table just gives
                OSPFv3 information for sending OSPFv3 packets
                to potential neighbors and is typically used
                on NBMA and Point-to-Multipoint networks.
                Once a Hello is received from a neighbor in
                the Configured Neighbor table, an entry for
                that neighbor is created in the Neighbor table
                and adjacency state is maintained there.
                Neighbors on multi-access or Point-to-Point
                networks can use multicast addressing, so only
                Neighbor table entries are created for them."
            REFERENCE
                "OSPF Version 2, Section 10, The Neighbor Data
                Structure"
            ::= { ospfv3Objects 10 }

ospfv3CfgNbrEntry OBJECT-TYPE

            SYNTAX          Ospfv3CfgNbrEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The information regarding a single configured
                neighbor.

The information in this table is persistent,

and when written, the entity SHOULD save the

change to non-volatile storage."

            REFERENCE
                "OSPF Version 2, Section 10, The Neighbor Data
                Structure"
            INDEX           { ospfv3CfgNbrIfIndex,
                              ospfv3CfgNbrIfInstId,
                              ospfv3CfgNbrAddressType,
                              ospfv3CfgNbrAddress }
            ::= { ospfv3CfgNbrTable 1 }

Ospfv3CfgNbrEntry ::= SEQUENCE {

            ospfv3CfgNbrIfIndex
                    InterfaceIndex,
            ospfv3CfgNbrIfInstId
                    Ospfv3IfInstIdTC,
            ospfv3CfgNbrAddressType
                    InetAddressType,
            ospfv3CfgNbrAddress
                    InetAddress,
            ospfv3CfgNbrPriority
                    DesignatedRouterPriority,
            ospfv3CfgNbrRowStatus
                    RowStatus
            }

ospfv3CfgNbrIfIndex OBJECT-TYPE

            SYNTAX          InterfaceIndex
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The Local Link ID of the link over which the
                 neighbor can be reached."
            ::= { ospfv3CfgNbrEntry 1 }

ospfv3CfgNbrIfInstId OBJECT-TYPE

            SYNTAX          Ospfv3IfInstIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Interface instance over which the neighbor
                can be reached.  This ID has local link
                significance only."
            ::= { ospfv3CfgNbrEntry 2 }

ospfv3CfgNbrAddressType OBJECT-TYPE

            SYNTAX          InetAddressType
            MAX-ACCESS      not-accessible
            STATUS          current
            
            DESCRIPTION
                "The address type of ospfv3NbrAddress.  Only IPv6
                addresses without zone index are expected."
            ::= { ospfv3CfgNbrEntry 3 }

ospfv3CfgNbrAddress OBJECT-TYPE

            SYNTAX          InetAddress
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The IPv6 address of the neighbor associated with
                the local link."
            ::= { ospfv3CfgNbrEntry 4 }

ospfv3CfgNbrPriority OBJECT-TYPE

            SYNTAX          DesignatedRouterPriority
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The priority of this neighbor in the designated-
                router election algorithm.  The value 0 signifies
                that the neighbor is not eligible to become the
                Designated Router on this particular network."
            DEFVAL          { 1 }
            ::= { ospfv3CfgNbrEntry 5 }

ospfv3CfgNbrRowStatus OBJECT-TYPE

            SYNTAX          RowStatus
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "This object permits management of the table by
                facilitating actions such as row creation,
                construction, and destruction.
            
                The value of this object has no effect on
                whether other objects in this conceptual row can be
                modified."
            ::= { ospfv3CfgNbrEntry 6 }
    
    -- OSPFv3 Virtual Neighbor Table

ospfv3VirtNbrTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3VirtNbrEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A table describing all virtual neighbors."
            
            REFERENCE
                "OSPF Version 2, Section 15, Virtual Links"
            ::= { ospfv3Objects 11 }

ospfv3VirtNbrEntry OBJECT-TYPE

            SYNTAX          Ospfv3VirtNbrEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Virtual neighbor information."
            INDEX           { ospfv3VirtNbrArea,
                              ospfv3VirtNbrRtrId }
            ::= { ospfv3VirtNbrTable 1 }

Ospfv3VirtNbrEntry ::= SEQUENCE {

            ospfv3VirtNbrArea
                    Ospfv3AreaIdTC,
            ospfv3VirtNbrRtrId
                    Ospfv3RouterIdTC,
            ospfv3VirtNbrIfIndex
                    InterfaceIndex,
            ospfv3VirtNbrIfInstId
                    Ospfv3IfInstIdTC,
            ospfv3VirtNbrAddressType
                    InetAddressType,
            ospfv3VirtNbrAddress
                    InetAddress,
            ospfv3VirtNbrOptions
                    Integer32,
            ospfv3VirtNbrState
                    INTEGER,
            ospfv3VirtNbrEvents
                    Counter32,
            ospfv3VirtNbrLsRetransQLen
                    Gauge32,
            ospfv3VirtNbrHelloSuppressed
                    TruthValue,
            ospfv3VirtNbrIfId
                    InterfaceIndex,
            ospfv3VirtNbrRestartHelperStatus
                    INTEGER,
            ospfv3VirtNbrRestartHelperAge
                    Ospfv3UpToRefreshIntervalTC,
            ospfv3VirtNbrRestartHelperExitReason
                    INTEGER
            }

ospfv3VirtNbrArea OBJECT-TYPE

            SYNTAX          Ospfv3AreaIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The transit area Identifier."
            ::= { ospfv3VirtNbrEntry 1 }

ospfv3VirtNbrRtrId OBJECT-TYPE

            SYNTAX          Ospfv3RouterIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A 32-bit integer uniquely identifying the
                neighboring router in the Autonomous System."
            ::= { ospfv3VirtNbrEntry 2 }

ospfv3VirtNbrIfIndex OBJECT-TYPE

            SYNTAX          InterfaceIndex
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The local Interface ID for the virtual link over
                which the neighbor can be reached."
            ::= { ospfv3VirtNbrEntry 3 }

ospfv3VirtNbrIfInstId OBJECT-TYPE

            SYNTAX          Ospfv3IfInstIdTC
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The interface instance for the virtual link over
                which the neighbor can be reached."
            ::= { ospfv3VirtNbrEntry 4 }

ospfv3VirtNbrAddressType OBJECT-TYPE

            SYNTAX          InetAddressType
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The address type of ospfv3VirtNbrAddress.  Only IPv6
                addresses without zone index are expected."
            ::= { ospfv3VirtNbrEntry 5 }

ospfv3VirtNbrAddress OBJECT-TYPE

            SYNTAX          InetAddress
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The IPv6 address advertised by this virtual neighbor.
                It must be a global scope address."
            ::= { ospfv3VirtNbrEntry 6 }

ospfv3VirtNbrOptions OBJECT-TYPE

            SYNTAX          Integer32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "A bit mask corresponding to the neighbor's options
                field."
            REFERENCE
                "OSPF for IPv6, Appendix A.2, The Options Field"
            ::= { ospfv3VirtNbrEntry 7 }

ospfv3VirtNbrState OBJECT-TYPE

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

ospfv3VirtNbrEvents OBJECT-TYPE

            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The number of times this virtual link has
                changed its state or an error has occurred.
            
                Discontinuities in the value of this counter
                can occur at re-initialization of the management
                system and at other times as indicated by the
                value of ospfv3DiscontinuityTime."
            ::= { ospfv3VirtNbrEntry 9 }

ospfv3VirtNbrLsRetransQLen OBJECT-TYPE

            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The current length of the retransmission
                queue."
            ::= { ospfv3VirtNbrEntry 10 }

ospfv3VirtNbrHelloSuppressed OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "Indicates whether Hellos are being suppressed
                to the neighbor."
            ::= { ospfv3VirtNbrEntry 11 }

ospfv3VirtNbrIfId OBJECT-TYPE

            SYNTAX          InterfaceIndex
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The Interface ID that the neighbor advertises
                in its Hello packets on this virtual link, that is,
                the neighbor's local Interface ID."
            ::= { ospfv3VirtNbrEntry 12 }

ospfv3VirtNbrRestartHelperStatus OBJECT-TYPE

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

ospfv3VirtNbrRestartHelperAge OBJECT-TYPE

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

ospfv3VirtNbrRestartHelperExitReason OBJECT-TYPE

           SYNTAX       INTEGER { none(1),
                                  inProgress(2),
                                  completed(3),
                                  timedOut(4),
                                  topologyChanged(5)
                                }
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "Describes the outcome of the last attempt at acting
               as a graceful restart helper for the neighbor.
        
               none:            no restart has yet been attempted.
               inProgress:      a restart attempt is currently underway.
               completed:       the last restart completed successfully.
               timedOut:        the last restart timed out.
               topologyChanged: the last restart was aborted due to
                                a topology change."
        ::= { ospfv3VirtNbrEntry 15 }
    
    --
    -- The OSPFv3 Area Aggregate Table
    --

ospfv3AreaAggregateTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3AreaAggregateEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The Area Aggregate Table acts as an adjunct
                to the Area Table.  It describes those address
                aggregates that are configured to be propagated
                from an area.  Its purpose is to reduce the amount
                of information that is known beyond an area's
                borders.
            
                A range of IPv6 prefixes specified by a
                prefix / prefix length pair.  Note that if
                ranges are configured such that one range
                subsumes another range, the most specific
                match is the preferred one."
            ::= { ospfv3Objects 12 }

ospfv3AreaAggregateEntry OBJECT-TYPE

            SYNTAX          Ospfv3AreaAggregateEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A single area aggregate entry.
            
                Information in this table is persistent, and
                when this object is written, the entity SHOULD
                save the change to non-volatile storage."
            REFERENCE
                "OSPF Version 2, Appendix C.2, Area parameters"
            INDEX           { ospfv3AreaAggregateAreaID,
                              ospfv3AreaAggregateAreaLsdbType,
                              ospfv3AreaAggregatePrefixType,
                              ospfv3AreaAggregatePrefix,
                              ospfv3AreaAggregatePrefixLength }
            ::= { ospfv3AreaAggregateTable 1 }

Ospfv3AreaAggregateEntry ::= SEQUENCE {

            ospfv3AreaAggregateAreaID
                    Ospfv3AreaIdTC,
            ospfv3AreaAggregateAreaLsdbType
                    INTEGER,
            ospfv3AreaAggregatePrefixType
                    InetAddressType,
            ospfv3AreaAggregatePrefix
                    InetAddress,
            ospfv3AreaAggregatePrefixLength
                    InetAddressPrefixLength,
            ospfv3AreaAggregateRowStatus
                    RowStatus,
            ospfv3AreaAggregateEffect
                    INTEGER,
            ospfv3AreaAggregateRouteTag
                    Unsigned32
            }

ospfv3AreaAggregateAreaID OBJECT-TYPE

            SYNTAX          Ospfv3AreaIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The area the Address Aggregate is to be found
                within."
            REFERENCE
                "OSPF Version 2, Appendix C.2, Area parameters"
            ::= { ospfv3AreaAggregateEntry 1 }

ospfv3AreaAggregateAreaLsdbType OBJECT-TYPE

            SYNTAX          INTEGER {
                            interAreaPrefixLsa(8195), -- 0x2003
                            nssaExternalLsa(8199)     -- 0x2007
                            }
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The type of the Address Aggregate.  This field
                specifies the Area LSDB type that this Address
                Aggregate applies to."
            REFERENCE
                "OSPF Version 2, Appendix A.4.1, The LSA header"
            ::= { ospfv3AreaAggregateEntry 2 }

ospfv3AreaAggregatePrefixType OBJECT-TYPE

            SYNTAX          InetAddressType
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The prefix type of ospfv3AreaAggregatePrefix.  Only
                IPv6 addresses are expected."
            ::= { ospfv3AreaAggregateEntry 3 }

ospfv3AreaAggregatePrefix OBJECT-TYPE

            SYNTAX          InetAddress (SIZE (0..16))
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The IPv6 prefix."
            REFERENCE
                "OSPF Version 2, Appendix C.2, Area parameters"
            ::= { ospfv3AreaAggregateEntry 4 }

ospfv3AreaAggregatePrefixLength OBJECT-TYPE

            SYNTAX          InetAddressPrefixLength (3..128)
            UNITS           "bits"
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The length of the prefix (in bits).  A prefix can
                not be shorter than 3 bits."
            REFERENCE
                "OSPF Version 2, Appendix C.2, Area parameters"
            ::= { ospfv3AreaAggregateEntry 5 }

ospfv3AreaAggregateRowStatus OBJECT-TYPE

            SYNTAX          RowStatus
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "This object permits management of the table by
                facilitating actions such as row creation,
                construction, and destruction.
            
                The value of this object has no effect on
                whether other objects in this conceptual row can be
                modified."
            ::= { ospfv3AreaAggregateEntry 6 }

ospfv3AreaAggregateEffect OBJECT-TYPE

            SYNTAX          INTEGER {
                            advertiseMatching(1),
                            doNotAdvertiseMatching(2)
                            }
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "Prefixes subsumed by ranges will either trigger the
                advertisement of the indicated aggregate
                (advertiseMatching) or result in the prefix not
                being advertised at all outside the area."
            DEFVAL          { advertiseMatching }
            ::= { ospfv3AreaAggregateEntry 7 }

ospfv3AreaAggregateRouteTag OBJECT-TYPE

            SYNTAX          Unsigned32
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "This tag is advertised only in the summarized
                As-External LSA when summarizing from NSSA-LSAs to
                AS-External-LSAs."
            DEFVAL         { 0 }
            ::= { ospfv3AreaAggregateEntry 8 }
    
    -- OSPFv3 Link-Scope Link State Database, for virtual interfaces

ospfv3VirtLinkLsdbTable OBJECT-TYPE

            SYNTAX          SEQUENCE OF Ospfv3VirtLinkLsdbEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The OSPFv3 Process's Link-scope LSDB for virtual
                interfaces.  The LSDB contains the Link-scope link
                state advertisements from virtual interfaces."
            
            ::= { ospfv3Objects 13 }

ospfv3VirtLinkLsdbEntry OBJECT-TYPE

            SYNTAX          Ospfv3VirtLinkLsdbEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A single Link-scope link state advertisement
                for a virtual interface."
            INDEX           { ospfv3VirtLinkLsdbIfAreaId,
                              ospfv3VirtLinkLsdbIfNeighbor,
                              ospfv3VirtLinkLsdbType,
                              ospfv3VirtLinkLsdbRouterId,
                              ospfv3VirtLinkLsdbLsid }
            ::= { ospfv3VirtLinkLsdbTable 1 }

Ospfv3VirtLinkLsdbEntry ::= SEQUENCE {

            ospfv3VirtLinkLsdbIfAreaId
                    Ospfv3AreaIdTC,
            ospfv3VirtLinkLsdbIfNeighbor
                    Ospfv3RouterIdTC,
            ospfv3VirtLinkLsdbType
                    Unsigned32,
            ospfv3VirtLinkLsdbRouterId
                    Ospfv3RouterIdTC,
            ospfv3VirtLinkLsdbLsid
                    Ospfv3LsIdTC,
            ospfv3VirtLinkLsdbSequence
                    Ospfv3LsaSequenceTC,
            ospfv3VirtLinkLsdbAge
                    Ospfv3LsaAgeTC,
            ospfv3VirtLinkLsdbChecksum
                    Integer32,
            ospfv3VirtLinkLsdbAdvertisement
                    OCTET STRING,
            ospfv3VirtLinkLsdbTypeKnown
                    TruthValue
            }

ospfv3VirtLinkLsdbIfAreaId OBJECT-TYPE

            SYNTAX          Ospfv3AreaIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The transit area that the virtual link
                traverses.  By definition, this is not
                Area 0."
            ::= { ospfv3VirtLinkLsdbEntry 1 }

ospfv3VirtLinkLsdbIfNeighbor OBJECT-TYPE

            SYNTAX          Ospfv3RouterIdTC
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The Router ID of the virtual neighbor."
            ::= { ospfv3VirtLinkLsdbEntry 2 }

ospfv3VirtLinkLsdbType OBJECT-TYPE

            SYNTAX          Unsigned32(0..'FFFFFFFF'h)
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "The type of the link state advertisement.
                Each link state type has a separate
                advertisement format.  Link-scope LSAs unrecognized
                by the router are also stored in this database."
            ::= { ospfv3VirtLinkLsdbEntry 3 }

ospfv3VirtLinkLsdbRouterId OBJECT-TYPE

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

ospfv3VirtLinkLsdbLsid OBJECT-TYPE

            SYNTAX        Ospfv3LsIdTC
            MAX-ACCESS    not-accessible
            STATUS        current
            DESCRIPTION
                "The Link State ID is an LS type-specific field
                containing a unique identifier;
                it identifies the piece of the routing domain
                that is being described by the advertisement.
                In contrast to OSPFv2, the LSID has no
                addressing semantics."
            ::= { ospfv3VirtLinkLsdbEntry 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.

ospfv3VirtLinkLsdbSequence OBJECT-TYPE

            SYNTAX          Ospfv3LsaSequenceTC
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The sequence number field is a signed 32-bit
                integer.  It is used to detect old and duplicate
                link state advertisements.  The space of
                sequence numbers is linearly ordered.  The
                larger the sequence number, the more recent the
                advertisement."
            REFERENCE
                "OSPF Version 2, Section 12.1.6, LS sequence
                number"
            ::= { ospfv3VirtLinkLsdbEntry 6 }

ospfv3VirtLinkLsdbAge OBJECT-TYPE

            SYNTAX          Ospfv3LsaAgeTC
            UNITS           "seconds"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "This field is the age of the link state
                advertisement in seconds.  The high-order bit
                of the LS age field is considered the DoNotAge
                bit for support of on-demand circuits."
            REFERENCE
                "OSPF Version 2, Section 12.1.1, LS age;
                 Extending OSPF to Support Demand Circuits,
                 Section 2.2, The LS age field."
            ::= { ospfv3VirtLinkLsdbEntry 7 }

ospfv3VirtLinkLsdbChecksum OBJECT-TYPE

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

ospfv3VirtLinkLsdbAdvertisement OBJECT-TYPE

            SYNTAX          OCTET STRING (SIZE (1..65535))
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The entire link state advertisement, including
                its header."
            ::= { ospfv3VirtLinkLsdbEntry 9 }

ospfv3VirtLinkLsdbTypeKnown OBJECT-TYPE

            SYNTAX          TruthValue
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                "The value true (1) indicates that the LSA type is
                recognized by this router."
            ::= { ospfv3VirtLinkLsdbEntry 10 }
    
    -- The Ospfv3 Notification Table

-- The Ospfv3 Notification Table records fields that are -- required for notifications.

ospfv3NotificationEntry OBJECT IDENTIFIER

            ::= { ospfv3Objects 14 }

ospfv3ConfigErrorType OBJECT-TYPE

        SYNTAX       INTEGER {
                        badVersion(1),
                        areaMismatch(2),
                        unknownNbmaNbr(3), -- Router is DR eligible
                        unknownVirtualNbr(4),
                        helloIntervalMismatch(5),
                        deadIntervalMismatch(6),
                        optionMismatch(7),
                        mtuMismatch(8),
                        duplicateRouterId(9),
                        noError(10) }
        MAX-ACCESS   accessible-for-notify
        STATUS   current
        DESCRIPTION
            "Potential types of configuration conflicts.
            Used by the ospfv3ConfigError and
            ospfv3ConfigVirtError notifications."
        ::= { ospfv3NotificationEntry 1 }

ospfv3PacketType OBJECT-TYPE

        SYNTAX       INTEGER {
                        hello(1),
                        dbDescript(2),
                        lsReq(3),
                        lsUpdate(4),
                        lsAck(5),
                        nullPacket(6) }
        MAX-ACCESS   accessible-for-notify
        STATUS       current
        DESCRIPTION
            "OSPFv3 packet types."
        ::= { ospfv3NotificationEntry 2 }
    
    ospfv3PacketSrc  OBJECT-TYPE
        SYNTAX       InetAddressIPv6
        MAX-ACCESS   accessible-for-notify
        STATUS       current
        DESCRIPTION
            "The IPv6 address of an inbound packet that cannot
            be identified by a neighbor instance.
    
            Only IPv6 addresses without zone index are expected."
        ::= { ospfv3NotificationEntry 3 }
    
    -- Notification Definitions

-- The notifications need to be throttled so as to not overwhelm the -- management agent in case of rapid changes to the OSPFv3 module.

ospfv3VirtIfStateChange NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId,  -- The originator of the notification
                  ospfv3VirtIfState  -- The new state
           }
        STATUS       current
        DESCRIPTION
            "An ospfv3VirtIfStateChange notification signifies that
            there has been a change in the state of an OSPFv3 virtual
            interface.
        
            This notification should be generated when the interface
            state regresses (e.g., goes from Point-to-Point to Down)
            or progresses to a terminal state (i.e., Point-to-Point)."
        ::= { ospfv3Notifications 1 }

ospfv3NbrStateChange NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
                  ospfv3NbrState  -- The new state
        
           }
        STATUS       current
        DESCRIPTION
            "An ospfv3NbrStateChange notification signifies that
            there has been a change in the state of a
            non-virtual OSPFv3 neighbor.  This notification 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 a neighbor transitions
            from or to Full on non-broadcast multi-access
            and broadcast networks, the notification should be
            generated by the Designated Router.  A Designated
            Router transitioning to Down will be noted by
            ospfIfStateChange."
        ::= { ospfv3Notifications 2 }

ospfv3VirtNbrStateChange NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
                  ospfv3VirtNbrState  -- The new state
           }
        STATUS       current
        DESCRIPTION
            "An ospfv3VirtNbrStateChange notification signifies
            that there has been a change in the state of an OSPFv3
            virtual neighbor.  This notification 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)."
        ::= { ospfv3Notifications 3 }

ospfv3IfConfigError NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
           ospfv3IfState,         -- State of the interface
           ospfv3PacketSrc,       -- IPv6 address of source
           ospfv3ConfigErrorType, -- Type of error
           ospfv3PacketType       -- Type of packet
           }
        STATUS       current
        DESCRIPTION
            "An ospfv3IfConfigError notification signifies that a
            packet has been received on a non-virtual
            interface from a router whose configuration
            parameters conflict with this router's
            configuration parameters.  Note that the event
            optionMismatch should cause a notification only if it
            prevents an adjacency from forming."
        ::= { ospfv3Notifications 4 }

ospfv3VirtIfConfigError NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
           ospfv3VirtIfState,     -- State of the interface
           ospfv3ConfigErrorType, -- Type of error
           ospfv3PacketType
           }
        STATUS       current
        DESCRIPTION
            "An ospfv3VirtIfConfigError notification signifies that a
            packet has been received on a virtual interface
            from a router whose configuration parameters
            conflict with this router's configuration
            parameters.  Note that the event optionMismatch
            should cause a notification only if it prevents an
            adjacency from forming."
        ::= { ospfv3Notifications 5 }

ospfv3IfRxBadPacket NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
           ospfv3IfState,         -- State of the interface
           ospfv3PacketSrc,       -- The source IPv6 address
           ospfv3PacketType       -- Type of packet
           }
        STATUS       current
        DESCRIPTION
            "An ospfv3IfRxBadPacket notification signifies that an
            OSPFv3 packet that cannot be parsed has been received on a
            non-virtual interface."
        ::= { ospfv3Notifications 6 }

ospfv3VirtIfRxBadPacket NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
          ospfv3VirtIfState,      -- State of the interface
          ospfv3PacketType        -- Type of packet
          }
        STATUS       current
        DESCRIPTION
            "An ospfv3VirtIfRxBadPacket notification signifies
            that an OSPFv3 packet that cannot be parsed has been
            received on a virtual interface."
        ::= { ospfv3Notifications 7 }

ospfv3LsdbOverflow NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
           ospfv3ExtAreaLsdbLimit -- Limit on External LSAs
           }
        STATUS       current
        DESCRIPTION
            "An ospfv3LsdbOverflow notification signifies that the
            number of LSAs in the router's link state
            database has exceeded ospfv3ExtAreaLsdbLimit."
        ::= { ospfv3Notifications 8 }

ospfv3LsdbApproachingOverflow NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
           ospfv3ExtAreaLsdbLimit
           }
        STATUS       current
        DESCRIPTION
            "An ospfv3LsdbApproachingOverflow notification signifies
            that the number of LSAs in the router's
            link state database has exceeded ninety percent of
            ospfv3ExtAreaLsdbLimit."
        ::= { ospfv3Notifications 9 }

ospfv3IfStateChange NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
           ospfv3IfState   -- The new state
           }
        STATUS       current
        DESCRIPTION
            "An ospfv3IfStateChange notification signifies that there
            has been a change in the state of a non-virtual
            OSPFv3 interface.  This notification 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)."
        ::= { ospfv3Notifications 10 }

ospfv3NssaTranslatorStatusChange NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
           ospfv3AreaNssaTranslatorState  -- new state
           }
        STATUS       current
        DESCRIPTION
            "An ospfv3NssaTranslatorStatusChange notification
            indicates that there has been a change in the router's
            ability to translate OSPFv3 NSSA LSAs into OSPFv3 External
            LSAs.  This notification should be generated when the
            Translator Status transitions from or to any defined
            status on a per-area basis."
        ::= { ospfv3Notifications 11 }

ospfv3RestartStatusChange NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
                  ospfv3RestartStatus,  -- new status
                  ospfv3RestartInterval,
                  ospfv3RestartExitReason
                }
        STATUS       current
        DESCRIPTION
            "An ospfv3RestartStatusChange notification signifies that
            there has been a change in the graceful restart
            state for the router.  This notification should be
            generated when the router restart status
            changes."
        ::= { ospfv3Notifications 12 }

ospfv3NbrRestartHelperStatusChange NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
                  ospfv3NbrRestartHelperStatus,  -- new status
                  ospfv3NbrRestartHelperAge,
                  ospfv3NbrRestartHelperExitReason
                }
        STATUS       current
        DESCRIPTION
            "An ospfv3NbrRestartHelperStatusChange notification
            signifies that there has been a change in the
            graceful restart helper state for the neighbor.
            This notification should be generated when the
            neighbor restart helper status transitions for a neighbor."
        ::= { ospfv3Notifications 13 }

ospfv3VirtNbrRestartHelperStatusChange NOTIFICATION-TYPE

        OBJECTS { ospfv3RouterId, -- The originator of the notification
                  ospfv3VirtNbrRestartHelperStatus,  -- new status
                  ospfv3VirtNbrRestartHelperAge,
                  ospfv3VirtNbrRestartHelperExitReason
                }
        STATUS       current
        DESCRIPTION
            "An ospfv3VirtNbrRestartHelperStatusChange
            notification signifies that there has been a
            change in the graceful restart helper state for
            the virtual neighbor.  This notification should be
            generated when the virtual neighbor restart helper status
            transitions for a virtual neighbor."
        ::= { ospfv3Notifications 14 }
    
    -- Conformance Information
    ospfv3Groups      OBJECT IDENTIFIER ::= { ospfv3Conformance 1 }
    ospfv3Compliances OBJECT IDENTIFIER ::= { ospfv3Conformance 2 }
    
    -- Compliance Statements

ospfv3FullCompliance MODULE-COMPLIANCE

            STATUS          current
            DESCRIPTION     "The compliance statement"
            MODULE          -- this module
            MANDATORY-GROUPS {
                            ospfv3BasicGroup,
                            ospfv3AreaGroup,
                            ospfv3IfGroup,
                            ospfv3VirtIfGroup,
                            ospfv3NbrGroup,
                            ospfv3CfgNbrGroup,
                            ospfv3VirtNbrGroup,
                            ospfv3AreaAggregateGroup
                            }
            
            GROUP           ospfv3AsLsdbGroup
            DESCRIPTION
                "This group is required for OSPFv3 systems that
                display their AS-scope link state database."
            
            GROUP           ospfv3AreaLsdbGroup
            DESCRIPTION
                "This group is required for OSPFv3 systems that
                display their Area-scope link state database."
            
            GROUP           ospfv3LinkLsdbGroup
            DESCRIPTION
                "This group is required for OSPFv3 systems that
                display their Link-scope link state database
                for non-virtual interfaces."
            
            GROUP           ospfv3VirtLinkLsdbGroup
            DESCRIPTION
                "This group is required for OSPFv3 systems that
                display their Link-scope link state database
                for virtual interfaces."
            
            GROUP           ospfv3HostGroup
            DESCRIPTION
                "This group is required for OSPFv3 systems that
                support attached hosts."
            
            GROUP           ospfv3NotificationObjectGroup
            DESCRIPTION
                "This group is required for OSPFv3 systems that
                support OSPFv3 notifications."
            
            GROUP           ospfv3NotificationGroup
            DESCRIPTION
                "This group is required for OSPFv3 systems that
                support OSPFv3 notifications."
            
            OBJECT          ospfv3NbrAddressType
            SYNTAX          InetAddressType { ipv6(2) }
            DESCRIPTION
                "An implementation is only required to support IPv6
                address without zone index."
            
            OBJECT          ospfv3NbrAddress
            SYNTAX          InetAddress (SIZE (16))
            DESCRIPTION
                "An implementation is only required to support IPv6
                address without zone index."
            
            OBJECT          ospfv3VirtNbrAddressType
            SYNTAX          InetAddressType { ipv6(2) }
            DESCRIPTION
                "An implementation is only required to support IPv6
                address without zone index."
            
            OBJECT          ospfv3VirtNbrAddress
            SYNTAX          InetAddress (SIZE (16))
            DESCRIPTION
                "An implementation is only required to support IPv6
                address without zone index."
            
            ::= { ospfv3Compliances 1 }

ospfv3ReadOnlyCompliance MODULE-COMPLIANCE

          STATUS     current
          DESCRIPTION
                  "When this MIB module is implemented without
                  support for read-create (i.e., in read-only
                  mode), the implementation can claim read-only
                  compliance.  Such a device can then be monitored,
                  but cannot be configured with this MIB."

MODULE -- this module

MANDATORY-GROUPS {

ospfv3BasicGroup,

                       ospfv3AreaGroup,
                       ospfv3IfGroup,
                       ospfv3VirtIfGroup,
                       ospfv3NbrGroup,
                       ospfv3CfgNbrGroup,
                       ospfv3VirtNbrGroup,
                       ospfv3AreaAggregateGroup
                       }
          
          GROUP           ospfv3AsLsdbGroup
          DESCRIPTION
              "This group is required for OSPFv3 systems that
              display their AS-scope link state database."
          
          GROUP           ospfv3AreaLsdbGroup
          DESCRIPTION
              "This group is required for OSPFv3 systems that
              display their Area-scope link state database."
          
          GROUP           ospfv3LinkLsdbGroup
          DESCRIPTION
              "This group is required for OSPFv3 systems that
              display their Link-scope link state database
              for non-virtual interfaces."
          
          GROUP           ospfv3VirtLinkLsdbGroup
          DESCRIPTION
              "This group is required for OSPFv3 systems that
              display their Link-scope link state database
              for virtual interfaces."
          
          GROUP           ospfv3HostGroup
          DESCRIPTION
              "This group is required for OSPFv3 systems that
              support attached hosts."
          
          GROUP           ospfv3NotificationObjectGroup
          DESCRIPTION
              "This group is required for OSPFv3 systems that
              support OSPFv3 notifications."
          
          GROUP           ospfv3NotificationGroup
          DESCRIPTION
              "This group is required for OSPFv3 systems that
              support OSPFv3 notifications."

OBJECT ospfv3RouterId
MIN-ACCESS read-only

DESCRIPTION

"Write access is not required."

          OBJECT ospfv3AdminStatus
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3ExtAreaLsdbLimit
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3ExitOverflowInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3DemandExtensions
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3ReferenceBandwidth
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3RestartSupport
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3RestartInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3RestartStrictLsaChecking
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3NotificationEnable
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3StubRouterAdvertisement
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3AreaImportAsExtern
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3AreaSummary
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3AreaRowStatus
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3AreaStubMetric
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3AreaNssaTranslatorRole
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3AreaNssaTranslatorStabInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3AreaStubMetricType
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3AreaTEEnabled
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3HostMetric
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3HostRowStatus
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3HostAreaID
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfAreaId
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfType
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfAdminStatus
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfRtrPriority
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfTransitDelay
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfRetransInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfHelloInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfRtrDeadInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfPollInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfRowStatus
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfDemand
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfMetricValue
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfDemandNbrProbe
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfDemandNbrProbeRetransLimit
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfDemandNbrProbeInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfTEDisabled
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3IfLinkLSASuppression
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3VirtIfTransitDelay
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3VirtIfRetransInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3VirtIfHelloInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3VirtIfRtrDeadInterval
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3VirtIfRowStatus
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3CfgNbrPriority
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3CfgNbrRowStatus
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3AreaAggregateRowStatus
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
          
          OBJECT ospfv3AreaAggregateEffect
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
       
          OBJECT ospfv3AreaAggregateRouteTag
          MIN-ACCESS read-only
          DESCRIPTION
               "Write access is not required."
       ::= { ospfv3Compliances 2 }

-- units of conformance

ospfv3BasicGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3RouterId,
                            ospfv3AdminStatus,
                            ospfv3VersionNumber,
                            ospfv3AreaBdrRtrStatus,
                            ospfv3ASBdrRtrStatus,
                            ospfv3AsScopeLsaCount,
                            ospfv3AsScopeLsaCksumSum,
                            ospfv3OriginateNewLsas,
                            ospfv3RxNewLsas,
                            ospfv3ExtLsaCount,
                            ospfv3ExtAreaLsdbLimit,
                            ospfv3ExitOverflowInterval,
                            ospfv3DemandExtensions,
                            ospfv3ReferenceBandwidth,
                            ospfv3RestartSupport,
                            ospfv3RestartInterval,
                            ospfv3RestartStrictLsaChecking,
                            ospfv3RestartStatus,
                            ospfv3RestartAge,
                            ospfv3RestartExitReason,
                            ospfv3NotificationEnable,
                            ospfv3StubRouterSupport,
                            ospfv3StubRouterAdvertisement,
                            ospfv3DiscontinuityTime,
                            ospfv3RestartTime
                            }
            STATUS          current
            DESCRIPTION
                "These objects are used for managing/monitoring
                OSPFv3 global parameters."
            ::= { ospfv3Groups 1 }

ospfv3AreaGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3AreaImportAsExtern,
                            ospfv3AreaSpfRuns,
                            ospfv3AreaBdrRtrCount,
                            ospfv3AreaAsBdrRtrCount,
                            ospfv3AreaScopeLsaCount,
                            ospfv3AreaScopeLsaCksumSum,
                            ospfv3AreaSummary,
                            ospfv3AreaRowStatus,
                            ospfv3AreaStubMetric,
                            ospfv3AreaNssaTranslatorRole,
                            ospfv3AreaNssaTranslatorState,
                            ospfv3AreaNssaTranslatorStabInterval,
                            ospfv3AreaNssaTranslatorEvents,
                            ospfv3AreaStubMetricType,
                            ospfv3AreaTEEnabled
                            }
            STATUS          current
            DESCRIPTION
                "These objects are used for OSPFv3 systems
                supporting areas."
            ::= { ospfv3Groups 2 }

ospfv3AsLsdbGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3AsLsdbSequence,
                            ospfv3AsLsdbAge,
                            ospfv3AsLsdbChecksum,
                            ospfv3AsLsdbAdvertisement,
                            ospfv3AsLsdbTypeKnown
                            }
            STATUS          current
            DESCRIPTION
                "These objects are used for OSPFv3 systems
                that display their AS-scope link state database."
            ::= { ospfv3Groups 3 }

ospfv3AreaLsdbGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3AreaLsdbSequence,
                            ospfv3AreaLsdbAge,
                            ospfv3AreaLsdbChecksum,
            
                            ospfv3AreaLsdbAdvertisement,
                            ospfv3AreaLsdbTypeKnown
                            }
            STATUS          current
            DESCRIPTION
                "These objects are used for OSPFv3 systems
                that display their Area-scope link state database."
            ::= { ospfv3Groups 4 }

ospfv3LinkLsdbGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3LinkLsdbSequence,
                            ospfv3LinkLsdbAge,
                            ospfv3LinkLsdbChecksum,
                            ospfv3LinkLsdbAdvertisement,
                            ospfv3LinkLsdbTypeKnown
                            }
            STATUS          current
            DESCRIPTION
                "These objects are used for OSPFv3 systems
                that display their Link-scope link state database
                for non-virtual interfaces."
            ::= { ospfv3Groups 5 }

ospfv3HostGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3HostMetric,
                            ospfv3HostRowStatus,
                            ospfv3HostAreaID
                            }
            STATUS          current
            DESCRIPTION
                "These objects are used for OSPFv3 systems
                that support attached hosts."
            ::= { ospfv3Groups 6 }

ospfv3IfGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3IfAreaId,
                            ospfv3IfType,
                            ospfv3IfAdminStatus,
                            ospfv3IfRtrPriority,
                            ospfv3IfTransitDelay,
                            ospfv3IfRetransInterval,
                            ospfv3IfHelloInterval,
                            ospfv3IfRtrDeadInterval,
                            ospfv3IfPollInterval,
                            ospfv3IfState,
            
                            ospfv3IfDesignatedRouter,
                            ospfv3IfBackupDesignatedRouter,
                            ospfv3IfEvents,
                            ospfv3IfRowStatus,
                            ospfv3IfDemand,
                            ospfv3IfMetricValue,
                            ospfv3IfLinkScopeLsaCount,
                            ospfv3IfLinkLsaCksumSum,
                            ospfv3IfDemandNbrProbe,
                            ospfv3IfDemandNbrProbeRetransLimit,
                            ospfv3IfDemandNbrProbeInterval,
                            ospfv3IfTEDisabled,
                            ospfv3IfLinkLSASuppression
                            }
            STATUS          current
            DESCRIPTION
                "These interface objects are used for
                managing/monitoring OSPFv3 interfaces."
            ::= { ospfv3Groups 7 }

ospfv3VirtIfGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3VirtIfIndex,
                            ospfv3VirtIfInstId,
                            ospfv3VirtIfTransitDelay,
                            ospfv3VirtIfRetransInterval,
                            ospfv3VirtIfHelloInterval,
                            ospfv3VirtIfRtrDeadInterval,
                            ospfv3VirtIfState,
                            ospfv3VirtIfEvents,
                            ospfv3VirtIfRowStatus,
                            ospfv3VirtIfLinkScopeLsaCount,
                            ospfv3VirtIfLinkLsaCksumSum
                            }
            STATUS          current
            DESCRIPTION
                "These virtual interface objects are used for
                managing/monitoring OSPFv3 virtual interfaces."
            ::= { ospfv3Groups 8 }

ospfv3NbrGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3NbrAddressType,
                            ospfv3NbrAddress,
                            ospfv3NbrOptions,
                            ospfv3NbrPriority,
                            ospfv3NbrState,
                            ospfv3NbrEvents,
            
                            ospfv3NbrLsRetransQLen,
                            ospfv3NbrHelloSuppressed,
                            ospfv3NbrIfId,
                            ospfv3NbrRestartHelperStatus,
                            ospfv3NbrRestartHelperAge,
                            ospfv3NbrRestartHelperExitReason
                            }
            STATUS          current
            DESCRIPTION
                "These neighbor objects are used for
                managing/monitoring OSPFv3 neighbors."
            ::= { ospfv3Groups 9 }

ospfv3CfgNbrGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3CfgNbrPriority,
                            ospfv3CfgNbrRowStatus
                            }
            STATUS          current
            DESCRIPTION
                "These configured neighbor objects are used for
                managing/monitoring OSPFv3-configured neighbors."
            ::= { ospfv3Groups 10 }

ospfv3VirtNbrGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3VirtNbrIfIndex,
                            ospfv3VirtNbrIfInstId,
                            ospfv3VirtNbrAddressType,
                            ospfv3VirtNbrAddress,
                            ospfv3VirtNbrOptions,
                            ospfv3VirtNbrState,
                            ospfv3VirtNbrEvents,
                            ospfv3VirtNbrLsRetransQLen,
                            ospfv3VirtNbrHelloSuppressed,
                            ospfv3VirtNbrIfId,
                            ospfv3VirtNbrRestartHelperStatus,
                            ospfv3VirtNbrRestartHelperAge,
                            ospfv3VirtNbrRestartHelperExitReason
                            }
            STATUS          current
            DESCRIPTION
                "These virtual neighbor objects are used for
                managing/monitoring OSPFv3 virtual neighbors."
            ::= { ospfv3Groups 11 }

ospfv3AreaAggregateGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3AreaAggregateRowStatus,
                            ospfv3AreaAggregateEffect,
                            ospfv3AreaAggregateRouteTag
                            }
            STATUS          current
            DESCRIPTION
                "These area aggregate objects are required for
                aggregating OSPFv3 prefixes for summarization
                across areas."
            ::= { ospfv3Groups 12 }

ospfv3VirtLinkLsdbGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3VirtLinkLsdbSequence,
                            ospfv3VirtLinkLsdbAge,
                            ospfv3VirtLinkLsdbChecksum,
                            ospfv3VirtLinkLsdbAdvertisement,
                            ospfv3VirtLinkLsdbTypeKnown
                            }
            STATUS          current
            DESCRIPTION
                "These objects are used for OSPFv3 systems
                that display their Link-scope link state database
                for virtual interfaces."
            ::= { ospfv3Groups 13 }

ospfv3NotificationObjectGroup OBJECT-GROUP

            OBJECTS         {
                            ospfv3ConfigErrorType,
                            ospfv3PacketType,
                            ospfv3PacketSrc
                            }
            STATUS          current
            DESCRIPTION
                "These objects are used to record notification
                parameters."
            ::= { ospfv3Groups 14 }

ospfv3NotificationGroup NOTIFICATION-GROUP

            NOTIFICATIONS   {
                            ospfv3VirtIfStateChange,
                            ospfv3NbrStateChange,
                            ospfv3VirtNbrStateChange,
                            ospfv3IfConfigError,
                            ospfv3VirtIfConfigError,
                            ospfv3IfRxBadPacket,
            
                            ospfv3VirtIfRxBadPacket,
                            ospfv3LsdbOverflow,
                            ospfv3LsdbApproachingOverflow,
                            ospfv3IfStateChange,
                            ospfv3NssaTranslatorStatusChange,
                            ospfv3RestartStatusChange,
                            ospfv3NbrRestartHelperStatusChange,
                            ospfv3VirtNbrRestartHelperStatusChange
                            }
            STATUS          current
            DESCRIPTION
                "This group is used for OSPFv3 notifications."
            ::= { ospfv3Groups 15 }
    
    END

6. Security Considerations

There are a number of management objects defined in this MIB module with 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. Improper manipulation of the objects represented by this MIB module may result in disruption of network connectivity by administratively disabling the entire OSPFv3 entity or individual interfaces, by deleting configured neighbors, by reducing the limit on External LSAs, by changing ASBR status, by manipulating route aggregation, by manipulating interface and route metrics, by changing Hello interval or dead interval, or by changing interface type. Remote monitoring can be defeated by disabling of SNMP notifications. Performance can be impacted by increasing the limit on External LSAs or changing DR/BDR (Designated Router / Backup Designated Router) priority.

Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. Unauthorized access to readable objects in this MIB module allows the discovery of the network topology and operating parameters, which can be used to target further attacks on the network or to gain a competitive business advantage.

SNMP versions prior to SNMPv3 did not include adequate security. 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 module.

It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).

Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module 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.

7. IANA Considerations

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

        Descriptor        OBJECT IDENTIFIER value
        ----------        -----------------------
        
        ospfv3MIB           { mib-2 191 }

8. Acknowledgements

This document is based on the MIB for OSPF version 2 [RFC4750]. The editors would like to thank Toshiaki Takada, Ramachandran Radhakrishnan, Harikrishna Golapalli, Mahesh Kurapati, Acee Lindem, Keith McCloghrie, Manish Gupta, Nic Neate, Vanitha N., Vivek Dubey, Ramana Koppula, Boris Benenson, and Hong Zhang for their constructive comments. Special thanks to Joan Cucchiara for her thorough review as the MIB Doctor.

9. References

9.1. Normative References

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

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

   [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
             "Structure of Management Information Version 2 (SMIv2)",
             STD 58, RFC 2578, April 1999.
   
   [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual
             Conventions for SMIv2", STD 58, RFC 2579, April 1999.
   
   [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
             "Conformance Statements for SMIv2", STD 58, RFC 2580, April
             1999.
   
   [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for
             IPv6", RFC 5340, July 2008.
   
   [RFC4293] Routhier, S., Ed., "Management Information Base for the
             Internet Protocol (IP)", RFC 4293, April 2006.
   
   [RFC4750] Joyal, D., Ed., Galecki, P., Ed., Giacalone, S., Ed.,
             Coltun, R., and F. Baker, "OSPF Version 2 Management
             Information Base", RFC 4750, December 2006.

9.2. Informative References

   [RFC1224] Steinberg, L., "Techniques for managing asynchronously
             generated alerts", RFC 1224, May 1991.
   
   [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
             (IPv6) Specification", RFC 2460, December 1998.
   
   [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
             "Introduction and Applicability Statements for Internet-
             Standard Management Framework", RFC 3410, December 2002.
   
   [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
             Architecture for Describing Simple Network Management
             Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
             December 2002.
   
   [RFC3413] Levi, D., Meyer, P., and B. Stewart, "Simple Network
             Management Protocol (SNMP) Applications", STD 62, RFC 3413,
             December 2002.

Contributors' Addresses

   Jacek Kwiatkowski
   Intel Technology Poland
   ul. Slowackiego 173
   80-298 Gdansk, Poland
   EMail: jacek.kwiatkowski@intel.com
   
   Sebastian Zwolinski
   Intel Technology Poland
   ul. Slowackiego 173
   80-298 Gdansk, Poland
   EMail: sebastian.zwolinski@intel.com

Editors' Addresses

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

   Vishwas Manral
   IP Infusion
   Almora, Uttarakhand
   India
   EMail: vishwas@ipinfusion.com