RFC 2096
IP Forwarding Table MIB
IP Forwarding Table MIB π
Okay bestie, here's the title block tea β. This is RFC 2096, IP Forwarding Table MIB, from the Network Working Group. F. Baker of Cisco Systems wrote it, it's dated January 1997, and it's a Standards Track doc. It obsoletes RFC 1354 π .
Status of This Memo β¨
This document specifies an Internet standards track protocol for the Internet community, and it asks for discussion and suggestions for improvements π. For the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited π«Ά.
Table of Contents π
1. Introduction .......................................... 1
2. The SNMP Network Management Framework ................. 2
2.1 Object Definitions ................................... 2
3. Overview .............................................. 2
4. Definitions ........................................... 3
5. Acknowledgements ...................................... 20
6. References ............................................ 20
7. Security Considerations ............................... 21
8. Author's Address ...................................... 21
1. Introduction β¨
Okay so this memo defines an update to RFC 1354, "IP Forwarding Table MIB", for Classless Inter-Domain Routing (CIDR) π¦. That doc was developed by the Router Requirements Working Group as an update to RFC 1213's ipRouteTable, and its main goal was displaying multiple routes as a primary objective π£οΈ.
The big difference between this MIB and RFC 1354 is that CIDR routes may have the same network number but different network masks. The group explicitly talked about this, but by consensus they left it for future work π. Note that this MIB obsoletes a number of objects from RFC 1354. Pay careful attention to the STATUS field, bestie π.
2. The SNMP Network Management Framework πΈ
The SNMP Network Management Framework currently has three major components. They are:
- the SMI, described in RFC 1902 [1]. These are the mechanisms used for describing and naming objects for the purpose of management π§.
- the MIB-II, STD 17, RFC 1213 [2]. This is the core set of managed objects for the Internet suite of protocols π.
- the protocol, RFC 1157 [6] and/or RFC 1905 [4]. This is the protocol for accessing managed information π₯.
Textual conventions are defined in RFC 1903 [3], and conformance statements are defined in RFC 1904 [5] π.
The Framework permits new objects to be defined for the purpose of experimentation and evaluation π§ͺ.
2.1. Object Definitions π¦
Managed objects are accessed via 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) defined in the SMI. In particular, each object object type is named by an OBJECT IDENTIFIER, which is an administratively assigned name π.
The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, called the descriptor, to refer to the object type π .
3. Overview π
The MIB consists of two tables and two global objects. Here's the breakdown, no cap π:
- The object
ipForwardNumberindicates the number of current routes. This is mainly so you don't have to read the table just to figure out that number π. - The
ipForwardTableupdates the RFC 1213 ipRouteTable to display multipath IP Routes. This is in turn obsoleted by theipCidrRouteTableπ. - The
ipCidrRouteTableupdates the RFC 1213 ipRouteTable to display multipath IP Routes having the same network number but differing network masks β.
4. Definitions π
Here's the actual MIB module, copied verbatim so every single character is safe π«Ά. Please don't touch the formatting, the implementers are counting on it π.
IP-FORWARD-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Integer32, Gauge32
FROM SNMPv2-SMI
RowStatus
FROM SNMPv2-TC
ip
FROM RFC1213-MIB
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF;
ipForward MODULE-IDENTITY
LAST-UPDATED "9609190000Z" -- Thu Sep 26 16:34:47 PDT 1996
ORGANIZATION "IETF OSPF Working Group"
CONTACT-INFO
" Fred Baker
Postal: Cisco Systems
519 Lado Drive
Santa Barbara, California 93111
Phone: +1 805 681 0115
Email: fred@cisco.com
"
DESCRIPTION
"The MIB module for the display of CIDR multipath IP Routes."
REVISION "9609190000Z"
DESCRIPTION
"Revisions made by the OSPF WG."
::= { ip 24 }
ipCidrRouteNumber OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of current ipCidrRouteTable entries
that are not invalid."
::= { ipForward 3 }
-- IP CIDR Route Table
-- The IP CIDR Route Table obsoletes and replaces the ipRoute
-- Table current in MIB-I and MIB-II and the IP Forwarding Table.
-- It adds knowledge of the autonomous system of the next hop,
-- multiple next hops, and policy routing, and Classless
-- Inter-Domain Routing.
ipCidrRouteTable OBJECT-TYPE
SYNTAX SEQUENCE OF IpCidrRouteEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This entity's IP Routing table."
REFERENCE
"RFC 1213 Section 6.6, The IP Group"
::= { ipForward 4 }
ipCidrRouteEntry OBJECT-TYPE
SYNTAX IpCidrRouteEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A particular route to a particular destina-
tion, under a particular policy."
INDEX {
ipCidrRouteDest,
ipCidrRouteMask,
ipCidrRouteTos,
ipCidrRouteNextHop
}
::= { ipCidrRouteTable 1 }
IpCidrRouteEntry ::=
SEQUENCE {
ipCidrRouteDest
IpAddress,
ipCidrRouteMask
IpAddress,
ipCidrRouteTos
Integer32,
ipCidrRouteNextHop
IpAddress,
ipCidrRouteIfIndex
Integer32,
ipCidrRouteType
INTEGER,
ipCidrRouteProto
INTEGER,
ipCidrRouteAge
Integer32,
ipCidrRouteInfo
OBJECT IDENTIFIER,
ipCidrRouteNextHopAS
Integer32,
ipCidrRouteMetric1
Integer32,
ipCidrRouteMetric2
Integer32,
ipCidrRouteMetric3
Integer32,
ipCidrRouteMetric4
Integer32,
ipCidrRouteMetric5
Integer32,
ipCidrRouteStatus
RowStatus
}
ipCidrRouteDest OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The destination IP address of this route.
This object may not take a Multicast (Class D)
address value.
Any assignment (implicit or otherwise) of an
instance of this object to a value x must be
rejected if the bitwise logical-AND of x with
the value of the corresponding instance of the
ipCidrRouteMask object is not equal to x."
::= { ipCidrRouteEntry 1 }
ipCidrRouteMask OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicate the mask to be logical-ANDed with the
destination address before being compared to
the value in the ipCidrRouteDest field. For
those systems that do not support arbitrary
subnet masks, an agent constructs the value of
the ipCidrRouteMask by reference to the IP Ad-
dress Class.
Any assignment (implicit or otherwise) of an
instance of this object to a value x must be
rejected if the bitwise logical-AND of x with
the value of the corresponding instance of the
ipCidrRouteDest object is not equal to ipCidrRoute-
Dest."
::= { ipCidrRouteEntry 2 }
-- The following convention is included for specification
-- of TOS Field contents. At this time, the Host Requirements
-- and the Router Requirements documents disagree on the width
-- of the TOS field. This mapping describes the Router
-- Requirements mapping, and leaves room to widen the TOS field
-- without impact to fielded systems.
ipCidrRouteTos OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The policy specifier is the IP TOS Field. The encoding
of IP TOS is as specified by the following convention.
Zero indicates the default path if no more specific
policy applies.
+-----+-----+-----+-----+-----+-----+-----+-----+
| | | |
| PRECEDENCE | TYPE OF SERVICE | 0 |
| | | |
+-----+-----+-----+-----+-----+-----+-----+-----+
IP TOS IP TOS
Field Policy Field Policy
Contents Code Contents Code
0 0 0 0 ==> 0 0 0 0 1 ==> 2
0 0 1 0 ==> 4 0 0 1 1 ==> 6
0 1 0 0 ==> 8 0 1 0 1 ==> 10
0 1 1 0 ==> 12 0 1 1 1 ==> 14
1 0 0 0 ==> 16 1 0 0 1 ==> 18
1 0 1 0 ==> 20 1 0 1 1 ==> 22
1 1 0 0 ==> 24 1 1 0 1 ==> 26
1 1 1 0 ==> 28 1 1 1 1 ==> 30"
::= { ipCidrRouteEntry 3 }
ipCidrRouteNextHop OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"On remote routes, the address of the next sys-
tem en route; Otherwise, 0.0.0.0."
::= { ipCidrRouteEntry 4 }
ipCidrRouteIfIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The ifIndex value which identifies the local
interface through which the next hop of this
route should be reached."
DEFVAL { 0 }
::= { ipCidrRouteEntry 5 }
ipCidrRouteType OBJECT-TYPE
SYNTAX INTEGER {
other (1), -- not specified by this MIB
reject (2), -- route which discards traffic
local (3), -- local interface
remote (4) -- remote destination
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of route. Note that local(3) refers
to a route for which the next hop is the final
destination; remote(4) refers to a route for
which the next hop is not the final destina-
tion.
Routes which do not result in traffic forwarding or
rejection should not be displayed even if the
implementation keeps them stored internally.
reject (2) refers to a route which, if matched, discards
the message as unreachable. This is used in some
protocols as a means of correctly aggregating routes."
::= { ipCidrRouteEntry 6 }
Part 1 of 3 is done, bestie π¦ more of the spec is coming next, so stay tuned π
ipCidrRouteProto OBJECT-TYPE
SYNTAX INTEGER {
other (1), -- not specified
local (2), -- local interface
netmgmt (3), -- static route
icmp (4), -- result of ICMP Redirect
-- the following are all dynamic
-- routing protocols
egp (5), -- Exterior Gateway Protocol
ggp (6), -- Gateway-Gateway Protocol
hello (7), -- FuzzBall HelloSpeak
rip (8), -- Berkeley RIP or RIP-II
isIs (9), -- Dual IS-IS
esIs (10), -- ISO 9542
ciscoIgrp (11), -- Cisco IGRP
bbnSpfIgp (12), -- BBN SPF IGP
ospf (13), -- Open Shortest Path First
bgp (14), -- Border Gateway Protocol
idpr (15), -- InterDomain Policy Routing
ciscoEigrp (16) -- Cisco EIGRP
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The routing mechanism via which this route was
learned. Inclusion of values for gateway rout-
ing protocols is not intended to imply that
hosts should support those protocols."
::= { ipCidrRouteEntry 7 }
okay so ipCidrRouteProto is basically the "how did you even find out about this route?" field π¦ It's an INTEGER with a little menu of options: other (1) means not specified, local (2) means it's a local interface, netmgmt (3) is a static route, and icmp (4) means it came from an ICMP Redirect π . Then comes the dynamic crowd, from EGP all the way to Cisco EIGRP, so routing protocols like RIP, OSPF, and BGP all get their own number π₯. Lowkey the most important part is the note that listing a gateway protocol here does not mean hosts are expected to speak it π it's just a label, bestie.
ipCidrRouteAge OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of seconds since this route was
last updated or otherwise determined to be
correct. Note that no semantics of `too old'
can be implied except through knowledge of the
routing protocol by which the route was
learned."
DEFVAL { 0 }
::= { ipCidrRouteEntry 8 }
ipCidrRouteAge is the stopwatch for each route β±οΈ It counts the seconds since the route was last updated or confirmed as correct, and it starts at 0 by default β¨ Here's the tea though: you can't decide a route is "too old" just by looking at the number. You need to know the routing protocol that taught it to you first π§
ipCidrRouteInfo OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A reference to MIB definitions specific to the
particular routing protocol which is responsi-
ble for this route, as determined by the value
specified in the route's ipCidrRouteProto value.
If this information is not present, its value
should be set to the OBJECT IDENTIFIER { 0 0 },
which is a syntactically valid object identif-
ier, and any implementation conforming to ASN.1
and the Basic Encoding Rules must be able to
generate and recognize this value."
::= { ipCidrRouteEntry 9 }
ipCidrRouteInfo is a pointer, an OBJECT IDENTIFIER that points you to the MIB definitions for whichever routing protocol is responsible for the route π The protocol is picked by the ipCidrRouteProto value. If there's no extra info, the value should be set to { 0 0 }, which is a totally valid OID. Any ASN.1 and BER implementation has to be able to make and recognize that value, so nobody gets confused πΈ
ipCidrRouteNextHopAS OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The Autonomous System Number of the Next Hop.
The semantics of this object are determined by
the routing-protocol specified in the route's
ipCidrRouteProto value. When this object is
unknown or not relevant its value should be set
to zero."
DEFVAL { 0 }
::= { ipCidrRouteEntry 10 }
ipCidrRouteNextHopAS holds the Autonomous System Number of the next hop π What it actually means depends on the routing protocol in ipCidrRouteProto, so it's a vibe check based on context. If the AS number is unknown or just doesn't apply, you set it to zero, which is the default.
ipCidrRouteMetric1 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The primary routing metric for this route.
The semantics of this metric are determined by
the routing-protocol specified in the route's
ipCidrRouteProto value. If this metric is not
used, its value should be set to -1."
DEFVAL { -1 }
::= { ipCidrRouteEntry 11 }
ipCidrRouteMetric2 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An alternate routing metric for this route.
The semantics of this metric are determined by
the routing-protocol specified in the route's
ipCidrRouteProto value. If this metric is not
used, its value should be set to -1."
DEFVAL { -1 }
::= { ipCidrRouteEntry 12 }
ipCidrRouteMetric3 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An alternate routing metric for this route.
The semantics of this metric are determined by
the routing-protocol specified in the route's
ipCidrRouteProto value. If this metric is not
used, its value should be set to -1."
DEFVAL { -1 }
::= { ipCidrRouteEntry 13 }
ipCidrRouteMetric4 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An alternate routing metric for this route.
The semantics of this metric are determined by
the routing-protocol specified in the route's
ipCidrRouteProto value. If this metric is not
used, its value should be set to -1."
DEFVAL { -1 }
::= { ipCidrRouteEntry 14 }
ipCidrRouteMetric5 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An alternate routing metric for this route.
The semantics of this metric are determined by
the routing-protocol specified in the route's
ipCidrRouteProto value. If this metric is not
used, its value should be set to -1."
DEFVAL { -1 }
::= { ipCidrRouteEntry 15 }
Okay, the metrics are the scoreboard for each route π ipCidrRouteMetric1 is the primary one, and ipCidrRouteMetric2 through ipCidrRouteMetric5 are the alternates π Just like the AS number, what they measure is decided by the routing protocol in ipCidrRouteProto. If a metric isn't being used, you set it to -1, and that's the default for all five π
ipCidrRouteStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The row status variable, used according to
row installation and removal conventions."
::= { ipCidrRouteEntry 16 }
-- conformance information
ipForwardConformance OBJECT IDENTIFIER ::= { ipForward 5 }
ipForwardGroups OBJECT IDENTIFIER ::= { ipForwardConformance 1 }
ipForwardCompliances OBJECT IDENTIFIER ::= { ipForwardConformance 2 }
-- compliance statements
ipForwardCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities
which implement the ipForward MIB."
MODULE -- this module
MANDATORY-GROUPS { ipForwardCidrRouteGroup }
::= { ipForwardCompliances 1 }
-- units of conformance
ipForwardCidrRouteGroup OBJECT-GROUP
OBJECTS { ipCidrRouteNumber,
ipCidrRouteDest, ipCidrRouteMask, ipCidrRouteTos,
ipCidrRouteNextHop, ipCidrRouteIfIndex, ipCidrRouteType,
ipCidrRouteProto, ipCidrRouteAge, ipCidrRouteInfo,
ipCidrRouteNextHopAS, ipCidrRouteMetric1,
ipCidrRouteMetric2, ipCidrRouteMetric3,
ipCidrRouteMetric4, ipCidrRouteMetric5, ipCidrRouteStatus
}
STATUS current
DESCRIPTION
"The CIDR Route Table."
::= { ipForwardGroups 3 }
ipCidrRouteStatus is the RowStatus switch that controls installing and removing rows, following the usual row conventions π Then we get the conformance bit: the ipForward OIDs get split into groups and compliances π§© The compliance statement is for SNMPv2 entities that implement the ipForward MIB, and the one mandatory group is ipForwardCidrRouteGroup π That group bundles up every ipCidrRoute object and is basically the CIDR Route Table, no cap π
-- Obsoleted Definitions - Objects
ipForwardNumber OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS obsolete
DESCRIPTION
"The number of current ipForwardTable entries
that are not invalid."
::= { ipForward 1 }
-- IP Forwarding Table
-- The IP Forwarding Table obsoletes and replaces the ipRoute
-- Table current in MIB-I and MIB-II. It adds knowledge of
-- the autonomous system of the next hop, multiple next hop
-- support, and policy routing support.
ipForwardTable OBJECT-TYPE
SYNTAX SEQUENCE OF IpForwardEntry
MAX-ACCESS not-accessible
STATUS obsolete
DESCRIPTION
"This entity's IP Routing table."
REFERENCE
"RFC 1213 Section 6.6, The IP Group"
::= { ipForward 2 }
ipForwardEntry OBJECT-TYPE
SYNTAX IpForwardEntry
MAX-ACCESS not-accessible
STATUS obsolete
DESCRIPTION
"A particular route to a particular destina-
tion, under a particular policy."
INDEX {
ipForwardDest,
ipForwardProto,
ipForwardPolicy,
ipForwardNextHop
}
::= { ipForwardTable 1 }
IpForwardEntry ::=
SEQUENCE {
ipForwardDest
IpAddress,
ipForwardMask
IpAddress,
ipForwardPolicy
Integer32,
ipForwardNextHop
IpAddress,
ipForwardIfIndex
Integer32,
ipForwardType
INTEGER,
ipForwardProto
INTEGER,
ipForwardAge
Integer32,
ipForwardInfo
OBJECT IDENTIFIER,
ipForwardNextHopAS
Integer32,
ipForwardMetric1
Integer32,
ipForwardMetric2
Integer32,
ipForwardMetric3
Integer32,
ipForwardMetric4
Integer32,
ipForwardMetric5
Integer32
}
ipForwardDest OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS obsolete
DESCRIPTION
"The destination IP address of this route. An
entry with a value of 0.0.0.0 is considered a
default route.
This object may not take a Multicast (Class D)
address value.
Any assignment (implicit or otherwise) of an
instance of this object to a value x must be
rejected if the bitwise logical-AND of x with
the value of the corresponding instance of the
ipForwardMask object is not equal to x."
::= { ipForwardEntry 1 }
ipForwardMask OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"Indicate the mask to be logical-ANDed with the
destination address before being compared to
the value in the ipForwardDest field. For
those systems that do not support arbitrary
subnet masks, an agent constructs the value of
the ipForwardMask by reference to the IP Ad-
dress Class.
Any assignment (implicit or otherwise) of an
instance of this object to a value x must be
rejected if the bitwise logical-AND of x with
the value of the corresponding instance of the
ipForwardDest object is not equal to ipForward-
Dest."
DEFVAL { '00000000'h } -- 0.0.0.0
::= { ipForwardEntry 2 }
Now we're in the obsolete zone πͺ¦ but these still matter because they explain the history. ipForwardNumber counts the current ipForwardTable entries that aren't invalid π’ The ipForwardTable is the old IP routing table from RFC 1213 Section 6.6, and the notes say the new IP Forwarding Table obsoletes and replaces the ipRoute table from MIB-I and MIB-II β¨ It upgrades things with the next hop's autonomous system, multiple next hops, and policy routing π
The index for each entry is built from ipForwardDest, ipForwardProto, ipForwardPolicy, and ipForwardNextHop π§ The big IpForwardEntry sequence lists all of the fields in order, like a little checklist π
ipForwardDest is the destination IP address, and 0.0.0.0 means it's a default route πΈ It can't be a Multicast (Class D) address, and any assignment to it has to get rejected unless the bitwise logical-AND with ipForwardMask matches the destination exactly π
ββοΈ ipForwardMask is the mask that gets ANDed with the destination before the comparison happens. Systems that don't support arbitrary subnet masks have the agent work out the mask from the IP Address Class instead π¦ The same rejection rule applies here too, and the default is '00000000'h, which is 0.0.0.0.
ipForwardPolicy OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS obsolete
DESCRIPTION
"The general set of conditions that would cause
the selection of one multipath route (set of
next hops for a given destination) is referred
to as 'policy'.
Unless the mechanism indicated by ipForwardPro-
to specifies otherwise, the policy specifier is
the IP TOS Field. The encoding of IP TOS is as
specified by the following convention. Zero
indicates the default path if no more specific
policy applies.
+-----+-----+-----+-----+-----+-----+-----+-----+
| | | |
| PRECEDENCE | TYPE OF SERVICE | 0 |
| | | |
+-----+-----+-----+-----+-----+-----+-----+-----+
IP TOS IP TOS
Field Policy Field Policy
Contents Code Contents Code
0 0 0 0 ==> 0 0 0 0 1 ==> 2
0 0 1 0 ==> 4 0 0 1 1 ==> 6
0 1 0 0 ==> 8 0 1 0 1 ==> 10
0 1 1 0 ==> 12 0 1 1 1 ==> 14
1 0 0 0 ==> 16 1 0 0 1 ==> 18
1 0 1 0 ==> 20 1 0 1 1 ==> 22
1 1 0 0 ==> 24 1 1 0 1 ==> 26
1 1 1 0 ==> 28 1 1 1 1 ==> 30
Protocols defining 'policy' otherwise must ei-
ther define a set of values which are valid for
this object or must implement an integer-
instanced policy table for which this object's
value acts as an index."
::= { ipForwardEntry 3 }
ipForwardPolicy is the "which road do I take?" object π£οΈ A policy is the general set of conditions that picks one multipath route, meaning one set of next hops for a given destination π
Unless the protocol in ipForwardProto says otherwise, the policy specifier is the IP TOS field, and zero means the default path when no more specific policy applies π The diagram splits the TOS byte into PRECEDENCE, TYPE OF SERVICE, and a trailing 0, and the table shows how each TOS field pattern maps to a policy code, like 0 0 0 1 becoming 2 and 1 1 1 1 becoming 30 π Any protocol that defines policy differently has to either list its valid values for this object or implement an integer-instanced policy table that this object indexes into π«Ά
ipForwardNextHop OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS obsolete
DESCRIPTION
"On remote routes, the address of the next sys-
tem en route; Otherwise, 0.0.0.0."
::= { ipForwardEntry 4 }
ipForwardIfIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"The ifIndex value which identifies the local
interface through which the next hop of this
route should be reached."
DEFVAL { 0 }
::= { ipForwardEntry 5 }
ipForwardType OBJECT-TYPE
SYNTAX INTEGER {
other (1), -- not specified by this MIB
invalid (2), -- logically deleted
local (3), -- local interface
remote (4) -- remote destination
}
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"The type of route. Note that local(3) refers
to a route for which the next hop is the final
destination; remote(4) refers to a route for
which the next hop is not the final destina-
tion.
Setting this object to the value invalid(2) has
the effect of invalidating the corresponding
entry in the ipForwardTable object. That is,
it effectively disassociates the destination
identified with said entry from the route iden-
tified with said entry. It is an
implementation-specific matter as to whether
the agent removes an invalidated entry from the
table. Accordingly, management stations must
be prepared to receive tabular information from
agents that corresponds to entries not current-
ly in use. Proper interpretation of such en-
tries requires examination of the relevant ip-
ForwardType object."
DEFVAL { invalid }
::= { ipForwardEntry 6 }
ipForwardProto OBJECT-TYPE
SYNTAX INTEGER {
other (1), -- not specified
local (2), -- local interface
netmgmt (3), -- static route
icmp (4), -- result of ICMP Redirect
-- the following are all dynamic
-- routing protocols
egp (5), -- Exterior Gateway Protocol
ggp (6), -- Gateway-Gateway Protocol
hello (7), -- FuzzBall HelloSpeak
rip (8), -- Berkeley RIP or RIP-II
is-is (9), -- Dual IS-IS
es-is (10), -- ISO 9542
ciscoIgrp (11), -- Cisco IGRP
bbnSpfIgp (12), -- BBN SPF IGP
ospf (13), -- Open Shortest Path First
bgp (14), -- Border Gateway Protocol
idpr (15) -- InterDomain Policy Routing
}
MAX-ACCESS read-only
STATUS obsolete
DESCRIPTION
"The routing mechanism via which this route was
learned. Inclusion of values for gateway rout-
ing protocols is not intended to imply that
hosts should support those protocols."
::= { ipForwardEntry 7 }
ipForwardAge OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS obsolete
DESCRIPTION
"The number of seconds since this route was
last updated or otherwise determined to be
correct. Note that no semantics of `too old'
can be implied except through knowledge of the
routing protocol by which the route was
learned."
DEFVAL { 0 }
::= { ipForwardEntry 8 }
ipForwardInfo OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"A reference to MIB definitions specific to the
particular routing protocol which is responsi-
ble for this route, as determined by the value
specified in the route's ipForwardProto value.
If this information is not present, its value
should be set to the OBJECT IDENTIFIER { 0 0 },
which is a syntactically valid object identif-
ier, and any implementation conforming to ASN.1
and the Basic Encoding Rules must be able to
generate and recognize this value."
::= { ipForwardEntry 9 }
ipForwardNextHopAS OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"The Autonomous System Number of the Next Hop.
When this is unknown or not relevant to the
protocol indicated by ipForwardProto, zero."
DEFVAL { 0 }
::= { ipForwardEntry 10 }
ipForwardMetric1 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"The primary routing metric for this route.
The semantics of this metric are determined by
the routing-protocol specified in the route's
ipForwardProto value. If this metric is not
used, its value should be set to -1."
DEFVAL { -1 }
::= { ipForwardEntry 11 }
ipForwardMetric2 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"An alternate routing metric for this route.
The semantics of this metric are determined by
the routing-protocol specified in the route's
ipForwardProto value. If this metric is not
used, its value should be set to -1."
DEFVAL { -1 }
::= { ipForwardEntry 12 }
ipForwardMetric3 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"An alternate routing metric for this route.
The semantics of this metric are determined by
the routing-protocol specified in the route's
ipForwardProto value. If this metric is not
used, its value should be set to -1."
DEFVAL { -1 }
::= { ipForwardEntry 13 }
ipForwardMetric4 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"An alternate routing metric for this route.
The semantics of this metric are determined by
the routing-protocol specified in the route's
ipForwardProto value. If this metric is not
used, its value should be set to -1."
DEFVAL { -1 }
::= { ipForwardEntry 14 }
ipForwardMetric5 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"An alternate routing metric for this route.
The semantics of this metric are determined by
the routing-protocol specified in the route's
ipForwardProto value. If this metric is not
used, its value should be set to -1."
DEFVAL { -1 }
::= { ipForwardEntry 15 }
-- Obsoleted Definitions - Groups
-- compliance statements
ipForwardOldCompliance MODULE-COMPLIANCE
STATUS obsolete
DESCRIPTION
"The compliance statement for SNMP entities
which implement the ipForward MIB."
MODULE -- this module
MANDATORY-GROUPS { ipForwardMultiPathGroup }
::= { ipForwardCompliances 2 }
ipForwardMultiPathGroup OBJECT-GROUP
OBJECTS { ipForwardNumber,
ipForwardDest, ipForwardMask, ipForwardPolicy,
ipForwardNextHop, ipForwardIfIndex, ipForwardType,
ipForwardProto, ipForwardAge, ipForwardInfo,
ipForwardNextHopAS,
ipForwardMetric1, ipForwardMetric2, ipForwardMetric3,
ipForwardMetric4, ipForwardMetric5
}
STATUS obsolete
DESCRIPTION
"IP Multipath Route Table."
::= { ipForwardGroups 2 }
END
5. Acknowledgements π
okay so this work was originally done by the Router Requirements Working Group at the request of the OSPF Working Group β¨. This update was then done under the auspices of the OSPF Working Group, and John Moy of Proteon Incorporated is the chair π.
6. References π
[1] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1442, SNMP Research, Inc., Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon University, April 1993.
[2] Galvin, J., and K. McCloghrie, "Administrative Model for version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1445, Trusted Information Systems, Hughes LAN Systems, April 1993.
[3] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1448, SNMP Research, Inc., Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon University, April 1993.
[4] McCloghrie, K., and M. Rose, "Management Information Base for Network Management of TCP/IP-based internets - MIB-II", STD 17, RFC 1213, Hughes LAN Systems, Performance Systems International, March 1991.
[5] Postel, J., "Internet Protocol", STD 5, RFC 791, USC/Information Sciences Institute, September 1981.
[6] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual Conventions for version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1443, SNMP Research, Inc., Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon University, April 1993.
[7] Baker, F., "IP Forwarding Table MIB", RFC 1354, July 1992.
7. Security Considerations π¨
Security is an objective not in this MIB view. π Read that again, bestie: this MIB is not the place where security lives, so don't go looking for it here π
8. Author's Address π¦
Fred Baker
Cisco Systems
519 Lado Drive
Santa Barbara, California 93111
Phone: +1 805 681 0115
EMail: fred@cisco.com
π¦ where this page comes from
- ietf: rfc2096 1997-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms