]> git.proxmox.com Git - mirror_frr.git/commitdiff
Merge remote branch 'vincentbernat/feature/ospfv3-mib'
authorDavid Lamparter <equinox@opensourcerouting.org>
Fri, 13 Jul 2012 12:05:55 +0000 (14:05 +0200)
committerDavid Lamparter <equinox@opensourcerouting.org>
Fri, 13 Jul 2012 12:05:58 +0000 (14:05 +0200)
ospf6d/OSPFv3-MIB.txt
ospf6d/ospf6_area.h
ospf6d/ospf6_interface.c
ospf6d/ospf6_interface.h
ospf6d/ospf6_neighbor.c
ospf6d/ospf6_neighbor.h
ospf6d/ospf6_snmp.c
ospf6d/ospf6_snmp.h
ospf6d/ospf6_spf.c

index 80e6cb2d35899a5d2f1042e2c12aedd5c2cda3b8..258f533ef41bd9fa5a354f7fd13dc1801629d21a 100644 (file)
-OSPFV3-MIB DEFINITIONS ::= BEGIN 
-IMPORTS 
-        MODULE-IDENTITY, OBJECT-TYPE, mib-2, experimental,
-        Counter32, Gauge32, Integer32, IpAddress, 
-        Unsigned32 
-                FROM SNMPv2-SMI 
-        TEXTUAL-CONVENTION, TruthValue, StorageType, RowStatus 
-                FROM SNMPv2-TC 
-        MODULE-COMPLIANCE, OBJECT-GROUP 
-                FROM SNMPv2-CONF 
-        InterfaceIndex 
-                FROM IF-MIB 
-        InetAddressType, InetAddress, InetAddressPrefixLength 
-                FROM INET-ADDRESS-MIB 
-        AreaID, RouterID, Metric, BigMetric, Status,  
-        HelloRange, DesignatedRouterPriority 
-                FROM OSPF-MIB; 
-
-ospfv3MIB MODULE-IDENTITY 
-        LAST-UPDATED "200404081200Z" 
-        ORGANIZATION "IETF OSPF Working Group" 
-        CONTACT-INFO 
-            "WG E-Mail: ospf@peach.ease.lsoft.com 
-             WG Chairs: John.Moy@sycamorenet.com   
-                        acee@redback.com 
-                        rohit@xebeo.com 
-             Dan Joyal 
-             Nortel Networks 
-             600 Technology Park Drive 
-             Billerica, MA  01821, USA 
-             djoyal@nortelnetworks.com 
-             Vishwas Manral 
-             SiNett Corporation 
-             2/1, First Floor 
-             Embassy Icon Annex 
-             Infantry Road 
-             Bangalore 560001 
-             vishwas@sinett.com" 
-         DESCRIPTION 
-             "The MIB module to describe OSPF version 3" 
-         REVISION "200404081200Z" 
-         DESCRIPTION -- RFC Editor assigns RFC xxxx 
-             "Initial version, published as RFC xxxx" 
-         ::= { experimental 102 } -- IANA assigns xx 
--- Texual conventions 
-UpToRefreshInterval ::= TEXTUAL-CONVENTION 
-         STATUS        current 
-         DESCRIPTION 
-            "The values one might be able to configure for                  
-            variables bounded by the Refresh Interval" 
-         SYNTAX        Integer32 (1..1800) 
-RouterDeadRange ::= TEXTUAL-CONVENTION 
-         STATUS        current 
-         DESCRIPTION 
-            "The range of intervals in seconds that a routers hello 
-            must have not been seen before a neighbor declares the 
-            router down" 
-         SYNTAX        Integer32 (1..'FFFF'h) 
-
--- Top-level structure of MIB 
-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         RouterID 
-        MAX-ACCESS     read-write 
-        STATUS         current 
-        DESCRIPTION 
-            "A  32-bit  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 interface addresses if IPv4 is 
-            configured on the router." 
-        ::= { ospfv3GeneralGroup 1 } 
-ospfv3AdminStat 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  inter- 
-            face;  'disabled'  disables  it  on  all inter- 
-            faces." 
-        ::= { 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 note whether this 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  config- 
-            ured as an Autonomous System border router." 
-        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          Integer32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The 32-bit unsigned sum of the LS checksums of 
-            the  AS-scoped link-state advertisements  con- 
-            tained in the link-state database. This sum 
-            can  be  used  to determine if there has been a 
-            change in a router's link state  database,  and 
-            to  compare  the  link-state  database  of  two 
-            routers." 
-        ::= { 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 in- 
-            cremented each time the router originates a new 
-            LSA." 
-        ::= { ospfv3GeneralGroup 8 } 
-ospfv3RxNewLsas OBJECT-TYPE 
-        SYNTAX          Counter32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The number of  link-state  advertisements  re- 
-            ceived  determined  to  be  new instantiations. 
-            This number does not include  newer  instantia- 
-            tions  of self-originated link-state advertise- 
-            ments." 
-        ::= { 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-LSAs entries that can be stored in the 
-            link-state database.  If the value is -1, then 
-            there is no limit. 
-            When the number of non-default AS-external-LSAs 
-            in   a  router's  link-state  database  reaches 
-            ospfv3ExtAreaLsdbLimit, the router  enters  Overflow- 
-            State.   The   router  never  holds  more  than 
-            ospfv3ExtAreaLsdbLimit  non-default  AS-external-LSAs 
-            in  its  database. OspfExtAreaLsdbLimit MUST be set 
-            identically in all routers attached to the OSPFv3 
-            backbone  and/or  any regular OSPFv3 area. (i.e., 
-            OSPFv3 stub areas and NSSAs are excluded)." 
-        ::= { ospfv3GeneralGroup 11 } 
-ospfv3MulticastExtensions OBJECT-TYPE 
-        SYNTAX          BITS { 
-                                 intraAreaMulticast(0), 
-                                 interAreaMulticast(1), 
-                                 interAsMulticast(2) 
-                             } 
-                                     
-        MAX-ACCESS      read-write 
-        STATUS          current 
-        DESCRIPTION 
-            "A Bit Mask indicating whether the router is 
-            forwarding IPv6 multicast datagrams 
-            based on the algorithms defined in the  Multi- 
-            cast Extensions to OSPF. 
-            If intraAreaMulticast set, indicates that the router 
-            can forward  IPv6 multicast datagrams in the router's 
-            directly attached areas (called intra-area mul- 
-            ticast routing). 
-            If interAreaMulticast set, indicates that the router 
-            can forward IPv6 multicast datagrams between OSPFv3 
-            areas (called inter-area multicast routing). 
-            If interAsMulticast set, indicates that the router can 
-            forward  IPv6  multicast datagrams between Auto- 
-            nomous Systems (called inter-AS multicast rout- 
-            ing). 
-            Only certain combinations of bit settings are 
-            allowed, namely: 
-                    - All bits cleared (no multicasting) 
-                    - intraAreaMulticast only, 
-                    - intraAreaMulticast and interAreaMulticast, 
-                    - intraAreaMulticast and interAsMulticast 
-                    - intraAreaMulticast, interAreaMulticast and 
-                            interAsMulticast 
-            By default, all bits are cleared." 
-        ::= { ospfv3GeneralGroup 12 } 
-ospfv3ExitOverflowInterval OBJECT-TYPE 
-        SYNTAX          Unsigned32 
-        UNITS           "seconds" 
-        MAX-ACCESS      read-write 
-        STATUS          current 
-        DESCRIPTION 
-            "The number of  seconds  that,  after  entering 
-            OverflowState,  a  router will attempt to leave 
-            OverflowState. This allows the router to  again 
-            originate  non-default  AS-External-LSAs.  When 
-            set to 0, the router will not  leave  Overflow- 
-            State until restarted." 
-        ::= { ospfv3GeneralGroup 13 } 
-ospfv3DemandExtensions OBJECT-TYPE 
-        SYNTAX         TruthValue 
-        MAX-ACCESS     read-write 
-        STATUS         current 
-        DESCRIPTION 
-            "The router's support for demand routing." 
-        REFERENCE 
-            "OSPF Version 2, Appendix on Demand Routing" 
-        ::= { ospfv3GeneralGroup 14 } 
-ospfv3TrafficEngineeringSupport OBJECT-TYPE 
-        SYNTAX          TruthValue 
-        MAX-ACCESS      read-write 
-        STATUS          current 
-        DESCRIPTION 
-            "The router's support for traffic engineering 
-            extensions." 
-        ::= { ospfv3GeneralGroup 15 } 
-ospfv3ReferenceBandwidth OBJECT-TYPE  
-       SYNTAX       Unsigned32  
-       MAX-ACCESS   read-write  
-       STATUS       current  
-       DESCRIPTION  
-          "Reference bandwidth in kilobits/second for  
-          calculating default interface metrics. The  
-          default value is 100,000 KBPS (100 MBPS)"  
-    ::= { ospfv3GeneralGroup 16 } 
-ospfv3RestartSupport OBJECT-TYPE  
-       SYNTAX       INTEGER { none (1),  
-                              plannedOnly (2),  
-                              plannedAndUnplanned (3)  
-                         } 
-       MAX-ACCESS   read-write  
-       STATUS       current  
-       DESCRIPTION  
-          "The router's support for OSPF hitless restart.  
-          Options include: no restart support, only planned  
-          restarts or both planned and unplanned restarts."  
-       ::= { ospfv3GeneralGroup 17 }  
-    
-ospfv3RestartInterval OBJECT-TYPE  
-       SYNTAX       UpToRefreshInterval 
-       UNITS        "seconds"  
-       MAX-ACCESS   read-write  
-       STATUS       current  
-       DESCRIPTION  
-          "Configured OSPF hitless restart timeout interval."  
-       ::= { ospfv3GeneralGroup 18 }  
-    
-ospfv3RestartStatus OBJECT-TYPE  
-       SYNTAX       INTEGER { notRestarting (1),  
-                              plannedRestart (2),  
-                              unplannedRestart (3)  
-                            }  
-       MAX-ACCESS   read-only  
-       STATUS       current  
-       DESCRIPTION  
-          "Current status of OSPF hitless restart."  
-       ::= { ospfv3GeneralGroup 19 }  
-    
-ospfv3RestartAge OBJECT-TYPE  
-       SYNTAX       UpToRefreshInterval 
-       UNITS        "seconds"  
-       MAX-ACCESS   read-only  
-       STATUS       current  
-       DESCRIPTION  
-          "Remaining time in current OSPF hitless restart  
-          interval."  
-       ::= { ospfv3GeneralGroup 20 }  
-    
-ospfv3RestartExitReason OBJECT-TYPE  
-       SYNTAX       INTEGER { none (1),           -- none attempted  
-                              inProgress (2),     -- restart in  
-                                                  -- progress  
-                              completed (3),      -- successfully  
-                                                  -- completed  
-                              timedOut (4),       -- timed out  
-                              topologyChanged (5) -- aborted due to  
-                                                  -- topologychange.  
-                            }  
-       MAX-ACCESS   read-only  
-       STATUS       current  
-       DESCRIPTION  
-          "Describes the outcome of the last attempt at a  
-          hitless restart. If the value is 'none', no restart  
-           has yet been attempted. If the value is 'inProgress',  
-          a restart attempt is currently underway."  
-    ::= { ospfv3GeneralGroup 21 } 
--- 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.0.0.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  parame- 
-            ters  and cumulative statistics of the router's 
-            attached areas." 
-        REFERENCE 
-            "OSPF Version 2, Section 6 The Area Data Struc- 
-            ture" 
-        ::= { ospfv3Objects 2 } 
-ospfv3AreaEntry OBJECT-TYPE 
-        SYNTAX          Ospfv3AreaEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "Information describing the configured parame- 
-            ters and cumulative statistics of one of the 
-            router's attached areas." 
-        INDEX           { ospfv3AreaId } 
-        ::= { ospfv3AreaTable 1 } 
-Ospfv3AreaEntry ::= SEQUENCE { 
-        ospfv3AreaId 
-                AreaID, 
-        ospfv3ImportAsExtern 
-                INTEGER, 
-        ospfv3AreaSpfRuns 
-                Counter32, 
-        ospfv3AreaBdrRtrCount 
-                Gauge32, 
-        ospfv3AreaAsBdrRtrCount 
-                Gauge32, 
-        ospfv3AreaScopeLsaCount 
-                Gauge32, 
-        ospfv3AreaScopeLsaCksumSum 
-                Integer32, 
-        ospfv3AreaSummary 
-                INTEGER, 
-        ospfv3AreaStatus 
-                RowStatus, 
-        ospfv3StubMetric 
-                BigMetric, 
-        ospfv3AreaNssaTranslatorRole 
-                INTEGER, 
-        ospfv3AreaNssaTranslatorState 
-                INTEGER, 
-        ospfv3AreaNssaTranslatorStabilityInterval 
-                Unsigned32, 
-        ospfv3AreaNssaTranslatorEvents 
-                Counter32, 
-        ospfv3AreaStubMetricType 
-                INTEGER 
-        } 
-ospfv3AreaId OBJECT-TYPE 
-        SYNTAX          AreaID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "A 32-bit integer uniquely identifying an area. 
-            Area ID 0.0.0.0 is used for the OSPFv3 backbone." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.2 Area parameters" 
-        ::= { ospfv3AreaEntry 1 } 
-ospfv3ImportAsExtern 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 Type-7 
-            LSAs which 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." 
-        ::= { ospfv3AreaEntry 3 } 
-ospfv3AreaBdrRtrCount OBJECT-TYPE 
-        SYNTAX          Gauge32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The total number of area border routers reach- 
-            able within this area.  This is initially zero, 
-            and is calculated in each SPF Pass." 
-        ::= { 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." 
-        ::= { 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." 
-        ::= { ospfv3AreaEntry 6 } 
-ospfv3AreaScopeLsaCksumSum OBJECT-TYPE 
-        SYNTAX          Integer32 
-        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, and 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  im- 
-            port  of  Inter-Area LSAs into stub 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 area.  It will rely entirely  on  its  de- 
-            fault route. 
-            If it is sendAreaSummary, the router will  both 
-            summarize and propagate Inter-Area LSAs." 
-        DEFVAL   { sendAreaSummary } 
-        ::= { ospfv3AreaEntry 8 } 
-ospfv3AreaStatus OBJECT-TYPE 
-        SYNTAX          RowStatus 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "This variable controls the status of  the  en- 
-            try. The use of RowStatus is covered in more detail 
-            in [6]." 
-        ::= { ospfv3AreaEntry 9 } 
-ospfv3StubMetric OBJECT-TYPE 
-        SYNTAX          BigMetric 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The metric value advertised for the default route 
-             into Stub and NSSA 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 ability to 
-            perform NSSA translation of type-7 LSAs into 
-            type-5 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 type-7 LSAs into type-5 
-             LSAs. When this object is set to enabled, the NSSA 
-             Border router's ospfv3AreaNssTranslatorRole 
-             has been set to always. When this object is set to 
-             elected, a candidate NSSA Border router is translating 
-             type-7 LSAs into type-5. When this object is set to 
-             disabled, a candidate NSSA Border router is NOT 
-             translating type-7 LSAs into type-5." 
-        ::= { ospfv3AreaEntry 12 } 
-ospfv3AreaNssaTranslatorStabilityInterval OBJECT-TYPE 
-        SYNTAX          Unsigned32 
-        UNITS           "seconds" 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The number of seconds after an elected translator 
-            determines its services are no longer required, that 
-            it should continue to perform its translation duties." 
-        DEFVAL { 40 } 
-        ::= { 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 boot-up." 
-        ::= { 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 displays the type of metric ad- 
-           vertised as a default route." 
-        DEFVAL { ospfv3Metric } 
-        ::= { ospfv3AreaEntry 15 } 
-
--- OSPFv3 AS-Scope Link State Database 
--- The Link State Database contains the AS-Scope Link State 
--- Advertisements from throughout the areas that the 
--- device is attached to. 
-ospfv3AsLsdbTable OBJECT-TYPE 
-        SYNTAX          SEQUENCE OF Ospfv3AsLsdbEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "The OSPFv3 Process's AS-Scope Link State Database." 
-        ::= { 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 
-                RouterID, 
-        ospfv3AsLsdbLsid 
-                IpAddress, 
-        ospfv3AsLsdbSequence 
-                Integer32, 
-        ospfv3AsLsdbAge 
-                Integer32, 
-        ospfv3AsLsdbChecksum 
-                Integer32, 
-        ospfv3AsLsdbAdvertisement 
-                OCTET STRING, 
-        ospfv3AsLsdbTypeKnown 
-                TruthValue 
-        } 
-ospfv3AsLsdbType OBJECT-TYPE 
-        SYNTAX          Unsigned32 (0..4294967295)
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The type of the link state advertisement. 
-            Each link state type has a separate advertise- 
-            ment format. AS-Scope LSAs not recognized by 
-            the router may be stored in the database." 
-        ::= { ospfv3AsLsdbEntry 1 } 
-ospfv3AsLsdbRouterId OBJECT-TYPE 
-        SYNTAX          RouterID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The 32 bit number that uniquely identifies the 
-            originating router in the Autonomous System." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.1 Global parameters" 
-        ::= { ospfv3AsLsdbEntry 2 } 
-ospfv3AsLsdbLsid OBJECT-TYPE 
-        SYNTAX          IpAddress 
-        MAX-ACCESS      read-only 
-        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          Integer32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The sequence number field is a  signed  32-bit 
-            integer.   It  is used to detect old and dupli- 
-            cate link state advertisements.  The  space  of 
-            sequence  numbers  is  linearly  ordered.   The 
-            larger the sequence number the more recent  the 
-            advertisement." 
-        REFERENCE 
-            "OSPF Version  2,  Section  12.1.6  LS  sequence 
-            number" 
-        ::= { ospfv3AsLsdbEntry 4 } 
-ospfv3AsLsdbAge OBJECT-TYPE 
-        SYNTAX          Integer32 -- Should be 0..MaxAge 
-                                  -- unless DoNotAge bit is set 
-        UNITS           "seconds" 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "This field is the age of the link state adver- 
-            tisement in seconds." 
-        REFERENCE 
-            "OSPF Version 2, Section 12.1.1 LS age" 
-        ::= { 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 connec- 
-            tionless 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 
-            "Is the LSA type recognized by this Router?" 
-        ::= { ospfv3AsLsdbEntry 8 } 
--- OSPFv3 Area-Scope Link State Database 
--- The Link State Database contains the Area-Scope Link State 
--- Advertisements from throughout the area that the 
--- device is attached to. 
-ospfv3AreaLsdbTable OBJECT-TYPE 
-        SYNTAX          SEQUENCE OF Ospfv3AreaLsdbEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "The OSPFv3 Process's Area-Scope Link State Database." 
-        ::= { 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 
-                AreaID, 
-        ospfv3AreaLsdbType 
-                Unsigned32, 
-        ospfv3AreaLsdbRouterId 
-                RouterID, 
-        ospfv3AreaLsdbLsid 
-                IpAddress, 
-        ospfv3AreaLsdbSequence 
-                Integer32, 
-        ospfv3AreaLsdbAge 
-                Integer32, 
-        ospfv3AreaLsdbChecksum 
-                Integer32, 
-        ospfv3AreaLsdbAdvertisement 
-                OCTET STRING, 
-        ospfv3AreaLsdbTypeKnown 
-                TruthValue 
-        } 
-ospfv3AreaLsdbAreaId OBJECT-TYPE 
-        SYNTAX          AreaID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The 32 bit identifier of the Area from which the 
-            LSA was received." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.2 Area parameters" 
-        ::= { ospfv3AreaLsdbEntry 1 } 
-ospfv3AreaLsdbType OBJECT-TYPE 
-        SYNTAX          Unsigned32 (0..4294967295)
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The type  of  the  link  state  advertisement. 
-            Each  link state type has a separate advertise- 
-            ment format. Area-Scope LSAs unrecognized by the 
-            router are also stored in this database." 
-        ::= { ospfv3AreaLsdbEntry 2 } 
-ospfv3AreaLsdbRouterId OBJECT-TYPE 
-        SYNTAX          RouterID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The 32 bit number that uniquely identifies the 
-            originating router in the Autonomous System." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.1 Global parameters" 
-        ::= { ospfv3AreaLsdbEntry 3 } 
-ospfv3AreaLsdbLsid OBJECT-TYPE 
-        SYNTAX          IpAddress 
-        MAX-ACCESS      read-only 
-        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          Integer32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The sequence number field is a  signed  32-bit 
-            integer.   It  is used to detect old and dupli- 
-            cate link state advertisements.  The  space  of 
-            sequence  numbers  is  linearly  ordered.   The 
-            larger the sequence number the more recent  the 
-            advertisement." 
-        REFERENCE 
-            "OSPF Version  2,  Section  12.1.6  LS  sequence 
-            number" 
-        ::= { ospfv3AreaLsdbEntry 5 } 
-ospfv3AreaLsdbAge OBJECT-TYPE 
-        SYNTAX          Integer32 -- Should be 0..MaxAge 
-                                  -- unless DoNotAge bit is set 
-        UNITS           "seconds" 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "This field is the age of the link state adver- 
-            tisement in seconds." 
-        REFERENCE 
-            "OSPF Version 2, Section 12.1.1 LS age" 
-        ::= { 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 connec- 
-            tionless 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 
-            "Is the LSA type recognized by this Router?" 
-        ::= { ospfv3AreaLsdbEntry 9 } 
--- OSPFv3 Link-Scope Link State Database 
--- The Link State Database contains the Link-Scope Link State 
--- Advertisements from the links that the 
--- device is attached to. 
-ospfv3LinkLsdbTable OBJECT-TYPE 
-        SYNTAX          SEQUENCE OF Ospfv3LinkLsdbEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "The OSPFv3 Process's Link-Scope Link State Database." 
-        ::= { ospfv3Objects 5 } 
-ospfv3LinkLsdbEntry OBJECT-TYPE 
-        SYNTAX          Ospfv3LinkLsdbEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "A single Link-Scope Link State Advertisement." 
-        INDEX           { ospfv3LinkLsdbIfIndex, 
-                          ospfv3LinkLsdbType, 
-                          ospfv3LinkLsdbRouterId, 
-                          ospfv3LinkLsdbLsid } 
-        ::= { ospfv3LinkLsdbTable 1 } 
-Ospfv3LinkLsdbEntry ::= SEQUENCE { 
-        ospfv3LinkLsdbIfIndex 
-                InterfaceIndex, 
-        ospfv3LinkLsdbType 
-                Unsigned32, 
-        ospfv3LinkLsdbRouterId 
-                RouterID, 
-        ospfv3LinkLsdbLsid 
-                IpAddress, 
-        ospfv3LinkLsdbSequence 
-                Integer32, 
-        ospfv3LinkLsdbAge 
-                Integer32, 
-        ospfv3LinkLsdbChecksum 
-                Integer32, 
-        ospfv3LinkLsdbAdvertisement 
-                OCTET STRING, 
-        ospfv3LinkLsdbTypeKnown 
-                TruthValue 
-        } 
-ospfv3LinkLsdbIfIndex OBJECT-TYPE 
-        SYNTAX         InterfaceIndex 
-        MAX-ACCESS     read-only 
-        STATUS         current 
-        DESCRIPTION 
-            "The identifier of the link from which the LSA 
-            was received." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.2 Area parameters" 
-        ::= { ospfv3LinkLsdbEntry 1 } 
-ospfv3LinkLsdbType OBJECT-TYPE 
-        SYNTAX          Unsigned32 (0..4294967295)
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The type of the link state advertisement. 
-            Each link state type has a separate advertise- 
-            ment format. Link-Scope LSAs unrecognized by the 
-            router are also stored in this database." 
-        ::= { ospfv3LinkLsdbEntry 2 } 
-ospfv3LinkLsdbRouterId OBJECT-TYPE 
-        SYNTAX          RouterID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The 32 bit number that uniquely identifies the 
-            originating router in the Autonomous System." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.1 Global parameters" 
-        ::= { ospfv3LinkLsdbEntry 3 } 
-ospfv3LinkLsdbLsid OBJECT-TYPE 
-        SYNTAX        IpAddress 
-        MAX-ACCESS    read-only 
-        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." 
-        ::= { ospfv3LinkLsdbEntry 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. 
-ospfv3LinkLsdbSequence OBJECT-TYPE 
-        SYNTAX          Integer32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The sequence number field is a  signed  32-bit 
-            integer.   It  is used to detect old and dupli- 
-            cate link state advertisements.  The  space  of 
-            sequence  numbers  is  linearly  ordered.   The 
-            larger the sequence number the more recent  the 
-            advertisement." 
-        REFERENCE 
-            "OSPF Version  2,  Section  12.1.6  LS  sequence 
-            number" 
-        ::= { ospfv3LinkLsdbEntry 5 } 
-ospfv3LinkLsdbAge OBJECT-TYPE 
-        SYNTAX          Integer32 -- Should be 0..MaxAge 
-                                  -- unless DoNotAge bit is set 
-        UNITS           "seconds" 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "This field is the age of the link state 
-            advertisement in seconds." 
-        REFERENCE 
-            "OSPF Version 2, Section 12.1.1 LS age" 
-        ::= { ospfv3LinkLsdbEntry 6 } 
-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 connec- 
-            tionless datagrams; it is commonly referred  to 
-            as the Fletcher checksum." 
-        REFERENCE 
-            "OSPF Version 2, Section 12.1.7 LS checksum" 
-        ::= { ospfv3LinkLsdbEntry 7 } 
-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 8 } 
-ospfv3LinkLsdbTypeKnown OBJECT-TYPE 
-        SYNTAX          TruthValue 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "Indicates whether the LSA type is recognized by this 
-             Router." 
-        ::= { ospfv3LinkLsdbEntry 9 } 
--- OSPF Host Table 
--- The Host/Metric Table indicates what hosts are directly 
--- attached to the Router, and what metrics and types of 
--- service should be advertised for them. 
-ospfv3HostTable OBJECT-TYPE 
-        SYNTAX          SEQUENCE OF Ospfv3HostEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "The list of Hosts, and their metrics, that the 
-            router will advertise as host routes." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.6  Host route param- 
-            eters" 
-        ::= { 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." 
-        INDEX           { ospfv3HostAddressType, 
-                          ospfv3HostAddress } 
-        ::= { ospfv3HostTable 1 } 
-Ospfv3HostEntry ::= SEQUENCE { 
-        ospfv3HostAddressType 
-                InetAddressType, 
-        ospfv3HostAddress 
-                InetAddress, 
-        ospfv3HostMetric 
-                Metric, 
-        ospfv3HostStatus 
-                RowStatus, 
-        ospfv3HostAreaID 
-                AreaID 
-        } 
-ospfv3HostAddressType OBJECT-TYPE 
-        SYNTAX          InetAddressType 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The address type of ospfv3HostAddress. Only IPv6 
-            addresses without zone index are expected." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.6 Host route parame- 
-            ters" 
-        ::= { ospfv3HostEntry 1 } 
-ospfv3HostAddress OBJECT-TYPE 
-        SYNTAX          InetAddress (SIZE (16)) 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The IPv6 Address of the Host. Must be a Global 
-             or Site-local address." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.6 Host route parame- 
-            ters" 
-        ::= { 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.6 Host route parame- 
-            ters" 
-        ::= { ospfv3HostEntry 3 } 
-ospfv3HostStatus OBJECT-TYPE 
-        SYNTAX          RowStatus 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "This variable controls the status of  the  en- 
-            try. The use of RowStatus is covered in more detail 
-            in [6]." 
-        ::= { ospfv3HostEntry 4 } 
-ospfv3HostAreaID OBJECT-TYPE 
-        SYNTAX          AreaID 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The Area the Host Entry is to be found within. 
-            By  default, the area that a subsuming OSPFv3 in- 
-            terface is in, or 0.0.0.0" 
-        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  inter- 
-            faces from the viewpoint of OSPFv3." 
-        REFERENCE 
-            "OSPF Version 2, 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  inter- 
-            face from the viewpoint of OSPFv3." 
-        INDEX           { ospfv3IfIndex } 
-        ::= { ospfv3IfTable 1 } 
-Ospfv3IfEntry ::= SEQUENCE { 
-        ospfv3IfIndex 
-                InterfaceIndex, 
-        ospfv3IfAreaId 
-                AreaID, 
-        ospfv3IfType 
-                INTEGER, 
-        ospfv3IfAdminStat 
-                Status, 
-        ospfv3IfRtrPriority 
-                DesignatedRouterPriority, 
-        ospfv3IfTransitDelay 
-                UpToRefreshInterval, 
-        ospfv3IfRetransInterval 
-                UpToRefreshInterval, 
-        ospfv3IfHelloInterval 
-                HelloRange, 
-        ospfv3IfRtrDeadInterval 
-                 RouterDeadRange, 
-        ospfv3IfPollInterval 
-                Unsigned32, 
-        ospfv3IfState 
-                INTEGER, 
-        ospfv3IfDesignatedRouter 
-                RouterID, 
-        ospfv3IfBackupDesignatedRouter 
-                RouterID, 
-        ospfv3IfEvents 
-                Counter32, 
-        ospfv3IfStatus 
-                RowStatus, 
-        ospfv3IfMulticastForwarding 
-                INTEGER, 
-        ospfv3IfDemand 
-                TruthValue, 
-        ospfv3IfMetricValue 
-                Metric, 
-        ospfv3IfLinkScopeLsaCount 
-                Gauge32, 
-        ospfv3IfLinkLsaCksumSum 
-                Integer32, 
-        ospfv3IfInstId 
-                Integer32, 
-        ospfv3IfDemandNbrProbe 
-                TruthValue, 
-        ospfv3IfDemandNbrProbeRetxLimit  
-                Unsigned32, 
-        ospfv3IfDemandNbrProbeInterval  
-                Unsigned32 
-        } 
-ospfv3IfIndex OBJECT-TYPE 
-        SYNTAX          InterfaceIndex 
-        MAX-ACCESS      read-only 
-        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 } 
-ospfv3IfAreaId OBJECT-TYPE 
-        SYNTAX          AreaID 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "A 32-bit integer uniquely identifying the area 
-            to  which  the  interface  connects.   Area  ID 
-            0.0.0.0 is used for the OSPFv3 backbone." 
-        DEFVAL          { '00000000'H } -- 0.0.0.0 
-        ::= { ospfv3IfEntry 2 } 
-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 3 } 
-ospfv3IfAdminStat OBJECT-TYPE 
-        SYNTAX          Status 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The OSPFv3 interface's  administrative  status. 
-            The  value formed on the interface, and the in- 
-            terface will be advertised as an internal route 
-            to  some  area.   The  value 'disabled' denotes 
-            that the interface is external to OSPFv3." 
-        DEFVAL          { enabled } 
-        ::= { ospfv3IfEntry 4 } 
-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 eligi- 
-            ble to become the  designated  router  on  this 
-            particular  network.   In the event of a tie in 
-            this value, routers will use their Router ID as 
-            a tie breaker." 
-        DEFVAL          { 1 } 
-        ::= { ospfv3IfEntry 5 } 
-ospfv3IfTransitDelay OBJECT-TYPE 
-        SYNTAX          UpToRefreshInterval 
-        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 } 
-        ::= { ospfv3IfEntry 6 } 
-ospfv3IfRetransInterval OBJECT-TYPE 
-        SYNTAX          UpToRefreshInterval 
-        UNITS           "seconds" 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The number of seconds between  link-state  ad- 
-            vertisement  retransmissions,  for  adjacencies 
-            belonging to this  interface.   This  value  is 
-            also used when retransmitting database descrip- 
-            tion and link-state request packets." 
-        DEFVAL          { 5 } 
-        ::= { ospfv3IfEntry 7 } 
-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 in- 
-            terface.  This value must be the same  for  all 
-            routers attached to a common network." 
-        DEFVAL          { 10 } 
-        ::= { ospfv3IfEntry 8 } 
-ospfv3IfRtrDeadInterval OBJECT-TYPE 
-        SYNTAX          RouterDeadRange 
-        UNITS           "seconds" 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The number of seconds that  a  router's  Hello 
-            packets  have  not been seen before it's neigh- 
-            bors declare the router down.  This  should  be 
-            some  multiple  of  the  Hello  interval.  This 
-            value must be the same for all routers attached 
-            to a common network." 
-        DEFVAL          { 40 } 
-        ::= { ospfv3IfEntry 9 } 
-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 10 } 
-ospfv3IfState OBJECT-TYPE 
-        SYNTAX          INTEGER { 
-                        down(1), 
-                        loopback(2), 
-                        waiting(3), 
-                        pointToPoint(4), 
-                        designatedRouter(5), 
-                        backupDesignatedRouter(6), 
-                        otherDesignatedRouter(7) 
-                        } 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The OSPFv3 Interface State." 
-        ::= { ospfv3IfEntry 11 } 
-ospfv3IfDesignatedRouter OBJECT-TYPE 
-        SYNTAX          RouterID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The Router ID of the Designated Router." 
-        ::= { ospfv3IfEntry 12 } 
-ospfv3IfBackupDesignatedRouter OBJECT-TYPE 
-        SYNTAX          RouterID 
-        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  OSPF  interface  has 
-            changed its state, or an error has occurred." 
-        ::= { ospfv3IfEntry 15 } 
- ospfv3IfStatus OBJECT-TYPE 
-        SYNTAX          RowStatus 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "This variable controls the status of  the  en- 
-            try. The use of RowStatus is covered in more detail in 
-            [6]." 
-        ::= { ospfv3IfEntry 17 } 
-ospfv3IfMulticastForwarding OBJECT-TYPE 
-        SYNTAX          INTEGER { 
-                        blocked(1),   -- no multicast forwarding 
-                        multicast(2), -- using multicast address 
-                        unicast(3)    -- to each OSPFv3 neighbor 
-                        } 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The way multicasts should  forwarded  on  this 
-            interface;  not  forwarded,  forwarded  as data 
-            link multicasts, or forwarded as data link uni- 
-            casts.   Data link multicasting is not meaning- 
-            ful on point to point and NBMA interfaces,  and 
-            setting ospfv3MulticastForwarding to 0 effective- 
-            ly disables all multicast forwarding." 
-        DEFVAL { blocked } 
-        ::= { ospfv3IfEntry 18 } 
-ospfv3IfDemand OBJECT-TYPE 
-        SYNTAX          TruthValue 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "Indicates whether Demand OSPFv3 procedures (hel- 
-            lo suppression to FULL neighbors and setting the 
-            DoNotAge flag on propagated LSAs) should be per- 
-            formed on this interface." 
-        DEFVAL { false } 
-        ::= { ospfv3IfEntry 19 } 
-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 is configured by the 
-            ospfv3ReferenceBandwidth object." 
-        ::= { ospfv3IfEntry 20 } 
- 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 21 } 
- ospfv3IfLinkLsaCksumSum OBJECT-TYPE 
-        SYNTAX          Integer32 
-        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, and to compare the 
-            link-state database of two routers." 
-        ::= { ospfv3IfEntry 22 } 
-ospfv3IfInstId OBJECT-TYPE 
-        SYNTAX          Integer32 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "Enables multiple instances of OSPFv3 to be run over 
-            a single link. Each protocol instance would be assigned 
-            a separate ID. This ID has local link significance 
-            only." 
-        DEFVAL          { 0 } 
-        ::= { ospfv3IfEntry 23 } 
-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 24 } 
-   ospfv3IfDemandNbrProbeRetxLimit OBJECT-TYPE  
-       SYNTAX       Unsigned32  
-       UNITS        "seconds"  
-       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 25 }  
-   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 26 }  
--- OSPFv3 Virtual Interface Table 
--- The Virtual Interface Table describes the virtual 
--- links that the OSPFv3 Process is configured to 
--- carry on. 
-ospfv3VirtIfTable OBJECT-TYPE 
-        SYNTAX          SEQUENCE OF Ospfv3VirtIfEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "Information about this router's virtual inter- 
-            faces." 
-        REFERENCE 
-            "OSPF Version  2,  Appendix  C.4   Virtual  link 
-            parameters" 
-        ::= { ospfv3Objects 8 } 
-ospfv3VirtIfEntry OBJECT-TYPE 
-        SYNTAX          Ospfv3VirtIfEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "Information about a single Virtual Interface." 
-        INDEX           { ospfv3VirtIfAreaId, 
-                          ospfv3VirtIfNeighbor } 
-        ::= { ospfv3VirtIfTable 1 } 
-Ospfv3VirtIfEntry ::= SEQUENCE { 
-        ospfv3VirtIfAreaId 
-                AreaID, 
-        ospfv3VirtIfNeighbor 
-                RouterID, 
-        ospfv3VirtIfIndex 
-                InterfaceIndex, 
-        ospfv3VirtIfTransitDelay 
-                UpToRefreshInterval, 
-        ospfv3VirtIfRetransInterval 
-                UpToRefreshInterval, 
-        ospfv3VirtIfHelloInterval 
-                HelloRange, 
-        ospfv3VirtIfRtrDeadInterval 
-                 RouterDeadRange, 
-        ospfv3VirtIfState 
-                INTEGER, 
-        ospfv3VirtIfEvents 
-                Counter32, 
-        ospfv3VirtIfStatus 
-                RowStatus, 
-        ospfv3VirtIfLinkScopeLsaCount 
-                Gauge32, 
-        ospfv3VirtIfLinkLsaCksumSum 
-                   Integer32 
-        } 
-ospfv3VirtIfAreaId OBJECT-TYPE 
-        SYNTAX          AreaID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The  Transit  Area  that  the   Virtual   Link 
-            traverses.  By definition, this is not 0.0.0.0" 
-        ::= { ospfv3VirtIfEntry 1 } 
-ospfv3VirtIfNeighbor OBJECT-TYPE 
-        SYNTAX          RouterID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The Router ID of the Virtual Neighbor." 
-        ::= { ospfv3VirtIfEntry 2 } 
-ospfv3VirtIfIndex OBJECT-TYPE 
-        SYNTAX          InterfaceIndex 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The interface ID assigned to this OSPFv3 virtual 
-            interface. It is advertised in Hello's sent over 
-            the virtal link and in the router's router-LSAs." 
-        ::= { ospfv3VirtIfEntry 3 } 
-ospfv3VirtIfTransitDelay OBJECT-TYPE 
-        SYNTAX          UpToRefreshInterval 
-        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 4 } 
-ospfv3VirtIfRetransInterval OBJECT-TYPE 
-        SYNTAX          UpToRefreshInterval 
-        UNITS           "seconds" 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The number of seconds between  link-state  ad- 
-            vertisement  retransmissions,  for  adjacencies 
-            belonging to this  interface.   This  value  is 
-            also used when retransmitting database descrip- 
-            tion  and  link-state  request  packets.   This 
-            value  should  be well over the expected round- 
-            trip time." 
-        DEFVAL          { 5 } 
-        ::= { ospfv3VirtIfEntry 5 } 
-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 in- 
-            terface.  This value must be the same  for  the 
-            virtual neighbor." 
-        DEFVAL          { 10 } 
-        ::= { ospfv3VirtIfEntry 6 } 
-ospfv3VirtIfRtrDeadInterval OBJECT-TYPE 
-        SYNTAX          RouterDeadRange 
-        UNITS           "seconds" 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The number of seconds that  a  router's  Hello 
-            packets  have  not been seen before it's neigh- 
-            bors declare the router down.  This  should  be 
-            some  multiple  of  the  Hello  interval.  This 
-            value must be the same for the  virtual  neigh- 
-            bor." 
-        DEFVAL          { 60 } 
-        ::= { ospfv3VirtIfEntry 7 } 
-ospfv3VirtIfState OBJECT-TYPE 
-        SYNTAX          INTEGER { 
-                        down(1), -- these use the same encoding 
-                        pointToPoint(4) -- as the ospfv3IfTable 
-                        } 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "OSPF virtual interface states." 
-        ::= { ospfv3VirtIfEntry 8 } 
-ospfv3VirtIfEvents OBJECT-TYPE 
-        SYNTAX          Counter32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The number of state changes or error events on 
-            this Virtual Link" 
-        ::= { ospfv3VirtIfEntry 9 } 
-ospfv3VirtIfStatus OBJECT-TYPE 
-        SYNTAX          RowStatus 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "This variable controls the status of  the  en- 
-            try. The use of RowStatus is covered in more detail 
-            in [6]." 
-        ::= { ospfv3VirtIfEntry 10 } 
-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 11 } 
-ospfv3VirtIfLinkLsaCksumSum OBJECT-TYPE 
-        SYNTAX          Integer32 
-        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, and to compare the 
-            link-state database of two routers." 
-        ::= { ospfv3VirtIfEntry 12 } 
--- OSPFv3 Neighbor Table 
--- The OSPFv3 Neighbor Table describes all neighbors in 
--- the locality of the subject router. 
-ospfv3NbrTable OBJECT-TYPE 
-        SYNTAX          SEQUENCE OF Ospfv3NbrEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "A table of non-virtual neighbor information." 
-        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, 
-                          ospfv3NbrRtrId } 
-        ::= { ospfv3NbrTable 1 } 
-Ospfv3NbrEntry ::= SEQUENCE { 
-        ospfv3NbrIfIndex 
-                InterfaceIndex, 
-        ospfv3NbrRtrId 
-                RouterID, 
-        ospfv3NbrAddressType 
-                InetAddressType, 
-        ospfv3NbrAddress 
-                InetAddress,             
-        ospfv3NbrOptions 
-                Integer32, 
-        ospfv3NbrPriority 
-                DesignatedRouterPriority, 
-        ospfv3NbrState 
-                INTEGER, 
-        ospfv3NbrEvents 
-                Counter32, 
-        ospfv3NbrLsRetransQLen 
-                Gauge32, 
-        ospfv3NbrHelloSuppressed 
-                TruthValue, 
-        ospfv3NbrIfId 
-                InterfaceIndex, 
-        ospfv3NbrRestartHelperStatus  
-                INTEGER,  
-        ospfv3NbrRestartHelperAge  
-                UpToRefreshInterval,  
-        ospfv3NbrRestartHelperExitReason  
-                INTEGER 
-        } 
-ospfv3NbrIfIndex OBJECT-TYPE 
-        SYNTAX          InterfaceIndex 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The local link ID of the link over which the 
-             neighbor can be reached." 
-        ::= { ospfv3NbrEntry 1 } 
-ospfv3NbrRtrId OBJECT-TYPE 
-        SYNTAX          RouterID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "A 32-bit integer (represented as a type  IpAd- 
-            dress)  uniquely  identifying  the  neighboring 
-            router in the Autonomous System." 
-        ::= { ospfv3NbrEntry 2 } 
-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 3 } 
-ospfv3NbrAddress OBJECT-TYPE 
-        SYNTAX          InetAddress (SIZE (16)) 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The IPv6 address of the neighbor associated with 
-            the local link." 
-        ::= { ospfv3NbrEntry 4 } 
-ospfv3NbrOptions OBJECT-TYPE 
-        SYNTAX          Integer32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "A Bit Mask corresponding to the neighbor's op- 
-            tions field." 
-        REFERENCE 
-            "OSPF Version 3, Appendix A.2 the Options field" 
-        ::= { ospfv3NbrEntry 5 } 
-ospfv3NbrPriority OBJECT-TYPE 
-        SYNTAX          DesignatedRouterPriority 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The priority of this neighbor in the designat- 
-            ed router election algorithm.  The value 0 sig- 
-            nifies that the neighbor is not eligible to be- 
-            come  the  designated router on this particular 
-            network." 
-        ::= { ospfv3NbrEntry 6 } 
-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 Neigh- 
-            bor." 
-        REFERENCE 
-            "OSPF Version 2, Section 10.1 Neighbor States" 
-        ::= { ospfv3NbrEntry 7 } 
-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." 
-        ::= { ospfv3NbrEntry 8 } 
-ospfv3NbrLsRetransQLen OBJECT-TYPE 
-        SYNTAX          Gauge32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The  current  length  of  the   retransmission 
-            queue." 
-        ::= { ospfv3NbrEntry 9 } 
-ospfv3NbrHelloSuppressed OBJECT-TYPE 
-        SYNTAX          TruthValue 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "Indicates whether Hellos are being  suppressed 
-            to the neighbor" 
-        ::= { ospfv3NbrEntry 10 } 
-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 11 } 
-ospfv3NbrRestartHelperStatus OBJECT-TYPE  
-       SYNTAX       INTEGER { notHelping (1),  
-                              helping (2)  
-                            }  
-       MAX-ACCESS   read-only  
-       STATUS       current  
-       DESCRIPTION  
-          "Indicates whether the router is acting  
-          as a hitless restart helper for the neighbor."  
-          ::= { ospfv3NbrEntry 12 }  
-    
-ospfv3NbrRestartHelperAge OBJECT-TYPE  
-       SYNTAX       UpToRefreshInterval 
-       UNITS        "seconds"  
-       MAX-ACCESS   read-only  
-       STATUS       current  
-       DESCRIPTION  
-          "Remaining time in current OSPF hitless restart  
-          interval, if the router is acting as a restart  
-          helper for the neighbor."  
-       ::= { ospfv3NbrEntry 13 }  
-    
-ospfv3NbrRestartHelperExitReason OBJECT-TYPE  
-       SYNTAX       INTEGER { none (1),           -- not attempted  
-                              inProgress (2),     -- restart in  
-                                                  -- progress  
-                              completed (3),      -- successfully  
-                                                  -- completed  
-                              timedOut (4),       -- timed out  
-                              topologyChanged (5) -- aborted due to  
-                                                  -- topology  
-                                                  -- change.  
-                            }  
-       MAX-ACCESS   read-only  
-       STATUS       current  
-       DESCRIPTION  
-          "Describes the outcome of the last attempt at acting  
-           as a hitless restart helper for the neighbor."  
-    ::= { ospfv3NbrEntry 14 } 
--- OSPFv3 NBMA Neighbor Table 
--- The OSPFv3 NBMA Neighbor Table describes all configured 
--- NBMA neighbors and neighbors dynamically discovered by 
--- lower-level protocols such as Inverse Neighbor Discovery. 
-ospfv3NbmaNbrTable OBJECT-TYPE 
-        SYNTAX          SEQUENCE OF Ospfv3NbmaNbrEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "A table of configured non-virtual neighbor 
-            information and neighbors dynamically discovered 
-            by lower-level protocols such as Inverse Neighbor 
-            Discovery." 
-        REFERENCE 
-            "OSPF Version 2, Section 10  The  Neighbor  Data 
-            Structure" 
-        ::= { ospfv3Objects 10 } 
-ospfv3NbmaNbrEntry OBJECT-TYPE 
-        SYNTAX          Ospfv3NbmaNbrEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "The information regarding a single configured 
-            neighbor or neighbor discovered by lower-level 
-            protocols such as Inverse Neighbor Discovery." 
-        REFERENCE 
-            "OSPF Version 2, Section 10  The  Neighbor  Data 
-            Structure" 
-        INDEX           { ospfv3NbmaNbrIfIndex, 
-                          ospfv3NbmaNbrAddressType, 
-                          ospfv3NbmaNbrAddress } 
-        ::= { ospfv3NbmaNbrTable 1 } 
-Ospfv3NbmaNbrEntry ::= SEQUENCE { 
-        ospfv3NbmaNbrIfIndex 
-                InterfaceIndex, 
-        ospfv3NbmaNbrAddressType 
-                InetAddressType, 
-        ospfv3NbmaNbrAddress 
-                InetAddress, 
-        ospfv3NbmaNbrPriority 
-                DesignatedRouterPriority, 
-        ospfv3NbmaNbrRtrId 
-                RouterID, 
-        ospfv3NbmaNbrState 
-                INTEGER, 
-        ospfv3NbmaNbrStorageType 
-                StorageType, 
-        ospfv3NbmaNbrStatus 
-                RowStatus 
-        } 
-ospfv3NbmaNbrIfIndex OBJECT-TYPE 
-        SYNTAX          InterfaceIndex 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The local link ID of the link over which the 
-             neighbor can be reached." 
-        ::= { ospfv3NbmaNbrEntry 1 } 
-ospfv3NbmaNbrAddressType OBJECT-TYPE 
-        SYNTAX          InetAddressType 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The address type of ospfv3NbrAddress. Only IPv6 
-            addresses without zone index are expected." 
-        ::= { ospfv3NbmaNbrEntry 2 } 
-ospfv3NbmaNbrAddress OBJECT-TYPE 
-        SYNTAX          InetAddress (SIZE (16)) 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The IPv6 address of the neighbor associated with 
-            the local link." 
-        ::= { ospfv3NbmaNbrEntry 3 } 
-ospfv3NbmaNbrPriority OBJECT-TYPE 
-        SYNTAX          DesignatedRouterPriority 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The priority of this neighbor in the designat- 
-            ed router election algorithm. The value 0 sig- 
-            nifies that the neighbor is not eligible to be- 
-            come  the  designated router on this particular 
-            network." 
-        DEFVAL          { 1 } 
-        ::= { ospfv3NbmaNbrEntry 4 } 
-ospfv3NbmaNbrRtrId OBJECT-TYPE 
-        SYNTAX          RouterID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "A 32-bit integer (represented as a type IpAd- 
-            dress) uniquely identifying the neighboring 
-            router in the Autonomous System. A value of 
-            0.0.0.0 is returned until a Hello is received 
-            from the configured neighbor." 
-        ::= { ospfv3NbmaNbrEntry 5 } 
-ospfv3NbmaNbrState OBJECT-TYPE 
-        SYNTAX          INTEGER { 
-                        down(1), 
-                        attempt(2), 
-                        init(3), 
-                        twoWay(4), 
-                        exchangeStart(5), 
-                        exchange(6), 
-                        loading(7), 
-                        full(8) 
-                        } 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The State of the relationship with this Neigh- 
-            bor." 
-        REFERENCE 
-            "OSPF Version 2, Section 10.1 Neighbor States" 
-        ::= { ospfv3NbmaNbrEntry 6 } 
-ospfv3NbmaNbrStorageType OBJECT-TYPE 
-        SYNTAX          StorageType 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "The storage type for this conceptual row. 
-            Conceptual rows having the value 'permanent' need not 
-            allow write-access to any columnar objects in the row. 
-            Manually configured entries will have a storage type 
-            of nonVolatile while entries dynamically created as a 
-            result of a lower-level protocol such as Inverse 
-            Neighbor Discovery will have a storage type of 
-            volatile." 
-        DEFVAL          { nonVolatile } 
-        ::= { ospfv3NbmaNbrEntry 7 } 
-ospfv3NbmaNbrStatus OBJECT-TYPE 
-        SYNTAX          RowStatus 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "This variable controls the status of the en- 
-            try. The use of RowStatus is covered in more detail 
-            in [6]." 
-        ::= { ospfv3NbmaNbrEntry 8 } 
--- OSPFv3 Virtual Neighbor Table 
--- This table describes all virtual neighbors. 
--- Since Virtual Links are configured in the 
--- virtual interface table, this table is read-only. 
-ospfv3VirtNbrTable OBJECT-TYPE 
-        SYNTAX          SEQUENCE OF Ospfv3VirtNbrEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "A table of virtual neighbor information." 
-        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 
-                AreaID, 
-        ospfv3VirtNbrRtrId 
-                RouterID, 
-        ospfv3VirtNbrIfIndex 
-                InterfaceIndex, 
-        ospfv3VirtNbrAddressType 
-                InetAddressType, 
-        ospfv3VirtNbrAddress 
-                InetAddress, 
-        ospfv3VirtNbrOptions 
-                Integer32, 
-        ospfv3VirtNbrState 
-                INTEGER, 
-        ospfv3VirtNbrEvents 
-                Counter32, 
-        ospfv3VirtNbrLsRetransQLen 
-                Gauge32, 
-        ospfv3VirtNbrHelloSuppressed 
-                TruthValue, 
-        ospfv3VirtNbrIfId 
-                InterfaceIndex, 
-        ospfv3VirtNbrRestartHelperStatus  
-                INTEGER,  
-        ospfv3VirtNbrRestartHelperAge  
-                UpToRefreshInterval,  
-        ospfv3VirtNbrRestartHelperExitReason  
-                INTEGER 
-        } 
-ospfv3VirtNbrArea OBJECT-TYPE 
-        SYNTAX          AreaID 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The Transit Area Identifier." 
-        ::= { ospfv3VirtNbrEntry 1 } 
-ospfv3VirtNbrRtrId OBJECT-TYPE 
-        SYNTAX          RouterID 
-        MAX-ACCESS      read-only 
-        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 } 
-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 4 } 
-ospfv3VirtNbrAddress OBJECT-TYPE 
-        SYNTAX          InetAddress (SIZE (16)) 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The IPv6 address advertised by this Virtual Neighbor. 
-            It must be a Site-Local or Global scope address." 
-        ::= { ospfv3VirtNbrEntry 5 } 
-ospfv3VirtNbrOptions OBJECT-TYPE 
-        SYNTAX          Integer32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "A Bit Mask corresponding to the neighbor's op- 
-            tions field." 
-        REFERENCE 
-            "OSPF Version 3, Appendix A.2 the Options field" 
-        ::= { ospfv3VirtNbrEntry 6 } 
-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 Relation- 
-            ship." 
-        ::= { ospfv3VirtNbrEntry 7 } 
-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." 
-        ::= { ospfv3VirtNbrEntry 8 } 
-ospfv3VirtNbrLsRetransQLen OBJECT-TYPE 
-        SYNTAX          Gauge32 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The  current  length  of  the   retransmission 
-            queue." 
-        ::= { ospfv3VirtNbrEntry 9 } 
-ospfv3VirtNbrHelloSuppressed OBJECT-TYPE 
-        SYNTAX          TruthValue 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "Indicates whether Hellos are being  suppressed 
-            to the neighbor" 
-        ::= { ospfv3VirtNbrEntry 10 } 
-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 11 } 
-   ospfv3VirtNbrRestartHelperStatus OBJECT-TYPE  
-       SYNTAX       INTEGER { notHelping (1),  
-                              helping (2)  
-                            }  
-       MAX-ACCESS   read-only  
-       STATUS       current  
-       DESCRIPTION  
-          "Indicates whether the router is acting  
-          as a hitless restart helper for the neighbor."  
-          ::= { ospfv3VirtNbrEntry 12 }  
-    
-ospfv3VirtNbrRestartHelperAge OBJECT-TYPE  
-       SYNTAX       UpToRefreshInterval 
-       UNITS        "seconds"  
-       MAX-ACCESS   read-only  
-       STATUS       current  
-       DESCRIPTION  
-          "Remaining time in current OSPF hitless restart  
-          interval, if the router is acting as a restart  
-          helper for the neighbor."  
-       ::= { ospfv3VirtNbrEntry 13 }  
-    
-ospfv3VirtNbrRestartHelperExitReason OBJECT-TYPE  
-       SYNTAX       INTEGER { none (1),           -- not attempted  
-                              inProgress (2),     -- restart in  
-                                                  -- progress  
-                              completed (3),      -- successfully  
-                                                  -- completed  
-                              timedOut (4),       -- timed out  
-                              topologyChanged (5) -- aborted due to  
-                                                  -- topology  
-                                                  -- change.  
-                            }  
-       MAX-ACCESS   read-only  
-       STATUS       current  
-       DESCRIPTION  
-          "Describes the outcome of the last attempt at acting  
-           as a hitless restart helper for the neighbor."  
-    ::= { ospfv3VirtNbrEntry 14 } 
--- 
--- The OSPFv3 Area Aggregate Table 
--- 
-ospfv3AreaAggregateTable OBJECT-TYPE 
-        SYNTAX          SEQUENCE OF Ospfv3AreaAggregateEntry 
-        MAX-ACCESS      not-accessible 
-        STATUS          current 
-        DESCRIPTION 
-            "A range of IPv6 prefixes specified by a 
-            prefix/prefix length  pair. Note that if 
-            ranges are configured such that one range sub- 
-            sumes  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 range of IPv6 prefixes specified by a 
-            prefix/prefix length  pair. Note that if 
-            ranges are configured such that one range sub- 
-            sumes  another range the most specific match is 
-            the preferred one." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.2  Area parameters" 
-        INDEX           { ospfv3AreaAggregateAreaID,  
-                          ospfv3AreaAggregateAreaLsdbType, 
-                          ospfv3AreaAggregatePrefixType, 
-                          ospfv3AreaAggregatePrefix, 
-                          ospfv3AreaAggregatePrefixLength } 
-        ::= { ospfv3AreaAggregateTable 1 } 
-Ospfv3AreaAggregateEntry ::= SEQUENCE { 
-        ospfv3AreaAggregateAreaID 
-                AreaID, 
-        ospfv3AreaAggregateAreaLsdbType 
-                INTEGER, 
-        ospfv3AreaAggregatePrefixType 
-                InetAddressType, 
-        ospfv3AreaAggregatePrefix 
-                InetAddress, 
-        ospfv3AreaAggregatePrefixLength 
-                InetAddressPrefixLength, 
-        ospfv3AreaAggregateStatus 
-                RowStatus, 
-        ospfv3AreaAggregateEffect 
-                INTEGER, 
-        ospfv3AreaAggregateRouteTag 
-                INTEGER 
-        } 
-ospfv3AreaAggregateAreaID OBJECT-TYPE 
-        SYNTAX          AreaID 
-        MAX-ACCESS      read-only 
-        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      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The type of the Address Aggregate.  This field 
-            specifies  the  Area Lsdb type that this Address Ag- 
-            gregate applies to." 
-        REFERENCE 
-            "OSPF Version 2, Appendix A.4.1 The  Link  State 
-            Advertisement header" 
-        ::= { ospfv3AreaAggregateEntry 2 } 
-ospfv3AreaAggregatePrefixType OBJECT-TYPE 
-        SYNTAX          InetAddressType 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The prefix type of ospfv3AreaAggregatePrefix. Only 
-            IPv6 addresses are expected." 
-        ::= { ospfv3AreaAggregateEntry 4 } 
-ospfv3AreaAggregatePrefix OBJECT-TYPE 
-        SYNTAX          InetAddress (SIZE (0..16)) 
-        MAX-ACCESS      read-only 
-        STATUS          current 
-        DESCRIPTION 
-            "The IPv6 Prefix." 
-        REFERENCE 
-            "OSPF Version 2, Appendix C.2 Area parameters" 
-        ::= { ospfv3AreaAggregateEntry 5 } 
-ospfv3AreaAggregatePrefixLength OBJECT-TYPE 
-        SYNTAX          InetAddressPrefixLength (3..128) 
-        UNITS           "bits" 
-        MAX-ACCESS      read-only 
-        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 6 } 
-ospfv3AreaAggregateStatus OBJECT-TYPE 
-        SYNTAX          RowStatus 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "This variable controls the status of  the  en- 
-            try. The use of RowStatus is covered in more detail 
-            in [6]." 
-        ::= { ospfv3AreaAggregateEntry 7 } 
-ospfv3AreaAggregateEffect OBJECT-TYPE 
-        SYNTAX          INTEGER { 
-                        advertiseMatching(1), 
-                        doNotAdvertiseMatching(2) 
-                        } 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "Prefixes subsumed by ranges either trigger  the 
-            advertisement  of  the indicated aggregate (ad- 
-            vertiseMatching), or result in the prefix not 
-            being advertised at all outside the area." 
-        DEFVAL          { advertiseMatching } 
-        ::= { ospfv3AreaAggregateEntry 8 } 
-ospfv3AreaAggregateRouteTag OBJECT-TYPE 
-        SYNTAX          Integer32 
-        MAX-ACCESS      read-create 
-        STATUS          current 
-        DESCRIPTION 
-            "This tag is advertised only in the summarized 
-             As-External LSA when summarizing from type-7 to  
-             type-5." 
-        DEFVAL         { 0 } 
-        ::= { ospfv3AreaAggregateEntry 9 } 
-         
-
--- conformance information 
-ospfv3Groups      OBJECT IDENTIFIER ::= { ospfv3Conformance 1 } 
-ospfv3Compliances OBJECT IDENTIFIER ::= { ospfv3Conformance 2 } 
--- compliance statements 
-ospfv3Compliance MODULE-COMPLIANCE 
-        STATUS          current 
-        DESCRIPTION     "The compliance statement " 
-        MODULE          -- this module 
-        MANDATORY-GROUPS { 
-                        ospfv3BasicGroup, 
-                        ospfv3AreaGroup, 
-                        ospfv3IfGroup, 
-                        ospfv3VirtIfGroup, 
-                        ospfv3NbrGroup, 
-                        ospfv3NbmaNbrGroup, 
-                        ospfv3VirtNbrGroup, 
-                        ospfv3AreaAggregateGroup 
-                        } 
-        GROUP           ospfv3AsLsdbGroup 
-        DESCRIPTION 
-            "This group is required for OSPFv3 systems that 
-            display their AS-scope link state database." 
-        GROUP           ospfv3AreaLsdbGroup 
-        DESCRIPTION 
-            "This group is required for OSPFv3 systems that 
-            display their Area-scope link state database." 
-        GROUP           ospfv3LinkLsdbGroup 
-        DESCRIPTION 
-            "This group is required for OSPFv3 systems that 
-            display their Link-scope link state database." 
-        GROUP           ospfv3HostGroup 
-        DESCRIPTION 
-            "This group is required for OSPFv3 systems that 
-            support attached hosts." 
-        OBJECT          ospfv3NbrAddressType 
-        SYNTAX          InetAddressType { ipv6(2) } 
-        DESCRIPTION 
-            "An implementation is only required to support IPv6 
-            address without zone index." 
-        OBJECT          ospfv3VirtNbrAddressType 
-        SYNTAX          InetAddressType { ipv6(2) } 
-        DESCRIPTION 
-            "An implementation is only required to support IPv6 
-            address without zone index." 
-        ::= { ospfv3Compliances 1 } 
--- units of conformance 
-ospfv3BasicGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3RouterId, 
-                        ospfv3AdminStat, 
-                        ospfv3VersionNumber, 
-                        ospfv3AreaBdrRtrStatus, 
-                        ospfv3ASBdrRtrStatus, 
-                        ospfv3AsScopeLsaCount, 
-                        ospfv3AsScopeLsaCksumSum, 
-                        ospfv3OriginateNewLsas, 
-                        ospfv3RxNewLsas, 
-                        ospfv3ExtLsaCount, 
-                        ospfv3ExtAreaLsdbLimit, 
-                        ospfv3MulticastExtensions, 
-                        ospfv3ExitOverflowInterval, 
-                        ospfv3DemandExtensions, 
-                        ospfv3TrafficEngineeringSupport, 
-                        ospfv3ReferenceBandwidth, 
-                        ospfv3RestartSupport, 
-                        ospfv3RestartInterval, 
-                        ospfv3RestartStatus, 
-                        ospfv3RestartAge, 
-                        ospfv3RestartExitReason 
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These objects are required for OSPFv3 systems." 
-        ::= { ospfv3Groups 1 } 
-ospfv3AreaGroup OBJECT-GROUP 
-        OBJECTS         {                       
-                        ospfv3ImportAsExtern, 
-                        ospfv3AreaSpfRuns, 
-                        ospfv3AreaBdrRtrCount, 
-                        ospfv3AreaAsBdrRtrCount, 
-                        ospfv3AreaScopeLsaCount, 
-                        ospfv3AreaScopeLsaCksumSum, 
-                        ospfv3AreaSummary, 
-                        ospfv3AreaStatus, 
-                        ospfv3StubMetric, 
-                        ospfv3AreaNssaTranslatorRole, 
-                        ospfv3AreaNssaTranslatorState, 
-                        ospfv3AreaNssaTranslatorStabilityInterval, 
-                        ospfv3AreaNssaTranslatorEvents, 
-                        ospfv3AreaStubMetricType 
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These objects are required for OSPFv3 systems 
-            supporting areas." 
-        ::= { ospfv3Groups 2 } 
-ospfv3AsLsdbGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3AsLsdbSequence, 
-                        ospfv3AsLsdbAge, 
-                        ospfv3AsLsdbChecksum, 
-                        ospfv3AsLsdbAdvertisement, 
-                        ospfv3AsLsdbTypeKnown 
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These objects are required for OSPFv3 systems 
-            that display their AS-scope link state database." 
-        ::= { ospfv3Groups 3 } 
-ospfv3AreaLsdbGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3AreaLsdbSequence, 
-                        ospfv3AreaLsdbAge, 
-                        ospfv3AreaLsdbChecksum, 
-                        ospfv3AreaLsdbAdvertisement, 
-                        ospfv3AreaLsdbTypeKnown 
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These objects are required for OSPFv3 systems 
-            that display their Area-scope link state database." 
-        ::= { ospfv3Groups 4 } 
-ospfv3LinkLsdbGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3LinkLsdbSequence, 
-                        ospfv3LinkLsdbAge, 
-                        ospfv3LinkLsdbChecksum, 
-                        ospfv3LinkLsdbAdvertisement, 
-                        ospfv3LinkLsdbTypeKnown 
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These objects are required for OSPFv3  systems 
-            that display their Link-scope link state database." 
-        ::= { ospfv3Groups 5 } 
-ospfv3HostGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3HostMetric, 
-                        ospfv3HostStatus, 
-                        ospfv3HostAreaID 
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These objects are required  for  OSPFv3  systems 
-            that support attached hosts." 
-        ::= { ospfv3Groups 6 } 
-ospfv3IfGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3IfAreaId, 
-                        ospfv3IfType, 
-                        ospfv3IfAdminStat, 
-                        ospfv3IfRtrPriority, 
-                        ospfv3IfTransitDelay, 
-                        ospfv3IfRetransInterval, 
-                        ospfv3IfHelloInterval, 
-                        ospfv3IfRtrDeadInterval, 
-                        ospfv3IfPollInterval, 
-                        ospfv3IfState, 
-                        ospfv3IfDesignatedRouter, 
-                        ospfv3IfBackupDesignatedRouter, 
-                        ospfv3IfEvents, 
-                        ospfv3IfStatus, 
-                        ospfv3IfMulticastForwarding, 
-                        ospfv3IfDemand, 
-                        ospfv3IfMetricValue, 
-                        ospfv3IfLinkScopeLsaCount, 
-                        ospfv3IfLinkLsaCksumSum, 
-                        ospfv3IfInstId, 
-                        ospfv3IfDemandNbrProbe, 
-                        ospfv3IfDemandNbrProbeRetxLimit,  
-                        ospfv3IfDemandNbrProbeInterval  
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These interface objects are required for  
-            OSPFv3 systems." 
-        ::= { ospfv3Groups 7 } 
-ospfv3VirtIfGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3VirtIfIndex, 
-                        ospfv3VirtIfTransitDelay, 
-                        ospfv3VirtIfRetransInterval, 
-                        ospfv3VirtIfHelloInterval, 
-                        ospfv3VirtIfRtrDeadInterval, 
-                        ospfv3VirtIfState, 
-                        ospfv3VirtIfEvents, 
-                        ospfv3VirtIfStatus, 
-                        ospfv3VirtIfLinkScopeLsaCount, 
-                        ospfv3VirtIfLinkLsaCksumSum  
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These virtual interface objects are required for  
-            OSPFv3 systems." 
-        ::= { ospfv3Groups 8 } 
-ospfv3NbrGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3NbrAddressType, 
-                        ospfv3NbrAddress, 
-                        ospfv3NbrOptions, 
-                        ospfv3NbrPriority, 
-                        ospfv3NbrState, 
-                        ospfv3NbrEvents, 
-                        ospfv3NbrLsRetransQLen, 
-                        ospfv3NbrHelloSuppressed, 
-                        ospfv3NbrIfId, 
-                        ospfv3NbrRestartHelperStatus,  
-                        ospfv3NbrRestartHelperAge,  
-                        ospfv3NbrRestartHelperExitReason 
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These neighbor objects are required for 
-            OSPFv3 systems." 
-        ::= { ospfv3Groups 9 } 
-ospfv3NbmaNbrGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3NbmaNbrPriority, 
-                        ospfv3NbmaNbrRtrId, 
-                        ospfv3NbmaNbrState, 
-                        ospfv3NbmaNbrStorageType, 
-                        ospfv3NbmaNbrStatus 
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These NBMA neighbor objects are required for 
-            OSPFv3 systems." 
-        ::= { ospfv3Groups 10 } 
-ospfv3VirtNbrGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3VirtNbrIfIndex, 
-                        ospfv3VirtNbrAddressType,  
-                        ospfv3VirtNbrAddress, 
-                        ospfv3VirtNbrOptions, 
-                        ospfv3VirtNbrState, 
-                        ospfv3VirtNbrEvents, 
-                        ospfv3VirtNbrLsRetransQLen, 
-                        ospfv3VirtNbrHelloSuppressed, 
-                        ospfv3VirtNbrIfId, 
-                        ospfv3VirtNbrRestartHelperStatus,  
-                        ospfv3VirtNbrRestartHelperAge,  
-                        ospfv3VirtNbrRestartHelperExitReason 
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These virtual neighbor objects are required for 
-            OSPFv3 systems." 
-        ::= { ospfv3Groups 11 } 
-ospfv3AreaAggregateGroup OBJECT-GROUP 
-        OBJECTS         { 
-                        ospfv3AreaAggregateStatus, 
-                        ospfv3AreaAggregateEffect, 
-                        ospfv3AreaAggregateRouteTag 
-                        } 
-        STATUS          current 
-        DESCRIPTION 
-            "These area aggregate objects are required for 
-            OSPFv3 systems." 
-        ::= { ospfv3Groups 12 } 
-END 
+ 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 }
+
+ -- Conformance Information
+
+ ospfv3Groups      OBJECT IDENTIFIER ::= { ospfv3Conformance 1 }
+ ospfv3Compliances OBJECT IDENTIFIER ::= { ospfv3Conformance 2 }
+
+ -- Compliance Statements
+
+ ospfv3FullCompliance MODULE-COMPLIANCE
+         STATUS          current
+         DESCRIPTION     "The compliance statement"
+         MODULE          -- this module
+         MANDATORY-GROUPS {
+                         ospfv3BasicGroup,
+                         ospfv3AreaGroup,
+                         ospfv3IfGroup,
+                         ospfv3VirtIfGroup,
+                         ospfv3NbrGroup,
+                         ospfv3CfgNbrGroup,
+                         ospfv3VirtNbrGroup,
+                         ospfv3AreaAggregateGroup
+                         }
+
+         GROUP           ospfv3AsLsdbGroup
+         DESCRIPTION
+             "This group is required for OSPFv3 systems that
+             display their AS-scope link state database."
+
+         GROUP           ospfv3AreaLsdbGroup
+         DESCRIPTION
+             "This group is required for OSPFv3 systems that
+             display their Area-scope link state database."
+
+         GROUP           ospfv3LinkLsdbGroup
+         DESCRIPTION
+             "This group is required for OSPFv3 systems that
+             display their Link-scope link state database
+             for non-virtual interfaces."
+
+         GROUP           ospfv3VirtLinkLsdbGroup
+         DESCRIPTION
+             "This group is required for OSPFv3 systems that
+             display their Link-scope link state database
+             for virtual interfaces."
+
+         GROUP           ospfv3HostGroup
+         DESCRIPTION
+             "This group is required for OSPFv3 systems that
+             support attached hosts."
+
+         GROUP           ospfv3NotificationObjectGroup
+         DESCRIPTION
+             "This group is required for OSPFv3 systems that
+             support OSPFv3 notifications."
+
+         GROUP           ospfv3NotificationGroup
+         DESCRIPTION
+             "This group is required for OSPFv3 systems that
+             support OSPFv3 notifications."
+
+         OBJECT          ospfv3NbrAddressType
+         SYNTAX          InetAddressType { ipv6(2) }
+         DESCRIPTION
+             "An implementation is only required to support IPv6
+             address without zone index."
+
+         OBJECT          ospfv3NbrAddress
+         SYNTAX          InetAddress (SIZE (16))
+         DESCRIPTION
+             "An implementation is only required to support IPv6
+             address without zone index."
+
+         OBJECT          ospfv3VirtNbrAddressType
+         SYNTAX          InetAddressType { ipv6(2) }
+         DESCRIPTION
+             "An implementation is only required to support IPv6
+             address without zone index."
+
+         OBJECT          ospfv3VirtNbrAddress
+         SYNTAX          InetAddress (SIZE (16))
+         DESCRIPTION
+             "An implementation is only required to support IPv6
+             address without zone index."
+         ::= { ospfv3Compliances 1 }
+
+    ospfv3ReadOnlyCompliance MODULE-COMPLIANCE
+       STATUS     current
+       DESCRIPTION
+               "When this MIB module is implemented without
+               support for read-create (i.e., in read-only
+               mode), the implementation can claim read-only
+               compliance.  Such a device can then be monitored,
+               but cannot be configured with this MIB."
+
+       MODULE -- this module
+            MANDATORY-GROUPS {
+                    ospfv3BasicGroup,
+                    ospfv3AreaGroup,
+                    ospfv3IfGroup,
+                    ospfv3VirtIfGroup,
+                    ospfv3NbrGroup,
+                    ospfv3CfgNbrGroup,
+                    ospfv3VirtNbrGroup,
+                    ospfv3AreaAggregateGroup
+                    }
+
+       GROUP           ospfv3AsLsdbGroup
+       DESCRIPTION
+           "This group is required for OSPFv3 systems that
+           display their AS-scope link state database."
+
+       GROUP           ospfv3AreaLsdbGroup
+       DESCRIPTION
+           "This group is required for OSPFv3 systems that
+           display their Area-scope link state database."
+
+       GROUP           ospfv3LinkLsdbGroup
+       DESCRIPTION
+           "This group is required for OSPFv3 systems that
+           display their Link-scope link state database
+           for non-virtual interfaces."
+
+       GROUP           ospfv3VirtLinkLsdbGroup
+       DESCRIPTION
+           "This group is required for OSPFv3 systems that
+           display their Link-scope link state database
+           for virtual interfaces."
+
+       GROUP           ospfv3HostGroup
+       DESCRIPTION
+           "This group is required for OSPFv3 systems that
+           support attached hosts."
+
+       GROUP           ospfv3NotificationObjectGroup
+       DESCRIPTION
+           "This group is required for OSPFv3 systems that
+           support OSPFv3 notifications."
+
+       GROUP           ospfv3NotificationGroup
+       DESCRIPTION
+           "This group is required for OSPFv3 systems that
+           support OSPFv3 notifications."
+
+       OBJECT ospfv3RouterId
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AdminStatus
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3ExtAreaLsdbLimit
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3ExitOverflowInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3DemandExtensions
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3ReferenceBandwidth
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3RestartSupport
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3RestartInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3RestartStrictLsaChecking
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3NotificationEnable
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3StubRouterAdvertisement
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaImportAsExtern
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaSummary
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaRowStatus
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaStubMetric
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaNssaTranslatorRole
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaNssaTranslatorStabInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaStubMetricType
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaTEEnabled
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3HostMetric
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3HostRowStatus
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3HostAreaID
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfAreaId
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfType
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfAdminStatus
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfRtrPriority
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfTransitDelay
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfRetransInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfHelloInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfRtrDeadInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfPollInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfRowStatus
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfDemand
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfMetricValue
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfDemandNbrProbe
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfDemandNbrProbeRetransLimit
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfDemandNbrProbeInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfTEDisabled
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3IfLinkLSASuppression
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3VirtIfTransitDelay
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3VirtIfRetransInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3VirtIfHelloInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3VirtIfRtrDeadInterval
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3VirtIfRowStatus
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3CfgNbrPriority
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3CfgNbrRowStatus
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaAggregateRowStatus
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaAggregateEffect
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+
+       OBJECT ospfv3AreaAggregateRouteTag
+       MIN-ACCESS read-only
+       DESCRIPTION
+            "Write access is not required."
+    ::= { ospfv3Compliances 2 }
+
+ -- units of conformance
+
+ ospfv3BasicGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3RouterId,
+                         ospfv3AdminStatus,
+                         ospfv3VersionNumber,
+                         ospfv3AreaBdrRtrStatus,
+                         ospfv3ASBdrRtrStatus,
+                         ospfv3AsScopeLsaCount,
+                         ospfv3AsScopeLsaCksumSum,
+                         ospfv3OriginateNewLsas,
+                         ospfv3RxNewLsas,
+                         ospfv3ExtLsaCount,
+                         ospfv3ExtAreaLsdbLimit,
+                         ospfv3ExitOverflowInterval,
+                         ospfv3DemandExtensions,
+                         ospfv3ReferenceBandwidth,
+                         ospfv3RestartSupport,
+                         ospfv3RestartInterval,
+                         ospfv3RestartStrictLsaChecking,
+                         ospfv3RestartStatus,
+                         ospfv3RestartAge,
+                         ospfv3RestartExitReason,
+                         ospfv3NotificationEnable,
+                         ospfv3StubRouterSupport,
+                         ospfv3StubRouterAdvertisement,
+                         ospfv3DiscontinuityTime,
+                         ospfv3RestartTime
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These objects are used for managing/monitoring
+             OSPFv3 global parameters."
+         ::= { ospfv3Groups 1 }
+
+ ospfv3AreaGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3AreaImportAsExtern,
+                         ospfv3AreaSpfRuns,
+                         ospfv3AreaBdrRtrCount,
+                         ospfv3AreaAsBdrRtrCount,
+                         ospfv3AreaScopeLsaCount,
+                         ospfv3AreaScopeLsaCksumSum,
+                         ospfv3AreaSummary,
+                         ospfv3AreaRowStatus,
+                         ospfv3AreaStubMetric,
+                         ospfv3AreaNssaTranslatorRole,
+                         ospfv3AreaNssaTranslatorState,
+                         ospfv3AreaNssaTranslatorStabInterval,
+                         ospfv3AreaNssaTranslatorEvents,
+                         ospfv3AreaStubMetricType,
+                         ospfv3AreaTEEnabled
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These objects are used for OSPFv3 systems
+             supporting areas."
+         ::= { ospfv3Groups 2 }
+
+ ospfv3AsLsdbGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3AsLsdbSequence,
+                         ospfv3AsLsdbAge,
+                         ospfv3AsLsdbChecksum,
+                         ospfv3AsLsdbAdvertisement,
+                         ospfv3AsLsdbTypeKnown
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These objects are used for OSPFv3 systems
+             that display their AS-scope link state database."
+         ::= { ospfv3Groups 3 }
+
+ ospfv3AreaLsdbGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3AreaLsdbSequence,
+                         ospfv3AreaLsdbAge,
+                         ospfv3AreaLsdbChecksum,
+                         ospfv3AreaLsdbAdvertisement,
+                         ospfv3AreaLsdbTypeKnown
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These objects are used for OSPFv3 systems
+             that display their Area-scope link state database."
+         ::= { ospfv3Groups 4 }
+
+ ospfv3LinkLsdbGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3LinkLsdbSequence,
+                         ospfv3LinkLsdbAge,
+                         ospfv3LinkLsdbChecksum,
+                         ospfv3LinkLsdbAdvertisement,
+                         ospfv3LinkLsdbTypeKnown
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These objects are used for OSPFv3 systems
+             that display their Link-scope link state database
+             for non-virtual interfaces."
+         ::= { ospfv3Groups 5 }
+
+ ospfv3HostGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3HostMetric,
+                         ospfv3HostRowStatus,
+                         ospfv3HostAreaID
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These objects are used for OSPFv3 systems
+             that support attached hosts."
+         ::= { ospfv3Groups 6 }
+
+ ospfv3IfGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3IfAreaId,
+                         ospfv3IfType,
+                         ospfv3IfAdminStatus,
+                         ospfv3IfRtrPriority,
+                         ospfv3IfTransitDelay,
+                         ospfv3IfRetransInterval,
+                         ospfv3IfHelloInterval,
+                         ospfv3IfRtrDeadInterval,
+                         ospfv3IfPollInterval,
+                         ospfv3IfState,
+                         ospfv3IfDesignatedRouter,
+                         ospfv3IfBackupDesignatedRouter,
+                         ospfv3IfEvents,
+                         ospfv3IfRowStatus,
+                         ospfv3IfDemand,
+                         ospfv3IfMetricValue,
+                         ospfv3IfLinkScopeLsaCount,
+                         ospfv3IfLinkLsaCksumSum,
+                         ospfv3IfDemandNbrProbe,
+                         ospfv3IfDemandNbrProbeRetransLimit,
+                         ospfv3IfDemandNbrProbeInterval,
+                         ospfv3IfTEDisabled,
+                         ospfv3IfLinkLSASuppression
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These interface objects are used for
+             managing/monitoring OSPFv3 interfaces."
+         ::= { ospfv3Groups 7 }
+
+ ospfv3VirtIfGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3VirtIfIndex,
+                         ospfv3VirtIfInstId,
+                         ospfv3VirtIfTransitDelay,
+                         ospfv3VirtIfRetransInterval,
+                         ospfv3VirtIfHelloInterval,
+                         ospfv3VirtIfRtrDeadInterval,
+                         ospfv3VirtIfState,
+                         ospfv3VirtIfEvents,
+                         ospfv3VirtIfRowStatus,
+                         ospfv3VirtIfLinkScopeLsaCount,
+                         ospfv3VirtIfLinkLsaCksumSum
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These virtual interface objects are used for
+             managing/monitoring OSPFv3 virtual interfaces."
+         ::= { ospfv3Groups 8 }
+
+ ospfv3NbrGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3NbrAddressType,
+                         ospfv3NbrAddress,
+                         ospfv3NbrOptions,
+                         ospfv3NbrPriority,
+                         ospfv3NbrState,
+                         ospfv3NbrEvents,
+                         ospfv3NbrLsRetransQLen,
+                         ospfv3NbrHelloSuppressed,
+                         ospfv3NbrIfId,
+                         ospfv3NbrRestartHelperStatus,
+                         ospfv3NbrRestartHelperAge,
+                         ospfv3NbrRestartHelperExitReason
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These neighbor objects are used for
+             managing/monitoring OSPFv3 neighbors."
+         ::= { ospfv3Groups 9 }
+
+ ospfv3CfgNbrGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3CfgNbrPriority,
+                         ospfv3CfgNbrRowStatus
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These configured neighbor objects are used for
+             managing/monitoring OSPFv3-configured neighbors."
+         ::= { ospfv3Groups 10 }
+
+ ospfv3VirtNbrGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3VirtNbrIfIndex,
+                         ospfv3VirtNbrIfInstId,
+                         ospfv3VirtNbrAddressType,
+                         ospfv3VirtNbrAddress,
+                         ospfv3VirtNbrOptions,
+                         ospfv3VirtNbrState,
+                         ospfv3VirtNbrEvents,
+                         ospfv3VirtNbrLsRetransQLen,
+                         ospfv3VirtNbrHelloSuppressed,
+                         ospfv3VirtNbrIfId,
+                         ospfv3VirtNbrRestartHelperStatus,
+                         ospfv3VirtNbrRestartHelperAge,
+                         ospfv3VirtNbrRestartHelperExitReason
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These virtual neighbor objects are used for
+             managing/monitoring OSPFv3 virtual neighbors."
+         ::= { ospfv3Groups 11 }
+
+ ospfv3AreaAggregateGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3AreaAggregateRowStatus,
+                         ospfv3AreaAggregateEffect,
+                         ospfv3AreaAggregateRouteTag
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These area aggregate objects are required for
+             aggregating OSPFv3 prefixes for summarization
+             across areas."
+         ::= { ospfv3Groups 12 }
+
+ ospfv3VirtLinkLsdbGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3VirtLinkLsdbSequence,
+                         ospfv3VirtLinkLsdbAge,
+                         ospfv3VirtLinkLsdbChecksum,
+                         ospfv3VirtLinkLsdbAdvertisement,
+                         ospfv3VirtLinkLsdbTypeKnown
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These objects are used for OSPFv3 systems
+             that display their Link-scope link state database
+             for virtual interfaces."
+         ::= { ospfv3Groups 13 }
+
+ ospfv3NotificationObjectGroup OBJECT-GROUP
+         OBJECTS         {
+                         ospfv3ConfigErrorType,
+                         ospfv3PacketType,
+                         ospfv3PacketSrc
+                         }
+         STATUS          current
+         DESCRIPTION
+             "These objects are used to record notification
+             parameters."
+         ::= { ospfv3Groups 14 }
+
+ ospfv3NotificationGroup NOTIFICATION-GROUP
+         NOTIFICATIONS   {
+                         ospfv3VirtIfStateChange,
+                         ospfv3NbrStateChange,
+                         ospfv3VirtNbrStateChange,
+                         ospfv3IfConfigError,
+                         ospfv3VirtIfConfigError,
+                         ospfv3IfRxBadPacket,
+                         ospfv3VirtIfRxBadPacket,
+                         ospfv3LsdbOverflow,
+                         ospfv3LsdbApproachingOverflow,
+                         ospfv3IfStateChange,
+                         ospfv3NssaTranslatorStatusChange,
+                         ospfv3RestartStatusChange,
+                         ospfv3NbrRestartHelperStatusChange,
+                         ospfv3VirtNbrRestartHelperStatusChange
+                         }
+         STATUS          current
+         DESCRIPTION
+             "This group is used for OSPFv3 notifications."
+         ::= { ospfv3Groups 15 }
+
+ END
index c7c5ee35881ceaa8e0229093d52cdbff86748e65..e8a4fbd87887977ab7852812cde45d181cd79784 100644 (file)
@@ -57,6 +57,7 @@ struct ospf6_area
 
   struct thread  *thread_spf_calculation;
   struct thread  *thread_route_calculation;
