1IF-MIB DEFINITIONS ::= BEGIN
2
3IMPORTS
4    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
5    Integer32, TimeTicks,
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.
17
18ifMIB MODULE-IDENTITY
19    LAST-UPDATED "9311082155Z"
20    ORGANIZATION "IETF Interfaces MIB Working Group"
21    CONTACT-INFO
22
23               "        Keith McCloghrie
24
25                Postal: Hughes LAN Systems
26                        1225 Charleston Road, Mountain View, CA 94043
27
28                Tel:    +1 415 966 7934
29                E-Mail: kzm@hls.com
30
31
32                        Frank Kastenholz
33
34                Postal: FTP Software
35                        2 High Street, North Andover, MA 01845
36
37                Tel:    +1 508 685 4000
38                E-Mail: kasten@ftp.com"
39    DESCRIPTION
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."
44    ::= { mib-2 31 }
45
46interfaces   OBJECT IDENTIFIER ::= { mib-2 2 }
47
48ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
49
50-- OwnerString has the same semantics as used in RFC 1271
51
52OwnerString ::= TEXTUAL-CONVENTION
53    DISPLAY-HINT "255a"
54    STATUS       current
55    DESCRIPTION
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
66            'agent'."
67    SYNTAX       OCTET STRING (SIZE(0..255))
68
69
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.
73
74InterfaceIndex ::= TEXTUAL-CONVENTION
75    DISPLAY-HINT "d"
76    STATUS       current
77    DESCRIPTION
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."
85    SYNTAX       Integer32
86
87ifNumber  OBJECT-TYPE
88    SYNTAX      Integer32
89    MAX-ACCESS  read-only
90    STATUS      current
91    DESCRIPTION
92            "The number of network interfaces (regardless of their
93            current state) present on this system."
94    ::= { interfaces 1 }
95
96
97-- the Interfaces table
98
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.
102
103ifTable OBJECT-TYPE
104    SYNTAX      SEQUENCE OF IfEntry
105    MAX-ACCESS  not-accessible
106    STATUS      current
107    DESCRIPTION
108            "A list of interface entries.  The number of entries
109            is given by the value of ifNumber."
110    ::= { interfaces 2 }
111
112ifEntry OBJECT-TYPE
113    SYNTAX      IfEntry
114    MAX-ACCESS  not-accessible
115    STATUS      current
116    DESCRIPTION
117            "An entry containing management information applicable
118
119
120            to a particular interface."
121    INDEX   { ifIndex }
122    ::= { ifTable 1 }
123
124IfEntry ::=
125    SEQUENCE {
126        ifIndex                 InterfaceIndex,
127        ifDescr                 DisplayString,
128        ifType                  IANAifType,
129        ifMtu                   Integer32,
130        ifSpeed                 Gauge32,
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
148    }
149
150
151ifIndex OBJECT-TYPE
152    SYNTAX      InterfaceIndex
153    MAX-ACCESS  read-only
154    STATUS      current
155    DESCRIPTION
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."
162    ::= { ifEntry 1 }
163
164ifDescr OBJECT-TYPE
165    SYNTAX      DisplayString (SIZE (0..255))
166    MAX-ACCESS  read-only
167    STATUS      current
168
169
170    DESCRIPTION
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."
175    ::= { ifEntry 2 }
176
177ifType OBJECT-TYPE
178    SYNTAX      IANAifType
179    MAX-ACCESS  read-only
180    STATUS      current
181    DESCRIPTION
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."
186    ::= { ifEntry 3 }
187
188ifMtu OBJECT-TYPE
189    SYNTAX      Integer32
190    MAX-ACCESS  read-only
191    STATUS      current
192    DESCRIPTION
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."
198    ::= { ifEntry 4 }
199
200ifSpeed OBJECT-TYPE
201    SYNTAX      Gauge32
202    MAX-ACCESS  read-only
203    STATUS      current
204    DESCRIPTION
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
215            zero."
216    ::= { ifEntry 5 }
217
218
219
220ifPhysAddress OBJECT-TYPE
221    SYNTAX      PhysAddress
222    MAX-ACCESS  read-only
223    STATUS      current
224    DESCRIPTION
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."
231    ::= { ifEntry 6 }
232
233ifAdminStatus OBJECT-TYPE
234    SYNTAX  INTEGER {
235                up(1),       -- ready to pass packets
236                down(2),
237                testing(3)   -- in some test mode
238            }
239    MAX-ACCESS  read-write
240    STATUS      current
241    DESCRIPTION
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
250            the down(2) state)."
251    ::= { ifEntry 7 }
252
253ifOperStatus OBJECT-TYPE
254    SYNTAX  INTEGER {
255                up(1),       -- ready to pass packets
256                down(2),
257                testing(3),  -- in some test mode
258                unknown(4),  -- status can not be determined
259                             -- for some reason.
260                dormant(5)
261            }
262    MAX-ACCESS  read-only
263    STATUS      current
264    DESCRIPTION
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
268
269
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."
279    ::= { ifEntry 8 }
280
281ifLastChange OBJECT-TYPE
282    SYNTAX      TimeTicks
283    MAX-ACCESS  read-only
284    STATUS      current
285    DESCRIPTION
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."
291    ::= { ifEntry 9 }
292
293ifInOctets OBJECT-TYPE
294    SYNTAX      Counter32
295    MAX-ACCESS  read-only
296    STATUS      current
297    DESCRIPTION
298            "The total number of octets received on the interface,
299            including framing characters."
300    ::= { ifEntry 10 }
301
302ifInUcastPkts OBJECT-TYPE
303    SYNTAX      Counter32
304    MAX-ACCESS  read-only
305    STATUS      current
306    DESCRIPTION
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."
310    ::= { ifEntry 11 }
311
312ifInNUcastPkts OBJECT-TYPE
313    SYNTAX  Counter32
314    MAX-ACCESS  read-only
315    STATUS      deprecated
316    DESCRIPTION
317            "The number of packets, delivered by this sub-layer to
318
319
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."
324    ::= { ifEntry 12 }
325
326ifInDiscards OBJECT-TYPE
327    SYNTAX      Counter32
328    MAX-ACCESS  read-only
329    STATUS      current
330    DESCRIPTION
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."
336    ::= { ifEntry 13 }
337
338ifInErrors OBJECT-TYPE
339    SYNTAX      Counter32
340    MAX-ACCESS  read-only
341    STATUS      current
342    DESCRIPTION
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."
350    ::= { ifEntry 14 }
351
352ifInUnknownProtos OBJECT-TYPE
353    SYNTAX      Counter32
354    MAX-ACCESS  read-only
355    STATUS      current
356    DESCRIPTION
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."
366    ::= { ifEntry 15 }
367
368
369
370ifOutOctets OBJECT-TYPE
371    SYNTAX      Counter32
372    MAX-ACCESS  read-only
373    STATUS      current
374    DESCRIPTION
375            "The total number of octets transmitted out of the
376            interface, including framing characters."
377    ::= { ifEntry 16 }
378
379ifOutUcastPkts OBJECT-TYPE
380    SYNTAX      Counter32
381    MAX-ACCESS  read-only
382    STATUS      current
383    DESCRIPTION
384
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
389            sent."
390    ::= { ifEntry 17 }
391
392ifOutNUcastPkts OBJECT-TYPE
393    SYNTAX      Counter32
394    MAX-ACCESS  read-only
395    STATUS      deprecated
396    DESCRIPTION
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
401            sent.
402
403            This object is deprecated in favour of
404            ifOutMulticastPkts and ifOutBroadcastPkts."
405    ::= { ifEntry 18 }
406
407ifOutDiscards OBJECT-TYPE
408    SYNTAX      Counter32
409    MAX-ACCESS  read-only
410    STATUS      current
411    DESCRIPTION
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
416            up buffer space."
417    ::= { ifEntry 19 }
418
419
420ifOutErrors OBJECT-TYPE
421    SYNTAX      Counter32
422    MAX-ACCESS  read-only
423    STATUS      current
424    DESCRIPTION
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."
430    ::= { ifEntry 20 }
431
432ifOutQLen OBJECT-TYPE
433    SYNTAX      Gauge32
434    MAX-ACCESS  read-only
435    STATUS      deprecated
436    DESCRIPTION
437            "The length of the output packet queue (in packets)."
438    ::= { ifEntry 21 }
439
440ifSpecific OBJECT-TYPE
441    SYNTAX      OBJECT IDENTIFIER
442    MAX-ACCESS  read-only
443    STATUS      deprecated
444    DESCRIPTION
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 }."
456    ::= { ifEntry 22 }
457
458
459--
460--   Extension to the interface table
461--
462-- This table replaces the ifExtnsTable table.
463--
464
465ifXTable        OBJECT-TYPE
466    SYNTAX      SEQUENCE OF IfXEntry
467    MAX-ACCESS  not-accessible
468
469
470    STATUS      current
471    DESCRIPTION
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 }
476
477ifXEntry        OBJECT-TYPE
478    SYNTAX      IfXEntry
479    MAX-ACCESS  not-accessible
480    STATUS      current
481    DESCRIPTION
482            "An entry containing additional management information
483            applicable to a particular interface."
484    AUGMENTS    { ifEntry }
485    ::= { ifXTable 1 }
486
487IfXEntry ::=
488    SEQUENCE {
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,
503        ifHighSpeed             Gauge32,
504        ifPromiscuousMode       TruthValue,
505        ifConnectorPresent      TruthValue
506    }
507
508
509ifName OBJECT-TYPE
510    SYNTAX      DisplayString
511    MAX-ACCESS  read-only
512    STATUS      current
513    DESCRIPTION
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
518
519
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
527            0-length string."
528    ::= { ifXEntry 1 }
529
530ifInMulticastPkts OBJECT-TYPE
531    SYNTAX      Counter32
532    MAX-ACCESS  read-only
533    STATUS      current
534    DESCRIPTION
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
539            addresses."
540    ::= { ifXEntry 2 }
541
542ifInBroadcastPkts OBJECT-TYPE
543    SYNTAX      Counter32
544    MAX-ACCESS  read-only
545    STATUS      current
546    DESCRIPTION
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."
550    ::= { ifXEntry 3 }
551
552ifOutMulticastPkts OBJECT-TYPE
553    SYNTAX      Counter32
554    MAX-ACCESS  read-only
555    STATUS      current
556    DESCRIPTION
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."
563    ::= { ifXEntry 4 }
564
565ifOutBroadcastPkts OBJECT-TYPE
566    SYNTAX      Counter32
567    MAX-ACCESS  read-only
568
569
570    STATUS      current
571    DESCRIPTION
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."
576    ::= { ifXEntry 5 }
577
578--
579-- High Capacity Counter objects.  These objects are all
580
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
584-- to 64 bits.
585--
586
587ifHCInOctets OBJECT-TYPE
588    SYNTAX      Counter64
589    MAX-ACCESS  read-only
590    STATUS      current
591    DESCRIPTION
592            "The total number of octets received on the interface,
593            including framing characters.  This object is a 64-bit
594            version of ifInOctets."
595    ::= { ifXEntry 6 }
596
597ifHCInUcastPkts OBJECT-TYPE
598    SYNTAX      Counter64
599    MAX-ACCESS  read-only
600    STATUS      current
601    DESCRIPTION
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."
606    ::= { ifXEntry 7 }
607
608ifHCInMulticastPkts OBJECT-TYPE
609    SYNTAX      Counter64
610    MAX-ACCESS  read-only
611    STATUS      current
612    DESCRIPTION
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
618
619
620            ifInMulticastPkts."
621    ::= { ifXEntry 8 }
622
623ifHCInBroadcastPkts OBJECT-TYPE
624    SYNTAX      Counter64
625    MAX-ACCESS  read-only
626    STATUS      current
627    DESCRIPTION
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."
632    ::= { ifXEntry 9 }
633
634ifHCOutOctets OBJECT-TYPE
635    SYNTAX      Counter64
636    MAX-ACCESS  read-only
637    STATUS      current
638    DESCRIPTION
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."
642    ::= { ifXEntry 10 }
643
644ifHCOutUcastPkts OBJECT-TYPE
645    SYNTAX      Counter64
646    MAX-ACCESS  read-only
647    STATUS      current
648    DESCRIPTION
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
654            ifOutUcastPkts."
655    ::= { ifXEntry 11 }
656
657ifHCOutMulticastPkts OBJECT-TYPE
658    SYNTAX      Counter64
659    MAX-ACCESS  read-only
660    STATUS      current
661    DESCRIPTION
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
668
669
670            of ifOutMulticastPkts."
671    ::= { ifXEntry 12 }
672
673ifHCOutBroadcastPkts OBJECT-TYPE
674    SYNTAX      Counter64
675    MAX-ACCESS  read-only
676    STATUS      current
677    DESCRIPTION
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."
683    ::= { ifXEntry 13 }
684
685ifLinkUpDownTrapEnable  OBJECT-TYPE
686    SYNTAX      INTEGER { enabled(1), disabled(2) }
687    MAX-ACCESS  read-write
688    STATUS      current
689    DESCRIPTION
690            "Indicates whether linkUp/linkDown traps should be
691            generated for this interface.
692
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."
697    ::= { ifXEntry 14 }
698
699ifHighSpeed OBJECT-TYPE
700    SYNTAX      Gauge32
701    MAX-ACCESS  read-only
702    STATUS      current
703    DESCRIPTION
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."
713    ::= { ifXEntry 15 }
714
715ifPromiscuousMode  OBJECT-TYPE
716    SYNTAX      TruthValue
717    MAX-ACCESS  read-write
718
719
720    STATUS      current
721    DESCRIPTION
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.
730
731            The value of ifPromiscuousMode does not affect the
732            reception of broadcast and multicast packets/frames by
733            the interface."
734    ::= { ifXEntry 16 }
735
736ifConnectorPresent   OBJECT-TYPE
737    SYNTAX      TruthValue
738    MAX-ACCESS  read-only
739    STATUS      current
740    DESCRIPTION
741            "This object has the value 'true(1)' if the interface
742            sublayer has a physical connector and the value
743            'false(2)' otherwise."
744    ::= { ifXEntry 17 }
745
746
747--           The Interface Stack Group
748--
749-- Implementation of this group is mandatory for all systems
750--
751
752ifStackTable  OBJECT-TYPE
753     SYNTAX        SEQUENCE OF IfStackEntry
754     MAX-ACCESS    not-accessible
755     STATUS        current
756     DESCRIPTION
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
762            ifTable."
763     ::= { ifMIBObjects 2 }
764
765
766ifStackEntry  OBJECT-TYPE
767     SYNTAX        IfStackEntry
768
769
770     MAX-ACCESS    not-accessible
771     STATUS        current
772     DESCRIPTION
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 }
779
780
781IfStackEntry ::=
782    SEQUENCE {
783        ifStackHigherLayer  Integer32,
784        ifStackLowerLayer   Integer32,
785        ifStackStatus       RowStatus
786     }
787
788
789ifStackHigherLayer  OBJECT-TYPE
790     SYNTAX        Integer32
791     MAX-ACCESS    not-accessible
792     STATUS        current
793     DESCRIPTION
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 }
801
802
803ifStackLowerLayer  OBJECT-TYPE
804     SYNTAX        Integer32
805     MAX-ACCESS    not-accessible
806     STATUS        current
807     DESCRIPTION
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
813            value 0."
814     ::= { ifStackEntry 2 }
815
816
817ifStackStatus  OBJECT-TYPE
818
819
820    SYNTAX         RowStatus
821    MAX-ACCESS     read-write
822    STATUS         current
823    DESCRIPTION
824            "The status of the relationship between two sub-
825            layers.
826
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 }
835
836
837--
838--    The Interface Test Table
839--
840-- This group of objects is optional.  However, a media-specific
841-- MIB may make implementation of this group mandatory.
842--
843-- This table replaces the ifExtnsTestTable
844--
845
846ifTestTable   OBJECT-TYPE
847    SYNTAX      SEQUENCE OF IfTestEntry
848    MAX-ACCESS  not-accessible
849    STATUS      current
850    DESCRIPTION
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.
867
868
869
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:
874
875         try_again:
876             get (ifTestId, ifTestStatus)
877             while (ifTestStatus != notInUse)
878                 /*
879                  * Loop while a test is running or some other
880                  * manager is configuring a test.
881                  */
882                 short delay
883                 get (ifTestId, ifTestStatus)
884             }
885
886             /*
887              * Is not being used right now -- let's compete
888              * to see who gets it.
889              */
890             lock_value = ifTestId
891
892             if ( set(ifTestId = lock_value, ifTestStatus = inUse,
893                      ifTestOwner = 'my-IP-address') == FAILURE)
894                 /*
895                  * Another manager got the ifTestEntry -- go
896                  * try again
897                  */
898                 goto try_again;
899
900             /*
901              * I have the lock
902              */
903             set up any test parameters.
904
905             /*
906              * This starts the test
907              */
908             set(ifTestType = test_to_run);
909
910             wait for test completion by polling ifTestResult
911
912             when test completes, agent sets ifTestResult
913                  agent also sets ifTestStatus = 'notInUse'
914
915             retrieve any additional test results, and ifTestId
916
917             if (ifTestId == lock_value+1) results are valid
918
919
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.
934
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.
948
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.
954
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.
961
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
968
969
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 }
983
984ifTestEntry OBJECT-TYPE
985    SYNTAX       IfTestEntry
986    MAX-ACCESS   not-accessible
987    STATUS       current
988    DESCRIPTION
989            "An entry containing objects for invoking tests on an
990            interface."
991    AUGMENTS  { ifEntry }
992    ::= { ifTestTable 1 }
993
994IfTestEntry ::=
995    SEQUENCE {
996        ifTestId           TestAndIncr,
997        ifTestStatus       INTEGER,
998        ifTestType         AutonomousType,
999        ifTestResult       INTEGER,
1000        ifTestCode         OBJECT IDENTIFIER,
1001        ifTestOwner        OwnerString
1002    }
1003
1004ifTestId         OBJECT-TYPE
1005    SYNTAX       TestAndIncr
1006    MAX-ACCESS   read-write
1007    STATUS       current
1008    DESCRIPTION
1009            "This object identifies the current invocation of the
1010            interface's test."
1011    ::= { ifTestEntry 1 }
1012
1013ifTestStatus     OBJECT-TYPE
1014    SYNTAX       INTEGER { notInUse(1), inUse(2) }
1015    MAX-ACCESS   read-write
1016    STATUS       current
1017    DESCRIPTION
1018
1019
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
1026            'notInUse(1)'."
1027    ::= { ifTestEntry 2 }
1028
1029ifTestType       OBJECT-TYPE
1030    SYNTAX       AutonomousType
1031    MAX-ACCESS   read-write
1032    STATUS       current
1033    DESCRIPTION
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:
1041
1042                noTest  OBJECT IDENTIFIER ::= { 0 0 }
1043
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
1049            initiated.
1050
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
1055            is returned."
1056    ::= { ifTestEntry 3 }
1057
1058ifTestResult  OBJECT-TYPE
1059    SYNTAX       INTEGER {
1060                     none(1),          -- no test yet requested
1061                     success(2),
1062                     inProgress(3),
1063                     notSupported(4),
1064                     unAbleToRun(5),   -- due to state of system
1065                     aborted(6),
1066                     failed(7)
1067                 }
1068
1069
1070    MAX-ACCESS   read-only
1071    STATUS       current
1072    DESCRIPTION
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 }
1080
1081ifTestCode  OBJECT-TYPE
1082    SYNTAX       OBJECT IDENTIFIER
1083    MAX-ACCESS   read-only
1084    STATUS       current
1085    DESCRIPTION
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:
1094
1095                testCodeUnknown  OBJECT IDENTIFIER ::= { 0 0 }
1096
1097            is defined for use if no additional result code is
1098            available."
1099    ::= { ifTestEntry 5 }
1100
1101ifTestOwner      OBJECT-TYPE
1102    SYNTAX       OwnerString
1103    MAX-ACCESS   read-write
1104    STATUS       current
1105    DESCRIPTION
1106            "The entity which currently has the 'ownership'
1107            required to invoke a test on this interface."
1108    ::= { ifTestEntry 6 }
1109
1110
1111--   Generic Receive Address Table
1112--
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.
1116--
1117-- This table replaces the ifExtnsRcvAddr table.  The main
1118
1119
1120-- difference is that this table makes use of the RowStatus
1121-- textual convention, while ifExtnsRcvAddr did not.
1122
1123ifRcvAddressTable  OBJECT-TYPE
1124    SYNTAX      SEQUENCE OF IfRcvAddressEntry
1125    MAX-ACCESS  not-accessible
1126    STATUS      current
1127    DESCRIPTION
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:
1132
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.
1137
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 }
1143
1144ifRcvAddressEntry  OBJECT-TYPE
1145    SYNTAX      IfRcvAddressEntry
1146    MAX-ACCESS  not-accessible
1147    STATUS      current
1148    DESCRIPTION
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
1152            ifIndex."
1153    INDEX  { ifIndex, ifRcvAddressAddress }
1154    ::= { ifRcvAddressTable 1 }
1155
1156IfRcvAddressEntry ::=
1157    SEQUENCE {
1158        ifRcvAddressAddress   PhysAddress,
1159        ifRcvAddressStatus    RowStatus,
1160        ifRcvAddressType      INTEGER
1161    }
1162
1163ifRcvAddressAddress OBJECT-TYPE
1164    SYNTAX      PhysAddress
1165    MAX-ACCESS  read-create
1166    STATUS      current
1167    DESCRIPTION
1168
1169
1170            "An address for which the system will accept
1171            packets/frames on this entry's interface."
1172    ::= { ifRcvAddressEntry 1 }
1173
1174ifRcvAddressStatus OBJECT-TYPE
1175    SYNTAX      RowStatus
1176    MAX-ACCESS  read-write
1177    STATUS      current
1178    DESCRIPTION
1179            "This object is used to create and delete rows in the
1180            ifRcvAddressTable."
1181
1182    ::= { ifRcvAddressEntry 2 }
1183
1184ifRcvAddressType OBJECT-TYPE
1185    SYNTAX      INTEGER {
1186                    other(1),
1187                    volatile(2),
1188                    nonVolatile(3)
1189                }
1190
1191    MAX-ACCESS  read-create
1192    STATUS      current
1193    DESCRIPTION
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."
1203
1204    DEFVAL  { volatile }
1205
1206    ::= { ifRcvAddressEntry 3 }
1207
1208
1209-- definition of interface-related traps.
1210
1211linkDown NOTIFICATION-TYPE
1212    OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
1213    STATUS  current
1214    DESCRIPTION
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
1218
1219
1220            is about to transition into the down state."
1221    ::= { snmpTraps 3 }
1222
1223linkUp NOTIFICATION-TYPE
1224    OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
1225    STATUS  current
1226    DESCRIPTION
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."
1231    ::= { snmpTraps 4 }
1232
1233
1234-- conformance information
1235
1236ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
1237
1238ifGroups      OBJECT IDENTIFIER ::= { ifConformance 1 }
1239ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
1240
1241
1242-- compliance statements
1243
1244ifCompliance MODULE-COMPLIANCE
1245    STATUS  current
1246    DESCRIPTION
1247            "The compliance statement for SNMPv2 entities which
1248            have network interfaces."
1249
1250    MODULE  -- this module
1251        MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
1252
1253        GROUP       ifFixedLengthGroup
1254        DESCRIPTION
1255            "This group is mandatory for all network interfaces
1256            which are character-oriented or transmit data in
1257            fixed-length transmission units."
1258
1259        GROUP       ifHCFixedLengthGroup
1260        DESCRIPTION
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."
1266
1267        GROUP       ifPacketGroup
1268
1269
1270        DESCRIPTION
1271            "This group is mandatory for all network interfaces
1272            which are packet-oriented."
1273
1274        GROUP       ifHCPacketGroup
1275        DESCRIPTION
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."
1280        GROUP       ifTestGroup
1281        DESCRIPTION
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."
1287
1288        GROUP       ifRcvAddressGroup
1289        DESCRIPTION
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."
1294
1295        OBJECT      ifLinkUpDownTrapEnable
1296        MIN-ACCESS  read-only
1297        DESCRIPTION
1298            "Write access is not required."
1299
1300        OBJECT      ifPromiscuousMode
1301        MIN-ACCESS  read-only
1302        DESCRIPTION
1303            "Write access is not required."
1304
1305        OBJECT      ifStackStatus
1306        SYNTAX      INTEGER { active(1) } -- subset of RowStatus
1307        MIN-ACCESS  read-only
1308        DESCRIPTION
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)."
1312
1313        OBJECT       ifAdminStatus
1314        SYNTAX       INTEGER { up(1), down(2) }
1315        MIN-ACCESS   read-only
1316        DESCRIPTION
1317            "Write access is not required, nor is support for the
1318
1319
1320            value testing(3)."
1321    ::= { ifCompliances 1 }
1322
1323
1324-- units of conformance
1325
1326ifGeneralGroup    OBJECT-GROUP
1327    OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
1328              ifAdminStatus, ifOperStatus, ifLastChange,
1329              ifLinkUpDownTrapEnable, ifConnectorPresent,
1330              ifHighSpeed, ifName }
1331    STATUS  current
1332    DESCRIPTION
1333            "A collection of objects providing information
1334            applicable to all network interfaces."
1335    ::= { ifGroups 1 }
1336
1337-- the following five groups are mutually exclusive; at most
1338-- one of these groups is implemented for any interface
1339
1340ifFixedLengthGroup    OBJECT-GROUP
1341    OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
1342              ifInErrors, ifOutErrors }
1343    STATUS  current
1344    DESCRIPTION
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.)"
1350    ::= { ifGroups 2 }
1351
1352ifHCFixedLengthGroup    OBJECT-GROUP
1353    OBJECTS { ifHCInOctets, ifHCOutOctets,
1354              ifInOctets, ifOutOctets, ifInUnknownProtos,
1355              ifInErrors, ifOutErrors }
1356    STATUS  current
1357    DESCRIPTION
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."
1362    ::= { ifGroups 3 }
1363
1364ifPacketGroup    OBJECT-GROUP
1365    OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
1366              ifInErrors, ifOutErrors,
1367              ifMtu, ifInUcastPkts, ifInMulticastPkts,
1368
1369
1370              ifInBroadcastPkts, ifInDiscards,
1371              ifOutUcastPkts, ifOutMulticastPkts,
1372              ifOutBroadcastPkts, ifOutDiscards,
1373              ifPromiscuousMode }
1374    STATUS  current
1375    DESCRIPTION
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
1380            bits/second.)"
1381    ::= { ifGroups 4 }
1382
1383ifHCPacketGroup    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,
1391              ifPromiscuousMode }
1392    STATUS  current
1393    DESCRIPTION
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."
1398    ::= { ifGroups 5 }
1399
1400ifVHCPacketGroup    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,
1411              ifPromiscuousMode }
1412    STATUS  current
1413    DESCRIPTION
1414            "A collection of objects providing information
1415            specific to higher speed (greater than 650,000,000
1416            bits/second) packet-oriented network interfaces."
1417    ::= { ifGroups 6 }
1418
1419
1420ifRcvAddressGroup    OBJECT-GROUP
1421    OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
1422    STATUS  current
1423    DESCRIPTION
1424            "A collection of objects providing information on the
1425            multiple addresses which an interface receives."
1426    ::= { ifGroups 7 }
1427
1428ifTestGroup    OBJECT-GROUP
1429    OBJECTS { ifTestId, ifTestStatus, ifTestType,
1430              ifTestResult, ifTestCode, ifTestOwner }
1431    STATUS  current
1432    DESCRIPTION
1433            "A collection of objects providing the ability to
1434            invoke tests on an interface."
1435    ::= { ifGroups 8 }
1436
1437ifStackGroup    OBJECT-GROUP
1438    OBJECTS { ifStackStatus }
1439    STATUS  current
1440    DESCRIPTION
1441            "A collection of objects providing information on the
1442            layering of MIB-II interfaces."
1443    ::= { ifGroups 9 }
1444
1445END
1446