1 IP-FORWARD-MIB DEFINITIONS ::= BEGIN
4 MODULE-IDENTITY, OBJECT-TYPE,
5 IpAddress, Integer32, Gauge32,
6 Counter32 FROM SNMPv2-SMI
7 RowStatus FROM SNMPv2-TC
11 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
12 InterfaceIndexOrZero FROM IF-MIB
14 IANAipRouteProtocol FROM IANA-RTPROTO-MIB
15 InetAddress, InetAddressType,
16 InetAddressPrefixLength,
17 InetAutonomousSystemNumber FROM INET-ADDRESS-MIB;
19 ipForward MODULE-IDENTITY
20 LAST-UPDATED "200602010000Z"
22 "IETF IPv6 Working Group
23 http://www.ietf.org/html.charters/ipv6-charter.html"
27 Johns Hopkins University - Applied Physics Laboratory
29 11100 Johns Hopkins Road
30 Laurel MD, 20723-6099 USA
32 Phone: +1-443-778-1319
33 Email: brian@innovationslab.net
35 Send comments to <ipv6@ietf.org>"
37 "The MIB module for the management of CIDR multipath IP
40 Copyright (C) The Internet Society (2006). This version
41 of this MIB module is a part of RFC 4292; see the RFC
42 itself for full legal notices."
44 REVISION "200602010000Z"
46 "IPv4/v6 version-independent revision. Minimal changes
47 were made to the original RFC 2096 MIB to allow easy
48 upgrade of existing IPv4 implementations to the
49 version-independent MIB. These changes include:
51 Adding inetCidrRouteDiscards as a replacement for the
52 deprecated ipRoutingDiscards and ipv6DiscardedRoutes
55 Adding a new conformance statement to support the
56 implementation of the IP Forwarding MIB in a
62 The inetCidrRouteTable replaces the IPv4-specific
63 ipCidrRouteTable, its related objects, and related
64 conformance statements.
66 Published as RFC 4292."
68 REVISION "199609190000Z"
70 "Revised to support CIDR routes.
71 Published as RFC 2096."
73 REVISION "199207022156Z"
75 "Initial version, published as RFC 1354."
78 inetCidrRouteNumber OBJECT-TYPE
83 "The number of current inetCidrRouteTable entries that
87 inetCidrRouteDiscards OBJECT-TYPE
92 "The number of valid route entries discarded from the
93 inetCidrRouteTable. Discarded route entries do not
94 appear in the inetCidrRouteTable. One possible reason
95 for discarding an entry would be to free-up buffer space
96 for other route table entries."
99 -- Inet CIDR Route Table
101 -- The Inet CIDR Route Table deprecates and replaces the
102 -- ipCidrRoute Table currently in the IP Forwarding Table MIB.
103 -- It adds IP protocol independence.
105 inetCidrRouteTable OBJECT-TYPE
106 SYNTAX SEQUENCE OF InetCidrRouteEntry
107 MAX-ACCESS not-accessible
113 "This entity's IP Routing table."
115 "RFC 1213 Section 6.6, The IP Group"
118 inetCidrRouteEntry OBJECT-TYPE
119 SYNTAX InetCidrRouteEntry
120 MAX-ACCESS not-accessible
123 "A particular route to a particular destination, under a
124 particular policy (as reflected in the
125 inetCidrRoutePolicy object).
127 Dynamically created rows will survive an agent reboot.
129 Implementers need to be aware that if the total number
130 of elements (octets or sub-identifiers) in
131 inetCidrRouteDest, inetCidrRoutePolicy, and
132 inetCidrRouteNextHop exceeds 111, then OIDs of column
133 instances in this table will have more than 128 sub-
134 identifiers and cannot be accessed using SNMPv1,
137 inetCidrRouteDestType,
141 inetCidrRouteNextHopType,
144 ::= { inetCidrRouteTable 1 }
146 InetCidrRouteEntry ::= SEQUENCE {
147 inetCidrRouteDestType InetAddressType,
148 inetCidrRouteDest InetAddress,
149 inetCidrRoutePfxLen InetAddressPrefixLength,
150 inetCidrRoutePolicy OBJECT IDENTIFIER,
151 inetCidrRouteNextHopType InetAddressType,
152 inetCidrRouteNextHop InetAddress,
153 inetCidrRouteIfIndex InterfaceIndexOrZero,
154 inetCidrRouteType INTEGER,
155 inetCidrRouteProto IANAipRouteProtocol,
156 inetCidrRouteAge Gauge32,
157 inetCidrRouteNextHopAS InetAutonomousSystemNumber,
158 inetCidrRouteMetric1 Integer32,
159 inetCidrRouteMetric2 Integer32,
160 inetCidrRouteMetric3 Integer32,
164 inetCidrRouteMetric4 Integer32,
165 inetCidrRouteMetric5 Integer32,
166 inetCidrRouteStatus RowStatus
169 inetCidrRouteDestType OBJECT-TYPE
170 SYNTAX InetAddressType
171 MAX-ACCESS not-accessible
174 "The type of the inetCidrRouteDest address, as defined
175 in the InetAddress MIB.
177 Only those address types that may appear in an actual
178 routing table are allowed as values of this object."
180 ::= { inetCidrRouteEntry 1 }
182 inetCidrRouteDest OBJECT-TYPE
184 MAX-ACCESS not-accessible
187 "The destination IP address of this route.
189 The type of this address is determined by the value of
190 the inetCidrRouteDestType object.
192 The values for the index objects inetCidrRouteDest and
193 inetCidrRoutePfxLen must be consistent. When the value
194 of inetCidrRouteDest (excluding the zone index, if one
195 is present) is x, then the bitwise logical-AND
196 of x with the value of the mask formed from the
197 corresponding index object inetCidrRoutePfxLen MUST be
198 equal to x. If not, then the index pair is not
199 consistent and an inconsistentName error must be
200 returned on SET or CREATE requests."
202 ::= { inetCidrRouteEntry 2 }
204 inetCidrRoutePfxLen OBJECT-TYPE
205 SYNTAX InetAddressPrefixLength
206 MAX-ACCESS not-accessible
209 "Indicates the number of leading one bits that form the
210 mask to be logical-ANDed with the destination address
211 before being compared to the value in the
215 inetCidrRouteDest field.
217 The values for the index objects inetCidrRouteDest and
218 inetCidrRoutePfxLen must be consistent. When the value
219 of inetCidrRouteDest (excluding the zone index, if one
220 is present) is x, then the bitwise logical-AND
221 of x with the value of the mask formed from the
222 corresponding index object inetCidrRoutePfxLen MUST be
223 equal to x. If not, then the index pair is not
224 consistent and an inconsistentName error must be
225 returned on SET or CREATE requests."
227 ::= { inetCidrRouteEntry 3 }
229 inetCidrRoutePolicy OBJECT-TYPE
230 SYNTAX OBJECT IDENTIFIER
231 MAX-ACCESS not-accessible
234 "This object is an opaque object without any defined
235 semantics. Its purpose is to serve as an additional
236 index that may delineate between multiple entries to
237 the same destination. The value { 0 0 } shall be used
238 as the default value for this object."
239 ::= { inetCidrRouteEntry 4 }
241 inetCidrRouteNextHopType OBJECT-TYPE
242 SYNTAX InetAddressType
243 MAX-ACCESS not-accessible
246 "The type of the inetCidrRouteNextHop address, as
247 defined in the InetAddress MIB.
249 Value should be set to unknown(0) for non-remote
252 Only those address types that may appear in an actual
253 routing table are allowed as values of this object."
255 ::= { inetCidrRouteEntry 5 }
257 inetCidrRouteNextHop OBJECT-TYPE
259 MAX-ACCESS not-accessible
262 "On remote routes, the address of the next system en
266 route. For non-remote routes, a zero length string.
268 The type of this address is determined by the value of
269 the inetCidrRouteNextHopType object."
270 ::= { inetCidrRouteEntry 6 }
272 inetCidrRouteIfIndex OBJECT-TYPE
273 SYNTAX InterfaceIndexOrZero
274 MAX-ACCESS read-create
277 "The ifIndex value that identifies the local interface
278 through which the next hop of this route should be
279 reached. A value of 0 is valid and represents the
280 scenario where no interface is specified."
281 ::= { inetCidrRouteEntry 7 }
283 inetCidrRouteType OBJECT-TYPE
285 other (1), -- not specified by this MIB
286 reject (2), -- route that discards traffic and
287 -- returns ICMP notification
288 local (3), -- local interface
289 remote (4), -- remote destination
290 blackhole(5) -- route that discards traffic
293 MAX-ACCESS read-create
296 "The type of route. Note that local(3) refers to a
297 route for which the next hop is the final destination;
298 remote(4) refers to a route for which the next hop is
299 not the final destination.
301 Routes that do not result in traffic forwarding or
302 rejection should not be displayed, even if the
303 implementation keeps them stored internally.
305 reject(2) refers to a route that, if matched, discards
306 the message as unreachable and returns a notification
307 (e.g., ICMP error) to the message sender. This is used
308 in some protocols as a means of correctly aggregating
311 blackhole(5) refers to a route that, if matched,
312 discards the message silently."
313 ::= { inetCidrRouteEntry 8 }
318 inetCidrRouteProto OBJECT-TYPE
319 SYNTAX IANAipRouteProtocol
323 "The routing mechanism via which this route was learned.
324 Inclusion of values for gateway routing protocols is
325 not intended to imply that hosts should support those
327 ::= { inetCidrRouteEntry 9 }
329 inetCidrRouteAge OBJECT-TYPE
334 "The number of seconds since this route was last updated
335 or otherwise determined to be correct. Note that no
336 semantics of 'too old' can be implied, except through
337 knowledge of the routing protocol by which the route
339 ::= { inetCidrRouteEntry 10 }
341 inetCidrRouteNextHopAS OBJECT-TYPE
342 SYNTAX InetAutonomousSystemNumber
343 MAX-ACCESS read-create
346 "The Autonomous System Number of the Next Hop. The
347 semantics of this object are determined by the routing-
348 protocol specified in the route's inetCidrRouteProto
349 value. When this object is unknown or not relevant, its
350 value should be set to zero."
352 ::= { inetCidrRouteEntry 11 }
354 inetCidrRouteMetric1 OBJECT-TYPE
356 MAX-ACCESS read-create
359 "The primary routing metric for this route. The
360 semantics of this metric are determined by the routing-
361 protocol specified in the route's inetCidrRouteProto
362 value. If this metric is not used, its value should be
368 ::= { inetCidrRouteEntry 12 }
370 inetCidrRouteMetric2 OBJECT-TYPE
372 MAX-ACCESS read-create
375 "An alternate routing metric for this route. The
376 semantics of this metric are determined by the routing-
377 protocol specified in the route's inetCidrRouteProto
378 value. If this metric is not used, its value should be
381 ::= { inetCidrRouteEntry 13 }
383 inetCidrRouteMetric3 OBJECT-TYPE
385 MAX-ACCESS read-create
388 "An alternate routing metric for this route. The
389 semantics of this metric are determined by the routing-
390 protocol specified in the route's inetCidrRouteProto
391 value. If this metric is not used, its value should be
394 ::= { inetCidrRouteEntry 14 }
396 inetCidrRouteMetric4 OBJECT-TYPE
398 MAX-ACCESS read-create
401 "An alternate routing metric for this route. The
402 semantics of this metric are determined by the routing-
403 protocol specified in the route's inetCidrRouteProto
404 value. If this metric is not used, its value should be
407 ::= { inetCidrRouteEntry 15 }
409 inetCidrRouteMetric5 OBJECT-TYPE
411 MAX-ACCESS read-create
414 "An alternate routing metric for this route. The
415 semantics of this metric are determined by the routing-
419 protocol specified in the route's inetCidrRouteProto
420 value. If this metric is not used, its value should be
423 ::= { inetCidrRouteEntry 16 }
425 inetCidrRouteStatus OBJECT-TYPE
427 MAX-ACCESS read-create
430 "The row status variable, used according to row
431 installation and removal conventions.
433 A row entry cannot be modified when the status is
434 marked as active(1)."
435 ::= { inetCidrRouteEntry 17 }
437 -- Conformance information
440 OBJECT IDENTIFIER ::= { ipForward 5 }
443 OBJECT IDENTIFIER ::= { ipForwardConformance 1 }
446 OBJECT IDENTIFIER ::= { ipForwardConformance 2 }
448 -- Compliance statements
450 ipForwardFullCompliance MODULE-COMPLIANCE
453 "When this MIB is implemented for read-create, the
454 implementation can claim full compliance.
456 There are a number of INDEX objects that cannot be
457 represented in the form of OBJECT clauses in SMIv2,
458 but for which there are compliance requirements,
459 expressed in OBJECT clause form in this description:
461 -- OBJECT inetCidrRouteDestType
462 -- SYNTAX InetAddressType (ipv4(1), ipv6(2),
463 -- ipv4z(3), ipv6z(4))
465 -- This MIB requires support for global and
466 -- non-global ipv4 and ipv6 addresses.
471 -- OBJECT inetCidrRouteDest
472 -- SYNTAX InetAddress (SIZE (4 | 8 | 16 | 20))
474 -- This MIB requires support for global and
475 -- non-global IPv4 and IPv6 addresses.
477 -- OBJECT inetCidrRouteNextHopType
478 -- SYNTAX InetAddressType (unknown(0), ipv4(1),
482 -- This MIB requires support for global and
483 -- non-global ipv4 and ipv6 addresses.
485 -- OBJECT inetCidrRouteNextHop
486 -- SYNTAX InetAddress (SIZE (0 | 4 | 8 | 16 | 20))
488 -- This MIB requires support for global and
489 -- non-global IPv4 and IPv6 addresses.
492 MODULE -- this module
493 MANDATORY-GROUPS { inetForwardCidrRouteGroup }
495 OBJECT inetCidrRouteStatus
496 SYNTAX RowStatus { active(1), notInService (2) }
497 WRITE-SYNTAX RowStatus { active(1), notInService (2),
498 createAndGo(4), destroy(6) }
499 DESCRIPTION "Support for createAndWait is not required."
501 ::= { ipForwardCompliances 3 }
503 ipForwardReadOnlyCompliance MODULE-COMPLIANCE
506 "When this MIB is implemented without support for read-
507 create (i.e., in read-only mode), the implementation can
508 claim read-only compliance."
509 MODULE -- this module
510 MANDATORY-GROUPS { inetForwardCidrRouteGroup }
512 OBJECT inetCidrRouteIfIndex
515 "Write access is not required."
517 OBJECT inetCidrRouteType
523 "Write access is not required."
525 OBJECT inetCidrRouteNextHopAS
528 "Write access is not required."
530 OBJECT inetCidrRouteMetric1
533 "Write access is not required."
535 OBJECT inetCidrRouteMetric2
538 "Write access is not required."
540 OBJECT inetCidrRouteMetric3
543 "Write access is not required."
545 OBJECT inetCidrRouteMetric4
548 "Write access is not required."
550 OBJECT inetCidrRouteMetric5
553 "Write access is not required."
555 OBJECT inetCidrRouteStatus
556 SYNTAX RowStatus { active(1) }
559 "Write access is not required."
561 ::= { ipForwardCompliances 4 }
563 -- units of conformance
565 inetForwardCidrRouteGroup OBJECT-GROUP
566 OBJECTS { inetCidrRouteDiscards,
567 inetCidrRouteIfIndex, inetCidrRouteType,
568 inetCidrRouteProto, inetCidrRouteAge,
572 inetCidrRouteNextHopAS, inetCidrRouteMetric1,
573 inetCidrRouteMetric2, inetCidrRouteMetric3,
574 inetCidrRouteMetric4, inetCidrRouteMetric5,
575 inetCidrRouteStatus, inetCidrRouteNumber
579 "The IP version-independent CIDR Route Table."
580 ::= { ipForwardGroups 4 }
582 -- Deprecated Objects
584 ipCidrRouteNumber OBJECT-TYPE
589 "The number of current ipCidrRouteTable entries that are
590 not invalid. This object is deprecated in favor of
591 inetCidrRouteNumber and the inetCidrRouteTable."
594 -- IP CIDR Route Table
596 -- The IP CIDR Route Table obsoletes and replaces the ipRoute
597 -- Table current in MIB-I and MIB-II and the IP Forwarding Table.
598 -- It adds knowledge of the autonomous system of the next hop,
599 -- multiple next hops, policy routing, and Classless
600 -- Inter-Domain Routing.
602 ipCidrRouteTable OBJECT-TYPE
603 SYNTAX SEQUENCE OF IpCidrRouteEntry
604 MAX-ACCESS not-accessible
607 "This entity's IP Routing table. This table has been
608 deprecated in favor of the IP version neutral
611 "RFC 1213 Section 6.6, The IP Group"
614 ipCidrRouteEntry OBJECT-TYPE
615 SYNTAX IpCidrRouteEntry
616 MAX-ACCESS not-accessible
619 "A particular route to a particular destination, under a
630 ::= { ipCidrRouteTable 1 }
632 IpCidrRouteEntry ::= SEQUENCE {
633 ipCidrRouteDest IpAddress,
634 ipCidrRouteMask IpAddress,
635 ipCidrRouteTos Integer32,
636 ipCidrRouteNextHop IpAddress,
637 ipCidrRouteIfIndex Integer32,
638 ipCidrRouteType INTEGER,
639 ipCidrRouteProto INTEGER,
640 ipCidrRouteAge Integer32,
641 ipCidrRouteInfo OBJECT IDENTIFIER,
642 ipCidrRouteNextHopAS Integer32,
643 ipCidrRouteMetric1 Integer32,
644 ipCidrRouteMetric2 Integer32,
645 ipCidrRouteMetric3 Integer32,
646 ipCidrRouteMetric4 Integer32,
647 ipCidrRouteMetric5 Integer32,
648 ipCidrRouteStatus RowStatus
651 ipCidrRouteDest OBJECT-TYPE
656 "The destination IP address of this route.
658 This object may not take a Multicast (Class D) address
661 Any assignment (implicit or otherwise) of an instance
662 of this object to a value x must be rejected if the
663 bitwise logical-AND of x with the value of the
664 corresponding instance of the ipCidrRouteMask object is
666 ::= { ipCidrRouteEntry 1 }
668 ipCidrRouteMask OBJECT-TYPE
676 "Indicate the mask to be logical-ANDed with the
677 destination address before being compared to the value
678 in the ipCidrRouteDest field. For those systems that
679 do not support arbitrary subnet masks, an agent
680 constructs the value of the ipCidrRouteMask by
681 reference to the IP Address Class.
683 Any assignment (implicit or otherwise) of an instance
684 of this object to a value x must be rejected if the
685 bitwise logical-AND of x with the value of the
686 corresponding instance of the ipCidrRouteDest object is
687 not equal to ipCidrRouteDest."
688 ::= { ipCidrRouteEntry 2 }
690 -- The following convention is included for specification
691 -- of TOS Field contents. At this time, the Host Requirements
692 -- and the Router Requirements documents disagree on the width
693 -- of the TOS field. This mapping describes the Router
694 -- Requirements mapping, and leaves room to widen the TOS field
695 -- without impact to fielded systems.
697 ipCidrRouteTos OBJECT-TYPE
698 SYNTAX Integer32 (0..2147483647)
702 "The policy specifier is the IP TOS Field. The encoding
703 of IP TOS is as specified by the following convention.
704 Zero indicates the default path if no more specific
707 +-----+-----+-----+-----+-----+-----+-----+-----+
709 | PRECEDENCE | TYPE OF SERVICE | 0 |
711 +-----+-----+-----+-----+-----+-----+-----+-----+
714 Field Policy Field Policy
715 Contents Code Contents Code
716 0 0 0 0 ==> 0 0 0 0 1 ==> 2
717 0 0 1 0 ==> 4 0 0 1 1 ==> 6
718 0 1 0 0 ==> 8 0 1 0 1 ==> 10
719 0 1 1 0 ==> 12 0 1 1 1 ==> 14
720 1 0 0 0 ==> 16 1 0 0 1 ==> 18
721 1 0 1 0 ==> 20 1 0 1 1 ==> 22
725 1 1 0 0 ==> 24 1 1 0 1 ==> 26
726 1 1 1 0 ==> 28 1 1 1 1 ==> 30"
727 ::= { ipCidrRouteEntry 3 }
729 ipCidrRouteNextHop OBJECT-TYPE
734 "On remote routes, the address of the next system en
735 route; Otherwise, 0.0.0.0."
736 ::= { ipCidrRouteEntry 4 }
738 ipCidrRouteIfIndex OBJECT-TYPE
740 MAX-ACCESS read-create
743 "The ifIndex value that identifies the local interface
744 through which the next hop of this route should be
747 ::= { ipCidrRouteEntry 5 }
749 ipCidrRouteType OBJECT-TYPE
751 other (1), -- not specified by this MIB
752 reject (2), -- route that discards traffic
753 local (3), -- local interface
754 remote (4) -- remote destination
756 MAX-ACCESS read-create
759 "The type of route. Note that local(3) refers to a
760 route for which the next hop is the final destination;
761 remote(4) refers to a route for which the next hop is
762 not the final destination.
764 Routes that do not result in traffic forwarding or
765 rejection should not be displayed, even if the
766 implementation keeps them stored internally.
768 reject (2) refers to a route that, if matched,
769 discards the message as unreachable. This is used in
770 some protocols as a means of correctly aggregating
772 ::= { ipCidrRouteEntry 6 }
777 ipCidrRouteProto OBJECT-TYPE
779 other (1), -- not specified
780 local (2), -- local interface
781 netmgmt (3), -- static route
782 icmp (4), -- result of ICMP Redirect
784 -- the following are all dynamic
786 egp (5), -- Exterior Gateway Protocol
787 ggp (6), -- Gateway-Gateway Protocol
788 hello (7), -- FuzzBall HelloSpeak
789 rip (8), -- Berkeley RIP or RIP-II
790 isIs (9), -- Dual IS-IS
791 esIs (10), -- ISO 9542
792 ciscoIgrp (11), -- Cisco IGRP
793 bbnSpfIgp (12), -- BBN SPF IGP
794 ospf (13), -- Open Shortest Path First
795 bgp (14), -- Border Gateway Protocol
796 idpr (15), -- InterDomain Policy Routing
797 ciscoEigrp (16) -- Cisco EIGRP
802 "The routing mechanism via which this route was learned.
803 Inclusion of values for gateway routing protocols is
804 not intended to imply that hosts should support those
806 ::= { ipCidrRouteEntry 7 }
808 ipCidrRouteAge OBJECT-TYPE
813 "The number of seconds since this route was last updated
814 or otherwise determined to be correct. Note that no
815 semantics of `too old' can be implied, except through
816 knowledge of the routing protocol by which the route
819 ::= { ipCidrRouteEntry 8 }
821 ipCidrRouteInfo OBJECT-TYPE
822 SYNTAX OBJECT IDENTIFIER
823 MAX-ACCESS read-create
829 "A reference to MIB definitions specific to the
830 particular routing protocol that is responsible for
831 this route, as determined by the value specified in the
832 route's ipCidrRouteProto value. If this information is
833 not present, its value should be set to the OBJECT
834 IDENTIFIER { 0 0 }, which is a syntactically valid
835 object identifier, and any implementation conforming to
836 ASN.1 and the Basic Encoding Rules must be able to
837 generate and recognize this value."
838 ::= { ipCidrRouteEntry 9 }
840 ipCidrRouteNextHopAS OBJECT-TYPE
842 MAX-ACCESS read-create
845 "The Autonomous System Number of the Next Hop. The
846 semantics of this object are determined by the routing-
847 protocol specified in the route's ipCidrRouteProto
848 value. When this object is unknown or not relevant, its
849 value should be set to zero."
851 ::= { ipCidrRouteEntry 10 }
853 ipCidrRouteMetric1 OBJECT-TYPE
855 MAX-ACCESS read-create
858 "The primary routing metric for this route. The
859 semantics of this metric are determined by the routing-
860 protocol specified in the route's ipCidrRouteProto
861 value. If this metric is not used, its value should be
864 ::= { ipCidrRouteEntry 11 }
866 ipCidrRouteMetric2 OBJECT-TYPE
868 MAX-ACCESS read-create
871 "An alternate routing metric for this route. The
872 semantics of this metric are determined by the routing-
873 protocol specified in the route's ipCidrRouteProto
874 value. If this metric is not used, its value should be
880 ::= { ipCidrRouteEntry 12 }
882 ipCidrRouteMetric3 OBJECT-TYPE
884 MAX-ACCESS read-create
887 "An alternate routing metric for this route. The
888 semantics of this metric are determined by the routing-
889 protocol specified in the route's ipCidrRouteProto
890 value. If this metric is not used, its value should be
893 ::= { ipCidrRouteEntry 13 }
895 ipCidrRouteMetric4 OBJECT-TYPE
897 MAX-ACCESS read-create
900 "An alternate routing metric for this route. The
901 semantics of this metric are determined by the routing-
902 protocol specified in the route's ipCidrRouteProto
903 value. If this metric is not used, its value should be
906 ::= { ipCidrRouteEntry 14 }
908 ipCidrRouteMetric5 OBJECT-TYPE
910 MAX-ACCESS read-create
913 "An alternate routing metric for this route. The
914 semantics of this metric are determined by the routing-
915 protocol specified in the route's ipCidrRouteProto
916 value. If this metric is not used, its value should be
919 ::= { ipCidrRouteEntry 15 }
921 ipCidrRouteStatus OBJECT-TYPE
923 MAX-ACCESS read-create
929 "The row status variable, used according to row
930 installation and removal conventions."
931 ::= { ipCidrRouteEntry 16 }
933 -- compliance statements
935 ipForwardCompliance MODULE-COMPLIANCE
938 "The compliance statement for SNMPv2 entities that
939 implement the ipForward MIB.
941 This compliance statement has been deprecated and
942 replaced with ipForwardFullCompliance and
943 ipForwardReadOnlyCompliance."
945 MODULE -- this module
946 MANDATORY-GROUPS { ipForwardCidrRouteGroup }
948 ::= { ipForwardCompliances 1 }
950 -- units of conformance
952 ipForwardCidrRouteGroup OBJECT-GROUP
953 OBJECTS { ipCidrRouteNumber,
954 ipCidrRouteDest, ipCidrRouteMask, ipCidrRouteTos,
955 ipCidrRouteNextHop, ipCidrRouteIfIndex,
956 ipCidrRouteType, ipCidrRouteProto, ipCidrRouteAge,
957 ipCidrRouteInfo,ipCidrRouteNextHopAS,
958 ipCidrRouteMetric1, ipCidrRouteMetric2,
959 ipCidrRouteMetric3, ipCidrRouteMetric4,
960 ipCidrRouteMetric5, ipCidrRouteStatus
964 "The CIDR Route Table.
966 This group has been deprecated and replaced with
967 inetForwardCidrRouteGroup."
968 ::= { ipForwardGroups 3 }
970 -- Obsoleted Definitions - Objects
972 ipForwardNumber OBJECT-TYPE
980 "The number of current ipForwardTable entries that are
984 -- IP Forwarding Table
986 -- The IP Forwarding Table obsoletes and replaces the ipRoute
987 -- Table current in MIB-I and MIB-II. It adds knowledge of
988 -- the autonomous system of the next hop, multiple next hop
989 -- support, and policy routing support.
991 ipForwardTable OBJECT-TYPE
992 SYNTAX SEQUENCE OF IpForwardEntry
993 MAX-ACCESS not-accessible
996 "This entity's IP Routing table."
998 "RFC 1213 Section 6.6, The IP Group"
1001 ipForwardEntry OBJECT-TYPE
1002 SYNTAX IpForwardEntry
1003 MAX-ACCESS not-accessible
1006 "A particular route to a particular destination, under a
1014 ::= { ipForwardTable 1 }
1016 IpForwardEntry ::= SEQUENCE {
1017 ipForwardDest IpAddress,
1018 ipForwardMask IpAddress,
1019 ipForwardPolicy Integer32,
1020 ipForwardNextHop IpAddress,
1021 ipForwardIfIndex Integer32,
1022 ipForwardType INTEGER,
1023 ipForwardProto INTEGER,
1024 ipForwardAge Integer32,
1025 ipForwardInfo OBJECT IDENTIFIER,
1026 ipForwardNextHopAS Integer32,
1027 ipForwardMetric1 Integer32,
1031 ipForwardMetric2 Integer32,
1032 ipForwardMetric3 Integer32,
1033 ipForwardMetric4 Integer32,
1034 ipForwardMetric5 Integer32
1037 ipForwardDest OBJECT-TYPE
1039 MAX-ACCESS read-only
1042 "The destination IP address of this route. An entry
1043 with a value of 0.0.0.0 is considered a default route.
1045 This object may not take a Multicast (Class D) address
1048 Any assignment (implicit or otherwise) of an instance
1049 of this object to a value x must be rejected if the
1050 bitwise logical-AND of x with the value of the
1051 corresponding instance of the ipForwardMask object is
1053 ::= { ipForwardEntry 1 }
1055 ipForwardMask OBJECT-TYPE
1057 MAX-ACCESS read-create
1060 "Indicate the mask to be logical-ANDed with the
1061 destination address before being compared to the value
1062 in the ipForwardDest field. For those systems that do
1063 not support arbitrary subnet masks, an agent constructs
1064 the value of the ipForwardMask by reference to the IP
1067 Any assignment (implicit or otherwise) of an instance
1068 of this object to a value x must be rejected if the
1069 bitwise logical-AND of x with the value of the
1070 corresponding instance of the ipForwardDest object is
1071 not equal to ipForwardDest."
1072 DEFVAL { '00000000'H } -- 0.0.0.0
1073 ::= { ipForwardEntry 2 }
1075 -- The following convention is included for specification
1076 -- of TOS Field contents. At this time, the Host Requirements
1077 -- and the Router Requirements documents disagree on the width
1078 -- of the TOS field. This mapping describes the Router
1082 -- Requirements mapping, and leaves room to widen the TOS field
1083 -- without impact to fielded systems.
1085 ipForwardPolicy OBJECT-TYPE
1086 SYNTAX Integer32 (0..2147483647)
1087 MAX-ACCESS read-only
1090 "The general set of conditions that would cause
1091 the selection of one multipath route (set of
1092 next hops for a given destination) is referred
1095 Unless the mechanism indicated by ipForwardProto
1096 specifies otherwise, the policy specifier is
1097 the IP TOS Field. The encoding of IP TOS is as
1098 specified by the following convention. Zero
1099 indicates the default path if no more specific
1102 +-----+-----+-----+-----+-----+-----+-----+-----+
1104 | PRECEDENCE | TYPE OF SERVICE | 0 |
1106 +-----+-----+-----+-----+-----+-----+-----+-----+
1111 Field Policy Field Policy
1112 Contents Code Contents Code
1113 0 0 0 0 ==> 0 0 0 0 1 ==> 2
1114 0 0 1 0 ==> 4 0 0 1 1 ==> 6
1115 0 1 0 0 ==> 8 0 1 0 1 ==> 10
1116 0 1 1 0 ==> 12 0 1 1 1 ==> 14
1117 1 0 0 0 ==> 16 1 0 0 1 ==> 18
1118 1 0 1 0 ==> 20 1 0 1 1 ==> 22
1119 1 1 0 0 ==> 24 1 1 0 1 ==> 26
1120 1 1 1 0 ==> 28 1 1 1 1 ==> 30
1122 Protocols defining 'policy' otherwise must either
1123 define a set of values that are valid for
1124 this object or must implement an integer-instanced
1125 policy table for which this object's
1126 value acts as an index."
1127 ::= { ipForwardEntry 3 }
1129 ipForwardNextHop OBJECT-TYPE
1134 MAX-ACCESS read-only
1137 "On remote routes, the address of the next system en
1138 route; otherwise, 0.0.0.0."
1139 ::= { ipForwardEntry 4 }
1141 ipForwardIfIndex OBJECT-TYPE
1143 MAX-ACCESS read-create
1146 "The ifIndex value that identifies the local interface
1147 through which the next hop of this route should be
1150 ::= { ipForwardEntry 5 }
1152 ipForwardType OBJECT-TYPE
1154 other (1), -- not specified by this MIB
1155 invalid (2), -- logically deleted
1156 local (3), -- local interface
1157 remote (4) -- remote destination
1159 MAX-ACCESS read-create
1162 "The type of route. Note that local(3) refers to a
1163 route for which the next hop is the final destination;
1164 remote(4) refers to a route for which the next hop is
1165 not the final destination.
1167 Setting this object to the value invalid(2) has the
1168 effect of invalidating the corresponding entry in the
1169 ipForwardTable object. That is, it effectively
1170 disassociates the destination identified with said
1171 entry from the route identified with said entry. It is
1172 an implementation-specific matter as to whether the
1173 agent removes an invalidated entry from the table.
1174 Accordingly, management stations must be prepared to
1175 receive tabular information from agents that
1176 corresponds to entries not currently in use. Proper
1177 interpretation of such entries requires examination of
1178 the relevant ipForwardType object."
1180 ::= { ipForwardEntry 6 }
1185 ipForwardProto OBJECT-TYPE
1187 other (1), -- not specified
1188 local (2), -- local interface
1189 netmgmt (3), -- static route
1190 icmp (4), -- result of ICMP Redirect
1192 -- the following are all dynamic
1193 -- routing protocols
1194 egp (5), -- Exterior Gateway Protocol
1195 ggp (6), -- Gateway-Gateway Protocol
1196 hello (7), -- FuzzBall HelloSpeak
1197 rip (8), -- Berkeley RIP or RIP-II
1198 is-is (9), -- Dual IS-IS
1199 es-is (10), -- ISO 9542
1200 ciscoIgrp (11), -- Cisco IGRP
1201 bbnSpfIgp (12), -- BBN SPF IGP
1202 ospf (13), -- Open Shortest Path First
1203 bgp (14), -- Border Gateway Protocol
1204 idpr (15) -- InterDomain Policy Routing
1206 MAX-ACCESS read-only
1209 "The routing mechanism via which this route was learned.
1210 Inclusion of values for gateway routing protocols is
1211 not intended to imply that hosts should support those
1213 ::= { ipForwardEntry 7 }
1215 ipForwardAge OBJECT-TYPE
1217 MAX-ACCESS read-only
1220 "The number of seconds since this route was last updated
1221 or otherwise determined to be correct. Note that no
1222 semantics of `too old' can be implied except through
1223 knowledge of the routing protocol by which the route
1226 ::= { ipForwardEntry 8 }
1228 ipForwardInfo OBJECT-TYPE
1229 SYNTAX OBJECT IDENTIFIER
1230 MAX-ACCESS read-create
1236 "A reference to MIB definitions specific to the
1237 particular routing protocol that is responsible for
1238 this route, as determined by the value specified in the
1239 route's ipForwardProto value. If this information is
1240 not present, its value should be set to the OBJECT
1241 IDENTIFIER { 0 0 }, which is a syntactically valid
1242 object identifier, and any implementation conforming to
1243 ASN.1 and the Basic Encoding Rules must be able to
1244 generate and recognize this value."
1245 ::= { ipForwardEntry 9 }
1247 ipForwardNextHopAS OBJECT-TYPE
1249 MAX-ACCESS read-create
1252 "The Autonomous System Number of the Next Hop. When
1253 this is unknown or not relevant to the protocol
1254 indicated by ipForwardProto, zero."
1256 ::= { ipForwardEntry 10 }
1258 ipForwardMetric1 OBJECT-TYPE
1260 MAX-ACCESS read-create
1263 "The primary routing metric for this route. The
1264 semantics of this metric are determined by the routing-
1265 protocol specified in the route's ipForwardProto value.
1266 If this metric is not used, its value should be set to
1269 ::= { ipForwardEntry 11 }
1271 ipForwardMetric2 OBJECT-TYPE
1273 MAX-ACCESS read-create
1276 "An alternate routing metric for this route. The
1277 semantics of this metric are determined by the routing-
1278 protocol specified in the route's ipForwardProto value.
1279 If this metric is not used, its value should be set to
1282 ::= { ipForwardEntry 12 }
1287 ipForwardMetric3 OBJECT-TYPE
1289 MAX-ACCESS read-create
1292 "An alternate routing metric for this route. The
1293 semantics of this metric are determined by the routing-
1294 protocol specified in the route's ipForwardProto value.
1295 If this metric is not used, its value should be set to
1298 ::= { ipForwardEntry 13 }
1300 ipForwardMetric4 OBJECT-TYPE
1302 MAX-ACCESS read-create
1305 "An alternate routing metric for this route. The
1306 semantics of this metric are determined by the routing-
1307 protocol specified in the route's ipForwardProto value.
1308 If this metric is not used, its value should be set to
1311 ::= { ipForwardEntry 14 }
1313 ipForwardMetric5 OBJECT-TYPE
1315 MAX-ACCESS read-create
1318 "An alternate routing metric for this route. The
1319 semantics of this metric are determined by the routing-
1320 protocol specified in the route's ipForwardProto value.
1321 If this metric is not used, its value should be set to
1324 ::= { ipForwardEntry 15 }
1326 -- Obsoleted Definitions - Groups
1327 -- compliance statements
1329 ipForwardOldCompliance MODULE-COMPLIANCE
1332 "The compliance statement for SNMP entities that
1333 implement the ipForward MIB."
1338 MODULE -- this module
1339 MANDATORY-GROUPS { ipForwardMultiPathGroup }
1341 ::= { ipForwardCompliances 2 }
1343 ipForwardMultiPathGroup OBJECT-GROUP
1344 OBJECTS { ipForwardNumber,
1345 ipForwardDest, ipForwardMask, ipForwardPolicy,
1346 ipForwardNextHop, ipForwardIfIndex, ipForwardType,
1347 ipForwardProto, ipForwardAge, ipForwardInfo,
1349 ipForwardMetric1, ipForwardMetric2, ipForwardMetric3,
1350 ipForwardMetric4, ipForwardMetric5
1354 "IP Multipath Route Table."
1355 ::= { ipForwardGroups 2 }