+  u_int32_t spf_calculation;   /* SPF calculation count */
 
   struct thread *thread_router_lsa;
   struct thread *thread_intra_prefix_lsa;
index 71aa6859c78aa801273effbac5cc3dad90e45cc5..40cda2460548401102bac75daa5ed3493627a86b 100644 (file)
@@ -394,6 +394,7 @@ ospf6_interface_state_change (u_char next_state, struct ospf6_interface *oi)
                  ospf6_interface_state_str[prev_state],
                  ospf6_interface_state_str[next_state]);
     }
+  oi->state_change++;
 
   if ((prev_state == OSPF6_INTERFACE_DR ||
        prev_state == OSPF6_INTERFACE_BDR) &&
@@ -420,6 +421,17 @@ ospf6_interface_state_change (u_char next_state, struct ospf6_interface *oi)
       OSPF6_INTRA_PREFIX_LSA_SCHEDULE_TRANSIT (oi);
       OSPF6_INTRA_PREFIX_LSA_SCHEDULE_STUB (oi->area);
     }
+
+#ifdef HAVE_SNMP
+  /* Terminal state or regression */ 
+  if ((next_state == OSPF6_INTERFACE_POINTTOPOINT) ||
+      (next_state == OSPF6_INTERFACE_DROTHER) ||
+      (next_state == OSPF6_INTERFACE_BDR) ||
+      (next_state == OSPF6_INTERFACE_DR) ||
+      (next_state < prev_state))
+    ospf6TrapIfStateChange (oi);
+#endif
+
 }
 
 \f
