-- ****************************************************************** -- Include RFC 4292 IP forwarding table MIB as follows. -- ****************************************************************** IP-FORWARD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Integer32, Gauge32, Counter32 FROM SNMPv2-SMI RowStatus FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF InterfaceIndexOrZero 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 "200602010000Z" ORGANIZATION "IETF IPv6 Working Group http://www.ietf.org/html.charters/ipv6-charter.html" CONTACT-INFO "Editor: Brian Haberman Johns Hopkins University - Applied Physics Laboratory Mailstop 17-S442 11100 Johns Hopkins Road Laurel MD, 20723-6099 USA Phone: +1-443-778-1319 Email: brian@innovationslab.net Send comments to " DESCRIPTION "The MIB module for the management of CIDR multipath IP Routes. Copyright (C) The Internet Society (2006). This version of this MIB module is a part of RFC 4292; see the RFC itself for full legal notices." REVISION "200602010000Z" DESCRIPTION "IPv4/v6 version-independent revision. Minimal changes were made to the original RFC 2096 MIB to allow easy upgrade of existing IPv4 implementations to the version-independent MIB. These changes include: Adding inetCidrRouteDiscards as a replacement for the deprecated ipRoutingDiscards and ipv6DiscardedRoutes objects. Adding a new conformance statement to support the implementation of the IP Forwarding MIB in a read-only mode. The inetCidrRouteTable replaces the IPv4-specific ipCidrRouteTable, its related objects, and related conformance statements. Published as RFC 4292." REVISION "199609190000Z" DESCRIPTION "Revised to support CIDR routes. Published as RFC 2096." REVISION "199207022156Z" DESCRIPTION "Initial version, published as RFC 1354." ::= { 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 } inetCidrRouteDiscards OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of valid route entries discarded from the inetCidrRouteTable. Discarded route entries do not appear in the inetCidrRouteTable. One possible reason for discarding an entry would be to free-up buffer space for other route table entries." ::= { ipForward 8 } -- 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 (as reflected in the inetCidrRoutePolicy object). Dynamically created rows will survive an agent reboot. Implementers need to be aware that if the total number of elements (octets or sub-identifiers) in inetCidrRouteDest, inetCidrRoutePolicy, and inetCidrRouteNextHop exceeds 111, then OIDs of column instances in this table will have more than 128 sub- identifiers and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3." INDEX { inetCidrRouteDestType, inetCidrRouteDest, inetCidrRoutePfxLen, inetCidrRoutePolicy, inetCidrRouteNextHopType, inetCidrRouteNextHop } ::= { inetCidrRouteTable 1 } InetCidrRouteEntry ::= SEQUENCE { inetCidrRouteDestType InetAddressType, inetCidrRouteDest InetAddress, inetCidrRoutePfxLen InetAddressPrefixLength, inetCidrRoutePolicy OBJECT IDENTIFIER, inetCidrRouteNextHopType InetAddressType, inetCidrRouteNextHop InetAddress, inetCidrRouteIfIndex InterfaceIndexOrZero, inetCidrRouteType INTEGER, inetCidrRouteProto IANAipRouteProtocol, inetCidrRouteAge Gauge32, inetCidrRouteNextHopAS InetAutonomousSystemNumber, inetCidrRouteMetric1 Integer32, inetCidrRouteMetric2 Integer32, inetCidrRouteMetric3 Integer32, inetCidrRouteMetric4 Integer32, inetCidrRouteMetric5 Integer32, inetCidrRouteStatus RowStatus } inetCidrRouteDestType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of the inetCidrRouteDest address, as defined in the InetAddress MIB. Only those address types that may appear in an actual routing table are allowed as values of this object." REFERENCE "RFC 4001" ::= { inetCidrRouteEntry 1 } inetCidrRouteDest OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The destination IP address of this route. The type of this address is determined by the value of the inetCidrRouteDestType object. The values for the index objects inetCidrRouteDest and inetCidrRoutePfxLen must be consistent. When the value of inetCidrRouteDest (excluding the zone index, if one is present) is x, then the bitwise logical-AND of x with the value of the mask formed from the corresponding index object inetCidrRoutePfxLen MUST be equal to x. If not, then the index pair is not consistent and an inconsistentName error must be returned on SET or CREATE requests." ::= { inetCidrRouteEntry 2 } inetCidrRoutePfxLen OBJECT-TYPE SYNTAX InetAddressPrefixLength MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicates the number of leading one bits that form the mask to be logical-ANDed with the destination address before being compared to the value in the inetCidrRouteDest field. The values for the index objects inetCidrRouteDest and inetCidrRoutePfxLen must be consistent. When the value of inetCidrRouteDest (excluding the zone index, if one is present) is x, then the bitwise logical-AND of x with the value of the mask formed from the corresponding index object inetCidrRoutePfxLen MUST be equal to x. If not, then the index pair is not consistent and an inconsistentName error must be returned on SET or CREATE requests." ::= { inetCidrRouteEntry 3 } inetCidrRoutePolicy OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object is an opaque object without any defined semantics. Its purpose is to serve as an additional index that may delineate between multiple entries to the same destination. The value { 0 0 } shall be used as the default value for this object." ::= { inetCidrRouteEntry 4 } inetCidrRouteNextHopType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of the inetCidrRouteNextHop address, as defined in the InetAddress MIB. Value should be set to unknown(0) for non-remote routes. Only those address types that may appear in an actual routing table are allowed as values of this object." REFERENCE "RFC 4001" ::= { inetCidrRouteEntry 5 } inetCidrRouteNextHop OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "On remote routes, the address of the next system en route. For non-remote routes, a zero length string. The type of this address is determined by the value of the inetCidrRouteNextHopType object." ::= { inetCidrRouteEntry 6 } inetCidrRouteIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "The ifIndex value that identifies the local interface through which the next hop of this route should be reached. A value of 0 is valid and represents the scenario where no interface is specified." ::= { inetCidrRouteEntry 7 } inetCidrRouteType OBJECT-TYPE SYNTAX INTEGER { other (1), -- not specified by this MIB reject (2), -- route that discards traffic and -- returns ICMP notification local (3), -- local interface remote (4), -- remote destination blackhole(5) -- route that 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 that 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 that, 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 that, 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 } inetCidrRouteAge OBJECT-TYPE SYNTAX Gauge32 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." ::= { 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 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. A row entry cannot be modified when the status is marked as active(1)." ::= { inetCidrRouteEntry 17 } ipCidrRouteNumber OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS deprecated 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 deprecated 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 deprecated 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 deprecated 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 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 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 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 | | | | | +-----+-----+-----+-----+-----+-----+-----+-----+ 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 sys- tem en route; Otherwise, 0.0.0.0." ::= { ipCidrRouteEntry 4 } ipCidrRouteIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only 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-only 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 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 } 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 rout- ing 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 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-only STATUS deprecated 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 } ipCidrRouteNextHopAS OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only 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-only 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 MAX-ACCESS read-only 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-only 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-only 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-only 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 MAX-ACCESS read-only STATUS deprecated 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 } -- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -- Skip obsoleted definitions of ip forwarding table. -- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: END