2 -- This SMIv2 module has been generated by smidump 0.4.5. Do not edit.
5 IF-MIB DEFINITIONS ::= BEGIN
10 MODULE-COMPLIANCE, NOTIFICATION-GROUP, OBJECT-GROUP
14 Counter32, Counter64, Gauge32, Integer32, MODULE-IDENTITY,
15 NOTIFICATION-TYPE, OBJECT-TYPE, TimeTicks, mib-2
17 AutonomousType, DisplayString, PhysAddress, RowStatus,
18 TEXTUAL-CONVENTION, TestAndIncr, TimeStamp, TruthValue
22 LAST-UPDATED "200006140000Z"
24 "IETF Interfaces MIB Working Group"
29 San Jose, CA 95134-1706
35 "The MIB module to describe generic objects for network
36 interface sub-layers. This MIB is an updated version of
37 MIB-II's ifTable, and incorporates the extensions defined in
39 REVISION "200006140000Z"
41 "Clarifications agreed upon by the Interfaces MIB WG, and
42 published as RFC 2863."
43 REVISION "199602282155Z"
45 "Revisions made by the Interfaces MIB WG, and published in
47 REVISION "199311082155Z"
49 "Initial revision, published as part of RFC 1573."
53 OwnerString ::= TEXTUAL-CONVENTION
57 "This data type is used to model an administratively
58 assigned name of the owner of a resource. This information
59 is taken from the NVT ASCII character set. It is suggested
60 that this name contain one or more of the following: ASCII
61 form of the manager station's transport address, management
62 station name (e.g., domain name), network management
63 personnel's name, location, or phone number. In some cases
64 the agent itself will be the owner of an entry. In these
65 cases, this string shall be set to a string starting with
67 SYNTAX OCTET STRING (SIZE(0..255))
69 InterfaceIndex ::= TEXTUAL-CONVENTION
73 "A unique value, greater than zero, for each interface or
74 interface sub-layer in the managed system. It is
75 recommended that values are assigned contiguously starting
76 from 1. The value for each interface sub-layer must remain
77 constant at least from one re-initialization of the entity's
78 network management system to the next re-initialization."
79 SYNTAX Integer32 (1..2147483647)
81 InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
85 "This textual convention is an extension of the
86 InterfaceIndex convention. The latter defines a greater
87 than zero value used to identify an interface or interface
88 sub-layer in the managed system. This extension permits the
89 additional value of zero. the value zero is object-specific
90 and must therefore be defined as part of the description of
91 any object which uses this syntax. Examples of the usage of
92 zero might include situations where interface was unknown,
93 or when none or all interfaces need to be referenced."
94 SYNTAX Integer32 (0..2147483647)
96 interfaces OBJECT IDENTIFIER
104 "The number of network interfaces (regardless of their
105 current state) present on this system."
109 SYNTAX SEQUENCE OF IfEntry
110 MAX-ACCESS not-accessible
113 "A list of interface entries. The number of entries is
114 given by the value of ifNumber."
119 MAX-ACCESS not-accessible
122 "An entry containing management information applicable to a
123 particular interface."
127 IfEntry ::= SEQUENCE {
128 ifIndex InterfaceIndex,
129 ifDescr DisplayString,
133 ifPhysAddress PhysAddress,
134 ifAdminStatus INTEGER,
135 ifOperStatus INTEGER,
136 ifLastChange TimeTicks,
137 ifInOctets Counter32,
138 ifInUcastPkts Counter32,
139 ifInNUcastPkts Counter32,
140 ifInDiscards Counter32,
141 ifInErrors Counter32,
142 ifInUnknownProtos Counter32,
143 ifOutOctets Counter32,
144 ifOutUcastPkts Counter32,
145 ifOutNUcastPkts Counter32,
146 ifOutDiscards Counter32,
147 ifOutErrors Counter32,
149 ifSpecific OBJECT IDENTIFIER
153 SYNTAX InterfaceIndex
157 "A unique value, greater than zero, for each interface. It
158 is recommended that values are assigned contiguously
159 starting from 1. The value for each interface sub-layer
160 must remain constant at least from one re-initialization of
161 the entity's network management system to the next re-
166 SYNTAX DisplayString (SIZE(0..255))
170 "A textual string containing information about the
171 interface. This string should include the name of the
172 manufacturer, the product name and the version of the
173 interface hardware/software."
181 "The type of interface. Additional values for ifType are
182 assigned by the Internet Assigned Numbers Authority (IANA),
183 through updating the syntax of the IANAifType textual
192 "The size of the largest packet which can be sent/received
193 on the interface, specified in octets. For interfaces that
194 are used for transmitting network datagrams, this is the
195 size of the largest network datagram that can be sent on the
204 "An estimate of the interface's current bandwidth in bits
205 per second. For interfaces which do not vary in bandwidth
206 or for those where no accurate estimation can be made, this
207 object should contain the nominal bandwidth. If the
208 bandwidth of the interface is greater than the maximum value
209 reportable by this object then this object should report its
210 maximum value (4,294,967,295) and ifHighSpeed must be used
211 to report the interace's speed. For a sub-layer which has
212 no concept of bandwidth, this object should be zero."
215 ifPhysAddress OBJECT-TYPE
220 "The interface's address at its protocol sub-layer. For
221 example, for an 802.x interface, this object normally
222 contains a MAC address. The interface's media-specific MIB
223 must define the bit and byte ordering and the format of the
224 value of this object. For interfaces which do not have such
225 an address (e.g., a serial line), this object should contain
226 an octet string of zero length."
229 ifAdminStatus OBJECT-TYPE
230 SYNTAX INTEGER { up(1), down(2), testing(3) }
231 MAX-ACCESS read-write
234 "The desired state of the interface. The testing(3) state
235 indicates that no operational packets can be passed. When a
236 managed system initializes, all interfaces start with
237 ifAdminStatus in the down(2) state. As a result of either
238 explicit management action or per configuration information
239 retained by the managed system, ifAdminStatus is then
240 changed to either the up(1) or testing(3) states (or remains
241 in the down(2) state)."
244 ifOperStatus OBJECT-TYPE
245 SYNTAX INTEGER { up(1), down(2), testing(3), unknown(4),
246 dormant(5), notPresent(6), lowerLayerDown(7) }
250 "The current operational state of the interface. The
251 testing(3) state indicates that no operational packets can
252 be passed. If ifAdminStatus is down(2) then ifOperStatus
253 should be down(2). If ifAdminStatus is changed to up(1)
254 then ifOperStatus should change to up(1) if the interface is
255 ready to transmit and receive network traffic; it should
256 change to dormant(5) if the interface is waiting for
257 external actions (such as a serial line waiting for an
258 incoming connection); it should remain in the down(2) state
259 if and only if there is a fault that prevents it from going
260 to the up(1) state; it should remain in the notPresent(6)
261 state if the interface has missing (typically, hardware)
265 ifLastChange OBJECT-TYPE
270 "The value of sysUpTime at the time the interface entered
271 its current operational state. If the current state was
272 entered prior to the last re-initialization of the local
273 network management subsystem, then this object contains a
277 ifInOctets OBJECT-TYPE
282 "The total number of octets received on the interface,
285 including framing characters.
287 Discontinuities in the value of this counter can occur at
288 re-initialization of the management system, and at other
289 times as indicated by the value of
290 ifCounterDiscontinuityTime."
293 ifInUcastPkts OBJECT-TYPE
298 "The number of packets, delivered by this sub-layer to a
299 higher (sub-)layer, which were not addressed to a multicast
300 or broadcast address at this sub-layer.
302 Discontinuities in the value of this counter can occur at
303 re-initialization of the management system, and at other
304 times as indicated by the value of
305 ifCounterDiscontinuityTime."
308 ifInNUcastPkts OBJECT-TYPE
313 "The number of packets, delivered by this sub-layer to a
314 higher (sub-)layer, which were addressed to a multicast or
315 broadcast address at this sub-layer.
317 Discontinuities in the value of this counter can occur at
318 re-initialization of the management system, and at other
319 times as indicated by the value of
320 ifCounterDiscontinuityTime.
322 This object is deprecated in favour of ifInMulticastPkts and
326 ifInDiscards OBJECT-TYPE
331 "The number of inbound packets which were chosen to be
332 discarded even though no errors had been detected to prevent
335 their being deliverable to a higher-layer protocol. One
336 possible reason for discarding such a packet could be to
337 free up buffer space.
339 Discontinuities in the value of this counter can occur at
340 re-initialization of the management system, and at other
341 times as indicated by the value of
342 ifCounterDiscontinuityTime."
345 ifInErrors OBJECT-TYPE
350 "For packet-oriented interfaces, the number of inbound
351 packets that contained errors preventing them from being
352 deliverable to a higher-layer protocol. For character-
353 oriented or fixed-length interfaces, the number of inbound
354 transmission units that contained errors preventing them
355 from being deliverable to a higher-layer protocol.
357 Discontinuities in the value of this counter can occur at
358 re-initialization of the management system, and at other
359 times as indicated by the value of
360 ifCounterDiscontinuityTime."
363 ifInUnknownProtos OBJECT-TYPE
368 "For packet-oriented interfaces, the number of packets
369 received via the interface which were discarded because of
370 an unknown or unsupported protocol. For character-oriented
371 or fixed-length interfaces that support protocol
372 multiplexing the number of transmission units received via
373 the interface which were discarded because of an unknown or
374 unsupported protocol. For any interface that does not
375 support protocol multiplexing, this counter will always be
378 Discontinuities in the value of this counter can occur at
379 re-initialization of the management system, and at other
380 times as indicated by the value of
381 ifCounterDiscontinuityTime."
384 ifOutOctets OBJECT-TYPE
389 "The total number of octets transmitted out of the
390 interface, including framing characters.
392 Discontinuities in the value of this counter can occur at
393 re-initialization of the management system, and at other
394 times as indicated by the value of
395 ifCounterDiscontinuityTime."
398 ifOutUcastPkts OBJECT-TYPE
403 "The total number of packets that higher-level protocols
404 requested be transmitted, and which were not addressed to a
405 multicast or broadcast address at this sub-layer, including
406 those that were discarded or not sent.
408 Discontinuities in the value of this counter can occur at
409 re-initialization of the management system, and at other
410 times as indicated by the value of
411 ifCounterDiscontinuityTime."
414 ifOutNUcastPkts OBJECT-TYPE
419 "The total number of packets that higher-level protocols
420 requested be transmitted, and which were addressed to a
421 multicast or broadcast address at this sub-layer, including
422 those that were discarded or not sent.
424 Discontinuities in the value of this counter can occur at
425 re-initialization of the management system, and at other
426 times as indicated by the value of
427 ifCounterDiscontinuityTime.
429 This object is deprecated in favour of ifOutMulticastPkts
430 and ifOutBroadcastPkts."
433 ifOutDiscards OBJECT-TYPE
438 "The number of outbound packets which were chosen to be
439 discarded even though no errors had been detected to prevent
440 their being transmitted. One possible reason for discarding
441 such a packet could be to free up buffer space.
443 Discontinuities in the value of this counter can occur at
444 re-initialization of the management system, and at other
445 times as indicated by the value of
446 ifCounterDiscontinuityTime."
449 ifOutErrors OBJECT-TYPE
454 "For packet-oriented interfaces, the number of outbound
455 packets that could not be transmitted because of errors.
456 For character-oriented or fixed-length interfaces, the
457 number of outbound transmission units that could not be
458 transmitted because of errors.
460 Discontinuities in the value of this counter can occur at
461 re-initialization of the management system, and at other
462 times as indicated by the value of
463 ifCounterDiscontinuityTime."
466 ifOutQLen OBJECT-TYPE
471 "The length of the output packet queue (in packets)."
474 ifSpecific OBJECT-TYPE
475 SYNTAX OBJECT IDENTIFIER
479 "A reference to MIB definitions specific to the particular
480 media being used to realize the interface. It is
483 recommended that this value point to an instance of a MIB
484 object in the media-specific MIB, i.e., that this object
485 have the semantics associated with the InstancePointer
486 textual convention defined in RFC 2579. In fact, it is
487 recommended that the media-specific MIB specify what value
488 ifSpecific should/can take for values of ifType. If no MIB
489 definitions specific to the particular media are available,
490 the value should be set to the OBJECT IDENTIFIER { 0 0 }."
493 ifMIBObjects OBJECT IDENTIFIER
497 SYNTAX SEQUENCE OF IfXEntry
498 MAX-ACCESS not-accessible
501 "A list of interface entries. The number of entries is
502 given by the value of ifNumber. This table contains
503 additional objects for the interface table."
504 ::= { ifMIBObjects 1 }
508 MAX-ACCESS not-accessible
511 "An entry containing additional management information
512 applicable to a particular interface."
516 IfXEntry ::= SEQUENCE {
517 ifName DisplayString,
518 ifInMulticastPkts Counter32,
519 ifInBroadcastPkts Counter32,
520 ifOutMulticastPkts Counter32,
521 ifOutBroadcastPkts Counter32,
522 ifHCInOctets Counter64,
523 ifHCInUcastPkts Counter64,
524 ifHCInMulticastPkts Counter64,
525 ifHCInBroadcastPkts Counter64,
526 ifHCOutOctets Counter64,
527 ifHCOutUcastPkts Counter64,
528 ifHCOutMulticastPkts Counter64,
529 ifHCOutBroadcastPkts Counter64,
530 ifLinkUpDownTrapEnable INTEGER,
532 ifPromiscuousMode TruthValue,
533 ifConnectorPresent TruthValue,
534 ifAlias DisplayString,
535 ifCounterDiscontinuityTime TimeStamp
543 "The textual name of the interface. The value of this
544 object should be the name of the interface as assigned by
545 the local device and should be suitable for use in commands
546 entered at the device's `console'. This might be a text
547 name, such as `le0' or a simple port number, such as `1',
548 depending on the interface naming syntax of the device. If
549 several entries in the ifTable together represent a single
550 interface as named by the device, then each will have the
551 same value of ifName. Note that for an agent which responds
552 to SNMP queries concerning an interface on some other
553 (proxied) device, then the value of ifName for such an
554 interface is the proxied device's local name for it.
556 If there is no local name, or this object is otherwise not
557 applicable, then this object contains a zero-length string."
560 ifInMulticastPkts OBJECT-TYPE
565 "The number of packets, delivered by this sub-layer to a
566 higher (sub-)layer, which were addressed to a multicast
567 address at this sub-layer. For a MAC layer protocol, this
568 includes both Group and Functional addresses.
570 Discontinuities in the value of this counter can occur at
571 re-initialization of the management system, and at other
574 times as indicated by the value of
575 ifCounterDiscontinuityTime."
578 ifInBroadcastPkts OBJECT-TYPE
583 "The number of packets, delivered by this sub-layer to a
584 higher (sub-)layer, which were addressed to a broadcast
585 address at this sub-layer.
587 Discontinuities in the value of this counter can occur at
588 re-initialization of the management system, and at other
589 times as indicated by the value of
590 ifCounterDiscontinuityTime."
593 ifOutMulticastPkts OBJECT-TYPE
598 "The total number of packets that higher-level protocols
599 requested be transmitted, and which were addressed to a
600 multicast address at this sub-layer, including those that
601 were discarded or not sent. For a MAC layer protocol, this
602 includes both Group and Functional addresses.
604 Discontinuities in the value of this counter can occur at
605 re-initialization of the management system, and at other
606 times as indicated by the value of
607 ifCounterDiscontinuityTime."
610 ifOutBroadcastPkts OBJECT-TYPE
615 "The total number of packets that higher-level protocols
616 requested be transmitted, and which were addressed to a
617 broadcast address at this sub-layer, including those that
618 were discarded or not sent.
620 Discontinuities in the value of this counter can occur at
621 re-initialization of the management system, and at other
624 times as indicated by the value of
625 ifCounterDiscontinuityTime."
628 ifHCInOctets OBJECT-TYPE
633 "The total number of octets received on the interface,
634 including framing characters. This object is a 64-bit
635 version of ifInOctets.
637 Discontinuities in the value of this counter can occur at
638 re-initialization of the management system, and at other
639 times as indicated by the value of
640 ifCounterDiscontinuityTime."
643 ifHCInUcastPkts OBJECT-TYPE
648 "The number of packets, delivered by this sub-layer to a
649 higher (sub-)layer, which were not addressed to a multicast
650 or broadcast address at this sub-layer. This object is a
651 64-bit version of ifInUcastPkts.
653 Discontinuities in the value of this counter can occur at
654 re-initialization of the management system, and at other
655 times as indicated by the value of
656 ifCounterDiscontinuityTime."
659 ifHCInMulticastPkts OBJECT-TYPE
664 "The number of packets, delivered by this sub-layer to a
665 higher (sub-)layer, which were addressed to a multicast
666 address at this sub-layer. For a MAC layer protocol, this
667 includes both Group and Functional addresses. This object
668 is a 64-bit version of ifInMulticastPkts.
670 Discontinuities in the value of this counter can occur at
671 re-initialization of the management system, and at other
672 times as indicated by the value of
673 ifCounterDiscontinuityTime."
676 ifHCInBroadcastPkts OBJECT-TYPE
681 "The number of packets, delivered by this sub-layer to a
682 higher (sub-)layer, which were addressed to a broadcast
683 address at this sub-layer. This object is a 64-bit version
684 of ifInBroadcastPkts.
686 Discontinuities in the value of this counter can occur at
687 re-initialization of the management system, and at other
688 times as indicated by the value of
689 ifCounterDiscontinuityTime."
692 ifHCOutOctets OBJECT-TYPE
697 "The total number of octets transmitted out of the
698 interface, including framing characters. This object is a
699 64-bit version of ifOutOctets.
701 Discontinuities in the value of this counter can occur at
702 re-initialization of the management system, and at other
703 times as indicated by the value of
704 ifCounterDiscontinuityTime."
707 ifHCOutUcastPkts OBJECT-TYPE
712 "The total number of packets that higher-level protocols
713 requested be transmitted, and which were not addressed to a
714 multicast or broadcast address at this sub-layer, including
715 those that were discarded or not sent. This object is a
716 64-bit version of ifOutUcastPkts.
718 Discontinuities in the value of this counter can occur at
719 re-initialization of the management system, and at other
720 times as indicated by the value of
721 ifCounterDiscontinuityTime."
724 ifHCOutMulticastPkts OBJECT-TYPE
729 "The total number of packets that higher-level protocols
730 requested be transmitted, and which were addressed to a
731 multicast address at this sub-layer, including those that
732 were discarded or not sent. For a MAC layer protocol, this
733 includes both Group and Functional addresses. This object
734 is a 64-bit version of ifOutMulticastPkts.
736 Discontinuities in the value of this counter can occur at
737 re-initialization of the management system, and at other
738 times as indicated by the value of
739 ifCounterDiscontinuityTime."
742 ifHCOutBroadcastPkts OBJECT-TYPE
747 "The total number of packets that higher-level protocols
748 requested be transmitted, and which were addressed to a
749 broadcast address at this sub-layer, including those that
750 were discarded or not sent. This object is a 64-bit version
751 of ifOutBroadcastPkts.
753 Discontinuities in the value of this counter can occur at
754 re-initialization of the management system, and at other
755 times as indicated by the value of
756 ifCounterDiscontinuityTime."
759 ifLinkUpDownTrapEnable OBJECT-TYPE
760 SYNTAX INTEGER { enabled(1), disabled(2) }
761 MAX-ACCESS read-write
764 "Indicates whether linkUp/linkDown traps should be generated
767 By default, this object should have the value enabled(1) for
768 interfaces which do not operate on 'top' of any other
769 interface (as defined in the ifStackTable), and disabled(2)
773 ifHighSpeed OBJECT-TYPE
778 "An estimate of the interface's current bandwidth in units
779 of 1,000,000 bits per second. If this object reports a
780 value of `n' then the speed of the interface is somewhere in
781 the range of `n-500,000' to `n+499,999'. For interfaces
782 which do not vary in bandwidth or for those where no
783 accurate estimation can be made, this object should contain
784 the nominal bandwidth. For a sub-layer which has no concept
785 of bandwidth, this object should be zero."
788 ifPromiscuousMode OBJECT-TYPE
790 MAX-ACCESS read-write
793 "This object has a value of false(2) if this interface only
794 accepts packets/frames that are addressed to this station.
795 This object has a value of true(1) when the station accepts
796 all packets/frames transmitted on the media. The value
797 true(1) is only legal on certain types of media. If legal,
798 setting this object to a value of true(1) may require the
799 interface to be reset before becoming effective.
801 The value of ifPromiscuousMode does not affect the reception
802 of broadcast and multicast packets/frames by the interface."
805 ifConnectorPresent OBJECT-TYPE
810 "This object has the value 'true(1)' if the interface
811 sublayer has a physical connector and the value 'false(2)'
816 SYNTAX DisplayString (SIZE(0..64))
817 MAX-ACCESS read-write
820 "This object is an 'alias' name for the interface as
821 specified by a network manager, and provides a non-volatile
822 'handle' for the interface.
824 On the first instantiation of an interface, the value of
825 ifAlias associated with that interface is the zero-length
826 string. As and when a value is written into an instance of
827 ifAlias through a network management set operation, then the
828 agent must retain the supplied value in the ifAlias instance
829 associated with the same interface for as long as that
830 interface remains instantiated, including across all re-
831 initializations/reboots of the network management system,
832 including those which result in a change of the interface's
835 An example of the value which a network manager might store
836 in this object for a WAN interface is the (Telco's) circuit
837 number/identifier of the interface.
839 Some agents may support write-access only for interfaces
840 having particular values of ifType. An agent which supports
841 write access to this object is required to keep the value in
842 non-volatile storage, but it may limit the length of new
843 values depending on how much storage is already occupied by
844 the current values for other interfaces."
847 ifCounterDiscontinuityTime OBJECT-TYPE
852 "The value of sysUpTime on the most recent occasion at which
853 any one or more of this interface's counters suffered a
854 discontinuity. The relevant counters are the specific
855 instances associated with this interface of any Counter32 or
858 Counter64 object contained in the ifTable or ifXTable. If
859 no such discontinuities have occurred since the last re-
860 initialization of the local management subsystem, then this
861 object contains a zero value."
864 ifStackTable OBJECT-TYPE
865 SYNTAX SEQUENCE OF IfStackEntry
866 MAX-ACCESS not-accessible
869 "The table containing information on the relationships
870 between the multiple sub-layers of network interfaces. In
871 particular, it contains information on which sub-layers run
872 'on top of' which other sub-layers, where each sub-layer
873 corresponds to a conceptual row in the ifTable. For
874 example, when the sub-layer with ifIndex value x runs over
875 the sub-layer with ifIndex value y, then this table
878 ifStackStatus.x.y=active
880 For each ifIndex value, I, which identifies an active
881 interface, there are always at least two instantiated rows
882 in this table associated with I. For one of these rows, I
883 is the value of ifStackHigherLayer; for the other, I is the
884 value of ifStackLowerLayer. (If I is not involved in
885 multiplexing, then these are the only two rows associated
888 For example, two rows exist even for an interface which has
889 no others stacked on top or below it:
891 ifStackStatus.0.x=active
892 ifStackStatus.x.0=active "
893 ::= { ifMIBObjects 2 }
895 ifStackEntry OBJECT-TYPE
897 MAX-ACCESS not-accessible
900 "Information on a particular relationship between two sub-
901 layers, specifying that one sub-layer runs on 'top' of the
902 other sub-layer. Each sub-layer corresponds to a conceptual
904 INDEX { ifStackHigherLayer, ifStackLowerLayer }
905 ::= { ifStackTable 1 }
907 IfStackEntry ::= SEQUENCE {
908 ifStackHigherLayer InterfaceIndexOrZero,
909 ifStackLowerLayer InterfaceIndexOrZero,
910 ifStackStatus RowStatus
913 ifStackHigherLayer OBJECT-TYPE
914 SYNTAX InterfaceIndexOrZero
915 MAX-ACCESS not-accessible
918 "The value of ifIndex corresponding to the higher sub-layer
919 of the relationship, i.e., the sub-layer which runs on 'top'
920 of the sub-layer identified by the corresponding instance of
921 ifStackLowerLayer. If there is no higher sub-layer (below
922 the internetwork layer), then this object has the value 0."
923 ::= { ifStackEntry 1 }
925 ifStackLowerLayer OBJECT-TYPE
926 SYNTAX InterfaceIndexOrZero
927 MAX-ACCESS not-accessible
930 "The value of ifIndex corresponding to the lower sub-layer
931 of the relationship, i.e., the sub-layer which runs 'below'
932 the sub-layer identified by the corresponding instance of
933 ifStackHigherLayer. If there is no lower sub-layer, then
934 this object has the value 0."
935 ::= { ifStackEntry 2 }
937 ifStackStatus OBJECT-TYPE
939 MAX-ACCESS read-create
942 "The status of the relationship between two sub-layers.
944 Changing the value of this object from 'active' to
945 'notInService' or 'destroy' will likely have consequences up
946 and down the interface stack. Thus, write access to this
947 object is likely to be inappropriate for some types of
948 interfaces, and many implementations will choose not to
949 support write-access for any type of interface."
950 ::= { ifStackEntry 3 }
952 ifTestTable OBJECT-TYPE
953 SYNTAX SEQUENCE OF IfTestEntry
954 MAX-ACCESS not-accessible
957 "This table contains one entry per interface. It defines
958 objects which allow a network manager to instruct an agent
959 to test an interface for various faults. Tests for an
960 interface are defined in the media-specific MIB for that
961 interface. After invoking a test, the object ifTestResult
962 can be read to determine the outcome. If an agent can not
963 perform the test, ifTestResult is set to so indicate. The
964 object ifTestCode can be used to provide further test-
965 specific or interface-specific (or even enterprise-specific)
966 information concerning the outcome of the test. Only one
967 test can be in progress on each interface at any one time.
968 If one test is in progress when another test is invoked, the
969 second test is rejected. Some agents may reject a test when
970 a prior test is active on another interface.
972 Before starting a test, a manager-station must first obtain
973 'ownership' of the entry in the ifTestTable for the
974 interface to be tested. This is accomplished with the
975 ifTestId and ifTestStatus objects as follows:
978 get (ifTestId, ifTestStatus)
979 while (ifTestStatus != notInUse)
981 * Loop while a test is running or some other
982 * manager is configuring a test.
985 get (ifTestId, ifTestStatus)
989 * Is not being used right now -- let's compete
990 * to see who gets it.
992 lock_value = ifTestId
994 if ( set(ifTestId = lock_value, ifTestStatus = inUse,
997 ifTestOwner = 'my-IP-address') == FAILURE)
999 * Another manager got the ifTestEntry -- go
1007 set up any test parameters.
1010 * This starts the test
1012 set(ifTestType = test_to_run);
1014 wait for test completion by polling ifTestResult
1016 when test completes, agent sets ifTestResult
1017 agent also sets ifTestStatus = 'notInUse'
1019 retrieve any additional test results, and ifTestId
1021 if (ifTestId == lock_value+1) results are valid
1023 A manager station first retrieves the value of the
1024 appropriate ifTestId and ifTestStatus objects, periodically
1025 repeating the retrieval if necessary, until the value of
1026 ifTestStatus is 'notInUse'. The manager station then tries
1027 to set the same ifTestId object to the value it just
1028 retrieved, the same ifTestStatus object to 'inUse', and the
1029 corresponding ifTestOwner object to a value indicating
1030 itself. If the set operation succeeds then the manager has
1031 obtained ownership of the ifTestEntry, and the value of the
1032 ifTestId object is incremented by the agent (per the
1033 semantics of TestAndIncr). Failure of the set operation
1034 indicates that some other manager has obtained ownership of
1037 Once ownership is obtained, any test parameters can be
1038 setup, and then the test is initiated by setting ifTestType.
1039 On completion of the test, the agent sets ifTestStatus to
1040 'notInUse'. Once this occurs, the manager can retrieve the
1041 results. In the (rare) event that the invocation of tests
1042 by two network managers were to overlap, then there would be
1043 a possibility that the first test's results might be
1044 overwritten by the second test's results prior to the first
1047 results being read. This unlikely circumstance can be
1048 detected by a network manager retrieving ifTestId at the
1049 same time as retrieving the test results, and ensuring that
1050 the results are for the desired request.
1052 If ifTestType is not set within an abnormally long period of
1053 time after ownership is obtained, the agent should time-out
1054 the manager, and reset the value of the ifTestStatus object
1055 back to 'notInUse'. It is suggested that this time-out
1056 period be 5 minutes.
1058 In general, a management station must not retransmit a
1059 request to invoke a test for which it does not receive a
1060 response; instead, it properly inspects an agent's MIB to
1061 determine if the invocation was successful. Only if the
1062 invocation was unsuccessful, is the invocation request
1065 Some tests may require the interface to be taken off-line in
1066 order to execute them, or may even require the agent to
1067 reboot after completion of the test. In these
1068 circumstances, communication with the management station
1069 invoking the test may be lost until after completion of the
1070 test. An agent is not required to support such tests.
1071 However, if such tests are supported, then the agent should
1072 make every effort to transmit a response to the request
1073 which invoked the test prior to losing communication. When
1074 the agent is restored to normal service, the results of the
1075 test are properly made available in the appropriate objects.
1076 Note that this requires that the ifIndex value assigned to
1077 an interface must be unchanged even if the test causes a
1078 reboot. An agent must reject any test for which it cannot,
1079 perhaps due to resource constraints, make available at least
1080 the minimum amount of information after that test
1082 ::= { ifMIBObjects 3 }
1084 ifTestEntry OBJECT-TYPE
1086 MAX-ACCESS not-accessible
1089 "An entry containing objects for invoking tests on an
1091 AUGMENTS { ifEntry }
1092 ::= { ifTestTable 1 }
1094 IfTestEntry ::= SEQUENCE {
1095 ifTestId TestAndIncr,
1096 ifTestStatus INTEGER,
1097 ifTestType AutonomousType,
1098 ifTestResult INTEGER,
1099 ifTestCode OBJECT IDENTIFIER,
1100 ifTestOwner OwnerString
1103 ifTestId OBJECT-TYPE
1105 MAX-ACCESS read-write
1108 "This object identifies the current invocation of the
1110 ::= { ifTestEntry 1 }
1112 ifTestStatus OBJECT-TYPE
1113 SYNTAX INTEGER { notInUse(1), inUse(2) }
1114 MAX-ACCESS read-write
1117 "This object indicates whether or not some manager currently
1118 has the necessary 'ownership' required to invoke a test on
1119 this interface. A write to this object is only successful
1120 when it changes its value from 'notInUse(1)' to 'inUse(2)'.
1121 After completion of a test, the agent resets the value back
1123 ::= { ifTestEntry 2 }
1125 ifTestType OBJECT-TYPE
1126 SYNTAX AutonomousType
1127 MAX-ACCESS read-write
1130 "A control variable used to start and stop operator-
1131 initiated interface tests. Most OBJECT IDENTIFIER values
1132 assigned to tests are defined elsewhere, in association with
1133 specific types of interface. However, this document assigns
1134 a value for a full-duplex loopback test, and defines the
1135 special meanings of the subject identifier:
1137 noTest OBJECT IDENTIFIER ::= { 0 0 }
1139 When the value noTest is written to this object, no action
1140 is taken unless a test is in progress, in which case the
1141 test is aborted. Writing any other value to this object is
1144 only valid when no test is currently in progress, in which
1145 case the indicated test is initiated.
1147 When read, this object always returns the most recent value
1148 that ifTestType was set to. If it has not been set since
1149 the last initialization of the network management subsystem
1150 on the agent, a value of noTest is returned."
1151 ::= { ifTestEntry 3 }
1153 ifTestResult OBJECT-TYPE
1154 SYNTAX INTEGER { none(1), success(2), inProgress(3),
1155 notSupported(4), unAbleToRun(5), aborted(6),
1157 MAX-ACCESS read-only
1160 "This object contains the result of the most recently
1161 requested test, or the value none(1) if no tests have been
1162 requested since the last reset. Note that this facility
1163 provides no provision for saving the results of one test
1164 when starting another, as could be required if used by
1165 multiple managers concurrently."
1166 ::= { ifTestEntry 4 }
1168 ifTestCode OBJECT-TYPE
1169 SYNTAX OBJECT IDENTIFIER
1170 MAX-ACCESS read-only
1173 "This object contains a code which contains more specific
1174 information on the test result, for example an error-code
1175 after a failed test. Error codes and other values this
1176 object may take are specific to the type of interface and/or
1177 test. The value may have the semantics of either the
1178 AutonomousType or InstancePointer textual conventions as
1179 defined in RFC 2579. The identifier:
1181 testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 }
1183 is defined for use if no additional result code is
1185 ::= { ifTestEntry 5 }
1187 ifTestOwner OBJECT-TYPE
1189 MAX-ACCESS read-write
1192 "The entity which currently has the 'ownership' required to
1193 invoke a test on this interface."
1194 ::= { ifTestEntry 6 }
1196 ifRcvAddressTable OBJECT-TYPE
1197 SYNTAX SEQUENCE OF IfRcvAddressEntry
1198 MAX-ACCESS not-accessible
1201 "This table contains an entry for each address (broadcast,
1202 multicast, or uni-cast) for which the system will receive
1203 packets/frames on a particular interface, except as follows:
1205 - for an interface operating in promiscuous mode, entries
1206 are only required for those addresses for which the system
1207 would receive frames were it not operating in promiscuous
1211 - for 802.5 functional addresses, only one entry is
1212 required, for the address which has the functional address
1213 bit ANDed with the bit mask of all functional addresses for
1214 which the interface will accept frames.
1216 A system is normally able to use any unicast address which
1217 corresponds to an entry in this table as a source address."
1218 ::= { ifMIBObjects 4 }
1220 ifRcvAddressEntry OBJECT-TYPE
1221 SYNTAX IfRcvAddressEntry
1222 MAX-ACCESS not-accessible
1225 "A list of objects identifying an address for which the
1226 system will accept packets/frames on the particular
1227 interface identified by the index value ifIndex."
1228 INDEX { ifIndex, ifRcvAddressAddress }
1229 ::= { ifRcvAddressTable 1 }
1231 IfRcvAddressEntry ::= SEQUENCE {
1232 ifRcvAddressAddress PhysAddress,
1233 ifRcvAddressStatus RowStatus,
1234 ifRcvAddressType INTEGER
1237 ifRcvAddressAddress OBJECT-TYPE
1239 MAX-ACCESS not-accessible
1242 "An address for which the system will accept packets/frames
1243 on this entry's interface."
1244 ::= { ifRcvAddressEntry 1 }
1246 ifRcvAddressStatus OBJECT-TYPE
1248 MAX-ACCESS read-create
1251 "This object is used to create and delete rows in the
1253 ::= { ifRcvAddressEntry 2 }
1255 ifRcvAddressType OBJECT-TYPE
1256 SYNTAX INTEGER { other(1), volatile(2), nonVolatile(3) }
1257 MAX-ACCESS read-create
1260 "This object has the value nonVolatile(3) for those entries
1261 in the table which are valid and will not be deleted by the
1262 next restart of the managed system. Entries having the
1263 value volatile(2) are valid and exist, but have not been
1264 saved, so that will not exist after the next restart of the
1265 managed system. Entries having the value other(1) are valid
1266 and exist but are not classified as to whether they will
1267 continue to exist after the next restart."
1269 ::= { ifRcvAddressEntry 3 }
1271 ifTableLastChange OBJECT-TYPE
1273 MAX-ACCESS read-only
1276 "The value of sysUpTime at the time of the last creation or
1277 deletion of an entry in the ifTable. If the number of
1278 entries has been unchanged since the last re-initialization
1279 of the local network management subsystem, then this object
1280 contains a zero value."
1281 ::= { ifMIBObjects 5 }
1283 ifStackLastChange OBJECT-TYPE
1285 MAX-ACCESS read-only
1288 "The value of sysUpTime at the time of the last change of
1289 the (whole) interface stack. A change of the interface
1290 stack is defined to be any creation, deletion, or change in
1291 value of any instance of ifStackStatus. If the interface
1292 stack has been unchanged since the last re-initialization of
1293 the local network management subsystem, then this object
1294 contains a zero value."
1295 ::= { ifMIBObjects 6 }
1297 ifConformance OBJECT IDENTIFIER
1300 ifGroups OBJECT IDENTIFIER
1301 ::= { ifConformance 1 }
1303 ifCompliances OBJECT IDENTIFIER
1304 ::= { ifConformance 2 }
1306 linkDown NOTIFICATION-TYPE
1307 OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
1310 "A linkDown trap signifies that the SNMP entity, acting in
1311 an agent role, has detected that the ifOperStatus object for
1312 one of its communication links is about to enter the down
1313 state from some other state (but not from the notPresent
1314 state). This other state is indicated by the included value
1318 linkUp NOTIFICATION-TYPE
1319 OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
1322 "A linkUp trap signifies that the SNMP entity, acting in an
1323 agent role, has detected that the ifOperStatus object for
1324 one of its communication links left the down state and
1325 transitioned into some other state (but not into the
1326 notPresent state). This other state is indicated by the
1327 included value of ifOperStatus."
1330 ifGeneralGroup OBJECT-GROUP
1331 OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress, ifAdminStatus,
1332 ifOperStatus, ifLastChange, ifLinkUpDownTrapEnable,
1333 ifConnectorPresent, ifHighSpeed, ifName }
1336 "A collection of objects deprecated in favour of
1337 ifGeneralInformationGroup."
1340 ifFixedLengthGroup OBJECT-GROUP
1341 OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos, ifInErrors,
1345 "A collection of objects providing information specific to
1346 non-high speed (non-high speed interfaces transmit and
1347 receive at speeds less than or equal to 20,000,000
1348 bits/second) character-oriented or fixed-length-transmission
1349 network interfaces."
1352 ifHCFixedLengthGroup OBJECT-GROUP
1353 OBJECTS { ifHCInOctets, ifHCOutOctets, ifInOctets, ifOutOctets,
1354 ifInUnknownProtos, ifInErrors, ifOutErrors }
1357 "A collection of objects providing information specific to
1358 high speed (greater than 20,000,000 bits/second) character-
1359 oriented or fixed-length-transmission network interfaces."
1362 ifPacketGroup OBJECT-GROUP
1363 OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos, ifInErrors,
1364 ifOutErrors, ifMtu, ifInUcastPkts, ifInMulticastPkts,
1365 ifInBroadcastPkts, ifInDiscards, ifOutUcastPkts,
1366 ifOutMulticastPkts, ifOutBroadcastPkts, ifOutDiscards,
1370 "A collection of objects providing information specific to
1371 non-high speed (non-high speed interfaces transmit and
1372 receive at speeds less than or equal to 20,000,000
1373 bits/second) packet-oriented network interfaces."
1376 ifHCPacketGroup OBJECT-GROUP
1377 OBJECTS { ifHCInOctets, ifHCOutOctets, ifInOctets, ifOutOctets,
1378 ifInUnknownProtos, ifInErrors, ifOutErrors, ifMtu,
1379 ifInUcastPkts, ifInMulticastPkts, ifInBroadcastPkts,
1380 ifInDiscards, ifOutUcastPkts, ifOutMulticastPkts,
1381 ifOutBroadcastPkts, ifOutDiscards, ifPromiscuousMode }
1384 "A collection of objects providing information specific to
1385 high speed (greater than 20,000,000 bits/second but less
1386 than or equal to 650,000,000 bits/second) packet-oriented
1387 network interfaces."
1390 ifVHCPacketGroup OBJECT-GROUP
1391 OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
1392 ifHCInBroadcastPkts, ifHCOutUcastPkts,
1393 ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
1394 ifHCInOctets, ifHCOutOctets, ifInOctets, ifOutOctets,
1395 ifInUnknownProtos, ifInErrors, ifOutErrors, ifMtu,
1396 ifInUcastPkts, ifInMulticastPkts, ifInBroadcastPkts,
1397 ifInDiscards, ifOutUcastPkts, ifOutMulticastPkts,
1398 ifOutBroadcastPkts, ifOutDiscards, ifPromiscuousMode }
1401 "A collection of objects providing information specific to
1402 higher speed (greater than 650,000,000 bits/second) packet-
1403 oriented network interfaces."
1406 ifRcvAddressGroup OBJECT-GROUP
1407 OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
1410 "A collection of objects providing information on the
1411 multiple addresses which an interface receives."
1414 ifTestGroup OBJECT-GROUP
1415 OBJECTS { ifTestId, ifTestStatus, ifTestType, ifTestResult,
1416 ifTestCode, ifTestOwner }
1419 "A collection of objects providing the ability to invoke
1420 tests on an interface."
1423 ifStackGroup OBJECT-GROUP
1424 OBJECTS { ifStackStatus }
1427 "The previous collection of objects providing information on
1428 the layering of MIB-II interfaces."
1431 ifGeneralInformationGroup OBJECT-GROUP
1432 OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress,
1433 ifAdminStatus, ifOperStatus, ifLastChange,
1434 ifLinkUpDownTrapEnable, ifConnectorPresent,
1435 ifHighSpeed, ifName, ifNumber, ifAlias,
1439 "A collection of objects providing information applicable to
1440 all network interfaces."
1443 ifStackGroup2 OBJECT-GROUP
1444 OBJECTS { ifStackStatus, ifStackLastChange }
1447 "A collection of objects providing information on the
1448 layering of MIB-II interfaces."
1451 ifOldObjectsGroup OBJECT-GROUP
1452 OBJECTS { ifInNUcastPkts, ifOutNUcastPkts, ifOutQLen, ifSpecific }
1455 "The collection of objects deprecated from the original MIB-
1456 II interfaces group."
1459 ifCounterDiscontinuityGroup OBJECT-GROUP
1460 OBJECTS { ifCounterDiscontinuityTime }
1463 "A collection of objects providing information specific to
1464 interface counter discontinuities."
1467 linkUpDownNotificationsGroup NOTIFICATION-GROUP
1468 NOTIFICATIONS { linkUp, linkDown }
1471 "The notifications which indicate specific changes in the
1472 value of ifOperStatus."
1475 ifCompliance MODULE-COMPLIANCE
1478 "A compliance statement defined in a previous version of
1479 this MIB module, for SNMP entities which have network
1482 MODULE -- this module
1484 MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
1486 GROUP ifFixedLengthGroup
1488 "This group is mandatory for all network interfaces which
1489 are character-oriented or transmit data in fixed-length
1490 transmission units."
1492 GROUP ifHCFixedLengthGroup
1494 "This group is mandatory only for those network interfaces
1495 which are character-oriented or transmit data in fixed-
1496 length transmission units, and for which the value of the
1497 corresponding instance of ifSpeed is greater than 20,000,000
1502 "This group is mandatory for all network interfaces which
1503 are packet-oriented."
1505 GROUP ifHCPacketGroup
1507 "This group is mandatory only for those network interfaces
1508 which are packet-oriented and for which the value of the
1509 corresponding instance of ifSpeed is greater than
1510 650,000,000 bits/second."
1514 "This group is optional. Media-specific MIBs which require
1515 interface tests are strongly encouraged to use this group
1516 for invoking tests and reporting results. A medium specific
1517 MIB which has mandatory tests may make implementation of
1520 this group mandatory."
1522 GROUP ifRcvAddressGroup
1524 "The applicability of this group MUST be defined by the
1525 media-specific MIBs. Media-specific MIBs must define the
1526 exact meaning, use, and semantics of the addresses in this
1529 OBJECT ifLinkUpDownTrapEnable
1530 MIN-ACCESS read-only
1532 "Write access is not required."
1534 OBJECT ifPromiscuousMode
1535 MIN-ACCESS read-only
1537 "Write access is not required."
1539 OBJECT ifStackStatus
1540 SYNTAX RowStatus { active(1) }
1541 MIN-ACCESS read-only
1543 "Write access is not required, and only one of the six
1544 enumerated values for the RowStatus textual convention need
1545 be supported, specifically: active(1)."
1547 OBJECT ifAdminStatus
1548 SYNTAX INTEGER { up(1), down(2) }
1549 MIN-ACCESS read-only
1551 "Write access is not required, nor is support for the value
1554 ::= { ifCompliances 1 }
1556 ifCompliance2 MODULE-COMPLIANCE
1559 "A compliance statement defined in a previous version of
1560 this MIB module, for SNMP entities which have network
1563 MODULE -- this module
1565 MANDATORY-GROUPS { ifGeneralInformationGroup,
1566 ifStackGroup2, ifCounterDiscontinuityGroup }
1568 GROUP ifFixedLengthGroup
1570 "This group is mandatory for all network interfaces which
1571 are character-oriented or transmit data in fixed-length
1572 transmission units."
1574 GROUP ifHCFixedLengthGroup
1576 "This group is mandatory only for those network interfaces
1577 which are character-oriented or transmit data in fixed-
1578 length transmission units, and for which the value of the
1579 corresponding instance of ifSpeed is greater than 20,000,000
1584 "This group is mandatory for all network interfaces which
1585 are packet-oriented."
1587 GROUP ifHCPacketGroup
1589 "This group is mandatory only for those network interfaces
1590 which are packet-oriented and for which the value of the
1591 corresponding instance of ifSpeed is greater than
1592 650,000,000 bits/second."
1594 GROUP ifRcvAddressGroup
1596 "The applicability of this group MUST be defined by the
1597 media-specific MIBs. Media-specific MIBs must define the
1598 exact meaning, use, and semantics of the addresses in this
1601 OBJECT ifLinkUpDownTrapEnable
1602 MIN-ACCESS read-only
1604 "Write access is not required."
1606 OBJECT ifPromiscuousMode
1607 MIN-ACCESS read-only
1609 "Write access is not required."
1611 OBJECT ifStackStatus
1612 SYNTAX RowStatus { active(1) }
1613 MIN-ACCESS read-only
1615 "Write access is not required, and only one of the six
1616 enumerated values for the RowStatus textual convention need
1617 be supported, specifically: active(1)."
1619 OBJECT ifAdminStatus
1620 SYNTAX INTEGER { up(1), down(2) }
1621 MIN-ACCESS read-only
1623 "Write access is not required, nor is support for the value
1627 MIN-ACCESS read-only
1629 "Write access is not required."
1631 ::= { ifCompliances 2 }
1633 ifCompliance3 MODULE-COMPLIANCE
1636 "The compliance statement for SNMP entities which have
1637 network interfaces."
1639 MODULE -- this module
1641 MANDATORY-GROUPS { ifGeneralInformationGroup,
1642 linkUpDownNotificationsGroup }
1644 GROUP ifFixedLengthGroup
1646 "This group is mandatory for those network interfaces which
1647 are character-oriented or transmit data in fixed-length
1648 transmission units, and for which the value of the
1649 corresponding instance of ifSpeed is less than or equal to
1650 20,000,000 bits/second."
1652 GROUP ifHCFixedLengthGroup
1654 "This group is mandatory for those network interfaces which
1655 are character-oriented or transmit data in fixed-length
1656 transmission units, and for which the value of the
1657 corresponding instance of ifSpeed is greater than 20,000,000
1662 "This group is mandatory for those network interfaces which
1663 are packet-oriented, and for which the value of the
1664 corresponding instance of ifSpeed is less than or equal to
1665 20,000,000 bits/second."
1667 GROUP ifHCPacketGroup
1669 "This group is mandatory only for those network interfaces
1670 which are packet-oriented and for which the value of the
1671 corresponding instance of ifSpeed is greater than 20,000,000
1672 bits/second but less than or equal to 650,000,000
1675 GROUP ifVHCPacketGroup
1677 "This group is mandatory only for those network interfaces
1678 which are packet-oriented and for which the value of the
1679 corresponding instance of ifSpeed is greater than
1680 650,000,000 bits/second."
1682 GROUP ifCounterDiscontinuityGroup
1684 "This group is mandatory for those network interfaces that
1685 are required to maintain counters (i.e., those for which one
1686 of the ifFixedLengthGroup, ifHCFixedLengthGroup,
1687 ifPacketGroup, ifHCPacketGroup, or ifVHCPacketGroup is
1690 GROUP ifRcvAddressGroup
1692 "The applicability of this group MUST be defined by the
1693 media-specific MIBs. Media-specific MIBs must define the
1694 exact meaning, use, and semantics of the addresses in this
1697 OBJECT ifLinkUpDownTrapEnable
1698 MIN-ACCESS read-only
1700 "Write access is not required."
1702 OBJECT ifPromiscuousMode
1703 MIN-ACCESS read-only
1705 "Write access is not required."
1707 OBJECT ifAdminStatus
1708 SYNTAX INTEGER { up(1), down(2) }
1709 MIN-ACCESS read-only
1711 "Write access is not required, nor is support for the value
1715 MIN-ACCESS read-only
1717 "Write access is not required."
1719 ::= { ifCompliances 3 }
1721 END -- end of module IF-MIB.