index 2d1ff34dbede2627b4435f015e507fb219163700..d80b073035822b8e1039dd59eab5d83ecbb292bf 100644 (file)
@@ -64,6 +64,8 @@ struct ospf6_interface
   u_int16_t dead_interval;
   u_int32_t rxmt_interval;
 
+  u_int32_t state_change;
+
   /* Cost */
   u_int32_t cost;
 
index f6c3aeac7be2ce101bf7e5e94bde47c71b5c3ca6..806767dd56e97e9d2efbe20777722b806c9dcec1 100644 (file)
@@ -89,6 +89,7 @@ ospf6_neighbor_create (u_int32_t router_id, struct ospf6_interface *oi)
             buf, oi->interface->name);
   on->ospf6_if = oi;
   on->state = OSPF6_NEIGHBOR_DOWN;
+  on->state_change = 0;
   quagga_gettime (QUAGGA_CLK_MONOTONIC, &on->last_changed);
   on->router_id = router_id;
 
@@ -154,6 +155,7 @@ ospf6_neighbor_state_change (u_char next_state, struct ospf6_neighbor *on)
   if (prev_state == next_state)
     return;
 
+  on->state_change++;
   quagga_gettime (QUAGGA_CLK_MONOTONIC, &on->last_changed);
 
   /* log */
