1 IF-MIB DEFINITIONS ::= BEGIN
4 MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
6 Counter64, mib-2, -- added for libsmi use.
7 NOTIFICATION-TYPE FROM SNMPv2-SMI
8 TEXTUAL-CONVENTION, DisplayString,
9 PhysAddress, TruthValue, RowStatus,
10 AutonomousType, TestAndIncr FROM SNMPv2-TC
11 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
12 IANAifType FROM IANAifType-MIB
13 -- interfaces FROM RFC1213-MIB;
14 -- changed to local node definition for libsmi use.
15 snmpTraps FROM SNMPv2-MIB;
16 -- added for libsmi use.
19 LAST-UPDATED "9311082155Z"
20 ORGANIZATION "IETF Interfaces MIB Working Group"
25 Postal: Hughes LAN Systems
26 1225 Charleston Road, Mountain View, CA 94043
35 2 High Street, North Andover, MA 01845
38 E-Mail: kasten@ftp.com"
40 "The MIB module to describe generic objects for
41 network interface sub-layers. This MIB is an updated
42 version of MIB-II's ifTable, and incorporates the
43 extensions defined in RFC 1229."
46 interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
48 ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
50 -- OwnerString has the same semantics as used in RFC 1271
52 OwnerString ::= TEXTUAL-CONVENTION
56 "This data type is used to model an administratively
57 assigned name of the owner of a resource. This
58 information is taken from the NVT ASCII character set.
59 It is suggested that this name contain one or more of
60 the following: ASCII form of the manager station's
61 transport address, management station name (e.g.,
62 domain name), network management personnel's name,
63 location, or phone number. In some cases the agent
64 itself will be the owner of an entry. In these cases,
65 this string shall be set to a string starting with
67 SYNTAX OCTET STRING (SIZE(0..255))
70 -- InterfaceIndex contains the semantics of ifIndex and
71 -- should be used for any objects defined on other mib
72 -- modules that need these semantics.
74 InterfaceIndex ::= TEXTUAL-CONVENTION
78 "A unique value, greater than zero, for each interface
79 or interface sub-layer in the managed system. It is
80 recommended that values are assigned contiguously
81 starting from 1. The value for each interface sub-
82 layer must remain constant at least from one re-
83 initialization of the entity's network management
84 system to the next re-initialization."
92 "The number of network interfaces (regardless of their
93 current state) present on this system."
97 -- the Interfaces table
99 -- The Interfaces table contains information on the entity's
100 -- interfaces. Each sub-layer below the internetwork-layer
101 -- of a network interface is considered to be an interface.
104 SYNTAX SEQUENCE OF IfEntry
105 MAX-ACCESS not-accessible
108 "A list of interface entries. The number of entries
109 is given by the value of ifNumber."
114 MAX-ACCESS not-accessible
117 "An entry containing management information applicable
120 to a particular interface."
126 ifIndex InterfaceIndex,
127 ifDescr DisplayString,
131 ifPhysAddress PhysAddress,
132 ifAdminStatus INTEGER,
133 ifOperStatus INTEGER,
134 ifLastChange TimeTicks,
135 ifInOctets Counter32,
136 ifInUcastPkts Counter32,
137 ifInNUcastPkts Counter32, -- deprecated
138 ifInDiscards Counter32,
139 ifInErrors Counter32,
140 ifInUnknownProtos Counter32,
141 ifOutOctets Counter32,
142 ifOutUcastPkts Counter32,
143 ifOutNUcastPkts Counter32, -- deprecated
144 ifOutDiscards Counter32,
145 ifOutErrors Counter32,
146 ifOutQLen Gauge32, -- deprecated
147 ifSpecific OBJECT IDENTIFIER -- deprecated
152 SYNTAX InterfaceIndex
156 "A unique value, greater than zero, for each
157 interface. It is recommended that values are assigned
158 contiguously starting from 1. The value for each
159 interface sub-layer must remain constant at least from
160 one re-initialization of the entity's network
161 management system to the next re-initialization."
165 SYNTAX DisplayString (SIZE (0..255))
171 "A textual string containing information about the
172 interface. This string should include the name of the
173 manufacturer, the product name and the version of the
174 interface hardware/software."
182 "The type of interface. Additional values for ifType
183 are assigned by the Internet Assigned Numbers
184 Authority (IANA), through updating the syntax of the
185 IANAifType textual convention."
193 "The size of the largest packet which can be
194 sent/received on the interface, specified in octets.
195 For interfaces that are used for transmitting network
196 datagrams, this is the size of the largest network
197 datagram that can be sent on the interface."
205 "An estimate of the interface's current bandwidth in
206 bits per second. For interfaces which do not vary in
207 bandwidth or for those where no accurate estimation
208 can be made, this object should contain the nominal
209 bandwidth. If the bandwidth of the interface is
210 greater than the maximum value reportable by this
211 object then this object should report its maximum
212 value (4,294,967,295) and ifHighSpeed must be used to
213 report the interace's speed. For a sub-layer which
214 has no concept of bandwidth, this object should be
220 ifPhysAddress OBJECT-TYPE
225 "The interface's address at its protocol sub-layer.
226 The interface's media-specific MIB must define the bit
227 and byte ordering and format of the value contained by
228 this object. For interfaces which do not have such an
229 address (e.g., a serial line), this object should
230 contain an octet string of zero length."
233 ifAdminStatus OBJECT-TYPE
235 up(1), -- ready to pass packets
237 testing(3) -- in some test mode
239 MAX-ACCESS read-write
242 "The desired state of the interface. The testing(3)
243 state indicates that no operational packets can be
244 passed. When a managed system initializes, all
245 interfaces start with ifAdminStatus in the down(2)
246 state. As a result of either explicit management
247 action or per configuration information retained by
248 the managed system, ifAdminStatus is then changed to
249 either the up(1) or testing(3) states (or remains in
253 ifOperStatus OBJECT-TYPE
255 up(1), -- ready to pass packets
257 testing(3), -- in some test mode
258 unknown(4), -- status can not be determined
265 "The current operational state of the interface. The
266 testing(3) state indicates that no operational packets
267 can be passed. If ifAdminStatus is down(2) then
270 ifOperStatus should be down(2). If ifAdminStatus is
271 changed to up(1) then ifOperStatus should change to
272 up(1) if the interface is ready to transmit and
273 receive network traffic; it should change to
274 dormant(5) if the interface is waiting for external
275 actions (such as a serial line waiting for an
276 incomming connection); it should remain in the down(2)
277 state if and only if there is a fault that prevents if
278 from going to the up(1) state."
281 ifLastChange OBJECT-TYPE
286 "The value of sysUpTime at the time the interface
287 entered its current operational state. If the current
288 state was entered prior to the last re-initialization
289 of the local network management subsystem, then this
290 object contains a zero value."
293 ifInOctets OBJECT-TYPE
298 "The total number of octets received on the interface,
299 including framing characters."
302 ifInUcastPkts OBJECT-TYPE
307 "The number of packets, delivered by this sub-layer to
308 a higher (sub-)layer, which were not addressed to a
309 multicast or broadcast address at this sub-layer."
312 ifInNUcastPkts OBJECT-TYPE
317 "The number of packets, delivered by this sub-layer to
320 a higher (sub-)layer, which were addressed to a
321 multicast or broadcast address at this sub-layer.
322 This object is deprecated in favour of
323 ifInMulticastPkts and ifInBroadcastPkts."
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
333 prevent their being deliverable to a higher-layer
334 protocol. One possible reason for discarding such a
335 packet could be to free up buffer space."
338 ifInErrors OBJECT-TYPE
343 "For packet-oriented interfaces, the number of inbound
344 packets that contained errors preventing them from
345 being deliverable to a higher-layer protocol. For
346 character-oriented or fixed-length interfaces, the
347 number of inbound transmission units that contained
348 errors preventing them from being deliverable to a
349 higher-layer protocol."
352 ifInUnknownProtos OBJECT-TYPE
357 "For packet-oriented interfaces, the number of packets
358 received via the interface which were discarded
359 because of an unknown or unsupported protocol. For
360 character-oriented or fixed-length interfaces which
361 support protocol multiplexing the number of
362 transmission units received via the interface which
363 were discarded because of an unknown or unsupported
364 protocol. For any interface which does not support
365 protocol multiplexing, this counter will always be 0."
370 ifOutOctets OBJECT-TYPE
375 "The total number of octets transmitted out of the
376 interface, including framing characters."
379 ifOutUcastPkts OBJECT-TYPE
385 "The total number of packets that higher-level
386 protocols requested be transmitted, and which were not
387 addressed to a multicast or broadcast address at this
388 sub-layer, including those that were discarded or not
392 ifOutNUcastPkts OBJECT-TYPE
397 "The total number of packets that higher-level
398 protocols requested be transmitted, and which were
399 addressed to a multicast or broadcast address at this
400 sub-layer, including those that were discarded or not
403 This object is deprecated in favour of
404 ifOutMulticastPkts and ifOutBroadcastPkts."
407 ifOutDiscards OBJECT-TYPE
412 "The number of outbound packets which were chosen to
413 be discarded even though no errors had been detected
414 to prevent their being transmitted. One possible
415 reason for discarding such a packet could be to free
420 ifOutErrors OBJECT-TYPE
425 "For packet-oriented interfaces, the number of
426 outbound packets that could not be transmitted because
427 of errors. For character-oriented or fixed-length
428 interfaces, the number of outbound transmission units
429 that could not be transmitted because of errors."
432 ifOutQLen OBJECT-TYPE
437 "The length of the output packet queue (in packets)."
440 ifSpecific OBJECT-TYPE
441 SYNTAX OBJECT IDENTIFIER
445 "A reference to MIB definitions specific to the
446 particular media being used to realize the interface.
447 It is recommended that this value point to an instance
448 of a MIB object in the media-specific MIB, i.e., that
449 this object have the semantics associated with the
450 InstancePointer textual convention defined in RFC
451 1443. In fact, it is recommended that the media-
452 specific MIB specify what value ifSpecific should/can
453 take for values of ifType. If no MIB definitions
454 specific to the particular media are available, the
455 value should be set to the OBJECT IDENTIFIER { 0 0 }."
460 -- Extension to the interface table
462 -- This table replaces the ifExtnsTable table.
466 SYNTAX SEQUENCE OF IfXEntry
467 MAX-ACCESS not-accessible
472 "A list of interface entries. The number of entries
473 is given by the value of ifNumber. This table
474 contains additional objects for the interface table."
475 ::= { ifMIBObjects 1 }
479 MAX-ACCESS not-accessible
482 "An entry containing additional management information
483 applicable to a particular interface."
489 ifName DisplayString,
490 ifInMulticastPkts Counter32,
491 ifInBroadcastPkts Counter32,
492 ifOutMulticastPkts Counter32,
493 ifOutBroadcastPkts Counter32,
494 ifHCInOctets Counter64,
495 ifHCInUcastPkts Counter64,
496 ifHCInMulticastPkts Counter64,
497 ifHCInBroadcastPkts Counter64,
498 ifHCOutOctets Counter64,
499 ifHCOutUcastPkts Counter64,
500 ifHCOutMulticastPkts Counter64,
501 ifHCOutBroadcastPkts Counter64,
502 ifLinkUpDownTrapEnable INTEGER,
504 ifPromiscuousMode TruthValue,
505 ifConnectorPresent TruthValue
514 "The textual name of the interface. The value of this
515 object should be the name of the interface as assigned
516 by the local device and should be suitable for use in
517 commands entered at the device's `console'. This
520 might be a text name, such as `le0' or a simple port
521 number, such as `1', depending on the interface naming
522 syntax of the device. If several entries in the
523 ifTable together represent a single interface as named
524 by the device, then each will have the same value of
525 ifName. If there is no local name, or this object is
526 otherwise not applicable, then this object contains a
530 ifInMulticastPkts OBJECT-TYPE
535 "The number of packets, delivered by this sub-layer to
536 a higher (sub-)layer, which were addressed to a
537 multicast address at this sub-layer. For a MAC layer
538 protocol, this includes both Group and Functional
542 ifInBroadcastPkts OBJECT-TYPE
547 "The number of packets, delivered by this sub-layer to
548 a higher (sub-)layer, which were addressed to a
549 broadcast address at this sub-layer."
552 ifOutMulticastPkts OBJECT-TYPE
557 "The total number of packets that higher-level
558 protocols requested be transmitted, and which were
559 addressed to a multicast address at this sub-layer,
560 including those that were discarded or not sent. For
561 a MAC layer protocol, this includes both Group and
562 Functional addresses."
565 ifOutBroadcastPkts OBJECT-TYPE
572 "The total number of packets that higher-level
573 protocols requested be transmitted, and which were
574 addressed to a broadcast address at this sub-layer,
575 including those that were discarded or not sent."
579 -- High Capacity Counter objects. These objects are all
581 -- 64 bit versions of the "basic" ifTable counters. These
582 -- objects all have the same basic semantics as their 32-bit
583 -- counterparts, however, their syntax has been extended
587 ifHCInOctets OBJECT-TYPE
592 "The total number of octets received on the interface,
593 including framing characters. This object is a 64-bit
594 version of ifInOctets."
597 ifHCInUcastPkts OBJECT-TYPE
602 "The number of packets, delivered by this sub-layer to
603 a higher (sub-)layer, which were not addressed to a
604 multicast or broadcast address at this sub-layer.
605 This object is a 64-bit version of ifInUcastPkts."
608 ifHCInMulticastPkts OBJECT-TYPE
613 "The number of packets, delivered by this sub-layer to
614 a higher (sub-)layer, which were addressed to a
615 multicast address at this sub-layer. For a MAC layer
616 protocol, this includes both Group and Functional
617 addresses. This object is a 64-bit version of
623 ifHCInBroadcastPkts OBJECT-TYPE
628 "The number of packets, delivered by this sub-layer to
629 a higher (sub-)layer, which were addressed to a
630 broadcast address at this sub-layer. This object is a
631 64-bit version of ifInBroadcastPkts."
634 ifHCOutOctets OBJECT-TYPE
639 "The total number of octets transmitted out of the
640 interface, including framing characters. This object
641 is a 64-bit version of ifOutOctets."
644 ifHCOutUcastPkts OBJECT-TYPE
649 "The total number of packets that higher-level
650 protocols requested be transmitted, and which were not
651 addressed to a multicast or broadcast address at this
652 sub-layer, including those that were discarded or not
653 sent. This object is a 64-bit version of
657 ifHCOutMulticastPkts OBJECT-TYPE
662 "The total number of packets that higher-level
663 protocols requested be transmitted, and which were
664 addressed to a multicast address at this sub-layer,
665 including those that were discarded or not sent. For
666 a MAC layer protocol, this includes both Group and
667 Functional addresses. This object is a 64-bit version
670 of ifOutMulticastPkts."
673 ifHCOutBroadcastPkts OBJECT-TYPE
678 "The total number of packets that higher-level
679 protocols requested be transmitted, and which were
680 addressed to a broadcast address at this sub-layer,
681 including those that were discarded or not sent. This
682 object is a 64-bit version of ifOutBroadcastPkts."
685 ifLinkUpDownTrapEnable OBJECT-TYPE
686 SYNTAX INTEGER { enabled(1), disabled(2) }
687 MAX-ACCESS read-write
690 "Indicates whether linkUp/linkDown traps should be
691 generated for this interface.
693 By default, this object should have the value
694 enabled(1) for interfaces which do not operate on
695 'top' of any other interface (as defined in the
696 ifStackTable), and disabled(2) otherwise."
699 ifHighSpeed OBJECT-TYPE
704 "An estimate of the interface's current bandwidth in
705 units of 1,000,000 bits per second. If this object
706 reports a value of `n' then the speed of the interface
707 is somewhere in the range of `n-500,000' to
708 `n+499,999'. For interfaces which do not vary in
709 bandwidth or for those where no accurate estimation
710 can be made, this object should contain the nominal
711 bandwidth. For a sub-layer which has no concept of
712 bandwidth, this object should be zero."
715 ifPromiscuousMode OBJECT-TYPE
717 MAX-ACCESS read-write
722 "This object has a value of false(2) if this interface
723 only accepts packets/frames that are addressed to this
724 station. This object has a value of true(1) when the
725 station accepts all packets/frames transmitted on the
726 media. The value true(1) is only legal on certain
727 types of media. If legal, setting this object to a
728 value of true(1) may require the interface to be reset
729 before becoming effective.
731 The value of ifPromiscuousMode does not affect the
732 reception of broadcast and multicast packets/frames by
736 ifConnectorPresent OBJECT-TYPE
741 "This object has the value 'true(1)' if the interface
742 sublayer has a physical connector and the value
743 'false(2)' otherwise."
747 -- The Interface Stack Group
749 -- Implementation of this group is mandatory for all systems
752 ifStackTable OBJECT-TYPE
753 SYNTAX SEQUENCE OF IfStackEntry
754 MAX-ACCESS not-accessible
757 "The table containing information on the relationships
758 between the multiple sub-layers of network interfaces.
759 In particular, it contains information on which sub-
760 layers run 'on top of' which other sub-layers. Each
761 sub-layer corresponds to a conceptual row in the
763 ::= { ifMIBObjects 2 }
766 ifStackEntry OBJECT-TYPE
770 MAX-ACCESS not-accessible
773 "Information on a particular relationship between two
774 sub-layers, specifying that one sub-layer runs on
775 'top' of the other sub-layer. Each sub-layer
776 corresponds to a conceptual row in the ifTable."
777 INDEX { ifStackHigherLayer, ifStackLowerLayer }
778 ::= { ifStackTable 1 }
783 ifStackHigherLayer Integer32,
784 ifStackLowerLayer Integer32,
785 ifStackStatus RowStatus
789 ifStackHigherLayer OBJECT-TYPE
791 MAX-ACCESS not-accessible
794 "The value of ifIndex corresponding to the higher
795 sub-layer of the relationship, i.e., the sub-layer
796 which runs on 'top' of the sub-layer identified by the
797 corresponding instance of ifStackLowerLayer. If there
798 is no higher sub-layer (below the internetwork layer),
799 then this object has the value 0."
800 ::= { ifStackEntry 1 }
803 ifStackLowerLayer OBJECT-TYPE
805 MAX-ACCESS not-accessible
808 "The value of ifIndex corresponding to the lower sub-
809 layer of the relationship, i.e., the sub-layer which
810 runs 'below' the sub-layer identified by the
811 corresponding instance of ifStackHigherLayer. If
812 there is no lower sub-layer, then this object has the
814 ::= { ifStackEntry 2 }
817 ifStackStatus OBJECT-TYPE
821 MAX-ACCESS read-write
824 "The status of the relationship between two sub-
827 Changing the value of this object from 'active' to
828 'notInService' or 'destroy' will likely have
829 consequences up and down the interface stack. Thus,
830 write access to this object is likely to be
831 inappropriate for some types of interfaces, and many
832 implementations will choose not to support write-
833 access for any type of interface."
834 ::= { ifStackEntry 3 }
838 -- The Interface Test Table
840 -- This group of objects is optional. However, a media-specific
841 -- MIB may make implementation of this group mandatory.
843 -- This table replaces the ifExtnsTestTable
846 ifTestTable OBJECT-TYPE
847 SYNTAX SEQUENCE OF IfTestEntry
848 MAX-ACCESS not-accessible
851 "This table contains one entry per interface. It
852 defines objects which allow a network manager to
853 instruct an agent to test an interface for various
854 faults. Tests for an interface are defined in the
855 media-specific MIB for that interface. After invoking
856 a test, the object ifTestResult can be read to
857 determine the outcome. If an agent can not perform
858 the test, ifTestResult is set to so indicate. The
859 object ifTestCode can be used to provide further
860 test-specific or interface-specific (or even
861 enterprise-specific) information concerning the
862 outcome of the test. Only one test can be in progress
863 on each interface at any one time. If one test is in
864 progress when another test is invoked, the second test
865 is rejected. Some agents may reject a test when a
866 prior test is active on another interface.
870 Before starting a test, a manager-station must first
871 obtain 'ownership' of the entry in the ifTestTable for
872 the interface to be tested. This is accomplished with
873 the ifTestId and ifTestStatus objects as follows:
876 get (ifTestId, ifTestStatus)
877 while (ifTestStatus != notInUse)
879 * Loop while a test is running or some other
880 * manager is configuring a test.
883 get (ifTestId, ifTestStatus)
887 * Is not being used right now -- let's compete
888 * to see who gets it.
890 lock_value = ifTestId
892 if ( set(ifTestId = lock_value, ifTestStatus = inUse,
893 ifTestOwner = 'my-IP-address') == FAILURE)
895 * Another manager got the ifTestEntry -- go
903 set up any test parameters.
906 * This starts the test
908 set(ifTestType = test_to_run);
910 wait for test completion by polling ifTestResult
912 when test completes, agent sets ifTestResult
913 agent also sets ifTestStatus = 'notInUse'
915 retrieve any additional test results, and ifTestId
917 if (ifTestId == lock_value+1) results are valid
920 A manager station first retrieves the value of the
921 appropriate ifTestId and ifTestStatus objects,
922 periodically repeating the retrieval if necessary,
923 until the value of ifTestStatus is 'notInUse'. The
924 manager station then tries to set the same ifTestId
925 object to the value it just retrieved, the same
926 ifTestStatus object to 'inUse', and the corresponding
927 ifTestOwner object to a value indicating itself. If
928 the set operation succeeds then the manager has
929 obtained ownership of the ifTestEntry, and the value of
930 the ifTestId object is incremented by the agent (per
931 the semantics of TestAndIncr). Failure of the set
932 operation indicates that some other manager has
933 obtained ownership of the ifTestEntry.
935 Once ownership is obtained, any test parameters can be
936 setup, and then the test is initiated by setting
937 ifTestType. On completion of the test, the agent sets
938 ifTestStatus to 'notInUse'. Once this occurs, the
939 manager can retrieve the results. In the (rare) event
940 that the invocation of tests by two network managers
941 were to overlap, then there would be a possibility that
942 the first test's results might be overwritten by the
943 second test's results prior to the first results being
944 read. This unlikely circumstance can be detected by a
945 network manager retrieving ifTestId at the same time as
946 retrieving the test results, and ensuring that the
947 results are for the desired request.
949 If ifTestType is not set within an abnormally long
950 period of time after ownership is obtained, the agent
951 should time-out the manager, and reset the value of the
952 ifTestStatus object back to 'notInUse'. It is
953 suggested that this time-out period be 5 minutes.
955 In general, a management station must not retransmit a
956 request to invoke a test for which it does not receive
957 a response; instead, it properly inspects an agent's
958 MIB to determine if the invocation was successful.
959 Only if the invocation was unsuccessful, is the
960 invocation request retransmitted.
962 Some tests may require the interface to be taken off-
963 line in order to execute them, or may even require the
964 agent to reboot after completion of the test. In these
965 circumstances, communication with the management
966 station invoking the test may be lost until after
967 completion of the test. An agent is not required to
970 support such tests. However, if such tests are
971 supported, then the agent should make every effort to
972 transmit a response to the request which invoked the
973 test prior to losing communication. When the agent is
974 restored to normal service, the results of the test are
975 properly made available in the appropriate objects.
976 Note that this requires that the ifIndex value assigned
977 to an interface must be unchanged even if the test
978 causes a reboot. An agent must reject any test for
979 which it cannot, perhaps due to resource constraints,
980 make available at least the minimum amount of
981 information after that test completes."
982 ::= { ifMIBObjects 3 }
984 ifTestEntry OBJECT-TYPE
986 MAX-ACCESS not-accessible
989 "An entry containing objects for invoking tests on an
992 ::= { ifTestTable 1 }
996 ifTestId TestAndIncr,
997 ifTestStatus INTEGER,
998 ifTestType AutonomousType,
999 ifTestResult INTEGER,
1000 ifTestCode OBJECT IDENTIFIER,
1001 ifTestOwner OwnerString
1004 ifTestId OBJECT-TYPE
1006 MAX-ACCESS read-write
1009 "This object identifies the current invocation of the
1011 ::= { ifTestEntry 1 }
1013 ifTestStatus OBJECT-TYPE
1014 SYNTAX INTEGER { notInUse(1), inUse(2) }
1015 MAX-ACCESS read-write
1020 "This object indicates whether or not some manager
1021 currently has the necessary 'ownership' required to
1022 invoke a test on this interface. A write to this
1023 object is only successful when it changes its value
1024 from 'notInUse(1)' to 'inUse(2)'. After completion of
1025 a test, the agent resets the value back to
1027 ::= { ifTestEntry 2 }
1029 ifTestType OBJECT-TYPE
1030 SYNTAX AutonomousType
1031 MAX-ACCESS read-write
1034 "A control variable used to start and stop operator-
1035 initiated interface tests. Most OBJECT IDENTIFIER
1036 values assigned to tests are defined elsewhere, in
1037 association with specific types of interface.
1038 However, this document assigns a value for a full-
1039 duplex loopback test, and defines the special meanings
1040 of the subject identifier:
1042 noTest OBJECT IDENTIFIER ::= { 0 0 }
1044 When the value noTest is written to this object, no
1045 action is taken unless a test is in progress, in which
1046 case the test is aborted. Writing any other value to
1047 this object is only valid when no test is currently in
1048 progress, in which case the indicated test is
1051 When read, this object always returns the most recent
1052 value that ifTestType was set to. If it has not been
1053 set since the last initialization of the network
1054 management subsystem on the agent, a value of noTest
1056 ::= { ifTestEntry 3 }
1058 ifTestResult OBJECT-TYPE
1060 none(1), -- no test yet requested
1064 unAbleToRun(5), -- due to state of system
1070 MAX-ACCESS read-only
1073 "This object contains the result of the most recently
1074 requested test, or the value none(1) if no tests have
1075 been requested since the last reset. Note that this
1076 facility provides no provision for saving the results
1077 of one test when starting another, as could be
1078 required if used by multiple managers concurrently."
1079 ::= { ifTestEntry 4 }
1081 ifTestCode OBJECT-TYPE
1082 SYNTAX OBJECT IDENTIFIER
1083 MAX-ACCESS read-only
1086 "This object contains a code which contains more
1087 specific information on the test result, for example
1088 an error-code after a failed test. Error codes and
1089 other values this object may take are specific to the
1090 type of interface and/or test. The value may have the
1091 semantics of either the AutonomousType or
1092 InstancePointer textual conventions as defined in RFC
1093 1443. The identifier:
1095 testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 }
1097 is defined for use if no additional result code is
1099 ::= { ifTestEntry 5 }
1101 ifTestOwner OBJECT-TYPE
1103 MAX-ACCESS read-write
1106 "The entity which currently has the 'ownership'
1107 required to invoke a test on this interface."
1108 ::= { ifTestEntry 6 }
1111 -- Generic Receive Address Table
1113 -- This group of objects is mandatory for all types of
1114 -- interfaces which can receive packets/frames addressed to
1115 -- more than one address.
1117 -- This table replaces the ifExtnsRcvAddr table. The main
1120 -- difference is that this table makes use of the RowStatus
1121 -- textual convention, while ifExtnsRcvAddr did not.
1123 ifRcvAddressTable OBJECT-TYPE
1124 SYNTAX SEQUENCE OF IfRcvAddressEntry
1125 MAX-ACCESS not-accessible
1128 "This table contains an entry for each address
1129 (broadcast, multicast, or uni-cast) for which the
1130 system will receive packets/frames on a particular
1131 interface, except as follows:
1133 - for an interface operating in promiscuous mode,
1134 entries are only required for those addresses for
1135 which the system would receive frames were it not
1136 operating in promiscuous mode.
1138 - for 802.5 functional addresses, only one entry is
1139 required, for the address which has the functional
1140 address bit ANDed with the bit mask of all functional
1141 addresses for which the interface will accept frames."
1142 ::= { ifMIBObjects 4 }
1144 ifRcvAddressEntry OBJECT-TYPE
1145 SYNTAX IfRcvAddressEntry
1146 MAX-ACCESS not-accessible
1149 "A list of objects identifying an address for which
1150 the system will accept packets/frames on the
1151 particular interface identified by the index value
1153 INDEX { ifIndex, ifRcvAddressAddress }
1154 ::= { ifRcvAddressTable 1 }
1156 IfRcvAddressEntry ::=
1158 ifRcvAddressAddress PhysAddress,
1159 ifRcvAddressStatus RowStatus,
1160 ifRcvAddressType INTEGER
1163 ifRcvAddressAddress OBJECT-TYPE
1165 MAX-ACCESS read-create
1170 "An address for which the system will accept
1171 packets/frames on this entry's interface."
1172 ::= { ifRcvAddressEntry 1 }
1174 ifRcvAddressStatus OBJECT-TYPE
1176 MAX-ACCESS read-write
1179 "This object is used to create and delete rows in the
1182 ::= { ifRcvAddressEntry 2 }
1184 ifRcvAddressType OBJECT-TYPE
1191 MAX-ACCESS read-create
1194 "This object has the value nonVolatile(3) for those
1195 entries in the table which are valid and will not be
1196 deleted by the next restart of the managed system.
1197 Entries having the value volatile(2) are valid and
1198 exist, but have not been saved, so that will not exist
1199 after the next restart of the managed system. Entries
1200 having the value other(1) are valid and exist but are
1201 not classified as to whether they will continue to
1202 exist after the next restart."
1206 ::= { ifRcvAddressEntry 3 }
1209 -- definition of interface-related traps.
1211 linkDown NOTIFICATION-TYPE
1212 OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
1215 "A linkDown trap signifies that the SNMPv2 entity,
1216 acting in an agent role, has detected that the
1217 ifOperStatus object for one of its communication links
1220 is about to transition into the down state."
1223 linkUp NOTIFICATION-TYPE
1224 OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
1227 "A linkUp trap signifies that the SNMPv2 entity,
1228 acting in an agent role, has detected that the
1229 ifOperStatus object for one of its communication links
1230 has transitioned out of the down state."
1234 -- conformance information
1236 ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
1238 ifGroups OBJECT IDENTIFIER ::= { ifConformance 1 }
1239 ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
1242 -- compliance statements
1244 ifCompliance MODULE-COMPLIANCE
1247 "The compliance statement for SNMPv2 entities which
1248 have network interfaces."
1250 MODULE -- this module
1251 MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
1253 GROUP ifFixedLengthGroup
1255 "This group is mandatory for all network interfaces
1256 which are character-oriented or transmit data in
1257 fixed-length transmission units."
1259 GROUP ifHCFixedLengthGroup
1261 "This group is mandatory only for those network
1262 interfaces which are character-oriented or transmit
1263 data in fixed-length transmission units, and for which
1264 the value of the corresponding instance of ifSpeed is
1265 greater than 20,000,000 bits/second."
1271 "This group is mandatory for all network interfaces
1272 which are packet-oriented."
1274 GROUP ifHCPacketGroup
1276 "This group is mandatory only for those network
1277 interfaces which are packet-oriented and for which the
1278 value of the corresponding instance of ifSpeed is
1279 greater than 650,000,000 bits/second."
1282 "This group is optional. Media-specific MIBs which
1283 require interface tests are strongly encouraged to use
1284 this group for invoking tests and reporting results.
1285 A medium specific MIB which has mandatory tests may
1286 make implementation of this group mandatory."
1288 GROUP ifRcvAddressGroup
1290 "The applicability of this group MUST be defined by
1291 the media-specific MIBs. Media-specific MIBs must
1292 define the exact meaning, use, and semantics of the
1293 addresses in this group."
1295 OBJECT ifLinkUpDownTrapEnable
1296 MIN-ACCESS read-only
1298 "Write access is not required."
1300 OBJECT ifPromiscuousMode
1301 MIN-ACCESS read-only
1303 "Write access is not required."
1305 OBJECT ifStackStatus
1306 SYNTAX INTEGER { active(1) } -- subset of RowStatus
1307 MIN-ACCESS read-only
1309 "Write access is not required, and only one of the six
1310 enumerated values for the RowStatus textual convention
1311 need be supported, specifically: active(1)."
1313 OBJECT ifAdminStatus
1314 SYNTAX INTEGER { up(1), down(2) }
1315 MIN-ACCESS read-only
1317 "Write access is not required, nor is support for the
1321 ::= { ifCompliances 1 }
1324 -- units of conformance
1326 ifGeneralGroup OBJECT-GROUP
1327 OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
1328 ifAdminStatus, ifOperStatus, ifLastChange,
1329 ifLinkUpDownTrapEnable, ifConnectorPresent,
1330 ifHighSpeed, ifName }
1333 "A collection of objects providing information
1334 applicable to all network interfaces."
1337 -- the following five groups are mutually exclusive; at most
1338 -- one of these groups is implemented for any interface
1340 ifFixedLengthGroup OBJECT-GROUP
1341 OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
1342 ifInErrors, ifOutErrors }
1345 "A collection of objects providing information
1346 specific to non-high speed, character-oriented or
1347 fixed-length-transmission network interfaces. (Non-
1348 high speed interfaces transmit and receive at speeds
1349 less than or equal to 20,000,000 bits/second.)"
1352 ifHCFixedLengthGroup OBJECT-GROUP
1353 OBJECTS { ifHCInOctets, ifHCOutOctets,
1354 ifInOctets, ifOutOctets, ifInUnknownProtos,
1355 ifInErrors, ifOutErrors }
1358 "A collection of objects providing information
1359 specific to high speed (greater than 20,000,000
1360 bits/second) character-oriented or fixed-length-
1361 transmission network interfaces."
1364 ifPacketGroup OBJECT-GROUP
1365 OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
1366 ifInErrors, ifOutErrors,
1367 ifMtu, ifInUcastPkts, ifInMulticastPkts,
1370 ifInBroadcastPkts, ifInDiscards,
1371 ifOutUcastPkts, ifOutMulticastPkts,
1372 ifOutBroadcastPkts, ifOutDiscards,
1376 "A collection of objects providing information
1377 specific to non-high speed, packet-oriented network
1378 interfaces. (Non-high speed interfaces transmit and
1379 receive at speeds less than or equal to 20,000,000
1383 ifHCPacketGroup OBJECT-GROUP
1384 OBJECTS { ifHCInOctets, ifHCOutOctets,
1385 ifInOctets, ifOutOctets, ifInUnknownProtos,
1386 ifInErrors, ifOutErrors,
1387 ifMtu, ifInUcastPkts, ifInMulticastPkts,
1388 ifInBroadcastPkts, ifInDiscards,
1389 ifOutUcastPkts, ifOutMulticastPkts,
1390 ifOutBroadcastPkts, ifOutDiscards,
1394 "A collection of objects providing information
1395 specific to high speed (greater than 20,000,000
1396 bits/second but less than or equal to 650,000,000
1397 bits/second) packet-oriented network interfaces."
1400 ifVHCPacketGroup OBJECT-GROUP
1401 OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
1402 ifHCInBroadcastPkts, ifHCOutUcastPkts,
1403 ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
1404 ifHCInOctets, ifHCOutOctets,
1405 ifInOctets, ifOutOctets, ifInUnknownProtos,
1406 ifInErrors, ifOutErrors,
1407 ifMtu, ifInUcastPkts, ifInMulticastPkts,
1408 ifInBroadcastPkts, ifInDiscards,
1409 ifOutUcastPkts, ifOutMulticastPkts,
1410 ifOutBroadcastPkts, ifOutDiscards,
1414 "A collection of objects providing information
1415 specific to higher speed (greater than 650,000,000
1416 bits/second) packet-oriented network interfaces."
1420 ifRcvAddressGroup OBJECT-GROUP
1421 OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
1424 "A collection of objects providing information on the
1425 multiple addresses which an interface receives."
1428 ifTestGroup OBJECT-GROUP
1429 OBJECTS { ifTestId, ifTestStatus, ifTestType,
1430 ifTestResult, ifTestCode, ifTestOwner }
1433 "A collection of objects providing the ability to
1434 invoke tests on an interface."
1437 ifStackGroup OBJECT-GROUP
1438 OBJECTS { ifStackStatus }
1441 "A collection of objects providing information on the
1442 layering of MIB-II interfaces."