IPv6 MIB Revision Design Team Bill Fenner
INTERNET-DRAFT AT&T Research
Expires: August 2001 Brian Haberman
Nortel Networks
Juergen Schoenwalder
TU Braunschweig
Dave Thaler
Microsoft
February 2001
IP Forwarding Table MIB
draft-ops-rfc2096-update-00.txt
Status of this Document
This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Task
Force (IETF), its areas, and its working groups. Note that other groups
may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference material
or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This document is a product of the IPv6 MIB Revision Design Team.
Comments should be addressed to the authors, or the mailing list at
ipv6mib@ibr.cs.tu-bs.de.
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Fenner [Page 1]
INTERNET-DRAFT Expires: August 2001 February 2001
Abstract
This memo defines a portion of the Management Information Base (MIB) for
use with network management protocols in the Internet community. In
particular, it describes managed objects used for implementations of the
Internet Protocol (IP) in an IP version independent manner.
Table of Contents
1. The SNMP Management Framework . . . . . . . . . . . . . . . . . . 2
2. Revision History. . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5. Open Issues / To Do . . . . . . . . . . . . . . . . . . . . . . . 26
6. Acknoledgments. . . . . . . . . . . . . . . . . . . . . . . . . . 26
7. References. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8. Security Considerations . . . . . . . . . . . . . . . . . . . . . 27
9. Editor's Address. . . . . . . . . . . . . . . . . . . . . . . . . 28
10. Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 28
1. The SNMP Management Framework
The SNMP Management Framework presently consists of five major
components:
o An overall architecture, described in RFC 2571 [2].
o Mechanisms for describing and naming objects and events for the
purpose of management. The first version of this Structure of
Management Information (SMI) is called SMIv1 and described in STD 16,
RFC 1155 [3], STD 16, RFC 1212 [4] and RFC 1215 [5]. The second
version, called SMIv2, is described in STD 58, RFC 2578 [6], STD 58,
RFC 2579 [7] and STD 58, RFC 2580 [8].
o Message protocols for transferring management information. The first
version of the SNMP message protocol is called SNMPv1 and described in
STD 15, RFC 1157 [9]. A second version of the SNMP message protocol,
which is not an Internet standards track protocol, is called SNMPv2c
and described in RFC 1901 [10] and RFC 1906 [11]. The third version of
the message protocol is called SNMPv3 and described in RFC 1906 [11],
RFC 2572 [12] and RFC 2574 [13].
o Protocol operations for accessing management information. The first
set of protocol operations and associated PDU formats is described in
STD 15, RFC 1157 [9]. A second set of protocol operations and
associated PDU formats is described in RFC 1905 [14].
Fenner Section 1. [Page 2]
INTERNET-DRAFT Expires: August 2001 February 2001
o A set of fundamental applications described in RFC 2573 [15] and the
view-based access control mechanism described in RFC 2575 [16].
A more detailed introduction to the current SNMP Management Framework
can be found in RFC 2570 [17].
Managed objects are accessed via a virtual information store, termed the
Management Information Base or MIB. Objects in the MIB are defined
using the mechanisms defined in the SMI.
This memo specifies a MIB module that is compliant to the SMIv2. A MIB
conforming to the SMIv1 can be produced through the appropriate
translations. The resulting translated MIB must be semantically
equivalent, except where objects or events are omitted because no
translation is possible (use of Counter64). Some machine readable
information in SMIv2 will be converted into textual descriptions in
SMIv1 during the translation process. However, this loss of machine
readable information is not considered to change the semantics of the
MIB.
2. Revision History
Changes from first draft posted to v6mib mailing list:
23 Feb 2001
Update MODULE-IDENTITY
Delete inetCidrRouteTos, add inetCidrRouteInstance in INDEX of
inetCidrRouteTable.
Use InterfaceIndex, InetAddressPrefixLength and
InetAutonomousSystemNumber TC's, and limit the SIZE of
inetCidrRouteDest and inetCidrRouteNextHop
Update conformance info.
Added copyright and table of contents.
3. Overview
The MIB consists of three tables and one? global object.
(1) The object ipForwardNumber indicates the number of current routes.
This is primarily to avoid having to read the table in order to
determine this number.
Fenner Section 3. [Page 3]
INTERNET-DRAFT Expires: August 2001 February 2001
(2) The ipForwardTable updates the RFC 1213 ipRouteTable to display
multipath IP Routes. This is in turn obsoleted by the
ipCidrRouteTable.
(3) The ipCidrRouteTable updates the RFC 1213 ipRouteTable to display
multipath IP Routes having the same network number but differing
network masks.
(4) The inetCidrRouteTable updates the RFC 2096 ipCidrRouteTable to
contain IP version independent routing information.
4. Definitions
IP-FORWARD-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
IpAddress, Integer32, Gauge32,
Unsigned32 FROM SNMPv2-SMI
RowStatus FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
InterfaceIndex FROM IF-MIB
ip FROM IP-MIB
IANAipRouteProtocol FROM IANA-RTPROTO-MIB
InetAddress, InetAddressType,
InetAddressPrefixLength,
InetAutonomousSystemNumber FROM INET-ADDRESS-MIB;
ipForward MODULE-IDENTITY
LAST-UPDATED "200102220000Z"
ORGANIZATION "IETF IPv6 MIB Revision Team"
CONTACT-INFO
"Editor:
Bill Fenner
AT&T Labs - Research
75 Willow Rd
Menlo Park, CA
Phone: +1 650 330-7893
Email: <fenner@research.att.com>"
DESCRIPTION
"The MIB module for the management of CIDR multipath IP
Routes."
REVISION "200102220000Z"
DESCRIPTION
"IP version neutral revision, published as RFC XXXX."
REVISION "9609190000Z"
DESCRIPTION
Fenner Section 4. [Page 4]
INTERNET-DRAFT Expires: August 2001 February 2001
"Revised to support CIDR routes."
::= { ip 24 }
inetCidrRouteNumber OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of current inetCidrRouteTable entries that are
not invalid."
::= { ipForward 6 }
-- Inet CIDR Route Table
-- The Inet CIDR Route Table deprecates and replaces the ipCidrRoute
-- Table currently in the IP Forwarding Table MIB.
-- It adds IP protocol independence.
inetCidrRouteTable OBJECT-TYPE
SYNTAX SEQUENCE OF InetCidrRouteEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This entity's IP Routing table."
REFERENCE
"RFC 1213 Section 6.6, The IP Group"
::= { ipForward 7 }
inetCidrRouteEntry OBJECT-TYPE
SYNTAX InetCidrRouteEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A particular route to a particular destination, under a
particular policy."
INDEX {
inetCidrRouteInstance,
inetCidrRouteDestType,
inetCidrRouteDest,
inetCidrRoutePfxLen,
inetCidrRouteNextHopType,
inetCidrRouteNextHop
}
::= { inetCidrRouteTable 1 }
InetCidrRouteEntry ::= SEQUENCE {
inetCidrRouteInstance Unsigned32,
inetCidrRouteDestType InetAddressType,
Fenner Section 4. [Page 5]
INTERNET-DRAFT Expires: August 2001 February 2001
inetCidrRouteDest InetAddress,
inetCidrRoutePfxLen InetAddressPrefixLength,
inetCidrRouteNextHopType InetAddressType,
inetCidrRouteNextHop InetAddress,
inetCidrRouteIfIndex InterfaceIndex,
inetCidrRouteType INTEGER,
inetCidrRouteProto IANAipRouteProtocol,
inetCidrRouteAge Integer32,
inetCidrRouteNextHopAS InetAutonomousSystemNumber,
inetCidrRouteMetric1 Integer32,
inetCidrRouteMetric2 Integer32,
inetCidrRouteMetric3 Integer32,
inetCidrRouteMetric4 Integer32,
inetCidrRouteMetric5 Integer32,
inetCidrRouteStatus RowStatus
}
inetCidrRouteInstance OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The instance identifier of the (conceptual) routing table
containing this route. This identifier may be used to
represent multiple routing tables, type-of-service routing,
or any other use of multiple tables.
XXX This needs more discussion."
::= { inetCidrRouteEntry 1 }
inetCidrRouteDestType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The type of ipCidrRouteDest. Only IPv4 and IPv6 addresses
are expected."
::= { inetCidrRouteEntry 2 }
inetCidrRouteDest OBJECT-TYPE
SYNTAX InetAddress (SIZE(0..36))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The destination IP address of this route.
Any assignment (implicit or otherwise) of an instance of
this object to a value x must be rejected if the bitwise
Fenner Section 4. [Page 6]
INTERNET-DRAFT Expires: August 2001 February 2001
logical-AND of x with the value of the mask formed from the
corresponding instance of the inetCidrRoutePfxLen object is
not equal to x."
::= { inetCidrRouteEntry 3 }
inetCidrRoutePfxLen OBJECT-TYPE
SYNTAX InetAddressPrefixLength
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Indicate the number of leading one bits which form the mask
to be logical-ANDed with the destination address before
being compared to the value in the ipCidrRouteDest field.
Any assignment (implicit or otherwise) of an instance of
this object to a value x must be rejected if the bitwise
logical-AND of the mask formed from x with the value of the
corresponding instance of the inetCidrRouteDest object is
not equal to inetCidrRouteDest."
::= { inetCidrRouteEntry 4 }
inetCidrRouteNextHopType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The address type of inetCidrRouteNextHop. Must be the same
as that of inetCidrRouteDestType, or unknown if there is no
next hop."
::= { inetCidrRouteEntry 5 }
inetCidrRouteNextHop OBJECT-TYPE
SYNTAX InetAddress (SIZE(0..36))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"On remote routes, the address of the next system en route;
Otherwise, a zero-length string."
::= { inetCidrRouteEntry 6 }
inetCidrRouteIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
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."
::= { inetCidrRouteEntry 7 }
Fenner Section 4. [Page 7]
INTERNET-DRAFT Expires: August 2001 February 2001
inetCidrRouteType OBJECT-TYPE
SYNTAX INTEGER {
other (1), -- not specified by this MIB
reject (2), -- route which discards traffic and
-- returns notification
local (3), -- local interface
remote (4), -- remote destination
blackhole(5) -- route which discards traffic silently
}
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
destination.
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 and returns a notification (e.g. ICMP
error) to the message sender. This is used in some
protocols as a means of correctly aggregating routes.
blackhole(5) refers to a route which, if matched, discards
the message silently."
::= { inetCidrRouteEntry 8 }
inetCidrRouteProto OBJECT-TYPE
SYNTAX IANAipRouteProtocol
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The routing mechanism via which this route was learned.
Inclusion of values for gateway routing protocols is not
intended to imply that hosts should support those
protocols."
::= { inetCidrRouteEntry 9 }
-- XXX new type? TimeTicks?
inetCidrRouteAge 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
Fenner Section 4. [Page 8]
INTERNET-DRAFT Expires: August 2001 February 2001
of `too old' can be implied except through knowledge of the
routing protocol by which the route was learned."
::= { inetCidrRouteEntry 10 }
inetCidrRouteNextHopAS OBJECT-TYPE
SYNTAX InetAutonomousSystemNumber
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 inetCidrRouteProto value. When this
object is unknown or not relevant its value should be set to
zero."
DEFVAL { 0 }
::= { inetCidrRouteEntry 11 }
inetCidrRouteMetric1 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 inetCidrRouteProto value. If this metric is
not used, its value should be set to -1."
DEFVAL { -1 }
::= { inetCidrRouteEntry 12 }
inetCidrRouteMetric2 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 inetCidrRouteProto value. If this
metric is not used, its value should be set to -1."
DEFVAL { -1 }
::= { inetCidrRouteEntry 13 }
inetCidrRouteMetric3 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
Fenner Section 4. [Page 9]
INTERNET-DRAFT Expires: August 2001 February 2001
specified in the route's inetCidrRouteProto value. If this
metric is not used, its value should be set to -1."
DEFVAL { -1 }
::= { inetCidrRouteEntry 14 }
inetCidrRouteMetric4 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 inetCidrRouteProto value. If this
metric is not used, its value should be set to -1."
DEFVAL { -1 }
::= { inetCidrRouteEntry 15 }
inetCidrRouteMetric5 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 inetCidrRouteProto value. If this
metric is not used, its value should be set to -1."
DEFVAL { -1 }
::= { inetCidrRouteEntry 16 }
inetCidrRouteStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The row status variable, used according to row installation
and removal conventions."
::= { inetCidrRouteEntry 17 }
-- Conformance information
ipForwardConformance OBJECT IDENTIFIER ::= { ipForward 5 }
ipForwardGroups OBJECT IDENTIFIER ::= { ipForwardConformance 1 }
ipForwardCompliances OBJECT IDENTIFIER ::= { ipForwardConformance 2 }
-- Compliance statements
Fenner Section 4. [Page 10]
INTERNET-DRAFT Expires: August 2001 February 2001
ipForwardCompliance2 MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for systems which have routing
tables. XXX is this right?"
MODULE -- this module
MANDATORY-GROUPS { inetForwardCidrRouteGroup }
::= { ipForwardCompliances 3 }
-- units of conformance
inetForwardCidrRouteGroup OBJECT-GROUP
OBJECTS { inetCidrRouteNumber,
inetCidrRouteIfIndex, inetCidrRouteType,
inetCidrRouteProto, inetCidrRouteAge,
inetCidrRouteNextHopAS, inetCidrRouteMetric1,
inetCidrRouteMetric2, inetCidrRouteMetric3,
inetCidrRouteMetric4, inetCidrRouteMetric5, inetCidrRouteStatus
}
STATUS current
DESCRIPTION
"The IP version independent CIDR Route Table."
::= { ipForwardGroups 4 }
-- Deprecated Objects
ipCidrRouteNumber OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The number of current ipCidrRouteTable entries that are not
invalid. This object is deprecated in favor of
inetCidrRouteNumber and the inetCidrRouteTable."
::= { 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 deprecated
Fenner Section 4. [Page 11]
INTERNET-DRAFT Expires: August 2001 February 2001
DESCRIPTION
"This entity's IP Routing table. This table has been
deprecated in favor of the IP version neutral
inetCidrRouteTable."
REFERENCE
"RFC 1213 Section 6.6, The IP Group"
::= { ipForward 4 }
ipCidrRouteEntry OBJECT-TYPE
SYNTAX IpCidrRouteEntry
MAX-ACCESS not-accessible
STATUS deprecated
DESCRIPTION
"A particular route to a particular destination, 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 deprecated
DESCRIPTION
"The destination IP address of this route.
Fenner Section 4. [Page 12]
INTERNET-DRAFT Expires: August 2001 February 2001
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 deprecated
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 Address
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
ipCidrRouteDest."
::= { 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 (0..2147483647)
MAX-ACCESS read-only
STATUS deprecated
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 |
Fenner Section 4. [Page 13]
INTERNET-DRAFT Expires: August 2001 February 2001
| | | |
+-----+-----+-----+-----+-----+-----+-----+-----+
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 deprecated
DESCRIPTION
"On remote routes, the address of the next system en route;
Otherwise, 0.0.0.0."
::= { ipCidrRouteEntry 4 }
ipCidrRouteIfIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS deprecated
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 deprecated
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
Fenner Section 4. [Page 14]
INTERNET-DRAFT Expires: August 2001 February 2001
destination.
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 }
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 deprecated
DESCRIPTION
"The routing mechanism via which this route was learned.
Inclusion of values for gateway routing protocols is not
intended to imply that hosts should support those
protocols."
::= { ipCidrRouteEntry 7 }
ipCidrRouteAge OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The number of seconds since this route was last updated or
Fenner Section 4. [Page 15]
INTERNET-DRAFT Expires: August 2001 February 2001
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 }
ipCidrRouteInfo OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS deprecated
DESCRIPTION
"A reference to MIB definitions specific to the particular
routing protocol which is responsible 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 identifier, and any
implementation conforming to ASN.1 and the Basic Encoding
Rules must be able to generate and recognize this value."
::= { ipCidrRouteEntry 9 }
ipCidrRouteNextHopAS OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS deprecated
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 }
ipCidrRouteMetric1 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS deprecated
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
Fenner Section 4. [Page 16]
INTERNET-DRAFT Expires: August 2001 February 2001
MAX-ACCESS read-create
STATUS deprecated
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 deprecated
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 deprecated
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 deprecated
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 }
ipCidrRouteStatus OBJECT-TYPE
SYNTAX RowStatus
Fenner Section 4. [Page 17]
INTERNET-DRAFT Expires: August 2001 February 2001
MAX-ACCESS read-create
STATUS deprecated
DESCRIPTION
"The row status variable, used according to row installation
and removal conventions."
::= { ipCidrRouteEntry 16 }
-- compliance statements
ipForwardCompliance MODULE-COMPLIANCE
STATUS deprecated
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 deprecated
DESCRIPTION
"The CIDR Route Table."
::= { ipForwardGroups 3 }
-- 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 }
Fenner Section 4. [Page 18]
INTERNET-DRAFT Expires: August 2001 February 2001
-- 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 destination, 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
Fenner Section 4. [Page 19]
INTERNET-DRAFT Expires: August 2001 February 2001
}
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 Address 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
ipForwardDest."
DEFVAL { '00000000'h } -- 0.0.0.0
::= { ipForwardEntry 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.
ipForwardPolicy OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
MAX-ACCESS read-only
Fenner Section 4. [Page 20]
INTERNET-DRAFT Expires: August 2001 February 2001
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 ipForwardProto
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 either
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 }
ipForwardNextHop OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS obsolete
DESCRIPTION
"On remote routes, the address of the next system en route;
Otherwise, 0.0.0.0."
::= { ipForwardEntry 4 }
Fenner Section 4. [Page 21]
INTERNET-DRAFT Expires: August 2001 February 2001
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
destination.
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 identified 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
currently in use. Proper interpretation of such entries
requires examination of the relevant ipForwardType 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
Fenner Section 4. [Page 22]
INTERNET-DRAFT Expires: August 2001 February 2001
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 routing 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 responsible 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 identifier, and any
implementation conforming to ASN.1 and the Basic Encoding
Rules must be able to generate and recognize this value."
::= { ipForwardEntry 9 }
Fenner Section 4. [Page 23]
INTERNET-DRAFT Expires: August 2001 February 2001
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
Fenner Section 4. [Page 24]
INTERNET-DRAFT Expires: August 2001 February 2001
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
}
Fenner Section 4. [Page 25]
INTERNET-DRAFT Expires: August 2001 February 2001
STATUS obsolete
DESCRIPTION
"IP Multipath Route Table."
::= { ipForwardGroups 2 }
END
5. Open Issues / To Do
Trash this completely and start from scratch with a new MIB?
Routing table instance identifier?
Any other objects from RFC 2465's ipv6RouteTable?
Figure out what the inetCidrRouteTos object really should be -- DSCP?
Arbitrary mapped with no specified default?
Better wording for ipForwardCompliance2?
Note: more open issues / to do items scattered in comments in MIB.
6. Acknoledgments
This document contains objects modified from RFC 2096 [1].
7. References
[1] F. Baker, "IP Forwarding Table MIB", RFC 2096, January 1997.
[2] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for
Describing SNMP Management Frameworks", RFC 2571, April 1999.
[3] Rose, M., and K. McCloghrie, "Structure and Identification of
Management Information for TCP/IP-based Internets", STD 16, RFC
1155, May 1990.
[4] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC
1212, March 1991.
[5] Rose, M., "A Convention for Defining Traps for use with the SNMP",
RFC 1215, March 1991.
[6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
and S. Waldbusser, "Structure of Management Information Version 2
(SMIv2)", STD 58, RFC 2578, April 1999.
Fenner Section 7. [Page 26]
INTERNET-DRAFT Expires: August 2001 February 2001
[7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC
2579, April 1999.
[8] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC
2580, April 1999.
[9] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network
Management Protocol", STD 15, RFC 1157, May 1990.
[10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Introduction to Community-based SNMPv2", RFC 1901, January 1996.
[11] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport
Mappings for Version 2 of the Simple Network Management Protocol
(SNMPv2)", RFC 1906, January 1996.
[12] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message
Processing and Dispatching for the Simple Network Management
Protocol (SNMP)", RFC 2572, April 1999.
[13] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for
version 3 of the Simple Network Management Protocol (SNMPv3)", RFC
2574, April 1999.
[14] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol
Operations for Version 2 of the Simple Network Management Protocol
(SNMPv2)", RFC 1905, January 1996.
[15] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC
2573, April 1999.
[16] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access
Control Model (VACM) for the Simple Network Management Protocol
(SNMP)", RFC 2575, April 1999.
[17] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to
Version 3 of the Internet-standard Network Management Framework",
RFC 2570, April 1999.
8. Security Considerations
There are a number of management objects defined in this MIB that have a
MAX-ACCESS clause of read-write and/or read-create. Such objects may be
considered sensitive or vulnerable in some network environments. The
Fenner Section 8. [Page 27]
INTERNET-DRAFT Expires: August 2001 February 2001
support for SET operations in a non-secure environment without proper
protection can have a negative effect on network operations.
There are a number of managed objects in this MIB that may contain
sensitive information. These are:
The routing table can be used to discover information about the network
topology within a domain.
It is thus important to control even GET access to these objects and
possibly to even encrypt the values of these object when sending them
over the network via SNMP. Not all versions of SNMP provide features
for such a secure environment.
SNMPv1 by itself is not a secure environment. Even if the network
itself is secure (for example by using IPSec), even then, there is no
control as to who on the secure network is allowed to access and GET/SET
(read/change/create/delete) the objects in this MIB.
It is recommended that the implementers consider the security features
as provided by the SNMPv3 framework. Specifically, the use of the User-
based Security Model RFC 2574 [13] and the View-based Access Control
Model RFC 2575 [16] is recommended.
It is then a customer/user responsibility to ensure that the SNMP entity
giving access to an instance of this MIB, is properly configured to give
access to the objects only to those principals (users) that have
legitimate rights to indeed GET or SET (change/create/delete) them.
9. Editor's Address
Bill Fenner
AT&T Labs -- Research
75 Willow Rd
Menlo Park, CA 94025
USA
Email: fenner@research.att.com
10. Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it or
Fenner Section 10. [Page 28]
INTERNET-DRAFT Expires: August 2001 February 2001
assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are included
on all such copies and derivative works. However, this document itself
may not be modified in any way, such as by removing the copyright notice
or references to the Internet Society or other Internet organizations,
except as needed for the purpose of developing Internet standards in
which case the procedures for copyrights defined in the Internet
Standards process must be followed, or as required to translate it into
languages other than English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an "AS
IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE.
Fenner Section 10. [Page 29]