@@ -180,6 +182,15 @@ ospf6_neighbor_state_change (u_char next_state, struct ospf6_neighbor *on)
       (next_state != OSPF6_NEIGHBOR_EXCHANGE &&
        next_state != OSPF6_NEIGHBOR_LOADING))
     ospf6_maxage_remove (on->ospf6_if->area->ospf6);
+
+#ifdef HAVE_SNMP
+  /* Terminal state or regression */ 
+  if ((next_state == OSPF6_NEIGHBOR_FULL)  ||
+      (next_state == OSPF6_NEIGHBOR_TWOWAY) ||
+      (next_state < prev_state))
+    ospf6TrapNbrStateChange (on);
+#endif
+
 }
 
 /* RFC2328 section 10.4 */
index b3bd173fcdeaf58c55fb896963e4142598579ffa..5f46c6f388400494b6cc98b449f6351f8b800353 100644 (file)
@@ -46,6 +46,7 @@ struct ospf6_neighbor
   u_char state;
 
   /* timestamp of last changing state */
+  u_int32_t state_change;
   struct timeval last_changed;
 
   /* Neighbor Router ID */
index d252f549f09c7b54388019cb2fbc5ab231926960..f8a3b9204f9af4768f81fb66fc48a3fd4601c586 100644 (file)
@@ -44,7 +44,7 @@
 #include "ospf6_snmp.h"
 
 /* OSPFv3-MIB */
