ospfVirtIfRetransInterval OBJECT-TYPE SYNTAX UpToMaxAge 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 } ::= { ospfVirtIfEntry 4 } ospfVirtIfHelloInterval OBJECT-TYPE SYNTAX HelloRange 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 } ::= { ospfVirtIfEntry 5 } ospfVirtIfRtrDeadInterval OBJECT-TYPE SYNTAX PositiveInteger 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 } ::= { ospfVirtIfEntry 6 } ospfVirtIfState OBJECT-TYPE SYNTAX INTEGER { down (1), -- these use the same encoding pointToPoint (4) -- as the ospfIfTable
} MAX-ACCESS read-only STATUS current DESCRIPTION "OSPF virtual interface states." DEFVAL { down } ::= { ospfVirtIfEntry 7 } ospfVirtIfEvents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of state changes or error events on this Virtual Link" ::= { ospfVirtIfEntry 8 } ospfVirtIfAuthKey OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..256)) MAX-ACCESS read-create STATUS current DESCRIPTION "If Authentication Type is simplePassword, the device will left adjust and zero fill to 8 oc- tets. Note that unauthenticated interfaces need no authentication key, and simple password authen- tication cannot use a key of more than 8 oc- tets. Larger keys are useful only with authen- tication mechanisms not specified in this docu- ment. When read, ospfVifAuthKey always returns a string of length zero." REFERENCE "OSPF Version 2, Section 9 The Interface Data Structure" DEFVAL { '0000000000000000'H } -- 0.0.0.0.0.0.0.0 ::= { ospfVirtIfEntry 9 } ospfVirtIfStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current
DESCRIPTION "This variable displays the status of the en- try. Setting it to 'invalid' has the effect of rendering it inoperative. The internal effect (row removal) is implementation dependent." ::= { ospfVirtIfEntry 10 } ospfVirtIfAuthType OBJECT-TYPE SYNTAX INTEGER (0..255) -- none (0), -- simplePassword (1) -- md5 (2) -- reserved for specification by IANA (> 2) MAX-ACCESS read-create STATUS current DESCRIPTION "The authentication type specified for a virtu- al interface. Additional authentication types may be assigned locally." REFERENCE "OSPF Version 2, Appendix E Authentication" DEFVAL { 0 } -- no authentication, by default ::= { ospfVirtIfEntry 11 } -- OSPF Neighbor Table -- The OSPF Neighbor Table describes all neighbors in -- the locality of the subject router. ospfNbrTable OBJECT-TYPE SYNTAX SEQUENCE OF OspfNbrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of non-virtual neighbor information." REFERENCE "OSPF Version 2, Section 10 The Neighbor Data Structure" ::= { ospf 10 } ospfNbrEntry OBJECT-TYPE SYNTAX OspfNbrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION
"The information regarding a single neighbor." REFERENCE "OSPF Version 2, Section 10 The Neighbor Data Structure" INDEX { ospfNbrIpAddr, ospfNbrAddressLessIndex } ::= { ospfNbrTable 1 } OspfNbrEntry ::= SEQUENCE { ospfNbrIpAddr IpAddress, ospfNbrAddressLessIndex InterfaceIndex, ospfNbrRtrId RouterID, ospfNbrOptions Integer32, ospfNbrPriority DesignatedRouterPriority, ospfNbrState INTEGER, ospfNbrEvents Counter32, ospfNbrLsRetransQLen Gauge32, ospfNbmaNbrStatus RowStatus, ospfNbmaNbrPermanence INTEGER, ospfNbrHelloSuppressed TruthValue } ospfNbrIpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address this neighbor is using in its IP Source Address. Note that, on addressless links, this will not be 0.0.0.0, but the ad- dress of another of the neighbor's interfaces." ::= { ospfNbrEntry 1 } ospfNbrAddressLessIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only
STATUS current DESCRIPTION "On an interface having an IP Address, zero. On addressless interfaces, the corresponding value of ifIndex in the Internet Standard MIB. On row creation, this can be derived from the instance." ::= { ospfNbrEntry 2 } ospfNbrRtrId 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." DEFVAL { '00000000'H } -- 0.0.0.0 ::= { ospfNbrEntry 3 } ospfNbrOptions OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "A Bit Mask corresponding to the neighbor's op- tions field. Bit 0, if set, indicates that the system will operate on Type of Service metrics other than TOS 0. If zero, the neighbor will ignore all metrics except the TOS 0 metric. Bit 1, if set, indicates that the associated area accepts and operates on external informa- tion; if zero, it is a stub area. Bit 2, if set, indicates that the system is ca- pable of routing IP Multicast datagrams; i.e., that it implements the Multicast Extensions to OSPF. Bit 3, if set, indicates that the associated area is an NSSA. These areas are capable of carrying type 7 external advertisements, which are translated into type 5 external advertise-
ments at NSSA borders." REFERENCE "OSPF Version 2, Section 12.1.2 Options" DEFVAL { 0 } ::= { ospfNbrEntry 4 } ospfNbrPriority 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 } ::= { ospfNbrEntry 5 } ospfNbrState 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" DEFVAL { down } ::= { ospfNbrEntry 6 } ospfNbrEvents 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." ::= { ospfNbrEntry 7 } ospfNbrLsRetransQLen OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current length of the retransmission queue." ::= { ospfNbrEntry 8 } ospfNbmaNbrStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable displays the status of the en- try. Setting it to 'invalid' has the effect of rendering it inoperative. The internal effect (row removal) is implementation dependent." ::= { ospfNbrEntry 9 } ospfNbmaNbrPermanence OBJECT-TYPE SYNTAX INTEGER { dynamic (1), -- learned through protocol permanent (2) -- configured address } MAX-ACCESS read-only STATUS current DESCRIPTION "This variable displays the status of the en- try. 'dynamic' and 'permanent' refer to how the neighbor became known." DEFVAL { permanent } ::= { ospfNbrEntry 10 } ospfNbrHelloSuppressed OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates whether Hellos are being suppressed
to the neighbor" ::= { ospfNbrEntry 11 } -- OSPF Virtual Neighbor Table -- This table describes all virtual neighbors. -- Since Virtual Links are configured in the -- virtual interface table, this table is read-only. ospfVirtNbrTable OBJECT-TYPE SYNTAX SEQUENCE OF OspfVirtNbrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of virtual neighbor information." REFERENCE "OSPF Version 2, Section 15 Virtual Links" ::= { ospf 11 } ospfVirtNbrEntry OBJECT-TYPE SYNTAX OspfVirtNbrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Virtual neighbor information." INDEX { ospfVirtNbrArea, ospfVirtNbrRtrId } ::= { ospfVirtNbrTable 1 } OspfVirtNbrEntry ::= SEQUENCE { ospfVirtNbrArea AreaID, ospfVirtNbrRtrId RouterID, ospfVirtNbrIpAddr IpAddress, ospfVirtNbrOptions Integer32, ospfVirtNbrState INTEGER, ospfVirtNbrEvents Counter32, ospfVirtNbrLsRetransQLen Gauge32, ospfVirtNbrHelloSuppressed TruthValue
} ospfVirtNbrArea OBJECT-TYPE SYNTAX AreaID MAX-ACCESS read-only STATUS current DESCRIPTION "The Transit Area Identifier." ::= { ospfVirtNbrEntry 1 } ospfVirtNbrRtrId OBJECT-TYPE SYNTAX RouterID MAX-ACCESS read-only STATUS current DESCRIPTION "A 32-bit integer uniquely identifying the neighboring router in the Autonomous System." ::= { ospfVirtNbrEntry 2 } ospfVirtNbrIpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address this Virtual Neighbor is us- ing." ::= { ospfVirtNbrEntry 3 } ospfVirtNbrOptions OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "A Bit Mask corresponding to the neighbor's op- tions field. Bit 1, if set, indicates that the system will operate on Type of Service metrics other than TOS 0. If zero, the neighbor will ignore all metrics except the TOS 0 metric. Bit 2, if set, indicates that the system is Network Multicast capable; ie, that it imple- ments OSPF Multicast Routing." ::= { ospfVirtNbrEntry 4 }
ospfVirtNbrState 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." ::= { ospfVirtNbrEntry 5 } ospfVirtNbrEvents 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." ::= { ospfVirtNbrEntry 6 } ospfVirtNbrLsRetransQLen OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current length of the retransmission queue." ::= { ospfVirtNbrEntry 7 } ospfVirtNbrHelloSuppressed OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates whether Hellos are being suppressed to the neighbor" ::= { ospfVirtNbrEntry 8 }
-- OSPF Link State Database, External -- The Link State Database contains the Link State -- Advertisements from throughout the areas that the -- device is attached to. -- This table is identical to the OSPF LSDB Table in -- format, but contains only External Link State -- Advertisements. The purpose is to allow external -- LSAs to be displayed once for the router rather -- than once in each non-stub area. ospfExtLsdbTable OBJECT-TYPE SYNTAX SEQUENCE OF OspfExtLsdbEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The OSPF Process's Links State Database." REFERENCE "OSPF Version 2, Section 12 Link State Adver- tisements" ::= { ospf 12 } ospfExtLsdbEntry OBJECT-TYPE SYNTAX OspfExtLsdbEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A single Link State Advertisement." INDEX { ospfExtLsdbType, ospfExtLsdbLsid, ospfExtLsdbRouterId } ::= { ospfExtLsdbTable 1 } OspfExtLsdbEntry ::= SEQUENCE { ospfExtLsdbType INTEGER, ospfExtLsdbLsid IpAddress, ospfExtLsdbRouterId RouterID, ospfExtLsdbSequence Integer32, ospfExtLsdbAge Integer32, ospfExtLsdbChecksum Integer32, ospfExtLsdbAdvertisement
OCTET STRING } ospfExtLsdbType OBJECT-TYPE SYNTAX INTEGER { asExternalLink (5) } MAX-ACCESS read-only STATUS current DESCRIPTION "The type of the link state advertisement. Each link state type has a separate advertise- ment format." REFERENCE "OSPF Version 2, Appendix A.4.1 The Link State Advertisement header" ::= { ospfExtLsdbEntry 1 } ospfExtLsdbLsid OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The Link State ID is an LS Type Specific field containing either a Router ID or an IP Address; it identifies the piece of the routing domain that is being described by the advertisement." REFERENCE "OSPF Version 2, Section 12.1.4 Link State ID" ::= { ospfExtLsdbEntry 2 } ospfExtLsdbRouterId 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" ::= { ospfExtLsdbEntry 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.
ospfExtLsdbSequence 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" ::= { ospfExtLsdbEntry 4 } ospfExtLsdbAge OBJECT-TYPE SYNTAX Integer32 -- Should be 0..MaxAge 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" ::= { ospfExtLsdbEntry 5 } ospfExtLsdbChecksum 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" ::= { ospfExtLsdbEntry 6 } ospfExtLsdbAdvertisement OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(36)) MAX-ACCESS read-only STATUS current DESCRIPTION "The entire Link State Advertisement, including its header." REFERENCE "OSPF Version 2, Section 12 Link State Adver- tisements" ::= { ospfExtLsdbEntry 7 } -- OSPF Use of the CIDR Route Table ospfRouteGroup OBJECT IDENTIFIER ::= { ospf 13 } -- The IP Forwarding Table defines a number of objects for use by -- the routing protocol to externalize its information. Most of -- the variables (ipForwardDest, ipForwardMask, ipForwardPolicy, -- ipForwardNextHop, ipForwardIfIndex, ipForwardType, -- ipForwardProto, ipForwardAge, and ipForwardNextHopAS) are -- defined there. -- Those that leave some discretion are defined here. -- ipCidrRouteProto is, of course, ospf (13). -- ipCidrRouteAge is the time since the route was first calculated, -- as opposed to the time since the last SPF run. -- ipCidrRouteInfo is an OBJECT IDENTIFIER for use by the routing -- protocol. The following values shall be found there depending -- on the way the route was calculated. ospfIntraArea OBJECT IDENTIFIER ::= { ospfRouteGroup 1 } ospfInterArea OBJECT IDENTIFIER ::= { ospfRouteGroup 2 } ospfExternalType1 OBJECT IDENTIFIER ::= { ospfRouteGroup 3 } ospfExternalType2 OBJECT IDENTIFIER ::= { ospfRouteGroup 4 } -- ipCidrRouteMetric1 is, by definition, the primary routing -- metric. Therefore, it should be the metric that route -- selection is based on. For intra-area and inter-area routes, -- it is an OSPF metric. For External Type 1 (comparable value) -- routes, it is an OSPF metric plus the External Metric. For -- external Type 2 (non-comparable value) routes, it is the -- external metric. -- ipCidrRouteMetric2 is, by definition, a secondary routing
-- metric. Therefore, it should be the metric that breaks a tie -- among routes having equal metric1 values and the same -- calculation rule. For intra-area, inter-area routes, and -- External Type 1 (comparable value) routes, it is unused. For -- external Type 2 (non-comparable value) routes, it is the metric -- to the AS border router. -- ipCidrRouteMetric3, ipCidrRouteMetric4, and ipCidrRouteMetric5 are -- unused. -- -- The OSPF Area Aggregate Table -- -- This table replaces the OSPF Area Summary Table, being an -- extension of that for CIDR routers. ospfAreaAggregateTable OBJECT-TYPE SYNTAX SEQUENCE OF OspfAreaAggregateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A range of IP addresses specified by an IP address/IP network mask pair. For example, class B address range of X.X.X.X with a network mask of 255.255.0.0 includes all IP addresses from X.X.0.0 to X.X.255.255. Note that if ranges are configured such that one range sub- sumes another range (e.g., 10.0.0.0 mask 255.0.0.0 and 10.1.0.0 mask 255.255.0.0), the most specific match is the preferred one." REFERENCE "OSPF Version 2, Appendix C.2 Area parameters" ::= { ospf 14 } ospfAreaAggregateEntry OBJECT-TYPE SYNTAX OspfAreaAggregateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A range of IP addresses specified by an IP address/IP network mask pair. For example, class B address range of X.X.X.X with a network mask of 255.255.0.0 includes all IP addresses from X.X.0.0 to X.X.255.255. Note that if ranges are range configured such that one range subsumes another range (e.g., 10.0.0.0 mask 255.0.0.0 and 10.1.0.0 mask 255.255.0.0), the
most specific match is the preferred one." REFERENCE "OSPF Version 2, Appendix C.2 Area parameters" INDEX { ospfAreaAggregateAreaID, ospfAreaAggregateLsdbType, ospfAreaAggregateNet, ospfAreaAggregateMask } ::= { ospfAreaAggregateTable 1 } OspfAreaAggregateEntry ::= SEQUENCE { ospfAreaAggregateAreaID AreaID, ospfAreaAggregateLsdbType INTEGER, ospfAreaAggregateNet IpAddress, ospfAreaAggregateMask IpAddress, ospfAreaAggregateStatus RowStatus, ospfAreaAggregateEffect INTEGER } ospfAreaAggregateAreaID 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" ::= { ospfAreaAggregateEntry 1 } ospfAreaAggregateLsdbType OBJECT-TYPE SYNTAX INTEGER { summaryLink (3), nssaExternalLink (7) } MAX-ACCESS read-only STATUS current DESCRIPTION "The type of the Address Aggregate. This field specifies the Lsdb type that this Address Ag- gregate applies to." REFERENCE
"OSPF Version 2, Appendix A.4.1 The Link State Advertisement header" ::= { ospfAreaAggregateEntry 2 } ospfAreaAggregateNet OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP Address of the Net or Subnet indicated by the range." REFERENCE "OSPF Version 2, Appendix C.2 Area parameters" ::= { ospfAreaAggregateEntry 3 } ospfAreaAggregateMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The Subnet Mask that pertains to the Net or Subnet." REFERENCE "OSPF Version 2, Appendix C.2 Area parameters" ::= { ospfAreaAggregateEntry 4 } ospfAreaAggregateStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable displays the status of the en- try. Setting it to 'invalid' has the effect of rendering it inoperative. The internal effect (row removal) is implementation dependent." ::= { ospfAreaAggregateEntry 5 } ospfAreaAggregateEffect OBJECT-TYPE SYNTAX INTEGER { advertiseMatching (1), doNotAdvertiseMatching (2) } MAX-ACCESS read-create STATUS current
DESCRIPTION "Subnets subsumed by ranges either trigger the advertisement of the indicated aggregate (ad- vertiseMatching), or result in the subnet's not being advertised at all outside the area." DEFVAL { advertiseMatching } ::= { ospfAreaAggregateEntry 6 } -- conformance information ospfConformance OBJECT IDENTIFIER ::= { ospf 15 } ospfGroups OBJECT IDENTIFIER ::= { ospfConformance 1 } ospfCompliances OBJECT IDENTIFIER ::= { ospfConformance 2 } -- compliance statements ospfCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement " MODULE -- this module MANDATORY-GROUPS { ospfBasicGroup, ospfAreaGroup, ospfStubAreaGroup, ospfIfGroup, ospfIfMetricGroup, ospfVirtIfGroup, ospfNbrGroup, ospfVirtNbrGroup, ospfAreaAggregateGroup } ::= { ospfCompliances 1 } -- units of conformance ospfBasicGroup OBJECT-GROUP OBJECTS { ospfRouterId, ospfAdminStat, ospfVersionNumber, ospfAreaBdrRtrStatus, ospfASBdrRtrStatus, ospfExternLsaCount, ospfExternLsaCksumSum,
ospfTOSSupport, ospfOriginateNewLsas, ospfRxNewLsas, ospfExtLsdbLimit, ospfMulticastExtensions, ospfExitOverflowInterval, ospfDemandExtensions } STATUS current DESCRIPTION "These objects are required for OSPF systems." ::= { ospfGroups 1 } ospfAreaGroup OBJECT-GROUP OBJECTS { ospfAreaId, ospfImportAsExtern, ospfSpfRuns, ospfAreaBdrRtrCount, ospfAsBdrRtrCount, ospfAreaLsaCount, ospfAreaLsaCksumSum, ospfAreaSummary, ospfAreaStatus } STATUS current DESCRIPTION "These objects are required for OSPF systems supporting areas." ::= { ospfGroups 2 } ospfStubAreaGroup OBJECT-GROUP OBJECTS { ospfStubAreaId, ospfStubTOS, ospfStubMetric, ospfStubStatus, ospfStubMetricType } STATUS current DESCRIPTION "These objects are required for OSPF systems supporting stub areas." ::= { ospfGroups 3 }
ospfLsdbGroup OBJECT-GROUP OBJECTS { ospfLsdbAreaId, ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId, ospfLsdbSequence, ospfLsdbAge, ospfLsdbChecksum, ospfLsdbAdvertisement } STATUS current DESCRIPTION "These objects are required for OSPF systems that display their link state database." ::= { ospfGroups 4 } ospfAreaRangeGroup OBJECT-GROUP OBJECTS { ospfAreaRangeAreaId, ospfAreaRangeNet, ospfAreaRangeMask, ospfAreaRangeStatus, ospfAreaRangeEffect } STATUS obsolete DESCRIPTION "These objects are required for non-CIDR OSPF systems that support multiple areas." ::= { ospfGroups 5 } ospfHostGroup OBJECT-GROUP OBJECTS { ospfHostIpAddress, ospfHostTOS, ospfHostMetric, ospfHostStatus, ospfHostAreaID } STATUS current DESCRIPTION "These objects are required for OSPF systems that support attached hosts." ::= { ospfGroups 6 }
ospfIfGroup OBJECT-GROUP OBJECTS { ospfIfIpAddress, ospfAddressLessIf, ospfIfAreaId, ospfIfType, ospfIfAdminStat, ospfIfRtrPriority, ospfIfTransitDelay, ospfIfRetransInterval, ospfIfHelloInterval, ospfIfRtrDeadInterval, ospfIfPollInterval, ospfIfState, ospfIfDesignatedRouter, ospfIfBackupDesignatedRouter, ospfIfEvents, ospfIfAuthType, ospfIfAuthKey, ospfIfStatus, ospfIfMulticastForwarding, ospfIfDemand } STATUS current DESCRIPTION "These objects are required for OSPF systems." ::= { ospfGroups 7 } ospfIfMetricGroup OBJECT-GROUP OBJECTS { ospfIfMetricIpAddress, ospfIfMetricAddressLessIf, ospfIfMetricTOS, ospfIfMetricValue, ospfIfMetricStatus } STATUS current DESCRIPTION "These objects are required for OSPF systems." ::= { ospfGroups 8 } ospfVirtIfGroup OBJECT-GROUP OBJECTS { ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfVirtIfTransitDelay,
ospfVirtIfRetransInterval, ospfVirtIfHelloInterval, ospfVirtIfRtrDeadInterval, ospfVirtIfState, ospfVirtIfEvents, ospfVirtIfAuthType, ospfVirtIfAuthKey, ospfVirtIfStatus } STATUS current DESCRIPTION "These objects are required for OSPF systems." ::= { ospfGroups 9 } ospfNbrGroup OBJECT-GROUP OBJECTS { ospfNbrIpAddr, ospfNbrAddressLessIndex, ospfNbrRtrId, ospfNbrOptions, ospfNbrPriority, ospfNbrState, ospfNbrEvents, ospfNbrLsRetransQLen, ospfNbmaNbrStatus, ospfNbmaNbrPermanence, ospfNbrHelloSuppressed } STATUS current DESCRIPTION "These objects are required for OSPF systems." ::= { ospfGroups 10 } ospfVirtNbrGroup OBJECT-GROUP OBJECTS { ospfVirtNbrArea, ospfVirtNbrRtrId, ospfVirtNbrIpAddr, ospfVirtNbrOptions, ospfVirtNbrState, ospfVirtNbrEvents, ospfVirtNbrLsRetransQLen, ospfVirtNbrHelloSuppressed } STATUS current DESCRIPTION
"These objects are required for OSPF systems." ::= { ospfGroups 11 } ospfExtLsdbGroup OBJECT-GROUP OBJECTS { ospfExtLsdbType, ospfExtLsdbLsid, ospfExtLsdbRouterId, ospfExtLsdbSequence, ospfExtLsdbAge, ospfExtLsdbChecksum, ospfExtLsdbAdvertisement } STATUS current DESCRIPTION "These objects are required for OSPF systems that display their link state database." ::= { ospfGroups 12 } ospfAreaAggregateGroup OBJECT-GROUP OBJECTS { ospfAreaAggregateAreaID, ospfAreaAggregateLsdbType, ospfAreaAggregateNet, ospfAreaAggregateMask, ospfAreaAggregateStatus, ospfAreaAggregateEffect } STATUS current DESCRIPTION "These objects are required for OSPF systems." ::= { ospfGroups 13 } END 4. OSPF Traps OSPF is an event driven routing protocol, where an event can be a change in an OSPF interface's link-level status, the expiration of an OSPF timer or the reception of an OSPF protocol packet. Many of the actions that OSPF takes as a result of these events will result in a change of the routing topology. As routing topologies become large and complex it is often difficult to locate the source of a topology change or unpredicted routing path by polling a large number or routers. Another approach is to notify a network manager of potentially critical OSPF events with SNMP traps.
This section defines a set of traps, objects and mechanisms to enhance the ability to manage IP internetworks which use OSPF as its IGP. It is an optional but useful extension to the OSPF MIB. 4.1. Format Of Trap Definitions Section 7 contains contains the trap definitions. 4.2. Approach The mechanism for sending traps is straight-forward. When an exception event occurs, the application notifies the local agent who sends a trap to the appropriate SNMP management stations. The message includes the trap type and may include a list of trap specific variables. A new object is defined in section 3.2 that will allow a network manager to enable or disable particular OSPF traps. Section 5 gives the trap definitions which includes the variable lists. The router ID of the originator of the trap is included in the variable list so that the network manager may easily determine the source of the trap. To limit the frequency of OSPF traps, the following additional mechanisms are suggested. 4.3. Ignoring Initial Activity The majority of critical events occur when OSPF is enabled on a router, at which time the designated router is elected and neighbor adjacencies are formed. During this initial period a potential flood of traps is unnecessary since the events are expected. To avoid unnecessary traps, a router should not originate expected OSPF interface related traps until two of that interface's dead timer intervals have elapsed. The expected OSPF interface traps are ospfIfStateChange, ospfVirtIfStateChange, ospfNbrStateChange, ospfVirtNbrStateChange, ospfTxRetranmit and ospfVirtIfTxRetransmit. Additionally, ospfMaxAgeLsa and ospfOriginateLsa traps should not be originated until two dead timer intervals have elapsed where the dead timer interval used should be the dead timer with the smallest value. 4.4. Throttling Traps The mechanism for throttling the traps is similar to the mechanism explained in RFC 1224 [11], section 5. The basic idea is that there is a sliding window in seconds and an upper bound on the number of traps that may be generated within this window. Unlike RFC 1224, traps are not sent to inform the network manager that the throttling mechanism has kicked in.
A single window should be used to throttle all OSPF traps types except for the ospfLsdbOverflow and the ospfLsdbApproachingOverflow trap which should not be throttled. For example, if the window time is 3, the upper bound is 3 and the events that would cause trap types 1,3,5 and 7 occur within a 3 second period, the type 7 trap should not be generated. Appropriate values are 7 traps with a window time of 10 seconds. 4.5. One Trap Per OSPF Event Several of the traps defined in section 5 are generated as the result of finding an unusual condition while parsing an OSPF packet or a processing a timer event. There may be more than one unusual condition detected while handling the event. For example, a link- state update packet may contain several retransmitted link-state advertisements (LSAs), or a retransmitted database description packet may contain several database description entries. To limit the number of traps and variables, OSPF should generate at most one trap per OSPF event. Only the variables associated with the first unusual condition should be included with the trap. Similarly, if more than one type of unusual condition is encountered while parsing the packet, only the first event will generate a trap. 4.6. Polling Event Counters Many of the tables in the OSPF MIB contain generalized event counters. By enabling the traps defined in this document a network manager can obtain more specific information about these events. A network manager may want to poll these event counters and enable specific OSPF traps when a particular counter starts increasing abnormally. The following table shows the relationship between the event counters defined in the OSPF MIB and the trap types defined in section 5. Counter32 Trap Type ----------------------- ------------------------ ospfOriginateNewLsas ospfOriginateLsa ospfIfEvents ospfIfStateChange ospfConfigError ospfIfAuthFailure ospfRxBadPacket ospfTxRetransmit ospfVirtIfEvents ospfVirtIfStateChange ospfVirtIfConfigError ospfVirtIfAuthFailure
ospfVirtIfRxBadPacket ospfVirtIfTxRetransmit ospfNbrEvents ospfNbrStateChange ospfVirtNbrEvents ospfVirtNbrStateChange ospfExternLSACount ospfLsdbApproachingOverflow ospfExternLSACount ospfLsdbOverflow 5. OSPF Trap Definitions OSPF-TRAP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ospfRouterId, ospfIfIpAddress, ospfAddressLessIf, ospfIfState, ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfVirtIfState, ospfNbrIpAddr, ospfNbrAddressLessIndex, ospfNbrRtrId, ospfNbrState, ospfVirtNbrArea, ospfVirtNbrRtrId, ospfVirtNbrState, ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId, ospfLsdbAreaId, ospfExtLsdbLimit, ospf FROM OSPF-MIB; ospfTrap MODULE-IDENTITY LAST-UPDATED "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995 ORGANIZATION "IETF OSPF Working Group" CONTACT-INFO " Fred Baker Postal: Cisco Systems 519 Lado Drive Santa Barbara, California 93111 Tel: +1 805 681 0115 E-Mail: fred@cisco.com Rob Coltun Postal: RainbowBridge Communications Tel: (301) 340-9416 E-Mail: rcoltun@rainbow-bridge.com" DESCRIPTION "The MIB module to describe traps for the OSPF Version 2 Protocol." ::= { ospf 16 } -- Trap Support Objects -- The following are support objects for the OSPF traps.
ospfTrapControl OBJECT IDENTIFIER ::= { ospfTrap 1 } ospfTraps OBJECT IDENTIFIER ::= { ospfTrap 2 } ospfSetTrap OBJECT-TYPE SYNTAX OCTET STRING (SIZE(4)) MAX-ACCESS read-write STATUS current DESCRIPTION "A four-octet string serving as a bit map for the trap events defined by the OSPF traps. This object is used to enable and disable specific OSPF traps where a 1 in the bit field represents enabled. The right-most bit (least significant) represents trap 0." ::= { ospfTrapControl 1 } ospfConfigErrorType OBJECT-TYPE SYNTAX INTEGER { badVersion (1), areaMismatch (2), unknownNbmaNbr (3), -- Router is Dr eligible unknownVirtualNbr (4), authTypeMismatch(5), authFailure (6), netMaskMismatch (7), helloIntervalMismatch (8), deadIntervalMismatch (9), optionMismatch (10) } MAX-ACCESS read-only STATUS current DESCRIPTION "Potential types of configuration conflicts. Used by the ospfConfigError and ospfConfigVir- tError traps." ::= { ospfTrapControl 2 } ospfPacketType OBJECT-TYPE SYNTAX INTEGER { hello (1), dbDescript (2), lsReq (3), lsUpdate (4), lsAck (5) } MAX-ACCESS read-only STATUS current DESCRIPTION
"OSPF packet types." ::= { ospfTrapControl 3 } ospfPacketSrc OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address of an inbound packet that can- not be identified by a neighbor instance." ::= { ospfTrapControl 4 } -- Traps ospfIfStateChange NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfIfIpAddress, ospfAddressLessIf, ospfIfState -- The new state } STATUS current DESCRIPTION "An ospfIfStateChange trap signifies that there has been a change in the state of a non-virtual OSPF interface. This trap 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)." ::= { ospfTraps 16 } ospfVirtIfStateChange NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfVirtIfState -- The new state } STATUS current DESCRIPTION "An ospfIfStateChange trap signifies that there has been a change in the state of an OSPF vir- tual interface.
This trap should be generated when the inter- face state regresses (e.g., goes from Point- to-Point to Down) or progresses to a terminal state (i.e., Point-to-Point)." ::= { ospfTraps 1 } ospfNbrStateChange NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfNbrIpAddr, ospfNbrAddressLessIndex, ospfNbrRtrId, ospfNbrState -- The new state } STATUS current DESCRIPTION "An ospfNbrStateChange trap signifies that there has been a change in the state of a non- virtual OSPF neighbor. This trap 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 an neighbor transitions from or to Full on non-broadcast multi-access and broadcast networks, the trap should be gen- erated by the designated router. A designated router transitioning to Down will be noted by ospfIfStateChange." ::= { ospfTraps 2 } ospfVirtNbrStateChange NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfVirtNbrArea, ospfVirtNbrRtrId, ospfVirtNbrState -- The new state } STATUS current DESCRIPTION "An ospfIfStateChange trap signifies that there has been a change in the state of an OSPF vir- tual neighbor. This trap 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)." ::= { ospfTraps 3 }
ospfIfConfigError NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfIfIpAddress, ospfAddressLessIf, ospfPacketSrc, -- The source IP address ospfConfigErrorType, -- Type of error ospfPacketType } STATUS current DESCRIPTION "An ospfIfConfigError trap signifies that a packet has been received on a non-virtual in- terface from a router whose configuration parameters conflict with this router's confi- guration parameters. Note that the event op- tionMismatch should cause a trap only if it prevents an adjacency from forming." ::= { ospfTraps 4 } ospfVirtIfConfigError NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfConfigErrorType, -- Type of error ospfPacketType } STATUS current DESCRIPTION "An ospfConfigError trap signifies that a pack- et 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 trap only if it prevents an ad- jacency from forming." ::= { ospfTraps 5 } ospfIfAuthFailure NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfIfIpAddress, ospfAddressLessIf, ospfPacketSrc, -- The source IP address ospfConfigErrorType, -- authTypeMismatch or
-- authFailure ospfPacketType } STATUS current DESCRIPTION "An ospfIfAuthFailure trap signifies that a packet has been received on a non-virtual in- terface from a router whose authentication key or authentication type conflicts with this router's authentication key or authentication type." ::= { ospfTraps 6 } ospfVirtIfAuthFailure NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfConfigErrorType, -- authTypeMismatch or -- authFailure ospfPacketType } STATUS current DESCRIPTION "An ospfVirtIfAuthFailure trap signifies that a packet has been received on a virtual interface from a router whose authentication key or au- thentication type conflicts with this router's authentication key or authentication type." ::= { ospfTraps 7 } ospfIfRxBadPacket NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfIfIpAddress, ospfAddressLessIf, ospfPacketSrc, -- The source IP address ospfPacketType } STATUS current DESCRIPTION "An ospfIfRxBadPacket trap signifies that an OSPF packet has been received on a non-virtual interface that cannot be parsed." ::= { ospfTraps 8 }
ospfVirtIfRxBadPacket NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfPacketType } STATUS current DESCRIPTION "An ospfRxBadPacket trap signifies that an OSPF packet has been received on a virtual interface that cannot be parsed." ::= { ospfTraps 9 } ospfTxRetransmit NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfIfIpAddress, ospfAddressLessIf, ospfNbrRtrId, -- Destination ospfPacketType, ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId } STATUS current DESCRIPTION "An ospfTxRetransmit trap signifies than an OSPF packet has been retransmitted on a non- virtual interface. All packets that may be re- transmitted are associated with an LSDB entry. The LS type, LS ID, and Router ID are used to identify the LSDB entry." ::= { ospfTraps 10 } ospfVirtIfTxRetransmit NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfPacketType, ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId } STATUS current
DESCRIPTION "An ospfTxRetransmit trap signifies than an OSPF packet has been retransmitted on a virtual interface. All packets that may be retransmit- ted are associated with an LSDB entry. The LS type, LS ID, and Router ID are used to identify the LSDB entry." ::= { ospfTraps 11 } ospfOriginateLsa NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfLsdbAreaId, -- 0.0.0.0 for AS Externals ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId } STATUS current DESCRIPTION "An ospfOriginateLsa trap signifies that a new LSA has been originated by this router. This trap should not be invoked for simple refreshes of LSAs (which happesn every 30 minutes), but instead will only be invoked when an LSA is (re)originated due to a topology change. Addi- tionally, this trap does not include LSAs that are being flushed because they have reached MaxAge." ::= { ospfTraps 12 } ospfMaxAgeLsa NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfLsdbAreaId, -- 0.0.0.0 for AS Externals ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId } STATUS current DESCRIPTION "An ospfMaxAgeLsa trap signifies that one of the LSA in the router's link-state database has aged to MaxAge." ::= { ospfTraps 13 }
ospfLsdbOverflow NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfExtLsdbLimit } STATUS current DESCRIPTION "An ospfLsdbOverflow trap signifies that the number of LSAs in the router's link-state data- base has exceeded ospfExtLsdbLimit." ::= { ospfTraps 14 } ospfLsdbApproachingOverflow NOTIFICATION-TYPE OBJECTS { ospfRouterId, -- The originator of the trap ospfExtLsdbLimit } STATUS current DESCRIPTION "An ospfLsdbApproachingOverflow trap signifies that the number of LSAs in the router's link- state database has exceeded ninety percent of ospfExtLsdbLimit." ::= { ospfTraps 15 } -- conformance information ospfTrapConformance OBJECT IDENTIFIER ::= { ospfTrap 3 } ospfTrapGroups OBJECT IDENTIFIER ::= { ospfTrapConformance 1 } ospfTrapCompliances OBJECT IDENTIFIER ::= { ospfTrapConformance 2 } -- compliance statements ospfTrapCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement " MODULE -- this module MANDATORY-GROUPS { ospfTrapControlGroup } GROUP ospfTrapControlGroup DESCRIPTION "This group is optional but recommended for all OSPF systems"
::= { ospfTrapCompliances 1 } -- units of conformance ospfTrapControlGroup OBJECT-GROUP OBJECTS { ospfSetTrap, ospfConfigErrorType, ospfPacketType, ospfPacketSrc } STATUS current DESCRIPTION "These objects are required to control traps from OSPF systems." ::= { ospfTrapGroups 1 } END 6. Acknowledgements This document was produced by the OSPF Working Group. 7. References [1] Cerf, V., "IAB Recommendations for the Development of Internet Network Management Standards", RFC 1052, NRI, April 1988. [2] Cerf, V., "Report of the Second Ad Hoc Network Management Review Group", RFC 1109, NRI, August 1989. [3] Rose M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based internets", STD 16, RFC 1155, Performance Systems International, Hughes LAN Systems, May 1990. [4] McCloghrie K., and M. Rose, "Management Information Base for Network Management of TCP/IP-based internets", RFC 1156, Hughes LAN Systems, Performance Systems International, May 1990. [5] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990.
[6] Rose M., Editor, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213, Performance Systems International, March 1991. [7] Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1), International Organization for Standardization, International Standard 8824, December 1987. [8] Information processing systems - Open Systems Interconnection - Specification of Basic Encoding Rules for Abstract Notation One (ASN.1), International Organization for Standardization, International Standard 8825, December 1987. [9] Rose, M., and K. McCloghrie, Editors, "Concise MIB Definitions", STD 16, RFC 1212, Performance Systems International, Hughes LAN Systems, March 1991. [10] Rose, M., Editor, "A Convention for Defining Traps for use with the SNMP", RFC 1215, Performance Systems International, March 1991. [11] Steinberg, L., "Techniques for Managing Asynchronously Generated Alerts", RFC 1224, IBM Corporation, May 1991. [12] Moy, J., "Multicast Extensions to OSPF", RFC 1584, Proteon, Inc., September 1993.
8. Security Considerations Security issues are not discussed in this memo. 9. Authors' Addresses Fred Baker cisco Systems, Inc. 519 Lado Drive Santa Barbara, CA 93111 Phone: (805) 681-0115 EMail: fred@cisco.com Rob Coltun RainbowBridge Communications Phone: (301) 340-9416 EMail: rcoltun@rainbow-bridge.com