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 (c) 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 }

END