-#define OSPFv3MIB 1,3,6,1,3,102
+#define OSPFv3MIB 1,3,6,1,2,1,191
 
 /* OSPFv3 MIB General Group values. */
 #define OSPFv3ROUTERID                   1
 #define OSPFv3RXNEWLSAS                  9
 #define OSPFv3EXTLSACOUNT               10
 #define OSPFv3EXTAREALSDBLIMIT          11
-#define OSPFv3MULTICASTEXTENSIONS       12
-#define OSPFv3EXITOVERFLOWINTERVAL      13
-#define OSPFv3DEMANDEXTENSIONS          14
-#define OSPFv3TRAFFICENGINEERINGSUPPORT 15
-#define OSPFv3REFERENCEBANDWIDTH        16
-#define OSPFv3RESTARTSUPPORT            17
-#define OSPFv3RESTARTINTERVAL           18
-#define OSPFv3RESTARTSTATUS             19
-#define OSPFv3RESTARTAGE                20
-#define OSPFv3RESTARTEXITREASON         21
-
-/* OSPFv3 MIB Area Table values. */
-#define OSPFv3AREAID                     1
+#define OSPFv3EXITOVERFLOWINTERVAL      12
+#define OSPFv3DEMANDEXTENSIONS          13
+#define OSPFv3REFERENCEBANDWIDTH        14
+#define OSPFv3RESTARTSUPPORT            15
+#define OSPFv3RESTARTINTERVAL           16
+#define OSPFv3RESTARTSTRICTLSACHECKING  17
+#define OSPFv3RESTARTSTATUS             18
+#define OSPFv3RESTARTAGE                19
+#define OSPFv3RESTARTEXITREASON         20
+#define OSPFv3NOTIFICATIONENABLE        21
+#define OSPFv3STUBROUTERSUPPORT         22
+#define OSPFv3STUBROUTERADVERTISEMENT   23
+#define OSPFv3DISCONTINUITYTIME         24
+#define OSPFv3RESTARTTIME               25
+
+/* OSPFv3 MIB Area Table values: ospfv3AreaTable */
 #define OSPFv3IMPORTASEXTERN             2
 #define OSPFv3AREASPFRUNS                3
 #define OSPFv3AREABDRRTRCOUNT            4
 #define OSPFv3AREASCOPELSACOUNT          6
 #define OSPFv3AREASCOPELSACKSUMSUM       7
 #define OSPFv3AREASUMMARY                8
-#define OSPFv3AREASTATUS                 9
-#define OSPFv3STUBMETRIC                10
+#define OSPFv3AREAROWSTATUS              9
+#define OSPFv3AREASTUBMETRIC            10
 #define OSPFv3AREANSSATRANSLATORROLE    11
 #define OSPFv3AREANSSATRANSLATORSTATE   12
-#define OSPFv3AREANSSATRANSLATORSTABILITYINTERVAL    13
+#define OSPFv3AREANSSATRANSLATORSTABINTERVAL    13
 #define OSPFv3AREANSSATRANSLATOREVENTS  14
 #define OSPFv3AREASTUBMETRICTYPE        15
+#define OSPFv3AREATEENABLED             16
+
+/* OSPFv3 MIB * Lsdb Table values: ospfv3*LsdbTable */
+#define OSPFv3WWLSDBSEQUENCE             1
+#define OSPFv3WWLSDBAGE                  2
+#define OSPFv3WWLSDBCHECKSUM             3
+#define OSPFv3WWLSDBADVERTISEMENT        4
+#define OSPFv3WWLSDBTYPEKNOWN            5
+
+/* Three first bits are to identify column */
+#define OSPFv3WWCOLUMN 0x7
+/* Then we use other bits to identify table */
+#define OSPFv3WWASTABLE   (1 << 3)
+#define OSPFv3WWAREATABLE (1 << 4)
+#define OSPFv3WWLINKTABLE (1 << 5)
+#define OSPFv3WWVIRTLINKTABLE (1 << 6)
+
+/* OSPFv3 MIB Host Table values: ospfv3HostTable */
+#define OSPFv3HOSTMETRIC                 3
+#define OSPFv3HOSTROWSTATUS              4
+#define OSPFv3HOSTAREAID                 5
+
+/* OSPFv3 MIB Interface Table values: ospfv3IfTable */
+#define OSPFv3IFAREAID                   3
+#define OSPFv3IFTYPE                     4
+#define OSPFv3IFADMINSTATUS              5
+#define OSPFv3IFRTRPRIORITY              6
+#define OSPFv3IFTRANSITDELAY             7
+#define OSPFv3IFRETRANSINTERVAL          8
+#define OSPFv3IFHELLOINTERVAL            9
+#define OSPFv3IFRTRDEADINTERVAL         10
+#define OSPFv3IFPOLLINTERVAL            11
+#define OSPFv3IFSTATE                   12
+#define OSPFv3IFDESIGNATEDROUTER        13
+#define OSPFv3IFBACKUPDESIGNATEDROUTER  14
+#define OSPFv3IFEVENTS                  15
+#define OSPFv3IFROWSTATUS               16
+#define OSPFv3IFDEMAND                  17
+#define OSPFv3IFMETRICVALUE             18
+#define OSPFv3IFLINKSCOPELSACOUNT       19
+#define OSPFv3IFLINKLSACKSUMSUM         20
+#define OSPFv3IFDEMANDNBRPROBE          21
+#define OSPFv3IFDEMANDNBRPROBERETRANSLIMIT 22
+#define OSPFv3IFDEMANDNBRPROBEINTERVAL  23
+#define OSPFv3IFTEDISABLED              24
+#define OSPFv3IFLINKLSASUPPRESSION      25
+
+/* OSPFv3 MIB Virtual Interface Table values: ospfv3VirtIfTable */
+#define OSPFv3VIRTIFINDEX           3
+#define OSPFv3VIRTIFINSTID          4
+#define OSPFv3VIRTIFTRANSITDELAY    5
+#define OSPFv3VIRTIFRETRANSINTERVAL 6
+#define OSPFv3VIRTIFHELLOINTERVAL   7
+#define OSPFv3VIRTIFRTRDEADINTERVAL 8
+#define OSPFv3VIRTIFSTATE           9
+#define OSPFv3VIRTIFEVENTS         10
+#define OSPFv3VIRTIFROWSTATUS      11
+#define OSPFv3VIRTIFLINKSCOPELSACOUNT 12
+#define OSPFv3VIRTIFLINKLSACKSUMSUM   13
+
+/* OSPFv3 MIB Neighbors Table values: ospfv3NbrTable */
+#define OSPFv3NBRADDRESSTYPE      4
+#define OSPFv3NBRADDRESS          5
+#define OSPFv3NBROPTIONS          6
+#define OSPFv3NBRPRIORITY         7
+#define OSPFv3NBRSTATE            8
+#define OSPFv3NBREVENTS           9
+#define OSPFv3NBRLSRETRANSQLEN   10
+#define OSPFv3NBRHELLOSUPPRESSED 11
+#define OSPFv3NBRIFID            12
+#define OSPFv3NBRRESTARTHELPERSTATUS     13
+#define OSPFv3NBRRESTARTHELPERAGE        14
+#define OSPFv3NBRRESTARTHELPEREXITREASON 15
+
+/* OSPFv3 MIB Configured Neighbors Table values: ospfv3CfgNbrTable */
+#define OSPFv3CFGNBRPRIORITY  5
+#define OSPFv3CFGNBRROWSTATUS 6
 
