diff options
| -rw-r--r-- | ospf6d/ChangeLog | 9 | ||||
| -rw-r--r-- | ospf6d/Makefile.am | 6 | ||||
| -rw-r--r-- | ospf6d/OSPFV3-MIB.txt | 2758 | ||||
| -rw-r--r-- | ospf6d/ospf6_snmp.c | 304 | ||||
| -rw-r--r-- | ospf6d/ospf6_snmp.h | 29 | ||||
| -rw-r--r-- | ospf6d/ospf6d.c | 8 | 
6 files changed, 3112 insertions, 2 deletions
| diff --git a/ospf6d/ChangeLog b/ospf6d/ChangeLog index 7778c58a..ed23a2bc 100644 --- a/ospf6d/ChangeLog +++ b/ospf6d/ChangeLog @@ -1,3 +1,12 @@ +2004-10-06  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> + +	* ospf6_snmp.[ch], OSPFV3-MIB.txt: start supporting SNMP. +	it follows draft-ietf-ospf-ospfv3-mib-08.txt, but change +	OSPFv3 tree to {experimental 102} based on +	http://www.iana.org/assignments/smi-numbers: +	Prefix: iso.org.dod.internet.experimental (1.3.6.1.3.) +	   102   OSPFv3    OSPF for IPv6   [Joyal] +  2004-10-03 Hasso Tepper <hasso at quagga.net>  	* ospf6_zebra.c: Use router id from zebra daemon if it wasn't set in diff --git a/ospf6d/Makefile.am b/ospf6d/Makefile.am index bd3f07f8..d8d22ba9 100644 --- a/ospf6d/Makefile.am +++ b/ospf6d/Makefile.am @@ -11,13 +11,15 @@ libospf6_a_SOURCES = \  	ospf6_network.c ospf6_message.c ospf6_lsa.c ospf6_lsdb.c \  	ospf6_top.c ospf6_area.c ospf6_interface.c ospf6_neighbor.c \  	ospf6_flood.c ospf6_route.c ospf6_intra.c ospf6_zebra.c \ -	ospf6_spf.c ospf6_proto.c ospf6_asbr.c ospf6_abr.c ospf6d.c +	ospf6_spf.c ospf6_proto.c ospf6_asbr.c ospf6_abr.c ospf6_snmp.c \ +	ospf6d.c  noinst_HEADERS = \  	ospf6_network.h ospf6_message.h ospf6_lsa.h ospf6_lsdb.h \  	ospf6_top.h ospf6_area.h ospf6_interface.h ospf6_neighbor.h \  	ospf6_flood.h ospf6_route.h ospf6_intra.h ospf6_zebra.h \ -	ospf6_spf.h ospf6_proto.h ospf6_asbr.h ospf6_abr.h ospf6d.h +	ospf6_spf.h ospf6_proto.h ospf6_asbr.h ospf6_abr.h ospf6_snmp.c \ +	ospf6d.h  ospf6d_SOURCES = \  	ospf6_main.c $(libospf6_a_SOURCES) diff --git a/ospf6d/OSPFV3-MIB.txt b/ospf6d/OSPFV3-MIB.txt new file mode 100644 index 00000000..ee66cffd --- /dev/null +++ b/ospf6d/OSPFV3-MIB.txt @@ -0,0 +1,2758 @@ +OSPFV3-MIB DEFINITIONS ::= BEGIN  +  +IMPORTS  +        MODULE-IDENTITY, OBJECT-TYPE, mib-2,  +        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"  +         ::= { mib-2 xx } -- 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      not-accessible  +        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..'FFFFFFFF'h)  +        MAX-ACCESS      not-accessible  +        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      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          IpAddress  +        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          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      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 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      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          IpAddress  +        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          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     not-accessible  +        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..'FFFFFFFF'h)  +        MAX-ACCESS      not-accessible  +        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      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 3 }  +  +ospfv3LinkLsdbLsid OBJECT-TYPE  +        SYNTAX        IpAddress  +        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."  +        ::= { 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      not-accessible  +        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      not-accessible  +        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      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 }  +  +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      not-accessible  +        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      not-accessible  +        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      not-accessible  +        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      not-accessible  +        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      not-accessible  +        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      not-accessible  +        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      not-accessible  +        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      not-accessible  +        STATUS          current  +        DESCRIPTION  +            "The Transit Area Identifier."  +        ::= { ospfv3VirtNbrEntry 1 }  +  +ospfv3VirtNbrRtrId OBJECT-TYPE  +        SYNTAX          RouterID  +        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 }  +  +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      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 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      not-accessible  +        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      not-accessible  +        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      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 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  diff --git a/ospf6d/ospf6_snmp.c b/ospf6d/ospf6_snmp.c new file mode 100644 index 00000000..186c8e2f --- /dev/null +++ b/ospf6d/ospf6_snmp.c @@ -0,0 +1,304 @@ +/* OSPFv3 SNMP support + * Copyright (C) 2004 Yasuhiro Ohara + * + * This file is part of GNU Zebra. + * + * GNU Zebra is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + * + * GNU Zebra is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Zebra; see the file COPYING.  If not, write to the  + * Free Software Foundation, Inc., 59 Temple Place - Suite 330,  + * Boston, MA 02111-1307, USA.   + */ + +#include <zebra.h> + +#ifdef HAVE_SNMP + +#ifdef HAVE_NETSNMP +#include <net-snmp/net-snmp-config.h> +#endif /*HAVE_NETSNMP*/ + +#include <asn1.h> +#include <snmp.h> +#include <snmp_impl.h> + +#include "log.h" +#include "vty.h" +#include "linklist.h" +#include "smux.h" + +#include "ospf6_proto.h" +#include "ospf6_lsa.h" +#include "ospf6_lsdb.h" +#include "ospf6_route.h" +#include "ospf6_top.h" +#include "ospf6_area.h" +#include "ospf6_interface.h" +#include "ospf6_message.h" +#include "ospf6_neighbor.h" +#include "ospf6d.h" + +/* OSPFv3-MIB */ +#define OSPFv3MIB 1,3,6,1,3,102 + +/* Zebra enterprise ospf6d MIB */ +#define OSPF6DOID 1,3,6,1,4,1,3317,1,2,6 + +/* OSPFv3 MIB General Group values. */ +#define OSPFv3ROUTERID                   1 +#define OSPFv3ADMINSTAT                  2 +#define OSPFv3VERSIONNUMBER              3 +#define OSPFv3AREABDRRTRSTATUS           4 +#define OSPFv3ASBDRRTRSTATUS             5 +#define OSPFv3ASSCOPELSACOUNT            6 +#define OSPFv3ASSCOPELSACHECKSUMSUM      7 +#define OSPFv3ORIGINATENEWLSAS           8 +#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 OSPFv3IMPORTASEXTERN             2 + +/* SYNTAX Status from OSPF-MIB. */ +#define OSPF_STATUS_ENABLED  1 +#define OSPF_STATUS_DISABLED 2 + +/* SNMP value hack. */ +#define COUNTER     ASN_COUNTER +#define INTEGER     ASN_INTEGER +#define GAUGE       ASN_GAUGE +#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 }; +oid ospf6d_oid [] = { OSPF6DOID }; + +/* empty ID 0.0.0.0 e.g. empty router-id */ +static struct in_addr ospf6_empty_id = {0}; + +/* Hook functions. */ +static u_char *ospfv3GeneralGroup (); +static u_char *ospfv3AreaEntry (); + +struct variable ospfv3_variables[] = +{ +  /* OSPF general variables */ +  {OSPFv3ROUTERID,              IPADDRESS, RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 1}}, +  {OSPFv3ADMINSTAT,             INTEGER,   RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 2}}, +  {OSPFv3VERSIONNUMBER,         INTEGER,   RONLY,  ospfv3GeneralGroup, +   3, {1, 1, 3}}, +  {OSPFv3AREABDRRTRSTATUS,      INTEGER,   RONLY,  ospfv3GeneralGroup, +   3, {1, 1, 4}}, +  {OSPFv3ASBDRRTRSTATUS,        INTEGER,   RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 5}}, +  {OSPFv3ASSCOPELSACOUNT,       GAUGE,     RONLY,  ospfv3GeneralGroup, +   3, {1, 1, 6}}, +  {OSPFv3ASSCOPELSACHECKSUMSUM, INTEGER,   RONLY,  ospfv3GeneralGroup, +   3, {1, 1, 7}}, +  {OSPFv3ORIGINATENEWLSAS,      COUNTER,   RONLY,  ospfv3GeneralGroup, +   3, {1, 1, 8}}, +  {OSPFv3RXNEWLSAS,             COUNTER,   RONLY,  ospfv3GeneralGroup, +   3, {1, 1, 9}}, +  {OSPFv3EXTLSACOUNT,           GAUGE,     RONLY,  ospfv3GeneralGroup, +   3, {1, 1, 10}}, +  {OSPFv3EXTAREALSDBLIMIT,      INTEGER,   RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 11}}, +  {OSPFv3MULTICASTEXTENSIONS,   INTEGER,   RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 12}}, +  {OSPFv3EXITOVERFLOWINTERVAL,  INTEGER,   RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 13}}, +  {OSPFv3DEMANDEXTENSIONS,      INTEGER,   RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 14}}, +  {OSPFv3TRAFFICENGINEERINGSUPPORT, INTEGER, RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 15}}, +  {OSPFv3REFERENCEBANDWIDTH,    INTEGER, RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 16}}, +  {OSPFv3RESTARTSUPPORT,        INTEGER, RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 17}}, +  {OSPFv3RESTARTINTERVAL,       INTEGER, RWRITE, ospfv3GeneralGroup, +   3, {1, 1, 18}}, +  {OSPFv3RESTARTSTATUS,         INTEGER, RONLY,  ospfv3GeneralGroup, +   3, {1, 1, 19}}, +  {OSPFv3RESTARTAGE,            INTEGER, RONLY,  ospfv3GeneralGroup, +   3, {1, 1, 20}}, +  {OSPFv3RESTARTEXITREASON,     INTEGER, RONLY,  ospfv3GeneralGroup, +   3, {1, 1, 21}}, + +  /* OSPFv3 Area Data Structure */ +  {OSPFv3AREAID,                IPADDRESS, RONLY,  ospfv3AreaEntry, +   4, {1, 2, 1, 1}}, +  {OSPFv3IMPORTASEXTERN,        INTEGER,   RONLY,  ospfv3AreaEntry, +   4, {1, 2, 1, 2}}, +}; + +static u_char * +ospfv3GeneralGroup (struct variable *v, oid *name, size_t *length, +                    int exact, size_t *var_len, WriteMethod **write_method) +{ +  /* Check whether the instance identifier is valid */ +  if (smux_header_generic (v, name, length, exact, var_len, write_method) +      == MATCH_FAILED) +    return NULL; + +  /* Return the current value of the variable */ +  switch (v->magic) +    { +    case OSPFv3ROUTERID:                  /* 1*/ +      /* 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 NULL; +    } +  return NULL; +} + +static u_char * +ospfv3AreaEntry (struct variable *v, oid *name, size_t *length, +                 int exact, size_t *var_len, WriteMethod **write_method) +{ +  struct ospf6_area *oa, *area = NULL; +  u_int32_t area_id = 0; +  listnode node; +  int len; + +  if (ospf6 == NULL) +    return NULL; + +  len = *length - v->namelen; +  len = (len >= sizeof (u_int32_t) ? sizeof (u_int32_t) : 0); +  if (exact && len != sizeof (u_int32_t)) +    return NULL; +  if (len) +    oid2in_addr (name + v->namelen, len, (struct in_addr *) &area_id); + +  zlog_info ("SNMP access by area: %s, exact=%d len=%d length=%d", +             inet_ntoa (* (struct in_addr *) &area_id), +             exact, len, *length); + +  for (node = listhead (ospf6->area_list); node; nextnode (node)) +    { +      oa = (struct ospf6_area *) getdata (node); +      if (area == NULL) +        { +          if (len == 0) /* return first area entry */ +            area = oa; +          else if (exact && ntohl (oa->area_id) == ntohl (area_id)) +            area = oa; +          else if (ntohl (oa->area_id) > ntohl (area_id)) +            area = oa; +        } +    } + +  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)); + +  zlog_info ("SNMP found area: %s, exact=%d len=%d length=%d", +             inet_ntoa (* (struct in_addr *) &area->area_id), +             exact, len, *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: +      return NULL; +      break; +    } +  return NULL; +} + +/* Register OSPFv3-MIB. */ +void +ospf6_snmp_init () +{ +  smux_init (ospf6d_oid, sizeof (ospf6d_oid) / sizeof (oid)); +  REGISTER_MIB ("OSPFv3MIB", ospfv3_variables, variable, ospfv3_oid); +  smux_start (); +} + +#endif /* HAVE_SNMP */ + diff --git a/ospf6d/ospf6_snmp.h b/ospf6d/ospf6_snmp.h new file mode 100644 index 00000000..89c8c478 --- /dev/null +++ b/ospf6d/ospf6_snmp.h @@ -0,0 +1,29 @@ +/* OSPFv3 SNMP support + * Copyright (C) 2004 Yasuhiro Ohara + * + * This file is part of GNU Zebra. + * + * GNU Zebra is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + * + * GNU Zebra is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Zebra; see the file COPYING.  If not, write to the  + * Free Software Foundation, Inc., 59 Temple Place - Suite 330,  + * Boston, MA 02111-1307, USA.   + */ + +#ifndef OSPF6_SNMP_H +#define OSPF6_SNMP_H + +void ospf6_snmp_init (); + +#endif /*OSPF6_SNMP_H*/ + + diff --git a/ospf6d/ospf6d.c b/ospf6d/ospf6d.c index e94a036b..695e8eca 100644 --- a/ospf6d/ospf6d.c +++ b/ospf6d/ospf6d.c @@ -44,6 +44,10 @@  #include "ospf6_flood.h"  #include "ospf6d.h" +#ifdef HAVE_SNMP +#include "ospf6_snmp.h" +#endif /*HAVE_SNMP*/ +  char ospf6_daemon_version[] = OSPF6_DAEMON_VERSION;  void @@ -1812,6 +1816,10 @@ ospf6_init ()    ospf6_asbr_init ();    ospf6_abr_init (); +#ifdef HAVE_SNMP +  ospf6_snmp_init (); +#endif /*HAVE_SNMP*/ +    install_node (&debug_node, config_write_ospf6_debug);    install_element_ospf6_debug_message (); | 
