Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / test / smidiff / IF-MIB.old
1 IF-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
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
18 ifMIB 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
46 interfaces   OBJECT IDENTIFIER ::= { mib-2 2 }
47
48 ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
49
50 -- OwnerString has the same semantics as used in RFC 1271
51
52 OwnerString ::= 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
74 InterfaceIndex ::= 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
87 ifNumber  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
103 ifTable 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
112 ifEntry 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
124 IfEntry ::=
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
151 ifIndex 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
164 ifDescr 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
177 ifType 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
188 ifMtu 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
200 ifSpeed 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
220 ifPhysAddress 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
233 ifAdminStatus 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
253 ifOperStatus 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
281 ifLastChange 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
293 ifInOctets 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
302 ifInUcastPkts 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
312 ifInNUcastPkts 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
326 ifInDiscards 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
338 ifInErrors 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
352 ifInUnknownProtos 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
370 ifOutOctets 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
379 ifOutUcastPkts 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
392 ifOutNUcastPkts 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
407 ifOutDiscards 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
420 ifOutErrors 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
432 ifOutQLen 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
440 ifSpecific 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
465 ifXTable        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
477 ifXEntry        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
487 IfXEntry ::=
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
509 ifName 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
530 ifInMulticastPkts 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
542 ifInBroadcastPkts 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
552 ifOutMulticastPkts 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
565 ifOutBroadcastPkts 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
587 ifHCInOctets 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
597 ifHCInUcastPkts 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
608 ifHCInMulticastPkts 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
623 ifHCInBroadcastPkts 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
634 ifHCOutOctets 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
644 ifHCOutUcastPkts 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
657 ifHCOutMulticastPkts 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
673 ifHCOutBroadcastPkts 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
685 ifLinkUpDownTrapEnable  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
699 ifHighSpeed 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
715 ifPromiscuousMode  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
736 ifConnectorPresent   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
752 ifStackTable  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
766 ifStackEntry  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
781 IfStackEntry ::=
782     SEQUENCE {
783         ifStackHigherLayer  Integer32,
784         ifStackLowerLayer   Integer32,
785         ifStackStatus       RowStatus
786      }
787
788
789 ifStackHigherLayer  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
803 ifStackLowerLayer  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
817 ifStackStatus  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
846 ifTestTable   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
984 ifTestEntry 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
994 IfTestEntry ::=
995     SEQUENCE {
996         ifTestId           TestAndIncr,
997         ifTestStatus       INTEGER,
998         ifTestType         AutonomousType,
999         ifTestResult       INTEGER,
1000         ifTestCode         OBJECT IDENTIFIER,
1001         ifTestOwner        OwnerString
1002     }
1003
1004 ifTestId         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
1013 ifTestStatus     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
1029 ifTestType       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
1058 ifTestResult  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
1081 ifTestCode  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
1101 ifTestOwner      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
1123 ifRcvAddressTable  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
1144 ifRcvAddressEntry  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
1156 IfRcvAddressEntry ::=
1157     SEQUENCE {
1158         ifRcvAddressAddress   PhysAddress,
1159         ifRcvAddressStatus    RowStatus,
1160         ifRcvAddressType      INTEGER
1161     }
1162
1163 ifRcvAddressAddress 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
1174 ifRcvAddressStatus 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
1184 ifRcvAddressType 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
1211 linkDown 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
1223 linkUp 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
1236 ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
1237
1238 ifGroups      OBJECT IDENTIFIER ::= { ifConformance 1 }
1239 ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
1240
1241
1242 -- compliance statements
1243
1244 ifCompliance 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
1326 ifGeneralGroup    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
1340 ifFixedLengthGroup    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
1352 ifHCFixedLengthGroup    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
1364 ifPacketGroup    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
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,
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
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,
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
1420 ifRcvAddressGroup    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
1428 ifTestGroup    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
1437 ifStackGroup    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
1445 END