-/* OSPFv3 MIB Area Lsdb Table values. */
-#define OSPFv3AREALSDBAREAID             1
-#define OSPFv3AREALSDBTYPE               2
-#define OSPFv3AREALSDBROUTERID           3
-#define OSPFv3AREALSDBLSID               4
-#define OSPFv3AREALSDBSEQUENCE           5
-#define OSPFv3AREALSDBAGE                6
-#define OSPFv3AREALSDBCHECKSUM           7
-#define OSPFv3AREALSDBADVERTISEMENT      8
-#define OSPFv3AREALSDBTYPEKNOWN          9
+/* OSPFv3 MIB Virtual Neighbors Table values: ospfv3VirtNbrTable */
+#define OSPFv3VIRTNBRIFINDEX          3
+#define OSPFv3VIRTNBRIFINSTID         4
+#define OSPFv3VIRTNBRADDRESSTYPE      5
+#define OSPFv3VIRTNBRADDRESS          6
+#define OSPFv3VIRTNBROPTIONS          7
+#define OSPFv3VIRTNBRSTATE            8
+#define OSPFv3VIRTNBREVENTS           9
+#define OSPFv3VIRTNBRLSRETRANSQLEN   10
+#define OSPFv3VIRTNBRHELLOSUPPRESSED 11
+#define OSPFv3VIRTNBRIFID            12
+#define OSPFv3VIRTNBRRESTARTHELPERSTATUS     13
+#define OSPFv3VIRTNBRRESTARTHELPERAGE        14
+#define OSPFv3VIRTNBRRESTARTHELPEREXITREASON 15
+
+/* OSPFv3 MIB Area Aggregate Table values: ospfv3AreaAggregateTable */
+#define OSPFv3AREAAGGREGATEROWSTATUS  6
+#define OSPFv3AREAAGGREGATEEFFECT     7
+#define OSPFv3AREAAGGREGATEROUTETAG   8
 
 /* SYNTAX Status from OSPF-MIB. */
 #define OSPF_STATUS_ENABLED  1
 #define COUNTER     ASN_COUNTER
 #define INTEGER     ASN_INTEGER
 #define GAUGE       ASN_GAUGE
+#define UNSIGNED    ASN_UNSIGNED
 #define TIMETICKS   ASN_TIMETICKS
 #define IPADDRESS   ASN_IPADDRESS
 #define STRING      ASN_OCTET_STR
 /* For return values e.g. SNMP_INTEGER macro */
 SNMP_LOCAL_VARIABLES
 
-static struct in_addr tmp;
-#define INT32_INADDR(x) \
-  (tmp.s_addr = (x), tmp)
-
 /* OSPFv3-MIB instances. */
 oid ospfv3_oid [] = { OSPFv3MIB };
-
-/* empty ID 0.0.0.0 e.g. empty router-id */
-static struct in_addr ospf6_empty_id = {0};
+oid ospfv3_trap_oid [] = { OSPFv3MIB, 0 };
 
 /* Hook functions. */
 static u_char *ospfv3GeneralGroup (struct variable *, oid *, size_t *,
                                   int, size_t *, WriteMethod **);
 static u_char *ospfv3AreaEntry (struct variable *, oid *, size_t *,
                                int, size_t *, WriteMethod **);
