RFC 1252
OSPF Version 2 Management Information Base
RFC 1252: OSPF Version 2 Management Information Base π
okay bestie, this is the one π Written by F. Baker (ACC) and R. Coltun (Computer Science Center) in August 1991. It's an IAB standards track protocol for the Internet community π, and it obsoletes RFC 1248 π¦. Read on for all the good stuff!
Status of this Memo β¨
okay so this doc is an IAB standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements π«Ά Check the current edition of the "IAB Official Protocol Standards" for the official standardization state and status. This memo replaces RFC 1248, which had some minor errors where it mentioned "experimental" and "standard-mib" in Section 5 π Distribution of this memo is unlimited πΈ
Table of Contents π§
1. Abstract ............................................. 2
2. The Network Management Framework...................... 2
3. Objects .............................................. 2
3.1 Format of Definitions ............................... 3
4. Overview ............................................. 3
4.1 Textual Conventions ................................. 3
4.2 Structure of MIB .................................... 3
4.2.1 General Variables ................................. 4
4.2.2 Area Data Structure and Area Stub Metric Table .... 4
4.2.3 Link State Database ............................... 4
4.2.4 Address Table and Host Tables ..................... 4
4.2.5 Interface and Interface Metric Tables ............. 4
4.2.6 Virtual Interface Table ........................... 4
4.2.7 Neighbor and Virtual Neighbor Tables .............. 4
4.3 Conceptual Row Creation ............................. 5
4.4 Default Configuration ............................... 5
5. Definitions .......................................... 7
5.1 OSPF General Variables .............................. 8
5.2 OSPF Area Data Structure ............................ 11
5.3 OSPF Area Default Metric Table ...................... 14
5.4 OSPF Link State Database ............................ 16
5.5 OSPF Address Range Table ............................ 19
5.6 OSPF Host Table ..................................... 21
5.7 OSPF Interface Table ................................ 23
5.8 OSPF Interface Metric Table ......................... 28
5.9 OSPF Virtual Interface Table ........................ 31
5.10 OSPF Neighbor Table ................................ 34
5.11 OSPF Virtual Neighbor Table ........................ 38
6. Acknowledgements ..................................... 40
7. References ........................................... 40
8. Security Considerations............................... 41
9. Authors' Addresses.................................... 42
1. Abstract β¨
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP-based internets π Specifically, it defines objects for managing OSPF Version 2 π
2. The Network Management Framework π¦
okay so the Internet-standard Network Management Framework is made up of three components, and they are:
- RFC 1155, which defines the SMI, the mechanisms used for describing and naming objects for the purpose of management. RFC 1212 defines a more concise description mechanism, which is wholly consistent with the SMI.
- RFC 1156, which defines MIB-I, the core set of managed objects for the Internet suite of protocols. RFC 1213 defines MIB-II, an evolution of MIB-I based on implementation experience and new operational requirements.
- RFC 1157, which defines the SNMP, the protocol used for network access to managed objects.
The Framework permits new objects to be defined for the purpose of experimentation and evaluation π§ͺ
3. Objects π
Managed objects are accessed through a virtual information store called the Management Information Base, or MIB π Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) [7] that the SMI defines. Each object has a name, a syntax, and an encoding β¨ The name is an object identifier, an administratively assigned name that specifies an object type. The object type together with an object instance uniquely identifies one specific instantiation of the object π For human convenience, we often use a textual string, called the OBJECT DESCRIPTOR, to also refer to the object type π«Ά
The syntax of an object type defines the abstract data structure that corresponds to that object type, and the ASN.1 language is used for this purpose. The SMI [3] purposely restricts which ASN.1 constructs may be used, and these restrictions are explicitly made for simplicity π§
The encoding of an object type is simply how that object type is represented using the object type's syntax. The syntax and encoding are implicitly tied to how the object type is represented when it's transmitted on the network π‘
The SMI specifies the use of the basic encoding rules of ASN.1 [8], subject to the additional requirements imposed by the SNMP π
3.1. Format of Definitions πΈ
Section 5 contains contains the specification of all object types contained in this MIB module π The object types are defined using the conventions defined in the SMI, as amended by the extensions specified in [9] β¨
4. Overview π
4.1. Textual Conventions π§
Several new data types are introduced as textual conventions in this MIB document π These textual conventions enhance the readability of the specification and can ease comparison with other specifications if appropriate. Important tea: introducing these textual conventions has no effect on the syntax or the semantics of any managed objects π«Ά Using them is merely an artifact of the explanatory method. Objects defined in terms of one of these methods are always encoded by the rules that define the primitive type. So no changes to the SMI or the SNMP are needed to accommodate these textual conventions. They're adopted purely for the convenience of readers and writers in pursuit of the elusive goal of clear, concise, and unambiguous MIB documents π¦
The new data types are:
AreaID, RouterID, TOSType, Metric, BigMetric, TruthValue, Status,
Validation, PositiveInteger, HelloRange, UpToMaxAge, InterfaceIndex,
and DesignatedRouterPriority
4.2. Structure of MIB π
The MIB is composed of the following sections:
General Variables
Area Data Structure
Area Stub Metric Table
Link State Database
Address Range Table
Host Table
Interface Table
Interface Metric Table
Virtual Interface Table
Neighbor Table
Virtual Neighbor Table
4.2.1. General Variables π
The General Variables are about what they sound like: variables which are global to the OSPF Process π
4.2.2. Area Data Structure and Area Stub Metric Table πΈ
The Area Data Structure describes the OSPF Areas that the router participates in. The Area Stub Metric Table describes the metrics advertised into a stub area by the default router(s) β¨
4.2.3. Link State Database π₯
The Link State Database is provided primarily to give detailed information for network debugging π
4.2.4. Address Table and Host Tables π
The Address Range Table and Host Table are provided so you can view configured Network Summary and Host Route information π§
4.2.5. Interface and Interface Metric Tables π¦
The Interface Table and the Interface Metric Table together describe the various IP interfaces to OSPF. The metrics are placed in separate tables to simplify dealing with multiple types of service, and to provide flexibility in case the IP TOS definition changes in the future π A Default Value specification is supplied for the TOS 0 (default) metric π
4.2.6. Virtual Interface Table π
Likewise, the Virtual Interface Table describes virtual links to the OSPF Process β
4.2.7. Neighbor and Virtual Neighbor Tables π«Ά
The Neighbor Table and the Virtual Neighbor Table describe the neighbors to the OSPF Process π
4.3. Conceptual Row Creation π
okay this part is giving row creation in "conceptual" tables (see [9]) π For that, DEFVAL (Default Value) clauses are included in the definitions in section 5. They suggest values an agent should use for instances of variables that need to be created due to a Set-Request but aren't specified in that Set-Request πΈ DEFVAL clauses haven't been specified for some objects that are read-only, which implies they're zeroed upon row creation. These objects have a SYNTAX of Counter or Gauge β¨
For those objects without a DEFVAL clause, both management stations and agents should heed the Robustness Principle of the Internet (see RFC-791). Here's the vibe:
"be liberal in what you accept, conservative in what
you send"
So management stations should include as many of these columnar objects as possible (for example, all read-write objects) in a Set-Request when creating a conceptual row π₯ Agents should accept a Set-Request with as few of these as they need. The minimum contents of a row-creating SET consists of those objects that, because they cannot be intuited, have no default specified π
There are plenty of read-write objects in this MIB, since it's designed for SNMP management of the protocol and not just SNMP monitoring of its state π§ However, in the absence of a standard SNMP Security architecture, it's acceptable for implementations to make these read-only, with an alternative interface for modifying them π¦
4.4. Default Configuration πΈ
okay so OSPF is a seriously powerful routing protocol π It can handle pretty much any configuration requirement you could reasonably find inside an Autonomous System. With that power comes a fair amount of complexity (the sheer number of objects in the MIB proves it π), so when this MIB was built, the authors gave almost every object a default value. That way you don't need a ton of setup in the typical case. Here's that default configuration, bestie π
Given the following assumptions:
- IP has already been configured
- The ifTable has already been configured
- ifSpeed is estimated by the interface drivers
- The OSPF Process automatically discovers all IP Interfaces and creates corresponding OSPF Interfaces
- The TOS 0 metrics are autonomously derived from ifSpeed
- The OSPF Process automatically creates the Areas required for the Interfaces
The simplest configuration of an OSPF process requires that:
- The OSPF Process be Enabled.
This can be accomplished with a single SET: ospfAdminStat := enabled. β¨
The configured system will have the following attributes π§
- The RouterID will be one of the IP addresses of the device
- The device will be neither an Area Border Router nor an Autonomous System Border Router.
- Every IP Interface, with or without an address, will be an OSPF Interface.
- The AreaID of each interface will be 0.0.0.0, the Backbone.
- Authentication will be disabled
- All Broadcast and Point to Point interfaces will be operational. NBMA Interfaces require the configuration of at least one neighbor. π«Ά
- Timers on all direct interfaces will be:
Hello Interval: 10 seconds
Dead Timeout: 40 Seconds
Retransmission: 5 Seconds
Transit Delay: 1 Second
Poll Interval: 120 Seconds
- no direct links to hosts will be configured.
- no addresses will be summarized
- Metrics, being a measure of bit duration, are unambiguous and intelligent. π€
- No Virtual Links will be configured.
5. Definitions π¦
Here's the MIB module itself, bestie. It uses the extended OBJECT-TYPE macro from [9], so you'll see that import at the top π
RFC1252-MIB DEFINITIONS ::= BEGIN
IMPORTS
Counter, Gauge, IpAddress
FROM RFC1155-SMI
mib-2
FROM RFC1213-MIB
OBJECT-TYPE
FROM RFC-1212;
-- This MIB module uses the extended OBJECT-TYPE macro as
-- defined in [9].
ospf OBJECT IDENTIFIER ::= { mib-2 13 }
-- The Area ID, in OSPF, has the same format as an IP Address,
-- but has the function of defining a summarization point for
-- Link State Advertisements
AreaID ::= IpAddress
-- The Router ID, in OSPF, has the same format as an IP Address,
-- but identifies the router independent of its IP Address.
RouterID ::= IpAddress
-- The OSPF Metric is defined as an unsigned value in the range
Metric ::= INTEGER (1..'FFFF'h)
BigMetric ::= INTEGER (1..'FFFFFF'h)
-- Boolean Values
TruthValue ::= INTEGER { true (1), false (2) }
-- Status Values
Status ::= INTEGER { enabled (1), disabled (2) }
-- Row Creation/Deletion Values
Validation ::= INTEGER { valid (1), invalid (2) }
-- Time Durations measured in seconds
PositiveInteger ::= INTEGER (1..'FFFFFFFF'h)
HelloRange ::= INTEGER (1..'FFFF'h)
UpToMaxAge ::= INTEGER (1..3600)
-- The range of ifIndex, i.e. (1..ifNumber)
InterfaceIndex ::= INTEGER
-- Potential Priorities for the Designated Router Election
DesignatedRouterPriority ::= INTEGER (0..'FF'h)
-- Type of Service is defined as a mapping to the IP Type of
-- Service Flags as defined in the Router Requirements
-- Document:
--
-- D => Low Delay R => Reliable Route
-- T => High Bandwidth
-- D T R TOS D T R TOS
-- 0 0 0 => 0 0 0 1 => 4
-- 0 1 0 => 8 0 1 1 => 12
-- 1 0 0 => 16 1 0 1 => 20
-- 1 1 0 => 24 1 1 1 => 28
-- The remaining values are left for future definition.
TOSType ::= INTEGER (0..31)
-- OSPF General Variables
-- These parameters apply globally to the Router's
-- OSPF Process.
ospfGeneralGroup OBJECT IDENTIFIER ::= { ospf 1 }
ospfRouterId OBJECT-TYPE
SYNTAX RouterID
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A 32-bit integer uniquely identifying the router in
the Autonomous System.
By convention, to ensure uniqueness, this should
default to the value of one of the router's IP
interface addresses."
REFERENCE
"OSPF Version 2, C.1 Global parameters"
::= { ospfGeneralGroup 1 }
ospfAdminStat OBJECT-TYPE
SYNTAX Status
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The administrative status of OSPF in the router. The
value 'enabled' denotes that the OSPF Process is active
on at least one interface; 'disabled' disables it on
all interfaces."
::= { ospfGeneralGroup 2 }
ospfVersionNumber OBJECT-TYPE
SYNTAX INTEGER { version2 (2) }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The current version number of the OSPF protocol is 2."
REFERENCE
"OSPF Version 2, Title"
::= { ospfGeneralGroup 3 }
ospfAreaBdrRtrStatus OBJECT-TYPE
SYNTAX TruthValue
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A flag to note whether this router is an area border
router."
REFERENCE
"OSPF Version 2, Section 3 Splitting the AS into Areas"
::= { ospfGeneralGroup 4 }
ospfASBdrRtrStatus OBJECT-TYPE
SYNTAX TruthValue
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A flag to note whether this router is an Autonomous
System border router."
REFERENCE
"OSPF Version 2, Section 3.3 Classification of routers"
::= { ospfGeneralGroup 5 }
ospfExternLSACount OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of external (LS type 5) link-state
advertisements in the link-state database."
REFERENCE
"OSPF Version 2, Appendix A.4.5 AS external link
advertisements"
::= { ospfGeneralGroup 6 }
ospfExternLSACksumSum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The 32-bit unsigned sum of the LS checksums of the
external 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, and to compare the link-state database of two
routers."
::= { ospfGeneralGroup 7 }
ospfTOSSupport OBJECT-TYPE
SYNTAX TruthValue
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The router's support for type-of-service routing."
REFERENCE
"OSPF Version 2, Appendix F.1.2 Optional TOS support"
::= { ospfGeneralGroup 8 }
ospfOriginateNewLSAs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of new link-state advertisements that have
been originated. This number is incremented each time
the router originates a new LSA."
::= { ospfGeneralGroup 9 }
ospfRxNewLSAs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of link-state advertisements received
determined to be new instantiations. This number does
not include newer instantiations of self-originated
link-state advertisements."
::= { ospfGeneralGroup 10 }
-- The OSPF 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
ospfAreaTable OBJECT-TYPE
SYNTAX SEQUENCE OF OspfAreaEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Information describing the configured parameters and
cumulative statistics of the router's attached areas."
REFERENCE
"OSPF Version 2, Section 6 The Area Data Structure"
::= { ospf 2 }
ospfAreaEntry OBJECT-TYPE
SYNTAX OspfAreaEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Information describing the configured parameters and
cumulative statistics of one of the router's attached
areas."
INDEX { ospfAreaID }
::= { ospfAreaTable 1 }
OspfAreaEntry ::=
SEQUENCE {
ospfAreaId
AreaID,
ospfAuthType
INTEGER,
ospfImportASExtern
TruthValue,
ospfSpfRuns
Counter,
ospfAreaBdrRtrCount
Gauge,
ospfASBdrRtrCount
Gauge,
ospfLSACount
Gauge,
ospfAreaLSACksumSum
INTEGER
}
ospfAreaId OBJECT-TYPE
SYNTAX AreaID
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A 32-bit integer uniquely identifying an area. Area
ID 0.0.0.0 is used for the OSPF backbone."
REFERENCE
"OSPF Version 2, Appendix C.2 Area parameters"
::= { ospfAreaEntry 1 }
ospfAuthType OBJECT-TYPE
SYNTAX INTEGER
-- none (0),
-- simplePassword (1)
-- reserved for specification by IANA (> 1)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The authentication type specified for an area.
Additional authentication types may be assigned locally
on a per Area basis."
REFERENCE
"OSPF Version 2, Appendix E Authentication"
DEFVAL { 0 } -- no authentication, by default
::= { ospfAreaEntry 2 }
ospfImportASExtern OBJECT-TYPE
SYNTAX TruthValue
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The area's support for importing AS external link-
state advertisements."
REFERENCE
"OSPF Version 2, Appendix C.2 Area parameters"
DEFVAL { true }
::= { ospfAreaEntry 3 }
okay so we're still in the MIB bestie π this chunk is all the area counters, the stub metrics, and the link state database fields that routers keep track of π§
ospfSpfRuns OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
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."
DEFVAL { 0 }
::= { ospfAreaEntry 4 }
ospfAreaBdrRtrCount OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of area border routers reachable
within this area. This is initially zero, and is
calculated in each SPF Pass."
DEFVAL { 0 }
::= { ospfAreaEntry 5 }
ospfASBdrRtrCount OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
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 }
::= { ospfAreaEntry 6 }
ospfAreaLSACount OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of link-state advertisements in this
area's link-state database, excluding AS External
LSA's."
DEFVAL { 0 }
::= { ospfAreaEntry 7 }
ospfAreaLSACksumSum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The 32-bit unsigned sum of the link-state
advertisements' LS checksums contained in this area's
link-state database. This sum excludes external (LS
type 5) link-state advertisements. 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."
DEFVAL { 0 }
::= { ospfAreaEntry 8 }
-- OSPF Area Default Metric Table
-- The OSPF Area Default Metric Table describes the metrics
-- that a default Area Border Router will advertise into a
-- Stub area.
ospfStubAreaTable OBJECT-TYPE
SYNTAX SEQUENCE OF OspfStubAreaEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The set of metrics that will be advertised by a
default Area Border Router into a stub area."
REFERENCE
"OSPF Version 2, Appendix C.2, Area Parameters"
::= { ospf 3 }
ospfStubAreaEntry OBJECT-TYPE
SYNTAX OspfStubAreaEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The metric for a given Type of Service that will be
advertised by a default Area Border Router into a stub
area."
REFERENCE
"OSPF Version 2, Appendix C.2, Area Parameters"
INDEX { ospfStubAreaID, ospfStubTOS }
::= { ospfStubAreaTable 1 }
OspfStubAreaEntry ::=
SEQUENCE {
ospfStubAreaID
AreaID,
ospfStubTOS
TOSType,
ospfStubMetric
BigMetric,
ospfStubStatus
Validation
}
ospfStubAreaID OBJECT-TYPE
SYNTAX AreaID
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The 32 bit identifier for the Stub Area. On creation,
this can be derived from the instance."
::= { ospfStubAreaEntry 1 }
ospfStubTOS OBJECT-TYPE
SYNTAX TOSType
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Type of Service associated with the metric. On
creation, this can be derived from the instance."
::= { ospfStubAreaEntry 2 }
ospfStubMetric OBJECT-TYPE
SYNTAX BigMetric
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The metric value applied at the indicated type of
service. By default, this equals the least metric at
the type of service among the interfaces to other
areas."
::= { ospfStubAreaEntry 3 }
ospfStubStatus OBJECT-TYPE
SYNTAX Validation
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This variable displays the validity or invalidity of
the entry. Setting it to 'invalid' has the effect of
rendering it inoperative. The internal effect (row
removal) is implementation dependent."
DEFVAL { valid }
::= { ospfStubAreaEntry 4 }
-- OSPF Link State Database
-- The Link State Database contains the Link State
-- Advertisements from throughout the areas that the
-- device is attached to.
ospfLsdbTable OBJECT-TYPE
SYNTAX SEQUENCE OF OspfLsdbEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The OSPF Process's Links State Database."
REFERENCE
"OSPF Version 2, Section 12 Link State Advertisements"
::= { ospf 4 }
ospfLsdbEntry OBJECT-TYPE
SYNTAX OspfLsdbEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A single Link State Advertisement."
INDEX { ospfLsdbAreaId, ospfLsdbType,
ospfLsdbLSID, ospfLsdbRouterId }
::= { ospfLsdbTable 1 }
OspfLsdbEntry ::=
SEQUENCE {
ospfLsdbAreaId
AreaID,
ospfLsdbType
INTEGER,
ospfLsdbLSID
IpAddress,
ospfLsdbRouterId
RouterID,
ospfLsdbSequence
INTEGER,
ospfLsdbAge
INTEGER,
ospfLsdbChecksum
INTEGER,
ospfLsdbAdvertisement
OCTET STRING
}
ospfLsdbAreaId OBJECT-TYPE
SYNTAX AreaID
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The 32 bit identifier of the Area from which the LSA
was received."
REFERENCE
"OSPF Version 2, Appendix C.2 Area parameters"
::= { ospfLsdbEntry 1 }
ospfLsdbType OBJECT-TYPE
SYNTAX INTEGER {
routerLink (1),
networkLink (2),
summaryLink (3),
asSummaryLink (4),
asExternalLink (5)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The type of the link state advertisement. Each link
state type has a separate advertisement format."
REFERENCE
"OSPF Version 2, Appendix A.4.1 The Link State
Advertisement header"
::= { ospfLsdbEntry 2 }
ospfLsdbLSID OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
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"
::= { ospfLsdbEntry 3 }
ospfLsdbRouterId OBJECT-TYPE
SYNTAX RouterID
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The 32 bit number that uniquely identifies the
originating router in the Autonomous System."
REFERENCE
"OSPF Version 2, Appendix C.1 Global parameters"
::= { ospfLsdbEntry 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.
ospfLsdbSequence OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
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"
::= { ospfLsdbEntry 5 }
ospfLsdbAge OBJECT-TYPE
SYNTAX INTEGER -- Should be 0..MaxAge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This field is the age of the link state advertisement
in seconds."
REFERENCE
"OSPF Version 2, Section 12.1.1 LS age"
::= { ospfLsdbEntry 6 }
ospfLsdbChecksum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
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"
::= { ospfLsdbEntry 7 }
ospfLsdbAdvertisement OBJECT-TYPE
SYNTAX OCTET STRING
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The entire Link State Advertisement, including its
header."
REFERENCE
"OSPF Version 2, Section 12 Link State Advertisements"
::= { ospfLsdbEntry 8 }
-- Address Range Table
-- The Address Range Table acts as an adjunct to the Area
-- Table; It describes those Address Range Summaries that
-- are configured to be propagated from an Area to reduce
-- the amount of information about it which is known beyond
-- its borders.
ospfAreaRangeTable OBJECT-TYPE
SYNTAX SEQUENCE OF OspfAreaRangeEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A range if 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"
REFERENCE
"OSPF Version 2, Appendix C.2 Area parameters"
::= { ospf 5 }
ospfAreaRangeEntry OBJECT-TYPE
SYNTAX OspfAreaRangeEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A range if 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"
REFERENCE
"OSPF Version 2, Appendix C.2 Area parameters"
INDEX { ospfAreaRangeAreaID, ospfAreaRangeNet }
::= { ospfAreaRangeTable 1 }
OspfAreaRangeEntry ::=
SEQUENCE {
ospfAreaRangeAreaID
AreaID,
ospfAreaRangeNet
IpAddress,
ospfAreaRangeMask
IpAddress,
ospfAreaRangeStatus
Validation
}
Okay bestie, the area range stuff comes first, and it's giving real structure π β¨
ospfAreaRangeAreaID OBJECT-TYPE
SYNTAX AreaID
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Area the Address Range is to be found within."
REFERENCE
"OSPF Version 2, Appendix C.2 Area parameters"
::= { ospfAreaRangeEntry 1 }
ospfAreaRangeNet OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP Address of the Net or Subnet indicated by the
range."
REFERENCE
"OSPF Version 2, Appendix C.2 Area parameters"
::= { ospfAreaRangeEntry 2 }
ospfAreaRangeMask OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Subnet Mask that pertains to the Net or Subnet."
REFERENCE
"OSPF Version 2, Appendix C.2 Area parameters"
::= { ospfAreaRangeEntry 3 }
ospfAreaRangeStatus OBJECT-TYPE
SYNTAX Validation
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This variable displays the validity or invalidity of
the entry. Setting it to 'invalid' has the effect of
rendering it inoperative. The internal effect (row
removal) is implementation dependent."
DEFVAL { valid }
::= { ospfAreaRangeEntry 4 }
Next up is the OSPF Host Table π. It's basically the list of hosts sitting directly on the router, plus the metrics and types of service that get advertised for them π¦
-- 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.
ospfHostTable OBJECT-TYPE
SYNTAX SEQUENCE OF OspfHostEntry
ACCESS not-accessible
STATUS mandatory
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 parameters"
::= { ospf 6 }
ospfHostEntry OBJECT-TYPE
SYNTAX OspfHostEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A metric to be advertised, for a given type of service,
when a given host is reachable."
INDEX { ospfHostIpAddress, ospfHostTOS }
::= { ospfHostTable 1 }
OspfHostEntry ::=
SEQUENCE {
ospfHostIpAddress
IpAddress,
ospfHostTOS
TOSType,
ospfHostMetric
Metric,
ospfHostStatus
Validation
}
ospfHostIpAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP Address of the Host."
REFERENCE
"OSPF Version 2, Appendix C.6 Host route parameters"
::= { ospfHostEntry 1 }
ospfHostTOS OBJECT-TYPE
SYNTAX TOSType
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Type of Service of the route being configured."
REFERENCE
"OSPF Version 2, Appendix C.6 Host route parameters"
::= { ospfHostEntry 2 }
ospfHostMetric OBJECT-TYPE
SYNTAX Metric
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Metric to be advertised."
REFERENCE
"OSPF Version 2, Appendix C.6 Host route parameters"
::= { ospfHostEntry 3 }
ospfHostStatus OBJECT-TYPE
SYNTAX Validation
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This variable displays the validity or invalidity of
the entry. Setting it to 'invalid' has the effect of
rendering it inoperative. The internal effect (row
removal) is implementation dependent."
DEFVAL { valid }
::= { ospfHostEntry 4 }
Now we're in the OSPF Interface Table πΈ, which is the OSPF point of view on each interface. It adds OSPF-specific info on top of the ifTable π§
-- OSPF Interface Table
-- The OSPF Interface Table augments the ifTable with OSPF
-- specific information.
ospfIfTable OBJECT-TYPE
SYNTAX SEQUENCE OF OspfIfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The OSPF Interface Table describes the interfaces from
the viewpoint of OSPF."
REFERENCE
"OSPF Version 2, Appendix C.3 Router interface
parameters"
::= { ospf 7 }
ospfIfEntry OBJECT-TYPE
SYNTAX OspfIfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The OSPF Interface Entry describes one interface from
the viewpoint of OSPF."
INDEX { ospfIfIpAddress, ospfAddressLessIf }
::= { ospfIfTable 1 }
OspfIfEntry ::=
SEQUENCE {
ospfIfIpAddress
IpAddress,
ospfAddressLessIf
INTEGER,
ospfIfAreaId
AreaID,
ospfIfType
INTEGER,
ospfIfAdminStat
Status,
ospfIfRtrPriority
DesignatedRouterPriority,
ospfIfTransitDelay
UpToMaxAge,
ospfIfRetransInterval
UpToMaxAge,
ospfIfHelloInterval
HelloRange,
ospfIfRtrDeadInterval
PositiveInteger,
ospfIfPollInterval
PositiveInteger,
ospfIfState
INTEGER,
ospfIfDesignatedRouter
IpAddress,
ospfIfBackupDesignatedRouter
IpAddress,
ospfIfEvents
Counter,
ospfIfAuthKey
OCTET STRING
}
ospfIfIpAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP address of this OSPF interface."
::= { ospfIfEntry 1 }
ospfAddressLessIf OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"For the purpose of easing the instancing of addressed
and addressless interfaces; This variable takes the
value 0 on interfaces with IP Addresses, and the
corresponding value of ifIndex for interfaces having no
IP Address."
::= { ospfIfEntry 2 }
ospfIfAreaId OBJECT-TYPE
SYNTAX AreaID
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A 32-bit integer uniquely identifying the area to
which the interface connects. Area ID 0.0.0.0 is used
for the OSPF backbone."
DEFVAL { '00000000'H } -- 0.0.0.0
::= { ospfIfEntry 3 }
ospfIfType OBJECT-TYPE
SYNTAX INTEGER {
broadcast (1),
nbma (2),
pointToPoint (3)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The OSPF interface type.
By way of a default, this field may be intuited from
the corresponding value of ifType. Broadcast LANs,
such as Ethernet and IEEE 802.5, take the value
'broadcast', X.25, Frame Relay, and similar
technologies take the value 'nbma', and links that are
definitively point to point take the value
'pointToPoint'."
::= { ospfIfEntry 4 }
ospfIfAdminStat OBJECT-TYPE
SYNTAX Status
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The OSPF interface's administrative status. The value
'enabled' denotes that neighbor relationships may be
formed on the interface, and the interface will be
advertised as an internal route to some area. The
value 'disabled' denotes that the interface is external
to OSPF."
DEFVAL { enabled }
::= { ospfIfEntry 5 }
ospfIfRtrPriority OBJECT-TYPE
SYNTAX DesignatedRouterPriority
ACCESS read-write
STATUS mandatory
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 }
::= { ospfIfEntry 6 }
ospfIfTransitDelay OBJECT-TYPE
SYNTAX UpToMaxAge
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The estimated number of seconds it takes to transmit a
link- state update packet over this interface."
DEFVAL { 1 }
::= { ospfIfEntry 7 }
ospfIfRetransInterval OBJECT-TYPE
SYNTAX UpToMaxAge
ACCESS read-write
STATUS mandatory
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 }
::= { ospfIfEntry 8 }
ospfIfHelloInterval OBJECT-TYPE
SYNTAX HelloRange
ACCESS read-write
STATUS mandatory
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 }
::= { ospfIfEntry 9 }
ospfIfRtrDeadInterval OBJECT-TYPE
SYNTAX PositiveInteger
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The number of seconds that a router's Hello packets
have not been seen before it's neighbors 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 }
::= { ospfIfEntry 10 }
ospfIfPollInterval OBJECT-TYPE
SYNTAX PositiveInteger
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The larger time interval, in seconds, between the
Hello packets sent to an inactive non-broadcast multi-
access neighbor."
DEFVAL { 120 }
::= { ospfIfEntry 11 }
ospfIfState OBJECT-TYPE
SYNTAX INTEGER {
down (1),
loopback (2),
waiting (3),
pointToPoint (4),
designatedRouter (5),
backupDesignatedRouter (6),
otherDesignatedRouter (7)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The OSPF Interface State."
DEFVAL { down }
::= { ospfIfEntry 12 }
ospfIfDesignatedRouter OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The IP Address of the Designated Router."
DEFVAL { '00000000'H } -- 0.0.0.0
::= { ospfIfEntry 13 }
okay so we're still in the MIB definitions, and this bit is all about the interface and virtual interface tables π
ospfIfBackupDesignatedRouter OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The IP Address of the Backup Designated Router."
DEFVAL { '00000000'H } -- 0.0.0.0
::= { ospfIfEntry 14 }
ospfIfEvents OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times this OSPF interface has changed
its state, or an error has occurred."
DEFVAL { 0 }
::= { ospfIfEntry 15 }
ospfIfAuthKey OBJECT-TYPE
SYNTAX OCTET STRING
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Authentication Key. If the Area's Authorization
Type is simplePassword, and the key length is shorter
than 8 octets, the agent will left adjust and zero fill
to 8 octets.
When read, ospfIfAuthKey always returns an Octet 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
::= { ospfIfEntry 16 }
ospfIfEvents is basically the drama counter π it ticks up every time the interface changes state or something goes wrong. ospfIfAuthKey is the password slot, and it's giving "write it but never read it back" energy π when you read it you just get a zero-length string, so nobody gets to peek π
-- OSPF Interface Metric Table
-- The Metric Table describes the metrics to be advertised
-- for a specified interface at the various types of service.
-- As such, this table is an adjunct of the OSPF Interface
-- Table.
-- Types of service, as defined by RFC 791, have the ability
-- to request low delay, high bandwidth, or reliable linkage.
-- For the purposes of this specification, the measure of
-- bandwidth
-- Metric = 10^8 / ifSpeed
-- is the default value. For multiple link interfaces, note
-- that ifSpeed is the sum of the individual link speeds.
-- This yields a number having the following typical values:
-- Network Type/bit rate Metric
-- >= 100 MBPS 1
-- Ethernet/802.3 10
-- E1 48
-- T1 (ESF) 65
-- 64 KBPS 1562
-- 56 KBPS 1785
-- 19.2 KBPS 5208
-- 9.6 KBPS 10416
-- Routes that are not specified use the default (TOS 0) metric
ospfIfMetricTable OBJECT-TYPE
SYNTAX SEQUENCE OF OspfIfMetricEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The TOS metrics for a non-virtual interface identified
by the interface index."
REFERENCE
"OSPF Version 2, Appendix C.3 Router interface
parameters"
::= { ospf 8 }
ospfIfMetricEntry OBJECT-TYPE
SYNTAX OspfIfMetricEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A particular TOS metric for a non-virtual interface
identified by the interface index."
REFERENCE
"OSPF Version 2, Appendix C.3 Router interface
parameters"
INDEX { ospfIfMetricIpAddress,
ospfIfMetricAddressLessIf,
ospfIfMetricTOS }
::= { ospfIfMetricTable 1 }
OspfIfMetricEntry ::=
SEQUENCE {
ospfIfMetricIpAddress
IpAddress,
ospfIfMetricAddressLessIf
INTEGER,
ospfIfMetricTOS
TOSType,
ospfIfMetricMetric
Metric,
ospfIfMetricStatus
Validation
}
ospfIfMetricIpAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP address of this OSPF interface. On row
creation, this can be derived from the instance."
::= { ospfIfMetricEntry 1 }
ospfIfMetricAddressLessIf OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"For the purpose of easing the instancing of addressed
and addressless interfaces; This variable takes the
value 0 on interfaces with IP Addresses, and the value
of ifIndex for interfaces having no IP Address. On row
creation, this can be derived from the instance."
::= { ospfIfMetricEntry 2 }
ospfIfMetricTOS OBJECT-TYPE
SYNTAX TOSType
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The type of service metric being referenced. On row
creation, this can be derived from the instance."
::= { ospfIfMetricEntry 3 }
ospfIfMetricMetric OBJECT-TYPE
SYNTAX Metric
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The metric of using this type of service on this
interface. The default value of the TOS 0 Metric is
10^8 / ifSpeed.
The value FFFF is distinguished to mean 'no route via
this TOS'."
::= { ospfIfMetricEntry 4 }
ospfIfMetricStatus OBJECT-TYPE
SYNTAX Validation
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This variable displays the validity or invalidity of
the entry. Setting it to 'invalid' has the effect of
rendering it inoperative. The internal effect (row
removal) is implementation dependent."
DEFVAL { valid }
::= { ospfIfMetricEntry 5 }
okay the metric table is my favourite bit ngl π the whole idea is that metric = 10^8 / ifSpeed, so a faster link gets a smaller number, and there's a little chart of typical values right there in the comments. the FFFF value is the "do not route through here, babe" signal π« and ospfIfMetricStatus lets you switch a row off without necessarily deleting it, which is giving "mute, don't unfollow" π
-- OSPF Virtual Interface Table
-- The Virtual Interface Table describes the virtual
-- links that the OSPF Process is configured to
-- carry on.
ospfVirtIfTable OBJECT-TYPE
SYNTAX SEQUENCE OF OspfVirtIfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Information about this router's virtual interfaces."
REFERENCE
"OSPF Version 2, Appendix C.4 Virtual link parameters"
::= { ospf 9 }
ospfVirtIfEntry OBJECT-TYPE
SYNTAX OspfVirtIfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Information about a single Virtual Interface."
INDEX { ospfVirtIfAreaID, ospfVirtIfNeighbor }
::= { ospfVirtIfTable 1 }
OspfVirtIfEntry ::=
SEQUENCE {
ospfVirtIfAreaID
AreaID,
ospfVirtIfNeighbor
RouterID,
ospfVirtIfTransitDelay
UpToMaxAge,
ospfVirtIfRetransInterval
UpToMaxAge,
ospfVirtIfHelloInterval
HelloRange,
ospfVirtIfRtrDeadInterval
PositiveInteger,
ospfVirtIfState
INTEGER,
ospfVirtIfEvents
Counter,
ospfVirtIfAuthKey
OCTET STRING,
ospfVirtIfStatus
Validation
}
ospfVirtIfAreaID OBJECT-TYPE
SYNTAX AreaID
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Transit Area that the Virtual Link traverses. By
definition, this is not 0.0.0.0"
::= { ospfVirtIfEntry 1 }
ospfVirtIfNeighbor OBJECT-TYPE
SYNTAX RouterID
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Router ID of the Virtual Neighbor."
::= { ospfVirtIfEntry 2 }
ospfVirtIfTransitDelay OBJECT-TYPE
SYNTAX UpToMaxAge
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The estimated number of seconds it takes to transmit a
link- state update packet over this interface."
DEFVAL { 1 }
::= { ospfVirtIfEntry 3 }
ospfVirtIfRetransInterval OBJECT-TYPE
SYNTAX UpToMaxAge
ACCESS read-write
STATUS mandatory
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 }
::= { ospfVirtIfEntry 4 }
ospfVirtIfHelloInterval OBJECT-TYPE
SYNTAX HelloRange
ACCESS read-write
STATUS mandatory
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 }
::= { ospfVirtIfEntry 5 }
ospfVirtIfRtrDeadInterval OBJECT-TYPE
SYNTAX PositiveInteger
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The number of seconds that a router's Hello packets
have not been seen before it's 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 }
::= { ospfVirtIfEntry 6 }
ospfVirtIfState OBJECT-TYPE
SYNTAX INTEGER {
down (1), -- these use the same encoding
pointToPoint (4) -- as the ospfIfTable
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"OSPF virtual interface states."
DEFVAL { down }
::= { ospfVirtIfEntry 7 }
ospfVirtIfEvents OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of state changes or error events on this
Virtual Link"
DEFVAL { 0 }
::= { ospfVirtIfEntry 8 }
ospfVirtIfAuthKey OBJECT-TYPE
SYNTAX OCTET STRING
ACCESS read-write
STATUS mandatory
DESCRIPTION
"If Authentication Type is simplePassword, the device
will left adjust and zero fill to 8 octets.
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 Validation
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This variable displays the validity or invalidity of
the entry. Setting it to 'invalid' has the effect of
rendering it inoperative. The internal effect (row
removal) is implementation dependent."
DEFVAL { valid }
::= { ospfVirtIfEntry 10 }
virtual links are the cutest little detour π¦ the transit area can't be 0.0.0.0, and the hello and dead intervals must be the same for the virtual neighbor π otherwise the two ends won't agree on who's alive. the timers have defaults of 1, 5, 10 and 60, which is literally iconic π
-- OSPF Neighbor Table
-- The OSPF Neighbor Table describes all neighbors in
-- the locality of the subject router.
ospfNbrTable OBJECT-TYPE
SYNTAX SEQUENCE OF OspfNbrEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table of non-virtual neighbor information."
REFERENCE
"OSPF Version 2, Section 10 The Neighbor Data
Structure"
::= { ospf 10 }
okay so we're still in the neighbor table, and it's giving very organized π
ospfNbrEntry OBJECT-TYPE
SYNTAX OspfNbrEntry
ACCESS not-accessible
STATUS mandatory
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
INTEGER,
ospfNbrPriority
DesignatedRouterPriority,
ospfNbrState
INTEGER,
ospfNbrEvents
Counter,
ospfNbrLSRetransQLen
Gauge,
ospfNBMANbrStatus
Validation
}
ospfNbrIpAddr OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP address of this neighbor."
::= { ospfNbrEntry 1 }
ospfNbrAddressLessIndex OBJECT-TYPE
SYNTAX InterfaceIndex
ACCESS read-write
STATUS mandatory
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
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A 32-bit integer (represented as a type IpAddress)
uniquely identifying the neighboring router in the
Autonomous System."
DEFVAL { '00000000'H } -- 0.0.0.0
::= { ospfNbrEntry 3 }
ospfNbrOptions OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A Bit Mask corresponding to the neighbor's options
field.
Bit 0, if set, indicates that the area accepts and
operates on external information; if zero, it is a stub
area.
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."
REFERENCE
"OSPF Version 2, Section 12.1.2 Options"
DEFVAL { 0 }
::= { ospfNbrEntry 4 }
ospfNbrPriority OBJECT-TYPE
SYNTAX DesignatedRouterPriority
ACCESS read-write
STATUS mandatory
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 }
::= { ospfNbrEntry 5 }
ospfNbrState OBJECT-TYPE
SYNTAX INTEGER {
down (1),
attempt (2),
init (3),
twoWay (4),
exchangeStart (5),
exchange (6),
loading (7),
full (8)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The State of the relationship with this Neighbor."
REFERENCE
"OSPF Version 2, Section 10.1 Neighbor States"
DEFVAL { down }
::= { ospfNbrEntry 6 }
ospfNbrEvents OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times this neighbor relationship has
changed state, or an error has occurred."
DEFVAL { 0 }
::= { ospfNbrEntry 7 }
ospfNbrLSRetransQLen OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The current length of the retransmission queue."
DEFVAL { 0 }
::= { ospfNbrEntry 8 }
ospfNBMANbrStatus OBJECT-TYPE
SYNTAX Validation
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This variable displays the validity or invalidity of
the entry. Setting it to 'invalid' has the effect of
rendering it inoperative. The internal effect (row
removal) is implementation dependent."
DEFVAL { valid }
::= { ospfNbrEntry 9 }
-- 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
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table of virtual neighbor information."
REFERENCE
"OSPF Version 2, Section 15 Virtual Links"
::= { ospf 11 }
ospfVirtNbrEntry OBJECT-TYPE
SYNTAX OspfVirtNbrEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Virtual neighbor information."
INDEX { ospfVirtNbrArea, ospfVirtNbrRtrId }
::= { ospfVirtNbrTable 1 }
OspfVirtNbrEntry ::=
SEQUENCE {
ospfVirtNbrArea
AreaID,
ospfVirtNbrRtrId
RouterID,
ospfVirtNbrIpAddr
IpAddress,
ospfVirtNbrOptions
INTEGER,
ospfVirtNbrState
INTEGER,
ospfVirtNbrEvents
Counter,
ospfVirtNbrLSRetransQLen
Gauge
}
ospfVirtNbrArea OBJECT-TYPE
SYNTAX AreaID
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The Transit Area Identifier."
::= { ospfVirtNbrEntry 1 }
ospfVirtNbrRtrId OBJECT-TYPE
SYNTAX RouterID
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A 32-bit integer uniquely identifying the neighboring
router in the Autonomous System."
::= { ospfVirtNbrEntry 2 }
ospfVirtNbrIpAddr OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The IP address this Virtual Neighbor is using."
::= { ospfVirtNbrEntry 3 }
ospfVirtNbrOptions OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A bit map corresponding to the neighbor's options
field. Thus, Bit 1, if set, indicates that the
neighbor supports Type of Service Routing; if zero, no
metrics other than TOS 0 are in use by the neighbor."
::= { ospfVirtNbrEntry 4 }
ospfVirtNbrState OBJECT-TYPE
SYNTAX INTEGER {
down (1),
attempt (2),
init (3),
twoWay (4),
exchangeStart (5),
exchange (6),
loading (7),
full (8)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The state of the Virtual Neighbor Relationship."
::= { ospfVirtNbrEntry 5 }
ospfVirtNbrEvents OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times this virtual link has changed its
state, or an error has occurred."
::= { ospfVirtNbrEntry 6 }
ospfVirtNbrLSRetransQLen OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The current length of the retransmission queue."
::= { ospfVirtNbrEntry 7 }
END
6. Acknowledgements π«Ά
Okay, big shoutout time! This document came out of the OSPF Working Group, and the Chairman was John Moy of Proteon. π
Huge thanks also to these amazing humans, whose comments made the whole thing better:
John Moy Proteon, Inc
Dino Farinacci 3COM
Stan Froyd Advanced Computer Communications
Steve Willis Wellfleet
John Burress Wellfleet
Keith McCloghrie Hughes LAN Systems
7. References π
Here's the reading list. Bookmark it, bestie. π§
[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", 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", 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", 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",
RFC 1212, Performance Systems International, Hughes LAN Systems,
March 1991.
[10] Moy, J., Editor, "The OSPF Specification, Version 2", RFC 1247,
Proteon, Inc., July 1991.
8. Security Considerations π
Plot twist: this memo has no security section to gossip about. π Security issues are not discussed in this memo.
9. Authors' Addresses π
Here's how to reach the authors, iykyk π¦
Fred Baker
Advanced Computer Communications
720 Santa Barbara Street
Santa Barbara, California 93101
Phone: (805) 963-9431
EMail: fbaker@acc.com
Rob Coltun
Computer Science Center
Computer and Space Sciences Building
College Park, Maryland 20742
Phone: (301) 921-8600
EMail: rcoltun@ni.umd.edu
Or send comments to ospf@trantor.umd.edu.
π¦ where this page comes from
- ietf: rfc1252 1991-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms