summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ospf6d/ChangeLog9
-rw-r--r--ospf6d/Makefile.am6
-rw-r--r--ospf6d/OSPFV3-MIB.txt2758
-rw-r--r--ospf6d/ospf6_snmp.c304
-rw-r--r--ospf6d/ospf6_snmp.h29
-rw-r--r--ospf6d/ospf6d.c8
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 ();