summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ospf6d/OSPFv3-MIB.txt6709
-rw-r--r--ospf6d/ospf6_area.h1
-rw-r--r--ospf6d/ospf6_interface.c12
-rw-r--r--ospf6d/ospf6_interface.h2
-rw-r--r--ospf6d/ospf6_neighbor.c11
-rw-r--r--ospf6d/ospf6_neighbor.h1
-rw-r--r--ospf6d/ospf6_snmp.c1075
-rw-r--r--ospf6d/ospf6_snmp.h2
-rw-r--r--ospf6d/ospf6_spf.c2
9 files changed, 4841 insertions, 2974 deletions
diff --git a/ospf6d/OSPFv3-MIB.txt b/ospf6d/OSPFv3-MIB.txt
index 80e6cb2d..258f533e 100644
--- a/ospf6d/OSPFv3-MIB.txt
+++ b/ospf6d/OSPFv3-MIB.txt
@@ -1,2758 +1,3951 @@
-OSPFV3-MIB DEFINITIONS ::= BEGIN
-
-IMPORTS
- MODULE-IDENTITY, OBJECT-TYPE, mib-2, experimental,
- Counter32, Gauge32, Integer32, IpAddress,
- Unsigned32
- FROM SNMPv2-SMI
- TEXTUAL-CONVENTION, TruthValue, StorageType, RowStatus
- FROM SNMPv2-TC
- MODULE-COMPLIANCE, OBJECT-GROUP
- FROM SNMPv2-CONF
- InterfaceIndex
- FROM IF-MIB
- InetAddressType, InetAddress, InetAddressPrefixLength
- FROM INET-ADDRESS-MIB
- AreaID, RouterID, Metric, BigMetric, Status,
- HelloRange, DesignatedRouterPriority
- FROM OSPF-MIB;
-
-ospfv3MIB MODULE-IDENTITY
- LAST-UPDATED "200404081200Z"
- ORGANIZATION "IETF OSPF Working Group"
- CONTACT-INFO
- "WG E-Mail: ospf@peach.ease.lsoft.com
- WG Chairs: John.Moy@sycamorenet.com
- acee@redback.com
- rohit@xebeo.com
-
- Dan Joyal
- Nortel Networks
- 600 Technology Park Drive
- Billerica, MA 01821, USA
- djoyal@nortelnetworks.com
-
- Vishwas Manral
- SiNett Corporation
- 2/1, First Floor
- Embassy Icon Annex
- Infantry Road
- Bangalore 560001
- vishwas@sinett.com"
-
- DESCRIPTION
- "The MIB module to describe OSPF version 3"
- REVISION "200404081200Z"
- DESCRIPTION -- RFC Editor assigns RFC xxxx
- "Initial version, published as RFC xxxx"
- ::= { experimental 102 } -- IANA assigns xx
-
--- Texual conventions
-
-UpToRefreshInterval ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The values one might be able to configure for
- variables bounded by the Refresh Interval"
- SYNTAX Integer32 (1..1800)
-
-RouterDeadRange ::= TEXTUAL-CONVENTION
- STATUS current
- DESCRIPTION
- "The range of intervals in seconds that a routers hello
- must have not been seen before a neighbor declares the
- router down"
- SYNTAX Integer32 (1..'FFFF'h)
-
-
--- Top-level structure of MIB
-ospfv3Objects OBJECT IDENTIFIER ::= { ospfv3MIB 1 }
-ospfv3Conformance OBJECT IDENTIFIER ::= { ospfv3MIB 2 }
-
--- OSPFv3 General Variables
-
--- These parameters apply globally to the Router's
--- OSPFv3 Process.
-
-ospfv3GeneralGroup OBJECT IDENTIFIER ::= { ospfv3Objects 1 }
-
-ospfv3RouterId OBJECT-TYPE
- SYNTAX RouterID
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "A 32-bit integer uniquely identifying the
- router in the Autonomous System.
- To ensure uniqueness, this may
- default to the value of one of the
- router's IPv4 interface addresses if IPv4 is
- configured on the router."
- ::= { ospfv3GeneralGroup 1 }
-
-ospfv3AdminStat OBJECT-TYPE
- SYNTAX Status
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The administrative status of OSPFv3 in the
- router. The value 'enabled' denotes that the
- OSPFv3 Process is active on at least one inter-
- face; 'disabled' disables it on all inter-
- faces."
- ::= { ospfv3GeneralGroup 2 }
-
-ospfv3VersionNumber OBJECT-TYPE
- SYNTAX INTEGER { version3(3) }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The version number of OSPF for IPv6 is 3."
- ::= { ospfv3GeneralGroup 3 }
-
-ospfv3AreaBdrRtrStatus OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A flag to note whether this router is an area
- border router."
- REFERENCE
- "OSPF Version 2, Section 3 Splitting the AS into
- Areas"
- ::= { ospfv3GeneralGroup 4 }
-
-ospfv3ASBdrRtrStatus OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "A flag to note whether this router is config-
- ured as an Autonomous System border router."
- REFERENCE
- "OSPF Version 2, Section 3.3 Classification of
- routers"
- ::= { ospfv3GeneralGroup 5 }
-
-ospfv3AsScopeLsaCount OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of AS-Scope (e.g. AS-External) link-state
- advertisements in the link-state database."
- ::= { ospfv3GeneralGroup 6 }
-
-ospfv3AsScopeLsaCksumSum OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The 32-bit unsigned sum of the LS checksums of
- the AS-scoped link-state advertisements con-
- tained in the link-state database. This sum
- can be used to determine if there has been a
- change in a router's link state database, and
- to compare the link-state database of two
- routers."
- ::= { ospfv3GeneralGroup 7 }
-
-ospfv3OriginateNewLsas OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of new link-state advertisements
- that have been originated. This number is in-
- cremented each time the router originates a new
- LSA."
- ::= { ospfv3GeneralGroup 8 }
-
-ospfv3RxNewLsas OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of link-state advertisements re-
- ceived determined to be new instantiations.
- This number does not include newer instantia-
- tions of self-originated link-state advertise-
- ments."
- ::= { ospfv3GeneralGroup 9 }
-
-ospfv3ExtLsaCount OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of External(LS type 0x4005) in the link-
- state database"
- ::= { ospfv3GeneralGroup 10 }
-
-
-ospfv3ExtAreaLsdbLimit OBJECT-TYPE
- SYNTAX Integer32 (-1..'7FFFFFFF'h)
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The maximum number of non-default AS-
- external-LSAs entries that can be stored in the
- link-state database. If the value is -1, then
- there is no limit.
-
- When the number of non-default AS-external-LSAs
- in a router's link-state database reaches
- ospfv3ExtAreaLsdbLimit, the router enters Overflow-
- State. The router never holds more than
- ospfv3ExtAreaLsdbLimit non-default AS-external-LSAs
- in its database. OspfExtAreaLsdbLimit MUST be set
- identically in all routers attached to the OSPFv3
- backbone and/or any regular OSPFv3 area. (i.e.,
- OSPFv3 stub areas and NSSAs are excluded)."
- ::= { ospfv3GeneralGroup 11 }
-
-ospfv3MulticastExtensions OBJECT-TYPE
- SYNTAX BITS {
- intraAreaMulticast(0),
- interAreaMulticast(1),
- interAsMulticast(2)
- }
-
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "A Bit Mask indicating whether the router is
- forwarding IPv6 multicast datagrams
- based on the algorithms defined in the Multi-
- cast Extensions to OSPF.
-
- If intraAreaMulticast set, indicates that the router
- can forward IPv6 multicast datagrams in the router's
- directly attached areas (called intra-area mul-
- ticast routing).
-
- If interAreaMulticast set, indicates that the router
- can forward IPv6 multicast datagrams between OSPFv3
- areas (called inter-area multicast routing).
-
- If interAsMulticast set, indicates that the router can
- forward IPv6 multicast datagrams between Auto-
- nomous Systems (called inter-AS multicast rout-
- ing).
-
- Only certain combinations of bit settings are
- allowed, namely:
- - All bits cleared (no multicasting)
- - intraAreaMulticast only,
- - intraAreaMulticast and interAreaMulticast,
- - intraAreaMulticast and interAsMulticast
- - intraAreaMulticast, interAreaMulticast and
- interAsMulticast
- By default, all bits are cleared."
- ::= { ospfv3GeneralGroup 12 }
-
-ospfv3ExitOverflowInterval OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "seconds"
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The number of seconds that, after entering
- OverflowState, a router will attempt to leave
- OverflowState. This allows the router to again
- originate non-default AS-External-LSAs. When
- set to 0, the router will not leave Overflow-
- State until restarted."
- ::= { ospfv3GeneralGroup 13 }
-
-ospfv3DemandExtensions OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The router's support for demand routing."
- REFERENCE
- "OSPF Version 2, Appendix on Demand Routing"
- ::= { ospfv3GeneralGroup 14 }
-
-ospfv3TrafficEngineeringSupport OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The router's support for traffic engineering
- extensions."
- ::= { ospfv3GeneralGroup 15 }
-
-ospfv3ReferenceBandwidth OBJECT-TYPE
- SYNTAX Unsigned32
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "Reference bandwidth in kilobits/second for
- calculating default interface metrics. The
- default value is 100,000 KBPS (100 MBPS)"
- ::= { ospfv3GeneralGroup 16 }
-
-ospfv3RestartSupport OBJECT-TYPE
- SYNTAX INTEGER { none (1),
- plannedOnly (2),
- plannedAndUnplanned (3)
- }
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "The router's support for OSPF hitless restart.
- Options include: no restart support, only planned
- restarts or both planned and unplanned restarts."
- ::= { ospfv3GeneralGroup 17 }
-
-ospfv3RestartInterval OBJECT-TYPE
- SYNTAX UpToRefreshInterval
- UNITS "seconds"
- MAX-ACCESS read-write
- STATUS current
- DESCRIPTION
- "Configured OSPF hitless restart timeout interval."
- ::= { ospfv3GeneralGroup 18 }
-
-ospfv3RestartStatus OBJECT-TYPE
- SYNTAX INTEGER { notRestarting (1),
- plannedRestart (2),
- unplannedRestart (3)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Current status of OSPF hitless restart."
- ::= { ospfv3GeneralGroup 19 }
-
-ospfv3RestartAge OBJECT-TYPE
- SYNTAX UpToRefreshInterval
- UNITS "seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Remaining time in current OSPF hitless restart
- interval."
- ::= { ospfv3GeneralGroup 20 }
-
-ospfv3RestartExitReason OBJECT-TYPE
- SYNTAX INTEGER { none (1), -- none attempted
- inProgress (2), -- restart in
- -- progress
- completed (3), -- successfully
- -- completed
- timedOut (4), -- timed out
- topologyChanged (5) -- aborted due to
- -- topologychange.
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Describes the outcome of the last attempt at a
- hitless restart. If the value is 'none', no restart
- has yet been attempted. If the value is 'inProgress',
- a restart attempt is currently underway."
- ::= { ospfv3GeneralGroup 21 }
-
-
--- The OSPFv3 Area Data Structure contains information
--- regarding the various areas. The interfaces and
--- virtual links are configured as part of these areas.
--- Area 0.0.0.0, by definition, is the Backbone Area
-
-ospfv3AreaTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3AreaEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Information describing the configured parame-
- ters and cumulative statistics of the router's
- attached areas."
- REFERENCE
- "OSPF Version 2, Section 6 The Area Data Struc-
- ture"
- ::= { ospfv3Objects 2 }
-
-ospfv3AreaEntry OBJECT-TYPE
- SYNTAX Ospfv3AreaEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Information describing the configured parame-
- ters and cumulative statistics of one of the
- router's attached areas."
- INDEX { ospfv3AreaId }
- ::= { ospfv3AreaTable 1 }
-
-Ospfv3AreaEntry ::= SEQUENCE {
- ospfv3AreaId
- AreaID,
- ospfv3ImportAsExtern
- INTEGER,
- ospfv3AreaSpfRuns
- Counter32,
- ospfv3AreaBdrRtrCount
- Gauge32,
- ospfv3AreaAsBdrRtrCount
- Gauge32,
- ospfv3AreaScopeLsaCount
- Gauge32,
- ospfv3AreaScopeLsaCksumSum
- Integer32,
- ospfv3AreaSummary
- INTEGER,
- ospfv3AreaStatus
- RowStatus,
- ospfv3StubMetric
- BigMetric,
- ospfv3AreaNssaTranslatorRole
- INTEGER,
- ospfv3AreaNssaTranslatorState
- INTEGER,
- ospfv3AreaNssaTranslatorStabilityInterval
- Unsigned32,
- ospfv3AreaNssaTranslatorEvents
- Counter32,
- ospfv3AreaStubMetricType
- INTEGER
- }
-
-ospfv3AreaId OBJECT-TYPE
- SYNTAX AreaID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A 32-bit integer uniquely identifying an area.
- Area ID 0.0.0.0 is used for the OSPFv3 backbone."
- REFERENCE
- "OSPF Version 2, Appendix C.2 Area parameters"
- ::= { ospfv3AreaEntry 1 }
-
-ospfv3ImportAsExtern OBJECT-TYPE
- SYNTAX INTEGER {
- importExternal(1), -- normal area
- importNoExternal(2), -- stub area
- importNssa(3) -- not-so-stubby-area
- }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "Indicates whether an area is a Stub area, NSSA, or
- standard area. AS-scope LSAs are not imported into Stub
- Areas or NSSAs. NSSAs import AS-External data as Type-7
- LSAs which have Area-scope"
- REFERENCE
- "OSPF Version 2, Appendix C.2 Area parameters"
- DEFVAL { importExternal }
- ::= { ospfv3AreaEntry 2 }
-
-ospfv3AreaSpfRuns OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of times that the intra-area route
- table has been calculated using this area's
- link-state database. This is typically done
- using Dijkstra's algorithm."
- ::= { ospfv3AreaEntry 3 }
-
-ospfv3AreaBdrRtrCount OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of area border routers reach-
- able within this area. This is initially zero,
- and is calculated in each SPF Pass."
- ::= { ospfv3AreaEntry 4 }
-
-ospfv3AreaAsBdrRtrCount OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of Autonomous System border
- routers reachable within this area. This is
- initially zero, and is calculated in each SPF
- Pass."
- ::= { ospfv3AreaEntry 5 }
-
-ospfv3AreaScopeLsaCount OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of Area-Scope link-state
- advertisements in this area's link-state
- database."
- ::= { ospfv3AreaEntry 6 }
-
-ospfv3AreaScopeLsaCksumSum OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The 32-bit unsigned sum of the Area-Scope link-state
- advertisements' LS checksums contained in this
- area's link-state database. The sum can be used
- to determine if there has been a change in a
- router's link state database, and to compare the
- link-state database of two routers."
- ::= { ospfv3AreaEntry 7 }
-
-ospfv3AreaSummary OBJECT-TYPE
- SYNTAX INTEGER {
- noAreaSummary(1),
- sendAreaSummary(2)
- }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The variable ospfv3AreaSummary controls the im-
- port of Inter-Area LSAs into stub areas. It has
- no effect on other areas.
-
- If it is noAreaSummary, the router will neither
- originate nor propagate Inter-Area LSAs into the
- stub area. It will rely entirely on its de-
- fault route.
-
- If it is sendAreaSummary, the router will both
- summarize and propagate Inter-Area LSAs."
- DEFVAL { sendAreaSummary }
- ::= { ospfv3AreaEntry 8 }
-
-ospfv3AreaStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "This variable controls the status of the en-
- try. The use of RowStatus is covered in more detail
- in [6]."
- ::= { ospfv3AreaEntry 9 }
-
-ospfv3StubMetric OBJECT-TYPE
- SYNTAX BigMetric
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The metric value advertised for the default route
- into Stub and NSSA areas."
- ::= { ospfv3AreaEntry 10 }
-
-ospfv3AreaNssaTranslatorRole OBJECT-TYPE
- SYNTAX INTEGER { always(1), candidate(2) }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "Indicates an NSSA Border router's ability to
- perform NSSA translation of type-7 LSAs into
- type-5 LSAs."
- DEFVAL { candidate }
- ::= { ospfv3AreaEntry 11 }
-
-ospfv3AreaNssaTranslatorState OBJECT-TYPE
- SYNTAX INTEGER {
- enabled(1),
- elected(2),
- disabled(3)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Indicates if and how an NSSA Border router is
- performing NSSA translation of type-7 LSAs into type-5
- LSAs. When this object is set to enabled, the NSSA
- Border router's ospfv3AreaNssTranslatorRole
- has been set to always. When this object is set to
- elected, a candidate NSSA Border router is translating
- type-7 LSAs into type-5. When this object is set to
- disabled, a candidate NSSA Border router is NOT
- translating type-7 LSAs into type-5."
- ::= { ospfv3AreaEntry 12 }
-
-ospfv3AreaNssaTranslatorStabilityInterval OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The number of seconds after an elected translator
- determines its services are no longer required, that
- it should continue to perform its translation duties."
- DEFVAL { 40 }
- ::= { ospfv3AreaEntry 13 }
-
-ospfv3AreaNssaTranslatorEvents OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Indicates the number of Translator State changes
- that have occurred since the last boot-up."
- ::= { ospfv3AreaEntry 14 }
-
-ospfv3AreaStubMetricType OBJECT-TYPE
- SYNTAX INTEGER {
- ospfv3Metric (1), -- OSPF Metric
- comparableCost (2), -- external type 1
- nonComparable (3) -- external type 2
- }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "This variable displays the type of metric ad-
- vertised as a default route."
- DEFVAL { ospfv3Metric }
- ::= { ospfv3AreaEntry 15 }
-
--- OSPFv3 AS-Scope Link State Database
-
--- The Link State Database contains the AS-Scope Link State
--- Advertisements from throughout the areas that the
--- device is attached to.
-
-ospfv3AsLsdbTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3AsLsdbEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The OSPFv3 Process's AS-Scope Link State Database."
- ::= { ospfv3Objects 3 }
-
-ospfv3AsLsdbEntry OBJECT-TYPE
- SYNTAX Ospfv3AsLsdbEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A single AS-Scope Link State Advertisement."
- INDEX { ospfv3AsLsdbType,
- ospfv3AsLsdbRouterId,
- ospfv3AsLsdbLsid }
- ::= { ospfv3AsLsdbTable 1 }
-
-Ospfv3AsLsdbEntry ::= SEQUENCE {
- ospfv3AsLsdbType
- Unsigned32,
- ospfv3AsLsdbRouterId
- RouterID,
- ospfv3AsLsdbLsid
- IpAddress,
- ospfv3AsLsdbSequence
- Integer32,
- ospfv3AsLsdbAge
- Integer32,
- ospfv3AsLsdbChecksum
- Integer32,
- ospfv3AsLsdbAdvertisement
- OCTET STRING,
- ospfv3AsLsdbTypeKnown
- TruthValue
- }
-
-ospfv3AsLsdbType OBJECT-TYPE
- SYNTAX Unsigned32 (0..4294967295)
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The type of the link state advertisement.
- Each link state type has a separate advertise-
- ment format. AS-Scope LSAs not recognized by
- the router may be stored in the database."
- ::= { ospfv3AsLsdbEntry 1 }
-
-ospfv3AsLsdbRouterId OBJECT-TYPE
- SYNTAX RouterID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The 32 bit number that uniquely identifies the
- originating router in the Autonomous System."
- REFERENCE
- "OSPF Version 2, Appendix C.1 Global parameters"
- ::= { ospfv3AsLsdbEntry 2 }
-
-ospfv3AsLsdbLsid OBJECT-TYPE
- SYNTAX IpAddress
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The Link State ID is an LS Type Specific field
- containing a unique identifier;
- it identifies the piece of the routing domain
- that is being described by the advertisement.
- In contrast to OSPFv2, the LSID has no
- addressing semantics."
- ::= { ospfv3AsLsdbEntry 3 }
-
--- Note that the OSPF Sequence Number is a 32 bit signed
--- integer. It starts with the value '80000001'h,
--- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
--- Thus, a typical sequence number will be very negative.
-
-ospfv3AsLsdbSequence OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The sequence number field is a signed 32-bit
- integer. It is used to detect old and dupli-
- cate link state advertisements. The space of
- sequence numbers is linearly ordered. The
- larger the sequence number the more recent the
- advertisement."
- REFERENCE
- "OSPF Version 2, Section 12.1.6 LS sequence
- number"
- ::= { ospfv3AsLsdbEntry 4 }
-
-ospfv3AsLsdbAge OBJECT-TYPE
- SYNTAX Integer32 -- Should be 0..MaxAge
- -- unless DoNotAge bit is set
- UNITS "seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "This field is the age of the link state adver-
- tisement in seconds."
- REFERENCE
- "OSPF Version 2, Section 12.1.1 LS age"
- ::= { ospfv3AsLsdbEntry 5 }
-
-ospfv3AsLsdbChecksum OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "This field is the checksum of the complete
- contents of the advertisement, excepting the
- age field. The age field is excepted so that
- an advertisement's age can be incremented
- without updating the checksum. The checksum
- used is the same that is used for ISO connec-
- tionless datagrams; it is commonly referred to
- as the Fletcher checksum."
- REFERENCE
- "OSPF Version 2, Section 12.1.7 LS checksum"
- ::= { ospfv3AsLsdbEntry 6 }
-
-ospfv3AsLsdbAdvertisement OBJECT-TYPE
- SYNTAX OCTET STRING (SIZE (1..65535))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The entire Link State Advertisement, including
- its header."
- ::= { ospfv3AsLsdbEntry 7 }
-
-ospfv3AsLsdbTypeKnown OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Is the LSA type recognized by this Router?"
- ::= { ospfv3AsLsdbEntry 8 }
-
-
--- OSPFv3 Area-Scope Link State Database
-
--- The Link State Database contains the Area-Scope Link State
--- Advertisements from throughout the area that the
--- device is attached to.
-
-ospfv3AreaLsdbTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3AreaLsdbEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The OSPFv3 Process's Area-Scope Link State Database."
- ::= { ospfv3Objects 4 }
-
-ospfv3AreaLsdbEntry OBJECT-TYPE
- SYNTAX Ospfv3AreaLsdbEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A single Area-Scope Link State Advertisement."
- INDEX { ospfv3AreaLsdbAreaId,
- ospfv3AreaLsdbType,
- ospfv3AreaLsdbRouterId,
- ospfv3AreaLsdbLsid }
- ::= { ospfv3AreaLsdbTable 1 }
-
-Ospfv3AreaLsdbEntry ::= SEQUENCE {
- ospfv3AreaLsdbAreaId
- AreaID,
- ospfv3AreaLsdbType
- Unsigned32,
- ospfv3AreaLsdbRouterId
- RouterID,
- ospfv3AreaLsdbLsid
- IpAddress,
- ospfv3AreaLsdbSequence
- Integer32,
- ospfv3AreaLsdbAge
- Integer32,
- ospfv3AreaLsdbChecksum
- Integer32,
- ospfv3AreaLsdbAdvertisement
- OCTET STRING,
- ospfv3AreaLsdbTypeKnown
- TruthValue
- }
-
-ospfv3AreaLsdbAreaId OBJECT-TYPE
- SYNTAX AreaID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The 32 bit identifier of the Area from which the
- LSA was received."
- REFERENCE
- "OSPF Version 2, Appendix C.2 Area parameters"
- ::= { ospfv3AreaLsdbEntry 1 }
-
-ospfv3AreaLsdbType OBJECT-TYPE
- SYNTAX Unsigned32 (0..4294967295)
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The type of the link state advertisement.
- Each link state type has a separate advertise-
- ment format. Area-Scope LSAs unrecognized by the
- router are also stored in this database."
- ::= { ospfv3AreaLsdbEntry 2 }
-
-ospfv3AreaLsdbRouterId OBJECT-TYPE
- SYNTAX RouterID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The 32 bit number that uniquely identifies the
- originating router in the Autonomous System."
- REFERENCE
- "OSPF Version 2, Appendix C.1 Global parameters"
- ::= { ospfv3AreaLsdbEntry 3 }
-
-ospfv3AreaLsdbLsid OBJECT-TYPE
- SYNTAX IpAddress
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The Link State ID is an LS Type Specific field
- containing a unique identifier;
- it identifies the piece of the routing domain
- that is being described by the advertisement.
- In contrast to OSPFv2, the LSID has no
- addressing semantics."
- ::= { ospfv3AreaLsdbEntry 4 }
-
--- Note that the OSPF Sequence Number is a 32 bit signed
--- integer. It starts with the value '80000001'h,
--- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
--- Thus, a typical sequence number will be very negative.
-
-ospfv3AreaLsdbSequence OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The sequence number field is a signed 32-bit
- integer. It is used to detect old and dupli-
- cate link state advertisements. The space of
- sequence numbers is linearly ordered. The
- larger the sequence number the more recent the
- advertisement."
- REFERENCE
- "OSPF Version 2, Section 12.1.6 LS sequence
- number"
- ::= { ospfv3AreaLsdbEntry 5 }
-
-ospfv3AreaLsdbAge OBJECT-TYPE
- SYNTAX Integer32 -- Should be 0..MaxAge
- -- unless DoNotAge bit is set
- UNITS "seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "This field is the age of the link state adver-
- tisement in seconds."
- REFERENCE
- "OSPF Version 2, Section 12.1.1 LS age"
- ::= { ospfv3AreaLsdbEntry 6 }
-
-ospfv3AreaLsdbChecksum OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "This field is the checksum of the complete
- contents of the advertisement, excepting the
- age field. The age field is excepted so that
- an advertisement's age can be incremented
- without updating the checksum. The checksum
- used is the same that is used for ISO connec-
- tionless datagrams; it is commonly referred to
- as the Fletcher checksum."
- REFERENCE
- "OSPF Version 2, Section 12.1.7 LS checksum"
- ::= { ospfv3AreaLsdbEntry 7 }
-
-ospfv3AreaLsdbAdvertisement OBJECT-TYPE
- SYNTAX OCTET STRING (SIZE (1..65535))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The entire Link State Advertisement, including
- its header."
- ::= { ospfv3AreaLsdbEntry 8 }
-
-ospfv3AreaLsdbTypeKnown OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Is the LSA type recognized by this Router?"
- ::= { ospfv3AreaLsdbEntry 9 }
-
--- OSPFv3 Link-Scope Link State Database
-
--- The Link State Database contains the Link-Scope Link State
--- Advertisements from the links that the
--- device is attached to.
-
-ospfv3LinkLsdbTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3LinkLsdbEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The OSPFv3 Process's Link-Scope Link State Database."
- ::= { ospfv3Objects 5 }
-
-ospfv3LinkLsdbEntry OBJECT-TYPE
- SYNTAX Ospfv3LinkLsdbEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A single Link-Scope Link State Advertisement."
- INDEX { ospfv3LinkLsdbIfIndex,
- ospfv3LinkLsdbType,
- ospfv3LinkLsdbRouterId,
- ospfv3LinkLsdbLsid }
- ::= { ospfv3LinkLsdbTable 1 }
-
-Ospfv3LinkLsdbEntry ::= SEQUENCE {
- ospfv3LinkLsdbIfIndex
- InterfaceIndex,
- ospfv3LinkLsdbType
- Unsigned32,
- ospfv3LinkLsdbRouterId
- RouterID,
- ospfv3LinkLsdbLsid
- IpAddress,
- ospfv3LinkLsdbSequence
- Integer32,
- ospfv3LinkLsdbAge
- Integer32,
- ospfv3LinkLsdbChecksum
- Integer32,
- ospfv3LinkLsdbAdvertisement
- OCTET STRING,
- ospfv3LinkLsdbTypeKnown
- TruthValue
- }
-
-ospfv3LinkLsdbIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The identifier of the link from which the LSA
- was received."
- REFERENCE
- "OSPF Version 2, Appendix C.2 Area parameters"
- ::= { ospfv3LinkLsdbEntry 1 }
-
-ospfv3LinkLsdbType OBJECT-TYPE
- SYNTAX Unsigned32 (0..4294967295)
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The type of the link state advertisement.
- Each link state type has a separate advertise-
- ment format. Link-Scope LSAs unrecognized by the
- router are also stored in this database."
- ::= { ospfv3LinkLsdbEntry 2 }
-
-ospfv3LinkLsdbRouterId OBJECT-TYPE
- SYNTAX RouterID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The 32 bit number that uniquely identifies the
- originating router in the Autonomous System."
- REFERENCE
- "OSPF Version 2, Appendix C.1 Global parameters"
- ::= { ospfv3LinkLsdbEntry 3 }
-
-ospfv3LinkLsdbLsid OBJECT-TYPE
- SYNTAX IpAddress
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The Link State ID is an LS Type Specific field
- containing a unique identifier;
- it identifies the piece of the routing domain
- that is being described by the advertisement.
- In contrast to OSPFv2, the LSID has no
- addressing semantics."
- ::= { ospfv3LinkLsdbEntry 4 }
-
--- Note that the OSPF Sequence Number is a 32 bit signed
--- integer. It starts with the value '80000001'h,
--- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
--- Thus, a typical sequence number will be very negative.
-
-ospfv3LinkLsdbSequence OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The sequence number field is a signed 32-bit
- integer. It is used to detect old and dupli-
- cate link state advertisements. The space of
- sequence numbers is linearly ordered. The
- larger the sequence number the more recent the
- advertisement."
- REFERENCE
- "OSPF Version 2, Section 12.1.6 LS sequence
- number"
- ::= { ospfv3LinkLsdbEntry 5 }
-
-ospfv3LinkLsdbAge OBJECT-TYPE
- SYNTAX Integer32 -- Should be 0..MaxAge
- -- unless DoNotAge bit is set
- UNITS "seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "This field is the age of the link state
- advertisement in seconds."
- REFERENCE
- "OSPF Version 2, Section 12.1.1 LS age"
- ::= { ospfv3LinkLsdbEntry 6 }
-
-ospfv3LinkLsdbChecksum OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "This field is the checksum of the complete
- contents of the advertisement, excepting the
- age field. The age field is excepted so that
- an advertisement's age can be incremented
- without updating the checksum. The checksum
- used is the same that is used for ISO connec-
- tionless datagrams; it is commonly referred to
- as the Fletcher checksum."
- REFERENCE
- "OSPF Version 2, Section 12.1.7 LS checksum"
- ::= { ospfv3LinkLsdbEntry 7 }
-
-ospfv3LinkLsdbAdvertisement OBJECT-TYPE
- SYNTAX OCTET STRING (SIZE (1..65535))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The entire Link State Advertisement, including
- its header."
- ::= { ospfv3LinkLsdbEntry 8 }
-
-ospfv3LinkLsdbTypeKnown OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Indicates whether the LSA type is recognized by this
- Router."
- ::= { ospfv3LinkLsdbEntry 9 }
-
-
--- OSPF Host Table
-
--- The Host/Metric Table indicates what hosts are directly
--- attached to the Router, and what metrics and types of
--- service should be advertised for them.
-
-ospfv3HostTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3HostEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The list of Hosts, and their metrics, that the
- router will advertise as host routes."
- REFERENCE
- "OSPF Version 2, Appendix C.6 Host route param-
- eters"
- ::= { ospfv3Objects 6 }
-
-ospfv3HostEntry OBJECT-TYPE
- SYNTAX Ospfv3HostEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A metric to be advertised when a given host is
- reachable."
- INDEX { ospfv3HostAddressType,
- ospfv3HostAddress }
- ::= { ospfv3HostTable 1 }
-
-Ospfv3HostEntry ::= SEQUENCE {
- ospfv3HostAddressType
- InetAddressType,
- ospfv3HostAddress
- InetAddress,
- ospfv3HostMetric
- Metric,
- ospfv3HostStatus
- RowStatus,
- ospfv3HostAreaID
- AreaID
- }
-
-ospfv3HostAddressType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The address type of ospfv3HostAddress. Only IPv6
- addresses without zone index are expected."
- REFERENCE
- "OSPF Version 2, Appendix C.6 Host route parame-
- ters"
- ::= { ospfv3HostEntry 1 }
-
-
-ospfv3HostAddress OBJECT-TYPE
- SYNTAX InetAddress (SIZE (16))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The IPv6 Address of the Host. Must be a Global
- or Site-local address."
- REFERENCE
- "OSPF Version 2, Appendix C.6 Host route parame-
- ters"
- ::= { ospfv3HostEntry 2 }
-
-ospfv3HostMetric OBJECT-TYPE
- SYNTAX Metric
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The Metric to be advertised."
- REFERENCE
- "OSPF Version 2, Appendix C.6 Host route parame-
- ters"
- ::= { ospfv3HostEntry 3 }
-
-ospfv3HostStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "This variable controls the status of the en-
- try. The use of RowStatus is covered in more detail
- in [6]."
- ::= { ospfv3HostEntry 4 }
-
-ospfv3HostAreaID OBJECT-TYPE
- SYNTAX AreaID
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The Area the Host Entry is to be found within.
- By default, the area that a subsuming OSPFv3 in-
- terface is in, or 0.0.0.0"
- REFERENCE
- "OSPF Version 2, Appendix C.2 Area parameters"
- ::= { ospfv3HostEntry 5 }
-
--- OSPFv3 Interface Table
-
-ospfv3IfTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3IfEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The OSPFv3 Interface Table describes the inter-
- faces from the viewpoint of OSPFv3."
- REFERENCE
- "OSPF Version 2, Appendix C.3 Router interface
- parameters"
- ::= { ospfv3Objects 7 }
-
-ospfv3IfEntry OBJECT-TYPE
- SYNTAX Ospfv3IfEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The OSPFv3 Interface Entry describes one inter-
- face from the viewpoint of OSPFv3."
- INDEX { ospfv3IfIndex }
- ::= { ospfv3IfTable 1 }
-
-
-Ospfv3IfEntry ::= SEQUENCE {
- ospfv3IfIndex
- InterfaceIndex,
- ospfv3IfAreaId
- AreaID,
- ospfv3IfType
- INTEGER,
- ospfv3IfAdminStat
- Status,
- ospfv3IfRtrPriority
- DesignatedRouterPriority,
- ospfv3IfTransitDelay
- UpToRefreshInterval,
- ospfv3IfRetransInterval
- UpToRefreshInterval,
- ospfv3IfHelloInterval
- HelloRange,
- ospfv3IfRtrDeadInterval
- RouterDeadRange,
- ospfv3IfPollInterval
- Unsigned32,
- ospfv3IfState
- INTEGER,
- ospfv3IfDesignatedRouter
- RouterID,
- ospfv3IfBackupDesignatedRouter
- RouterID,
- ospfv3IfEvents
- Counter32,
- ospfv3IfStatus
- RowStatus,
- ospfv3IfMulticastForwarding
- INTEGER,
- ospfv3IfDemand
- TruthValue,
- ospfv3IfMetricValue
- Metric,
- ospfv3IfLinkScopeLsaCount
- Gauge32,
- ospfv3IfLinkLsaCksumSum
- Integer32,
- ospfv3IfInstId
- Integer32,
- ospfv3IfDemandNbrProbe
- TruthValue,
- ospfv3IfDemandNbrProbeRetxLimit
- Unsigned32,
- ospfv3IfDemandNbrProbeInterval
- Unsigned32
- }
-
-ospfv3IfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The interface index of this OSPFv3 interface.
- It corresponds to the interface index of the
- IPv6 interface on which OSPFv3 is configured."
- ::= { ospfv3IfEntry 1 }
-
-ospfv3IfAreaId OBJECT-TYPE
- SYNTAX AreaID
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "A 32-bit integer uniquely identifying the area
- to which the interface connects. Area ID
- 0.0.0.0 is used for the OSPFv3 backbone."
- DEFVAL { '00000000'H } -- 0.0.0.0
- ::= { ospfv3IfEntry 2 }
-
-ospfv3IfType OBJECT-TYPE
- SYNTAX INTEGER {
- broadcast(1),
- nbma(2),
- pointToPoint(3),
- pointToMultipoint(5)
- }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The OSPFv3 interface type."
- ::= { ospfv3IfEntry 3 }
-
-ospfv3IfAdminStat OBJECT-TYPE
- SYNTAX Status
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The OSPFv3 interface's administrative status.
- The value formed on the interface, and the in-
- terface will be advertised as an internal route
- to some area. The value 'disabled' denotes
- that the interface is external to OSPFv3."
- DEFVAL { enabled }
- ::= { ospfv3IfEntry 4 }
-
-ospfv3IfRtrPriority OBJECT-TYPE
- SYNTAX DesignatedRouterPriority
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The priority of this interface. Used in
- multi-access networks, this field is used in
- the designated router election algorithm. The
- value 0 signifies that the router is not eligi-
- ble to become the designated router on this
- particular network. In the event of a tie in
- this value, routers will use their Router ID as
- a tie breaker."
- DEFVAL { 1 }
- ::= { ospfv3IfEntry 5 }
-
-ospfv3IfTransitDelay OBJECT-TYPE
- SYNTAX UpToRefreshInterval
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The estimated number of seconds it takes to
- transmit a link state update packet over this
- interface."
- DEFVAL { 1 }
- ::= { ospfv3IfEntry 6 }
-
-ospfv3IfRetransInterval OBJECT-TYPE
- SYNTAX UpToRefreshInterval
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The number of seconds between link-state ad-
- vertisement retransmissions, for adjacencies
- belonging to this interface. This value is
- also used when retransmitting database descrip-
- tion and link-state request packets."
- DEFVAL { 5 }
- ::= { ospfv3IfEntry 7 }
-
-ospfv3IfHelloInterval OBJECT-TYPE
- SYNTAX HelloRange
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The length of time, in seconds, between the
- Hello packets that the router sends on the in-
- terface. This value must be the same for all
- routers attached to a common network."
- DEFVAL { 10 }
- ::= { ospfv3IfEntry 8 }
-
-ospfv3IfRtrDeadInterval OBJECT-TYPE
- SYNTAX RouterDeadRange
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The number of seconds that a router's Hello
- packets have not been seen before it's neigh-
- bors declare the router down. This should be
- some multiple of the Hello interval. This
- value must be the same for all routers attached
- to a common network."
- DEFVAL { 40 }
- ::= { ospfv3IfEntry 9 }
-
-ospfv3IfPollInterval OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The larger time interval, in seconds, between
- the Hello packets sent to an inactive non-
- broadcast multi- access neighbor."
- DEFVAL { 120 }
- ::= { ospfv3IfEntry 10 }
-
-ospfv3IfState OBJECT-TYPE
- SYNTAX INTEGER {
- down(1),
- loopback(2),
- waiting(3),
- pointToPoint(4),
- designatedRouter(5),
- backupDesignatedRouter(6),
- otherDesignatedRouter(7)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The OSPFv3 Interface State."
- ::= { ospfv3IfEntry 11 }
-
-ospfv3IfDesignatedRouter OBJECT-TYPE
- SYNTAX RouterID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The Router ID of the Designated Router."
- ::= { ospfv3IfEntry 12 }
-
-ospfv3IfBackupDesignatedRouter OBJECT-TYPE
- SYNTAX RouterID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The Router ID of the Backup Designated
- Router."
- ::= { ospfv3IfEntry 14 }
-
-ospfv3IfEvents OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of times this OSPF interface has
- changed its state, or an error has occurred."
- ::= { ospfv3IfEntry 15 }
-
- ospfv3IfStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "This variable controls the status of the en-
- try. The use of RowStatus is covered in more detail in
- [6]."
- ::= { ospfv3IfEntry 17 }
-
-ospfv3IfMulticastForwarding OBJECT-TYPE
- SYNTAX INTEGER {
- blocked(1), -- no multicast forwarding
- multicast(2), -- using multicast address
- unicast(3) -- to each OSPFv3 neighbor
- }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The way multicasts should forwarded on this
- interface; not forwarded, forwarded as data
- link multicasts, or forwarded as data link uni-
- casts. Data link multicasting is not meaning-
- ful on point to point and NBMA interfaces, and
- setting ospfv3MulticastForwarding to 0 effective-
- ly disables all multicast forwarding."
- DEFVAL { blocked }
- ::= { ospfv3IfEntry 18 }
-
-ospfv3IfDemand OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "Indicates whether Demand OSPFv3 procedures (hel-
- lo suppression to FULL neighbors and setting the
- DoNotAge flag on propagated LSAs) should be per-
- formed on this interface."
- DEFVAL { false }
- ::= { ospfv3IfEntry 19 }
-
-ospfv3IfMetricValue OBJECT-TYPE
- SYNTAX Metric
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The metric assigned to this interface.
- The default value of the Metric is
- Reference Bandwidth / ifSpeed. The value of the
- reference bandwidth is configured by the
- ospfv3ReferenceBandwidth object."
- ::= { ospfv3IfEntry 20 }
-
- ospfv3IfLinkScopeLsaCount OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of Link-Scope link-state
- advertisements in this link's link-state database."
- ::= { ospfv3IfEntry 21 }
-
- ospfv3IfLinkLsaCksumSum OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The 32-bit unsigned sum of the Link-Scope link-state
- advertisements' LS checksums contained in this
- link's link-state database. The sum can be used
- to determine if there has been a change in a
- router's link state database, and to compare the
- link-state database of two routers."
- ::= { ospfv3IfEntry 22 }
-
-ospfv3IfInstId OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "Enables multiple instances of OSPFv3 to be run over
- a single link. Each protocol instance would be assigned
- a separate ID. This ID has local link significance
- only."
- DEFVAL { 0 }
- ::= { ospfv3IfEntry 23 }
-
-ospfv3IfDemandNbrProbe OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- " Indicates whether or not neighbor probing is
- enabled to determine whether or not the neighbor
- is inactive. Neighbor probing is disabled by
- default."
- DEFVAL { false }
- ::= { ospfv3IfEntry 24 }
-
- ospfv3IfDemandNbrProbeRetxLimit OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- " The number of consecutive LSA retransmissions before
- the neighbor is deemed inactive and the neighbor
- adjacency is brought down."
- DEFVAL { 10 }
- ::= { ospfv3IfEntry 25 }
-
-
- ospfv3IfDemandNbrProbeInterval OBJECT-TYPE
- SYNTAX Unsigned32
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- " Defines how often the neighbor will be probed."
- DEFVAL { 120 }
- ::= { ospfv3IfEntry 26 }
-
-
--- OSPFv3 Virtual Interface Table
-
--- The Virtual Interface Table describes the virtual
--- links that the OSPFv3 Process is configured to
--- carry on.
-
-ospfv3VirtIfTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3VirtIfEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Information about this router's virtual inter-
- faces."
- REFERENCE
- "OSPF Version 2, Appendix C.4 Virtual link
- parameters"
- ::= { ospfv3Objects 8 }
-
-ospfv3VirtIfEntry OBJECT-TYPE
- SYNTAX Ospfv3VirtIfEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Information about a single Virtual Interface."
- INDEX { ospfv3VirtIfAreaId,
- ospfv3VirtIfNeighbor }
- ::= { ospfv3VirtIfTable 1 }
-
-Ospfv3VirtIfEntry ::= SEQUENCE {
- ospfv3VirtIfAreaId
- AreaID,
- ospfv3VirtIfNeighbor
- RouterID,
- ospfv3VirtIfIndex
- InterfaceIndex,
- ospfv3VirtIfTransitDelay
- UpToRefreshInterval,
- ospfv3VirtIfRetransInterval
- UpToRefreshInterval,
- ospfv3VirtIfHelloInterval
- HelloRange,
- ospfv3VirtIfRtrDeadInterval
- RouterDeadRange,
- ospfv3VirtIfState
- INTEGER,
- ospfv3VirtIfEvents
- Counter32,
- ospfv3VirtIfStatus
- RowStatus,
- ospfv3VirtIfLinkScopeLsaCount
- Gauge32,
- ospfv3VirtIfLinkLsaCksumSum
- Integer32
- }
-
-ospfv3VirtIfAreaId OBJECT-TYPE
- SYNTAX AreaID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The Transit Area that the Virtual Link
- traverses. By definition, this is not 0.0.0.0"
- ::= { ospfv3VirtIfEntry 1 }
-
-ospfv3VirtIfNeighbor OBJECT-TYPE
- SYNTAX RouterID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The Router ID of the Virtual Neighbor."
- ::= { ospfv3VirtIfEntry 2 }
-
-ospfv3VirtIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The interface ID assigned to this OSPFv3 virtual
- interface. It is advertised in Hello's sent over
- the virtal link and in the router's router-LSAs."
- ::= { ospfv3VirtIfEntry 3 }
-
-ospfv3VirtIfTransitDelay OBJECT-TYPE
- SYNTAX UpToRefreshInterval
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The estimated number of seconds it takes to
- transmit a link- state update packet over this
- interface."
- DEFVAL { 1 }
- ::= { ospfv3VirtIfEntry 4 }
-
-ospfv3VirtIfRetransInterval OBJECT-TYPE
- SYNTAX UpToRefreshInterval
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The number of seconds between link-state ad-
- vertisement retransmissions, for adjacencies
- belonging to this interface. This value is
- also used when retransmitting database descrip-
- tion and link-state request packets. This
- value should be well over the expected round-
- trip time."
- DEFVAL { 5 }
- ::= { ospfv3VirtIfEntry 5 }
-
-ospfv3VirtIfHelloInterval OBJECT-TYPE
- SYNTAX HelloRange
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The length of time, in seconds, between the
- Hello packets that the router sends on the in-
- terface. This value must be the same for the
- virtual neighbor."
- DEFVAL { 10 }
- ::= { ospfv3VirtIfEntry 6 }
-
-ospfv3VirtIfRtrDeadInterval OBJECT-TYPE
- SYNTAX RouterDeadRange
- UNITS "seconds"
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The number of seconds that a router's Hello
- packets have not been seen before it's neigh-
- bors declare the router down. This should be
- some multiple of the Hello interval. This
- value must be the same for the virtual neigh-
- bor."
- DEFVAL { 60 }
- ::= { ospfv3VirtIfEntry 7 }
-
-ospfv3VirtIfState OBJECT-TYPE
- SYNTAX INTEGER {
- down(1), -- these use the same encoding
- pointToPoint(4) -- as the ospfv3IfTable
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "OSPF virtual interface states."
- ::= { ospfv3VirtIfEntry 8 }
-
-ospfv3VirtIfEvents OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of state changes or error events on
- this Virtual Link"
- ::= { ospfv3VirtIfEntry 9 }
-
-ospfv3VirtIfStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "This variable controls the status of the en-
- try. The use of RowStatus is covered in more detail
- in [6]."
- ::= { ospfv3VirtIfEntry 10 }
-
-ospfv3VirtIfLinkScopeLsaCount OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The total number of Link-Scope link-state
- advertisements in this virtual link's link-state
- database."
- ::= { ospfv3VirtIfEntry 11 }
-
-ospfv3VirtIfLinkLsaCksumSum OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The 32-bit unsigned sum of the Link-Scope link-state
- advertisements' LS checksums contained in this
- virtual link's link-state database. The sum can be used
- to determine if there has been a change in a
- router's link state database, and to compare the
- link-state database of two routers."
- ::= { ospfv3VirtIfEntry 12 }
-
-
--- OSPFv3 Neighbor Table
-
--- The OSPFv3 Neighbor Table describes all neighbors in
--- the locality of the subject router.
-
-ospfv3NbrTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3NbrEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A table of non-virtual neighbor information."
- REFERENCE
- "OSPF Version 2, Section 10 The Neighbor Data
- Structure"
- ::= { ospfv3Objects 9 }
-
-ospfv3NbrEntry OBJECT-TYPE
- SYNTAX Ospfv3NbrEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The information regarding a single neighbor."
- REFERENCE
- "OSPF Version 2, Section 10 The Neighbor Data
- Structure"
- INDEX { ospfv3NbrIfIndex,
- ospfv3NbrRtrId }
- ::= { ospfv3NbrTable 1 }
-
-Ospfv3NbrEntry ::= SEQUENCE {
- ospfv3NbrIfIndex
- InterfaceIndex,
- ospfv3NbrRtrId
- RouterID,
- ospfv3NbrAddressType
- InetAddressType,
- ospfv3NbrAddress
- InetAddress,
- ospfv3NbrOptions
- Integer32,
- ospfv3NbrPriority
- DesignatedRouterPriority,
- ospfv3NbrState
- INTEGER,
- ospfv3NbrEvents
- Counter32,
- ospfv3NbrLsRetransQLen
- Gauge32,
- ospfv3NbrHelloSuppressed
- TruthValue,
- ospfv3NbrIfId
- InterfaceIndex,
- ospfv3NbrRestartHelperStatus
- INTEGER,
- ospfv3NbrRestartHelperAge
- UpToRefreshInterval,
- ospfv3NbrRestartHelperExitReason
- INTEGER
- }
-
-ospfv3NbrIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The local link ID of the link over which the
- neighbor can be reached."
- ::= { ospfv3NbrEntry 1 }
-
-ospfv3NbrRtrId OBJECT-TYPE
- SYNTAX RouterID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A 32-bit integer (represented as a type IpAd-
- dress) uniquely identifying the neighboring
- router in the Autonomous System."
- ::= { ospfv3NbrEntry 2 }
-
-ospfv3NbrAddressType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The address type of ospfv3NbrAddress. Only IPv6
- addresses without zone index are expected."
- ::= { ospfv3NbrEntry 3 }
-
-ospfv3NbrAddress OBJECT-TYPE
- SYNTAX InetAddress (SIZE (16))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The IPv6 address of the neighbor associated with
- the local link."
- ::= { ospfv3NbrEntry 4 }
-
-ospfv3NbrOptions OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A Bit Mask corresponding to the neighbor's op-
- tions field."
- REFERENCE
- "OSPF Version 3, Appendix A.2 the Options field"
- ::= { ospfv3NbrEntry 5 }
-
-ospfv3NbrPriority OBJECT-TYPE
- SYNTAX DesignatedRouterPriority
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The priority of this neighbor in the designat-
- ed router election algorithm. The value 0 sig-
- nifies that the neighbor is not eligible to be-
- come the designated router on this particular
- network."
- ::= { ospfv3NbrEntry 6 }
-
-ospfv3NbrState OBJECT-TYPE
- SYNTAX INTEGER {
- down(1),
- attempt(2),
- init(3),
- twoWay(4),
- exchangeStart(5),
- exchange(6),
- loading(7),
- full(8)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The State of the relationship with this Neigh-
- bor."
- REFERENCE
- "OSPF Version 2, Section 10.1 Neighbor States"
- ::= { ospfv3NbrEntry 7 }
-
-ospfv3NbrEvents OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of times this neighbor relationship
- has changed state, or an error has occurred."
- ::= { ospfv3NbrEntry 8 }
-
-ospfv3NbrLsRetransQLen OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The current length of the retransmission
- queue."
- ::= { ospfv3NbrEntry 9 }
-
-ospfv3NbrHelloSuppressed OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Indicates whether Hellos are being suppressed
- to the neighbor"
- ::= { ospfv3NbrEntry 10 }
-
-ospfv3NbrIfId OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The interface ID that the neighbor advertises
- in its Hello Packets on this link, that is, the
- neighbor's local interface index."
- ::= { ospfv3NbrEntry 11 }
-
-ospfv3NbrRestartHelperStatus OBJECT-TYPE
- SYNTAX INTEGER { notHelping (1),
- helping (2)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Indicates whether the router is acting
- as a hitless restart helper for the neighbor."
- ::= { ospfv3NbrEntry 12 }
-
-ospfv3NbrRestartHelperAge OBJECT-TYPE
- SYNTAX UpToRefreshInterval
- UNITS "seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Remaining time in current OSPF hitless restart
- interval, if the router is acting as a restart
- helper for the neighbor."
- ::= { ospfv3NbrEntry 13 }
-
-ospfv3NbrRestartHelperExitReason OBJECT-TYPE
- SYNTAX INTEGER { none (1), -- not attempted
- inProgress (2), -- restart in
- -- progress
- completed (3), -- successfully
- -- completed
- timedOut (4), -- timed out
- topologyChanged (5) -- aborted due to
- -- topology
- -- change.
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Describes the outcome of the last attempt at acting
- as a hitless restart helper for the neighbor."
- ::= { ospfv3NbrEntry 14 }
-
-
--- OSPFv3 NBMA Neighbor Table
-
--- The OSPFv3 NBMA Neighbor Table describes all configured
--- NBMA neighbors and neighbors dynamically discovered by
--- lower-level protocols such as Inverse Neighbor Discovery.
-
-ospfv3NbmaNbrTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3NbmaNbrEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A table of configured non-virtual neighbor
- information and neighbors dynamically discovered
- by lower-level protocols such as Inverse Neighbor
- Discovery."
- REFERENCE
- "OSPF Version 2, Section 10 The Neighbor Data
- Structure"
- ::= { ospfv3Objects 10 }
-
-ospfv3NbmaNbrEntry OBJECT-TYPE
- SYNTAX Ospfv3NbmaNbrEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "The information regarding a single configured
- neighbor or neighbor discovered by lower-level
- protocols such as Inverse Neighbor Discovery."
- REFERENCE
- "OSPF Version 2, Section 10 The Neighbor Data
- Structure"
- INDEX { ospfv3NbmaNbrIfIndex,
- ospfv3NbmaNbrAddressType,
- ospfv3NbmaNbrAddress }
- ::= { ospfv3NbmaNbrTable 1 }
-
-Ospfv3NbmaNbrEntry ::= SEQUENCE {
- ospfv3NbmaNbrIfIndex
- InterfaceIndex,
- ospfv3NbmaNbrAddressType
- InetAddressType,
- ospfv3NbmaNbrAddress
- InetAddress,
- ospfv3NbmaNbrPriority
- DesignatedRouterPriority,
- ospfv3NbmaNbrRtrId
- RouterID,
- ospfv3NbmaNbrState
- INTEGER,
- ospfv3NbmaNbrStorageType
- StorageType,
- ospfv3NbmaNbrStatus
- RowStatus
- }
-
-ospfv3NbmaNbrIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The local link ID of the link over which the
- neighbor can be reached."
- ::= { ospfv3NbmaNbrEntry 1 }
-
-ospfv3NbmaNbrAddressType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The address type of ospfv3NbrAddress. Only IPv6
- addresses without zone index are expected."
- ::= { ospfv3NbmaNbrEntry 2 }
-
-ospfv3NbmaNbrAddress OBJECT-TYPE
- SYNTAX InetAddress (SIZE (16))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The IPv6 address of the neighbor associated with
- the local link."
- ::= { ospfv3NbmaNbrEntry 3 }
-
-ospfv3NbmaNbrPriority OBJECT-TYPE
- SYNTAX DesignatedRouterPriority
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The priority of this neighbor in the designat-
- ed router election algorithm. The value 0 sig-
- nifies that the neighbor is not eligible to be-
- come the designated router on this particular
- network."
- DEFVAL { 1 }
- ::= { ospfv3NbmaNbrEntry 4 }
-
-ospfv3NbmaNbrRtrId OBJECT-TYPE
- SYNTAX RouterID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A 32-bit integer (represented as a type IpAd-
- dress) uniquely identifying the neighboring
- router in the Autonomous System. A value of
- 0.0.0.0 is returned until a Hello is received
- from the configured neighbor."
- ::= { ospfv3NbmaNbrEntry 5 }
-
-ospfv3NbmaNbrState OBJECT-TYPE
- SYNTAX INTEGER {
- down(1),
- attempt(2),
- init(3),
- twoWay(4),
- exchangeStart(5),
- exchange(6),
- loading(7),
- full(8)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The State of the relationship with this Neigh-
- bor."
- REFERENCE
- "OSPF Version 2, Section 10.1 Neighbor States"
- ::= { ospfv3NbmaNbrEntry 6 }
-
-ospfv3NbmaNbrStorageType OBJECT-TYPE
- SYNTAX StorageType
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "The storage type for this conceptual row.
- Conceptual rows having the value 'permanent' need not
- allow write-access to any columnar objects in the row.
- Manually configured entries will have a storage type
- of nonVolatile while entries dynamically created as a
- result of a lower-level protocol such as Inverse
- Neighbor Discovery will have a storage type of
- volatile."
- DEFVAL { nonVolatile }
- ::= { ospfv3NbmaNbrEntry 7 }
-
-ospfv3NbmaNbrStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "This variable controls the status of the en-
- try. The use of RowStatus is covered in more detail
- in [6]."
- ::= { ospfv3NbmaNbrEntry 8 }
-
--- OSPFv3 Virtual Neighbor Table
-
--- This table describes all virtual neighbors.
--- Since Virtual Links are configured in the
--- virtual interface table, this table is read-only.
-
-ospfv3VirtNbrTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3VirtNbrEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A table of virtual neighbor information."
- REFERENCE
- "OSPF Version 2, Section 15 Virtual Links"
- ::= { ospfv3Objects 11 }
-
-ospfv3VirtNbrEntry OBJECT-TYPE
- SYNTAX Ospfv3VirtNbrEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "Virtual neighbor information."
- INDEX { ospfv3VirtNbrArea,
- ospfv3VirtNbrRtrId }
- ::= { ospfv3VirtNbrTable 1 }
-
-Ospfv3VirtNbrEntry ::= SEQUENCE {
- ospfv3VirtNbrArea
- AreaID,
- ospfv3VirtNbrRtrId
- RouterID,
- ospfv3VirtNbrIfIndex
- InterfaceIndex,
- ospfv3VirtNbrAddressType
- InetAddressType,
- ospfv3VirtNbrAddress
- InetAddress,
- ospfv3VirtNbrOptions
- Integer32,
- ospfv3VirtNbrState
- INTEGER,
- ospfv3VirtNbrEvents
- Counter32,
- ospfv3VirtNbrLsRetransQLen
- Gauge32,
- ospfv3VirtNbrHelloSuppressed
- TruthValue,
- ospfv3VirtNbrIfId
- InterfaceIndex,
- ospfv3VirtNbrRestartHelperStatus
- INTEGER,
- ospfv3VirtNbrRestartHelperAge
- UpToRefreshInterval,
- ospfv3VirtNbrRestartHelperExitReason
- INTEGER
- }
-
-ospfv3VirtNbrArea OBJECT-TYPE
- SYNTAX AreaID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The Transit Area Identifier."
- ::= { ospfv3VirtNbrEntry 1 }
-
-ospfv3VirtNbrRtrId OBJECT-TYPE
- SYNTAX RouterID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A 32-bit integer uniquely identifying the
- neighboring router in the Autonomous System."
- ::= { ospfv3VirtNbrEntry 2 }
-
-ospfv3VirtNbrIfIndex OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The local interface ID for the virtual link over
- which the neighbor can be reached."
- ::= { ospfv3VirtNbrEntry 3 }
-
-ospfv3VirtNbrAddressType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The address type of ospfv3VirtNbrAddress. Only IPv6
- addresses without zone index are expected."
- ::= { ospfv3VirtNbrEntry 4 }
-
-ospfv3VirtNbrAddress OBJECT-TYPE
- SYNTAX InetAddress (SIZE (16))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The IPv6 address advertised by this Virtual Neighbor.
- It must be a Site-Local or Global scope address."
- ::= { ospfv3VirtNbrEntry 5 }
-
-ospfv3VirtNbrOptions OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "A Bit Mask corresponding to the neighbor's op-
- tions field."
- REFERENCE
- "OSPF Version 3, Appendix A.2 the Options field"
- ::= { ospfv3VirtNbrEntry 6 }
-
-ospfv3VirtNbrState OBJECT-TYPE
- SYNTAX INTEGER {
- down(1),
- attempt(2),
- init(3),
- twoWay(4),
- exchangeStart(5),
- exchange(6),
- loading(7),
- full(8)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The state of the Virtual Neighbor Relation-
- ship."
- ::= { ospfv3VirtNbrEntry 7 }
-
-ospfv3VirtNbrEvents OBJECT-TYPE
- SYNTAX Counter32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The number of times this virtual link has
- changed its state, or an error has occurred."
- ::= { ospfv3VirtNbrEntry 8 }
-
-ospfv3VirtNbrLsRetransQLen OBJECT-TYPE
- SYNTAX Gauge32
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The current length of the retransmission
- queue."
- ::= { ospfv3VirtNbrEntry 9 }
-
-ospfv3VirtNbrHelloSuppressed OBJECT-TYPE
- SYNTAX TruthValue
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Indicates whether Hellos are being suppressed
- to the neighbor"
- ::= { ospfv3VirtNbrEntry 10 }
-
-ospfv3VirtNbrIfId OBJECT-TYPE
- SYNTAX InterfaceIndex
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The interface ID that the neighbor advertises
- in its Hello Packets on this virtual link, that is,
- the neighbor's local interface ID."
- ::= { ospfv3VirtNbrEntry 11 }
-
- ospfv3VirtNbrRestartHelperStatus OBJECT-TYPE
- SYNTAX INTEGER { notHelping (1),
- helping (2)
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Indicates whether the router is acting
- as a hitless restart helper for the neighbor."
- ::= { ospfv3VirtNbrEntry 12 }
-
-ospfv3VirtNbrRestartHelperAge OBJECT-TYPE
- SYNTAX UpToRefreshInterval
- UNITS "seconds"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Remaining time in current OSPF hitless restart
- interval, if the router is acting as a restart
- helper for the neighbor."
- ::= { ospfv3VirtNbrEntry 13 }
-
-ospfv3VirtNbrRestartHelperExitReason OBJECT-TYPE
- SYNTAX INTEGER { none (1), -- not attempted
- inProgress (2), -- restart in
- -- progress
- completed (3), -- successfully
- -- completed
- timedOut (4), -- timed out
- topologyChanged (5) -- aborted due to
- -- topology
- -- change.
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "Describes the outcome of the last attempt at acting
- as a hitless restart helper for the neighbor."
- ::= { ospfv3VirtNbrEntry 14 }
-
-
---
--- The OSPFv3 Area Aggregate Table
---
-
-ospfv3AreaAggregateTable OBJECT-TYPE
- SYNTAX SEQUENCE OF Ospfv3AreaAggregateEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A range of IPv6 prefixes specified by a
- prefix/prefix length pair. Note that if
- ranges are configured such that one range sub-
- sumes another range the most specific match is
- the preferred one."
- ::= { ospfv3Objects 12 }
-
-ospfv3AreaAggregateEntry OBJECT-TYPE
- SYNTAX Ospfv3AreaAggregateEntry
- MAX-ACCESS not-accessible
- STATUS current
- DESCRIPTION
- "A range of IPv6 prefixes specified by a
- prefix/prefix length pair. Note that if
- ranges are configured such that one range sub-
- sumes another range the most specific match is
- the preferred one."
- REFERENCE
- "OSPF Version 2, Appendix C.2 Area parameters"
- INDEX { ospfv3AreaAggregateAreaID,
- ospfv3AreaAggregateAreaLsdbType,
- ospfv3AreaAggregatePrefixType,
- ospfv3AreaAggregatePrefix,
- ospfv3AreaAggregatePrefixLength }
- ::= { ospfv3AreaAggregateTable 1 }
-
-Ospfv3AreaAggregateEntry ::= SEQUENCE {
- ospfv3AreaAggregateAreaID
- AreaID,
- ospfv3AreaAggregateAreaLsdbType
- INTEGER,
- ospfv3AreaAggregatePrefixType
- InetAddressType,
- ospfv3AreaAggregatePrefix
- InetAddress,
- ospfv3AreaAggregatePrefixLength
- InetAddressPrefixLength,
- ospfv3AreaAggregateStatus
- RowStatus,
- ospfv3AreaAggregateEffect
- INTEGER,
- ospfv3AreaAggregateRouteTag
- INTEGER
- }
-
-ospfv3AreaAggregateAreaID OBJECT-TYPE
- SYNTAX AreaID
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The Area the Address Aggregate is to be found
- within."
- REFERENCE
- "OSPF Version 2, Appendix C.2 Area parameters"
- ::= { ospfv3AreaAggregateEntry 1 }
-
-ospfv3AreaAggregateAreaLsdbType OBJECT-TYPE
- SYNTAX INTEGER {
- interAreaPrefixLsa(8195), -- 0x2003
- nssaExternalLsa(8199) -- 0x2007
- }
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The type of the Address Aggregate. This field
- specifies the Area Lsdb type that this Address Ag-
- gregate applies to."
- REFERENCE
- "OSPF Version 2, Appendix A.4.1 The Link State
- Advertisement header"
- ::= { ospfv3AreaAggregateEntry 2 }
-
-ospfv3AreaAggregatePrefixType OBJECT-TYPE
- SYNTAX InetAddressType
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The prefix type of ospfv3AreaAggregatePrefix. Only
- IPv6 addresses are expected."
- ::= { ospfv3AreaAggregateEntry 4 }
-
-ospfv3AreaAggregatePrefix OBJECT-TYPE
- SYNTAX InetAddress (SIZE (0..16))
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The IPv6 Prefix."
- REFERENCE
- "OSPF Version 2, Appendix C.2 Area parameters"
- ::= { ospfv3AreaAggregateEntry 5 }
-
-ospfv3AreaAggregatePrefixLength OBJECT-TYPE
- SYNTAX InetAddressPrefixLength (3..128)
- UNITS "bits"
- MAX-ACCESS read-only
- STATUS current
- DESCRIPTION
- "The length of the prefix (in bits). A prefix can
- not be shorter than 3 bits."
- REFERENCE
- "OSPF Version 2, Appendix C.2 Area parameters"
- ::= { ospfv3AreaAggregateEntry 6 }
-
-ospfv3AreaAggregateStatus OBJECT-TYPE
- SYNTAX RowStatus
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "This variable controls the status of the en-
- try. The use of RowStatus is covered in more detail
- in [6]."
- ::= { ospfv3AreaAggregateEntry 7 }
-
-ospfv3AreaAggregateEffect OBJECT-TYPE
- SYNTAX INTEGER {
- advertiseMatching(1),
- doNotAdvertiseMatching(2)
- }
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "Prefixes subsumed by ranges either trigger the
- advertisement of the indicated aggregate (ad-
- vertiseMatching), or result in the prefix not
- being advertised at all outside the area."
- DEFVAL { advertiseMatching }
- ::= { ospfv3AreaAggregateEntry 8 }
-
-ospfv3AreaAggregateRouteTag OBJECT-TYPE
- SYNTAX Integer32
- MAX-ACCESS read-create
- STATUS current
- DESCRIPTION
- "This tag is advertised only in the summarized
- As-External LSA when summarizing from type-7 to
- type-5."
- DEFVAL { 0 }
- ::= { ospfv3AreaAggregateEntry 9 }
-
-
--- conformance information
-
-ospfv3Groups OBJECT IDENTIFIER ::= { ospfv3Conformance 1 }
-ospfv3Compliances OBJECT IDENTIFIER ::= { ospfv3Conformance 2 }
-
--- compliance statements
-
-ospfv3Compliance MODULE-COMPLIANCE
- STATUS current
- DESCRIPTION "The compliance statement "
- MODULE -- this module
- MANDATORY-GROUPS {
- ospfv3BasicGroup,
- ospfv3AreaGroup,
- ospfv3IfGroup,
- ospfv3VirtIfGroup,
- ospfv3NbrGroup,
- ospfv3NbmaNbrGroup,
- ospfv3VirtNbrGroup,
- ospfv3AreaAggregateGroup
- }
-
- GROUP ospfv3AsLsdbGroup
- DESCRIPTION
- "This group is required for OSPFv3 systems that
- display their AS-scope link state database."
-
- GROUP ospfv3AreaLsdbGroup
- DESCRIPTION
- "This group is required for OSPFv3 systems that
- display their Area-scope link state database."
-
- GROUP ospfv3LinkLsdbGroup
- DESCRIPTION
- "This group is required for OSPFv3 systems that
- display their Link-scope link state database."
-
- GROUP ospfv3HostGroup
- DESCRIPTION
- "This group is required for OSPFv3 systems that
- support attached hosts."
-
- OBJECT ospfv3NbrAddressType
- SYNTAX InetAddressType { ipv6(2) }
- DESCRIPTION
- "An implementation is only required to support IPv6
- address without zone index."
-
- OBJECT ospfv3VirtNbrAddressType
- SYNTAX InetAddressType { ipv6(2) }
- DESCRIPTION
- "An implementation is only required to support IPv6
- address without zone index."
-
- ::= { ospfv3Compliances 1 }
-
--- units of conformance
-
-ospfv3BasicGroup OBJECT-GROUP
- OBJECTS {
- ospfv3RouterId,
- ospfv3AdminStat,
- ospfv3VersionNumber,
- ospfv3AreaBdrRtrStatus,
- ospfv3ASBdrRtrStatus,
- ospfv3AsScopeLsaCount,
- ospfv3AsScopeLsaCksumSum,
- ospfv3OriginateNewLsas,
- ospfv3RxNewLsas,
- ospfv3ExtLsaCount,
- ospfv3ExtAreaLsdbLimit,
- ospfv3MulticastExtensions,
- ospfv3ExitOverflowInterval,
- ospfv3DemandExtensions,
- ospfv3TrafficEngineeringSupport,
- ospfv3ReferenceBandwidth,
- ospfv3RestartSupport,
- ospfv3RestartInterval,
- ospfv3RestartStatus,
- ospfv3RestartAge,
- ospfv3RestartExitReason
- }
- STATUS current
- DESCRIPTION
- "These objects are required for OSPFv3 systems."
- ::= { ospfv3Groups 1 }
-
-
-ospfv3AreaGroup OBJECT-GROUP
- OBJECTS {
- ospfv3ImportAsExtern,
- ospfv3AreaSpfRuns,
- ospfv3AreaBdrRtrCount,
- ospfv3AreaAsBdrRtrCount,
- ospfv3AreaScopeLsaCount,
- ospfv3AreaScopeLsaCksumSum,
- ospfv3AreaSummary,
- ospfv3AreaStatus,
- ospfv3StubMetric,
- ospfv3AreaNssaTranslatorRole,
- ospfv3AreaNssaTranslatorState,
- ospfv3AreaNssaTranslatorStabilityInterval,
- ospfv3AreaNssaTranslatorEvents,
- ospfv3AreaStubMetricType
- }
- STATUS current
- DESCRIPTION
- "These objects are required for OSPFv3 systems
- supporting areas."
- ::= { ospfv3Groups 2 }
-
-ospfv3AsLsdbGroup OBJECT-GROUP
- OBJECTS {
- ospfv3AsLsdbSequence,
- ospfv3AsLsdbAge,
- ospfv3AsLsdbChecksum,
- ospfv3AsLsdbAdvertisement,
- ospfv3AsLsdbTypeKnown
- }
- STATUS current
- DESCRIPTION
- "These objects are required for OSPFv3 systems
- that display their AS-scope link state database."
- ::= { ospfv3Groups 3 }
-
-ospfv3AreaLsdbGroup OBJECT-GROUP
- OBJECTS {
- ospfv3AreaLsdbSequence,
- ospfv3AreaLsdbAge,
- ospfv3AreaLsdbChecksum,
- ospfv3AreaLsdbAdvertisement,
- ospfv3AreaLsdbTypeKnown
- }
- STATUS current
- DESCRIPTION
- "These objects are required for OSPFv3 systems
- that display their Area-scope link state database."
- ::= { ospfv3Groups 4 }
-
-ospfv3LinkLsdbGroup OBJECT-GROUP
- OBJECTS {
- ospfv3LinkLsdbSequence,
- ospfv3LinkLsdbAge,
- ospfv3LinkLsdbChecksum,
- ospfv3LinkLsdbAdvertisement,
- ospfv3LinkLsdbTypeKnown
- }
- STATUS current
- DESCRIPTION
- "These objects are required for OSPFv3 systems
- that display their Link-scope link state database."
- ::= { ospfv3Groups 5 }
-
-ospfv3HostGroup OBJECT-GROUP
- OBJECTS {
- ospfv3HostMetric,
- ospfv3HostStatus,
- ospfv3HostAreaID
- }
- STATUS current
- DESCRIPTION
- "These objects are required for OSPFv3 systems
- that support attached hosts."
- ::= { ospfv3Groups 6 }
-
-ospfv3IfGroup OBJECT-GROUP
- OBJECTS {
- ospfv3IfAreaId,
- ospfv3IfType,
- ospfv3IfAdminStat,
- ospfv3IfRtrPriority,
- ospfv3IfTransitDelay,
- ospfv3IfRetransInterval,
- ospfv3IfHelloInterval,
- ospfv3IfRtrDeadInterval,
- ospfv3IfPollInterval,
- ospfv3IfState,
- ospfv3IfDesignatedRouter,
- ospfv3IfBackupDesignatedRouter,
- ospfv3IfEvents,
- ospfv3IfStatus,
- ospfv3IfMulticastForwarding,
- ospfv3IfDemand,
- ospfv3IfMetricValue,
- ospfv3IfLinkScopeLsaCount,
- ospfv3IfLinkLsaCksumSum,
- ospfv3IfInstId,
- ospfv3IfDemandNbrProbe,
- ospfv3IfDemandNbrProbeRetxLimit,
- ospfv3IfDemandNbrProbeInterval
- }
- STATUS current
- DESCRIPTION
- "These interface objects are required for
- OSPFv3 systems."
- ::= { ospfv3Groups 7 }
-
-ospfv3VirtIfGroup OBJECT-GROUP
- OBJECTS {
- ospfv3VirtIfIndex,
- ospfv3VirtIfTransitDelay,
- ospfv3VirtIfRetransInterval,
- ospfv3VirtIfHelloInterval,
- ospfv3VirtIfRtrDeadInterval,
- ospfv3VirtIfState,
- ospfv3VirtIfEvents,
- ospfv3VirtIfStatus,
- ospfv3VirtIfLinkScopeLsaCount,
- ospfv3VirtIfLinkLsaCksumSum
- }
- STATUS current
- DESCRIPTION
- "These virtual interface objects are required for
- OSPFv3 systems."
- ::= { ospfv3Groups 8 }
-
-ospfv3NbrGroup OBJECT-GROUP
- OBJECTS {
- ospfv3NbrAddressType,
- ospfv3NbrAddress,
- ospfv3NbrOptions,
- ospfv3NbrPriority,
- ospfv3NbrState,
- ospfv3NbrEvents,
- ospfv3NbrLsRetransQLen,
- ospfv3NbrHelloSuppressed,
- ospfv3NbrIfId,
- ospfv3NbrRestartHelperStatus,
- ospfv3NbrRestartHelperAge,
- ospfv3NbrRestartHelperExitReason
- }
- STATUS current
- DESCRIPTION
- "These neighbor objects are required for
- OSPFv3 systems."
- ::= { ospfv3Groups 9 }
-
-ospfv3NbmaNbrGroup OBJECT-GROUP
- OBJECTS {
- ospfv3NbmaNbrPriority,
- ospfv3NbmaNbrRtrId,
- ospfv3NbmaNbrState,
- ospfv3NbmaNbrStorageType,
- ospfv3NbmaNbrStatus
- }
- STATUS current
- DESCRIPTION
- "These NBMA neighbor objects are required for
- OSPFv3 systems."
- ::= { ospfv3Groups 10 }
-
-ospfv3VirtNbrGroup OBJECT-GROUP
- OBJECTS {
- ospfv3VirtNbrIfIndex,
- ospfv3VirtNbrAddressType,
- ospfv3VirtNbrAddress,
- ospfv3VirtNbrOptions,
- ospfv3VirtNbrState,
- ospfv3VirtNbrEvents,
- ospfv3VirtNbrLsRetransQLen,
- ospfv3VirtNbrHelloSuppressed,
- ospfv3VirtNbrIfId,
- ospfv3VirtNbrRestartHelperStatus,
- ospfv3VirtNbrRestartHelperAge,
- ospfv3VirtNbrRestartHelperExitReason
- }
- STATUS current
- DESCRIPTION
- "These virtual neighbor objects are required for
- OSPFv3 systems."
- ::= { ospfv3Groups 11 }
-
-ospfv3AreaAggregateGroup OBJECT-GROUP
- OBJECTS {
- ospfv3AreaAggregateStatus,
- ospfv3AreaAggregateEffect,
- ospfv3AreaAggregateRouteTag
- }
- STATUS current
- DESCRIPTION
- "These area aggregate objects are required for
- OSPFv3 systems."
- ::= { ospfv3Groups 12 }
-
-END
+ OSPFV3-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, mib-2,
+ Counter32, Gauge32, Integer32, Unsigned32
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, TruthValue, RowStatus, TimeStamp
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ InterfaceIndex
+ FROM IF-MIB
+ InetAddressType, InetAddress, InetAddressPrefixLength,
+ InetAddressIPv6
+ FROM INET-ADDRESS-MIB
+ Metric, BigMetric, Status,
+ HelloRange, DesignatedRouterPriority
+ FROM OSPF-MIB;
+
+ ospfv3MIB MODULE-IDENTITY
+ LAST-UPDATED "200908130000Z"
+ ORGANIZATION "IETF OSPF Working Group"
+ CONTACT-INFO
+ "WG E-Mail: ospf@ietf.org
+ WG Chairs: Acee Lindem
+ acee@redback.com
+
+ Abhay Roy
+ akr@cisco.com
+
+ Editors: Dan Joyal
+ Nortel
+ 600 Technology Park Drive
+ Billerica, MA 01821, USA
+ djoyal@nortel.com
+
+ Vishwas Manral
+ IP Infusion
+ Almora, Uttarakhand
+ India
+ vishwas@ipinfusion.com"
+ DESCRIPTION
+ "The MIB module for OSPF version 3.
+
+ Copyright (c) 2009 IETF Trust and the persons
+ identified as authors of the code. All rights
+ reserved.
+
+ Redistribution and use in source and binary forms, with
+ or without modification, are permitted provided that
+ the following conditions are met:
+
+ - Redistributions of source code must retain the above
+ copyright notice, this list of conditions and the
+ following disclaimer.
+
+ - Redistributions in binary form must reproduce the
+ above copyright notice, this list of conditions and
+ the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+
+ - Neither the name of Internet Society, IETF or IETF
+ Trust, nor the names of specific contributors, may be
+ used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+ IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+ This version of this MIB module is part of RFC 5643;
+ see the RFC itself for full legal notices."
+
+ REVISION "200908130000Z"
+ DESCRIPTION
+ "Initial version, published as RFC 5643"
+ ::= { mib-2 191 }
+
+ -- Textual conventions
+
+ Ospfv3UpToRefreshIntervalTC ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "The values one might be able to configure for
+ variables bounded by the Refresh Interval."
+ REFERENCE
+ "OSPF Version 2, Appendix B, Architectural Constants"
+ SYNTAX Unsigned32 (1..1800)
+
+ Ospfv3DeadIntervalRangeTC ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "The range, in seconds, of dead interval value."
+ REFERENCE
+ "OSPF for IPv6, Appendix C.3, Router Interface
+ Parameters"
+ SYNTAX Unsigned32 (1..'FFFF'h)
+
+ Ospfv3RouterIdTC ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A 32-bit, unsigned integer uniquely identifying the
+ router in the Autonomous System. To ensure
+ uniqueness, this may default to the value of one of
+ the router's IPv4 host addresses if IPv4 is
+ configured on the router."
+ REFERENCE
+ "OSPF for IPv6, Appendix C.1, Global Parameters"
+ SYNTAX Unsigned32 (1..'FFFFFFFF'h)
+
+ Ospfv3LsIdTC ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique 32-bit identifier of the piece of the
+ routing domain that is being described by a link
+ state advertisement. In contrast to OSPFv2, the
+ Link State ID (LSID) has no addressing semantics."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.4, Link State ID"
+ SYNTAX Unsigned32 (1..'FFFFFFFF'h)
+
+ Ospfv3AreaIdTC ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "An OSPFv3 Area Identifier. A value of zero
+ identifies the backbone area."
+ REFERENCE
+ "OSPF for IPv6, Appendix C.3 Router Interface
+ Parameters"
+ SYNTAX Unsigned32 (0..'FFFFFFFF'h)
+
+ Ospfv3IfInstIdTC ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "An OSPFv3 Interface Instance ID."
+ REFERENCE
+ "OSPF for IPv6, Appendix C.3, Router Interface
+ Parameters"
+ SYNTAX Unsigned32 (0..255)
+
+ Ospfv3LsaSequenceTC ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "The sequence number field is a signed 32-bit
+ integer. It is used to detect old and duplicate
+ link state advertisements. The space of
+ sequence numbers is linearly ordered. The
+ larger the sequence number, the more recent the
+ advertisement."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.6, LS sequence
+ number"
+ SYNTAX Integer32
+
+ Ospfv3LsaAgeTC ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "The age of the link state advertisement in
+ seconds. The high-order bit of the LS age
+ field is considered the DoNotAge bit for
+ support of on-demand circuits."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.1, LS age;
+ Extending OSPF to Support Demand Circuits,
+ Section 2.2, The LS age field"
+ SYNTAX Unsigned32 (0..3600 | 32768..36368)
+
+ -- Top-level structure of MIB
+ ospfv3Notifications OBJECT IDENTIFIER ::= { ospfv3MIB 0 }
+ ospfv3Objects OBJECT IDENTIFIER ::= { ospfv3MIB 1 }
+ ospfv3Conformance OBJECT IDENTIFIER ::= { ospfv3MIB 2 }
+
+ -- OSPFv3 General Variables
+
+ -- These parameters apply globally to the Router's
+ -- OSPFv3 Process.
+
+ ospfv3GeneralGroup OBJECT IDENTIFIER ::= { ospfv3Objects 1 }
+
+ ospfv3RouterId OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A 32-bit unsigned integer uniquely identifying
+ the router in the Autonomous System. To ensure
+ uniqueness, this may default to the 32-bit
+ unsigned integer representation of one of
+ the router's IPv4 interface addresses (if IPv4
+ is configured on the router).
+
+ This object is persistent, and when written, the
+ entity SHOULD save the change to non-volatile
+ storage."
+ REFERENCE
+ "OSPF for IPv6, Appendix C.1, Global Parameters"
+ ::= { ospfv3GeneralGroup 1 }
+
+ ospfv3AdminStatus OBJECT-TYPE
+ SYNTAX Status
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The administrative status of OSPFv3 in the
+ router. The value 'enabled' denotes that the
+ OSPFv3 Process is active on at least one
+ interface; 'disabled' disables it on all
+ interfaces.
+
+ This object is persistent, and when written, the
+ entity SHOULD save the change to non-volatile
+ storage."
+ ::= { ospfv3GeneralGroup 2 }
+
+ ospfv3VersionNumber OBJECT-TYPE
+ SYNTAX INTEGER { version3 (3) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version number of OSPF for IPv6 is 3."
+ ::= { ospfv3GeneralGroup 3 }
+
+ ospfv3AreaBdrRtrStatus OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A flag to denote whether this router is an area
+ border router. The value of this object is true (1)
+ when the router is an area border router."
+ REFERENCE
+ "OSPF Version 2, Section 3, Splitting the AS into
+ Areas"
+ ::= { ospfv3GeneralGroup 4 }
+
+ ospfv3ASBdrRtrStatus OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A flag to note whether this router is
+ configured as an Autonomous System border router.
+
+ This object is persistent, and when written, the
+ entity SHOULD save the change to non-volatile
+ storage."
+ REFERENCE
+ "OSPF Version 2, Section 3.3, Classification of
+ routers"
+ ::= { ospfv3GeneralGroup 5 }
+
+ ospfv3AsScopeLsaCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of AS-scope (e.g., AS-External) link state
+ advertisements in the link state database."
+ ::= { ospfv3GeneralGroup 6 }
+
+ ospfv3AsScopeLsaCksumSum OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The 32-bit unsigned sum of the LS checksums of
+ the AS-scoped link state advertisements
+ contained in the link state database. This sum
+ can be used to determine if there has been a
+ change in a router's link state database or
+ to compare the link state database of two
+ routers."
+ ::= { ospfv3GeneralGroup 7 }
+
+ ospfv3OriginateNewLsas OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of new link state advertisements
+ that have been originated. This number is
+ incremented each time the router originates a new
+ LSA.
+
+ Discontinuities in the value of this counter
+ can occur at re-initialization of the management
+ system and at other times as indicated by the
+ value of ospfv3DiscontinuityTime."
+ ::= { ospfv3GeneralGroup 8 }
+
+ ospfv3RxNewLsas OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of link state advertisements
+ received that are determined to be new
+ instantiations. This number does not include
+ newer instantiations of self-originated link state
+ advertisements.
+
+ Discontinuities in the value of this counter
+ can occur at re-initialization of the management
+ system and at other times as indicated by the
+ value of ospfv3DiscontinuityTime."
+ ::= { ospfv3GeneralGroup 9 }
+
+ ospfv3ExtLsaCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of External (LS type 0x4005) in the
+ link state database."
+ ::= { ospfv3GeneralGroup 10 }
+
+ ospfv3ExtAreaLsdbLimit OBJECT-TYPE
+ SYNTAX Integer32 (-1..'7FFFFFFF'h)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of non-default
+ AS-external-LSA entries that can be stored in the
+ link state database. If the value is -1, then
+ there is no limit.
+
+ When the number of non-default AS-external-LSAs
+ in a router's link state database reaches
+ ospfv3ExtAreaLsdbLimit, the router enters Overflow
+ state. The router never holds more than
+ ospfv3ExtAreaLsdbLimit non-default AS-external-LSAs
+ in its database. ospfv3ExtAreaLsdbLimit MUST be set
+ identically in all routers attached to the OSPFv3
+ backbone and/or any regular OSPFv3 area (i.e.,
+ OSPFv3 stub areas and not-so-stubby-areas (NSSAs)
+ are excluded).
+
+ This object is persistent, and when written, the
+ entity SHOULD save the change to non-volatile
+ storage."
+ ::= { ospfv3GeneralGroup 11 }
+
+ ospfv3ExitOverflowInterval OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The number of seconds that, after entering
+ Overflow state, a router will attempt to leave
+ Overflow state. This allows the router to again
+ originate non-default, AS-External-LSAs. When
+ set to 0, the router will not leave Overflow
+ state until restarted.
+
+ This object is persistent, and when written, the
+ entity SHOULD save the change to non-volatile
+ storage."
+ ::= { ospfv3GeneralGroup 12 }
+
+ ospfv3DemandExtensions OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The router's support for demand circuits.
+ The value of this object is true (1) when
+ demand circuits are supported.
+
+ This object is persistent, and when written, the
+ entity SHOULD save the change to non-volatile
+ storage."
+ REFERENCE
+ "OSPF Version 2; Extending OSPF to Support Demand
+ Circuits"
+ ::= { ospfv3GeneralGroup 13 }
+
+ ospfv3ReferenceBandwidth OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "kilobits per second"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Reference bandwidth in kilobits per second for
+ calculating default interface metrics. The
+ default value is 100,000 KBPS (100 MBPS).
+
+ This object is persistent, and when written, the
+ entity SHOULD save the change to non-volatile
+ storage."
+ REFERENCE
+ "OSPF Version 2, Appendix C.3, Router interface
+ parameters"
+ DEFVAL { 100000 }
+ ::= { ospfv3GeneralGroup 14 }
+
+ ospfv3RestartSupport OBJECT-TYPE
+ SYNTAX INTEGER { none(1),
+ plannedOnly(2),
+ plannedAndUnplanned(3)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The router's support for OSPF graceful restart.
+ Options include no restart support, only planned
+
+ restarts, or both planned and unplanned restarts.
+
+ This object is persistent, and when written, the
+ entity SHOULD save the change to non-volatile
+ storage."
+ REFERENCE "Graceful OSPF Restart, Appendix B.1, Global
+ Parameters (Minimum subset)"
+ ::= { ospfv3GeneralGroup 15 }
+
+ ospfv3RestartInterval OBJECT-TYPE
+ SYNTAX Ospfv3UpToRefreshIntervalTC
+ UNITS "seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Configured OSPF graceful restart timeout interval.
+
+ This object is persistent, and when written, the
+ entity SHOULD save the change to non-volatile
+ storage."
+ REFERENCE "Graceful OSPF Restart, Appendix B.1, Global
+ Parameters (Minimum subset)"
+ DEFVAL { 120 }
+ ::= { ospfv3GeneralGroup 16 }
+
+ ospfv3RestartStrictLsaChecking OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates if strict LSA checking is enabled for
+ graceful restart. A value of true (1) indicates that
+ strict LSA checking is enabled.
+
+ This object is persistent, and when written,
+ the entity SHOULD save the change to non-volatile
+ storage."
+ REFERENCE "Graceful OSPF Restart, Appendix B.2, Global
+ Parameters (Optional)"
+ DEFVAL { true }
+ ::= { ospfv3GeneralGroup 17 }
+
+ ospfv3RestartStatus OBJECT-TYPE
+ SYNTAX INTEGER { notRestarting(1),
+ plannedRestart(2),
+ unplannedRestart(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current status of OSPF graceful restart capability."
+ ::= { ospfv3GeneralGroup 18 }
+
+ ospfv3RestartAge OBJECT-TYPE
+ SYNTAX Ospfv3UpToRefreshIntervalTC
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Remaining time in the current OSPF graceful restart
+ interval."
+ ::= { ospfv3GeneralGroup 19 }
+
+ ospfv3RestartExitReason OBJECT-TYPE
+ SYNTAX INTEGER { none(1),
+ inProgress(2),
+ completed(3),
+ timedOut(4),
+ topologyChanged(5)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Describes the outcome of the last attempt at a
+ graceful restart.
+
+ none: no restart has yet been attempted.
+ inProgress: a restart attempt is currently underway.
+ completed: the last restart completed successfully.
+ timedOut: the last restart timed out.
+ topologyChanged: the last restart was aborted due to
+ a topology change."
+ ::= { ospfv3GeneralGroup 20 }
+
+ ospfv3NotificationEnable OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object provides a coarse level of control
+ over the generation of OSPFv3 notifications.
+
+ If this object is set to true (1), then it enables
+ the generation of OSPFv3 notifications. If it is
+ set to false (2), these notifications are not
+ generated.
+
+ This object is persistent, and when written, the
+ entity SHOULD save the change to non-volatile
+ storage."
+ ::= { ospfv3GeneralGroup 21 }
+
+ospfv3StubRouterSupport OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The router's support for stub router functionality. An
+ object value of true (1) indicates that stub router
+ functionality is supported."
+ REFERENCE
+ "OSPF Stub Router Advertisement"
+ ::= { ospfv3GeneralGroup 22 }
+
+ ospfv3StubRouterAdvertisement OBJECT-TYPE
+ SYNTAX INTEGER {
+ doNotAdvertise(1),
+ advertise(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object controls the advertisement of
+ stub LSAs by the router. The value
+ doNotAdvertise (1) will result in the advertisement
+ of standard LSAs and is the default value.
+
+ This object is persistent, and when written,
+ the entity SHOULD save the change to non-volatile
+ storage."
+ REFERENCE
+ "OSPF Stub Router Advertisement, Section 2, Proposed
+ Solution"
+ DEFVAL { doNotAdvertise }
+ ::= { ospfv3GeneralGroup 23 }
+
+ospfv3DiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion
+ at which any one of this MIB's counters suffered
+ a discontinuity.
+
+ If no such discontinuities have occurred since the last
+ re-initialization of the local management subsystem,
+ then this object contains a zero value."
+ ::= { ospfv3GeneralGroup 24 }
+
+ ospfv3RestartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion
+ at which the ospfv3RestartExitReason was updated."
+ ::= { ospfv3GeneralGroup 25 }
+
+ -- The OSPFv3 Area Data Structure contains information
+ -- regarding the various areas. The interfaces and
+ -- virtual links are configured as part of these areas.
+ -- Area 0, by definition, is the backbone area.
+
+ ospfv3AreaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3AreaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information describing the configured
+ parameters and cumulative statistics of the router's
+ attached areas. The interfaces and
+ virtual links are configured as part of these areas.
+ Area 0, by definition, is the backbone area."
+ REFERENCE
+ "OSPF Version 2, Section 6, The Area Data
+ Structure"
+ ::= { ospfv3Objects 2 }
+
+ ospfv3AreaEntry OBJECT-TYPE
+ SYNTAX Ospfv3AreaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information describing the configured
+ parameters and cumulative statistics of one of the
+ router's attached areas.
+
+ The information in this table is persistent,
+ and when written, the entity SHOULD save the a
+ change to non-volatile storage."
+ INDEX { ospfv3AreaId }
+ ::= { ospfv3AreaTable 1 }
+
+ Ospfv3AreaEntry ::= SEQUENCE {
+ ospfv3AreaId
+ Ospfv3AreaIdTC,
+ ospfv3AreaImportAsExtern
+ INTEGER,
+ ospfv3AreaSpfRuns
+ Counter32,
+ ospfv3AreaBdrRtrCount
+ Gauge32,
+ ospfv3AreaAsBdrRtrCount
+ Gauge32,
+ ospfv3AreaScopeLsaCount
+ Gauge32,
+ ospfv3AreaScopeLsaCksumSum
+ Unsigned32,
+ ospfv3AreaSummary
+ INTEGER,
+ ospfv3AreaRowStatus
+ RowStatus,
+ ospfv3AreaStubMetric
+ BigMetric,
+ ospfv3AreaNssaTranslatorRole
+ INTEGER,
+ ospfv3AreaNssaTranslatorState
+ INTEGER,
+ ospfv3AreaNssaTranslatorStabInterval
+ Unsigned32,
+ ospfv3AreaNssaTranslatorEvents
+ Counter32,
+ ospfv3AreaStubMetricType
+ INTEGER,
+ ospfv3AreaTEEnabled
+ TruthValue
+ }
+
+ ospfv3AreaId OBJECT-TYPE
+ SYNTAX Ospfv3AreaIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A 32-bit unsigned integer uniquely identifying an area.
+ Area ID 0 is used for the OSPFv3 backbone."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2, Area parameters"
+ ::= { ospfv3AreaEntry 1 }
+
+ ospfv3AreaImportAsExtern OBJECT-TYPE
+ SYNTAX INTEGER {
+ importExternal(1), -- normal area
+ importNoExternal(2), -- stub area
+ importNssa(3) -- not-so-stubby-area
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Indicates whether an area is a stub area, NSSA, or
+ standard area. AS-scope LSAs are not imported into stub
+ areas or NSSAs. NSSAs import AS-External data as NSSA
+ LSAs that have Area-scope."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2, Area parameters"
+ DEFVAL { importExternal }
+ ::= { ospfv3AreaEntry 2 }
+
+ ospfv3AreaSpfRuns OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that the intra-area route
+ table has been calculated using this area's
+ link state database. This is typically done
+ using Dijkstra's algorithm.
+
+ Discontinuities in the value of this counter
+ can occur at re-initialization of the management
+ system and at other times as indicated by the
+ value of ospfv3DiscontinuityTime."
+ ::= { ospfv3AreaEntry 3 }
+
+ ospfv3AreaBdrRtrCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of area border routers
+ reachable within this area. This is initially zero,
+ and is calculated in each Shortest Path First (SPF)
+ pass."
+ DEFVAL { 0 }
+ ::= { ospfv3AreaEntry 4 }
+
+ ospfv3AreaAsBdrRtrCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Autonomous System border
+ routers reachable within this area. This is
+ initially zero, and is calculated in each SPF
+ pass."
+ DEFVAL { 0 }
+ ::= { ospfv3AreaEntry 5 }
+
+ ospfv3AreaScopeLsaCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Area-scope link state
+ advertisements in this area's link state
+ database."
+ DEFVAL { 0 }
+ ::= { ospfv3AreaEntry 6 }
+
+ ospfv3AreaScopeLsaCksumSum OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The 32-bit unsigned sum of the Area-scope link state
+ advertisements' LS checksums contained in this
+ area's link state database. The sum can be used
+ to determine if there has been a change in a
+ router's link state database or to compare the
+ link state database of two routers."
+ ::= { ospfv3AreaEntry 7 }
+
+ ospfv3AreaSummary OBJECT-TYPE
+ SYNTAX INTEGER {
+ noAreaSummary(1),
+ sendAreaSummary(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The variable ospfv3AreaSummary controls the
+ import of Inter-Area LSAs into stub and
+ NSSA areas. It has no effect on other areas.
+
+ If it is noAreaSummary, the router will neither
+ originate nor propagate Inter-Area LSAs into the
+ stub or NSSA area. It will only advertise a
+ default route.
+
+ If it is sendAreaSummary, the router will both
+ summarize and propagate Inter-Area LSAs."
+ DEFVAL { sendAreaSummary }
+ ::= { ospfv3AreaEntry 8 }
+
+ ospfv3AreaRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object permits management of the table by
+ facilitating actions such as row creation,
+ construction, and destruction.
+
+ The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified."
+ ::= { ospfv3AreaEntry 9 }
+
+ ospfv3AreaStubMetric OBJECT-TYPE
+ SYNTAX BigMetric
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The metric value advertised for the default route
+ into stub and NSSA areas. By default, this equals the
+ least metric among the interfaces to other areas."
+ ::= { ospfv3AreaEntry 10 }
+
+ ospfv3AreaNssaTranslatorRole OBJECT-TYPE
+ SYNTAX INTEGER { always(1), candidate(2) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Indicates an NSSA border router's policy to
+ perform NSSA translation of NSSA-LSAs into
+ AS-External-LSAs."
+ DEFVAL { candidate }
+ ::= { ospfv3AreaEntry 11 }
+
+ ospfv3AreaNssaTranslatorState OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ elected(2),
+ disabled(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates if and how an NSSA border router is
+ performing NSSA translation of NSSA-LSAs into
+ AS-External-LSAs. When this object is set to
+ 'enabled', the NSSA border router's
+ ospfv3AreaNssaTranslatorRole has been set to 'always'.
+ When this object is set to 'elected', a candidate
+ NSSA border router is translating NSSA-LSAs into
+ AS-External-LSAs. When this object is set to
+ 'disabled', a candidate NSSA Border router is NOT
+ translating NSSA-LSAs into AS-External-LSAs."
+ ::= { ospfv3AreaEntry 12 }
+
+ ospfv3AreaNssaTranslatorStabInterval OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The stability interval defined as the number of
+ seconds after an elected translator determines its
+ services are no longer required that it should
+ continue to perform its translation duties."
+ DEFVAL { 40 }
+ ::= { ospfv3AreaEntry 13 }
+
+ ospfv3AreaNssaTranslatorEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates the number of Translator state changes
+ that have occurred since the last start-up of the
+ OSPFv3 routing process.
+
+ Discontinuities in the value of this counter
+ can occur at re-initialization of the management
+ system and at other times as indicated by the
+ value of ospfv3DiscontinuityTime."
+ ::= { ospfv3AreaEntry 14 }
+
+ ospfv3AreaStubMetricType OBJECT-TYPE
+ SYNTAX INTEGER {
+ ospfv3Metric(1), -- OSPF Metric
+ comparableCost(2), -- external type 1
+ nonComparable(3) -- external type 2
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable assigns the type of metric
+ advertised as a default route."
+ DEFVAL { ospfv3Metric }
+ ::= { ospfv3AreaEntry 15 }
+
+ ospfv3AreaTEEnabled OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Indicates whether or not traffic engineering
+ is enabled in the area. The object is set
+ to the value true (1) to enable traffic engineering.
+ Traffic engineering is disabled by default."
+ DEFVAL { false }
+ ::= { ospfv3AreaEntry 16 }
+
+ -- OSPFv3 AS-Scope Link State Database
+
+ ospfv3AsLsdbTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3AsLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The OSPFv3 Process's AS-scope link state database
+ (LSDB). The LSDB contains the AS-scope link state
+ advertisements from throughout the areas that the
+ device is attached to."
+ ::= { ospfv3Objects 3 }
+
+ ospfv3AsLsdbEntry OBJECT-TYPE
+ SYNTAX Ospfv3AsLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single AS-scope link state advertisement."
+ INDEX { ospfv3AsLsdbType,
+ ospfv3AsLsdbRouterId,
+ ospfv3AsLsdbLsid }
+ ::= { ospfv3AsLsdbTable 1 }
+
+ Ospfv3AsLsdbEntry ::= SEQUENCE {
+ ospfv3AsLsdbType
+ Unsigned32,
+ ospfv3AsLsdbRouterId
+ Ospfv3RouterIdTC,
+ ospfv3AsLsdbLsid
+ Ospfv3LsIdTC,
+ ospfv3AsLsdbSequence
+ Ospfv3LsaSequenceTC,
+ ospfv3AsLsdbAge
+ Ospfv3LsaAgeTC,
+ ospfv3AsLsdbChecksum
+ Integer32,
+ ospfv3AsLsdbAdvertisement
+ OCTET STRING,
+ ospfv3AsLsdbTypeKnown
+ TruthValue
+ }
+
+ ospfv3AsLsdbType OBJECT-TYPE
+ SYNTAX Unsigned32(0..'FFFFFFFF'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of the link state advertisement.
+ Each link state type has a separate
+ advertisement format. AS-scope LSAs not recognized
+ by the router may be stored in the database."
+ ::= { ospfv3AsLsdbEntry 1 }
+
+ ospfv3AsLsdbRouterId OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The 32-bit number that uniquely identifies the
+ originating router in the Autonomous System."
+ REFERENCE
+ "OSPF Version 2, Appendix C.1, Global parameters"
+ ::= { ospfv3AsLsdbEntry 2 }
+
+ ospfv3AsLsdbLsid OBJECT-TYPE
+ SYNTAX Ospfv3LsIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The Link State ID is an LS type-specific field
+ containing a unique identifier;
+ it identifies the piece of the routing domain
+ that is being described by the advertisement.
+ In contrast to OSPFv2, the LSID has no
+ addressing semantics."
+ ::= { ospfv3AsLsdbEntry 3 }
+
+ -- Note that the OSPF sequence number is a 32-bit signed
+ -- integer. It starts with the value '80000001'h
+ -- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h.
+ -- Thus, a typical sequence number will be very negative.
+
+ ospfv3AsLsdbSequence OBJECT-TYPE
+ SYNTAX Ospfv3LsaSequenceTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The sequence number field is a signed 32-bit
+ integer. It is used to detect old and duplicate
+ link state advertisements. The space of
+ sequence numbers is linearly ordered. The
+ larger the sequence number, the more recent the
+ advertisement."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.6, LS sequence
+ number"
+ ::= { ospfv3AsLsdbEntry 4 }
+
+ ospfv3AsLsdbAge OBJECT-TYPE
+ SYNTAX Ospfv3LsaAgeTC
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the age of the link state
+ advertisement in seconds. The high-order bit
+ of the LS age field is considered the DoNotAge
+ bit for support of on-demand circuits."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.1, LS age;
+ Extending OSPF to Support Demand Circuits,
+ Section 2.2, The LS age field."
+ ::= { ospfv3AsLsdbEntry 5 }
+
+ ospfv3AsLsdbChecksum OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the checksum of the complete
+ contents of the advertisement, excepting the
+ age field. The age field is excepted so that
+ an advertisement's age can be incremented
+ without updating the checksum. The checksum
+ used is the same that is used for ISO
+ connectionless datagrams; it is commonly
+ referred to as the Fletcher checksum."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.7, LS checksum"
+ ::= { ospfv3AsLsdbEntry 6 }
+
+ ospfv3AsLsdbAdvertisement OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..65535))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The entire link state advertisement, including
+ its header."
+ ::= { ospfv3AsLsdbEntry 7 }
+
+ ospfv3AsLsdbTypeKnown OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value true (1) indicates that the LSA type
+ is recognized by this router."
+ ::= { ospfv3AsLsdbEntry 8 }
+
+ -- OSPFv3 Area-Scope Link State Database
+
+ ospfv3AreaLsdbTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3AreaLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The OSPFv3 Process's Area-scope LSDB.
+ The LSDB contains the Area-scope link state
+ advertisements from throughout the area that the
+ device is attached to."
+ ::= { ospfv3Objects 4 }
+
+ ospfv3AreaLsdbEntry OBJECT-TYPE
+ SYNTAX Ospfv3AreaLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single Area-scope link state advertisement."
+ INDEX { ospfv3AreaLsdbAreaId,
+ ospfv3AreaLsdbType,
+ ospfv3AreaLsdbRouterId,
+ ospfv3AreaLsdbLsid }
+ ::= { ospfv3AreaLsdbTable 1 }
+
+ Ospfv3AreaLsdbEntry ::= SEQUENCE {
+ ospfv3AreaLsdbAreaId
+ Ospfv3AreaIdTC,
+ ospfv3AreaLsdbType
+ Unsigned32,
+ ospfv3AreaLsdbRouterId
+ Ospfv3RouterIdTC,
+ ospfv3AreaLsdbLsid
+ Ospfv3LsIdTC,
+ ospfv3AreaLsdbSequence
+ Ospfv3LsaSequenceTC,
+ ospfv3AreaLsdbAge
+ Ospfv3LsaAgeTC,
+ ospfv3AreaLsdbChecksum
+ Integer32,
+ ospfv3AreaLsdbAdvertisement
+ OCTET STRING,
+ ospfv3AreaLsdbTypeKnown
+ TruthValue
+ }
+
+ ospfv3AreaLsdbAreaId OBJECT-TYPE
+ SYNTAX Ospfv3AreaIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The 32-bit identifier of the Area from which the
+ LSA was received."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2, Area parameters"
+ ::= { ospfv3AreaLsdbEntry 1 }
+
+ ospfv3AreaLsdbType OBJECT-TYPE
+ SYNTAX Unsigned32(0..'FFFFFFFF'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of the link state advertisement.
+ Each link state type has a separate
+ advertisement format. Area-scope LSAs unrecognized
+ by the router are also stored in this database."
+ ::= { ospfv3AreaLsdbEntry 2 }
+
+ ospfv3AreaLsdbRouterId OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The 32-bit number that uniquely identifies the
+ originating router in the Autonomous System."
+ REFERENCE
+ "OSPF Version 2, Appendix C.1, Global parameters"
+ ::= { ospfv3AreaLsdbEntry 3 }
+
+ ospfv3AreaLsdbLsid OBJECT-TYPE
+ SYNTAX Ospfv3LsIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The Link State ID is an LS type-specific field
+ containing a unique identifier;
+ it identifies the piece of the routing domain
+ that is being described by the advertisement.
+ In contrast to OSPFv2, the LSID has no
+ addressing semantics."
+ ::= { ospfv3AreaLsdbEntry 4 }
+
+ -- Note that the OSPF sequence number is a 32-bit signed
+ -- integer. It starts with the value '80000001'h
+ -- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h.
+ -- Thus, a typical sequence number will be very negative.
+
+ ospfv3AreaLsdbSequence OBJECT-TYPE
+ SYNTAX Ospfv3LsaSequenceTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The sequence number field is a signed 32-bit
+ integer. It is used to detect old and
+ duplicate link state advertisements. The space
+ of sequence numbers is linearly ordered. The
+ larger the sequence number, the more recent the
+ advertisement."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.6, LS sequence
+ number"
+ ::= { ospfv3AreaLsdbEntry 5 }
+
+ ospfv3AreaLsdbAge OBJECT-TYPE
+ SYNTAX Ospfv3LsaAgeTC
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the age of the link state
+ advertisement in seconds. The high-order bit
+ of the LS age field is considered the DoNotAge
+ bit for support of on-demand circuits."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.1, LS age;
+ Extending OSPF to Support Demand Circuits,
+ Section 2.2, The LS age field."
+ ::= { ospfv3AreaLsdbEntry 6 }
+
+ ospfv3AreaLsdbChecksum OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the checksum of the complete
+ contents of the advertisement, excepting the
+ age field. The age field is excepted so that
+ an advertisement's age can be incremented
+ without updating the checksum. The checksum
+ used is the same that is used for ISO
+ connectionless datagrams; it is commonly
+ referred to as the Fletcher checksum."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.7, LS checksum"
+ ::= { ospfv3AreaLsdbEntry 7 }
+
+ ospfv3AreaLsdbAdvertisement OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..65535))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The entire link state advertisement, including
+ its header."
+ ::= { ospfv3AreaLsdbEntry 8 }
+
+ ospfv3AreaLsdbTypeKnown OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value true (1) indicates that the LSA type is
+ recognized by this router."
+ ::= { ospfv3AreaLsdbEntry 9 }
+
+ -- OSPFv3 Link-Scope Link State Database, for non-virtual interfaces
+
+ ospfv3LinkLsdbTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3LinkLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The OSPFv3 Process's Link-scope LSDB for non-virtual
+ interfaces. The LSDB contains the Link-scope link
+ state advertisements from the interfaces that the
+ device is attached to."
+ ::= { ospfv3Objects 5 }
+
+ ospfv3LinkLsdbEntry OBJECT-TYPE
+ SYNTAX Ospfv3LinkLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single Link-scope link state advertisement."
+ INDEX { ospfv3LinkLsdbIfIndex,
+ ospfv3LinkLsdbIfInstId,
+ ospfv3LinkLsdbType,
+ ospfv3LinkLsdbRouterId,
+ ospfv3LinkLsdbLsid }
+ ::= { ospfv3LinkLsdbTable 1 }
+
+ Ospfv3LinkLsdbEntry ::= SEQUENCE {
+ ospfv3LinkLsdbIfIndex
+ InterfaceIndex,
+ ospfv3LinkLsdbIfInstId
+ Ospfv3IfInstIdTC,
+ ospfv3LinkLsdbType
+ Unsigned32,
+ ospfv3LinkLsdbRouterId
+ Ospfv3RouterIdTC,
+ ospfv3LinkLsdbLsid
+ Ospfv3LsIdTC,
+ ospfv3LinkLsdbSequence
+ Ospfv3LsaSequenceTC,
+ ospfv3LinkLsdbAge
+ Ospfv3LsaAgeTC,
+ ospfv3LinkLsdbChecksum
+ Integer32,
+ ospfv3LinkLsdbAdvertisement
+ OCTET STRING,
+ ospfv3LinkLsdbTypeKnown
+ TruthValue
+ }
+
+ ospfv3LinkLsdbIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The identifier of the link from which the LSA
+ was received."
+ ::= { ospfv3LinkLsdbEntry 1 }
+
+ ospfv3LinkLsdbIfInstId OBJECT-TYPE
+ SYNTAX Ospfv3IfInstIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The identifier of the interface instance from
+ which the LSA was received."
+ ::= { ospfv3LinkLsdbEntry 2 }
+
+ ospfv3LinkLsdbType OBJECT-TYPE
+ SYNTAX Unsigned32(0..'FFFFFFFF'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of the link state advertisement.
+ Each link state type has a separate
+ advertisement format. Link-scope LSAs unrecognized
+ by the router are also stored in this database."
+ ::= { ospfv3LinkLsdbEntry 3 }
+
+ ospfv3LinkLsdbRouterId OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The 32-bit number that uniquely identifies the
+ originating router in the Autonomous System."
+ REFERENCE
+ "OSPF Version 2, Appendix C.1, Global parameters"
+ ::= { ospfv3LinkLsdbEntry 4 }
+
+ ospfv3LinkLsdbLsid OBJECT-TYPE
+ SYNTAX Ospfv3LsIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The Link State ID is an LS type-specific field
+ containing a unique identifier;
+ it identifies the piece of the routing domain
+ that is being described by the advertisement.
+ In contrast to OSPFv2, the LSID has no
+ addressing semantics. However, in OSPFv3
+ the Link State ID always contains the flooding
+ scope of the LSA."
+ ::= { ospfv3LinkLsdbEntry 5 }
+
+ -- Note that the OSPF sequence number is a 32-bit signed
+ -- integer. It starts with the value '80000001'h
+ -- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h.
+ -- Thus, a typical sequence number will be very negative.
+
+ ospfv3LinkLsdbSequence OBJECT-TYPE
+ SYNTAX Ospfv3LsaSequenceTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The sequence number field is a signed 32-bit
+ integer. It is used to detect old and duplicate
+ link state advertisements. The space of
+ sequence numbers is linearly ordered. The
+ larger the sequence number, the more recent the
+ advertisement."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.6, LS sequence
+ number"
+ ::= { ospfv3LinkLsdbEntry 6 }
+
+ ospfv3LinkLsdbAge OBJECT-TYPE
+ SYNTAX Ospfv3LsaAgeTC
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the age of the link state
+ advertisement in seconds. The high-order bit
+ of the LS age field is considered the DoNotAge
+ bit for support of on-demand circuits."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.1, LS age;
+ Extending OSPF to Support Demand Circuits,
+ Section 2.2, The LS age field."
+ ::= { ospfv3LinkLsdbEntry 7 }
+
+ ospfv3LinkLsdbChecksum OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the checksum of the complete
+ contents of the advertisement, excepting the
+ age field. The age field is excepted so that
+ an advertisement's age can be incremented
+ without updating the checksum. The checksum
+ used is the same that is used for ISO
+ connectionless datagrams; it is commonly
+ referred to as the Fletcher checksum."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.7, LS checksum"
+ ::= { ospfv3LinkLsdbEntry 8 }
+
+ ospfv3LinkLsdbAdvertisement OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..65535))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The entire link state advertisement, including
+ its header."
+ ::= { ospfv3LinkLsdbEntry 9 }
+
+ ospfv3LinkLsdbTypeKnown OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value true (1) indicates that the LSA type is
+ recognized by this router."
+ ::= { ospfv3LinkLsdbEntry 10 }
+
+ -- OSPF Host Table
+
+ ospfv3HostTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3HostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The Host/Metric Table indicates what hosts are
+ directly attached to the router and their
+ corresponding metrics."
+ REFERENCE
+ "OSPF Version 2, Appendix C.7, Host route
+ parameters"
+ ::= { ospfv3Objects 6 }
+
+ ospfv3HostEntry OBJECT-TYPE
+ SYNTAX Ospfv3HostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A metric to be advertised when a given host is
+ reachable.
+
+ The information in this table is persistent, and
+ when written, the entity SHOULD save the change
+ to non-volatile storage."
+ INDEX { ospfv3HostAddressType,
+ ospfv3HostAddress }
+ ::= { ospfv3HostTable 1 }
+
+ Ospfv3HostEntry ::= SEQUENCE {
+ ospfv3HostAddressType
+ InetAddressType,
+ ospfv3HostAddress
+ InetAddress,
+ ospfv3HostMetric
+ Metric,
+ ospfv3HostRowStatus
+ RowStatus,
+ ospfv3HostAreaID
+ Ospfv3AreaIdTC
+ }
+
+ ospfv3HostAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of ospfv3HostAddress. Only IPv6
+ global address type is expected."
+ REFERENCE
+ "OSPF Version 2, Appendix C.7, Host route
+ parameters"
+ ::= { ospfv3HostEntry 1 }
+
+ ospfv3HostAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 address of the host. Must be an
+ IPv6 global address."
+ REFERENCE
+ "OSPF Version 2, Appendix C.7, Host route
+ parameters"
+ ::= { ospfv3HostEntry 2 }
+
+ ospfv3HostMetric OBJECT-TYPE
+ SYNTAX Metric
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The metric to be advertised."
+ REFERENCE
+ "OSPF Version 2, Appendix C.7, Host route
+ parameters"
+ ::= { ospfv3HostEntry 3 }
+
+ ospfv3HostRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object permits management of the table by
+ facilitating actions such as row creation,
+ construction, and destruction.
+
+ The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified."
+ ::= { ospfv3HostEntry 4 }
+
+ ospfv3HostAreaID OBJECT-TYPE
+ SYNTAX Ospfv3AreaIdTC
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Area the host entry is to be found within.
+ By default, the area for the subsuming OSPFv3
+ interface, or Area 0 if there is no subsuming
+ interface."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2, Area parameters"
+ ::= { ospfv3HostEntry 5 }
+
+ -- OSPFv3 Interface Table
+
+ ospfv3IfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The OSPFv3 Interface Table describes the
+ interfaces from the viewpoint of OSPFv3."
+ REFERENCE
+ "OSPF for IPv6, Appendix C.3, Router Interface
+ Parameters"
+ ::= { ospfv3Objects 7 }
+
+ ospfv3IfEntry OBJECT-TYPE
+ SYNTAX Ospfv3IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The OSPFv3 Interface Entry describes one
+ interface from the viewpoint of OSPFv3.
+
+ The information in this table is persistent,
+ and when written, the entity SHOULD save the
+ change to non-volatile storage."
+ INDEX { ospfv3IfIndex,
+ ospfv3IfInstId }
+ ::= { ospfv3IfTable 1 }
+
+ Ospfv3IfEntry ::= SEQUENCE {
+ ospfv3IfIndex
+ InterfaceIndex,
+ ospfv3IfInstId
+ Ospfv3IfInstIdTC,
+ ospfv3IfAreaId
+ Ospfv3AreaIdTC,
+ ospfv3IfType
+ INTEGER,
+ ospfv3IfAdminStatus
+ Status,
+ ospfv3IfRtrPriority
+ DesignatedRouterPriority,
+ ospfv3IfTransitDelay
+ Ospfv3UpToRefreshIntervalTC,
+ ospfv3IfRetransInterval
+ Ospfv3UpToRefreshIntervalTC,
+ ospfv3IfHelloInterval
+ HelloRange,
+ ospfv3IfRtrDeadInterval
+ Ospfv3DeadIntervalRangeTC,
+ ospfv3IfPollInterval
+ Unsigned32,
+ ospfv3IfState
+ INTEGER,
+ ospfv3IfDesignatedRouter
+ Ospfv3RouterIdTC,
+ ospfv3IfBackupDesignatedRouter
+ Ospfv3RouterIdTC,
+ ospfv3IfEvents
+ Counter32,
+ ospfv3IfRowStatus
+ RowStatus,
+ ospfv3IfDemand
+ TruthValue,
+ ospfv3IfMetricValue
+ Metric,
+ ospfv3IfLinkScopeLsaCount
+ Gauge32,
+ ospfv3IfLinkLsaCksumSum
+ Unsigned32,
+ ospfv3IfDemandNbrProbe
+ TruthValue,
+ ospfv3IfDemandNbrProbeRetransLimit
+ Unsigned32,
+ ospfv3IfDemandNbrProbeInterval
+ Unsigned32,
+ ospfv3IfTEDisabled
+ TruthValue,
+ ospfv3IfLinkLSASuppression
+ TruthValue
+ }
+
+ ospfv3IfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The interface index of this OSPFv3 interface.
+ It corresponds to the interface index of the
+ IPv6 interface on which OSPFv3 is configured."
+ ::= { ospfv3IfEntry 1 }
+
+ ospfv3IfInstId OBJECT-TYPE
+ SYNTAX Ospfv3IfInstIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Enables multiple interface instances of OSPFv3
+ to be run over a single link. Each interface
+ instance would be assigned a separate ID. This ID
+ has local link significance only."
+ ::= { ospfv3IfEntry 2 }
+
+ ospfv3IfAreaId OBJECT-TYPE
+ SYNTAX Ospfv3AreaIdTC
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A 32-bit integer uniquely identifying the area
+ to which the interface connects. Area ID
+ 0 is used for the OSPFv3 backbone."
+ DEFVAL { 0 }
+ ::= { ospfv3IfEntry 3 }
+
+ ospfv3IfType OBJECT-TYPE
+ SYNTAX INTEGER {
+ broadcast(1),
+ nbma(2),
+ pointToPoint(3),
+ pointToMultipoint(5)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The OSPFv3 interface type."
+ ::= { ospfv3IfEntry 4 }
+
+ ospfv3IfAdminStatus OBJECT-TYPE
+ SYNTAX Status
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The OSPFv3 interface's administrative status.
+ The value formed on the interface; the interface
+ will be advertised as an internal route to some
+ area. The value 'disabled' denotes that the
+ interface is external to OSPFv3.
+
+ Note that a value of 'disabled' for the object
+ ospfv3AdminStatus will override a value of
+ 'enabled' for the interface."
+ DEFVAL { enabled }
+ ::= { ospfv3IfEntry 5 }
+
+ ospfv3IfRtrPriority OBJECT-TYPE
+ SYNTAX DesignatedRouterPriority
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The priority of this interface. Used in
+ multi-access networks, this field is used in
+ the designated-router election algorithm. The
+ value 0 signifies that the router is not
+ eligible to become the Designated Router on this
+ particular network. In the event of a tie in
+ this value, routers will use their Router ID as
+ a tie breaker."
+ DEFVAL { 1 }
+ ::= { ospfv3IfEntry 6 }
+
+ ospfv3IfTransitDelay OBJECT-TYPE
+ SYNTAX Ospfv3UpToRefreshIntervalTC
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The estimated number of seconds it takes to transmit
+ a Link State Update packet over this interface. LSAs
+ contained in the update packet must have their age
+ incremented by this amount before transmission. This
+ value should take into account the transmission and
+ propagation delays of the interface."
+ REFERENCE
+ "OSPF for IPv6, Appendix C.3, Router Interface
+ Parameters."
+ DEFVAL { 1 }
+ ::= { ospfv3IfEntry 7 }
+
+ ospfv3IfRetransInterval OBJECT-TYPE
+ SYNTAX Ospfv3UpToRefreshIntervalTC
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds between link state
+ advertisement retransmissions for adjacencies
+
+ belonging to this interface. This value is
+ also used when retransmitting database
+ description and Link State Request packets."
+ DEFVAL { 5 }
+ ::= { ospfv3IfEntry 8 }
+
+ ospfv3IfHelloInterval OBJECT-TYPE
+ SYNTAX HelloRange
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The length of time, in seconds, between the
+ Hello packets that the router sends on the
+ interface. This value must be the same for all
+ routers attached to a common network."
+ DEFVAL { 10 }
+ ::= { ospfv3IfEntry 9 }
+
+ ospfv3IfRtrDeadInterval OBJECT-TYPE
+ SYNTAX Ospfv3DeadIntervalRangeTC
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds that a router's Hello
+ packets have not been seen before its
+ neighbors declare the router down on the interface.
+ This should be some multiple of the Hello interval.
+ This value must be the same for all routers attached
+ to a common network."
+ DEFVAL { 40 }
+ ::= { ospfv3IfEntry 10 }
+
+ ospfv3IfPollInterval OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The larger time interval, in seconds, between
+ the Hello packets sent to an inactive,
+ non-broadcast multi-access neighbor."
+ DEFVAL { 120 }
+ ::= { ospfv3IfEntry 11 }
+
+ ospfv3IfState OBJECT-TYPE
+ SYNTAX INTEGER {
+ down(1),
+ loopback(2),
+ waiting(3),
+ pointToPoint(4),
+ designatedRouter(5),
+ backupDesignatedRouter(6),
+ otherDesignatedRouter(7),
+ standby(8)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The OSPFv3 interface state. An interface may be
+ in standby state if there are multiple interfaces
+ on the link and another interface is active. The
+ interface may be in Down state if the underlying
+ IPv6 interface is down or if the admin status is
+ 'disabled' either globally or for the interface."
+ ::= { ospfv3IfEntry 12 }
+
+ ospfv3IfDesignatedRouter OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Router ID of the Designated Router."
+ ::= { ospfv3IfEntry 13 }
+
+ ospfv3IfBackupDesignatedRouter OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Router ID of the Backup Designated
+ Router."
+ ::= { ospfv3IfEntry 14 }
+
+ ospfv3IfEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this OSPFv3 interface has
+ changed its state or an error has occurred.
+
+ Discontinuities in the value of this counter
+ can occur at re-initialization of the management
+ system and at other times as indicated by the
+ value of ospfv3DiscontinuityTime."
+ ::= { ospfv3IfEntry 15 }
+
+ ospfv3IfRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object permits management of the table by
+ facilitating actions such as row creation,
+ construction, and destruction.
+
+ The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified."
+ ::= { ospfv3IfEntry 16 }
+
+ ospfv3IfDemand OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Indicates whether Demand OSPFv3 procedures
+ (Hello suppression to FULL neighbors and
+ setting the DoNotAge flag on propagated LSAs)
+ should be performed on this interface."
+ DEFVAL { false }
+ ::= { ospfv3IfEntry 17 }
+
+ ospfv3IfMetricValue OBJECT-TYPE
+ SYNTAX Metric
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The metric assigned to this interface.
+ The default value of the metric is
+ 'Reference Bandwidth / ifSpeed'. The value
+ of the reference bandwidth can be set
+ in the ospfv3ReferenceBandwidth object."
+ ::= { ospfv3IfEntry 18 }
+
+ ospfv3IfLinkScopeLsaCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Link-scope link state
+ advertisements in this link's link state
+ database."
+ ::= { ospfv3IfEntry 19 }
+
+ ospfv3IfLinkLsaCksumSum OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The 32-bit unsigned sum of the Link-scope link state
+ advertisements' LS checksums contained in this
+ link's link state database. The sum can be used
+ to determine if there has been a change in a
+ router's link state database or to compare the
+ link state database of two routers."
+ ::= { ospfv3IfEntry 20 }
+
+ ospfv3IfDemandNbrProbe OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Indicates whether or not neighbor probing is
+ enabled to determine whether or not the neighbor
+ is inactive. Neighbor probing is disabled by
+ default."
+ DEFVAL { false }
+ ::= { ospfv3IfEntry 21 }
+
+ospfv3IfDemandNbrProbeRetransLimit OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of consecutive LSA retransmissions before
+ the neighbor is deemed inactive and the neighbor
+ adjacency is brought down."
+ DEFVAL { 10 }
+ ::= { ospfv3IfEntry 22}
+
+ospfv3IfDemandNbrProbeInterval OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Defines how often the neighbor will be probed."
+ DEFVAL { 120 }
+ ::= { ospfv3IfEntry 23 }
+
+ ospfv3IfTEDisabled OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Indicates whether or not traffic engineering
+ is disabled on the interface when traffic
+ engineering is enabled in the area where the
+ interface is attached. The object is set
+ to the value true (1) to disable traffic engineering
+ on the interface. Traffic engineering is enabled
+ by default on the interface when traffic engineering
+ is enabled in the area where the interface is
+ attached."
+ DEFVAL { false }
+ ::= { ospfv3IfEntry 24 }
+
+ ospfv3IfLinkLSASuppression OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies whether or not link LSA origination is
+ suppressed for broadcast or NBMA interface types.
+ The object is set to value true (1) to suppress
+ the origination."
+ REFERENCE
+ "OSPF for IPv6, Appendix C.3, Router Interface
+ Parameters"
+ DEFVAL { false }
+ ::= { ospfv3IfEntry 25 }
+
+ -- OSPFv3 Virtual Interface Table
+
+ ospfv3VirtIfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3VirtIfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about this router's virtual
+ interfaces that the OSPFv3 Process is configured
+ to carry on."
+ REFERENCE
+ "OSPF for IPv6, Appendix C.4, Virtual Link
+ Parameters"
+ ::= { ospfv3Objects 8 }
+
+ ospfv3VirtIfEntry OBJECT-TYPE
+ SYNTAX Ospfv3VirtIfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single virtual interface.
+
+ The information in this table is persistent,
+ and when written, the entity SHOULD save the
+ change to non-volatile storage."
+ INDEX { ospfv3VirtIfAreaId,
+ ospfv3VirtIfNeighbor }
+ ::= { ospfv3VirtIfTable 1 }
+
+ Ospfv3VirtIfEntry ::= SEQUENCE {
+ ospfv3VirtIfAreaId
+ Ospfv3AreaIdTC,
+ ospfv3VirtIfNeighbor
+ Ospfv3RouterIdTC,
+ ospfv3VirtIfIndex
+ InterfaceIndex,
+ ospfv3VirtIfInstId
+ Ospfv3IfInstIdTC,
+ ospfv3VirtIfTransitDelay
+ Ospfv3UpToRefreshIntervalTC,
+ ospfv3VirtIfRetransInterval
+ Ospfv3UpToRefreshIntervalTC,
+ ospfv3VirtIfHelloInterval
+ HelloRange,
+ ospfv3VirtIfRtrDeadInterval
+ Ospfv3DeadIntervalRangeTC,
+ ospfv3VirtIfState
+ INTEGER,
+ ospfv3VirtIfEvents
+ Counter32,
+ ospfv3VirtIfRowStatus
+ RowStatus,
+ ospfv3VirtIfLinkScopeLsaCount
+ Gauge32,
+ ospfv3VirtIfLinkLsaCksumSum
+ Unsigned32
+ }
+
+ ospfv3VirtIfAreaId OBJECT-TYPE
+ SYNTAX Ospfv3AreaIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The transit area that the virtual link
+ traverses. By definition, this is not
+ Area 0."
+ ::= { ospfv3VirtIfEntry 1 }
+
+ ospfv3VirtIfNeighbor OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The Router ID of the virtual neighbor."
+ ::= { ospfv3VirtIfEntry 2 }
+
+ ospfv3VirtIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local interface index assigned by the
+ OSPFv3 Process to this OSPFv3 virtual interface.
+ It is advertised in Hellos sent over the virtual
+ link and in the router's router-LSAs."
+ ::= { ospfv3VirtIfEntry 3 }
+
+ ospfv3VirtIfInstId OBJECT-TYPE
+ SYNTAX Ospfv3IfInstIdTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local Interface Instance ID assigned by the
+ OSPFv3 Process to this OSPFv3 virtual interface."
+ ::= { ospfv3VirtIfEntry 4 }
+
+ ospfv3VirtIfTransitDelay OBJECT-TYPE
+ SYNTAX Ospfv3UpToRefreshIntervalTC
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The estimated number of seconds it takes to
+ transmit a Link State Update packet over this
+ interface."
+ DEFVAL { 1 }
+ ::= { ospfv3VirtIfEntry 5 }
+
+ ospfv3VirtIfRetransInterval OBJECT-TYPE
+ SYNTAX Ospfv3UpToRefreshIntervalTC
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds between link state
+ advertisement retransmissions for adjacencies
+ belonging to this interface. This value is
+ also used when retransmitting database
+ description and Link State Request packets. This
+ value should be well over the expected
+ round-trip time."
+ DEFVAL { 5 }
+ ::= { ospfv3VirtIfEntry 6 }
+
+ ospfv3VirtIfHelloInterval OBJECT-TYPE
+ SYNTAX HelloRange
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The length of time, in seconds, between the
+ Hello packets that the router sends on the
+ interface. This value must be the same for the
+ virtual neighbor."
+ DEFVAL { 10 }
+ ::= { ospfv3VirtIfEntry 7 }
+
+ ospfv3VirtIfRtrDeadInterval OBJECT-TYPE
+ SYNTAX Ospfv3DeadIntervalRangeTC
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds that a router's Hello
+ packets have not been seen before its
+ neighbors declare the router down. This should
+ be some multiple of the Hello interval. This
+ value must be the same for the virtual
+ neighbor."
+ DEFVAL { 60 }
+ ::= { ospfv3VirtIfEntry 8 }
+
+ ospfv3VirtIfState OBJECT-TYPE
+ SYNTAX INTEGER {
+ down(1),
+ pointToPoint(4)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "OSPF virtual interface states. The same encoding
+ as the ospfV3IfTable is used."
+ ::= { ospfv3VirtIfEntry 9 }
+
+ ospfv3VirtIfEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of state changes or error events on
+ this virtual link.
+
+ Discontinuities in the value of this counter
+ can occur at re-initialization of the management
+ system and at other times as indicated by the
+ value of ospfv3DiscontinuityTime."
+ ::= { ospfv3VirtIfEntry 10 }
+
+ ospfv3VirtIfRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object permits management of the table by
+ facilitating actions such as row creation,
+ construction, and destruction.
+
+ The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified."
+ ::= { ospfv3VirtIfEntry 11 }
+
+ ospfv3VirtIfLinkScopeLsaCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Link-scope link state
+ advertisements in this virtual link's link state
+ database."
+ ::= { ospfv3VirtIfEntry 12 }
+
+ ospfv3VirtIfLinkLsaCksumSum OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The 32-bit unsigned sum of the Link-scope link state
+ advertisements' LS checksums contained in this
+ virtual link's link state database. The sum can be used
+ to determine if there has been a change in a
+ router's link state database or to compare the
+ link state database of two routers."
+ ::= { ospfv3VirtIfEntry 13 }
+
+ -- OSPFv3 Neighbor Table
+
+ ospfv3NbrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3NbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table describing all neighbors in the
+ locality of the OSPFv3 router."
+ REFERENCE
+ "OSPF Version 2, Section 10, The Neighbor Data
+ Structure"
+ ::= { ospfv3Objects 9 }
+
+ ospfv3NbrEntry OBJECT-TYPE
+ SYNTAX Ospfv3NbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The information regarding a single neighbor."
+ REFERENCE
+ "OSPF Version 2, Section 10, The Neighbor Data
+ Structure"
+ INDEX { ospfv3NbrIfIndex,
+ ospfv3NbrIfInstId,
+ ospfv3NbrRtrId }
+ ::= { ospfv3NbrTable 1 }
+
+ Ospfv3NbrEntry ::= SEQUENCE {
+ ospfv3NbrIfIndex
+ InterfaceIndex,
+ ospfv3NbrIfInstId
+ Ospfv3IfInstIdTC,
+ ospfv3NbrRtrId
+ Ospfv3RouterIdTC,
+ ospfv3NbrAddressType
+ InetAddressType,
+ ospfv3NbrAddress
+ InetAddress,
+ ospfv3NbrOptions
+ Integer32,
+ ospfv3NbrPriority
+ DesignatedRouterPriority,
+ ospfv3NbrState
+ INTEGER,
+ ospfv3NbrEvents
+ Counter32,
+ ospfv3NbrLsRetransQLen
+ Gauge32,
+ ospfv3NbrHelloSuppressed
+ TruthValue,
+ ospfv3NbrIfId
+ InterfaceIndex,
+ ospfv3NbrRestartHelperStatus
+ INTEGER,
+ ospfv3NbrRestartHelperAge
+ Ospfv3UpToRefreshIntervalTC,
+ ospfv3NbrRestartHelperExitReason
+ INTEGER
+ }
+
+ ospfv3NbrIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The Local Link ID of the link over which the
+ neighbor can be reached."
+ ::= { ospfv3NbrEntry 1 }
+
+ ospfv3NbrIfInstId OBJECT-TYPE
+ SYNTAX Ospfv3IfInstIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Interface instance over which the neighbor
+ can be reached. This ID has local link
+ significance only."
+ ::= { ospfv3NbrEntry 2 }
+
+ ospfv3NbrRtrId OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A 32-bit unsigned integer uniquely identifying the
+ neighboring router in the Autonomous System."
+ ::= { ospfv3NbrEntry 3 }
+
+ ospfv3NbrAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The address type of ospfv3NbrAddress. Only IPv6
+ addresses without zone index are expected."
+ ::= { ospfv3NbrEntry 4 }
+
+ ospfv3NbrAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IPv6 address of the neighbor associated with
+ the local link."
+ ::= { ospfv3NbrEntry 5 }
+
+ ospfv3NbrOptions OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A bit mask corresponding to the neighbor's
+ options field."
+ REFERENCE
+ "OSPF for IPv6, Appendix A.2, The Options Field"
+ ::= { ospfv3NbrEntry 6 }
+
+ ospfv3NbrPriority OBJECT-TYPE
+ SYNTAX DesignatedRouterPriority
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The priority of this neighbor in the designated-
+ router election algorithm. The value 0 signifies
+ that the neighbor is not eligible to become the
+ Designated Router on this particular network."
+ ::= { ospfv3NbrEntry 7 }
+
+ ospfv3NbrState OBJECT-TYPE
+ SYNTAX INTEGER {
+ down(1),
+ attempt(2),
+ init(3),
+ twoWay(4),
+ exchangeStart(5),
+ exchange(6),
+ loading(7),
+ full(8)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The state of the relationship with this
+ neighbor."
+ REFERENCE
+ "OSPF Version 2, Section 10.1, Neighbor states"
+ ::= { ospfv3NbrEntry 8 }
+
+ ospfv3NbrEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this neighbor relationship
+ has changed state or an error has occurred.
+
+ Discontinuities in the value of this counter
+ can occur at re-initialization of the management
+ system and at other times as indicated by the
+ value of ospfv3DiscontinuityTime."
+ ::= { ospfv3NbrEntry 9 }
+
+ ospfv3NbrLsRetransQLen OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current length of the retransmission
+ queue."
+ ::= { ospfv3NbrEntry 10 }
+
+ ospfv3NbrHelloSuppressed OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates whether Hellos are being suppressed
+ to the neighbor."
+ ::= { ospfv3NbrEntry 11 }
+
+ ospfv3NbrIfId OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Interface ID that the neighbor advertises
+ in its Hello packets on this link, that is, the
+ neighbor's local interface index."
+ ::= { ospfv3NbrEntry 12 }
+
+ ospfv3NbrRestartHelperStatus OBJECT-TYPE
+ SYNTAX INTEGER { notHelping(1),
+ helping(2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates whether the router is acting
+ as a graceful restart helper for the neighbor."
+ ::= { ospfv3NbrEntry 13 }
+
+ ospfv3NbrRestartHelperAge OBJECT-TYPE
+ SYNTAX Ospfv3UpToRefreshIntervalTC
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Remaining time in current OSPF graceful restart
+ interval, if the router is acting as a restart
+ helper for the neighbor."
+ ::= { ospfv3NbrEntry 14 }
+
+ ospfv3NbrRestartHelperExitReason OBJECT-TYPE
+ SYNTAX INTEGER { none(1),
+ inProgress(2),
+ completed(3),
+ timedOut(4),
+ topologyChanged(5)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Describes the outcome of the last attempt at acting
+ as a graceful restart helper for the neighbor.
+
+ none: no restart has yet been attempted.
+ inProgress: a restart attempt is currently underway.
+ completed: the last restart completed successfully.
+ timedOut: the last restart timed out.
+ topologyChanged: the last restart was aborted due to
+ a topology change."
+ ::= { ospfv3NbrEntry 15 }
+
+ -- OSPFv3 Configured Neighbor Table
+
+ ospfv3CfgNbrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3CfgNbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table describing all configured neighbors.
+
+ The Configured Neighbors table just gives
+ OSPFv3 information for sending OSPFv3 packets
+ to potential neighbors and is typically used
+ on NBMA and Point-to-Multipoint networks.
+ Once a Hello is received from a neighbor in
+ the Configured Neighbor table, an entry for
+ that neighbor is created in the Neighbor table
+ and adjacency state is maintained there.
+ Neighbors on multi-access or Point-to-Point
+ networks can use multicast addressing, so only
+ Neighbor table entries are created for them."
+ REFERENCE
+ "OSPF Version 2, Section 10, The Neighbor Data
+ Structure"
+ ::= { ospfv3Objects 10 }
+
+ ospfv3CfgNbrEntry OBJECT-TYPE
+ SYNTAX Ospfv3CfgNbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The information regarding a single configured
+ neighbor.
+
+ The information in this table is persistent,
+ and when written, the entity SHOULD save the
+ change to non-volatile storage."
+ REFERENCE
+ "OSPF Version 2, Section 10, The Neighbor Data
+ Structure"
+ INDEX { ospfv3CfgNbrIfIndex,
+ ospfv3CfgNbrIfInstId,
+ ospfv3CfgNbrAddressType,
+ ospfv3CfgNbrAddress }
+ ::= { ospfv3CfgNbrTable 1 }
+
+ Ospfv3CfgNbrEntry ::= SEQUENCE {
+ ospfv3CfgNbrIfIndex
+ InterfaceIndex,
+ ospfv3CfgNbrIfInstId
+ Ospfv3IfInstIdTC,
+ ospfv3CfgNbrAddressType
+ InetAddressType,
+ ospfv3CfgNbrAddress
+ InetAddress,
+ ospfv3CfgNbrPriority
+ DesignatedRouterPriority,
+ ospfv3CfgNbrRowStatus
+ RowStatus
+ }
+
+ ospfv3CfgNbrIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The Local Link ID of the link over which the
+ neighbor can be reached."
+ ::= { ospfv3CfgNbrEntry 1 }
+
+ ospfv3CfgNbrIfInstId OBJECT-TYPE
+ SYNTAX Ospfv3IfInstIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Interface instance over which the neighbor
+ can be reached. This ID has local link
+ significance only."
+ ::= { ospfv3CfgNbrEntry 2 }
+
+ ospfv3CfgNbrAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of ospfv3NbrAddress. Only IPv6
+ addresses without zone index are expected."
+ ::= { ospfv3CfgNbrEntry 3 }
+
+ ospfv3CfgNbrAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 address of the neighbor associated with
+ the local link."
+ ::= { ospfv3CfgNbrEntry 4 }
+
+ ospfv3CfgNbrPriority OBJECT-TYPE
+ SYNTAX DesignatedRouterPriority
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The priority of this neighbor in the designated-
+ router election algorithm. The value 0 signifies
+ that the neighbor is not eligible to become the
+ Designated Router on this particular network."
+ DEFVAL { 1 }
+ ::= { ospfv3CfgNbrEntry 5 }
+
+ ospfv3CfgNbrRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object permits management of the table by
+ facilitating actions such as row creation,
+ construction, and destruction.
+
+ The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified."
+ ::= { ospfv3CfgNbrEntry 6 }
+
+ -- OSPFv3 Virtual Neighbor Table
+
+ ospfv3VirtNbrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3VirtNbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table describing all virtual neighbors."
+ REFERENCE
+ "OSPF Version 2, Section 15, Virtual Links"
+ ::= { ospfv3Objects 11 }
+
+ ospfv3VirtNbrEntry OBJECT-TYPE
+ SYNTAX Ospfv3VirtNbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Virtual neighbor information."
+ INDEX { ospfv3VirtNbrArea,
+ ospfv3VirtNbrRtrId }
+ ::= { ospfv3VirtNbrTable 1 }
+
+ Ospfv3VirtNbrEntry ::= SEQUENCE {
+ ospfv3VirtNbrArea
+ Ospfv3AreaIdTC,
+ ospfv3VirtNbrRtrId
+ Ospfv3RouterIdTC,
+ ospfv3VirtNbrIfIndex
+ InterfaceIndex,
+ ospfv3VirtNbrIfInstId
+ Ospfv3IfInstIdTC,
+ ospfv3VirtNbrAddressType
+ InetAddressType,
+ ospfv3VirtNbrAddress
+ InetAddress,
+ ospfv3VirtNbrOptions
+ Integer32,
+ ospfv3VirtNbrState
+ INTEGER,
+ ospfv3VirtNbrEvents
+ Counter32,
+ ospfv3VirtNbrLsRetransQLen
+ Gauge32,
+ ospfv3VirtNbrHelloSuppressed
+ TruthValue,
+ ospfv3VirtNbrIfId
+ InterfaceIndex,
+ ospfv3VirtNbrRestartHelperStatus
+ INTEGER,
+ ospfv3VirtNbrRestartHelperAge
+ Ospfv3UpToRefreshIntervalTC,
+ ospfv3VirtNbrRestartHelperExitReason
+ INTEGER
+ }
+
+ ospfv3VirtNbrArea OBJECT-TYPE
+ SYNTAX Ospfv3AreaIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The transit area Identifier."
+ ::= { ospfv3VirtNbrEntry 1 }
+
+ ospfv3VirtNbrRtrId OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A 32-bit integer uniquely identifying the
+ neighboring router in the Autonomous System."
+ ::= { ospfv3VirtNbrEntry 2 }
+
+ ospfv3VirtNbrIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local Interface ID for the virtual link over
+ which the neighbor can be reached."
+ ::= { ospfv3VirtNbrEntry 3 }
+
+ ospfv3VirtNbrIfInstId OBJECT-TYPE
+ SYNTAX Ospfv3IfInstIdTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The interface instance for the virtual link over
+ which the neighbor can be reached."
+ ::= { ospfv3VirtNbrEntry 4 }
+
+ ospfv3VirtNbrAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The address type of ospfv3VirtNbrAddress. Only IPv6
+ addresses without zone index are expected."
+ ::= { ospfv3VirtNbrEntry 5 }
+
+ ospfv3VirtNbrAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IPv6 address advertised by this virtual neighbor.
+ It must be a global scope address."
+ ::= { ospfv3VirtNbrEntry 6 }
+
+ ospfv3VirtNbrOptions OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A bit mask corresponding to the neighbor's options
+ field."
+ REFERENCE
+ "OSPF for IPv6, Appendix A.2, The Options Field"
+ ::= { ospfv3VirtNbrEntry 7 }
+
+ ospfv3VirtNbrState OBJECT-TYPE
+ SYNTAX INTEGER {
+ down(1),
+ attempt(2),
+ init(3),
+ twoWay(4),
+ exchangeStart(5),
+ exchange(6),
+ loading(7),
+ full(8)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The state of the virtual neighbor relationship."
+ ::= { ospfv3VirtNbrEntry 8 }
+
+ ospfv3VirtNbrEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this virtual link has
+ changed its state or an error has occurred.
+
+ Discontinuities in the value of this counter
+ can occur at re-initialization of the management
+ system and at other times as indicated by the
+ value of ospfv3DiscontinuityTime."
+ ::= { ospfv3VirtNbrEntry 9 }
+
+ ospfv3VirtNbrLsRetransQLen OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current length of the retransmission
+ queue."
+ ::= { ospfv3VirtNbrEntry 10 }
+
+ ospfv3VirtNbrHelloSuppressed OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates whether Hellos are being suppressed
+ to the neighbor."
+ ::= { ospfv3VirtNbrEntry 11 }
+
+ ospfv3VirtNbrIfId OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Interface ID that the neighbor advertises
+ in its Hello packets on this virtual link, that is,
+ the neighbor's local Interface ID."
+ ::= { ospfv3VirtNbrEntry 12 }
+
+ospfv3VirtNbrRestartHelperStatus OBJECT-TYPE
+ SYNTAX INTEGER { notHelping(1),
+ helping(2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates whether the router is acting
+ as a graceful restart helper for the neighbor."
+ ::= { ospfv3VirtNbrEntry 13 }
+
+ ospfv3VirtNbrRestartHelperAge OBJECT-TYPE
+ SYNTAX Ospfv3UpToRefreshIntervalTC
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Remaining time in the current OSPF graceful restart
+ interval, if the router is acting as a restart
+ helper for the neighbor."
+ ::= { ospfv3VirtNbrEntry 14 }
+
+ ospfv3VirtNbrRestartHelperExitReason OBJECT-TYPE
+ SYNTAX INTEGER { none(1),
+ inProgress(2),
+ completed(3),
+ timedOut(4),
+ topologyChanged(5)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Describes the outcome of the last attempt at acting
+ as a graceful restart helper for the neighbor.
+
+ none: no restart has yet been attempted.
+ inProgress: a restart attempt is currently underway.
+ completed: the last restart completed successfully.
+ timedOut: the last restart timed out.
+ topologyChanged: the last restart was aborted due to
+ a topology change."
+ ::= { ospfv3VirtNbrEntry 15 }
+
+ --
+ -- The OSPFv3 Area Aggregate Table
+ --
+
+ ospfv3AreaAggregateTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3AreaAggregateEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The Area Aggregate Table acts as an adjunct
+ to the Area Table. It describes those address
+ aggregates that are configured to be propagated
+ from an area. Its purpose is to reduce the amount
+ of information that is known beyond an area's
+ borders.
+
+ A range of IPv6 prefixes specified by a
+ prefix / prefix length pair. Note that if
+ ranges are configured such that one range
+ subsumes another range, the most specific
+ match is the preferred one."
+ ::= { ospfv3Objects 12 }
+
+ ospfv3AreaAggregateEntry OBJECT-TYPE
+ SYNTAX Ospfv3AreaAggregateEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single area aggregate entry.
+
+ Information in this table is persistent, and
+ when this object is written, the entity SHOULD
+ save the change to non-volatile storage."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2, Area parameters"
+ INDEX { ospfv3AreaAggregateAreaID,
+ ospfv3AreaAggregateAreaLsdbType,
+ ospfv3AreaAggregatePrefixType,
+ ospfv3AreaAggregatePrefix,
+ ospfv3AreaAggregatePrefixLength }
+ ::= { ospfv3AreaAggregateTable 1 }
+
+ Ospfv3AreaAggregateEntry ::= SEQUENCE {
+ ospfv3AreaAggregateAreaID
+ Ospfv3AreaIdTC,
+ ospfv3AreaAggregateAreaLsdbType
+ INTEGER,
+ ospfv3AreaAggregatePrefixType
+ InetAddressType,
+ ospfv3AreaAggregatePrefix
+ InetAddress,
+ ospfv3AreaAggregatePrefixLength
+ InetAddressPrefixLength,
+ ospfv3AreaAggregateRowStatus
+ RowStatus,
+ ospfv3AreaAggregateEffect
+ INTEGER,
+ ospfv3AreaAggregateRouteTag
+ Unsigned32
+ }
+
+ ospfv3AreaAggregateAreaID OBJECT-TYPE
+ SYNTAX Ospfv3AreaIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The area the Address Aggregate is to be found
+ within."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2, Area parameters"
+ ::= { ospfv3AreaAggregateEntry 1 }
+
+ ospfv3AreaAggregateAreaLsdbType OBJECT-TYPE
+ SYNTAX INTEGER {
+ interAreaPrefixLsa(8195), -- 0x2003
+ nssaExternalLsa(8199) -- 0x2007
+ }
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of the Address Aggregate. This field
+ specifies the Area LSDB type that this Address
+ Aggregate applies to."
+ REFERENCE
+ "OSPF Version 2, Appendix A.4.1, The LSA header"
+ ::= { ospfv3AreaAggregateEntry 2 }
+
+ ospfv3AreaAggregatePrefixType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The prefix type of ospfv3AreaAggregatePrefix. Only
+ IPv6 addresses are expected."
+ ::= { ospfv3AreaAggregateEntry 3 }
+
+ ospfv3AreaAggregatePrefix OBJECT-TYPE
+ SYNTAX InetAddress (SIZE (0..16))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 prefix."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2, Area parameters"
+ ::= { ospfv3AreaAggregateEntry 4 }
+
+ ospfv3AreaAggregatePrefixLength OBJECT-TYPE
+ SYNTAX InetAddressPrefixLength (3..128)
+ UNITS "bits"
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The length of the prefix (in bits). A prefix can
+ not be shorter than 3 bits."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2, Area parameters"
+ ::= { ospfv3AreaAggregateEntry 5 }
+
+ ospfv3AreaAggregateRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object permits management of the table by
+ facilitating actions such as row creation,
+ construction, and destruction.
+
+ The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified."
+ ::= { ospfv3AreaAggregateEntry 6 }
+
+ ospfv3AreaAggregateEffect OBJECT-TYPE
+ SYNTAX INTEGER {
+ advertiseMatching(1),
+ doNotAdvertiseMatching(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Prefixes subsumed by ranges will either trigger the
+ advertisement of the indicated aggregate
+ (advertiseMatching) or result in the prefix not
+ being advertised at all outside the area."
+ DEFVAL { advertiseMatching }
+ ::= { ospfv3AreaAggregateEntry 7 }
+
+ ospfv3AreaAggregateRouteTag OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This tag is advertised only in the summarized
+ As-External LSA when summarizing from NSSA-LSAs to
+ AS-External-LSAs."
+ DEFVAL { 0 }
+ ::= { ospfv3AreaAggregateEntry 8 }
+
+ -- OSPFv3 Link-Scope Link State Database, for virtual interfaces
+
+ ospfv3VirtLinkLsdbTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ospfv3VirtLinkLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The OSPFv3 Process's Link-scope LSDB for virtual
+ interfaces. The LSDB contains the Link-scope link
+ state advertisements from virtual interfaces."
+ ::= { ospfv3Objects 13 }
+
+ ospfv3VirtLinkLsdbEntry OBJECT-TYPE
+ SYNTAX Ospfv3VirtLinkLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single Link-scope link state advertisement
+ for a virtual interface."
+ INDEX { ospfv3VirtLinkLsdbIfAreaId,
+ ospfv3VirtLinkLsdbIfNeighbor,
+ ospfv3VirtLinkLsdbType,
+ ospfv3VirtLinkLsdbRouterId,
+ ospfv3VirtLinkLsdbLsid }
+ ::= { ospfv3VirtLinkLsdbTable 1 }
+
+ Ospfv3VirtLinkLsdbEntry ::= SEQUENCE {
+ ospfv3VirtLinkLsdbIfAreaId
+ Ospfv3AreaIdTC,
+ ospfv3VirtLinkLsdbIfNeighbor
+ Ospfv3RouterIdTC,
+ ospfv3VirtLinkLsdbType
+ Unsigned32,
+ ospfv3VirtLinkLsdbRouterId
+ Ospfv3RouterIdTC,
+ ospfv3VirtLinkLsdbLsid
+ Ospfv3LsIdTC,
+ ospfv3VirtLinkLsdbSequence
+ Ospfv3LsaSequenceTC,
+ ospfv3VirtLinkLsdbAge
+ Ospfv3LsaAgeTC,
+ ospfv3VirtLinkLsdbChecksum
+ Integer32,
+ ospfv3VirtLinkLsdbAdvertisement
+ OCTET STRING,
+ ospfv3VirtLinkLsdbTypeKnown
+ TruthValue
+ }
+
+ ospfv3VirtLinkLsdbIfAreaId OBJECT-TYPE
+ SYNTAX Ospfv3AreaIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The transit area that the virtual link
+ traverses. By definition, this is not
+ Area 0."
+ ::= { ospfv3VirtLinkLsdbEntry 1 }
+
+ ospfv3VirtLinkLsdbIfNeighbor OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The Router ID of the virtual neighbor."
+ ::= { ospfv3VirtLinkLsdbEntry 2 }
+
+ ospfv3VirtLinkLsdbType OBJECT-TYPE
+ SYNTAX Unsigned32(0..'FFFFFFFF'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of the link state advertisement.
+ Each link state type has a separate
+ advertisement format. Link-scope LSAs unrecognized
+ by the router are also stored in this database."
+ ::= { ospfv3VirtLinkLsdbEntry 3 }
+
+ ospfv3VirtLinkLsdbRouterId OBJECT-TYPE
+ SYNTAX Ospfv3RouterIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The 32-bit number that uniquely identifies the
+ originating router in the Autonomous System."
+ REFERENCE
+ "OSPF Version 2, Appendix C.1, Global parameters"
+ ::= { ospfv3VirtLinkLsdbEntry 4 }
+
+ ospfv3VirtLinkLsdbLsid OBJECT-TYPE
+ SYNTAX Ospfv3LsIdTC
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The Link State ID is an LS type-specific field
+ containing a unique identifier;
+ it identifies the piece of the routing domain
+ that is being described by the advertisement.
+ In contrast to OSPFv2, the LSID has no
+ addressing semantics."
+ ::= { ospfv3VirtLinkLsdbEntry 5 }
+
+ -- Note that the OSPF sequence number is a 32-bit signed
+ -- integer. It starts with the value '80000001'h
+ -- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h.
+ -- Thus, a typical sequence number will be very negative.
+
+ ospfv3VirtLinkLsdbSequence OBJECT-TYPE
+ SYNTAX Ospfv3LsaSequenceTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The sequence number field is a signed 32-bit
+ integer. It is used to detect old and duplicate
+ link state advertisements. The space of
+ sequence numbers is linearly ordered. The
+ larger the sequence number, the more recent the
+ advertisement."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.6, LS sequence
+ number"
+ ::= { ospfv3VirtLinkLsdbEntry 6 }
+
+ ospfv3VirtLinkLsdbAge OBJECT-TYPE
+ SYNTAX Ospfv3LsaAgeTC
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the age of the link state
+ advertisement in seconds. The high-order bit
+ of the LS age field is considered the DoNotAge
+ bit for support of on-demand circuits."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.1, LS age;
+ Extending OSPF to Support Demand Circuits,
+ Section 2.2, The LS age field."
+ ::= { ospfv3VirtLinkLsdbEntry 7 }
+
+ ospfv3VirtLinkLsdbChecksum OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the checksum of the complete
+ contents of the advertisement, excepting the
+ age field. The age field is excepted so that
+ an advertisement's age can be incremented
+ without updating the checksum. The checksum
+ used is the same that is used for ISO
+ connectionless datagrams; it is commonly
+ referred to as the Fletcher checksum."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.7, LS checksum"
+ ::= { ospfv3VirtLinkLsdbEntry 8 }
+
+ ospfv3VirtLinkLsdbAdvertisement OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..65535))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The entire link state advertisement, including
+ its header."
+ ::= { ospfv3VirtLinkLsdbEntry 9 }
+
+ ospfv3VirtLinkLsdbTypeKnown OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value true (1) indicates that the LSA type is
+ recognized by this router."
+ ::= { ospfv3VirtLinkLsdbEntry 10 }
+
+ -- The Ospfv3 Notification Table
+
+ -- The Ospfv3 Notification Table records fields that are
+ -- required for notifications.
+
+ ospfv3NotificationEntry OBJECT IDENTIFIER
+ ::= { ospfv3Objects 14 }
+
+ ospfv3ConfigErrorType OBJECT-TYPE
+ SYNTAX INTEGER {
+ badVersion(1),
+ areaMismatch(2),
+ unknownNbmaNbr(3), -- Router is DR eligible
+ unknownVirtualNbr(4),
+ helloIntervalMismatch(5),
+ deadIntervalMismatch(6),
+ optionMismatch(7),
+ mtuMismatch(8),
+ duplicateRouterId(9),
+ noError(10) }
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "Potential types of configuration conflicts.
+ Used by the ospfv3ConfigError and
+ ospfv3ConfigVirtError notifications."
+ ::= { ospfv3NotificationEntry 1 }
+
+ ospfv3PacketType OBJECT-TYPE
+ SYNTAX INTEGER {
+ hello(1),
+ dbDescript(2),
+ lsReq(3),
+ lsUpdate(4),
+ lsAck(5),
+ nullPacket(6) }
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "OSPFv3 packet types."
+ ::= { ospfv3NotificationEntry 2 }
+
+ ospfv3PacketSrc OBJECT-TYPE
+ SYNTAX InetAddressIPv6
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The IPv6 address of an inbound packet that cannot
+ be identified by a neighbor instance.
+
+ Only IPv6 addresses without zone index are expected."
+ ::= { ospfv3NotificationEntry 3 }
+
+ -- Notification Definitions
+
+ -- The notifications need to be throttled so as to not overwhelm the
+ -- management agent in case of rapid changes to the OSPFv3 module.
+
+ospfv3VirtIfStateChange NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3VirtIfState -- The new state
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3VirtIfStateChange notification signifies that
+ there has been a change in the state of an OSPFv3 virtual
+ interface.
+
+ This notification should be generated when the interface
+ state regresses (e.g., goes from Point-to-Point to Down)
+ or progresses to a terminal state (i.e., Point-to-Point)."
+ ::= { ospfv3Notifications 1 }
+
+ospfv3NbrStateChange NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3NbrState -- The new state
+
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3NbrStateChange notification signifies that
+ there has been a change in the state of a
+ non-virtual OSPFv3 neighbor. This notification should be
+ generated when the neighbor state regresses
+ (e.g., goes from Attempt or Full to 1-Way or
+ Down) or progresses to a terminal state (e.g.,
+ 2-Way or Full). When a neighbor transitions
+ from or to Full on non-broadcast multi-access
+ and broadcast networks, the notification should be
+ generated by the Designated Router. A Designated
+ Router transitioning to Down will be noted by
+ ospfIfStateChange."
+ ::= { ospfv3Notifications 2 }
+
+ospfv3VirtNbrStateChange NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3VirtNbrState -- The new state
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3VirtNbrStateChange notification signifies
+ that there has been a change in the state of an OSPFv3
+ virtual neighbor. This notification should be generated
+ when the neighbor state regresses (e.g., goes
+ from Attempt or Full to 1-Way or Down) or
+ progresses to a terminal state (e.g., Full)."
+ ::= { ospfv3Notifications 3 }
+
+ospfv3IfConfigError NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3IfState, -- State of the interface
+ ospfv3PacketSrc, -- IPv6 address of source
+ ospfv3ConfigErrorType, -- Type of error
+ ospfv3PacketType -- Type of packet
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3IfConfigError notification signifies that a
+ packet has been received on a non-virtual
+ interface from a router whose configuration
+ parameters conflict with this router's
+ configuration parameters. Note that the event
+ optionMismatch should cause a notification only if it
+ prevents an adjacency from forming."
+ ::= { ospfv3Notifications 4 }
+
+ospfv3VirtIfConfigError NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3VirtIfState, -- State of the interface
+ ospfv3ConfigErrorType, -- Type of error
+ ospfv3PacketType
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3VirtIfConfigError notification signifies that a
+ packet has been received on a virtual interface
+ from a router whose configuration parameters
+ conflict with this router's configuration
+ parameters. Note that the event optionMismatch
+ should cause a notification only if it prevents an
+ adjacency from forming."
+ ::= { ospfv3Notifications 5 }
+
+ospfv3IfRxBadPacket NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3IfState, -- State of the interface
+ ospfv3PacketSrc, -- The source IPv6 address
+ ospfv3PacketType -- Type of packet
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3IfRxBadPacket notification signifies that an
+ OSPFv3 packet that cannot be parsed has been received on a
+ non-virtual interface."
+ ::= { ospfv3Notifications 6 }
+
+ospfv3VirtIfRxBadPacket NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3VirtIfState, -- State of the interface
+ ospfv3PacketType -- Type of packet
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3VirtIfRxBadPacket notification signifies
+ that an OSPFv3 packet that cannot be parsed has been
+ received on a virtual interface."
+ ::= { ospfv3Notifications 7 }
+
+ospfv3LsdbOverflow NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3ExtAreaLsdbLimit -- Limit on External LSAs
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3LsdbOverflow notification signifies that the
+ number of LSAs in the router's link state
+ database has exceeded ospfv3ExtAreaLsdbLimit."
+ ::= { ospfv3Notifications 8 }
+
+ospfv3LsdbApproachingOverflow NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3ExtAreaLsdbLimit
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3LsdbApproachingOverflow notification signifies
+ that the number of LSAs in the router's
+ link state database has exceeded ninety percent of
+ ospfv3ExtAreaLsdbLimit."
+ ::= { ospfv3Notifications 9 }
+
+ospfv3IfStateChange NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3IfState -- The new state
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3IfStateChange notification signifies that there
+ has been a change in the state of a non-virtual
+ OSPFv3 interface. This notification should be generated
+ when the interface state regresses (e.g., goes
+ from DR to Down) or progresses to a terminal
+ state (i.e., Point-to-Point, DR Other, DR, or
+ Backup)."
+ ::= { ospfv3Notifications 10 }
+
+ospfv3NssaTranslatorStatusChange NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3AreaNssaTranslatorState -- new state
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3NssaTranslatorStatusChange notification
+ indicates that there has been a change in the router's
+ ability to translate OSPFv3 NSSA LSAs into OSPFv3 External
+ LSAs. This notification should be generated when the
+ Translator Status transitions from or to any defined
+ status on a per-area basis."
+ ::= { ospfv3Notifications 11 }
+
+ospfv3RestartStatusChange NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3RestartStatus, -- new status
+ ospfv3RestartInterval,
+ ospfv3RestartExitReason
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3RestartStatusChange notification signifies that
+ there has been a change in the graceful restart
+ state for the router. This notification should be
+ generated when the router restart status
+ changes."
+ ::= { ospfv3Notifications 12 }
+
+ospfv3NbrRestartHelperStatusChange NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3NbrRestartHelperStatus, -- new status
+ ospfv3NbrRestartHelperAge,
+ ospfv3NbrRestartHelperExitReason
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3NbrRestartHelperStatusChange notification
+ signifies that there has been a change in the
+ graceful restart helper state for the neighbor.
+ This notification should be generated when the
+ neighbor restart helper status transitions for a neighbor."
+ ::= { ospfv3Notifications 13 }
+
+ospfv3VirtNbrRestartHelperStatusChange NOTIFICATION-TYPE
+ OBJECTS { ospfv3RouterId, -- The originator of the notification
+ ospfv3VirtNbrRestartHelperStatus, -- new status
+ ospfv3VirtNbrRestartHelperAge,
+ ospfv3VirtNbrRestartHelperExitReason
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfv3VirtNbrRestartHelperStatusChange
+ notification signifies that there has been a
+ change in the graceful restart helper state for
+ the virtual neighbor. This notification should be
+ generated when the virtual neighbor restart helper status
+ transitions for a virtual neighbor."
+ ::= { ospfv3Notifications 14 }
+
+ -- Conformance Information
+
+ ospfv3Groups OBJECT IDENTIFIER ::= { ospfv3Conformance 1 }
+ ospfv3Compliances OBJECT IDENTIFIER ::= { ospfv3Conformance 2 }
+
+ -- Compliance Statements
+
+ ospfv3FullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement"
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ ospfv3BasicGroup,
+ ospfv3AreaGroup,
+ ospfv3IfGroup,
+ ospfv3VirtIfGroup,
+ ospfv3NbrGroup,
+ ospfv3CfgNbrGroup,
+ ospfv3VirtNbrGroup,
+ ospfv3AreaAggregateGroup
+ }
+
+ GROUP ospfv3AsLsdbGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ display their AS-scope link state database."
+
+ GROUP ospfv3AreaLsdbGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ display their Area-scope link state database."
+
+ GROUP ospfv3LinkLsdbGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ display their Link-scope link state database
+ for non-virtual interfaces."
+
+ GROUP ospfv3VirtLinkLsdbGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ display their Link-scope link state database
+ for virtual interfaces."
+
+ GROUP ospfv3HostGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ support attached hosts."
+
+ GROUP ospfv3NotificationObjectGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ support OSPFv3 notifications."
+
+ GROUP ospfv3NotificationGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ support OSPFv3 notifications."
+
+ OBJECT ospfv3NbrAddressType
+ SYNTAX InetAddressType { ipv6(2) }
+ DESCRIPTION
+ "An implementation is only required to support IPv6
+ address without zone index."
+
+ OBJECT ospfv3NbrAddress
+ SYNTAX InetAddress (SIZE (16))
+ DESCRIPTION
+ "An implementation is only required to support IPv6
+ address without zone index."
+
+ OBJECT ospfv3VirtNbrAddressType
+ SYNTAX InetAddressType { ipv6(2) }
+ DESCRIPTION
+ "An implementation is only required to support IPv6
+ address without zone index."
+
+ OBJECT ospfv3VirtNbrAddress
+ SYNTAX InetAddress (SIZE (16))
+ DESCRIPTION
+ "An implementation is only required to support IPv6
+ address without zone index."
+ ::= { ospfv3Compliances 1 }
+
+ ospfv3ReadOnlyCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "When this MIB module is implemented without
+ support for read-create (i.e., in read-only
+ mode), the implementation can claim read-only
+ compliance. Such a device can then be monitored,
+ but cannot be configured with this MIB."
+
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ ospfv3BasicGroup,
+ ospfv3AreaGroup,
+ ospfv3IfGroup,
+ ospfv3VirtIfGroup,
+ ospfv3NbrGroup,
+ ospfv3CfgNbrGroup,
+ ospfv3VirtNbrGroup,
+ ospfv3AreaAggregateGroup
+ }
+
+ GROUP ospfv3AsLsdbGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ display their AS-scope link state database."
+
+ GROUP ospfv3AreaLsdbGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ display their Area-scope link state database."
+
+ GROUP ospfv3LinkLsdbGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ display their Link-scope link state database
+ for non-virtual interfaces."
+
+ GROUP ospfv3VirtLinkLsdbGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ display their Link-scope link state database
+ for virtual interfaces."
+
+ GROUP ospfv3HostGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ support attached hosts."
+
+ GROUP ospfv3NotificationObjectGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ support OSPFv3 notifications."
+
+ GROUP ospfv3NotificationGroup
+ DESCRIPTION
+ "This group is required for OSPFv3 systems that
+ support OSPFv3 notifications."
+
+ OBJECT ospfv3RouterId
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AdminStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3ExtAreaLsdbLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3ExitOverflowInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3DemandExtensions
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3ReferenceBandwidth
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3RestartSupport
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3RestartInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3RestartStrictLsaChecking
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3NotificationEnable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3StubRouterAdvertisement
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaImportAsExtern
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaSummary
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaStubMetric
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaNssaTranslatorRole
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaNssaTranslatorStabInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaStubMetricType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaTEEnabled
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3HostMetric
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3HostRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3HostAreaID
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfAreaId
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfAdminStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfRtrPriority
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfTransitDelay
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfRetransInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfHelloInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfRtrDeadInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfPollInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfDemand
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfMetricValue
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfDemandNbrProbe
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfDemandNbrProbeRetransLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfDemandNbrProbeInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfTEDisabled
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3IfLinkLSASuppression
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3VirtIfTransitDelay
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3VirtIfRetransInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3VirtIfHelloInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3VirtIfRtrDeadInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3VirtIfRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3CfgNbrPriority
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3CfgNbrRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaAggregateRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaAggregateEffect
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ospfv3AreaAggregateRouteTag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { ospfv3Compliances 2 }
+
+ -- units of conformance
+
+ ospfv3BasicGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3RouterId,
+ ospfv3AdminStatus,
+ ospfv3VersionNumber,
+ ospfv3AreaBdrRtrStatus,
+ ospfv3ASBdrRtrStatus,
+ ospfv3AsScopeLsaCount,
+ ospfv3AsScopeLsaCksumSum,
+ ospfv3OriginateNewLsas,
+ ospfv3RxNewLsas,
+ ospfv3ExtLsaCount,
+ ospfv3ExtAreaLsdbLimit,
+ ospfv3ExitOverflowInterval,
+ ospfv3DemandExtensions,
+ ospfv3ReferenceBandwidth,
+ ospfv3RestartSupport,
+ ospfv3RestartInterval,
+ ospfv3RestartStrictLsaChecking,
+ ospfv3RestartStatus,
+ ospfv3RestartAge,
+ ospfv3RestartExitReason,
+ ospfv3NotificationEnable,
+ ospfv3StubRouterSupport,
+ ospfv3StubRouterAdvertisement,
+ ospfv3DiscontinuityTime,
+ ospfv3RestartTime
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are used for managing/monitoring
+ OSPFv3 global parameters."
+ ::= { ospfv3Groups 1 }
+
+ ospfv3AreaGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3AreaImportAsExtern,
+ ospfv3AreaSpfRuns,
+ ospfv3AreaBdrRtrCount,
+ ospfv3AreaAsBdrRtrCount,
+ ospfv3AreaScopeLsaCount,
+ ospfv3AreaScopeLsaCksumSum,
+ ospfv3AreaSummary,
+ ospfv3AreaRowStatus,
+ ospfv3AreaStubMetric,
+ ospfv3AreaNssaTranslatorRole,
+ ospfv3AreaNssaTranslatorState,
+ ospfv3AreaNssaTranslatorStabInterval,
+ ospfv3AreaNssaTranslatorEvents,
+ ospfv3AreaStubMetricType,
+ ospfv3AreaTEEnabled
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are used for OSPFv3 systems
+ supporting areas."
+ ::= { ospfv3Groups 2 }
+
+ ospfv3AsLsdbGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3AsLsdbSequence,
+ ospfv3AsLsdbAge,
+ ospfv3AsLsdbChecksum,
+ ospfv3AsLsdbAdvertisement,
+ ospfv3AsLsdbTypeKnown
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are used for OSPFv3 systems
+ that display their AS-scope link state database."
+ ::= { ospfv3Groups 3 }
+
+ ospfv3AreaLsdbGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3AreaLsdbSequence,
+ ospfv3AreaLsdbAge,
+ ospfv3AreaLsdbChecksum,
+ ospfv3AreaLsdbAdvertisement,
+ ospfv3AreaLsdbTypeKnown
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are used for OSPFv3 systems
+ that display their Area-scope link state database."
+ ::= { ospfv3Groups 4 }
+
+ ospfv3LinkLsdbGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3LinkLsdbSequence,
+ ospfv3LinkLsdbAge,
+ ospfv3LinkLsdbChecksum,
+ ospfv3LinkLsdbAdvertisement,
+ ospfv3LinkLsdbTypeKnown
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are used for OSPFv3 systems
+ that display their Link-scope link state database
+ for non-virtual interfaces."
+ ::= { ospfv3Groups 5 }
+
+ ospfv3HostGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3HostMetric,
+ ospfv3HostRowStatus,
+ ospfv3HostAreaID
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are used for OSPFv3 systems
+ that support attached hosts."
+ ::= { ospfv3Groups 6 }
+
+ ospfv3IfGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3IfAreaId,
+ ospfv3IfType,
+ ospfv3IfAdminStatus,
+ ospfv3IfRtrPriority,
+ ospfv3IfTransitDelay,
+ ospfv3IfRetransInterval,
+ ospfv3IfHelloInterval,
+ ospfv3IfRtrDeadInterval,
+ ospfv3IfPollInterval,
+ ospfv3IfState,
+ ospfv3IfDesignatedRouter,
+ ospfv3IfBackupDesignatedRouter,
+ ospfv3IfEvents,
+ ospfv3IfRowStatus,
+ ospfv3IfDemand,
+ ospfv3IfMetricValue,
+ ospfv3IfLinkScopeLsaCount,
+ ospfv3IfLinkLsaCksumSum,
+ ospfv3IfDemandNbrProbe,
+ ospfv3IfDemandNbrProbeRetransLimit,
+ ospfv3IfDemandNbrProbeInterval,
+ ospfv3IfTEDisabled,
+ ospfv3IfLinkLSASuppression
+ }
+ STATUS current
+ DESCRIPTION
+ "These interface objects are used for
+ managing/monitoring OSPFv3 interfaces."
+ ::= { ospfv3Groups 7 }
+
+ ospfv3VirtIfGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3VirtIfIndex,
+ ospfv3VirtIfInstId,
+ ospfv3VirtIfTransitDelay,
+ ospfv3VirtIfRetransInterval,
+ ospfv3VirtIfHelloInterval,
+ ospfv3VirtIfRtrDeadInterval,
+ ospfv3VirtIfState,
+ ospfv3VirtIfEvents,
+ ospfv3VirtIfRowStatus,
+ ospfv3VirtIfLinkScopeLsaCount,
+ ospfv3VirtIfLinkLsaCksumSum
+ }
+ STATUS current
+ DESCRIPTION
+ "These virtual interface objects are used for
+ managing/monitoring OSPFv3 virtual interfaces."
+ ::= { ospfv3Groups 8 }
+
+ ospfv3NbrGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3NbrAddressType,
+ ospfv3NbrAddress,
+ ospfv3NbrOptions,
+ ospfv3NbrPriority,
+ ospfv3NbrState,
+ ospfv3NbrEvents,
+ ospfv3NbrLsRetransQLen,
+ ospfv3NbrHelloSuppressed,
+ ospfv3NbrIfId,
+ ospfv3NbrRestartHelperStatus,
+ ospfv3NbrRestartHelperAge,
+ ospfv3NbrRestartHelperExitReason
+ }
+ STATUS current
+ DESCRIPTION
+ "These neighbor objects are used for
+ managing/monitoring OSPFv3 neighbors."
+ ::= { ospfv3Groups 9 }
+
+ ospfv3CfgNbrGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3CfgNbrPriority,
+ ospfv3CfgNbrRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "These configured neighbor objects are used for
+ managing/monitoring OSPFv3-configured neighbors."
+ ::= { ospfv3Groups 10 }
+
+ ospfv3VirtNbrGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3VirtNbrIfIndex,
+ ospfv3VirtNbrIfInstId,
+ ospfv3VirtNbrAddressType,
+ ospfv3VirtNbrAddress,
+ ospfv3VirtNbrOptions,
+ ospfv3VirtNbrState,
+ ospfv3VirtNbrEvents,
+ ospfv3VirtNbrLsRetransQLen,
+ ospfv3VirtNbrHelloSuppressed,
+ ospfv3VirtNbrIfId,
+ ospfv3VirtNbrRestartHelperStatus,
+ ospfv3VirtNbrRestartHelperAge,
+ ospfv3VirtNbrRestartHelperExitReason
+ }
+ STATUS current
+ DESCRIPTION
+ "These virtual neighbor objects are used for
+ managing/monitoring OSPFv3 virtual neighbors."
+ ::= { ospfv3Groups 11 }
+
+ ospfv3AreaAggregateGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3AreaAggregateRowStatus,
+ ospfv3AreaAggregateEffect,
+ ospfv3AreaAggregateRouteTag
+ }
+ STATUS current
+ DESCRIPTION
+ "These area aggregate objects are required for
+ aggregating OSPFv3 prefixes for summarization
+ across areas."
+ ::= { ospfv3Groups 12 }
+
+ ospfv3VirtLinkLsdbGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3VirtLinkLsdbSequence,
+ ospfv3VirtLinkLsdbAge,
+ ospfv3VirtLinkLsdbChecksum,
+ ospfv3VirtLinkLsdbAdvertisement,
+ ospfv3VirtLinkLsdbTypeKnown
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are used for OSPFv3 systems
+ that display their Link-scope link state database
+ for virtual interfaces."
+ ::= { ospfv3Groups 13 }
+
+ ospfv3NotificationObjectGroup OBJECT-GROUP
+ OBJECTS {
+ ospfv3ConfigErrorType,
+ ospfv3PacketType,
+ ospfv3PacketSrc
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are used to record notification
+ parameters."
+ ::= { ospfv3Groups 14 }
+
+ ospfv3NotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ ospfv3VirtIfStateChange,
+ ospfv3NbrStateChange,
+ ospfv3VirtNbrStateChange,
+ ospfv3IfConfigError,
+ ospfv3VirtIfConfigError,
+ ospfv3IfRxBadPacket,
+ ospfv3VirtIfRxBadPacket,
+ ospfv3LsdbOverflow,
+ ospfv3LsdbApproachingOverflow,
+ ospfv3IfStateChange,
+ ospfv3NssaTranslatorStatusChange,
+ ospfv3RestartStatusChange,
+ ospfv3NbrRestartHelperStatusChange,
+ ospfv3VirtNbrRestartHelperStatusChange
+ }
+ STATUS current
+ DESCRIPTION
+ "This group is used for OSPFv3 notifications."
+ ::= { ospfv3Groups 15 }
+
+ END
diff --git a/ospf6d/ospf6_area.h b/ospf6d/ospf6_area.h
index c7c5ee35..e8a4fbd8 100644
--- a/ospf6d/ospf6_area.h
+++ b/ospf6d/ospf6_area.h
@@ -57,6 +57,7 @@ struct ospf6_area
struct thread *thread_spf_calculation;
struct thread *thread_route_calculation;
+ u_int32_t spf_calculation; /* SPF calculation count */
struct thread *thread_router_lsa;
struct thread *thread_intra_prefix_lsa;
diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c
index 71aa6859..40cda246 100644
--- a/ospf6d/ospf6_interface.c
+++ b/ospf6d/ospf6_interface.c
@@ -394,6 +394,7 @@ ospf6_interface_state_change (u_char next_state, struct ospf6_interface *oi)
ospf6_interface_state_str[prev_state],
ospf6_interface_state_str[next_state]);
}
+ oi->state_change++;
if ((prev_state == OSPF6_INTERFACE_DR ||
prev_state == OSPF6_INTERFACE_BDR) &&
@@ -420,6 +421,17 @@ ospf6_interface_state_change (u_char next_state, struct ospf6_interface *oi)
OSPF6_INTRA_PREFIX_LSA_SCHEDULE_TRANSIT (oi);
OSPF6_INTRA_PREFIX_LSA_SCHEDULE_STUB (oi->area);
}
+
+#ifdef HAVE_SNMP
+ /* Terminal state or regression */
+ if ((next_state == OSPF6_INTERFACE_POINTTOPOINT) ||
+ (next_state == OSPF6_INTERFACE_DROTHER) ||
+ (next_state == OSPF6_INTERFACE_BDR) ||
+ (next_state == OSPF6_INTERFACE_DR) ||
+ (next_state < prev_state))
+ ospf6TrapIfStateChange (oi);
+#endif
+
}
diff --git a/ospf6d/ospf6_interface.h b/ospf6d/ospf6_interface.h
index 2d1ff34d..d80b0730 100644
--- a/ospf6d/ospf6_interface.h
+++ b/ospf6d/ospf6_interface.h
@@ -64,6 +64,8 @@ struct ospf6_interface
u_int16_t dead_interval;
u_int32_t rxmt_interval;
+ u_int32_t state_change;
+
/* Cost */
u_int32_t cost;
diff --git a/ospf6d/ospf6_neighbor.c b/ospf6d/ospf6_neighbor.c
index f6c3aeac..806767dd 100644
--- a/ospf6d/ospf6_neighbor.c
+++ b/ospf6d/ospf6_neighbor.c
@@ -89,6 +89,7 @@ ospf6_neighbor_create (u_int32_t router_id, struct ospf6_interface *oi)
buf, oi->interface->name);
on->ospf6_if = oi;
on->state = OSPF6_NEIGHBOR_DOWN;
+ on->state_change = 0;
quagga_gettime (QUAGGA_CLK_MONOTONIC, &on->last_changed);
on->router_id = router_id;
@@ -154,6 +155,7 @@ ospf6_neighbor_state_change (u_char next_state, struct ospf6_neighbor *on)
if (prev_state == next_state)
return;
+ on->state_change++;
quagga_gettime (QUAGGA_CLK_MONOTONIC, &on->last_changed);
/* log */
@@ -180,6 +182,15 @@ ospf6_neighbor_state_change (u_char next_state, struct ospf6_neighbor *on)
(next_state != OSPF6_NEIGHBOR_EXCHANGE &&
next_state != OSPF6_NEIGHBOR_LOADING))
ospf6_maxage_remove (on->ospf6_if->area->ospf6);
+
+#ifdef HAVE_SNMP
+ /* Terminal state or regression */
+ if ((next_state == OSPF6_NEIGHBOR_FULL) ||
+ (next_state == OSPF6_NEIGHBOR_TWOWAY) ||
+ (next_state < prev_state))
+ ospf6TrapNbrStateChange (on);
+#endif
+
}
/* RFC2328 section 10.4 */
diff --git a/ospf6d/ospf6_neighbor.h b/ospf6d/ospf6_neighbor.h
index b3bd173f..5f46c6f3 100644
--- a/ospf6d/ospf6_neighbor.h
+++ b/ospf6d/ospf6_neighbor.h
@@ -46,6 +46,7 @@ struct ospf6_neighbor
u_char state;
/* timestamp of last changing state */
+ u_int32_t state_change;
struct timeval last_changed;
/* Neighbor Router ID */
diff --git a/ospf6d/ospf6_snmp.c b/ospf6d/ospf6_snmp.c
index d252f549..f8a3b920 100644
--- a/ospf6d/ospf6_snmp.c
+++ b/ospf6d/ospf6_snmp.c
@@ -44,7 +44,7 @@
#include "ospf6_snmp.h"
/* OSPFv3-MIB */
-#define OSPFv3MIB 1,3,6,1,3,102
+#define OSPFv3MIB 1,3,6,1,2,1,191
/* OSPFv3 MIB General Group values. */
#define OSPFv3ROUTERID 1
@@ -58,19 +58,22 @@
#define OSPFv3RXNEWLSAS 9
#define OSPFv3EXTLSACOUNT 10
#define OSPFv3EXTAREALSDBLIMIT 11
-#define OSPFv3MULTICASTEXTENSIONS 12
-#define OSPFv3EXITOVERFLOWINTERVAL 13
-#define OSPFv3DEMANDEXTENSIONS 14
-#define OSPFv3TRAFFICENGINEERINGSUPPORT 15
-#define OSPFv3REFERENCEBANDWIDTH 16
-#define OSPFv3RESTARTSUPPORT 17
-#define OSPFv3RESTARTINTERVAL 18
-#define OSPFv3RESTARTSTATUS 19
-#define OSPFv3RESTARTAGE 20
-#define OSPFv3RESTARTEXITREASON 21
-
-/* OSPFv3 MIB Area Table values. */
-#define OSPFv3AREAID 1
+#define OSPFv3EXITOVERFLOWINTERVAL 12
+#define OSPFv3DEMANDEXTENSIONS 13
+#define OSPFv3REFERENCEBANDWIDTH 14
+#define OSPFv3RESTARTSUPPORT 15
+#define OSPFv3RESTARTINTERVAL 16
+#define OSPFv3RESTARTSTRICTLSACHECKING 17
+#define OSPFv3RESTARTSTATUS 18
+#define OSPFv3RESTARTAGE 19
+#define OSPFv3RESTARTEXITREASON 20
+#define OSPFv3NOTIFICATIONENABLE 21
+#define OSPFv3STUBROUTERSUPPORT 22
+#define OSPFv3STUBROUTERADVERTISEMENT 23
+#define OSPFv3DISCONTINUITYTIME 24
+#define OSPFv3RESTARTTIME 25
+
+/* OSPFv3 MIB Area Table values: ospfv3AreaTable */
#define OSPFv3IMPORTASEXTERN 2
#define OSPFv3AREASPFRUNS 3
#define OSPFv3AREABDRRTRCOUNT 4
@@ -78,24 +81,110 @@
#define OSPFv3AREASCOPELSACOUNT 6
#define OSPFv3AREASCOPELSACKSUMSUM 7
#define OSPFv3AREASUMMARY 8
-#define OSPFv3AREASTATUS 9
-#define OSPFv3STUBMETRIC 10
+#define OSPFv3AREAROWSTATUS 9
+#define OSPFv3AREASTUBMETRIC 10
#define OSPFv3AREANSSATRANSLATORROLE 11
#define OSPFv3AREANSSATRANSLATORSTATE 12
-#define OSPFv3AREANSSATRANSLATORSTABILITYINTERVAL 13
+#define OSPFv3AREANSSATRANSLATORSTABINTERVAL 13
#define OSPFv3AREANSSATRANSLATOREVENTS 14
#define OSPFv3AREASTUBMETRICTYPE 15
+#define OSPFv3AREATEENABLED 16
+
+/* OSPFv3 MIB * Lsdb Table values: ospfv3*LsdbTable */
+#define OSPFv3WWLSDBSEQUENCE 1
+#define OSPFv3WWLSDBAGE 2
+#define OSPFv3WWLSDBCHECKSUM 3
+#define OSPFv3WWLSDBADVERTISEMENT 4
+#define OSPFv3WWLSDBTYPEKNOWN 5
+
+/* Three first bits are to identify column */
+#define OSPFv3WWCOLUMN 0x7
+/* Then we use other bits to identify table */
+#define OSPFv3WWASTABLE (1 << 3)
+#define OSPFv3WWAREATABLE (1 << 4)
+#define OSPFv3WWLINKTABLE (1 << 5)
+#define OSPFv3WWVIRTLINKTABLE (1 << 6)
+
+/* OSPFv3 MIB Host Table values: ospfv3HostTable */
+#define OSPFv3HOSTMETRIC 3
+#define OSPFv3HOSTROWSTATUS 4
+#define OSPFv3HOSTAREAID 5
+
+/* OSPFv3 MIB Interface Table values: ospfv3IfTable */
+#define OSPFv3IFAREAID 3
+#define OSPFv3IFTYPE 4
+#define OSPFv3IFADMINSTATUS 5
+#define OSPFv3IFRTRPRIORITY 6
+#define OSPFv3IFTRANSITDELAY 7
+#define OSPFv3IFRETRANSINTERVAL 8
+#define OSPFv3IFHELLOINTERVAL 9
+#define OSPFv3IFRTRDEADINTERVAL 10
+#define OSPFv3IFPOLLINTERVAL 11
+#define OSPFv3IFSTATE 12
+#define OSPFv3IFDESIGNATEDROUTER 13
+#define OSPFv3IFBACKUPDESIGNATEDROUTER 14
+#define OSPFv3IFEVENTS 15
+#define OSPFv3IFROWSTATUS 16
+#define OSPFv3IFDEMAND 17
+#define OSPFv3IFMETRICVALUE 18
+#define OSPFv3IFLINKSCOPELSACOUNT 19
+#define OSPFv3IFLINKLSACKSUMSUM 20
+#define OSPFv3IFDEMANDNBRPROBE 21
+#define OSPFv3IFDEMANDNBRPROBERETRANSLIMIT 22
+#define OSPFv3IFDEMANDNBRPROBEINTERVAL 23
+#define OSPFv3IFTEDISABLED 24
+#define OSPFv3IFLINKLSASUPPRESSION 25
+
+/* OSPFv3 MIB Virtual Interface Table values: ospfv3VirtIfTable */
+#define OSPFv3VIRTIFINDEX 3
+#define OSPFv3VIRTIFINSTID 4
+#define OSPFv3VIRTIFTRANSITDELAY 5
+#define OSPFv3VIRTIFRETRANSINTERVAL 6
+#define OSPFv3VIRTIFHELLOINTERVAL 7
+#define OSPFv3VIRTIFRTRDEADINTERVAL 8
+#define OSPFv3VIRTIFSTATE 9
+#define OSPFv3VIRTIFEVENTS 10
+#define OSPFv3VIRTIFROWSTATUS 11
+#define OSPFv3VIRTIFLINKSCOPELSACOUNT 12
+#define OSPFv3VIRTIFLINKLSACKSUMSUM 13
+
+/* OSPFv3 MIB Neighbors Table values: ospfv3NbrTable */
+#define OSPFv3NBRADDRESSTYPE 4
+#define OSPFv3NBRADDRESS 5
+#define OSPFv3NBROPTIONS 6
+#define OSPFv3NBRPRIORITY 7
+#define OSPFv3NBRSTATE 8
+#define OSPFv3NBREVENTS 9
+#define OSPFv3NBRLSRETRANSQLEN 10
+#define OSPFv3NBRHELLOSUPPRESSED 11
+#define OSPFv3NBRIFID 12
+#define OSPFv3NBRRESTARTHELPERSTATUS 13
+#define OSPFv3NBRRESTARTHELPERAGE 14
+#define OSPFv3NBRRESTARTHELPEREXITREASON 15
+
+/* OSPFv3 MIB Configured Neighbors Table values: ospfv3CfgNbrTable */
+#define OSPFv3CFGNBRPRIORITY 5
+#define OSPFv3CFGNBRROWSTATUS 6
-/* OSPFv3 MIB Area Lsdb Table values. */
-#define OSPFv3AREALSDBAREAID 1
-#define OSPFv3AREALSDBTYPE 2
-#define OSPFv3AREALSDBROUTERID 3
-#define OSPFv3AREALSDBLSID 4
-#define OSPFv3AREALSDBSEQUENCE 5
-#define OSPFv3AREALSDBAGE 6
-#define OSPFv3AREALSDBCHECKSUM 7
-#define OSPFv3AREALSDBADVERTISEMENT 8
-#define OSPFv3AREALSDBTYPEKNOWN 9
+/* OSPFv3 MIB Virtual Neighbors Table values: ospfv3VirtNbrTable */
+#define OSPFv3VIRTNBRIFINDEX 3
+#define OSPFv3VIRTNBRIFINSTID 4
+#define OSPFv3VIRTNBRADDRESSTYPE 5
+#define OSPFv3VIRTNBRADDRESS 6
+#define OSPFv3VIRTNBROPTIONS 7
+#define OSPFv3VIRTNBRSTATE 8
+#define OSPFv3VIRTNBREVENTS 9
+#define OSPFv3VIRTNBRLSRETRANSQLEN 10
+#define OSPFv3VIRTNBRHELLOSUPPRESSED 11
+#define OSPFv3VIRTNBRIFID 12
+#define OSPFv3VIRTNBRRESTARTHELPERSTATUS 13
+#define OSPFv3VIRTNBRRESTARTHELPERAGE 14
+#define OSPFv3VIRTNBRRESTARTHELPEREXITREASON 15
+
+/* OSPFv3 MIB Area Aggregate Table values: ospfv3AreaAggregateTable */
+#define OSPFv3AREAAGGREGATEROWSTATUS 6
+#define OSPFv3AREAAGGREGATEEFFECT 7
+#define OSPFv3AREAAGGREGATEROUTETAG 8
/* SYNTAX Status from OSPF-MIB. */
#define OSPF_STATUS_ENABLED 1
@@ -105,6 +194,7 @@
#define COUNTER ASN_COUNTER
#define INTEGER ASN_INTEGER
#define GAUGE ASN_GAUGE
+#define UNSIGNED ASN_UNSIGNED
#define TIMETICKS ASN_TIMETICKS
#define IPADDRESS ASN_IPADDRESS
#define STRING ASN_OCTET_STR
@@ -112,28 +202,26 @@
/* For return values e.g. SNMP_INTEGER macro */
SNMP_LOCAL_VARIABLES
-static struct in_addr tmp;
-#define INT32_INADDR(x) \
- (tmp.s_addr = (x), tmp)
-
/* OSPFv3-MIB instances. */
oid ospfv3_oid [] = { OSPFv3MIB };
-
-/* empty ID 0.0.0.0 e.g. empty router-id */
-static struct in_addr ospf6_empty_id = {0};
+oid ospfv3_trap_oid [] = { OSPFv3MIB, 0 };
/* Hook functions. */
static u_char *ospfv3GeneralGroup (struct variable *, oid *, size_t *,
int, size_t *, WriteMethod **);
static u_char *ospfv3AreaEntry (struct variable *, oid *, size_t *,
int, size_t *, WriteMethod **);
-static u_char *ospfv3AreaLsdbEntry (struct variable *, oid *, size_t *,
- int, size_t *, WriteMethod **);
+static u_char *ospfv3WwLsdbEntry (struct variable *, oid *, size_t *,
+ int, size_t *, WriteMethod **);
+static u_char *ospfv3NbrEntry (struct variable *, oid *, size_t *,
+ int, size_t *, WriteMethod **);
+static u_char *ospfv3IfEntry (struct variable *, oid *, size_t *,
+ int, size_t *, WriteMethod **);
struct variable ospfv3_variables[] =
{
/* OSPF general variables */
- {OSPFv3ROUTERID, IPADDRESS, RWRITE, ospfv3GeneralGroup,
+ {OSPFv3ROUTERID, UNSIGNED, RWRITE, ospfv3GeneralGroup,
3, {1, 1, 1}},
{OSPFv3ADMINSTAT, INTEGER, RWRITE, ospfv3GeneralGroup,
3, {1, 1, 2}},
@@ -145,7 +233,7 @@ struct variable ospfv3_variables[] =
3, {1, 1, 5}},
{OSPFv3ASSCOPELSACOUNT, GAUGE, RONLY, ospfv3GeneralGroup,
3, {1, 1, 6}},
- {OSPFv3ASSCOPELSACHECKSUMSUM, INTEGER, RONLY, ospfv3GeneralGroup,
+ {OSPFv3ASSCOPELSACHECKSUMSUM,UNSIGNED, RONLY, ospfv3GeneralGroup,
3, {1, 1, 7}},
{OSPFv3ORIGINATENEWLSAS, COUNTER, RONLY, ospfv3GeneralGroup,
3, {1, 1, 8}},
@@ -155,30 +243,36 @@ struct variable ospfv3_variables[] =
3, {1, 1, 10}},
{OSPFv3EXTAREALSDBLIMIT, INTEGER, RWRITE, ospfv3GeneralGroup,
3, {1, 1, 11}},
- {OSPFv3MULTICASTEXTENSIONS, INTEGER, RWRITE, ospfv3GeneralGroup,
+ {OSPFv3EXITOVERFLOWINTERVAL, UNSIGNED, RWRITE, ospfv3GeneralGroup,
3, {1, 1, 12}},
- {OSPFv3EXITOVERFLOWINTERVAL, INTEGER, RWRITE, ospfv3GeneralGroup,
- 3, {1, 1, 13}},
{OSPFv3DEMANDEXTENSIONS, INTEGER, RWRITE, ospfv3GeneralGroup,
+ 3, {1, 1, 13}},
+ {OSPFv3REFERENCEBANDWIDTH, UNSIGNED, RWRITE, ospfv3GeneralGroup,
3, {1, 1, 14}},
- {OSPFv3TRAFFICENGINEERINGSUPPORT, INTEGER, RWRITE, ospfv3GeneralGroup,
+ {OSPFv3RESTARTSUPPORT, INTEGER, RWRITE, ospfv3GeneralGroup,
3, {1, 1, 15}},
- {OSPFv3REFERENCEBANDWIDTH, INTEGER, RWRITE, ospfv3GeneralGroup,
+ {OSPFv3RESTARTINTERVAL, UNSIGNED, RWRITE, ospfv3GeneralGroup,
3, {1, 1, 16}},
- {OSPFv3RESTARTSUPPORT, INTEGER, RWRITE, ospfv3GeneralGroup,
+ {OSPFv3RESTARTSTRICTLSACHECKING, INTEGER, RWRITE, ospfv3GeneralGroup,
3, {1, 1, 17}},
- {OSPFv3RESTARTINTERVAL, INTEGER, RWRITE, ospfv3GeneralGroup,
- 3, {1, 1, 18}},
{OSPFv3RESTARTSTATUS, INTEGER, RONLY, ospfv3GeneralGroup,
+ 3, {1, 1, 18}},
+ {OSPFv3RESTARTAGE, UNSIGNED, RONLY, ospfv3GeneralGroup,
3, {1, 1, 19}},
- {OSPFv3RESTARTAGE, INTEGER, RONLY, ospfv3GeneralGroup,
- 3, {1, 1, 20}},
{OSPFv3RESTARTEXITREASON, INTEGER, RONLY, ospfv3GeneralGroup,
+ 3, {1, 1, 20}},
+ {OSPFv3NOTIFICATIONENABLE, INTEGER, RWRITE, ospfv3GeneralGroup,
3, {1, 1, 21}},
+ {OSPFv3STUBROUTERSUPPORT, INTEGER, RONLY, ospfv3GeneralGroup,
+ 3, {1, 1, 22}},
+ {OSPFv3STUBROUTERADVERTISEMENT, INTEGER, RWRITE, ospfv3GeneralGroup,
+ 3, {1, 1, 23}},
+ {OSPFv3DISCONTINUITYTIME, TIMETICKS, RONLY, ospfv3GeneralGroup,
+ 3, {1, 1, 24}},
+ {OSPFv3RESTARTTIME, TIMETICKS, RONLY, ospfv3GeneralGroup,
+ 3, {1, 1, 25}},
/* OSPFv3 Area Data Structure */
- {OSPFv3AREAID, IPADDRESS, RONLY, ospfv3AreaEntry,
- 4, {1, 2, 1, 1}},
{OSPFv3IMPORTASEXTERN, INTEGER, RWRITE, ospfv3AreaEntry,
4, {1, 2, 1, 2}},
{OSPFv3AREASPFRUNS, COUNTER, RONLY, ospfv3AreaEntry,
@@ -189,50 +283,146 @@ struct variable ospfv3_variables[] =
4, {1, 2, 1, 5}},
{OSPFv3AREASCOPELSACOUNT, GAUGE, RONLY, ospfv3AreaEntry,
4, {1, 2, 1, 6}},
- {OSPFv3AREASCOPELSACKSUMSUM, INTEGER, RONLY, ospfv3AreaEntry,
+ {OSPFv3AREASCOPELSACKSUMSUM, UNSIGNED, RONLY, ospfv3AreaEntry,
4, {1, 2, 1, 7}},
{OSPFv3AREASUMMARY, INTEGER, RWRITE, ospfv3AreaEntry,
4, {1, 2, 1, 8}},
- {OSPFv3AREASTATUS, INTEGER, RWRITE, ospfv3AreaEntry,
+ {OSPFv3AREAROWSTATUS, INTEGER, RWRITE, ospfv3AreaEntry,
4, {1, 2, 1, 9}},
- {OSPFv3STUBMETRIC, INTEGER, RWRITE, ospfv3AreaEntry,
+ {OSPFv3AREASTUBMETRIC, INTEGER, RWRITE, ospfv3AreaEntry,
4, {1, 2, 1, 10}},
{OSPFv3AREANSSATRANSLATORROLE, INTEGER, RWRITE, ospfv3AreaEntry,
4, {1, 2, 1, 11}},
{OSPFv3AREANSSATRANSLATORSTATE, INTEGER, RONLY, ospfv3AreaEntry,
4, {1, 2, 1, 12}},
- {OSPFv3AREANSSATRANSLATORSTABILITYINTERVAL, INTEGER, RWRITE, ospfv3AreaEntry,
+ {OSPFv3AREANSSATRANSLATORSTABINTERVAL, UNSIGNED, RWRITE, ospfv3AreaEntry,
4, {1, 2, 1, 13}},
{OSPFv3AREANSSATRANSLATOREVENTS, COUNTER, RONLY, ospfv3AreaEntry,
4, {1, 2, 1, 14}},
{OSPFv3AREASTUBMETRICTYPE, INTEGER, RWRITE, ospfv3AreaEntry,
4, {1, 2, 1, 15}},
+ {OSPFv3AREATEENABLED, INTEGER, RWRITE, ospfv3AreaEntry,
+ 4, {1, 2, 1, 16}},
- {OSPFv3AREALSDBAREAID, IPADDRESS, RONLY, ospfv3AreaLsdbEntry,
- 4, {1, 4, 1, 1}},
- {OSPFv3AREALSDBTYPE, GAUGE, RONLY, ospfv3AreaLsdbEntry,
- 4, {1, 4, 1, 2}},
- {OSPFv3AREALSDBROUTERID, IPADDRESS, RONLY, ospfv3AreaLsdbEntry,
- 4, {1, 4, 1, 3}},
- {OSPFv3AREALSDBLSID, IPADDRESS, RONLY, ospfv3AreaLsdbEntry,
- 4, {1, 4, 1, 4}},
- {OSPFv3AREALSDBSEQUENCE, INTEGER, RONLY, ospfv3AreaLsdbEntry,
+ /* OSPFv3 AS LSDB */
+ {OSPFv3WWLSDBSEQUENCE | OSPFv3WWASTABLE, INTEGER, RONLY, ospfv3WwLsdbEntry,
+ 4, {1, 3, 1, 4}},
+ {OSPFv3WWLSDBAGE | OSPFv3WWASTABLE, UNSIGNED, RONLY, ospfv3WwLsdbEntry,
+ 4, {1, 3, 1, 5}},
+ {OSPFv3WWLSDBCHECKSUM | OSPFv3WWASTABLE, INTEGER, RONLY, ospfv3WwLsdbEntry,
+ 4, {1, 3, 1, 6}},
+ {OSPFv3WWLSDBADVERTISEMENT | OSPFv3WWASTABLE, STRING, RONLY, ospfv3WwLsdbEntry,
+ 4, {1, 3, 1, 7}},
+ {OSPFv3WWLSDBTYPEKNOWN | OSPFv3WWASTABLE, INTEGER, RONLY, ospfv3WwLsdbEntry,
+ 4, {1, 3, 1, 8}},
+
+ /* OSPFv3 Area LSDB */
+ {OSPFv3WWLSDBSEQUENCE | OSPFv3WWAREATABLE, INTEGER, RONLY, ospfv3WwLsdbEntry,
4, {1, 4, 1, 5}},
- {OSPFv3AREALSDBAGE, INTEGER, RONLY, ospfv3AreaLsdbEntry,
+ {OSPFv3WWLSDBAGE | OSPFv3WWAREATABLE, UNSIGNED, RONLY, ospfv3WwLsdbEntry,
4, {1, 4, 1, 6}},
- {OSPFv3AREALSDBCHECKSUM, INTEGER, RONLY, ospfv3AreaLsdbEntry,
+ {OSPFv3WWLSDBCHECKSUM | OSPFv3WWAREATABLE, INTEGER, RONLY, ospfv3WwLsdbEntry,
4, {1, 4, 1, 7}},
- {OSPFv3AREALSDBADVERTISEMENT, STRING, RONLY, ospfv3AreaLsdbEntry,
+ {OSPFv3WWLSDBADVERTISEMENT | OSPFv3WWAREATABLE, STRING, RONLY, ospfv3WwLsdbEntry,
4, {1, 4, 1, 8}},
- {OSPFv3AREALSDBTYPEKNOWN, INTEGER, RONLY, ospfv3AreaLsdbEntry,
+ {OSPFv3WWLSDBTYPEKNOWN | OSPFv3WWAREATABLE, INTEGER, RONLY, ospfv3WwLsdbEntry,
4, {1, 4, 1, 9}},
+ /* OSPFv3 Link LSDB */
+ {OSPFv3WWLSDBSEQUENCE | OSPFv3WWLINKTABLE, INTEGER, RONLY, ospfv3WwLsdbEntry,
+ 4, {1, 5, 1, 6}},
+ {OSPFv3WWLSDBAGE | OSPFv3WWLINKTABLE, UNSIGNED, RONLY, ospfv3WwLsdbEntry,
+ 4, {1, 5, 1, 7}},
+ {OSPFv3WWLSDBCHECKSUM | OSPFv3WWLINKTABLE, INTEGER, RONLY, ospfv3WwLsdbEntry,
+ 4, {1, 5, 1, 8}},
+ {OSPFv3WWLSDBADVERTISEMENT | OSPFv3WWLINKTABLE, STRING, RONLY, ospfv3WwLsdbEntry,
+ 4, {1, 5, 1, 9}},
+ {OSPFv3WWLSDBTYPEKNOWN | OSPFv3WWLINKTABLE, INTEGER, RONLY, ospfv3WwLsdbEntry,
+ 4, {1, 5, 1, 10}},
+
+ /* OSPFv3 interfaces */
+ {OSPFv3IFAREAID, UNSIGNED, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 3}},
+ {OSPFv3IFTYPE, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 4}},
+ {OSPFv3IFADMINSTATUS, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 5}},
+ {OSPFv3IFRTRPRIORITY, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 6}},
+ {OSPFv3IFTRANSITDELAY, UNSIGNED, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 7}},
+ {OSPFv3IFRETRANSINTERVAL, UNSIGNED, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 8}},
+ {OSPFv3IFHELLOINTERVAL, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 9}},
+ {OSPFv3IFRTRDEADINTERVAL, UNSIGNED, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 10}},
+ {OSPFv3IFPOLLINTERVAL, UNSIGNED, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 11}},
+ {OSPFv3IFSTATE, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 12}},
+ {OSPFv3IFDESIGNATEDROUTER, UNSIGNED, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 13}},
+ {OSPFv3IFBACKUPDESIGNATEDROUTER, UNSIGNED, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 14}},
+ {OSPFv3IFEVENTS, COUNTER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 15}},
+ {OSPFv3IFROWSTATUS, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 16}},
+ {OSPFv3IFDEMAND, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 17}},
+ {OSPFv3IFMETRICVALUE, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 18}},
+ {OSPFv3IFLINKSCOPELSACOUNT, GAUGE, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 19}},
+ {OSPFv3IFLINKLSACKSUMSUM, UNSIGNED, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 20}},
+ {OSPFv3IFDEMANDNBRPROBE, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 21}},
+ {OSPFv3IFDEMANDNBRPROBERETRANSLIMIT, UNSIGNED, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 22}},
+ {OSPFv3IFDEMANDNBRPROBEINTERVAL, UNSIGNED, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 23}},
+ {OSPFv3IFTEDISABLED, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 24}},
+ {OSPFv3IFLINKLSASUPPRESSION, INTEGER, RONLY, ospfv3IfEntry,
+ 4, {1, 7, 1, 25}},
+
+ /* OSPFv3 neighbors */
+ {OSPFv3NBRADDRESSTYPE, INTEGER, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 4}},
+ {OSPFv3NBRADDRESS, STRING, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 5}},
+ {OSPFv3NBROPTIONS, INTEGER, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 6}},
+ {OSPFv3NBRPRIORITY, INTEGER, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 7}},
+ {OSPFv3NBRSTATE, INTEGER, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 8}},
+ {OSPFv3NBREVENTS, COUNTER, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 9}},
+ {OSPFv3NBRLSRETRANSQLEN, GAUGE, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 10}},
+ {OSPFv3NBRHELLOSUPPRESSED, INTEGER, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 11}},
+ {OSPFv3NBRIFID, INTEGER, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 12}},
+ {OSPFv3NBRRESTARTHELPERSTATUS, INTEGER, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 13}},
+ {OSPFv3NBRRESTARTHELPERAGE, UNSIGNED, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 14}},
+ {OSPFv3NBRRESTARTHELPEREXITREASON, INTEGER, RONLY, ospfv3NbrEntry,
+ 4, {1, 9, 1, 15}},
};
static u_char *
ospfv3GeneralGroup (struct variable *v, oid *name, size_t *length,
int exact, size_t *var_len, WriteMethod **write_method)
{
+ u_int16_t sum;
+ u_int32_t count;
+ struct ospf6_lsa *lsa = NULL;
+
/* Check whether the instance identifier is valid */
if (smux_header_generic (v, name, length, exact, var_len, write_method)
== MATCH_FAILED)
@@ -241,54 +431,76 @@ ospfv3GeneralGroup (struct variable *v, oid *name, size_t *length,
/* Return the current value of the variable */
switch (v->magic)
{
- case OSPFv3ROUTERID: /* 1*/
+ case OSPFv3ROUTERID:
/* Router-ID of this OSPF instance. */
if (ospf6)
- return SNMP_IPADDRESS (INT32_INADDR (ospf6->router_id));
- else
- return SNMP_IPADDRESS (ospf6_empty_id);
- break;
- case OSPFv3ADMINSTAT: /* 2*/
- break;
- case OSPFv3VERSIONNUMBER: /* 3*/
- break;
- case OSPFv3AREABDRRTRSTATUS: /* 4*/
- break;
- case OSPFv3ASBDRRTRSTATUS: /* 5*/
- break;
- case OSPFv3ASSCOPELSACOUNT: /* 6*/
- break;
- case OSPFv3ASSCOPELSACHECKSUMSUM: /* 7*/
- break;
- case OSPFv3ORIGINATENEWLSAS: /* 8*/
- break;
- case OSPFv3RXNEWLSAS: /* 9*/
- break;
- case OSPFv3EXTLSACOUNT: /*10*/
- break;
- case OSPFv3EXTAREALSDBLIMIT: /*11*/
- break;
- case OSPFv3MULTICASTEXTENSIONS: /*12*/
- break;
- case OSPFv3EXITOVERFLOWINTERVAL: /*13*/
- break;
- case OSPFv3DEMANDEXTENSIONS: /*14*/
- break;
- case OSPFv3TRAFFICENGINEERINGSUPPORT: /*15*/
- break;
- case OSPFv3REFERENCEBANDWIDTH: /*16*/
- break;
- case OSPFv3RESTARTSUPPORT: /*17*/
- break;
- case OSPFv3RESTARTINTERVAL: /*18*/
- break;
- case OSPFv3RESTARTSTATUS: /*19*/
- break;
- case OSPFv3RESTARTAGE: /*20*/
- break;
- case OSPFv3RESTARTEXITREASON: /*21*/
- break;
- default:
+ return SNMP_INTEGER (ntohl (ospf6->router_id));
+ return SNMP_INTEGER (0);
+ case OSPFv3ADMINSTAT:
+ if (ospf6)
+ return SNMP_INTEGER (CHECK_FLAG (ospf6->flag, OSPF6_DISABLED)?
+ OSPF_STATUS_DISABLED:OSPF_STATUS_ENABLED);
+ return SNMP_INTEGER (OSPF_STATUS_DISABLED);
+ case OSPFv3VERSIONNUMBER:
+ return SNMP_INTEGER (3);
+ case OSPFv3AREABDRRTRSTATUS:
+ if (ospf6)
+ return SNMP_INTEGER (ospf6_is_router_abr (ospf6)?SNMP_TRUE:SNMP_FALSE);
+ return SNMP_INTEGER (SNMP_FALSE);
+ case OSPFv3ASBDRRTRSTATUS:
+ if (ospf6)
+ return SNMP_INTEGER (ospf6_asbr_is_asbr (ospf6)?SNMP_TRUE:SNMP_FALSE);
+ return SNMP_INTEGER (SNMP_FALSE);
+ case OSPFv3ASSCOPELSACOUNT:
+ if (ospf6)
+ return SNMP_INTEGER (ospf6->lsdb->count);
+ return SNMP_INTEGER (0);
+ case OSPFv3ASSCOPELSACHECKSUMSUM:
+ if (ospf6)
+ {
+ for (sum = 0, lsa = ospf6_lsdb_head (ospf6->lsdb);
+ lsa;
+ lsa = ospf6_lsdb_next (lsa))
+ sum += ntohs (lsa->header->checksum);
+ return SNMP_INTEGER (sum);
+ }
+ return SNMP_INTEGER (0);
+ case OSPFv3ORIGINATENEWLSAS:
+ return SNMP_INTEGER (0); /* Don't know where to get this value... */
+ case OSPFv3RXNEWLSAS:
+ return SNMP_INTEGER (0); /* Don't know where to get this value... */
+ case OSPFv3EXTLSACOUNT:
+ if (ospf6)
+ {
+ for (count = 0, lsa = ospf6_lsdb_type_head (htons (OSPF6_LSTYPE_AS_EXTERNAL),
+ ospf6->lsdb);
+ lsa;
+ lsa = ospf6_lsdb_type_next (htons (OSPF6_LSTYPE_AS_EXTERNAL),
+ lsa))
+ count += 1;
+ return SNMP_INTEGER (count);
+ }
+ return SNMP_INTEGER (0);
+ case OSPFv3EXTAREALSDBLIMIT:
+ return SNMP_INTEGER (-1);
+ case OSPFv3EXITOVERFLOWINTERVAL:
+ return SNMP_INTEGER (0); /* Not supported */
+ case OSPFv3DEMANDEXTENSIONS:
+ return SNMP_INTEGER (0); /* Not supported */
+ case OSPFv3REFERENCEBANDWIDTH:
+ return SNMP_INTEGER (100000);
+ case OSPFv3RESTARTSUPPORT:
+ case OSPFv3RESTARTINTERVAL:
+ case OSPFv3RESTARTSTRICTLSACHECKING:
+ case OSPFv3RESTARTSTATUS:
+ case OSPFv3RESTARTAGE:
+ case OSPFv3RESTARTEXITREASON:
+ case OSPFv3NOTIFICATIONENABLE:
+ case OSPFv3STUBROUTERSUPPORT:
+ case OSPFv3STUBROUTERADVERTISEMENT:
+ case OSPFv3DISCONTINUITYTIME:
+ case OSPFv3RESTARTTIME:
+ /* TODO: Not implemented */
return NULL;
}
return NULL;
@@ -299,9 +511,14 @@ ospfv3AreaEntry (struct variable *v, oid *name, size_t *length,
int exact, size_t *var_len, WriteMethod **write_method)
{
struct ospf6_area *oa, *area = NULL;
+ struct ospf6_lsa *lsa = NULL;
u_int32_t area_id = 0;
+ u_int32_t count;
+ u_int16_t sum;
struct listnode *node;
unsigned int len;
+ char a[16];
+ struct ospf6_route *ro;
if (ospf6 == NULL)
return NULL;
@@ -311,15 +528,15 @@ ospfv3AreaEntry (struct variable *v, oid *name, size_t *length,
return NULL;
len = *length - v->namelen;
- len = (len >= sizeof (u_int32_t) ? sizeof (u_int32_t) : 0);
- if (exact && len != sizeof (u_int32_t))
+ len = (len >= 1 ? sizeof 1 : 0);
+ if (exact && len != 1)
return NULL;
if (len)
- oid2in_addr (name + v->namelen, len, (struct in_addr *) &area_id);
+ area_id = htonl (name[v->namelen]);
+ inet_ntop (AF_INET, &area_id, a, sizeof (a));
zlog_debug ("SNMP access by area: %s, exact=%d len=%d length=%lu",
- inet_ntoa (* (struct in_addr *) &area_id),
- exact, len, (u_long)*length);
+ a, exact, len, (u_long)*length);
for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
{
@@ -337,53 +554,88 @@ ospfv3AreaEntry (struct variable *v, oid *name, size_t *length,
if (area == NULL)
return NULL;
- *length = v->namelen + sizeof (u_int32_t);
- oid_copy_addr (name + v->namelen, (struct in_addr *) &area->area_id,
- sizeof (u_int32_t));
+ *length = v->namelen + 1;
+ name[v->namelen] = ntohl (area->area_id);
+ inet_ntop (AF_INET, &area->area_id, a, sizeof (a));
zlog_debug ("SNMP found area: %s, exact=%d len=%d length=%lu",
- inet_ntoa (* (struct in_addr *) &area->area_id),
- exact, len, (u_long)*length);
+ a, exact, len, (u_long)*length);
switch (v->magic)
{
- case OSPFv3AREAID: /* 1*/
- return SNMP_IPADDRESS (INT32_INADDR (area->area_id));
- break;
- case OSPFv3IMPORTASEXTERN: /* 2*/
- return SNMP_INTEGER (ospf6->external_table->count);
- break;
- default:
+ case OSPFv3IMPORTASEXTERN:
+ /* No NSSA support */
+ return SNMP_INTEGER (IS_AREA_STUB(area)?2:1);
+ case OSPFv3AREASPFRUNS:
+ return SNMP_INTEGER (area->spf_calculation);
+ case OSPFv3AREABDRRTRCOUNT:
+ case OSPFv3AREAASBDRRTRCOUNT:
+ count = 0;
+ for (ro = ospf6_route_head (ospf6->brouter_table); ro;
+ ro = ospf6_route_next (ro))
+ {
+ if (ntohl (ro->path.area_id) != ntohl (area->area_id)) continue;
+ if (v->magic == OSPFv3AREABDRRTRCOUNT &&
+ CHECK_FLAG (ro->path.router_bits, OSPF6_ROUTER_BIT_B))
+ count++;
+ if (v->magic == OSPFv3AREAASBDRRTRCOUNT &&
+ CHECK_FLAG (ro->path.router_bits, OSPF6_ROUTER_BIT_E))
+ count++;
+ }
+ return SNMP_INTEGER (count);
+ case OSPFv3AREASCOPELSACOUNT:
+ return SNMP_INTEGER (area->lsdb->count);
+ case OSPFv3AREASCOPELSACKSUMSUM:
+ for (sum = 0, lsa = ospf6_lsdb_head (area->lsdb);
+ lsa;
+ lsa = ospf6_lsdb_next (lsa))
+ sum += ntohs (lsa->header->checksum);
+ return SNMP_INTEGER (sum);
+ case OSPFv3AREASUMMARY:
+ return SNMP_INTEGER (2); /* sendAreaSummary */
+ case OSPFv3AREAROWSTATUS:
+ return SNMP_INTEGER (1); /* Active */
+ case OSPFv3AREASTUBMETRIC:
+ case OSPFv3AREANSSATRANSLATORROLE:
+ case OSPFv3AREANSSATRANSLATORSTATE:
+ case OSPFv3AREANSSATRANSLATORSTABINTERVAL:
+ case OSPFv3AREANSSATRANSLATOREVENTS:
+ case OSPFv3AREASTUBMETRICTYPE:
+ case OSPFv3AREATEENABLED:
+ /* Not implemented. */
return NULL;
- break;
}
return NULL;
}
+static int
+if_icmp_func (struct interface *ifp1, struct interface *ifp2)
+{
+ return (ifp1->ifindex - ifp2->ifindex);
+}
+
static u_char *
-ospfv3AreaLsdbEntry (struct variable *v, oid *name, size_t *length,
+ospfv3WwLsdbEntry (struct variable *v, oid *name, size_t *length,
int exact, size_t *var_len, WriteMethod **write_method)
{
struct ospf6_lsa *lsa = NULL;
- struct in_addr area_id;
+ u_int32_t ifindex, area_id, id, instid, adv_router;
u_int16_t type;
- struct in_addr id;
- struct in_addr adv_router;
int len;
oid *offset;
int offsetlen;
char a[16], b[16], c[16];
struct ospf6_area *oa;
struct listnode *node;
+ struct interface *iif;
+ struct ospf6_interface *oi = NULL;
+ struct list *ifslist;
if (smux_header_table(v, name, length, exact, var_len, write_method)
== MATCH_FAILED)
return NULL;
- memset (&area_id, 0, sizeof (struct in_addr));
- type = 0;
- memset (&id, 0, sizeof (struct in_addr));
- memset (&adv_router, 0, sizeof (struct in_addr));
+ instid = ifindex = area_id = type = id = adv_router = 0;
/* Check OSPFv3 instance. */
if (ospf6 == NULL)
@@ -393,137 +645,528 @@ ospfv3AreaLsdbEntry (struct variable *v, oid *name, size_t *length,
offset = name + v->namelen;
offsetlen = *length - v->namelen;
-#define OSPFV3_AREA_LSDB_ENTRY_EXACT_OFFSET \
- (IN_ADDR_SIZE + 1 + IN_ADDR_SIZE + IN_ADDR_SIZE)
-
- if (exact && offsetlen != OSPFV3_AREA_LSDB_ENTRY_EXACT_OFFSET)
+ if (exact && (v->magic & OSPFv3WWASTABLE) && offsetlen != 3)
+ return NULL;
+ if (exact && (v->magic & OSPFv3WWAREATABLE) && offsetlen != 4)
+ return NULL;
+ if (exact && (v->magic & OSPFv3WWLINKTABLE) && offsetlen != 5)
return NULL;
- /* Parse area-id */
- len = (offsetlen < IN_ADDR_SIZE ? offsetlen : IN_ADDR_SIZE);
- if (len)
- oid2in_addr (offset, len, &area_id);
- offset += len;
- offsetlen -= len;
+ if (v->magic & OSPFv3WWLINKTABLE)
+ {
+ /* Parse ifindex */
+ len = (offsetlen < 1 ? 0 : 1);
+ if (len)
+ ifindex = *offset;
+ offset += len;
+ offsetlen -= len;
+
+ /* Parse instance ID */
+ len = (offsetlen < 1 ? 0 : 1);
+ if (len)
+ instid = *offset;
+ offset += len;
+ offsetlen -= len;
+ }
+ else if (v->magic & OSPFv3WWAREATABLE)
+ {
+ /* Parse area-id */
+ len = (offsetlen < 1 ? 0 : 1);
+ if (len)
+ area_id = htonl (*offset);
+ offset += len;
+ offsetlen -= len;
+ }
/* Parse type */
- len = (offsetlen < 1 ? offsetlen : 1);
+ len = (offsetlen < 1 ? 0 : 1);
if (len)
type = htons (*offset);
offset += len;
offsetlen -= len;
/* Parse Router-ID */
- len = (offsetlen < IN_ADDR_SIZE ? offsetlen : IN_ADDR_SIZE);
+ len = (offsetlen < 1 ? 0 : 1);
if (len)
- oid2in_addr (offset, len, &adv_router);
+ adv_router = htonl (*offset);
offset += len;
offsetlen -= len;
/* Parse LS-ID */
- len = (offsetlen < IN_ADDR_SIZE ? offsetlen : IN_ADDR_SIZE);
+ len = (offsetlen < 1 ? 0 : 1);
if (len)
- oid2in_addr (offset, len, &id);
+ id = htonl (*offset);
offset += len;
offsetlen -= len;
- inet_ntop (AF_INET, &area_id, a, sizeof (a));
- inet_ntop (AF_INET, &adv_router, b, sizeof (b));
- inet_ntop (AF_INET, &id, c, sizeof (c));
- zlog_debug ("SNMP access by lsdb: area=%s exact=%d length=%lu magic=%d"
- " type=%#x adv_router=%s id=%s",
- a, exact, (u_long)*length, v->magic, ntohs (type), b, c);
-
if (exact)
{
- oa = ospf6_area_lookup (area_id.s_addr, ospf6);
- lsa = ospf6_lsdb_lookup (type, id.s_addr, adv_router.s_addr, oa->lsdb);
+ if (v->magic & OSPFv3WWASTABLE)
+ {
+ lsa = ospf6_lsdb_lookup (type, id, adv_router, ospf6->lsdb);
+ }
+ else if (v->magic & OSPFv3WWAREATABLE)
+ {
+ oa = ospf6_area_lookup (area_id, ospf6);
+ if (!oa) return NULL;
+ lsa = ospf6_lsdb_lookup (type, id, adv_router, oa->lsdb);
+ }
+ else if (v->magic & OSPFv3WWLINKTABLE)
+ {
+ oi = ospf6_interface_lookup_by_ifindex (ifindex);
+ if (!oi || oi->instance_id != instid) return NULL;
+ lsa = ospf6_lsdb_lookup (type, id, adv_router, oi->lsdb);
+ }
}
else
{
- for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
+ if (v->magic & OSPFv3WWASTABLE)
+ {
+ if (ospf6->lsdb->count)
+ lsa = ospf6_lsdb_lookup_next (type, id, adv_router,
+ ospf6->lsdb);
+ }
+ else if (v->magic & OSPFv3WWAREATABLE)
+ for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
+ {
+ if (oa->area_id < area_id)
+ continue;
+
+ if (oa->lsdb->count)
+ lsa = ospf6_lsdb_lookup_next (type, id, adv_router,
+ oa->lsdb);
+ if (lsa) break;
+ type = 0;
+ id = 0;
+ adv_router = 0;
+ }
+ else if (v->magic & OSPFv3WWLINKTABLE)
{
- if (lsa)
- continue;
- if (ntohl (oa->area_id) < ntohl (area_id.s_addr))
- continue;
-
- lsa = ospf6_lsdb_lookup_next (type, id.s_addr, adv_router.s_addr,
- oa->lsdb);
- if (! lsa)
+ /* We build a sorted list of interfaces */
+ ifslist = list_new ();
+ if (!ifslist) return NULL;
+ ifslist->cmp = (int (*)(void *, void *))if_icmp_func;
+ for (ALL_LIST_ELEMENTS_RO (iflist, node, iif))
+ listnode_add_sort (ifslist, iif);
+
+ for (ALL_LIST_ELEMENTS_RO (ifslist, node, iif))
{
+ if (!iif->ifindex) continue;
+ oi = ospf6_interface_lookup_by_ifindex (iif->ifindex);
+ if (!oi) continue;
+ if (iif->ifindex < ifindex) continue;
+ if (oi->instance_id < instid) continue;
+
+ if (oi->lsdb->count)
+ lsa = ospf6_lsdb_lookup_next (type, id, adv_router,
+ oi->lsdb);
+ if (lsa) break;
type = 0;
- memset (&id, 0, sizeof (struct in_addr));
- memset (&adv_router, 0, sizeof (struct in_addr));
+ id = 0;
+ adv_router = 0;
+ oi = NULL;
}
+
+ list_delete_all_node (ifslist);
}
}
if (! lsa)
- {
- zlog_debug ("SNMP respond: No LSA to return");
return NULL;
- }
- oa = OSPF6_AREA (lsa->lsdb->data);
-
- zlog_debug ("SNMP respond: area: %s lsa: %s", oa->name, lsa->name);
- /* Add Index (AreaId, Type, RouterId, Lsid) */
- *length = v->namelen + OSPFV3_AREA_LSDB_ENTRY_EXACT_OFFSET;
- offset = name + v->namelen;
- oid_copy_addr (offset, (struct in_addr *) &oa->area_id, IN_ADDR_SIZE);
- offset += IN_ADDR_SIZE;
+ /* Add indexes */
+ if (v->magic & OSPFv3WWASTABLE)
+ {
+ *length = v->namelen + 3;
+ offset = name + v->namelen;
+ }
+ else if (v->magic & OSPFv3WWAREATABLE)
+ {
+ *length = v->namelen + 4;
+ offset = name + v->namelen;
+ *offset = ntohl (oa->area_id);
+ offset++;
+ }
+ else if (v->magic & OSPFv3WWLINKTABLE)
+ {
+ *length = v->namelen + 5;
+ offset = name + v->namelen;
+ *offset = oi->interface->ifindex;
+ offset++;
+ *offset = oi->instance_id;
+ offset++;
+ }
*offset = ntohs (lsa->header->type);
offset++;
- oid_copy_addr (offset, (struct in_addr *) &lsa->header->adv_router,
- IN_ADDR_SIZE);
- offset += IN_ADDR_SIZE;
- oid_copy_addr (offset, (struct in_addr *) &lsa->header->id, IN_ADDR_SIZE);
- offset += IN_ADDR_SIZE;
+ *offset = ntohl (lsa->header->adv_router);
+ offset++;
+ *offset = ntohl (lsa->header->id);
+ offset++;
/* Return the current value of the variable */
- switch (v->magic)
+ switch (v->magic & OSPFv3WWCOLUMN)
{
- case OSPFv3AREALSDBAREAID: /* 1 */
- area_id.s_addr = OSPF6_AREA (lsa->lsdb->data)->area_id;
- return SNMP_IPADDRESS (area_id);
- break;
- case OSPFv3AREALSDBTYPE: /* 2 */
- return SNMP_INTEGER (ntohs (lsa->header->type));
- break;
- case OSPFv3AREALSDBROUTERID: /* 3 */
- adv_router.s_addr = lsa->header->adv_router;
- return SNMP_IPADDRESS (adv_router);
- break;
- case OSPFv3AREALSDBLSID: /* 4 */
- id.s_addr = lsa->header->id;
- return SNMP_IPADDRESS (id);
+ case OSPFv3WWLSDBSEQUENCE:
+ return SNMP_INTEGER (ntohl (lsa->header->seqnum));
break;
- case OSPFv3AREALSDBSEQUENCE: /* 5 */
- return SNMP_INTEGER (lsa->header->seqnum);
- break;
- case OSPFv3AREALSDBAGE: /* 6 */
+ case OSPFv3WWLSDBAGE:
ospf6_lsa_age_current (lsa);
- return SNMP_INTEGER (lsa->header->age);
+ return SNMP_INTEGER (ntohs (lsa->header->age));
break;
- case OSPFv3AREALSDBCHECKSUM: /* 7 */
- return SNMP_INTEGER (lsa->header->checksum);
+ case OSPFv3WWLSDBCHECKSUM:
+ return SNMP_INTEGER (ntohs (lsa->header->checksum));
break;
- case OSPFv3AREALSDBADVERTISEMENT: /* 8 */
+ case OSPFv3WWLSDBADVERTISEMENT:
*var_len = ntohs (lsa->header->length);
return (u_char *) lsa->header;
break;
- case OSPFv3AREALSDBTYPEKNOWN: /* 9 */
+ case OSPFv3WWLSDBTYPEKNOWN:
return SNMP_INTEGER (OSPF6_LSA_IS_KNOWN (lsa->header->type) ?
SNMP_TRUE : SNMP_FALSE);
break;
- default:
- return NULL;
+ }
+ return NULL;
+}
+
+static u_char *
+ospfv3IfEntry (struct variable *v, oid *name, size_t *length,
+ int exact, size_t *var_len, WriteMethod **write_method)
+{
+ unsigned int ifindex, instid;
+ struct ospf6_interface *oi = NULL;
+ struct ospf6_lsa *lsa = NULL;
+ struct interface *iif;
+ struct listnode *i;
+ struct list *ifslist;
+ oid *offset;
+ int offsetlen, len;
+ u_int32_t sum;
+
+ if (smux_header_table (v, name, length, exact, var_len, write_method)
+ == MATCH_FAILED)
+ return NULL;
+
+ ifindex = instid = 0;
+
+ /* Check OSPFv3 instance. */
+ if (ospf6 == NULL)
+ return NULL;
+
+ /* Get variable length. */
+ offset = name + v->namelen;
+ offsetlen = *length - v->namelen;
+
+ if (exact && offsetlen != 2)
+ return NULL;
+
+ /* Parse if index */
+ len = (offsetlen < 1 ? 0 : 1);
+ if (len)
+ ifindex = *offset;
+ offset += len;
+ offsetlen -= len;
+
+ /* Parse instance ID */
+ len = (offsetlen < 1 ? 0 : 1);
+ if (len)
+ instid = *offset;
+ offset += len;
+ offsetlen -= len;
+
+ if (exact)
+ {
+ oi = ospf6_interface_lookup_by_ifindex (ifindex);
+ if (!oi || oi->instance_id != instid) return NULL;
+ }
+ else
+ {
+ /* We build a sorted list of interfaces */
+ ifslist = list_new ();
+ if (!ifslist) return NULL;
+ ifslist->cmp = (int (*)(void *, void *))if_icmp_func;
+ for (ALL_LIST_ELEMENTS_RO (iflist, i, iif))
+ listnode_add_sort (ifslist, iif);
+
+ for (ALL_LIST_ELEMENTS_RO (ifslist, i, iif))
+ {
+ if (!iif->ifindex) continue;
+ oi = ospf6_interface_lookup_by_ifindex (iif->ifindex);
+ if (!oi) continue;
+ if (iif->ifindex > ifindex ||
+ (iif->ifindex == ifindex &&
+ (oi->instance_id > instid)))
+ break;
+ oi = NULL;
+ }
+
+ list_delete_all_node (ifslist);
+ }
+
+ if (!oi) return NULL;
+
+ /* Add Index (IfIndex, IfInstId) */
+ *length = v->namelen + 2;
+ offset = name + v->namelen;
+ *offset = oi->interface->ifindex;
+ offset++;
+ *offset = oi->instance_id;
+ offset++;
+
+ /* Return the current value of the variable */
+ switch (v->magic)
+ {
+ case OSPFv3IFAREAID:
+ if (oi->area)
+ return SNMP_INTEGER (ntohl (oi->area->area_id));
+ break;
+ case OSPFv3IFTYPE:
+ if (if_is_broadcast (oi->interface))
+ return SNMP_INTEGER (1);
+ else if (if_is_pointopoint (oi->interface))
+ return SNMP_INTEGER (3);
+ else break; /* Unknown, don't put anything */
+ case OSPFv3IFADMINSTATUS:
+ if (oi->area)
+ return SNMP_INTEGER (OSPF_STATUS_ENABLED);
+ return SNMP_INTEGER (OSPF_STATUS_DISABLED);
+ case OSPFv3IFRTRPRIORITY:
+ return SNMP_INTEGER (oi->priority);
+ case OSPFv3IFTRANSITDELAY:
+ return SNMP_INTEGER (oi->transdelay);
+ case OSPFv3IFRETRANSINTERVAL:
+ return SNMP_INTEGER (oi->rxmt_interval);
+ case OSPFv3IFHELLOINTERVAL:
+ return SNMP_INTEGER (oi->hello_interval);
+ case OSPFv3IFRTRDEADINTERVAL:
+ return SNMP_INTEGER (oi->dead_interval);
+ case OSPFv3IFPOLLINTERVAL:
+ /* No support for NBMA */
break;
+ case OSPFv3IFSTATE:
+ return SNMP_INTEGER (oi->state);
+ case OSPFv3IFDESIGNATEDROUTER:
+ return SNMP_INTEGER (ntohl (oi->drouter));
+ case OSPFv3IFBACKUPDESIGNATEDROUTER:
+ return SNMP_INTEGER (ntohl (oi->bdrouter));
+ case OSPFv3IFEVENTS:
+ return SNMP_INTEGER (oi->state_change);
+ case OSPFv3IFROWSTATUS:
+ return SNMP_INTEGER (1);
+ case OSPFv3IFDEMAND:
+ return SNMP_INTEGER (SNMP_FALSE);
+ case OSPFv3IFMETRICVALUE:
+ return SNMP_INTEGER (oi->cost);
+ case OSPFv3IFLINKSCOPELSACOUNT:
+ return SNMP_INTEGER (oi->lsdb->count);
+ case OSPFv3IFLINKLSACKSUMSUM:
+ for (sum = 0, lsa = ospf6_lsdb_head (oi->lsdb);
+ lsa;
+ lsa = ospf6_lsdb_next (lsa))
+ sum += ntohs (lsa->header->checksum);
+ return SNMP_INTEGER (sum);
+ case OSPFv3IFDEMANDNBRPROBE:
+ case OSPFv3IFDEMANDNBRPROBERETRANSLIMIT:
+ case OSPFv3IFDEMANDNBRPROBEINTERVAL:
+ case OSPFv3IFTEDISABLED:
+ case OSPFv3IFLINKLSASUPPRESSION:
+ /* Not implemented. Only works if all the last ones are not
+ implemented! */
+ return NULL;
}
+
+ /* Try an internal getnext. Some columns are missing in this table. */
+ if (!exact && (name[*length-1] < MAX_SUBID))
+ return ospfv3IfEntry(v, name, length,
+ exact, var_len, write_method);
return NULL;
}
+static u_char *
+ospfv3NbrEntry (struct variable *v, oid *name, size_t *length,
+ int exact, size_t *var_len, WriteMethod **write_method)
+{
+ unsigned int ifindex, instid, rtrid;
+ struct ospf6_interface *oi = NULL;
+ struct ospf6_neighbor *on = NULL;
+ struct interface *iif;
+ struct listnode *i, *j;
+ struct list *ifslist;
+ oid *offset;
+ int offsetlen, len;
+
+ if (smux_header_table (v, name, length, exact, var_len, write_method)
+ == MATCH_FAILED)
+ return NULL;
+
+ ifindex = instid = rtrid = 0;
+
+ /* Check OSPFv3 instance. */
+ if (ospf6 == NULL)
+ return NULL;
+
+ /* Get variable length. */
+ offset = name + v->namelen;
+ offsetlen = *length - v->namelen;
+
+ if (exact && offsetlen != 3)
+ return NULL;
+
+ /* Parse if index */
+ len = (offsetlen < 1 ? 0 : 1);
+ if (len)
+ ifindex = *offset;
+ offset += len;
+ offsetlen -= len;
+
+ /* Parse instance ID */
+ len = (offsetlen < 1 ? 0 : 1);
+ if (len)
+ instid = *offset;
+ offset += len;
+ offsetlen -= len;
+
+ /* Parse router ID */
+ len = (offsetlen < 1 ? 0 : 1);
+ if (len)
+ rtrid = htonl (*offset);
+ offset += len;
+ offsetlen -= len;
+
+ if (exact)
+ {
+ oi = ospf6_interface_lookup_by_ifindex (ifindex);
+ if (!oi || oi->instance_id != instid) return NULL;
+ on = ospf6_neighbor_lookup (rtrid, oi);
+ }
+ else
+ {
+ /* We build a sorted list of interfaces */
+ ifslist = list_new ();
+ if (!ifslist) return NULL;
+ ifslist->cmp = (int (*)(void *, void *))if_icmp_func;
+ for (ALL_LIST_ELEMENTS_RO (iflist, i, iif))
+ listnode_add_sort (ifslist, iif);
+
+ for (ALL_LIST_ELEMENTS_RO (ifslist, i, iif))
+ {
+ if (!iif->ifindex) continue;
+ oi = ospf6_interface_lookup_by_ifindex (iif->ifindex);
+ if (!oi) continue;
+ for (ALL_LIST_ELEMENTS_RO (oi->neighbor_list, j, on)) {
+ if (iif->ifindex > ifindex ||
+ (iif->ifindex == ifindex &&
+ (oi->instance_id > instid ||
+ (oi->instance_id == instid &&
+ ntohl (on->router_id) > ntohl (rtrid)))))
+ break;
+ }
+ if (on) break;
+ oi = NULL;
+ on = NULL;
+ }
+
+ list_delete_all_node (ifslist);
+ }
+
+ if (!oi || !on) return NULL;
+
+ /* Add Index (IfIndex, IfInstId, RtrId) */
+ *length = v->namelen + 3;
+ offset = name + v->namelen;
+ *offset = oi->interface->ifindex;
+ offset++;
+ *offset = oi->instance_id;
+ offset++;
+ *offset = ntohl (on->router_id);
+ offset++;
+
+ /* Return the current value of the variable */
+ switch (v->magic)
+ {
+ case OSPFv3NBRADDRESSTYPE:
+ return SNMP_INTEGER (2); /* IPv6 only */
+ case OSPFv3NBRADDRESS:
+ *var_len = sizeof (struct in6_addr);
+ return (u_char *) &on->linklocal_addr;
+ case OSPFv3NBROPTIONS:
+ return SNMP_INTEGER (on->options[2]);
+ case OSPFv3NBRPRIORITY:
+ return SNMP_INTEGER (on->priority);
+ case OSPFv3NBRSTATE:
+ return SNMP_INTEGER (on->state);
+ case OSPFv3NBREVENTS:
+ return SNMP_INTEGER (on->state_change);
+ case OSPFv3NBRLSRETRANSQLEN:
+ return SNMP_INTEGER (on->retrans_list->count);
+ case OSPFv3NBRHELLOSUPPRESSED:
+ return SNMP_INTEGER (SNMP_FALSE);
+ case OSPFv3NBRIFID:
+ return SNMP_INTEGER (on->ifindex);
+ case OSPFv3NBRRESTARTHELPERSTATUS:
+ case OSPFv3NBRRESTARTHELPERAGE:
+ case OSPFv3NBRRESTARTHELPEREXITREASON:
+ /* Not implemented. Only works if all the last ones are not
+ implemented! */
+ return NULL;
+ }
+
+ return NULL;
+}
+
+/* OSPF Traps. */
+#define NBRSTATECHANGE 2
+#define IFSTATECHANGE 10
+
+static struct trap_object ospf6NbrTrapList[] =
+{
+ {-3, {1, 1, OSPFv3ROUTERID}},
+ {4, {1, 9, 1, OSPFv3NBRADDRESSTYPE}},
+ {4, {1, 9, 1, OSPFv3NBRADDRESS}},
+ {4, {1, 9, 1, OSPFv3NBRSTATE}}
+};
+
+static struct trap_object ospf6IfTrapList[] =
+{
+ {-3, {1, 1, OSPFv3ROUTERID}},
+ {4, {1, 7, 1, OSPFv3IFSTATE}},
+ {4, {1, 7, 1, OSPFv3IFADMINSTATUS}},
+ {4, {1, 7, 1, OSPFv3IFAREAID}}
+};
+
+void
+ospf6TrapNbrStateChange (struct ospf6_neighbor *on)
+{
+ oid index[3];
+
+ index[0] = on->ospf6_if->interface->ifindex;
+ index[1] = on->ospf6_if->instance_id;
+ index[2] = ntohl (on->router_id);
+
+ smux_trap (ospfv3_variables, sizeof ospfv3_variables / sizeof (struct variable),
+ ospfv3_trap_oid, sizeof ospfv3_trap_oid / sizeof (oid),
+ ospfv3_oid, sizeof ospfv3_oid / sizeof (oid),
+ index, 3,
+ ospf6NbrTrapList,
+ sizeof ospf6NbrTrapList / sizeof (struct trap_object),
+ NBRSTATECHANGE);
+}
+
+void
+ospf6TrapIfStateChange (struct ospf6_interface *oi)
+{
+ oid index[2];
+
+ index[0] = oi->interface->ifindex;
+ index[1] = oi->instance_id;
+
+ smux_trap (ospfv3_variables, sizeof ospfv3_variables / sizeof (struct variable),
+ ospfv3_trap_oid, sizeof ospfv3_trap_oid / sizeof (oid),
+ ospfv3_oid, sizeof ospfv3_oid / sizeof (oid),
+ index, 2,
+ ospf6IfTrapList,
+ sizeof ospf6IfTrapList / sizeof (struct trap_object),
+ IFSTATECHANGE);
+}
/* Register OSPFv3-MIB. */
void
diff --git a/ospf6d/ospf6_snmp.h b/ospf6d/ospf6_snmp.h
index 5c67893c..fa1b0c37 100644
--- a/ospf6d/ospf6_snmp.h
+++ b/ospf6d/ospf6_snmp.h
@@ -22,6 +22,8 @@
#ifndef OSPF6_SNMP_H
#define OSPF6_SNMP_H
+extern void ospf6TrapNbrStateChange (struct ospf6_neighbor *);
+extern void ospf6TrapIfStateChange (struct ospf6_interface *);
extern void ospf6_snmp_init (struct thread_master *);
#endif /*OSPF6_SNMP_H*/
diff --git a/ospf6d/ospf6_spf.c b/ospf6d/ospf6_spf.c
index a4a5b721..da0ee131 100644
--- a/ospf6d/ospf6_spf.c
+++ b/ospf6d/ospf6_spf.c
@@ -473,6 +473,8 @@ ospf6_spf_calculation (u_int32_t router_id,
}
pqueue_delete (candidate_list);
+
+ oa->spf_calculation++;
}
static void