-static u_char *ospfv3AreaLsdbEntry (struct variable *, oid *, size_t *,
-                                   int, size_t *, WriteMethod **);
+static u_char *ospfv3WwLsdbEntry (struct variable *, oid *, size_t *,
+                                 int, size_t *, WriteMethod **);
+static u_char *ospfv3NbrEntry (struct variable *, oid *, size_t *,
+                              int, size_t *, WriteMethod **);
+static u_char *ospfv3IfEntry (struct variable *, oid *, size_t *,
+                             int, size_t *, WriteMethod **);
 
 struct variable ospfv3_variables[] =
 {
   /* OSPF general variables */
-  {OSPFv3ROUTERID,              IPADDRESS, RWRITE, ospfv3GeneralGroup,
+  {OSPFv3ROUTERID,             UNSIGNED,   RWRITE, ospfv3GeneralGroup,
    3, {1, 1, 1}},
   {OSPFv3ADMINSTAT,             INTEGER,   RWRITE, ospfv3GeneralGroup,
    3, {1, 1, 2}},
@@ -145,7 +233,7 @@ struct variable ospfv3_variables[] =
    3, {1, 1, 5}},
   {OSPFv3ASSCOPELSACOUNT,       GAUGE,     RONLY,  ospfv3GeneralGroup,
    3, {1, 1, 6}},
-  {OSPFv3ASSCOPELSACHECKSUMSUM, INTEGER,   RONLY,  ospfv3GeneralGroup,
+  {OSPFv3ASSCOPELSACHECKSUMSUM,UNSIGNED,   RONLY,  ospfv3GeneralGroup,
    3, {1, 1, 7}},
   {OSPFv3ORIGINATENEWLSAS,      COUNTER,   RONLY,  ospfv3GeneralGroup,
    3, {1, 1, 8}},
@@ -155,30 +243,36 @@ struct variable ospfv3_variables[] =
    3, {1, 1, 10}},
   {OSPFv3EXTAREALSDBLIMIT,      INTEGER,   RWRITE, ospfv3GeneralGroup,
    3, {1, 1, 11}},
-  {OSPFv3MULTICASTEXTENSIONS,   INTEGER,   RWRITE, ospfv3GeneralGroup,
+  {OSPFv3EXITOVERFLOWINTERVAL, UNSIGNED,   RWRITE, ospfv3GeneralGroup,
    3, {1, 1, 12}},
-  {OSPFv3EXITOVERFLOWINTERVAL,  INTEGER,   RWRITE, ospfv3GeneralGroup,
-   3, {1, 1, 13}},
   {OSPFv3DEMANDEXTENSIONS,      INTEGER,   RWRITE, ospfv3GeneralGroup,
+   3, {1, 1, 13}},
+  {OSPFv3REFERENCEBANDWIDTH,   UNSIGNED, RWRITE, ospfv3GeneralGroup,
    3, {1, 1, 14}},
-  {OSPFv3TRAFFICENGINEERINGSUPPORT, INTEGER, RWRITE, ospfv3GeneralGroup,
+  {OSPFv3RESTARTSUPPORT,        INTEGER, RWRITE, ospfv3GeneralGroup,
    3, {1, 1, 15}},
-  {OSPFv3REFERENCEBANDWIDTH,    INTEGER, RWRITE, ospfv3GeneralGroup,
+  {OSPFv3RESTARTINTERVAL,      UNSIGNED, RWRITE, ospfv3GeneralGroup,
    3, {1, 1, 16}},
-  {OSPFv3RESTARTSUPPORT,        INTEGER, RWRITE, ospfv3GeneralGroup,
+  {OSPFv3RESTARTSTRICTLSACHECKING, INTEGER, RWRITE, ospfv3GeneralGroup,
    3, {1, 1, 17}},
-  {OSPFv3RESTARTINTERVAL,       INTEGER, RWRITE, ospfv3GeneralGroup,
-   3, {1, 1, 18}},
   {OSPFv3RESTARTSTATUS,         INTEGER, RONLY,  ospfv3GeneralGroup,
+   3, {1, 1, 18}},
+  {OSPFv3RESTARTAGE,           UNSIGNED, RONLY,  ospfv3GeneralGroup,
    3, {1, 1, 19}},
-  {OSPFv3RESTARTAGE,            INTEGER, RONLY,  ospfv3GeneralGroup,
-   3, {1, 1, 20}},
   {OSPFv3RESTARTEXITREASON,     INTEGER, RONLY,  ospfv3GeneralGroup,
+   3, {1, 1, 20}},
+  {OSPFv3NOTIFICATIONENABLE,    INTEGER, RWRITE, ospfv3GeneralGroup,
    3, {1, 1, 21}},
+  {OSPFv3STUBROUTERSUPPORT,     INTEGER, RONLY,  ospfv3GeneralGroup,
+   3, {1, 1, 22}},
+  {OSPFv3STUBROUTERADVERTISEMENT, INTEGER, RWRITE, ospfv3GeneralGroup,
+   3, {1, 1, 23}},
+  {OSPFv3DISCONTINUITYTIME,     TIMETICKS, RONLY,  ospfv3GeneralGroup,
+   3, {1, 1, 24}},
+  {OSPFv3RESTARTTIME,           TIMETICKS, RONLY,  ospfv3GeneralGroup,
+   3, {1, 1, 25}},
 
   /* OSPFv3 Area Data Structure */
-  {OSPFv3AREAID,                IPADDRESS, RONLY,  ospfv3AreaEntry,
-   4, {1, 2, 1, 1}},
   {OSPFv3IMPORTASEXTERN,        INTEGER,   RWRITE, ospfv3AreaEntry,
    4, {1, 2, 1, 2}},
   {OSPFv3AREASPFRUNS,           COUNTER,   RONLY,  ospfv3AreaEntry,
@@ -189,50 +283,146 @@ struct variable ospfv3_variables[] =
    4, {1, 2, 1, 5}},
   {OSPFv3AREASCOPELSACOUNT,     GAUGE,     RONLY,  ospfv3AreaEntry,
    4, {1, 2, 1, 6}},
-  {OSPFv3AREASCOPELSACKSUMSUM,  INTEGER,   RONLY,  ospfv3AreaEntry,
+  {OSPFv3AREASCOPELSACKSUMSUM, UNSIGNED,   RONLY,  ospfv3AreaEntry,
    4, {1, 2, 1, 7}},
   {OSPFv3AREASUMMARY,           INTEGER,   RWRITE, ospfv3AreaEntry,
    4, {1, 2, 1, 8}},
-  {OSPFv3AREASTATUS,            INTEGER,   RWRITE, ospfv3AreaEntry,
+  {OSPFv3AREAROWSTATUS,         INTEGER,   RWRITE, ospfv3AreaEntry,
    4, {1, 2, 1, 9}},
-  {OSPFv3STUBMETRIC,            INTEGER,   RWRITE, ospfv3AreaEntry,
+  {OSPFv3AREASTUBMETRIC,        INTEGER,   RWRITE, ospfv3AreaEntry,
    4, {1, 2, 1, 10}},
   {OSPFv3AREANSSATRANSLATORROLE, INTEGER,  RWRITE, ospfv3AreaEntry,
    4, {1, 2, 1, 11}},
   {OSPFv3AREANSSATRANSLATORSTATE, INTEGER, RONLY,  ospfv3AreaEntry,
    4, {1, 2, 1, 12}},
-  {OSPFv3AREANSSATRANSLATORSTABILITYINTERVAL, INTEGER, RWRITE, ospfv3AreaEntry,
+  {OSPFv3AREANSSATRANSLATORSTABINTERVAL, UNSIGNED, RWRITE, ospfv3AreaEntry,
    4, {1, 2, 1, 13}},
   {OSPFv3AREANSSATRANSLATOREVENTS, COUNTER, RONLY, ospfv3AreaEntry,
    4, {1, 2, 1, 14}},
   {OSPFv3AREASTUBMETRICTYPE,    INTEGER, RWRITE, ospfv3AreaEntry,
    4, {1, 2, 1, 15}},
+  {OSPFv3AREATEENABLED,         INTEGER, RWRITE, ospfv3AreaEntry,
+   4, {1, 2, 1, 16}},
 
-  {OSPFv3AREALSDBAREAID,        IPADDRESS, RONLY,  ospfv3AreaLsdbEntry,
-   4, {1, 4, 1, 1}},
-  {OSPFv3AREALSDBTYPE,          GAUGE,     RONLY,  ospfv3AreaLsdbEntry,
-   4, {1, 4, 1, 2}},
-  {OSPFv3AREALSDBROUTERID,      IPADDRESS, RONLY,  ospfv3AreaLsdbEntry,
-   4, {1, 4, 1, 3}},
-  {OSPFv3AREALSDBLSID,          IPADDRESS, RONLY,  ospfv3AreaLsdbEntry,
-   4, {1, 4, 1, 4}},
-  {OSPFv3AREALSDBSEQUENCE,      INTEGER,   RONLY,  ospfv3AreaLsdbEntry,
+  /* OSPFv3 AS LSDB */
+  {OSPFv3WWLSDBSEQUENCE | OSPFv3WWASTABLE,      INTEGER,   RONLY,  ospfv3WwLsdbEntry,
+   4, {1, 3, 1, 4}},
+  {OSPFv3WWLSDBAGE | OSPFv3WWASTABLE,           UNSIGNED,  RONLY,  ospfv3WwLsdbEntry,
+   4, {1, 3, 1, 5}},
+  {OSPFv3WWLSDBCHECKSUM | OSPFv3WWASTABLE,      INTEGER,   RONLY,  ospfv3WwLsdbEntry,
+   4, {1, 3, 1, 6}},
+  {OSPFv3WWLSDBADVERTISEMENT | OSPFv3WWASTABLE, STRING,    RONLY,  ospfv3WwLsdbEntry,
+   4, {1, 3, 1, 7}},
+  {OSPFv3WWLSDBTYPEKNOWN | OSPFv3WWASTABLE,     INTEGER,   RONLY,  ospfv3WwLsdbEntry,
+   4, {1, 3, 1, 8}},
+
+  /* OSPFv3 Area LSDB */
+  {OSPFv3WWLSDBSEQUENCE | OSPFv3WWAREATABLE,      INTEGER,   RONLY,  ospfv3WwLsdbEntry,
    4, {1, 4, 1, 5}},
-  {OSPFv3AREALSDBAGE,           INTEGER,   RONLY,  ospfv3AreaLsdbEntry,
+  {OSPFv3WWLSDBAGE | OSPFv3WWAREATABLE,           UNSIGNED,  RONLY,  ospfv3WwLsdbEntry,
    4, {1, 4, 1, 6}},
-  {OSPFv3AREALSDBCHECKSUM,      INTEGER,   RONLY,  ospfv3AreaLsdbEntry,
+  {OSPFv3WWLSDBCHECKSUM | OSPFv3WWAREATABLE,      INTEGER,   RONLY,  ospfv3WwLsdbEntry,
    4, {1, 4, 1, 7}},
-  {OSPFv3AREALSDBADVERTISEMENT, STRING,    RONLY,  ospfv3AreaLsdbEntry,
+  {OSPFv3WWLSDBADVERTISEMENT | OSPFv3WWAREATABLE, STRING,    RONLY,  ospfv3WwLsdbEntry,
    4, {1, 4, 1, 8}},
-  {OSPFv3AREALSDBTYPEKNOWN,     INTEGER,   RONLY,  ospfv3AreaLsdbEntry,
+  {OSPFv3WWLSDBTYPEKNOWN | OSPFv3WWAREATABLE,     INTEGER,   RONLY,  ospfv3WwLsdbEntry,
    4, {1, 4, 1, 9}},
 
+  /* OSPFv3 Link LSDB */
+  {OSPFv3WWLSDBSEQUENCE | OSPFv3WWLINKTABLE,      INTEGER,   RONLY,  ospfv3WwLsdbEntry,
+   4, {1, 5, 1, 6}},
+  {OSPFv3WWLSDBAGE | OSPFv3WWLINKTABLE,           UNSIGNED,  RONLY,  ospfv3WwLsdbEntry,
+   4, {1, 5, 1, 7}},
+  {OSPFv3WWLSDBCHECKSUM | OSPFv3WWLINKTABLE,      INTEGER,   RONLY,  ospfv3WwLsdbEntry,
+   4, {1, 5, 1, 8}},
+  {OSPFv3WWLSDBADVERTISEMENT | OSPFv3WWLINKTABLE, STRING,    RONLY,  ospfv3WwLsdbEntry,
+   4, {1, 5, 1, 9}},
+  {OSPFv3WWLSDBTYPEKNOWN | OSPFv3WWLINKTABLE,     INTEGER,   RONLY,  ospfv3WwLsdbEntry,
+   4, {1, 5, 1, 10}},
+
+  /* OSPFv3 interfaces */
+  {OSPFv3IFAREAID,             UNSIGNED, RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 3}},
+  {OSPFv3IFTYPE,               INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 4}},
+  {OSPFv3IFADMINSTATUS,        INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 5}},
+  {OSPFv3IFRTRPRIORITY,        INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 6}},
+  {OSPFv3IFTRANSITDELAY,       UNSIGNED, RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 7}},
+  {OSPFv3IFRETRANSINTERVAL,    UNSIGNED, RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 8}},
+  {OSPFv3IFHELLOINTERVAL,      INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 9}},
+  {OSPFv3IFRTRDEADINTERVAL,    UNSIGNED, RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 10}},
+  {OSPFv3IFPOLLINTERVAL,       UNSIGNED, RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 11}},
+  {OSPFv3IFSTATE,              INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 12}},
+  {OSPFv3IFDESIGNATEDROUTER,   UNSIGNED, RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 13}},
+  {OSPFv3IFBACKUPDESIGNATEDROUTER, UNSIGNED, RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 14}},
+  {OSPFv3IFEVENTS,             COUNTER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 15}},
+  {OSPFv3IFROWSTATUS,          INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 16}},
+  {OSPFv3IFDEMAND,             INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 17}},
+  {OSPFv3IFMETRICVALUE,        INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 18}},
+  {OSPFv3IFLINKSCOPELSACOUNT,  GAUGE,    RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 19}},
+  {OSPFv3IFLINKLSACKSUMSUM,    UNSIGNED, RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 20}},
+  {OSPFv3IFDEMANDNBRPROBE,     INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 21}},
+  {OSPFv3IFDEMANDNBRPROBERETRANSLIMIT, UNSIGNED, RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 22}},
+  {OSPFv3IFDEMANDNBRPROBEINTERVAL, UNSIGNED, RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 23}},
+  {OSPFv3IFTEDISABLED,         INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 24}},
+  {OSPFv3IFLINKLSASUPPRESSION, INTEGER,  RONLY, ospfv3IfEntry,
+   4, {1, 7, 1, 25}},
+
+  /* OSPFv3 neighbors */
+  {OSPFv3NBRADDRESSTYPE,        INTEGER,   RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 4}},
+  {OSPFv3NBRADDRESS,            STRING,    RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 5}},
+  {OSPFv3NBROPTIONS,            INTEGER,   RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 6}},
+  {OSPFv3NBRPRIORITY,           INTEGER,   RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 7}},
+  {OSPFv3NBRSTATE,              INTEGER,   RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 8}},
+  {OSPFv3NBREVENTS,             COUNTER,   RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 9}},
+  {OSPFv3NBRLSRETRANSQLEN,        GAUGE,   RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 10}},
+  {OSPFv3NBRHELLOSUPPRESSED,    INTEGER,   RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 11}},
+  {OSPFv3NBRIFID,               INTEGER,   RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 12}},
+  {OSPFv3NBRRESTARTHELPERSTATUS, INTEGER,  RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 13}},
+  {OSPFv3NBRRESTARTHELPERAGE,  UNSIGNED,   RONLY,  ospfv3NbrEntry,
+   4, {1, 9, 1, 14}},
+  {OSPFv3NBRRESTARTHELPEREXITREASON, INTEGER, RONLY, ospfv3NbrEntry,
+   4, {1, 9, 1, 15}},
 };
 
 static u_char *
 ospfv3GeneralGroup (struct variable *v, oid *name, size_t *length,
                     int exact, size_t *var_len, WriteMethod **write_method)
 {
+  u_int16_t sum;
+  u_int32_t count;
+  struct ospf6_lsa *lsa = NULL;
+
   /* Check whether the instance identifier is valid */
   if (smux_header_generic (v, name, length, exact, var_len, write_method)
       == MATCH_FAILED)
@@ -241,54 +431,76 @@ ospfv3GeneralGroup (struct variable *v, oid *name, size_t *length,
   /* Return the current value of the variable */
   switch (v->magic)
     {
-    case OSPFv3ROUTERID:                  /* 1*/
+    case OSPFv3ROUTERID:
       /* Router-ID of this OSPF instance. */
       if (ospf6)
-       return SNMP_IPADDRESS (INT32_INADDR (ospf6->router_id));
-      else
-       return SNMP_IPADDRESS (ospf6_empty_id);
-      break;
-    case OSPFv3ADMINSTAT:                 /* 2*/
-      break;
-    case OSPFv3VERSIONNUMBER:             /* 3*/
-      break;
-    case OSPFv3AREABDRRTRSTATUS:          /* 4*/
-      break;
-    case OSPFv3ASBDRRTRSTATUS:            /* 5*/
-      break;
-    case OSPFv3ASSCOPELSACOUNT:           /* 6*/
-      break;
-    case OSPFv3ASSCOPELSACHECKSUMSUM:     /* 7*/
-      break;
-    case OSPFv3ORIGINATENEWLSAS:          /* 8*/
-      break;
-    case OSPFv3RXNEWLSAS:                 /* 9*/
-      break;
-    case OSPFv3EXTLSACOUNT:               /*10*/
-      break;
-    case OSPFv3EXTAREALSDBLIMIT:          /*11*/
-      break;
-    case OSPFv3MULTICASTEXTENSIONS:       /*12*/
-      break;
-    case OSPFv3EXITOVERFLOWINTERVAL:      /*13*/
-      break;
-    case OSPFv3DEMANDEXTENSIONS:          /*14*/
-      break;
-    case OSPFv3TRAFFICENGINEERINGSUPPORT: /*15*/
-      break;
-    case OSPFv3REFERENCEBANDWIDTH:        /*16*/
-      break;
-    case OSPFv3RESTARTSUPPORT:            /*17*/
-      break;
-    case OSPFv3RESTARTINTERVAL:           /*18*/
-      break;
-    case OSPFv3RESTARTSTATUS:             /*19*/
-      break;
-    case OSPFv3RESTARTAGE:                /*20*/
-      break;
-    case OSPFv3RESTARTEXITREASON:         /*21*/
-      break;
-    default:
+       return SNMP_INTEGER (ntohl (ospf6->router_id));
+      return SNMP_INTEGER (0);
+    case OSPFv3ADMINSTAT:
+      if (ospf6)
+       return SNMP_INTEGER (CHECK_FLAG (ospf6->flag, OSPF6_DISABLED)?
+                            OSPF_STATUS_DISABLED:OSPF_STATUS_ENABLED);
+      return SNMP_INTEGER (OSPF_STATUS_DISABLED);
+    case OSPFv3VERSIONNUMBER:
+      return SNMP_INTEGER (3);
+    case OSPFv3AREABDRRTRSTATUS:
+      if (ospf6)
+       return SNMP_INTEGER (ospf6_is_router_abr (ospf6)?SNMP_TRUE:SNMP_FALSE);
+      return SNMP_INTEGER (SNMP_FALSE);
+    case OSPFv3ASBDRRTRSTATUS:
+      if (ospf6)
+       return SNMP_INTEGER (ospf6_asbr_is_asbr (ospf6)?SNMP_TRUE:SNMP_FALSE);
+      return SNMP_INTEGER (SNMP_FALSE);
+    case OSPFv3ASSCOPELSACOUNT:
+      if (ospf6)
+       return SNMP_INTEGER (ospf6->lsdb->count);
+      return SNMP_INTEGER (0);
+    case OSPFv3ASSCOPELSACHECKSUMSUM:
+      if (ospf6)
+        {
+          for (sum = 0, lsa = ospf6_lsdb_head (ospf6->lsdb);
+               lsa;
+               lsa = ospf6_lsdb_next (lsa))
+            sum += ntohs (lsa->header->checksum);
+          return SNMP_INTEGER (sum);
+        }
+      return SNMP_INTEGER (0);
+    case OSPFv3ORIGINATENEWLSAS:
+      return SNMP_INTEGER (0); /* Don't know where to get this value... */
+    case OSPFv3RXNEWLSAS:
+      return SNMP_INTEGER (0); /* Don't know where to get this value... */
+    case OSPFv3EXTLSACOUNT:
+      if (ospf6)
+        {
+          for (count = 0, lsa = ospf6_lsdb_type_head (htons (OSPF6_LSTYPE_AS_EXTERNAL),
+                                                      ospf6->lsdb);
+               lsa;
+               lsa = ospf6_lsdb_type_next (htons (OSPF6_LSTYPE_AS_EXTERNAL),
+                                           lsa))
+            count += 1;
+          return SNMP_INTEGER (count);
+        }
+      return SNMP_INTEGER (0);
+    case OSPFv3EXTAREALSDBLIMIT:
+      return SNMP_INTEGER (-1);
+    case OSPFv3EXITOVERFLOWINTERVAL:
+      return SNMP_INTEGER (0); /* Not supported */
+    case OSPFv3DEMANDEXTENSIONS:
+      return SNMP_INTEGER (0); /* Not supported */
+    case OSPFv3REFERENCEBANDWIDTH:
+      return SNMP_INTEGER (100000);
+    case OSPFv3RESTARTSUPPORT:
+    case OSPFv3RESTARTINTERVAL:
+    case OSPFv3RESTARTSTRICTLSACHECKING:
+    case OSPFv3RESTARTSTATUS:
+    case OSPFv3RESTARTAGE:
+    case OSPFv3RESTARTEXITREASON:
+    case OSPFv3NOTIFICATIONENABLE:
+    case OSPFv3STUBROUTERSUPPORT:
+    case OSPFv3STUBROUTERADVERTISEMENT:
+    case OSPFv3DISCONTINUITYTIME:
+    case OSPFv3RESTARTTIME:
+      /* TODO: Not implemented */
       return NULL;
     }
   return NULL;
@@ -299,9 +511,14 @@ ospfv3AreaEntry (struct variable *v, oid *name, size_t *length,
                  int exact, size_t *var_len, WriteMethod **write_method)
 {
   struct ospf6_area *oa, *area = NULL;
+  struct ospf6_lsa *lsa = NULL;
   u_int32_t area_id = 0;
+  u_int32_t count;
+  u_int16_t sum;
   struct listnode *node;
   unsigned int len;
+  char a[16];
+  struct ospf6_route *ro;
 
   if (ospf6 == NULL)
     return NULL;
@@ -311,15 +528,15 @@ ospfv3AreaEntry (struct variable *v, oid *name, size_t *length,
     return NULL;
 
   len = *length - v->namelen;
-  len = (len >= sizeof (u_int32_t) ? sizeof (u_int32_t) : 0);
-  if (exact && len != sizeof (u_int32_t))
+  len = (len >= 1 ? sizeof 1 : 0);
+  if (exact && len != 1)
     return NULL;
   if (len)
-    oid2in_addr (name + v->namelen, len, (struct in_addr *) &area_id);
+    area_id  = htonl (name[v->namelen]);
 
+  inet_ntop (AF_INET, &area_id, a, sizeof (a));
   zlog_debug ("SNMP access by area: %s, exact=%d len=%d length=%lu",
-             inet_ntoa (* (struct in_addr *) &area_id),
-             exact, len, (u_long)*length);
+             a, exact, len, (u_long)*length);
 
   for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
     {
@@ -337,53 +554,88 @@ ospfv3AreaEntry (struct variable *v, oid *name, size_t *length,
   if (area == NULL)
     return NULL;
 
-  *length = v->namelen + sizeof (u_int32_t);
-  oid_copy_addr (name + v->namelen, (struct in_addr *) &area->area_id,
-                 sizeof (u_int32_t));
+  *length = v->namelen + 1;
+  name[v->namelen] = ntohl (area->area_id);
 
+  inet_ntop (AF_INET, &area->area_id, a, sizeof (a));
   zlog_debug ("SNMP found area: %s, exact=%d len=%d length=%lu",
-             inet_ntoa (* (struct in_addr *) &area->area_id),
-             exact, len, (u_long)*length);
+             a, exact, len, (u_long)*length);
 
   switch (v->magic)
     {
-    case OSPFv3AREAID:                   /* 1*/
-      return SNMP_IPADDRESS (INT32_INADDR (area->area_id));
-      break;
-    case OSPFv3IMPORTASEXTERN:           /* 2*/
-      return SNMP_INTEGER (ospf6->external_table->count);
-      break;
-    default:
+    case OSPFv3IMPORTASEXTERN:
+      /* No NSSA support */
+      return SNMP_INTEGER (IS_AREA_STUB(area)?2:1);
+    case OSPFv3AREASPFRUNS:
+      return SNMP_INTEGER (area->spf_calculation);
+    case OSPFv3AREABDRRTRCOUNT:
+    case OSPFv3AREAASBDRRTRCOUNT:
+      count = 0;
+      for (ro = ospf6_route_head (ospf6->brouter_table); ro;
+          ro = ospf6_route_next (ro))
+        {
+          if (ntohl (ro->path.area_id) != ntohl (area->area_id)) continue;
+          if (v->magic == OSPFv3AREABDRRTRCOUNT &&
+              CHECK_FLAG (ro->path.router_bits, OSPF6_ROUTER_BIT_B))
+            count++;
+          if (v->magic == OSPFv3AREAASBDRRTRCOUNT &&
+              CHECK_FLAG (ro->path.router_bits, OSPF6_ROUTER_BIT_E))
+            count++;
+        }
+      return SNMP_INTEGER (count);
+    case OSPFv3AREASCOPELSACOUNT:
+      return SNMP_INTEGER (area->lsdb->count);
+    case OSPFv3AREASCOPELSACKSUMSUM:
+      for (sum = 0, lsa = ospf6_lsdb_head (area->lsdb);
+          lsa;
+          lsa = ospf6_lsdb_next (lsa))
+       sum += ntohs (lsa->header->checksum);
+      return SNMP_INTEGER (sum);
+    case OSPFv3AREASUMMARY:
+      return SNMP_INTEGER (2); /* sendAreaSummary */
+    case OSPFv3AREAROWSTATUS:
+      return SNMP_INTEGER (1); /* Active */
+    case OSPFv3AREASTUBMETRIC:
+    case OSPFv3AREANSSATRANSLATORROLE:
+    case OSPFv3AREANSSATRANSLATORSTATE:
+    case OSPFv3AREANSSATRANSLATORSTABINTERVAL:
+    case OSPFv3AREANSSATRANSLATOREVENTS:
+    case OSPFv3AREASTUBMETRICTYPE:
+    case OSPFv3AREATEENABLED:
+      /* Not implemented. */
       return NULL;
-      break;
     }
   return NULL;
 }
 
+static int
+if_icmp_func (struct interface *ifp1, struct interface *ifp2)
+{
+  return (ifp1->ifindex - ifp2->ifindex);
+}
+
 static u_char *
-ospfv3AreaLsdbEntry (struct variable *v, oid *name, size_t *length,
+ospfv3WwLsdbEntry (struct variable *v, oid *name, size_t *length,
                      int exact, size_t *var_len, WriteMethod **write_method)
 {
   struct ospf6_lsa *lsa = NULL;
-  struct in_addr area_id;
+  u_int32_t ifindex, area_id, id, instid, adv_router;
   u_int16_t type;
-  struct in_addr id;
-  struct in_addr adv_router;
   int len;
   oid *offset;
   int offsetlen;
   char a[16], b[16], c[16];
   struct ospf6_area *oa;
   struct listnode *node;
+  struct interface *iif;
+  struct ospf6_interface *oi = NULL;
+  struct list *ifslist;
 
   if (smux_header_table(v, name, length, exact, var_len, write_method)
       == MATCH_FAILED)
     return NULL;
 
-  memset (&area_id, 0, sizeof (struct in_addr));
-  type = 0;
-  memset (&id, 0, sizeof (struct in_addr));
-  memset (&adv_router, 0, sizeof (struct in_addr));
+  instid = ifindex = area_id = type = id = adv_router = 0;
 
   /* Check OSPFv3 instance. */
   if (ospf6 == NULL)
@@ -393,137 +645,528 @@ ospfv3AreaLsdbEntry (struct variable *v, oid *name, size_t *length,
   offset = name + v->namelen;
   offsetlen = *length - v->namelen;
 
-#define OSPFV3_AREA_LSDB_ENTRY_EXACT_OFFSET \
-  (IN_ADDR_SIZE + 1 + IN_ADDR_SIZE + IN_ADDR_SIZE)
-
-  if (exact && offsetlen != OSPFV3_AREA_LSDB_ENTRY_EXACT_OFFSET)
+  if (exact && (v->magic & OSPFv3WWASTABLE) && offsetlen != 3)
+    return NULL;
+  if (exact && (v->magic & OSPFv3WWAREATABLE) && offsetlen != 4)
+    return NULL;
+  if (exact && (v->magic & OSPFv3WWLINKTABLE) && offsetlen != 5)
     return NULL;
 
-  /* Parse area-id */
-  len = (offsetlen < IN_ADDR_SIZE ? offsetlen : IN_ADDR_SIZE);
-  if (len)
-    oid2in_addr (offset, len, &area_id);
-  offset += len;
-  offsetlen -= len;
+  if (v->magic & OSPFv3WWLINKTABLE)
+    {
+      /* Parse ifindex */
+      len = (offsetlen < 1 ? 0 : 1);
+      if (len)
+        ifindex = *offset;
+      offset += len;
+      offsetlen -= len;
+
+      /* Parse instance ID */
+      len = (offsetlen < 1 ? 0 : 1);
+      if (len)
+        instid = *offset;
+      offset += len;
+      offsetlen -= len;
+    }
+  else if (v->magic & OSPFv3WWAREATABLE)
+    {
+      /* Parse area-id */
+      len = (offsetlen < 1 ? 0 : 1);
+      if (len)
+        area_id = htonl (*offset);
+      offset += len;
+      offsetlen -= len;
+    }
 
   /* Parse type */
-  len = (offsetlen < 1 ? offsetlen : 1);
+  len = (offsetlen < 1 ? 0 : 1);
   if (len)
     type = htons (*offset);
   offset += len;
   offsetlen -= len;
 
   /* Parse Router-ID */
-  len = (offsetlen < IN_ADDR_SIZE ? offsetlen : IN_ADDR_SIZE);
+  len = (offsetlen < 1 ? 0 : 1);
   if (len)
-    oid2in_addr (offset, len, &adv_router);
+    adv_router = htonl (*offset);
   offset += len;
   offsetlen -= len;
 
   /* Parse LS-ID */
-  len = (offsetlen < IN_ADDR_SIZE ? offsetlen : IN_ADDR_SIZE);
+  len = (offsetlen < 1 ? 0 : 1);
   if (len)
-    oid2in_addr (offset, len, &id);
+    id = htonl (*offset);
   offset += len;
   offsetlen -= len;
 
-  inet_ntop (AF_INET, &area_id, a, sizeof (a));
-  inet_ntop (AF_INET, &adv_router, b, sizeof (b));
-  inet_ntop (AF_INET, &id, c, sizeof (c));
-  zlog_debug ("SNMP access by lsdb: area=%s exact=%d length=%lu magic=%d"
-             " type=%#x adv_router=%s id=%s",
-             a, exact, (u_long)*length, v->magic, ntohs (type), b, c);
-
   if (exact)
     {
-      oa = ospf6_area_lookup (area_id.s_addr, ospf6);
-      lsa = ospf6_lsdb_lookup (type, id.s_addr, adv_router.s_addr, oa->lsdb);
+      if (v->magic & OSPFv3WWASTABLE)
+        {
+          lsa = ospf6_lsdb_lookup (type, id, adv_router, ospf6->lsdb);
+        }
+      else if (v->magic & OSPFv3WWAREATABLE)
+        {
+          oa = ospf6_area_lookup (area_id, ospf6);
+          if (!oa) return NULL;
+          lsa = ospf6_lsdb_lookup (type, id, adv_router, oa->lsdb);
+        }
+      else if (v->magic & OSPFv3WWLINKTABLE)
+        {
+          oi = ospf6_interface_lookup_by_ifindex (ifindex);
+          if (!oi || oi->instance_id != instid) return NULL;
+          lsa = ospf6_lsdb_lookup (type, id, adv_router, oi->lsdb);
+        }
     }
   else
     {
-      for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
+      if (v->magic & OSPFv3WWASTABLE)
+       {
+         if (ospf6->lsdb->count)
+           lsa = ospf6_lsdb_lookup_next (type, id, adv_router,
+                                         ospf6->lsdb);
+       }
+      else if (v->magic & OSPFv3WWAREATABLE)
+       for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
+          {
+            if (oa->area_id < area_id)
+              continue;
+
+            if (oa->lsdb->count)
+              lsa = ospf6_lsdb_lookup_next (type, id, adv_router,
+                                            oa->lsdb);
+            if (lsa) break;
+            type = 0;
+            id = 0;
+            adv_router = 0;
+          }
+      else if (v->magic & OSPFv3WWLINKTABLE)
         {
-          if (lsa)
-            continue;
-          if (ntohl (oa->area_id) < ntohl (area_id.s_addr))
-            continue;
-
-          lsa = ospf6_lsdb_lookup_next (type, id.s_addr, adv_router.s_addr,
-                                        oa->lsdb);
-          if (! lsa)
+          /* We build a sorted list of interfaces */
+          ifslist = list_new ();
+          if (!ifslist) return NULL;
+          ifslist->cmp = (int (*)(void *, void *))if_icmp_func;
+          for (ALL_LIST_ELEMENTS_RO (iflist, node, iif))
+            listnode_add_sort (ifslist, iif);
+          
+          for (ALL_LIST_ELEMENTS_RO (ifslist, node, iif))
             {
+              if (!iif->ifindex) continue;
+              oi = ospf6_interface_lookup_by_ifindex (iif->ifindex);
+              if (!oi) continue;
+              if (iif->ifindex < ifindex) continue;
+              if (oi->instance_id < instid) continue;
+              
+              if (oi->lsdb->count)
+                lsa = ospf6_lsdb_lookup_next (type, id, adv_router,
+                                            oi->lsdb);
+              if (lsa) break;
               type = 0;
-              memset (&id, 0, sizeof (struct in_addr));
-              memset (&adv_router, 0, sizeof (struct in_addr));
+              id = 0;
+              adv_router = 0;
+              oi = NULL;
             }
+
+          list_delete_all_node (ifslist);
         }
     }
 
   if (! lsa)
-    {
-      zlog_debug ("SNMP respond: No LSA to return");
       return NULL;
-    }
-  oa = OSPF6_AREA (lsa->lsdb->data);
-
-  zlog_debug ("SNMP respond: area: %s lsa: %s", oa->name, lsa->name);
 
-  /* Add Index (AreaId, Type, RouterId, Lsid) */
-  *length = v->namelen + OSPFV3_AREA_LSDB_ENTRY_EXACT_OFFSET;
-  offset = name + v->namelen;
-  oid_copy_addr (offset, (struct in_addr *) &oa->area_id, IN_ADDR_SIZE);
-  offset += IN_ADDR_SIZE;
+  /* Add indexes */
+  if (v->magic & OSPFv3WWASTABLE)
+    {
+      *length = v->namelen + 3;
+      offset = name + v->namelen;
+    }
+  else if (v->magic & OSPFv3WWAREATABLE)
+    {
+      *length = v->namelen + 4;
+      offset = name + v->namelen;
+      *offset = ntohl (oa->area_id);
+      offset++;
+    }
+  else if (v->magic & OSPFv3WWLINKTABLE)
+    {
+      *length = v->namelen + 5;
+      offset = name + v->namelen;
+      *offset = oi->interface->ifindex;
+      offset++;
+      *offset = oi->instance_id;
+      offset++;
+    }
   *offset = ntohs (lsa->header->type);
   offset++;
-  oid_copy_addr (offset, (struct in_addr *) &lsa->header->adv_router,
-                 IN_ADDR_SIZE);
-  offset += IN_ADDR_SIZE;
-  oid_copy_addr (offset, (struct in_addr *) &lsa->header->id, IN_ADDR_SIZE);
-  offset += IN_ADDR_SIZE;
+  *offset = ntohl (lsa->header->adv_router);
+  offset++;
+  *offset = ntohl (lsa->header->id);
+  offset++;
 
   /* Return the current value of the variable */
-  switch (v->magic)
+  switch (v->magic & OSPFv3WWCOLUMN)
     {
-    case OSPFv3AREALSDBAREAID:        /* 1 */
-      area_id.s_addr = OSPF6_AREA (lsa->lsdb->data)->area_id;
-      return SNMP_IPADDRESS (area_id);
-      break;
-    case OSPFv3AREALSDBTYPE:          /* 2 */
-      return SNMP_INTEGER (ntohs (lsa->header->type));
-      break;
-    case OSPFv3AREALSDBROUTERID:      /* 3 */
-      adv_router.s_addr = lsa->header->adv_router;
-      return SNMP_IPADDRESS (adv_router);
-      break;
-    case OSPFv3AREALSDBLSID:          /* 4 */
-      id.s_addr = lsa->header->id;
-      return SNMP_IPADDRESS (id);
+    case OSPFv3WWLSDBSEQUENCE:
+      return SNMP_INTEGER (ntohl (lsa->header->seqnum));
       break;
-    case OSPFv3AREALSDBSEQUENCE:      /* 5 */
-      return SNMP_INTEGER (lsa->header->seqnum);
-      break;
-    case OSPFv3AREALSDBAGE:           /* 6 */
+    case OSPFv3WWLSDBAGE:
       ospf6_lsa_age_current (lsa);
-      return SNMP_INTEGER (lsa->header->age);
+      return SNMP_INTEGER (ntohs (lsa->header->age));
       break;
-    case OSPFv3AREALSDBCHECKSUM:      /* 7 */
-      return SNMP_INTEGER (lsa->header->checksum);
+    case OSPFv3WWLSDBCHECKSUM:
+      return SNMP_INTEGER (ntohs (lsa->header->checksum));
       break;
-    case OSPFv3AREALSDBADVERTISEMENT: /* 8 */
+    case OSPFv3WWLSDBADVERTISEMENT:
       *var_len = ntohs (lsa->header->length);
       return (u_char *) lsa->header;
       break;
-    case OSPFv3AREALSDBTYPEKNOWN:     /* 9 */
+    case OSPFv3WWLSDBTYPEKNOWN:
       return SNMP_INTEGER (OSPF6_LSA_IS_KNOWN (lsa->header->type) ?
                            SNMP_TRUE : SNMP_FALSE);
       break;
-    default:
-      return NULL;
+    }
+  return NULL;
+}
+
+static u_char *
+ospfv3IfEntry (struct variable *v, oid *name, size_t *length,
+               int exact, size_t *var_len, WriteMethod **write_method)
+{
+  unsigned int ifindex, instid;
+  struct ospf6_interface *oi = NULL;
+  struct ospf6_lsa *lsa = NULL;
+  struct interface      *iif;
+  struct listnode *i;
+  struct list *ifslist;
+  oid *offset;
+  int offsetlen, len;
+  u_int32_t sum;
+
+  if (smux_header_table (v, name, length, exact, var_len, write_method)
+      == MATCH_FAILED)
+    return NULL;
+
+  ifindex = instid = 0;
+
+  /* Check OSPFv3 instance. */
+  if (ospf6 == NULL)
+    return NULL;
+
+  /* Get variable length. */
+  offset = name + v->namelen;
+  offsetlen = *length - v->namelen;
+
+  if (exact && offsetlen != 2)
+    return NULL;
+
+  /* Parse if index */
+  len = (offsetlen < 1 ? 0 : 1);
+  if (len)
+    ifindex = *offset;
+  offset += len;
+  offsetlen -= len;
+
+  /* Parse instance ID */
+  len = (offsetlen < 1 ? 0 : 1);
+  if (len)
+    instid = *offset;
+  offset += len;
+  offsetlen -= len;
+
+  if (exact)
+    {
+      oi = ospf6_interface_lookup_by_ifindex (ifindex);
+      if (!oi || oi->instance_id != instid) return NULL;
+    }
+  else
+    {
+      /* We build a sorted list of interfaces */
+      ifslist = list_new ();
+      if (!ifslist) return NULL;
+      ifslist->cmp = (int (*)(void *, void *))if_icmp_func;
+      for (ALL_LIST_ELEMENTS_RO (iflist, i, iif))
+       listnode_add_sort (ifslist, iif);
+
+      for (ALL_LIST_ELEMENTS_RO (ifslist, i, iif))
+        {
+          if (!iif->ifindex) continue;
+          oi = ospf6_interface_lookup_by_ifindex (iif->ifindex);
+          if (!oi) continue;
+          if (iif->ifindex > ifindex ||
+              (iif->ifindex == ifindex &&
+               (oi->instance_id > instid)))
+            break;
+          oi = NULL;
+        }
+
+      list_delete_all_node (ifslist);
+    }
+
+  if (!oi) return NULL;
+
+  /* Add Index (IfIndex, IfInstId) */
+  *length = v->namelen + 2;
+  offset = name + v->namelen;
+  *offset = oi->interface->ifindex;
+  offset++;
+  *offset = oi->instance_id;
+  offset++;
+
+  /* Return the current value of the variable */
+  switch (v->magic)
+    {
+    case OSPFv3IFAREAID:
+      if (oi->area)
+       return SNMP_INTEGER (ntohl (oi->area->area_id));
+      break;
+    case OSPFv3IFTYPE:
+      if (if_is_broadcast (oi->interface))
+       return SNMP_INTEGER (1);
+      else if (if_is_pointopoint (oi->interface))
+       return SNMP_INTEGER (3);
+      else break;              /* Unknown, don't put anything */
+    case OSPFv3IFADMINSTATUS:
+      if (oi->area)
+       return SNMP_INTEGER (OSPF_STATUS_ENABLED);
+      return SNMP_INTEGER (OSPF_STATUS_DISABLED);
+    case OSPFv3IFRTRPRIORITY:
+      return SNMP_INTEGER (oi->priority);
+    case OSPFv3IFTRANSITDELAY:
+      return SNMP_INTEGER (oi->transdelay);
+    case OSPFv3IFRETRANSINTERVAL:
+      return SNMP_INTEGER (oi->rxmt_interval);
+    case OSPFv3IFHELLOINTERVAL:
+      return SNMP_INTEGER (oi->hello_interval);
+    case OSPFv3IFRTRDEADINTERVAL:
+      return SNMP_INTEGER (oi->dead_interval);
+    case OSPFv3IFPOLLINTERVAL:
+      /* No support for NBMA */
       break;
+    case OSPFv3IFSTATE:
+      return SNMP_INTEGER (oi->state);
+    case OSPFv3IFDESIGNATEDROUTER:
+      return SNMP_INTEGER (ntohl (oi->drouter));
+    case OSPFv3IFBACKUPDESIGNATEDROUTER:
+      return SNMP_INTEGER (ntohl (oi->bdrouter));
+    case OSPFv3IFEVENTS:
+      return SNMP_INTEGER (oi->state_change);
+    case OSPFv3IFROWSTATUS:
+      return SNMP_INTEGER (1);
+    case OSPFv3IFDEMAND:
+      return SNMP_INTEGER (SNMP_FALSE);
+    case OSPFv3IFMETRICVALUE:
+      return SNMP_INTEGER (oi->cost);
+    case OSPFv3IFLINKSCOPELSACOUNT:
+      return SNMP_INTEGER (oi->lsdb->count);
+    case OSPFv3IFLINKLSACKSUMSUM:
+      for (sum = 0, lsa = ospf6_lsdb_head (oi->lsdb);
+          lsa;
+          lsa = ospf6_lsdb_next (lsa))
+       sum += ntohs (lsa->header->checksum);
+      return SNMP_INTEGER (sum);
+    case OSPFv3IFDEMANDNBRPROBE:
+    case OSPFv3IFDEMANDNBRPROBERETRANSLIMIT:
+    case OSPFv3IFDEMANDNBRPROBEINTERVAL:
+    case OSPFv3IFTEDISABLED:
+    case OSPFv3IFLINKLSASUPPRESSION:
+      /* Not implemented. Only works if all the last ones are not
+        implemented! */
+      return NULL;
     }
+
+  /* Try an internal getnext. Some columns are missing in this table. */
+  if (!exact && (name[*length-1] < MAX_SUBID))
+    return ospfv3IfEntry(v, name, length,
+                        exact, var_len, write_method);
   return NULL;
 }
 
+static u_char *
+ospfv3NbrEntry (struct variable *v, oid *name, size_t *length,
+               int exact, size_t *var_len, WriteMethod **write_method)
+{
+  unsigned int ifindex, instid, rtrid;
+  struct ospf6_interface *oi = NULL;
+  struct ospf6_neighbor  *on = NULL;
+  struct interface      *iif;
+  struct listnode *i, *j;
+  struct list *ifslist;
+  oid *offset;
+  int offsetlen, len;
+
+  if (smux_header_table (v, name, length, exact, var_len, write_method)
+      == MATCH_FAILED)
+    return NULL;
+
+  ifindex = instid = rtrid = 0;
+
+  /* Check OSPFv3 instance. */
+  if (ospf6 == NULL)
+    return NULL;
+
+  /* Get variable length. */
+  offset = name + v->namelen;
+  offsetlen = *length - v->namelen;
+
+  if (exact && offsetlen != 3)
+    return NULL;
+
+  /* Parse if index */
+  len = (offsetlen < 1 ? 0 : 1);
+  if (len)
+    ifindex = *offset;
+  offset += len;
+  offsetlen -= len;
+
+  /* Parse instance ID */
+  len = (offsetlen < 1 ? 0 : 1);
+  if (len)
+    instid = *offset;
+  offset += len;
+  offsetlen -= len;
+
+  /* Parse router ID */
+  len = (offsetlen < 1 ? 0 : 1);
+  if (len)
+    rtrid = htonl (*offset);
+  offset += len;
+  offsetlen -= len;
+
+  if (exact)
+    {
+      oi = ospf6_interface_lookup_by_ifindex (ifindex);
+      if (!oi || oi->instance_id != instid) return NULL;
+      on = ospf6_neighbor_lookup (rtrid, oi);
+    }
+  else
+    {
+      /* We build a sorted list of interfaces */
+      ifslist = list_new ();
+      if (!ifslist) return NULL;
+      ifslist->cmp = (int (*)(void *, void *))if_icmp_func;
+      for (ALL_LIST_ELEMENTS_RO (iflist, i, iif))
+       listnode_add_sort (ifslist, iif);
+
+      for (ALL_LIST_ELEMENTS_RO (ifslist, i, iif))
+        {
+          if (!iif->ifindex) continue;
+          oi = ospf6_interface_lookup_by_ifindex (iif->ifindex);
+          if (!oi) continue;
+          for (ALL_LIST_ELEMENTS_RO (oi->neighbor_list, j, on)) {
+            if (iif->ifindex > ifindex ||
+                (iif->ifindex == ifindex &&
+                 (oi->instance_id > instid ||
+                  (oi->instance_id == instid &&
+                   ntohl (on->router_id) > ntohl (rtrid)))))
+              break;
+          }
+          if (on) break;
+          oi = NULL;
+          on = NULL;
+        }
+
+      list_delete_all_node (ifslist);
+    }
+
+  if (!oi || !on) return NULL;
+
+  /* Add Index (IfIndex, IfInstId, RtrId) */
+  *length = v->namelen + 3;
+  offset = name + v->namelen;
+  *offset = oi->interface->ifindex;
+  offset++;
+  *offset = oi->instance_id;
+  offset++;
+  *offset = ntohl (on->router_id);
+  offset++;
+
+  /* Return the current value of the variable */
+  switch (v->magic)
+    {
+    case OSPFv3NBRADDRESSTYPE:
+      return SNMP_INTEGER (2); /* IPv6 only */
+    case OSPFv3NBRADDRESS:
+      *var_len = sizeof (struct in6_addr);
+      return (u_char *) &on->linklocal_addr;
+    case OSPFv3NBROPTIONS:
+      return SNMP_INTEGER (on->options[2]);
+    case OSPFv3NBRPRIORITY:
+      return SNMP_INTEGER (on->priority);
+    case OSPFv3NBRSTATE:
+      return SNMP_INTEGER (on->state);
+    case OSPFv3NBREVENTS:
+      return SNMP_INTEGER (on->state_change);
+    case OSPFv3NBRLSRETRANSQLEN:
+      return SNMP_INTEGER (on->retrans_list->count);
+    case OSPFv3NBRHELLOSUPPRESSED:
+      return SNMP_INTEGER (SNMP_FALSE);
+    case OSPFv3NBRIFID:
+      return SNMP_INTEGER (on->ifindex);
+    case OSPFv3NBRRESTARTHELPERSTATUS:
+    case OSPFv3NBRRESTARTHELPERAGE:
+    case OSPFv3NBRRESTARTHELPEREXITREASON:
+      /* Not implemented. Only works if all the last ones are not
+        implemented! */
+      return NULL;
+    }
+
+  return NULL;
+}
+
+/* OSPF Traps. */
+#define NBRSTATECHANGE      2
+#define IFSTATECHANGE      10
+
+static struct trap_object ospf6NbrTrapList[] =
+{
+  {-3, {1, 1, OSPFv3ROUTERID}},
+  {4, {1, 9, 1, OSPFv3NBRADDRESSTYPE}},
+  {4, {1, 9, 1, OSPFv3NBRADDRESS}},
+  {4, {1, 9, 1, OSPFv3NBRSTATE}}
+};
+
+static struct trap_object ospf6IfTrapList[] =
+{
+  {-3, {1, 1, OSPFv3ROUTERID}},
+  {4, {1, 7, 1, OSPFv3IFSTATE}},
+  {4, {1, 7, 1, OSPFv3IFADMINSTATUS}},
+  {4, {1, 7, 1, OSPFv3IFAREAID}}
+};
+
+void
+ospf6TrapNbrStateChange (struct ospf6_neighbor *on)
+{
+  oid index[3];
+
+  index[0] = on->ospf6_if->interface->ifindex;
+  index[1] = on->ospf6_if->instance_id;
+  index[2] = ntohl (on->router_id);
+
+  smux_trap (ospfv3_variables, sizeof ospfv3_variables / sizeof (struct variable),
+            ospfv3_trap_oid, sizeof ospfv3_trap_oid / sizeof (oid),
+            ospfv3_oid, sizeof ospfv3_oid / sizeof (oid),
+             index,  3,
+             ospf6NbrTrapList, 
+             sizeof ospf6NbrTrapList / sizeof (struct trap_object),
+             NBRSTATECHANGE);
+}
+
+void
+ospf6TrapIfStateChange (struct ospf6_interface *oi)
+{
+  oid index[2];
+
+  index[0] = oi->interface->ifindex;
+  index[1] = oi->instance_id;
+
+  smux_trap (ospfv3_variables, sizeof ospfv3_variables / sizeof (struct variable),
+            ospfv3_trap_oid, sizeof ospfv3_trap_oid / sizeof (oid),
+            ospfv3_oid, sizeof ospfv3_oid / sizeof (oid),
+             index,  2,
+             ospf6IfTrapList, 
+             sizeof ospf6IfTrapList / sizeof (struct trap_object),
+             IFSTATECHANGE);
+}
 
 /* Register OSPFv3-MIB. */
 void
index 5c67893c4ac28193c4419749f4a07df4174efcdc..fa1b0c37a891db3860661071846b1088c70163d6 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef OSPF6_SNMP_H
 #define OSPF6_SNMP_H
 
+extern void ospf6TrapNbrStateChange (struct ospf6_neighbor *);
+extern void ospf6TrapIfStateChange (struct ospf6_interface *);
 extern void ospf6_snmp_init (struct thread_master *);
 
 #endif /*OSPF6_SNMP_H*/
index a4a5b7218428d9903d169c0fe0fbebf3cf7e4c5f..da0ee131b7fa3ea5c996d310d15dbf3a96702928 100644 (file)
@@ -473,6 +473,8 @@ ospf6_spf_calculation (u_int32_t router_id,
     }
 
   pqueue_delete (candidate_list);
+
+  oa->spf_calculation++;
 }
 
 static void