Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / RMON-MIB
1 RMON-MIB DEFINITIONS ::= BEGIN
2
3     IMPORTS
4         MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
5         NOTIFICATION-TYPE, mib-2, Counter32,
6         Integer32, TimeTicks                   FROM SNMPv2-SMI
7
8         TEXTUAL-CONVENTION, DisplayString      FROM SNMPv2-TC
9
10         MODULE-COMPLIANCE, OBJECT-GROUP,
11         NOTIFICATION-GROUP                     FROM SNMPv2-CONF;
12
13
14 --  Remote Network Monitoring MIB
15
16 rmonMibModule MODULE-IDENTITY
17     LAST-UPDATED "200005110000Z"  -- 11 May, 2000
18     ORGANIZATION "IETF RMON MIB Working Group"
19     CONTACT-INFO
20         "Steve Waldbusser
21         Phone: +1-650-948-6500
22         Fax:   +1-650-745-0671
23         Email: waldbusser@nextbeacon.com"
24     DESCRIPTION
25         "Remote network monitoring devices, often called
26         monitors or probes, are instruments that exist for
27         the purpose of managing a network. This MIB defines
28         objects for managing remote network monitoring devices."
29
30     REVISION "200005110000Z"    -- 11 May, 2000
31     DESCRIPTION
32         "Reformatted into SMIv2 format.
33
34         This version published as RFC 2819."
35
36     REVISION "199502010000Z" -- 1 Feb, 1995
37     DESCRIPTION
38         "Bug fixes, clarifications and minor changes based on
39         implementation experience, published as RFC1757 [18].
40
41         Two changes were made to object definitions:
42
43         1) A new status bit has been defined for the
44         captureBufferPacketStatus object, indicating that the
45         packet order within the capture buffer may not be identical to
46         the packet order as received off the wire.  This bit may only
47         be used for packets transmitted by the probe.  Older NMS
48         applications can safely ignore this status bit, which might be
49         used by newer agents.
50
51         2) The packetMatch trap has been removed.  This trap was never
52         actually 'approved' and was not added to this document along
53         with the risingAlarm and fallingAlarm traps. The packetMatch
54         trap could not be throttled, which could cause disruption of
55         normal network traffic under some circumstances. An NMS should
56         configure a risingAlarm threshold on the appropriate
57         channelMatches instance if a trap is desired for a packetMatch
58         event. Note that logging of packetMatch events is still
59         supported--only trap generation for such events has been
60         removed.
61
62         In addition, several clarifications to individual object
63         definitions have been added to assist agent and NMS
64         implementors:
65
66         - global definition of 'good packets' and 'bad packets'
67
68         - more detailed text governing conceptual row creation and
69           modification
70
71         - instructions for probes relating to interface changes and
72           disruptions
73
74         - clarification of some ethernet counter definitions
75
76         - recommended formula for calculating network utilization
77
78         - clarification of channel and captureBuffer behavior for some
79           unusual conditions
80
81         - examples of proper instance naming for each table"
82
83     REVISION "199111010000Z"    -- 1 Nov, 1991
84     DESCRIPTION
85         "The original version of this MIB, published as RFC1271."
86     ::= { rmonConformance 8 }
87
88     rmon    OBJECT IDENTIFIER ::= { mib-2 16 }
89
90
91     -- textual conventions
92
93 OwnerString ::= TEXTUAL-CONVENTION
94     STATUS current
95     DESCRIPTION
96         "This data type is used to model an administratively
97         assigned name of the owner of a resource. Implementations
98         must accept values composed of well-formed NVT ASCII
99         sequences. In addition, implementations should accept
100         values composed of well-formed UTF-8 sequences.
101
102         It is suggested that this name contain one or more of
103         the following: IP address, management station name,
104         network manager's name, location, or phone number.
105         In some cases the agent itself will be the owner of
106         an entry.  In these cases, this string shall be set
107         to a string starting with 'monitor'.
108
109         SNMP access control is articulated entirely in terms
110         of the contents of MIB views; access to a particular
111         SNMP object instance depends only upon its presence
112         or absence in a particular MIB view and never upon
113         its value or the value of related object instances.
114         Thus, objects of this type afford resolution of
115         resource contention only among cooperating
116         managers; they realize no access control function
117         with respect to uncooperative parties."
118     SYNTAX OCTET STRING (SIZE (0..127))
119
120 EntryStatus ::= TEXTUAL-CONVENTION
121     STATUS current
122     DESCRIPTION
123         "The status of a table entry.
124
125         Setting this object to the value invalid(4) has the
126         effect of invalidating the corresponding entry.
127         That is, it effectively disassociates the mapping
128         identified with said entry.
129         It is an implementation-specific matter as to whether
130         the agent removes an invalidated entry from the table.
131         Accordingly, management stations must be prepared to
132         receive tabular information from agents that corresponds
133         to entries currently not in use.  Proper
134         interpretation of such entries requires examination
135         of the relevant EntryStatus object.
136
137         An existing instance of this object cannot be set to
138         createRequest(2).  This object may only be set to
139         createRequest(2) when this instance is created.  When
140         this object is created, the agent may wish to create
141         supplemental object instances with default values
142         to complete a conceptual row in this table.  Because the
143         creation of these default objects is entirely at the option
144         of the agent, the manager must not assume that any will be
145         created, but may make use of any that are created.
146         Immediately after completing the create operation, the agent
147         must set this object to underCreation(3).
148
149         When in the underCreation(3) state, an entry is allowed to
150         exist in a possibly incomplete, possibly inconsistent state,
151         usually to allow it to be modified in multiple PDUs.  When in
152         this state, an entry is not fully active.
153         Entries shall exist in the underCreation(3) state until
154         the management station is finished configuring the entry
155         and sets this object to valid(1) or aborts, setting this
156         object to invalid(4).  If the agent determines that an
157         entry has been in the underCreation(3) state for an
158         abnormally long time, it may decide that the management
159         station has crashed.  If the agent makes this decision,
160         it may set this object to invalid(4) to reclaim the
161         entry.  A prudent agent will understand that the
162         management station may need to wait for human input
163         and will allow for that possibility in its
164         determination of this abnormally long period.
165
166         An entry in the valid(1) state is fully configured and
167         consistent and fully represents the configuration or
168         operation such a row is intended to represent.  For
169         example, it could be a statistical function that is
170         configured and active, or a filter that is available
171         in the list of filters processed by the packet capture
172         process.
173
174         A manager is restricted to changing the state of an entry in
175         the following ways:
176
177              To:       valid  createRequest  underCreation  invalid
178         From:
179         valid             OK             NO             OK       OK
180         createRequest    N/A            N/A            N/A      N/A
181         underCreation     OK             NO             OK       OK
182         invalid           NO             NO             NO       OK
183         nonExistent       NO             OK             NO       OK
184
185         In the table above, it is not applicable to move the state
186         from the createRequest state to any other state because the
187         manager will never find the variable in that state.  The
188         nonExistent state is not a value of the enumeration, rather
189         it means that the entryStatus variable does not exist at all.
190         An agent may allow an entryStatus variable to change state in
191         additional ways, so long as the semantics of the states are
192         followed.  This allowance is made to ease the implementation of
193         the agent and is made despite the fact that managers should
194         never exercise these additional state transitions."
195     SYNTAX INTEGER {
196                valid(1),
197                createRequest(2),
198                underCreation(3),
199                invalid(4)
200            }
201
202     statistics        OBJECT IDENTIFIER ::= { rmon 1 }
203     history           OBJECT IDENTIFIER ::= { rmon 2 }
204     alarm             OBJECT IDENTIFIER ::= { rmon 3 }
205     hosts             OBJECT IDENTIFIER ::= { rmon 4 }
206     hostTopN          OBJECT IDENTIFIER ::= { rmon 5 }
207     matrix            OBJECT IDENTIFIER ::= { rmon 6 }
208     filter            OBJECT IDENTIFIER ::= { rmon 7 }
209     capture           OBJECT IDENTIFIER ::= { rmon 8 }
210     event             OBJECT IDENTIFIER ::= { rmon 9 }
211     rmonConformance   OBJECT IDENTIFIER ::= { rmon 20 }
212
213 -- The Ethernet Statistics Group
214 --
215 -- Implementation of the Ethernet Statistics group is optional.
216 -- Consult the MODULE-COMPLIANCE macro for the authoritative
217 -- conformance information for this MIB.
218 --
219 -- The ethernet statistics group contains statistics measured by the
220 -- probe for each monitored interface on this device.  These
221 -- statistics take the form of free running counters that start from
222 -- zero when a valid entry is created.
223 --
224 -- This group currently has statistics defined only for
225 -- Ethernet interfaces.  Each etherStatsEntry contains statistics
226 -- for one Ethernet interface.  The probe must create one
227 -- etherStats entry for each monitored Ethernet interface
228 -- on the device.
229
230 etherStatsTable OBJECT-TYPE
231     SYNTAX     SEQUENCE OF EtherStatsEntry
232     MAX-ACCESS not-accessible
233     STATUS     current
234     DESCRIPTION
235         "A list of Ethernet statistics entries."
236     ::= { statistics 1 }
237
238 etherStatsEntry OBJECT-TYPE
239     SYNTAX     EtherStatsEntry
240     MAX-ACCESS not-accessible
241     STATUS     current
242     DESCRIPTION
243         "A collection of statistics kept for a particular
244         Ethernet interface.  As an example, an instance of the
245         etherStatsPkts object might be named etherStatsPkts.1"
246     INDEX { etherStatsIndex }
247     ::= { etherStatsTable 1 }
248
249 EtherStatsEntry ::= SEQUENCE {
250     etherStatsIndex                    Integer32,
251     etherStatsDataSource               OBJECT IDENTIFIER,
252     etherStatsDropEvents               Counter32,
253     etherStatsOctets                   Counter32,
254     etherStatsPkts                     Counter32,
255     etherStatsBroadcastPkts            Counter32,
256     etherStatsMulticastPkts            Counter32,
257     etherStatsCRCAlignErrors           Counter32,
258     etherStatsUndersizePkts            Counter32,
259     etherStatsOversizePkts             Counter32,
260     etherStatsFragments                Counter32,
261     etherStatsJabbers                  Counter32,
262     etherStatsCollisions               Counter32,
263     etherStatsPkts64Octets             Counter32,
264     etherStatsPkts65to127Octets        Counter32,
265     etherStatsPkts128to255Octets       Counter32,
266     etherStatsPkts256to511Octets       Counter32,
267     etherStatsPkts512to1023Octets      Counter32,
268     etherStatsPkts1024to1518Octets     Counter32,
269     etherStatsOwner                    OwnerString,
270     etherStatsStatus                   EntryStatus
271 }
272
273 etherStatsIndex OBJECT-TYPE
274     SYNTAX     Integer32 (1..65535)
275     MAX-ACCESS read-only
276     STATUS     current
277     DESCRIPTION
278         "The value of this object uniquely identifies this
279         etherStats entry."
280     ::= { etherStatsEntry 1 }
281
282 etherStatsDataSource OBJECT-TYPE
283     SYNTAX     OBJECT IDENTIFIER
284     MAX-ACCESS read-create
285     STATUS     current
286     DESCRIPTION
287         "This object identifies the source of the data that
288         this etherStats entry is configured to analyze.  This
289         source can be any ethernet interface on this device.
290         In order to identify a particular interface, this object
291         shall identify the instance of the ifIndex object,
292         defined in RFC 2233 [17], for the desired interface.
293         For example, if an entry were to receive data from
294         interface #1, this object would be set to ifIndex.1.
295
296         The statistics in this group reflect all packets
297         on the local network segment attached to the identified
298         interface.
299
300         An agent may or may not be able to tell if fundamental
301         changes to the media of the interface have occurred and
302         necessitate an invalidation of this entry.  For example, a
303         hot-pluggable ethernet card could be pulled out and replaced
304         by a token-ring card.  In such a case, if the agent has such
305         knowledge of the change, it is recommended that it
306         invalidate this entry.
307
308         This object may not be modified if the associated
309         etherStatsStatus object is equal to valid(1)."
310     ::= { etherStatsEntry 2 }
311
312 etherStatsDropEvents OBJECT-TYPE
313     SYNTAX     Counter32
314     MAX-ACCESS read-only
315     STATUS     current
316     DESCRIPTION
317         "The total number of events in which packets
318         were dropped by the probe due to lack of resources.
319         Note that this number is not necessarily the number of
320         packets dropped; it is just the number of times this
321         condition has been detected."
322     ::= { etherStatsEntry 3 }
323
324 etherStatsOctets OBJECT-TYPE
325     SYNTAX     Counter32
326     UNITS      "Octets"
327     MAX-ACCESS read-only
328     STATUS     current
329     DESCRIPTION
330         "The total number of octets of data (including
331         those in bad packets) received on the
332         network (excluding framing bits but including
333         FCS octets).
334         This object can be used as a reasonable estimate of
335         10-Megabit ethernet utilization.  If greater precision is
336         desired, the etherStatsPkts and etherStatsOctets objects
337         should be sampled before and after a common interval.  The
338         differences in the sampled values are Pkts and Octets,
339         respectively, and the number of seconds in the interval is
340         Interval.  These values are used to calculate the Utilization
341         as follows:
342
343                          Pkts * (9.6 + 6.4) + (Octets * .8)
344          Utilization = -------------------------------------
345                                  Interval * 10,000
346
347         The result of this equation is the value Utilization which
348         is the percent utilization of the ethernet segment on a
349         scale of 0 to 100 percent."
350     ::= { etherStatsEntry 4 }
351
352 etherStatsPkts OBJECT-TYPE
353     SYNTAX     Counter32
354     UNITS      "Packets"
355     MAX-ACCESS read-only
356     STATUS     current
357     DESCRIPTION
358         "The total number of packets (including bad packets,
359         broadcast packets, and multicast packets) received."
360     ::= { etherStatsEntry 5 }
361
362 etherStatsBroadcastPkts OBJECT-TYPE
363     SYNTAX     Counter32
364     UNITS      "Packets"
365     MAX-ACCESS read-only
366     STATUS     current
367     DESCRIPTION
368         "The total number of good packets received that were
369         directed to the broadcast address.  Note that this
370         does not include multicast packets."
371     ::= { etherStatsEntry 6 }
372
373 etherStatsMulticastPkts OBJECT-TYPE
374     SYNTAX     Counter32
375     UNITS      "Packets"
376     MAX-ACCESS read-only
377     STATUS     current
378     DESCRIPTION
379         "The total number of good packets received that were
380         directed to a multicast address.  Note that this number
381         does not include packets directed to the broadcast
382         address."
383     ::= { etherStatsEntry 7 }
384
385 etherStatsCRCAlignErrors OBJECT-TYPE
386     SYNTAX     Counter32
387     UNITS      "Packets"
388     MAX-ACCESS read-only
389     STATUS     current
390     DESCRIPTION
391         "The total number of packets received that
392         had a length (excluding framing bits, but
393         including FCS octets) of between 64 and 1518
394         octets, inclusive, but had either a bad
395         Frame Check Sequence (FCS) with an integral
396         number of octets (FCS Error) or a bad FCS with
397         a non-integral number of octets (Alignment Error)."
398     ::= { etherStatsEntry 8 }
399
400 etherStatsUndersizePkts OBJECT-TYPE
401     SYNTAX     Counter32
402     UNITS      "Packets"
403     MAX-ACCESS read-only
404     STATUS     current
405     DESCRIPTION
406         "The total number of packets received that were
407         less than 64 octets long (excluding framing bits,
408         but including FCS octets) and were otherwise well
409         formed."
410     ::= { etherStatsEntry 9 }
411
412 etherStatsOversizePkts OBJECT-TYPE
413     SYNTAX     Counter32
414     UNITS      "Packets"
415     MAX-ACCESS read-only
416     STATUS     current
417     DESCRIPTION
418         "The total number of packets received that were
419         longer than 1518 octets (excluding framing bits,
420         but including FCS octets) and were otherwise
421         well formed."
422     ::= { etherStatsEntry 10 }
423
424 etherStatsFragments OBJECT-TYPE
425     SYNTAX     Counter32
426     UNITS      "Packets"
427     MAX-ACCESS read-only
428     STATUS     current
429     DESCRIPTION
430         "The total number of packets received that were less than
431         64 octets in length (excluding framing bits but including
432         FCS octets) and had either a bad Frame Check Sequence
433         (FCS) with an integral number of octets (FCS Error) or a
434         bad FCS with a non-integral number of octets (Alignment
435         Error).
436
437         Note that it is entirely normal for etherStatsFragments to
438         increment.  This is because it counts both runts (which are
439         normal occurrences due to collisions) and noise hits."
440     ::= { etherStatsEntry 11 }
441
442 etherStatsJabbers OBJECT-TYPE
443     SYNTAX     Counter32
444     UNITS      "Packets"
445     MAX-ACCESS read-only
446     STATUS     current
447     DESCRIPTION
448         "The total number of packets received that were
449         longer than 1518 octets (excluding framing bits,
450         but including FCS octets), and had either a bad
451         Frame Check Sequence (FCS) with an integral number
452         of octets (FCS Error) or a bad FCS with a non-integral
453         number of octets (Alignment Error).
454
455         Note that this definition of jabber is different
456         than the definition in IEEE-802.3 section 8.2.1.5
457         (10BASE5) and section 10.3.1.4 (10BASE2).  These
458         documents define jabber as the condition where any
459         packet exceeds 20 ms.  The allowed range to detect
460         jabber is between 20 ms and 150 ms."
461     ::= { etherStatsEntry 12 }
462
463 etherStatsCollisions OBJECT-TYPE
464     SYNTAX     Counter32
465     UNITS      "Collisions"
466     MAX-ACCESS read-only
467     STATUS     current
468     DESCRIPTION
469         "The best estimate of the total number of collisions
470         on this Ethernet segment.
471
472         The value returned will depend on the location of the
473         RMON probe. Section 8.2.1.3 (10BASE-5) and section
474         10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
475         station must detect a collision, in the receive mode, if
476         three or more stations are transmitting simultaneously.  A
477         repeater port must detect a collision when two or more
478         stations are transmitting simultaneously.  Thus a probe
479         placed on a repeater port could record more collisions
480         than a probe connected to a station on the same segment
481         would.
482
483         Probe location plays a much smaller role when considering
484         10BASE-T.  14.2.1.4 (10BASE-T) of IEEE standard 802.3
485         defines a collision as the simultaneous presence of signals
486         on the DO and RD circuits (transmitting and receiving
487         at the same time).  A 10BASE-T station can only detect
488         collisions when it is transmitting.  Thus probes placed on
489         a station and a repeater, should report the same number of
490         collisions.
491
492         Note also that an RMON probe inside a repeater should
493         ideally report collisions between the repeater and one or
494         more other hosts (transmit collisions as defined by IEEE
495         802.3k) plus receiver collisions observed on any coax
496         segments to which the repeater is connected."
497     ::= { etherStatsEntry 13 }
498
499 etherStatsPkts64Octets OBJECT-TYPE
500     SYNTAX     Counter32
501     UNITS      "Packets"
502     MAX-ACCESS read-only
503     STATUS     current
504     DESCRIPTION
505         "The total number of packets (including bad
506         packets) received that were 64 octets in length
507         (excluding framing bits but including FCS octets)."
508     ::= { etherStatsEntry 14 }
509
510 etherStatsPkts65to127Octets OBJECT-TYPE
511     SYNTAX     Counter32
512     UNITS      "Packets"
513     MAX-ACCESS read-only
514     STATUS     current
515     DESCRIPTION
516         "The total number of packets (including bad
517         packets) received that were between
518         65 and 127 octets in length inclusive
519         (excluding framing bits but including FCS octets)."
520     ::= { etherStatsEntry 15 }
521
522 etherStatsPkts128to255Octets OBJECT-TYPE
523     SYNTAX     Counter32
524     UNITS      "Packets"
525     MAX-ACCESS read-only
526     STATUS     current
527     DESCRIPTION
528         "The total number of packets (including bad
529         packets) received that were between
530         128 and 255 octets in length inclusive
531         (excluding framing bits but including FCS octets)."
532     ::= { etherStatsEntry 16 }
533
534 etherStatsPkts256to511Octets OBJECT-TYPE
535     SYNTAX     Counter32
536     UNITS      "Packets"
537     MAX-ACCESS read-only
538     STATUS     current
539     DESCRIPTION
540         "The total number of packets (including bad
541         packets) received that were between
542         256 and 511 octets in length inclusive
543         (excluding framing bits but including FCS octets)."
544     ::= { etherStatsEntry 17 }
545
546 etherStatsPkts512to1023Octets OBJECT-TYPE
547     SYNTAX     Counter32
548     UNITS      "Packets"
549     MAX-ACCESS read-only
550     STATUS     current
551     DESCRIPTION
552         "The total number of packets (including bad
553         packets) received that were between
554         512 and 1023 octets in length inclusive
555         (excluding framing bits but including FCS octets)."
556     ::= { etherStatsEntry 18 }
557
558 etherStatsPkts1024to1518Octets OBJECT-TYPE
559     SYNTAX     Counter32
560     UNITS      "Packets"
561     MAX-ACCESS read-only
562     STATUS     current
563     DESCRIPTION
564         "The total number of packets (including bad
565         packets) received that were between
566         1024 and 1518 octets in length inclusive
567         (excluding framing bits but including FCS octets)."
568     ::= { etherStatsEntry 19 }
569
570 etherStatsOwner OBJECT-TYPE
571     SYNTAX     OwnerString
572     MAX-ACCESS read-create
573     STATUS     current
574     DESCRIPTION
575         "The entity that configured this entry and is therefore
576         using the resources assigned to it."
577     ::= { etherStatsEntry 20 }
578
579 etherStatsStatus OBJECT-TYPE
580     SYNTAX     EntryStatus
581     MAX-ACCESS read-create
582     STATUS     current
583     DESCRIPTION
584         "The status of this etherStats entry."
585     ::= { etherStatsEntry 21 }
586
587 -- The History Control Group
588
589 -- Implementation of the History Control group is optional.
590 -- Consult the MODULE-COMPLIANCE macro for the authoritative
591 -- conformance information for this MIB.
592 --
593 -- The history control group controls the periodic statistical
594 -- sampling of data from various types of networks.  The
595 -- historyControlTable stores configuration entries that each
596 -- define an interface, polling period, and other parameters.
597 -- Once samples are taken, their data is stored in an entry
598 -- in a media-specific table.  Each such entry defines one
599 -- sample, and is associated with the historyControlEntry that
600 -- caused the sample to be taken.  Each counter in the
601 -- etherHistoryEntry counts the same event as its similarly-named
602 -- counterpart in the etherStatsEntry, except that each value here
603 -- is a cumulative sum during a sampling period.
604 --
605 -- If the probe keeps track of the time of day, it should start
606 -- the first sample of the history at a time such that
607 -- when the next hour of the day begins, a sample is
608 -- started at that instant.  This tends to make more
609 -- user-friendly reports, and enables comparison of reports
610 -- from different probes that have relatively accurate time
611 -- of day.
612 --
613 -- The probe is encouraged to add two history control entries
614 -- per monitored interface upon initialization that describe a short
615 -- term and a long term polling period.  Suggested parameters are 30
616 -- seconds for the short term polling period and 30 minutes for
617 -- the long term period.
618
619 historyControlTable OBJECT-TYPE
620     SYNTAX     SEQUENCE OF HistoryControlEntry
621     MAX-ACCESS not-accessible
622     STATUS     current
623     DESCRIPTION
624         "A list of history control entries."
625     ::= { history 1 }
626
627 historyControlEntry OBJECT-TYPE
628     SYNTAX     HistoryControlEntry
629     MAX-ACCESS not-accessible
630     STATUS     current
631     DESCRIPTION
632         "A list of parameters that set up a periodic sampling of
633         statistics.  As an example, an instance of the
634         historyControlInterval object might be named
635         historyControlInterval.2"
636     INDEX { historyControlIndex }
637     ::= { historyControlTable 1 }
638
639 HistoryControlEntry ::= SEQUENCE {
640     historyControlIndex             Integer32,
641     historyControlDataSource        OBJECT IDENTIFIER,
642     historyControlBucketsRequested  Integer32,
643     historyControlBucketsGranted    Integer32,
644     historyControlInterval          Integer32,
645     historyControlOwner             OwnerString,
646     historyControlStatus            EntryStatus
647 }
648
649 historyControlIndex OBJECT-TYPE
650     SYNTAX     Integer32 (1..65535)
651     MAX-ACCESS read-only
652     STATUS     current
653     DESCRIPTION
654         "An index that uniquely identifies an entry in the
655         historyControl table.  Each such entry defines a
656         set of samples at a particular interval for an
657         interface on the device."
658     ::= { historyControlEntry 1 }
659
660 historyControlDataSource OBJECT-TYPE
661     SYNTAX     OBJECT IDENTIFIER
662     MAX-ACCESS read-create
663     STATUS     current
664     DESCRIPTION
665         "This object identifies the source of the data for
666         which historical data was collected and
667         placed in a media-specific table on behalf of this
668         historyControlEntry.  This source can be any
669         interface on this device.  In order to identify
670         a particular interface, this object shall identify
671         the instance of the ifIndex object, defined
672         in  RFC 2233 [17], for the desired interface.
673         For example, if an entry were to receive data from
674         interface #1, this object would be set to ifIndex.1.
675
676         The statistics in this group reflect all packets
677         on the local network segment attached to the identified
678         interface.
679
680         An agent may or may not be able to tell if fundamental
681         changes to the media of the interface have occurred and
682         necessitate an invalidation of this entry.  For example, a
683         hot-pluggable ethernet card could be pulled out and replaced
684         by a token-ring card.  In such a case, if the agent has such
685         knowledge of the change, it is recommended that it
686         invalidate this entry.
687
688         This object may not be modified if the associated
689         historyControlStatus object is equal to valid(1)."
690     ::= { historyControlEntry 2 }
691
692 historyControlBucketsRequested OBJECT-TYPE
693     SYNTAX     Integer32 (1..65535)
694     MAX-ACCESS read-create
695     STATUS     current
696     DESCRIPTION
697         "The requested number of discrete time intervals
698         over which data is to be saved in the part of the
699         media-specific table associated with this
700         historyControlEntry.
701
702         When this object is created or modified, the probe
703         should set historyControlBucketsGranted as closely to
704         this object as is possible for the particular probe
705         implementation and available resources."
706     DEFVAL { 50 }
707     ::= { historyControlEntry 3 }
708
709 historyControlBucketsGranted OBJECT-TYPE
710     SYNTAX     Integer32 (1..65535)
711     MAX-ACCESS read-only
712     STATUS     current
713     DESCRIPTION
714         "The number of discrete sampling intervals
715         over which data shall be saved in the part of
716         the media-specific table associated with this
717         historyControlEntry.
718         When the associated historyControlBucketsRequested
719         object is created or modified, the probe
720         should set this object as closely to the requested
721         value as is possible for the particular
722         probe implementation and available resources.  The
723         probe must not lower this value except as a result
724         of a modification to the associated
725         historyControlBucketsRequested object.
726
727         There will be times when the actual number of
728         buckets associated with this entry is less than
729         the value of this object.  In this case, at the
730         end of each sampling interval, a new bucket will
731         be added to the media-specific table.
732
733         When the number of buckets reaches the value of
734         this object and a new bucket is to be added to the
735         media-specific table, the oldest bucket associated
736         with this historyControlEntry shall be deleted by
737         the agent so that the new bucket can be added.
738
739         When the value of this object changes to a value less
740         than the current value, entries are deleted
741         from the media-specific table associated with this
742         historyControlEntry.  Enough of the oldest of these
743         entries shall be deleted by the agent so that their
744         number remains less than or equal to the new value of
745         this object.
746
747         When the value of this object changes to a value greater
748         than the current value, the number of associated media-
749         specific entries may be allowed to grow."
750     ::= { historyControlEntry 4 }
751
752 historyControlInterval OBJECT-TYPE
753     SYNTAX     Integer32 (1..3600)
754     UNITS      "Seconds"
755     MAX-ACCESS read-create
756     STATUS     current
757     DESCRIPTION
758         "The interval in seconds over which the data is
759         sampled for each bucket in the part of the
760         media-specific table associated with this
761         historyControlEntry.  This interval can
762         be set to any number of seconds between 1 and
763         3600 (1 hour).
764
765         Because the counters in a bucket may overflow at their
766         maximum value with no indication, a prudent manager will
767         take into account the possibility of overflow in any of
768         the associated counters.  It is important to consider the
769         minimum time in which any counter could overflow on a
770         particular media type and set the historyControlInterval
771         object to a value less than this interval.  This is
772         typically most important for the 'octets' counter in any
773         media-specific table.  For example, on an Ethernet
774         network, the etherHistoryOctets counter could overflow
775         in about one hour at the Ethernet's maximum
776         utilization.
777
778         This object may not be modified if the associated
779         historyControlStatus object is equal to valid(1)."
780     DEFVAL { 1800 }
781     ::= { historyControlEntry 5 }
782
783 historyControlOwner OBJECT-TYPE
784     SYNTAX     OwnerString
785     MAX-ACCESS read-create
786     STATUS     current
787     DESCRIPTION
788         "The entity that configured this entry and is therefore
789         using the resources assigned to it."
790     ::= { historyControlEntry 6 }
791
792 historyControlStatus OBJECT-TYPE
793     SYNTAX     EntryStatus
794     MAX-ACCESS read-create
795     STATUS     current
796     DESCRIPTION
797         "The status of this historyControl entry.
798
799         Each instance of the media-specific table associated
800         with this historyControlEntry will be deleted by the agent
801         if this historyControlEntry is not equal to valid(1)."
802     ::= { historyControlEntry 7 }
803
804 -- The Ethernet History Group
805
806 -- Implementation of the Ethernet History group is optional.
807 -- Consult the MODULE-COMPLIANCE macro for the authoritative
808 -- conformance information for this MIB.
809 --
810 -- The Ethernet History group records periodic statistical samples
811 -- from a network and stores them for later retrieval.
812 -- Once samples are taken, their data is stored in an entry
813 -- in a media-specific table.  Each such entry defines one
814
815 -- sample, and is associated with the historyControlEntry that
816 -- caused the sample to be taken.  This group defines the
817 -- etherHistoryTable, for Ethernet networks.
818 --
819
820 etherHistoryTable OBJECT-TYPE
821     SYNTAX     SEQUENCE OF EtherHistoryEntry
822     MAX-ACCESS not-accessible
823     STATUS     current
824     DESCRIPTION
825         "A list of Ethernet history entries."
826     ::= { history 2 }
827
828 etherHistoryEntry OBJECT-TYPE
829     SYNTAX     EtherHistoryEntry
830     MAX-ACCESS not-accessible
831     STATUS     current
832     DESCRIPTION
833         "An historical sample of Ethernet statistics on a particular
834         Ethernet interface.  This sample is associated with the
835         historyControlEntry which set up the parameters for
836         a regular collection of these samples.  As an example, an
837         instance of the etherHistoryPkts object might be named
838         etherHistoryPkts.2.89"
839     INDEX { etherHistoryIndex , etherHistorySampleIndex }
840     ::= { etherHistoryTable 1 }
841
842 EtherHistoryEntry ::= SEQUENCE {
843     etherHistoryIndex                 Integer32,
844     etherHistorySampleIndex           Integer32,
845     etherHistoryIntervalStart         TimeTicks,
846     etherHistoryDropEvents            Counter32,
847     etherHistoryOctets                Counter32,
848     etherHistoryPkts                  Counter32,
849     etherHistoryBroadcastPkts         Counter32,
850     etherHistoryMulticastPkts         Counter32,
851     etherHistoryCRCAlignErrors        Counter32,
852     etherHistoryUndersizePkts         Counter32,
853     etherHistoryOversizePkts          Counter32,
854     etherHistoryFragments             Counter32,
855     etherHistoryJabbers               Counter32,
856     etherHistoryCollisions            Counter32,
857     etherHistoryUtilization           Integer32
858 }
859
860 etherHistoryIndex OBJECT-TYPE
861     SYNTAX     Integer32 (1..65535)
862     MAX-ACCESS read-only
863     STATUS     current
864     DESCRIPTION
865         "The history of which this entry is a part.  The
866         history identified by a particular value of this
867         index is the same history as identified
868         by the same value of historyControlIndex."
869     ::= { etherHistoryEntry 1 }
870
871 etherHistorySampleIndex OBJECT-TYPE
872     SYNTAX     Integer32 (1..2147483647)
873     MAX-ACCESS read-only
874     STATUS     current
875     DESCRIPTION
876         "An index that uniquely identifies the particular
877         sample this entry represents among all samples
878         associated with the same historyControlEntry.
879         This index starts at 1 and increases by one
880         as each new sample is taken."
881     ::= { etherHistoryEntry 2 }
882
883 etherHistoryIntervalStart OBJECT-TYPE
884     SYNTAX     TimeTicks
885     MAX-ACCESS read-only
886     STATUS     current
887     DESCRIPTION
888         "The value of sysUpTime at the start of the interval
889         over which this sample was measured.  If the probe
890         keeps track of the time of day, it should start
891         the first sample of the history at a time such that
892         when the next hour of the day begins, a sample is
893         started at that instant.  Note that following this
894         rule may require the probe to delay collecting the
895         first sample of the history, as each sample must be
896         of the same interval.  Also note that the sample which
897         is currently being collected is not accessible in this
898         table until the end of its interval."
899     ::= { etherHistoryEntry 3 }
900
901 etherHistoryDropEvents OBJECT-TYPE
902     SYNTAX     Counter32
903     MAX-ACCESS read-only
904     STATUS     current
905     DESCRIPTION
906         "The total number of events in which packets
907         were dropped by the probe due to lack of resources
908         during this sampling interval.  Note that this number
909         is not necessarily the number of packets dropped, it
910         is just the number of times this condition has been
911         detected."
912     ::= { etherHistoryEntry 4 }
913
914 etherHistoryOctets OBJECT-TYPE
915     SYNTAX     Counter32
916     UNITS      "Octets"
917     MAX-ACCESS read-only
918     STATUS     current
919     DESCRIPTION
920         "The total number of octets of data (including
921         those in bad packets) received on the
922         network (excluding framing bits but including
923         FCS octets)."
924     ::= { etherHistoryEntry 5 }
925
926 etherHistoryPkts OBJECT-TYPE
927     SYNTAX     Counter32
928     UNITS      "Packets"
929     MAX-ACCESS read-only
930     STATUS     current
931     DESCRIPTION
932         "The number of packets (including bad packets)
933         received during this sampling interval."
934     ::= { etherHistoryEntry 6 }
935
936 etherHistoryBroadcastPkts OBJECT-TYPE
937     SYNTAX     Counter32
938     UNITS      "Packets"
939     MAX-ACCESS read-only
940     STATUS     current
941     DESCRIPTION
942         "The number of good packets received during this
943         sampling interval that were directed to the
944         broadcast address."
945     ::= { etherHistoryEntry 7 }
946
947 etherHistoryMulticastPkts OBJECT-TYPE
948     SYNTAX     Counter32
949     UNITS      "Packets"
950     MAX-ACCESS read-only
951     STATUS     current
952     DESCRIPTION
953         "The number of good packets received during this
954         sampling interval that were directed to a
955         multicast address.  Note that this number does not
956         include packets addressed to the broadcast address."
957     ::= { etherHistoryEntry 8 }
958
959 etherHistoryCRCAlignErrors OBJECT-TYPE
960     SYNTAX     Counter32
961     UNITS      "Packets"
962     MAX-ACCESS read-only
963     STATUS     current
964     DESCRIPTION
965         "The number of packets received during this
966         sampling interval that had a length (excluding
967         framing bits but including FCS octets) between
968         64 and 1518 octets, inclusive, but had either a bad Frame
969         Check Sequence (FCS) with an integral number of octets
970         (FCS Error) or a bad FCS with a non-integral number
971         of octets (Alignment Error)."
972     ::= { etherHistoryEntry 9 }
973
974 etherHistoryUndersizePkts OBJECT-TYPE
975     SYNTAX     Counter32
976     UNITS      "Packets"
977     MAX-ACCESS read-only
978     STATUS     current
979     DESCRIPTION
980         "The number of packets received during this
981         sampling interval that were less than 64 octets
982         long (excluding framing bits but including FCS
983         octets) and were otherwise well formed."
984     ::= { etherHistoryEntry 10 }
985
986 etherHistoryOversizePkts OBJECT-TYPE
987     SYNTAX     Counter32
988     UNITS      "Packets"
989     MAX-ACCESS read-only
990     STATUS     current
991     DESCRIPTION
992         "The number of packets received during this
993         sampling interval that were longer than 1518
994         octets (excluding framing bits but including
995         FCS octets) but were otherwise well formed."
996     ::= { etherHistoryEntry 11 }
997
998 etherHistoryFragments OBJECT-TYPE
999     SYNTAX     Counter32
1000     UNITS      "Packets"
1001     MAX-ACCESS read-only
1002     STATUS     current
1003     DESCRIPTION
1004         "The total number of packets received during this
1005         sampling interval that were less than 64 octets in
1006         length (excluding framing bits but including FCS
1007         octets) had either a bad Frame Check Sequence (FCS)
1008         with an integral number of octets (FCS Error) or a bad
1009         FCS with a non-integral number of octets (Alignment
1010         Error).
1011
1012         Note that it is entirely normal for etherHistoryFragments to
1013         increment.  This is because it counts both runts (which are
1014         normal occurrences due to collisions) and noise hits."
1015     ::= { etherHistoryEntry 12 }
1016
1017 etherHistoryJabbers OBJECT-TYPE
1018     SYNTAX     Counter32
1019     UNITS      "Packets"
1020     MAX-ACCESS read-only
1021     STATUS     current
1022     DESCRIPTION
1023         "The number of packets received during this
1024         sampling interval that were longer than 1518 octets
1025         (excluding framing bits but including FCS octets),
1026         and  had either a bad Frame Check Sequence (FCS)
1027         with an integral number of octets (FCS Error) or
1028         a bad FCS with a non-integral number of octets
1029         (Alignment Error).
1030
1031         Note that this definition of jabber is different
1032         than the definition in IEEE-802.3 section 8.2.1.5
1033         (10BASE5) and section 10.3.1.4 (10BASE2).  These
1034         documents define jabber as the condition where any
1035         packet exceeds 20 ms.  The allowed range to detect
1036         jabber is between 20 ms and 150 ms."
1037     ::= { etherHistoryEntry 13 }
1038
1039 etherHistoryCollisions OBJECT-TYPE
1040     SYNTAX     Counter32
1041     UNITS      "Collisions"
1042     MAX-ACCESS read-only
1043     STATUS     current
1044     DESCRIPTION
1045         "The best estimate of the total number of collisions
1046         on this Ethernet segment during this sampling
1047         interval.
1048
1049         The value returned will depend on the location of the
1050         RMON probe. Section 8.2.1.3 (10BASE-5) and section
1051         10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
1052         station must detect a collision, in the receive mode, if
1053         three or more stations are transmitting simultaneously.  A
1054         repeater port must detect a collision when two or more
1055         stations are transmitting simultaneously.  Thus a probe
1056         placed on a repeater port could record more collisions
1057         than a probe connected to a station on the same segment
1058         would.
1059
1060         Probe location plays a much smaller role when considering
1061         10BASE-T.  14.2.1.4 (10BASE-T) of IEEE standard 802.3
1062         defines a collision as the simultaneous presence of signals
1063         on the DO and RD circuits (transmitting and receiving
1064         at the same time).  A 10BASE-T station can only detect
1065         collisions when it is transmitting.  Thus probes placed on
1066         a station and a repeater, should report the same number of
1067         collisions.
1068
1069         Note also that an RMON probe inside a repeater should
1070         ideally report collisions between the repeater and one or
1071         more other hosts (transmit collisions as defined by IEEE
1072         802.3k) plus receiver collisions observed on any coax
1073         segments to which the repeater is connected."
1074     ::= { etherHistoryEntry 14 }
1075
1076 etherHistoryUtilization OBJECT-TYPE
1077     SYNTAX     Integer32 (0..10000)
1078     MAX-ACCESS read-only
1079     STATUS     current
1080     DESCRIPTION
1081         "The best estimate of the mean physical layer
1082         network utilization on this interface during this
1083         sampling interval, in hundredths of a percent."
1084     ::= { etherHistoryEntry 15 }
1085
1086 -- The Alarm Group
1087
1088 -- Implementation of the Alarm group is optional. The Alarm Group
1089 -- requires the implementation of the Event group.
1090 -- Consult the MODULE-COMPLIANCE macro for the authoritative
1091 -- conformance information for this MIB.
1092 --
1093 -- The Alarm group periodically takes statistical samples from
1094 -- variables in the probe and compares them to thresholds that have
1095 -- been configured.  The alarm table stores configuration
1096 -- entries that each define a variable, polling period, and
1097 -- threshold parameters.  If a sample is found to cross the
1098 -- threshold values, an event is generated.  Only variables that
1099 -- resolve to an ASN.1 primitive type of INTEGER (INTEGER, Integer32,
1100 -- Counter32, Counter64, Gauge32, or TimeTicks) may be monitored in
1101 -- this way.
1102 --
1103
1104 -- This function has a hysteresis mechanism to limit the generation
1105 -- of events.  This mechanism generates one event as a threshold
1106 -- is crossed in the appropriate direction.  No more events are
1107 -- generated for that threshold until the opposite threshold is
1108 -- crossed.
1109 --
1110 -- In the case of a sampling a deltaValue, a probe may implement
1111 -- this mechanism with more precision if it takes a delta sample
1112 -- twice per period, each time comparing the sum of the latest two
1113 -- samples to the threshold.  This allows the detection of threshold
1114 -- crossings that span the sampling boundary.  Note that this does
1115 -- not require any special configuration of the threshold value.
1116 -- It is suggested that probes implement this more precise algorithm.
1117
1118 alarmTable OBJECT-TYPE
1119     SYNTAX     SEQUENCE OF AlarmEntry
1120     MAX-ACCESS not-accessible
1121     STATUS     current
1122     DESCRIPTION
1123         "A list of alarm entries."
1124     ::= { alarm 1 }
1125
1126 alarmEntry OBJECT-TYPE
1127     SYNTAX     AlarmEntry
1128     MAX-ACCESS not-accessible
1129     STATUS     current
1130     DESCRIPTION
1131         "A list of parameters that set up a periodic checking
1132         for alarm conditions.  For example, an instance of the
1133         alarmValue object might be named alarmValue.8"
1134     INDEX { alarmIndex }
1135     ::= { alarmTable 1 }
1136
1137 AlarmEntry ::= SEQUENCE {
1138     alarmIndex                    Integer32,
1139     alarmInterval                 Integer32,
1140     alarmVariable                 OBJECT IDENTIFIER,
1141     alarmSampleType               INTEGER,
1142     alarmValue                    Integer32,
1143     alarmStartupAlarm             INTEGER,
1144     alarmRisingThreshold          Integer32,
1145     alarmFallingThreshold         Integer32,
1146     alarmRisingEventIndex         Integer32,
1147     alarmFallingEventIndex        Integer32,
1148     alarmOwner                    OwnerString,
1149     alarmStatus                   EntryStatus
1150 }
1151
1152 alarmIndex OBJECT-TYPE
1153     SYNTAX     Integer32 (1..65535)
1154     MAX-ACCESS read-only
1155     STATUS     current
1156     DESCRIPTION
1157         "An index that uniquely identifies an entry in the
1158         alarm table.  Each such entry defines a
1159         diagnostic sample at a particular interval
1160         for an object on the device."
1161     ::= { alarmEntry 1 }
1162
1163 alarmInterval OBJECT-TYPE
1164     SYNTAX     Integer32
1165     UNITS      "Seconds"
1166     MAX-ACCESS read-create
1167     STATUS     current
1168     DESCRIPTION
1169         "The interval in seconds over which the data is
1170         sampled and compared with the rising and falling
1171         thresholds.  When setting this variable, care
1172         should be taken in the case of deltaValue
1173         sampling - the interval should be set short enough
1174         that the sampled variable is very unlikely to
1175         increase or decrease by more than 2^31 - 1 during
1176         a single sampling interval.
1177
1178         This object may not be modified if the associated
1179         alarmStatus object is equal to valid(1)."
1180     ::= { alarmEntry 2 }
1181
1182 alarmVariable OBJECT-TYPE
1183     SYNTAX     OBJECT IDENTIFIER
1184     MAX-ACCESS read-create
1185     STATUS     current
1186     DESCRIPTION
1187         "The object identifier of the particular variable to be
1188         sampled.  Only variables that resolve to an ASN.1 primitive
1189         type of INTEGER (INTEGER, Integer32, Counter32, Counter64,
1190         Gauge, or TimeTicks) may be sampled.
1191
1192         Because SNMP access control is articulated entirely
1193         in terms of the contents of MIB views, no access
1194         control mechanism exists that can restrict the value of
1195         this object to identify only those objects that exist
1196         in a particular MIB view.  Because there is thus no
1197         acceptable means of restricting the read access that
1198         could be obtained through the alarm mechanism, the
1199         probe must only grant write access to this object in
1200         those views that have read access to all objects on
1201         the probe.
1202
1203         During a set operation, if the supplied variable name is
1204         not available in the selected MIB view, a badValue error
1205         must be returned.  If at any time the variable name of
1206         an established alarmEntry is no longer available in the
1207         selected MIB view, the probe must change the status of
1208         this alarmEntry to invalid(4).
1209
1210         This object may not be modified if the associated
1211         alarmStatus object is equal to valid(1)."
1212     ::= { alarmEntry 3 }
1213
1214 alarmSampleType OBJECT-TYPE
1215     SYNTAX     INTEGER {
1216                  absoluteValue(1),
1217                  deltaValue(2)
1218                }
1219     MAX-ACCESS read-create
1220     STATUS     current
1221     DESCRIPTION
1222         "The method of sampling the selected variable and
1223         calculating the value to be compared against the
1224         thresholds.  If the value of this object is
1225         absoluteValue(1), the value of the selected variable
1226         will be compared directly with the thresholds at the
1227         end of the sampling interval.  If the value of this
1228         object is deltaValue(2), the value of the selected
1229         variable at the last sample will be subtracted from
1230         the current value, and the difference compared with
1231         the thresholds.
1232
1233         This object may not be modified if the associated
1234         alarmStatus object is equal to valid(1)."
1235     ::= { alarmEntry 4 }
1236
1237 alarmValue OBJECT-TYPE
1238     SYNTAX     Integer32
1239     MAX-ACCESS read-only
1240     STATUS     current
1241     DESCRIPTION
1242         "The value of the statistic during the last sampling
1243         period.  For example, if the sample type is deltaValue,
1244         this value will be the difference between the samples
1245         at the beginning and end of the period.  If the sample
1246         type is absoluteValue, this value will be the sampled
1247         value at the end of the period.
1248         This is the value that is compared with the rising and
1249         falling thresholds.
1250
1251         The value during the current sampling period is not
1252         made available until the period is completed and will
1253         remain available until the next period completes."
1254     ::= { alarmEntry 5 }
1255
1256 alarmStartupAlarm OBJECT-TYPE
1257     SYNTAX     INTEGER {
1258                  risingAlarm(1),
1259                  fallingAlarm(2),
1260                  risingOrFallingAlarm(3)
1261                }
1262     MAX-ACCESS read-create
1263     STATUS     current
1264     DESCRIPTION
1265         "The alarm that may be sent when this entry is first
1266         set to valid.  If the first sample after this entry
1267         becomes valid is greater than or equal to the
1268         risingThreshold and alarmStartupAlarm is equal to
1269         risingAlarm(1) or risingOrFallingAlarm(3), then a single
1270         rising alarm will be generated.  If the first sample
1271         after this entry becomes valid is less than or equal
1272         to the fallingThreshold and alarmStartupAlarm is equal
1273         to fallingAlarm(2) or risingOrFallingAlarm(3), then a
1274         single falling alarm will be generated.
1275
1276         This object may not be modified if the associated
1277         alarmStatus object is equal to valid(1)."
1278     ::= { alarmEntry 6 }
1279
1280 alarmRisingThreshold OBJECT-TYPE
1281     SYNTAX     Integer32
1282     MAX-ACCESS read-create
1283     STATUS     current
1284     DESCRIPTION
1285         "A threshold for the sampled statistic.  When the current
1286         sampled value is greater than or equal to this threshold,
1287         and the value at the last sampling interval was less than
1288         this threshold, a single event will be generated.
1289         A single event will also be generated if the first
1290         sample after this entry becomes valid is greater than or
1291         equal to this threshold and the associated
1292         alarmStartupAlarm is equal to risingAlarm(1) or
1293         risingOrFallingAlarm(3).
1294
1295         After a rising event is generated, another such event
1296         will not be generated until the sampled value
1297         falls below this threshold and reaches the
1298         alarmFallingThreshold.
1299
1300         This object may not be modified if the associated
1301         alarmStatus object is equal to valid(1)."
1302     ::= { alarmEntry 7 }
1303
1304 alarmFallingThreshold OBJECT-TYPE
1305     SYNTAX     Integer32
1306     MAX-ACCESS read-create
1307     STATUS     current
1308     DESCRIPTION
1309         "A threshold for the sampled statistic.  When the current
1310         sampled value is less than or equal to this threshold,
1311         and the value at the last sampling interval was greater than
1312         this threshold, a single event will be generated.
1313         A single event will also be generated if the first
1314         sample after this entry becomes valid is less than or
1315         equal to this threshold and the associated
1316         alarmStartupAlarm is equal to fallingAlarm(2) or
1317         risingOrFallingAlarm(3).
1318
1319         After a falling event is generated, another such event
1320         will not be generated until the sampled value
1321         rises above this threshold and reaches the
1322         alarmRisingThreshold.
1323
1324         This object may not be modified if the associated
1325         alarmStatus object is equal to valid(1)."
1326     ::= { alarmEntry 8 }
1327
1328 alarmRisingEventIndex OBJECT-TYPE
1329     SYNTAX     Integer32 (0..65535)
1330     MAX-ACCESS read-create
1331     STATUS     current
1332     DESCRIPTION
1333         "The index of the eventEntry that is
1334         used when a rising threshold is crossed.  The
1335         eventEntry identified by a particular value of
1336         this index is the same as identified by the same value
1337         of the eventIndex object.  If there is no
1338         corresponding entry in the eventTable, then
1339         no association exists.  In particular, if this value
1340         is zero, no associated event will be generated, as
1341         zero is not a valid event index.
1342
1343         This object may not be modified if the associated
1344         alarmStatus object is equal to valid(1)."
1345     ::= { alarmEntry 9 }
1346
1347 alarmFallingEventIndex OBJECT-TYPE
1348     SYNTAX     Integer32 (0..65535)
1349     MAX-ACCESS read-create
1350     STATUS     current
1351     DESCRIPTION
1352         "The index of the eventEntry that is
1353         used when a falling threshold is crossed.  The
1354         eventEntry identified by a particular value of
1355         this index is the same as identified by the same value
1356         of the eventIndex object.  If there is no
1357         corresponding entry in the eventTable, then
1358         no association exists.  In particular, if this value
1359         is zero, no associated event will be generated, as
1360         zero is not a valid event index.
1361
1362         This object may not be modified if the associated
1363         alarmStatus object is equal to valid(1)."
1364     ::= { alarmEntry 10 }
1365
1366 alarmOwner OBJECT-TYPE
1367     SYNTAX     OwnerString
1368     MAX-ACCESS read-create
1369     STATUS     current
1370     DESCRIPTION
1371         "The entity that configured this entry and is therefore
1372         using the resources assigned to it."
1373     ::= { alarmEntry 11 }
1374
1375 alarmStatus OBJECT-TYPE
1376     SYNTAX     EntryStatus
1377     MAX-ACCESS read-create
1378     STATUS     current
1379     DESCRIPTION
1380         "The status of this alarm entry."
1381     ::= { alarmEntry 12 }
1382
1383 -- The Host Group
1384
1385 -- Implementation of the Host group is optional.
1386 -- Consult the MODULE-COMPLIANCE macro for the authoritative
1387 -- conformance information for this MIB.
1388 --
1389 -- The host group discovers new hosts on the network by
1390 -- keeping a list of source and destination MAC Addresses seen
1391 -- in good packets.  For each of these addresses, the host group
1392
1393 -- keeps a set of statistics.  The hostControlTable controls
1394 -- which interfaces this function is performed on, and contains
1395 -- some information about the process.  On behalf of each
1396 -- hostControlEntry, data is collected on an interface and placed
1397 -- in both the hostTable and the hostTimeTable.  If the
1398 -- monitoring device finds itself short of resources, it may
1399 -- delete entries as needed.  It is suggested that the device
1400 -- delete the least recently used entries first.
1401
1402 -- The hostTable contains entries for each address discovered on
1403 -- a particular interface.  Each entry contains statistical
1404 -- data about that host.  This table is indexed by the
1405 -- MAC address of the host, through which a random access
1406 -- may be achieved.
1407
1408 -- The hostTimeTable contains data in the same format as the
1409 -- hostTable, and must contain the same set of hosts, but is
1410 -- indexed using hostTimeCreationOrder rather than hostAddress.
1411 -- The hostTimeCreationOrder is an integer which reflects
1412 -- the relative order in which a particular entry was discovered
1413 -- and thus inserted into the table.  As this order, and thus
1414 -- the index, is among those entries currently in the table,
1415 -- the index for a particular entry may change if an
1416 -- (earlier) entry is deleted.  Thus the association between
1417 -- hostTimeCreationOrder and hostTimeEntry may be broken at
1418 -- any time.
1419
1420 -- The hostTimeTable has two important uses.  The first is the
1421 -- fast download of this potentially large table.  Because the
1422 -- index of this table runs from 1 to the size of the table,
1423 -- inclusive, its values are predictable.  This allows very
1424 -- efficient packing of variables into SNMP PDU's and allows
1425 -- a table transfer to have multiple packets outstanding.
1426 -- These benefits increase transfer rates tremendously.
1427
1428 -- The second use of the hostTimeTable is the efficient discovery
1429 -- by the management station of new entries added to the table.
1430 -- After the management station has downloaded the entire table,
1431 -- it knows that new entries will be added immediately after the
1432 -- end of the current table.  It can thus detect new entries there
1433 -- and retrieve them easily.
1434
1435 -- Because the association between hostTimeCreationOrder and
1436 -- hostTimeEntry may be broken at any time, the management
1437 -- station must monitor the related hostControlLastDeleteTime
1438 -- object.  When the management station thus detects a deletion,
1439 -- it must assume that any such associations have been broken,
1440 -- and invalidate any it has stored locally.  This includes
1441
1442 -- restarting any download of the hostTimeTable that may have been
1443 -- in progress, as well as rediscovering the end of the
1444 -- hostTimeTable so that it may detect new entries.  If the
1445 -- management station does not detect the broken association,
1446 -- it may continue to refer to a particular host by its
1447 -- creationOrder while unwittingly retrieving the data associated
1448 -- with another host entirely.  If this happens while downloading
1449 -- the host table, the management station may fail to download
1450 -- all of the entries in the table.
1451
1452
1453 hostControlTable OBJECT-TYPE
1454     SYNTAX     SEQUENCE OF HostControlEntry
1455     MAX-ACCESS not-accessible
1456     STATUS     current
1457     DESCRIPTION
1458         "A list of host table control entries."
1459     ::= { hosts 1 }
1460
1461 hostControlEntry OBJECT-TYPE
1462     SYNTAX     HostControlEntry
1463     MAX-ACCESS not-accessible
1464     STATUS     current
1465     DESCRIPTION
1466         "A list of parameters that set up the discovery of hosts
1467         on a particular interface and the collection of statistics
1468         about these hosts.  For example, an instance of the
1469         hostControlTableSize object might be named
1470         hostControlTableSize.1"
1471     INDEX { hostControlIndex }
1472     ::= { hostControlTable 1 }
1473
1474 HostControlEntry ::= SEQUENCE {
1475
1476     hostControlIndex            Integer32,
1477     hostControlDataSource       OBJECT IDENTIFIER,
1478     hostControlTableSize        Integer32,
1479     hostControlLastDeleteTime   TimeTicks,
1480     hostControlOwner            OwnerString,
1481     hostControlStatus           EntryStatus
1482 }
1483
1484 hostControlIndex OBJECT-TYPE
1485     SYNTAX     Integer32 (1..65535)
1486     MAX-ACCESS read-only
1487     STATUS     current
1488     DESCRIPTION
1489         "An index that uniquely identifies an entry in the
1490         hostControl table.  Each such entry defines
1491         a function that discovers hosts on a particular interface
1492         and places statistics about them in the hostTable and
1493         the hostTimeTable on behalf of this hostControlEntry."
1494     ::= { hostControlEntry 1 }
1495
1496 hostControlDataSource OBJECT-TYPE
1497     SYNTAX     OBJECT IDENTIFIER
1498     MAX-ACCESS read-create
1499     STATUS     current
1500     DESCRIPTION
1501         "This object identifies the source of the data for
1502         this instance of the host function.  This source
1503         can be any interface on this device.  In order
1504         to identify a particular interface, this object shall
1505         identify the instance of the ifIndex object, defined
1506         in RFC 2233 [17], for the desired interface.
1507         For example, if an entry were to receive data from
1508         interface #1, this object would be set to ifIndex.1.
1509
1510         The statistics in this group reflect all packets
1511         on the local network segment attached to the identified
1512         interface.
1513
1514         An agent may or may not be able to tell if fundamental
1515         changes to the media of the interface have occurred and
1516         necessitate an invalidation of this entry.  For example, a
1517         hot-pluggable ethernet card could be pulled out and replaced
1518         by a token-ring card.  In such a case, if the agent has such
1519         knowledge of the change, it is recommended that it
1520         invalidate this entry.
1521
1522         This object may not be modified if the associated
1523         hostControlStatus object is equal to valid(1)."
1524     ::= { hostControlEntry 2 }
1525
1526 hostControlTableSize OBJECT-TYPE
1527     SYNTAX     Integer32
1528     MAX-ACCESS read-only
1529     STATUS     current
1530     DESCRIPTION
1531         "The number of hostEntries in the hostTable and the
1532         hostTimeTable associated with this hostControlEntry."
1533     ::= { hostControlEntry 3 }
1534
1535 hostControlLastDeleteTime OBJECT-TYPE
1536     SYNTAX     TimeTicks
1537     MAX-ACCESS read-only
1538     STATUS     current
1539     DESCRIPTION
1540         "The value of sysUpTime when the last entry
1541         was deleted from the portion of the hostTable
1542         associated with this hostControlEntry.  If no
1543         deletions have occurred, this value shall be zero."
1544     ::= { hostControlEntry 4 }
1545
1546 hostControlOwner OBJECT-TYPE
1547     SYNTAX     OwnerString
1548     MAX-ACCESS read-create
1549     STATUS     current
1550     DESCRIPTION
1551         "The entity that configured this entry and is therefore
1552         using the resources assigned to it."
1553     ::= { hostControlEntry 5 }
1554
1555 hostControlStatus OBJECT-TYPE
1556     SYNTAX     EntryStatus
1557     MAX-ACCESS read-create
1558     STATUS     current
1559     DESCRIPTION
1560         "The status of this hostControl entry.
1561
1562         If this object is not equal to valid(1), all associated
1563         entries in the hostTable, hostTimeTable, and the
1564         hostTopNTable shall be deleted by the agent."
1565     ::= { hostControlEntry 6 }
1566
1567 hostTable OBJECT-TYPE
1568     SYNTAX     SEQUENCE OF HostEntry
1569     MAX-ACCESS not-accessible
1570     STATUS     current
1571     DESCRIPTION
1572         "A list of host entries."
1573     ::= { hosts 2 }
1574
1575 hostEntry OBJECT-TYPE
1576     SYNTAX     HostEntry
1577     MAX-ACCESS not-accessible
1578     STATUS     current
1579     DESCRIPTION
1580         "A collection of statistics for a particular host that has
1581         been discovered on an interface of this device.  For example,
1582         an instance of the hostOutBroadcastPkts object might be
1583         named hostOutBroadcastPkts.1.6.8.0.32.27.3.176"
1584     INDEX { hostIndex, hostAddress }
1585     ::= { hostTable 1 }
1586
1587 HostEntry ::= SEQUENCE {
1588     hostAddress             OCTET STRING,
1589     hostCreationOrder       Integer32,
1590     hostIndex               Integer32,
1591     hostInPkts              Counter32,
1592     hostOutPkts             Counter32,
1593     hostInOctets            Counter32,
1594     hostOutOctets           Counter32,
1595     hostOutErrors           Counter32,
1596     hostOutBroadcastPkts    Counter32,
1597     hostOutMulticastPkts    Counter32
1598 }
1599
1600 hostAddress OBJECT-TYPE
1601     SYNTAX     OCTET STRING
1602     MAX-ACCESS read-only
1603     STATUS     current
1604     DESCRIPTION
1605         "The physical address of this host."
1606     ::= { hostEntry 1 }
1607
1608 hostCreationOrder OBJECT-TYPE
1609     SYNTAX     Integer32 (1..65535)
1610     MAX-ACCESS read-only
1611     STATUS     current
1612     DESCRIPTION
1613         "An index that defines the relative ordering of
1614         the creation time of hosts captured for a
1615         particular hostControlEntry.  This index shall
1616         be between 1 and N, where N is the value of
1617         the associated hostControlTableSize.  The ordering
1618         of the indexes is based on the order of each entry's
1619         insertion into the table, in which entries added earlier
1620         have a lower index value than entries added later.
1621
1622         It is important to note that the order for a
1623         particular entry may change as an (earlier) entry
1624         is deleted from the table.  Because this order may
1625         change, management stations should make use of the
1626         hostControlLastDeleteTime variable in the
1627         hostControlEntry associated with the relevant
1628         portion of the hostTable.  By observing
1629         this variable, the management station may detect
1630         the circumstances where a previous association
1631         between a value of hostCreationOrder
1632         and a hostEntry may no longer hold."
1633     ::= { hostEntry 2 }
1634
1635 hostIndex OBJECT-TYPE
1636     SYNTAX     Integer32 (1..65535)
1637     MAX-ACCESS read-only
1638     STATUS     current
1639     DESCRIPTION
1640         "The set of collected host statistics of which
1641         this entry is a part.  The set of hosts
1642         identified by a particular value of this
1643         index is associated with the hostControlEntry
1644         as identified by the same value of hostControlIndex."
1645     ::= { hostEntry 3 }
1646
1647 hostInPkts OBJECT-TYPE
1648     SYNTAX     Counter32
1649     UNITS      "Packets"
1650     MAX-ACCESS read-only
1651     STATUS     current
1652     DESCRIPTION
1653         "The number of good packets transmitted to this
1654         address since it was added to the hostTable."
1655     ::= { hostEntry 4 }
1656
1657 hostOutPkts OBJECT-TYPE
1658     SYNTAX     Counter32
1659     UNITS      "Packets"
1660     MAX-ACCESS read-only
1661     STATUS     current
1662     DESCRIPTION
1663         "The number of packets, including bad packets, transmitted
1664         by this address since it was added to the hostTable."
1665     ::= { hostEntry 5 }
1666
1667 hostInOctets OBJECT-TYPE
1668     SYNTAX     Counter32
1669     UNITS      "Octets"
1670     MAX-ACCESS read-only
1671     STATUS     current
1672     DESCRIPTION
1673         "The number of octets transmitted to this address since
1674         it was added to the hostTable (excluding framing
1675         bits but including FCS octets), except for those
1676         octets in bad packets."
1677     ::= { hostEntry 6 }
1678
1679 hostOutOctets OBJECT-TYPE
1680     SYNTAX     Counter32
1681     UNITS      "Octets"
1682     MAX-ACCESS read-only
1683     STATUS     current
1684     DESCRIPTION
1685         "The number of octets transmitted by this address since
1686         it was added to the hostTable (excluding framing
1687         bits but including FCS octets), including those
1688         octets in bad packets."
1689     ::= { hostEntry 7 }
1690
1691 hostOutErrors OBJECT-TYPE
1692     SYNTAX     Counter32
1693     UNITS      "Packets"
1694     MAX-ACCESS read-only
1695     STATUS     current
1696     DESCRIPTION
1697         "The number of bad packets transmitted by this address
1698         since this host was added to the hostTable."
1699     ::= { hostEntry 8 }
1700
1701 hostOutBroadcastPkts OBJECT-TYPE
1702     SYNTAX     Counter32
1703     UNITS      "Packets"
1704     MAX-ACCESS read-only
1705     STATUS     current
1706     DESCRIPTION
1707         "The number of good packets transmitted by this
1708         address that were directed to the broadcast address
1709         since this host was added to the hostTable."
1710     ::= { hostEntry 9 }
1711
1712 hostOutMulticastPkts OBJECT-TYPE
1713     SYNTAX     Counter32
1714     UNITS      "Packets"
1715     MAX-ACCESS read-only
1716     STATUS     current
1717     DESCRIPTION
1718         "The number of good packets transmitted by this
1719         address that were directed to a multicast address
1720         since this host was added to the hostTable.
1721         Note that this number does not include packets
1722         directed to the broadcast address."
1723     ::= { hostEntry 10 }
1724
1725 -- host Time Table
1726
1727 hostTimeTable OBJECT-TYPE
1728     SYNTAX     SEQUENCE OF HostTimeEntry
1729     MAX-ACCESS not-accessible
1730     STATUS     current
1731     DESCRIPTION
1732         "A list of time-ordered host table entries."
1733     ::= { hosts 3 }
1734
1735 hostTimeEntry OBJECT-TYPE
1736     SYNTAX     HostTimeEntry
1737     MAX-ACCESS not-accessible
1738     STATUS     current
1739     DESCRIPTION
1740         "A collection of statistics for a particular host that has
1741         been discovered on an interface of this device.  This
1742         collection includes the relative ordering of the creation
1743         time of this object.  For example, an instance of the
1744         hostTimeOutBroadcastPkts object might be named
1745         hostTimeOutBroadcastPkts.1.687"
1746     INDEX { hostTimeIndex, hostTimeCreationOrder }
1747     ::= { hostTimeTable 1 }
1748
1749 HostTimeEntry ::= SEQUENCE {
1750     hostTimeAddress              OCTET STRING,
1751     hostTimeCreationOrder        Integer32,
1752     hostTimeIndex                Integer32,
1753     hostTimeInPkts               Counter32,
1754     hostTimeOutPkts              Counter32,
1755     hostTimeInOctets             Counter32,
1756     hostTimeOutOctets            Counter32,
1757     hostTimeOutErrors            Counter32,
1758     hostTimeOutBroadcastPkts     Counter32,
1759     hostTimeOutMulticastPkts     Counter32
1760 }
1761
1762 hostTimeAddress OBJECT-TYPE
1763     SYNTAX     OCTET STRING
1764     MAX-ACCESS read-only
1765     STATUS     current
1766     DESCRIPTION
1767         "The physical address of this host."
1768     ::= { hostTimeEntry 1 }
1769
1770 hostTimeCreationOrder OBJECT-TYPE
1771     SYNTAX     Integer32 (1..65535)
1772     MAX-ACCESS read-only
1773     STATUS     current
1774     DESCRIPTION
1775         "An index that uniquely identifies an entry in
1776         the hostTime table among those entries associated
1777         with the same hostControlEntry.  This index shall
1778         be between 1 and N, where N is the value of
1779         the associated hostControlTableSize.  The ordering
1780         of the indexes is based on the order of each entry's
1781         insertion into the table, in which entries added earlier
1782         have a lower index value than entries added later.
1783         Thus the management station has the ability to
1784         learn of new entries added to this table without
1785         downloading the entire table.
1786
1787         It is important to note that the index for a
1788         particular entry may change as an (earlier) entry
1789         is deleted from the table.  Because this order may
1790         change, management stations should make use of the
1791         hostControlLastDeleteTime variable in the
1792         hostControlEntry associated with the relevant
1793         portion of the hostTimeTable.  By observing
1794         this variable, the management station may detect
1795         the circumstances where a download of the table
1796         may have missed entries, and where a previous
1797         association between a value of hostTimeCreationOrder
1798         and a hostTimeEntry may no longer hold."
1799     ::= { hostTimeEntry 2 }
1800
1801 hostTimeIndex OBJECT-TYPE
1802     SYNTAX     Integer32 (1..65535)
1803     MAX-ACCESS read-only
1804     STATUS     current
1805     DESCRIPTION
1806         "The set of collected host statistics of which
1807         this entry is a part.  The set of hosts
1808         identified by a particular value of this
1809         index is associated with the hostControlEntry
1810         as identified by the same value of hostControlIndex."
1811     ::= { hostTimeEntry 3 }
1812
1813 hostTimeInPkts OBJECT-TYPE
1814     SYNTAX     Counter32
1815     UNITS      "Packets"
1816     MAX-ACCESS read-only
1817     STATUS     current
1818     DESCRIPTION
1819         "The number of good packets transmitted to this
1820         address since it was added to the hostTimeTable."
1821     ::= { hostTimeEntry 4 }
1822
1823 hostTimeOutPkts OBJECT-TYPE
1824     SYNTAX     Counter32
1825     UNITS      "Packets"
1826     MAX-ACCESS read-only
1827     STATUS     current
1828     DESCRIPTION
1829         "The number of packets, including bad packets, transmitted
1830         by this address since it was added to the hostTimeTable."
1831     ::= { hostTimeEntry 5 }
1832
1833 hostTimeInOctets OBJECT-TYPE
1834     SYNTAX     Counter32
1835     UNITS      "Octets"
1836     MAX-ACCESS read-only
1837     STATUS     current
1838     DESCRIPTION
1839         "The number of octets transmitted to this address since
1840         it was added to the hostTimeTable (excluding framing
1841         bits but including FCS octets), except for those
1842         octets in bad packets."
1843     ::= { hostTimeEntry 6 }
1844
1845 hostTimeOutOctets OBJECT-TYPE
1846     SYNTAX     Counter32
1847     UNITS      "Octets"
1848     MAX-ACCESS read-only
1849     STATUS     current
1850     DESCRIPTION
1851         "The number of octets transmitted by this address since
1852         it was added to the hostTimeTable (excluding framing
1853         bits but including FCS octets), including those
1854         octets in bad packets."
1855     ::= { hostTimeEntry 7 }
1856
1857 hostTimeOutErrors OBJECT-TYPE
1858     SYNTAX     Counter32
1859     UNITS      "Packets"
1860     MAX-ACCESS read-only
1861     STATUS     current
1862     DESCRIPTION
1863         "The number of bad packets transmitted by this address
1864         since this host was added to the hostTimeTable."
1865     ::= { hostTimeEntry 8 }
1866
1867 hostTimeOutBroadcastPkts OBJECT-TYPE
1868     SYNTAX     Counter32
1869     UNITS      "Packets"
1870     MAX-ACCESS read-only
1871     STATUS     current
1872     DESCRIPTION
1873         "The number of good packets transmitted by this
1874         address that were directed to the broadcast address
1875         since this host was added to the hostTimeTable."
1876     ::= { hostTimeEntry 9 }
1877
1878 hostTimeOutMulticastPkts OBJECT-TYPE
1879     SYNTAX     Counter32
1880     UNITS      "Packets"
1881     MAX-ACCESS read-only
1882     STATUS     current
1883     DESCRIPTION
1884         "The number of good packets transmitted by this
1885         address that were directed to a multicast address
1886         since this host was added to the hostTimeTable.
1887         Note that this number does not include packets directed
1888         to the broadcast address."
1889     ::= { hostTimeEntry 10 }
1890
1891 -- The Host Top "N" Group
1892
1893 -- Implementation of the Host Top N group is optional. The Host Top N
1894 -- group requires the implementation of the host group.
1895 -- Consult the MODULE-COMPLIANCE macro for the authoritative
1896 -- conformance information for this MIB.
1897 --
1898 -- The Host Top N group is used to prepare reports that describe
1899 -- the hosts that top a list ordered by one of their statistics.
1900 -- The available statistics are samples of one of their
1901 -- base statistics, over an interval specified by the management
1902 -- station.  Thus, these statistics are rate based.  The management
1903 -- station also selects how many such hosts are reported.
1904
1905 -- The hostTopNControlTable is used to initiate the generation of
1906 -- such a report.  The management station may select the parameters
1907 -- of such a report, such as which interface, which statistic,
1908 -- how many hosts, and the start and stop times of the sampling.
1909 -- When the report is prepared, entries are created in the
1910 -- hostTopNTable associated with the relevant hostTopNControlEntry.
1911 -- These entries are static for each report after it has been
1912 -- prepared.
1913
1914 hostTopNControlTable OBJECT-TYPE
1915     SYNTAX     SEQUENCE OF HostTopNControlEntry
1916     MAX-ACCESS not-accessible
1917     STATUS     current
1918     DESCRIPTION
1919         "A list of top N host control entries."
1920     ::= { hostTopN 1 }
1921
1922 hostTopNControlEntry OBJECT-TYPE
1923     SYNTAX     HostTopNControlEntry
1924     MAX-ACCESS not-accessible
1925     STATUS     current
1926     DESCRIPTION
1927         "A set of parameters that control the creation of a report
1928         of the top N hosts according to several metrics.  For
1929         example, an instance of the hostTopNDuration object might
1930         be named hostTopNDuration.3"
1931     INDEX { hostTopNControlIndex }
1932     ::= { hostTopNControlTable 1 }
1933
1934 HostTopNControlEntry ::= SEQUENCE {
1935     hostTopNControlIndex    Integer32,
1936     hostTopNHostIndex       Integer32,
1937     hostTopNRateBase        INTEGER,
1938     hostTopNTimeRemaining   Integer32,
1939     hostTopNDuration        Integer32,
1940     hostTopNRequestedSize   Integer32,
1941     hostTopNGrantedSize     Integer32,
1942     hostTopNStartTime       TimeTicks,
1943     hostTopNOwner           OwnerString,
1944     hostTopNStatus          EntryStatus
1945 }
1946
1947 hostTopNControlIndex OBJECT-TYPE
1948     SYNTAX     Integer32 (1..65535)
1949     MAX-ACCESS read-only
1950     STATUS     current
1951     DESCRIPTION
1952         "An index that uniquely identifies an entry
1953         in the hostTopNControl table.  Each such
1954         entry defines one top N report prepared for
1955         one interface."
1956     ::= { hostTopNControlEntry 1 }
1957
1958 hostTopNHostIndex OBJECT-TYPE
1959     SYNTAX     Integer32 (1..65535)
1960     MAX-ACCESS read-create
1961     STATUS     current
1962     DESCRIPTION
1963         "The host table for which a top N report will be prepared
1964         on behalf of this entry.  The host table identified by a
1965         particular value of this index is associated with the same
1966         host table as identified by the same value of
1967         hostIndex.
1968
1969         This object may not be modified if the associated
1970         hostTopNStatus object is equal to valid(1)."
1971     ::= { hostTopNControlEntry 2 }
1972
1973 hostTopNRateBase OBJECT-TYPE
1974     SYNTAX     INTEGER {
1975                  hostTopNInPkts(1),
1976                  hostTopNOutPkts(2),
1977                  hostTopNInOctets(3),
1978                  hostTopNOutOctets(4),
1979                  hostTopNOutErrors(5),
1980                  hostTopNOutBroadcastPkts(6),
1981                  hostTopNOutMulticastPkts(7)
1982                }
1983     MAX-ACCESS read-create
1984     STATUS     current
1985     DESCRIPTION
1986         "The variable for each host that the hostTopNRate
1987         variable is based upon.
1988
1989         This object may not be modified if the associated
1990         hostTopNStatus object is equal to valid(1)."
1991     ::= { hostTopNControlEntry 3 }
1992
1993 hostTopNTimeRemaining OBJECT-TYPE
1994     SYNTAX     Integer32
1995     UNITS      "Seconds"
1996     MAX-ACCESS read-create
1997     STATUS     current
1998     DESCRIPTION
1999         "The number of seconds left in the report currently being
2000         collected.  When this object is modified by the management
2001         station, a new collection is started, possibly aborting
2002         a currently running report.  The new value is used
2003         as the requested duration of this report, which is
2004         loaded into the associated hostTopNDuration object.
2005
2006         When this object is set to a non-zero value, any
2007         associated hostTopNEntries shall be made
2008         inaccessible by the monitor.  While the value of this
2009         object is non-zero, it decrements by one per second until
2010         it reaches zero.  During this time, all associated
2011         hostTopNEntries shall remain inaccessible.  At the time
2012         that this object decrements to zero, the report is made
2013         accessible in the hostTopNTable.  Thus, the hostTopN
2014         table needs to be created only at the end of the collection
2015         interval."
2016     DEFVAL { 0 }
2017     ::= { hostTopNControlEntry 4 }
2018
2019 hostTopNDuration OBJECT-TYPE
2020     SYNTAX     Integer32
2021     UNITS      "Seconds"
2022     MAX-ACCESS read-only
2023     STATUS     current
2024     DESCRIPTION
2025         "The number of seconds that this report has collected
2026         during the last sampling interval, or if this
2027         report is currently being collected, the number
2028         of seconds that this report is being collected
2029         during this sampling interval.
2030
2031         When the associated hostTopNTimeRemaining object is set,
2032         this object shall be set by the probe to the same value
2033         and shall not be modified until the next time
2034         the hostTopNTimeRemaining is set.
2035
2036         This value shall be zero if no reports have been
2037         requested for this hostTopNControlEntry."
2038     DEFVAL { 0 }
2039     ::= { hostTopNControlEntry 5 }
2040
2041 hostTopNRequestedSize OBJECT-TYPE
2042     SYNTAX     Integer32
2043     MAX-ACCESS read-create
2044     STATUS     current
2045     DESCRIPTION
2046         "The maximum number of hosts requested for the top N
2047         table.
2048
2049         When this object is created or modified, the probe
2050         should set hostTopNGrantedSize as closely to this
2051         object as is possible for the particular probe
2052         implementation and available resources."
2053     DEFVAL { 10 }
2054     ::= { hostTopNControlEntry 6 }
2055
2056 hostTopNGrantedSize OBJECT-TYPE
2057     SYNTAX     Integer32
2058     MAX-ACCESS read-only
2059     STATUS     current
2060     DESCRIPTION
2061         "The maximum number of hosts in the top N table.
2062
2063         When the associated hostTopNRequestedSize object is
2064         created or modified, the probe should set this
2065         object as closely to the requested value as is possible
2066         for the particular implementation and available
2067         resources. The probe must not lower this value except
2068         as a result of a set to the associated
2069         hostTopNRequestedSize object.
2070
2071         Hosts with the highest value of hostTopNRate shall be
2072         placed in this table in decreasing order of this rate
2073         until there is no more room or until there are no more
2074         hosts."
2075     ::= { hostTopNControlEntry 7 }
2076
2077 hostTopNStartTime OBJECT-TYPE
2078     SYNTAX     TimeTicks
2079     MAX-ACCESS read-only
2080     STATUS     current
2081     DESCRIPTION
2082         "The value of sysUpTime when this top N report was
2083         last started.  In other words, this is the time that
2084         the associated hostTopNTimeRemaining object was
2085         modified to start the requested report."
2086     ::= { hostTopNControlEntry 8 }
2087
2088 hostTopNOwner OBJECT-TYPE
2089     SYNTAX     OwnerString
2090     MAX-ACCESS read-create
2091     STATUS     current
2092     DESCRIPTION
2093         "The entity that configured this entry and is therefore
2094         using the resources assigned to it."
2095     ::= { hostTopNControlEntry 9 }
2096
2097 hostTopNStatus OBJECT-TYPE
2098     SYNTAX     EntryStatus
2099     MAX-ACCESS read-create
2100     STATUS     current
2101     DESCRIPTION
2102         "The status of this hostTopNControl entry.
2103
2104         If this object is not equal to valid(1), all associated
2105         hostTopNEntries shall be deleted by the agent."
2106     ::= { hostTopNControlEntry 10 }
2107
2108 hostTopNTable OBJECT-TYPE
2109     SYNTAX     SEQUENCE OF HostTopNEntry
2110     MAX-ACCESS not-accessible
2111     STATUS     current
2112     DESCRIPTION
2113         "A list of top N host entries."
2114     ::= { hostTopN 2 }
2115
2116 hostTopNEntry OBJECT-TYPE
2117     SYNTAX     HostTopNEntry
2118     MAX-ACCESS not-accessible
2119     STATUS     current
2120     DESCRIPTION
2121         "A set of statistics for a host that is part of a top N
2122         report.  For example, an instance of the hostTopNRate
2123         object might be named hostTopNRate.3.10"
2124     INDEX { hostTopNReport, hostTopNIndex }
2125     ::= { hostTopNTable 1 }
2126
2127 HostTopNEntry ::= SEQUENCE {
2128     hostTopNReport                Integer32,
2129     hostTopNIndex                 Integer32,
2130     hostTopNAddress               OCTET STRING,
2131     hostTopNRate                  Integer32
2132 }
2133
2134 hostTopNReport OBJECT-TYPE
2135     SYNTAX     Integer32 (1..65535)
2136     MAX-ACCESS read-only
2137     STATUS     current
2138     DESCRIPTION
2139         "This object identifies the top N report of which
2140         this entry is a part.  The set of hosts
2141         identified by a particular value of this
2142         object is part of the same report as identified
2143         by the same value of the hostTopNControlIndex object."
2144     ::= { hostTopNEntry 1 }
2145
2146 hostTopNIndex OBJECT-TYPE
2147     SYNTAX     Integer32 (1..65535)
2148     MAX-ACCESS read-only
2149     STATUS     current
2150     DESCRIPTION
2151         "An index that uniquely identifies an entry in
2152         the hostTopN table among those in the same report.
2153         This index is between 1 and N, where N is the
2154         number of entries in this table.  Increasing values
2155         of hostTopNIndex shall be assigned to entries with
2156         decreasing values of hostTopNRate until index N
2157         is assigned to the entry with the lowest value of
2158         hostTopNRate or there are no more hostTopNEntries."
2159     ::= { hostTopNEntry 2 }
2160
2161 hostTopNAddress OBJECT-TYPE
2162     SYNTAX     OCTET STRING
2163     MAX-ACCESS read-only
2164     STATUS     current
2165     DESCRIPTION
2166         "The physical address of this host."
2167     ::= { hostTopNEntry 3 }
2168
2169 hostTopNRate OBJECT-TYPE
2170     SYNTAX     Integer32
2171     MAX-ACCESS read-only
2172     STATUS     current
2173     DESCRIPTION
2174         "The amount of change in the selected variable
2175         during this sampling interval.  The selected
2176         variable is this host's instance of the object
2177         selected by hostTopNRateBase."
2178     ::= { hostTopNEntry 4 }
2179
2180 -- The Matrix Group
2181
2182 -- Implementation of the Matrix group is optional.
2183 -- Consult the MODULE-COMPLIANCE macro for the authoritative
2184 -- conformance information for this MIB.
2185 --
2186 -- The Matrix group consists of the matrixControlTable, matrixSDTable
2187 -- and the matrixDSTable.  These tables store statistics for a
2188 -- particular conversation between two addresses.  As the device
2189 -- detects a new conversation, including those to a non-unicast
2190 -- address, it creates a new entry in both of the matrix tables.
2191 -- It must only create new entries based on information
2192 -- received in good packets.  If the monitoring device finds
2193 -- itself short of resources, it may delete entries as needed.
2194 -- It is suggested that the device delete the least recently used
2195 -- entries first.
2196
2197 matrixControlTable OBJECT-TYPE
2198     SYNTAX     SEQUENCE OF MatrixControlEntry
2199     MAX-ACCESS not-accessible
2200     STATUS     current
2201     DESCRIPTION
2202         "A list of information entries for the
2203         traffic matrix on each interface."
2204     ::= { matrix 1 }
2205
2206 matrixControlEntry OBJECT-TYPE
2207     SYNTAX     MatrixControlEntry
2208     MAX-ACCESS not-accessible
2209     STATUS     current
2210     DESCRIPTION
2211         "Information about a traffic matrix on a particular
2212         interface.  For example, an instance of the
2213         matrixControlLastDeleteTime object might be named
2214         matrixControlLastDeleteTime.1"
2215     INDEX { matrixControlIndex }
2216     ::= { matrixControlTable 1 }
2217
2218 MatrixControlEntry ::= SEQUENCE {
2219     matrixControlIndex           Integer32,
2220     matrixControlDataSource      OBJECT IDENTIFIER,
2221     matrixControlTableSize       Integer32,
2222     matrixControlLastDeleteTime  TimeTicks,
2223     matrixControlOwner           OwnerString,
2224     matrixControlStatus          EntryStatus
2225 }
2226
2227 matrixControlIndex OBJECT-TYPE
2228     SYNTAX     Integer32 (1..65535)
2229     MAX-ACCESS read-only
2230     STATUS     current
2231     DESCRIPTION
2232         "An index that uniquely identifies an entry in the
2233         matrixControl table.  Each such entry defines
2234         a function that discovers conversations on a particular
2235         interface and places statistics about them in the
2236         matrixSDTable and the matrixDSTable on behalf of this
2237         matrixControlEntry."
2238     ::= { matrixControlEntry 1 }
2239
2240 matrixControlDataSource OBJECT-TYPE
2241     SYNTAX     OBJECT IDENTIFIER
2242     MAX-ACCESS read-create
2243     STATUS     current
2244     DESCRIPTION
2245         "This object identifies the source of
2246         the data from which this entry creates a traffic matrix.
2247         This source can be any interface on this device.  In
2248         order to identify a particular interface, this object
2249         shall identify the instance of the ifIndex object,
2250         defined in RFC 2233 [17], for the desired
2251         interface.  For example, if an entry were to receive data
2252         from interface #1, this object would be set to ifIndex.1.
2253
2254         The statistics in this group reflect all packets
2255         on the local network segment attached to the identified
2256         interface.
2257
2258         An agent may or may not be able to tell if fundamental
2259         changes to the media of the interface have occurred and
2260         necessitate an invalidation of this entry.  For example, a
2261         hot-pluggable ethernet card could be pulled out and replaced
2262         by a token-ring card.  In such a case, if the agent has such
2263         knowledge of the change, it is recommended that it
2264         invalidate this entry.
2265
2266         This object may not be modified if the associated
2267         matrixControlStatus object is equal to valid(1)."
2268     ::= { matrixControlEntry 2 }
2269
2270 matrixControlTableSize OBJECT-TYPE
2271     SYNTAX     Integer32
2272     MAX-ACCESS read-only
2273     STATUS     current
2274     DESCRIPTION
2275         "The number of matrixSDEntries in the matrixSDTable
2276         for this interface.  This must also be the value of
2277         the number of entries in the matrixDSTable for this
2278         interface."
2279     ::= { matrixControlEntry 3 }
2280
2281 matrixControlLastDeleteTime OBJECT-TYPE
2282     SYNTAX     TimeTicks
2283     MAX-ACCESS read-only
2284     STATUS     current
2285     DESCRIPTION
2286         "The value of sysUpTime when the last entry
2287         was deleted from the portion of the matrixSDTable
2288         or matrixDSTable associated with this matrixControlEntry.
2289         If no deletions have occurred, this value shall be
2290         zero."
2291     ::= { matrixControlEntry 4 }
2292
2293 matrixControlOwner OBJECT-TYPE
2294     SYNTAX     OwnerString
2295     MAX-ACCESS read-create
2296     STATUS     current
2297     DESCRIPTION
2298         "The entity that configured this entry and is therefore
2299         using the resources assigned to it."
2300     ::= { matrixControlEntry 5 }
2301
2302 matrixControlStatus OBJECT-TYPE
2303     SYNTAX     EntryStatus
2304     MAX-ACCESS read-create
2305     STATUS     current
2306     DESCRIPTION
2307         "The status of this matrixControl entry.
2308         If this object is not equal to valid(1), all associated
2309         entries in the matrixSDTable and the matrixDSTable
2310         shall be deleted by the agent."
2311     ::= { matrixControlEntry 6 }
2312
2313 matrixSDTable OBJECT-TYPE
2314     SYNTAX     SEQUENCE OF MatrixSDEntry
2315     MAX-ACCESS not-accessible
2316     STATUS     current
2317     DESCRIPTION
2318         "A list of traffic matrix entries indexed by
2319         source and destination MAC address."
2320     ::= { matrix 2 }
2321
2322 matrixSDEntry OBJECT-TYPE
2323     SYNTAX     MatrixSDEntry
2324     MAX-ACCESS not-accessible
2325     STATUS     current
2326     DESCRIPTION
2327         "A collection of statistics for communications between
2328         two addresses on a particular interface.  For example,
2329         an instance of the matrixSDPkts object might be named
2330         matrixSDPkts.1.6.8.0.32.27.3.176.6.8.0.32.10.8.113"
2331     INDEX { matrixSDIndex,
2332             matrixSDSourceAddress, matrixSDDestAddress }
2333     ::= { matrixSDTable 1 }
2334
2335 MatrixSDEntry ::= SEQUENCE {
2336     matrixSDSourceAddress       OCTET STRING,
2337     matrixSDDestAddress         OCTET STRING,
2338     matrixSDIndex               Integer32,
2339     matrixSDPkts                Counter32,
2340     matrixSDOctets              Counter32,
2341     matrixSDErrors              Counter32
2342 }
2343
2344 matrixSDSourceAddress OBJECT-TYPE
2345     SYNTAX     OCTET STRING
2346     MAX-ACCESS read-only
2347     STATUS     current
2348     DESCRIPTION
2349         "The source physical address."
2350     ::= { matrixSDEntry 1 }
2351
2352 matrixSDDestAddress OBJECT-TYPE
2353     SYNTAX     OCTET STRING
2354     MAX-ACCESS read-only
2355     STATUS     current
2356     DESCRIPTION
2357         "The destination physical address."
2358     ::= { matrixSDEntry 2 }
2359
2360 matrixSDIndex OBJECT-TYPE
2361     SYNTAX     Integer32 (1..65535)
2362     MAX-ACCESS read-only
2363     STATUS     current
2364     DESCRIPTION
2365         "The set of collected matrix statistics of which
2366         this entry is a part.  The set of matrix statistics
2367         identified by a particular value of this index
2368         is associated with the same matrixControlEntry
2369         as identified by the same value of matrixControlIndex."
2370     ::= { matrixSDEntry 3 }
2371
2372 matrixSDPkts OBJECT-TYPE
2373     SYNTAX     Counter32
2374     UNITS      "Packets"
2375     MAX-ACCESS read-only
2376     STATUS     current
2377     DESCRIPTION
2378         "The number of packets transmitted from the source
2379         address to the destination address (this number includes
2380         bad packets)."
2381     ::= { matrixSDEntry 4 }
2382
2383 matrixSDOctets OBJECT-TYPE
2384     SYNTAX     Counter32
2385     UNITS      "Octets"
2386     MAX-ACCESS read-only
2387     STATUS     current
2388     DESCRIPTION
2389         "The number of octets (excluding framing bits but
2390         including FCS octets) contained in all packets
2391         transmitted from the source address to the
2392         destination address."
2393     ::= { matrixSDEntry 5 }
2394
2395 matrixSDErrors OBJECT-TYPE
2396     SYNTAX     Counter32
2397     UNITS      "Packets"
2398     MAX-ACCESS read-only
2399     STATUS     current
2400     DESCRIPTION
2401         "The number of bad packets transmitted from
2402         the source address to the destination address."
2403     ::= { matrixSDEntry 6 }
2404
2405 -- Traffic matrix tables from destination to source
2406
2407 matrixDSTable OBJECT-TYPE
2408     SYNTAX     SEQUENCE OF MatrixDSEntry
2409     MAX-ACCESS not-accessible
2410     STATUS     current
2411     DESCRIPTION
2412         "A list of traffic matrix entries indexed by
2413         destination and source MAC address."
2414     ::= { matrix 3 }
2415
2416 matrixDSEntry OBJECT-TYPE
2417     SYNTAX     MatrixDSEntry
2418     MAX-ACCESS not-accessible
2419     STATUS     current
2420     DESCRIPTION
2421         "A collection of statistics for communications between
2422         two addresses on a particular interface.  For example,
2423         an instance of the matrixSDPkts object might be named
2424         matrixSDPkts.1.6.8.0.32.10.8.113.6.8.0.32.27.3.176"
2425     INDEX { matrixDSIndex,
2426             matrixDSDestAddress, matrixDSSourceAddress }
2427     ::= { matrixDSTable 1 }
2428
2429 MatrixDSEntry ::= SEQUENCE {
2430     matrixDSSourceAddress       OCTET STRING,
2431     matrixDSDestAddress         OCTET STRING,
2432     matrixDSIndex               Integer32,
2433     matrixDSPkts                Counter32,
2434     matrixDSOctets              Counter32,
2435     matrixDSErrors              Counter32
2436 }
2437
2438 matrixDSSourceAddress OBJECT-TYPE
2439     SYNTAX     OCTET STRING
2440     MAX-ACCESS read-only
2441     STATUS     current
2442     DESCRIPTION
2443         "The source physical address."
2444     ::= { matrixDSEntry 1 }
2445
2446 matrixDSDestAddress OBJECT-TYPE
2447     SYNTAX     OCTET STRING
2448     MAX-ACCESS read-only
2449     STATUS     current
2450     DESCRIPTION
2451         "The destination physical address."
2452     ::= { matrixDSEntry 2 }
2453
2454 matrixDSIndex OBJECT-TYPE
2455     SYNTAX     Integer32 (1..65535)
2456     MAX-ACCESS read-only
2457     STATUS     current
2458     DESCRIPTION
2459         "The set of collected matrix statistics of which
2460         this entry is a part.  The set of matrix statistics
2461         identified by a particular value of this index
2462         is associated with the same matrixControlEntry
2463         as identified by the same value of matrixControlIndex."
2464     ::= { matrixDSEntry 3 }
2465
2466 matrixDSPkts OBJECT-TYPE
2467     SYNTAX     Counter32
2468     UNITS      "Packets"
2469     MAX-ACCESS read-only
2470     STATUS     current
2471     DESCRIPTION
2472         "The number of packets transmitted from the source
2473         address to the destination address (this number includes
2474         bad packets)."
2475     ::= { matrixDSEntry 4 }
2476
2477 matrixDSOctets OBJECT-TYPE
2478     SYNTAX     Counter32
2479     UNITS      "Octets"
2480     MAX-ACCESS read-only
2481     STATUS     current
2482     DESCRIPTION
2483         "The number of octets (excluding framing bits
2484         but including FCS octets) contained in all packets
2485         transmitted from the source address to the
2486         destination address."
2487     ::= { matrixDSEntry 5 }
2488
2489 matrixDSErrors OBJECT-TYPE
2490     SYNTAX     Counter32
2491     UNITS      "Packets"
2492     MAX-ACCESS read-only
2493     STATUS     current
2494     DESCRIPTION
2495         "The number of bad packets transmitted from
2496         the source address to the destination address."
2497     ::= { matrixDSEntry 6 }
2498
2499 -- The Filter Group
2500
2501 -- Implementation of the Filter group is optional.
2502
2503 -- Consult the MODULE-COMPLIANCE macro for the authoritative
2504 -- conformance information for this MIB.
2505 --
2506 -- The Filter group allows packets to be captured with an
2507 -- arbitrary filter expression.  A logical data and
2508 -- event stream or "channel" is formed by the packets
2509 -- that match the filter expression.
2510 --
2511 -- This filter mechanism allows the creation of an arbitrary
2512 -- logical expression with which to filter packets.  Each
2513 -- filter associated with a channel is OR'ed with the others.
2514 -- Within a filter, any bits checked in the data and status are
2515 -- AND'ed with respect to other bits in the same filter.  The
2516 -- NotMask also allows for checking for inequality.  Finally,
2517 -- the channelAcceptType object allows for inversion of the
2518 -- whole equation.
2519 --
2520 -- If a management station wishes to receive a trap to alert it
2521 -- that new packets have been captured and are available for
2522 -- download, it is recommended that it set up an alarm entry that
2523 -- monitors the value of the relevant channelMatches instance.
2524 --
2525 -- The channel can be turned on or off, and can also
2526 -- generate events when packets pass through it.
2527
2528 filterTable OBJECT-TYPE
2529     SYNTAX     SEQUENCE OF FilterEntry
2530     MAX-ACCESS not-accessible
2531     STATUS     current
2532     DESCRIPTION
2533         "A list of packet filter entries."
2534     ::= { filter 1 }
2535
2536 filterEntry OBJECT-TYPE
2537     SYNTAX     FilterEntry
2538     MAX-ACCESS not-accessible
2539     STATUS     current
2540     DESCRIPTION
2541         "A set of parameters for a packet filter applied on a
2542         particular interface.  As an example, an instance of the
2543         filterPktData object might be named filterPktData.12"
2544     INDEX { filterIndex }
2545     ::= { filterTable 1 }
2546
2547 FilterEntry ::= SEQUENCE {
2548     filterIndex                 Integer32,
2549     filterChannelIndex          Integer32,
2550     filterPktDataOffset         Integer32,
2551     filterPktData               OCTET STRING,
2552     filterPktDataMask           OCTET STRING,
2553     filterPktDataNotMask        OCTET STRING,
2554     filterPktStatus             Integer32,
2555     filterPktStatusMask         Integer32,
2556     filterPktStatusNotMask      Integer32,
2557     filterOwner                 OwnerString,
2558     filterStatus                EntryStatus
2559 }
2560
2561 filterIndex OBJECT-TYPE
2562     SYNTAX     Integer32 (1..65535)
2563     MAX-ACCESS read-only
2564     STATUS     current
2565     DESCRIPTION
2566         "An index that uniquely identifies an entry
2567         in the filter table.  Each such entry defines
2568         one filter that is to be applied to every packet
2569         received on an interface."
2570     ::= { filterEntry 1 }
2571
2572 filterChannelIndex OBJECT-TYPE
2573     SYNTAX     Integer32 (1..65535)
2574     MAX-ACCESS read-create
2575     STATUS     current
2576     DESCRIPTION
2577         "This object identifies the channel of which this filter
2578         is a part.  The filters identified by a particular value
2579         of this object are associated with the same channel as
2580         identified by the same value of the channelIndex object."
2581     ::= { filterEntry 2 }
2582
2583 filterPktDataOffset OBJECT-TYPE
2584     SYNTAX     Integer32
2585     UNITS      "Octets"
2586     MAX-ACCESS read-create
2587     STATUS     current
2588     DESCRIPTION
2589         "The offset from the beginning of each packet where
2590         a match of packet data will be attempted.  This offset
2591         is measured from the point in the physical layer
2592         packet after the framing bits, if any.  For example,
2593         in an Ethernet frame, this point is at the beginning of
2594         the destination MAC address.
2595
2596         This object may not be modified if the associated
2597         filterStatus object is equal to valid(1)."
2598     DEFVAL { 0 }
2599     ::= { filterEntry 3 }
2600
2601 filterPktData OBJECT-TYPE
2602     SYNTAX     OCTET STRING
2603     MAX-ACCESS read-create
2604     STATUS     current
2605     DESCRIPTION
2606         "The data that is to be matched with the input packet.
2607         For each packet received, this filter and the accompanying
2608         filterPktDataMask and filterPktDataNotMask will be
2609         adjusted for the offset.  The only bits relevant to this
2610         match algorithm are those that have the corresponding
2611         filterPktDataMask bit equal to one.  The following three
2612         rules are then applied to every packet:
2613
2614         (1) If the packet is too short and does not have data
2615             corresponding to part of the filterPktData, the packet
2616             will fail this data match.
2617
2618         (2) For each relevant bit from the packet with the
2619             corresponding filterPktDataNotMask bit set to zero, if
2620             the bit from the packet is not equal to the corresponding
2621             bit from the filterPktData, then the packet will fail
2622             this data match.
2623
2624         (3) If for every relevant bit from the packet with the
2625             corresponding filterPktDataNotMask bit set to one, the
2626             bit from the packet is equal to the corresponding bit
2627             from the filterPktData, then the packet will fail this
2628             data match.
2629
2630         Any packets that have not failed any of the three matches
2631         above have passed this data match.  In particular, a zero
2632         length filter will match any packet.
2633
2634         This object may not be modified if the associated
2635         filterStatus object is equal to valid(1)."
2636     ::= { filterEntry 4 }
2637
2638 filterPktDataMask OBJECT-TYPE
2639     SYNTAX     OCTET STRING
2640     MAX-ACCESS read-create
2641     STATUS     current
2642     DESCRIPTION
2643         "The mask that is applied to the match process.
2644         After adjusting this mask for the offset, only those
2645         bits in the received packet that correspond to bits set
2646         in this mask are relevant for further processing by the
2647         match algorithm.  The offset is applied to filterPktDataMask
2648         in the same way it is applied to the filter.  For the
2649         purposes of the matching algorithm, if the associated
2650         filterPktData object is longer than this mask, this mask is
2651         conceptually extended with '1' bits until it reaches the
2652         length of the filterPktData object.
2653
2654         This object may not be modified if the associated
2655         filterStatus object is equal to valid(1)."
2656     ::= { filterEntry 5 }
2657
2658 filterPktDataNotMask OBJECT-TYPE
2659     SYNTAX     OCTET STRING
2660     MAX-ACCESS read-create
2661     STATUS     current
2662     DESCRIPTION
2663         "The inversion mask that is applied to the match
2664         process.  After adjusting this mask for the offset,
2665         those relevant bits in the received packet that correspond
2666         to bits cleared in this mask must all be equal to their
2667         corresponding bits in the filterPktData object for the packet
2668         to be accepted.  In addition, at least one of those relevant
2669         bits in the received packet that correspond to bits set in
2670         this mask must be different to its corresponding bit in the
2671         filterPktData object.
2672
2673         For the purposes of the matching algorithm, if the associated
2674         filterPktData object is longer than this mask, this mask is
2675         conceptually extended with '0' bits until it reaches the
2676         length of the filterPktData object.
2677
2678         This object may not be modified if the associated
2679         filterStatus object is equal to valid(1)."
2680     ::= { filterEntry 6 }
2681
2682 filterPktStatus OBJECT-TYPE
2683     SYNTAX     Integer32
2684     MAX-ACCESS read-create
2685     STATUS     current
2686     DESCRIPTION
2687         "The status that is to be matched with the input packet.
2688         The only bits relevant to this match algorithm are those that
2689         have the corresponding filterPktStatusMask bit equal to one.
2690         The following two rules are then applied to every packet:
2691
2692         (1) For each relevant bit from the packet status with the
2693             corresponding filterPktStatusNotMask bit set to zero, if
2694             the bit from the packet status is not equal to the
2695             corresponding bit from the filterPktStatus, then the
2696             packet will fail this status match.
2697
2698         (2) If for every relevant bit from the packet status with the
2699             corresponding filterPktStatusNotMask bit set to one, the
2700             bit from the packet status is equal to the corresponding
2701             bit from the filterPktStatus, then the packet will fail
2702             this status match.
2703
2704         Any packets that have not failed either of the two matches
2705         above have passed this status match.  In particular, a zero
2706         length status filter will match any packet's status.
2707
2708         The value of the packet status is a sum.  This sum
2709         initially takes the value zero.  Then, for each
2710         error, E, that has been discovered in this packet,
2711         2 raised to a value representing E is added to the sum.
2712         The errors and the bits that represent them are dependent
2713         on the media type of the interface that this channel
2714         is receiving packets from.
2715
2716         The errors defined for a packet captured off of an
2717         Ethernet interface are as follows:
2718
2719             bit #    Error
2720                 0    Packet is longer than 1518 octets
2721                 1    Packet is shorter than 64 octets
2722                 2    Packet experienced a CRC or Alignment error
2723
2724         For example, an Ethernet fragment would have a
2725         value of 6 (2^1 + 2^2).
2726
2727         As this MIB is expanded to new media types, this object
2728         will have other media-specific errors defined.
2729
2730         For the purposes of this status matching algorithm, if the
2731         packet status is longer than this filterPktStatus object,
2732         this object is conceptually extended with '0' bits until it
2733         reaches the size of the packet status.
2734
2735         This object may not be modified if the associated
2736         filterStatus object is equal to valid(1)."
2737     ::= { filterEntry 7 }
2738
2739 filterPktStatusMask OBJECT-TYPE
2740     SYNTAX     Integer32
2741     MAX-ACCESS read-create
2742     STATUS     current
2743     DESCRIPTION
2744         "The mask that is applied to the status match process.
2745         Only those bits in the received packet that correspond to
2746         bits set in this mask are relevant for further processing
2747         by the status match algorithm.  For the purposes
2748         of the matching algorithm, if the associated filterPktStatus
2749         object is longer than this mask, this mask is conceptually
2750         extended with '1' bits until it reaches the size of the
2751         filterPktStatus.  In addition, if a packet status is longer
2752         than this mask, this mask is conceptually extended with '0'
2753         bits until it reaches the size of the packet status.
2754
2755         This object may not be modified if the associated
2756         filterStatus object is equal to valid(1)."
2757     ::= { filterEntry 8 }
2758
2759 filterPktStatusNotMask OBJECT-TYPE
2760     SYNTAX     Integer32
2761     MAX-ACCESS read-create
2762     STATUS     current
2763     DESCRIPTION
2764         "The inversion mask that is applied to the status match
2765         process.  Those relevant bits in the received packet status
2766         that correspond to bits cleared in this mask must all be
2767         equal to their corresponding bits in the filterPktStatus
2768         object for the packet to be accepted.  In addition, at least
2769         one of those relevant bits in the received packet status
2770         that correspond to bits set in this mask must be different
2771         to its corresponding bit in the filterPktStatus object for
2772         the packet to be accepted.
2773
2774         For the purposes of the matching algorithm, if the associated
2775         filterPktStatus object or a packet status is longer than this
2776         mask, this mask is conceptually extended with '0' bits until
2777         it reaches the longer of the lengths of the filterPktStatus
2778         object and the packet status.
2779
2780         This object may not be modified if the associated
2781         filterStatus object is equal to valid(1)."
2782     ::= { filterEntry 9 }
2783
2784 filterOwner OBJECT-TYPE
2785     SYNTAX     OwnerString
2786     MAX-ACCESS read-create
2787     STATUS     current
2788     DESCRIPTION
2789         "The entity that configured this entry and is therefore
2790         using the resources assigned to it."
2791     ::= { filterEntry 10 }
2792
2793 filterStatus OBJECT-TYPE
2794     SYNTAX     EntryStatus
2795     MAX-ACCESS read-create
2796     STATUS     current
2797     DESCRIPTION
2798         "The status of this filter entry."
2799     ::= { filterEntry 11 }
2800
2801 channelTable OBJECT-TYPE
2802     SYNTAX     SEQUENCE OF ChannelEntry
2803     MAX-ACCESS not-accessible
2804     STATUS     current
2805     DESCRIPTION
2806         "A list of packet channel entries."
2807     ::= { filter 2 }
2808
2809 channelEntry OBJECT-TYPE
2810     SYNTAX     ChannelEntry
2811     MAX-ACCESS not-accessible
2812     STATUS     current
2813     DESCRIPTION
2814         "A set of parameters for a packet channel applied on a
2815         particular interface.  As an example, an instance of the
2816         channelMatches object might be named channelMatches.3"
2817     INDEX { channelIndex }
2818     ::= { channelTable 1 }
2819
2820 ChannelEntry ::= SEQUENCE {
2821     channelIndex                 Integer32,
2822     channelIfIndex               Integer32,
2823     channelAcceptType            INTEGER,
2824     channelDataControl           INTEGER,
2825     channelTurnOnEventIndex      Integer32,
2826     channelTurnOffEventIndex     Integer32,
2827     channelEventIndex            Integer32,
2828     channelEventStatus           INTEGER,
2829     channelMatches               Counter32,
2830     channelDescription           DisplayString,
2831     channelOwner                 OwnerString,
2832     channelStatus                EntryStatus
2833 }
2834
2835 channelIndex OBJECT-TYPE
2836     SYNTAX     Integer32 (1..65535)
2837     MAX-ACCESS read-only
2838     STATUS     current
2839     DESCRIPTION
2840         "An index that uniquely identifies an entry in the channel
2841         table.  Each such entry defines one channel, a logical
2842         data and event stream.
2843
2844         It is suggested that before creating a channel, an
2845         application should scan all instances of the
2846         filterChannelIndex object to make sure that there are no
2847         pre-existing filters that would be inadvertently be linked
2848         to the channel."
2849     ::= { channelEntry 1 }
2850
2851 channelIfIndex OBJECT-TYPE
2852     SYNTAX     Integer32 (1..65535)
2853     MAX-ACCESS read-create
2854     STATUS     current
2855     DESCRIPTION
2856         "The value of this object uniquely identifies the
2857         interface on this remote network monitoring device to which
2858         the associated filters are applied to allow data into this
2859         channel.  The interface identified by a particular value
2860         of this object is the same interface as identified by the
2861         same value of the ifIndex object, defined in RFC 2233 [17].
2862
2863         The filters in this group are applied to all packets on
2864         the local network segment attached to the identified
2865         interface.
2866
2867         An agent may or may not be able to tell if fundamental
2868         changes to the media of the interface have occurred and
2869         necessitate an invalidation of this entry.  For example, a
2870         hot-pluggable ethernet card could be pulled out and replaced
2871         by a token-ring card.  In such a case, if the agent has such
2872         knowledge of the change, it is recommended that it
2873         invalidate this entry.
2874
2875         This object may not be modified if the associated
2876         channelStatus object is equal to valid(1)."
2877     ::= { channelEntry 2 }
2878
2879 channelAcceptType OBJECT-TYPE
2880     SYNTAX     INTEGER {
2881                  acceptMatched(1),
2882                  acceptFailed(2)
2883                }
2884     MAX-ACCESS read-create
2885     STATUS     current
2886     DESCRIPTION
2887         "This object controls the action of the filters
2888         associated with this channel.  If this object is equal
2889         to acceptMatched(1), packets will be accepted to this
2890         channel if they are accepted by both the packet data and
2891         packet status matches of an associated filter.  If
2892         this object is equal to acceptFailed(2), packets will
2893         be accepted to this channel only if they fail either
2894         the packet data match or the packet status match of
2895         each of the associated filters.
2896
2897         In particular, a channel with no associated filters will
2898         match no packets if set to acceptMatched(1) case and will
2899         match all packets in the acceptFailed(2) case.
2900
2901         This object may not be modified if the associated
2902         channelStatus object is equal to valid(1)."
2903     ::= { channelEntry 3 }
2904
2905 channelDataControl OBJECT-TYPE
2906     SYNTAX     INTEGER {
2907                  on(1),
2908                  off(2)
2909                }
2910     MAX-ACCESS read-create
2911     STATUS     current
2912     DESCRIPTION
2913         "This object controls the flow of data through this channel.
2914         If this object is on(1), data, status and events flow
2915         through this channel.  If this object is off(2), data,
2916         status and events will not flow through this channel."
2917     DEFVAL { off }
2918     ::= { channelEntry 4 }
2919
2920 channelTurnOnEventIndex OBJECT-TYPE
2921     SYNTAX     Integer32 (0..65535)
2922     MAX-ACCESS read-create
2923     STATUS     current
2924     DESCRIPTION
2925         "The value of this object identifies the event
2926         that is configured to turn the associated
2927         channelDataControl from off to on when the event is
2928         generated.  The event identified by a particular value
2929         of this object is the same event as identified by the
2930         same value of the eventIndex object.  If there is no
2931         corresponding entry in the eventTable, then no
2932         association exists.  In fact, if no event is intended
2933         for this channel, channelTurnOnEventIndex must be
2934         set to zero, a non-existent event index.
2935         This object may not be modified if the associated
2936         channelStatus object is equal to valid(1)."
2937     ::= { channelEntry 5 }
2938
2939 channelTurnOffEventIndex OBJECT-TYPE
2940     SYNTAX     Integer32 (0..65535)
2941     MAX-ACCESS read-create
2942     STATUS     current
2943     DESCRIPTION
2944         "The value of this object identifies the event
2945         that is configured to turn the associated
2946         channelDataControl from on to off when the event is
2947         generated.  The event identified by a particular value
2948         of this object is the same event as identified by the
2949         same value of the eventIndex object.  If there is no
2950         corresponding entry in the eventTable, then no
2951         association exists.  In fact, if no event is intended
2952         for this channel, channelTurnOffEventIndex must be
2953         set to zero, a non-existent event index.
2954
2955         This object may not be modified if the associated
2956         channelStatus object is equal to valid(1)."
2957     ::= { channelEntry 6 }
2958
2959 channelEventIndex OBJECT-TYPE
2960     SYNTAX     Integer32 (0..65535)
2961     MAX-ACCESS read-create
2962     STATUS     current
2963     DESCRIPTION
2964         "The value of this object identifies the event
2965         that is configured to be generated when the
2966         associated channelDataControl is on and a packet
2967         is matched.  The event identified by a particular value
2968         of this object is the same event as identified by the
2969         same value of the eventIndex object.  If there is no
2970         corresponding entry in the eventTable, then no
2971         association exists.  In fact, if no event is intended
2972         for this channel, channelEventIndex must be
2973         set to zero, a non-existent event index.
2974
2975         This object may not be modified if the associated
2976         channelStatus object is equal to valid(1)."
2977     ::= { channelEntry 7 }
2978
2979 channelEventStatus OBJECT-TYPE
2980     SYNTAX     INTEGER {
2981                  eventReady(1),
2982                  eventFired(2),
2983                  eventAlwaysReady(3)
2984                }
2985     MAX-ACCESS read-create
2986     STATUS     current
2987     DESCRIPTION
2988         "The event status of this channel.
2989
2990         If this channel is configured to generate events
2991         when packets are matched, a means of controlling
2992         the flow of those events is often needed.  When
2993         this object is equal to eventReady(1), a single
2994         event may be generated, after which this object
2995         will be set by the probe to eventFired(2).  While
2996         in the eventFired(2) state, no events will be
2997         generated until the object is modified to
2998         eventReady(1) (or eventAlwaysReady(3)).  The
2999         management station can thus easily respond to a
3000         notification of an event by re-enabling this object.
3001
3002         If the management station wishes to disable this
3003         flow control and allow events to be generated
3004         at will, this object may be set to
3005         eventAlwaysReady(3).  Disabling the flow control
3006         is discouraged as it can result in high network
3007         traffic or other performance problems."
3008     DEFVAL { eventReady }
3009     ::= { channelEntry 8 }
3010
3011 channelMatches OBJECT-TYPE
3012     SYNTAX     Counter32
3013     UNITS      "Packets"
3014     MAX-ACCESS read-only
3015     STATUS     current
3016     DESCRIPTION
3017         "The number of times this channel has matched a packet.
3018         Note that this object is updated even when
3019         channelDataControl is set to off."
3020     ::= { channelEntry 9 }
3021
3022 channelDescription OBJECT-TYPE
3023     SYNTAX     DisplayString (SIZE (0..127))
3024     MAX-ACCESS read-create
3025     STATUS     current
3026     DESCRIPTION
3027         "A comment describing this channel."
3028     ::= { channelEntry 10 }
3029
3030 channelOwner OBJECT-TYPE
3031     SYNTAX     OwnerString
3032     MAX-ACCESS read-create
3033     STATUS     current
3034     DESCRIPTION
3035         "The entity that configured this entry and is therefore
3036         using the resources assigned to it."
3037     ::= { channelEntry 11 }
3038
3039 channelStatus OBJECT-TYPE
3040     SYNTAX     EntryStatus
3041     MAX-ACCESS read-create
3042     STATUS     current
3043     DESCRIPTION
3044         "The status of this channel entry."
3045     ::= { channelEntry 12 }
3046
3047 -- The Packet Capture Group
3048
3049 -- Implementation of the Packet Capture group is optional. The Packet
3050 -- Capture Group requires implementation of the Filter Group.
3051 -- Consult the MODULE-COMPLIANCE macro for the authoritative
3052 -- conformance information for this MIB.
3053 --
3054 -- The Packet Capture group allows packets to be captured
3055 -- upon a filter match.  The bufferControlTable controls
3056 -- the captured packets output from a channel that is
3057 -- associated with it.  The captured packets are placed
3058 -- in entries in the captureBufferTable.  These entries are
3059 -- associated with the bufferControlEntry on whose behalf they
3060 -- were stored.
3061
3062 bufferControlTable OBJECT-TYPE
3063     SYNTAX     SEQUENCE OF BufferControlEntry
3064     MAX-ACCESS not-accessible
3065     STATUS     current
3066     DESCRIPTION
3067         "A list of buffers control entries."
3068     ::= { capture 1 }
3069
3070 bufferControlEntry OBJECT-TYPE
3071     SYNTAX     BufferControlEntry
3072     MAX-ACCESS not-accessible
3073     STATUS     current
3074     DESCRIPTION
3075         "A set of parameters that control the collection of a stream
3076         of packets that have matched filters.  As an example, an
3077         instance of the bufferControlCaptureSliceSize object might
3078         be named bufferControlCaptureSliceSize.3"
3079     INDEX { bufferControlIndex }
3080     ::= { bufferControlTable 1 }
3081
3082 BufferControlEntry ::= SEQUENCE {
3083     bufferControlIndex                Integer32,
3084     bufferControlChannelIndex         Integer32,
3085     bufferControlFullStatus           INTEGER,
3086     bufferControlFullAction           INTEGER,
3087     bufferControlCaptureSliceSize     Integer32,
3088     bufferControlDownloadSliceSize    Integer32,
3089     bufferControlDownloadOffset       Integer32,
3090     bufferControlMaxOctetsRequested   Integer32,
3091     bufferControlMaxOctetsGranted     Integer32,
3092     bufferControlCapturedPackets      Integer32,
3093     bufferControlTurnOnTime           TimeTicks,
3094     bufferControlOwner                OwnerString,
3095     bufferControlStatus               EntryStatus
3096 }
3097
3098 bufferControlIndex OBJECT-TYPE
3099     SYNTAX     Integer32 (1..65535)
3100     MAX-ACCESS read-only
3101     STATUS     current
3102     DESCRIPTION
3103         "An index that uniquely identifies an entry
3104         in the bufferControl table.  The value of this
3105         index shall never be zero.  Each such
3106         entry defines one set of packets that is
3107         captured and controlled by one or more filters."
3108     ::= { bufferControlEntry 1 }
3109
3110 bufferControlChannelIndex OBJECT-TYPE
3111     SYNTAX     Integer32 (1..65535)
3112     MAX-ACCESS read-create
3113     STATUS     current
3114     DESCRIPTION
3115         "An index that identifies the channel that is the
3116         source of packets for this bufferControl table.
3117         The channel identified by a particular value of this
3118         index is the same as identified by the same value of
3119         the channelIndex object.
3120
3121         This object may not be modified if the associated
3122         bufferControlStatus object is equal to valid(1)."
3123     ::= { bufferControlEntry 2 }
3124
3125 bufferControlFullStatus OBJECT-TYPE
3126     SYNTAX     INTEGER {
3127                  spaceAvailable(1),
3128                  full(2)
3129                }
3130     MAX-ACCESS read-only
3131     STATUS     current
3132     DESCRIPTION
3133         "This object shows whether the buffer has room to
3134         accept new packets or if it is full.
3135
3136         If the status is spaceAvailable(1), the buffer is
3137         accepting new packets normally.  If the status is
3138         full(2) and the associated bufferControlFullAction
3139         object is wrapWhenFull, the buffer is accepting new
3140         packets by deleting enough of the oldest packets
3141         to make room for new ones as they arrive.  Otherwise,
3142         if the status is full(2) and the
3143         bufferControlFullAction object is lockWhenFull,
3144         then the buffer has stopped collecting packets.
3145
3146         When this object is set to full(2) the probe must
3147         not later set it to spaceAvailable(1) except in the
3148         case of a significant gain in resources such as
3149         an increase of bufferControlOctetsGranted.  In
3150         particular, the wrap-mode action of deleting old
3151         packets to make room for newly arrived packets
3152         must not affect the value of this object."
3153     ::= { bufferControlEntry 3 }
3154
3155 bufferControlFullAction OBJECT-TYPE
3156     SYNTAX     INTEGER {
3157                  lockWhenFull(1),
3158                  wrapWhenFull(2)    -- FIFO
3159                }
3160     MAX-ACCESS read-create
3161     STATUS     current
3162     DESCRIPTION
3163         "Controls the action of the buffer when it
3164         reaches the full status.  When in the lockWhenFull(1)
3165         state and a packet is added to the buffer that
3166         fills the buffer, the bufferControlFullStatus will
3167         be set to full(2) and this buffer will stop capturing
3168         packets."
3169     ::= { bufferControlEntry 4 }
3170
3171 bufferControlCaptureSliceSize OBJECT-TYPE
3172     SYNTAX     Integer32
3173     UNITS      "Octets"
3174     MAX-ACCESS read-create
3175     STATUS     current
3176     DESCRIPTION
3177         "The maximum number of octets of each packet
3178         that will be saved in this capture buffer.
3179         For example, if a 1500 octet packet is received by
3180         the probe and this object is set to 500, then only
3181         500 octets of the packet will be stored in the
3182         associated capture buffer.  If this variable is set
3183         to 0, the capture buffer will save as many octets
3184         as is possible.
3185
3186         This object may not be modified if the associated
3187         bufferControlStatus object is equal to valid(1)."
3188     DEFVAL { 100 }
3189     ::= { bufferControlEntry 5 }
3190
3191 bufferControlDownloadSliceSize OBJECT-TYPE
3192     SYNTAX     Integer32
3193     UNITS      "Octets"
3194     MAX-ACCESS read-create
3195     STATUS     current
3196     DESCRIPTION
3197         "The maximum number of octets of each packet
3198         in this capture buffer that will be returned in
3199         an SNMP retrieval of that packet.  For example,
3200         if 500 octets of a packet have been stored in the
3201         associated capture buffer, the associated
3202         bufferControlDownloadOffset is 0, and this
3203         object is set to 100, then the captureBufferPacket
3204         object that contains the packet will contain only
3205         the first 100 octets of the packet.
3206
3207         A prudent manager will take into account possible
3208         interoperability or fragmentation problems that may
3209         occur if the download slice size is set too large.
3210         In particular, conformant SNMP implementations are not
3211         required to accept messages whose length exceeds 484
3212         octets, although they are encouraged to support larger
3213         datagrams whenever feasible."
3214     DEFVAL { 100 }
3215     ::= { bufferControlEntry 6 }
3216
3217 bufferControlDownloadOffset OBJECT-TYPE
3218     SYNTAX     Integer32
3219     UNITS      "Octets"
3220     MAX-ACCESS read-create
3221     STATUS     current
3222     DESCRIPTION
3223         "The offset of the first octet of each packet
3224         in this capture buffer that will be returned in
3225         an SNMP retrieval of that packet.  For example,
3226         if 500 octets of a packet have been stored in the
3227         associated capture buffer and this object is set to
3228         100, then the captureBufferPacket object that
3229         contains the packet will contain bytes starting
3230         100 octets into the packet."
3231     DEFVAL { 0 }
3232     ::= { bufferControlEntry 7 }
3233
3234 bufferControlMaxOctetsRequested OBJECT-TYPE
3235     SYNTAX     Integer32
3236     UNITS      "Octets"
3237     MAX-ACCESS read-create
3238     STATUS     current
3239     DESCRIPTION
3240         "The requested maximum number of octets to be
3241         saved in this captureBuffer, including any
3242         implementation-specific overhead. If this variable
3243         is set to -1, the capture buffer will save as many
3244         octets as is possible.
3245
3246         When this object is created or modified, the probe
3247         should set bufferControlMaxOctetsGranted as closely
3248         to this object as is possible for the particular probe
3249         implementation and available resources.  However, if
3250         the object has the special value of -1, the probe
3251         must set bufferControlMaxOctetsGranted to -1."
3252     DEFVAL { -1 }
3253     ::= { bufferControlEntry 8 }
3254
3255 bufferControlMaxOctetsGranted OBJECT-TYPE
3256     SYNTAX     Integer32
3257     UNITS      "Octets"
3258     MAX-ACCESS read-only
3259     STATUS     current
3260     DESCRIPTION
3261         "The maximum number of octets that can be
3262         saved in this captureBuffer, including overhead.
3263         If this variable is -1, the capture buffer will save
3264         as many octets as possible.
3265
3266         When the bufferControlMaxOctetsRequested object is
3267         created or modified, the probe should set this object
3268         as closely to the requested value as is possible for the
3269         particular probe implementation and available resources.
3270         However, if the request object has the special value
3271         of -1, the probe must set this object to -1.
3272
3273         The probe must not lower this value except as a result of
3274         a modification to the associated
3275         bufferControlMaxOctetsRequested object.
3276
3277         When this maximum number of octets is reached
3278         and a new packet is to be added to this
3279         capture buffer and the corresponding
3280         bufferControlFullAction is set to wrapWhenFull(2),
3281         enough of the oldest packets associated with this
3282         capture buffer shall be deleted by the agent so
3283         that the new packet can be added.  If the corresponding
3284         bufferControlFullAction is set to lockWhenFull(1),
3285         the new packet shall be discarded.  In either case,
3286         the probe must set bufferControlFullStatus to
3287         full(2).
3288
3289         When the value of this object changes to a value less
3290         than the current value, entries are deleted from
3291         the captureBufferTable associated with this
3292         bufferControlEntry.  Enough of the
3293         oldest of these captureBufferEntries shall be
3294         deleted by the agent so that the number of octets
3295         used remains less than or equal to the new value of
3296         this object.
3297
3298         When the value of this object changes to a value greater
3299         than the current value, the number of associated
3300         captureBufferEntries may be allowed to grow."
3301     ::= { bufferControlEntry 9 }
3302
3303 bufferControlCapturedPackets OBJECT-TYPE
3304     SYNTAX     Integer32
3305     UNITS      "Packets"
3306     MAX-ACCESS read-only
3307     STATUS     current
3308     DESCRIPTION
3309         "The number of packets currently in this captureBuffer."
3310     ::= { bufferControlEntry 10 }
3311
3312 bufferControlTurnOnTime OBJECT-TYPE
3313     SYNTAX     TimeTicks
3314     MAX-ACCESS read-only
3315     STATUS     current
3316     DESCRIPTION
3317         "The value of sysUpTime when this capture buffer was
3318         first turned on."
3319     ::= { bufferControlEntry 11 }
3320
3321 bufferControlOwner OBJECT-TYPE
3322     SYNTAX     OwnerString
3323     MAX-ACCESS read-create
3324     STATUS     current
3325     DESCRIPTION
3326         "The entity that configured this entry and is therefore
3327         using the resources assigned to it."
3328     ::= { bufferControlEntry 12 }
3329
3330 bufferControlStatus OBJECT-TYPE
3331     SYNTAX     EntryStatus
3332     MAX-ACCESS read-create
3333     STATUS     current
3334     DESCRIPTION
3335         "The status of this buffer Control Entry."
3336     ::= { bufferControlEntry 13 }
3337
3338 captureBufferTable OBJECT-TYPE
3339     SYNTAX     SEQUENCE OF CaptureBufferEntry
3340     MAX-ACCESS not-accessible
3341     STATUS     current
3342     DESCRIPTION
3343         "A list of packets captured off of a channel."
3344     ::= { capture 2 }
3345
3346 captureBufferEntry OBJECT-TYPE
3347     SYNTAX     CaptureBufferEntry
3348     MAX-ACCESS not-accessible
3349     STATUS     current
3350     DESCRIPTION
3351         "A packet captured off of an attached network.  As an
3352         example, an instance of the captureBufferPacketData
3353         object might be named captureBufferPacketData.3.1783"
3354     INDEX { captureBufferControlIndex, captureBufferIndex }
3355     ::= { captureBufferTable 1 }
3356
3357 CaptureBufferEntry ::= SEQUENCE {
3358     captureBufferControlIndex   Integer32,
3359     captureBufferIndex          Integer32,
3360     captureBufferPacketID       Integer32,
3361     captureBufferPacketData     OCTET STRING,
3362     captureBufferPacketLength   Integer32,
3363     captureBufferPacketTime     Integer32,
3364     captureBufferPacketStatus   Integer32
3365 }
3366
3367 captureBufferControlIndex OBJECT-TYPE
3368     SYNTAX     Integer32 (1..65535)
3369     MAX-ACCESS read-only
3370     STATUS     current
3371     DESCRIPTION
3372         "The index of the bufferControlEntry with which
3373         this packet is associated."
3374     ::= { captureBufferEntry 1 }
3375
3376 captureBufferIndex OBJECT-TYPE
3377     SYNTAX     Integer32 (1..2147483647)
3378     MAX-ACCESS read-only
3379     STATUS     current
3380     DESCRIPTION
3381         "An index that uniquely identifies an entry
3382         in the captureBuffer table associated with a
3383         particular bufferControlEntry.  This index will
3384         start at 1 and increase by one for each new packet
3385         added with the same captureBufferControlIndex.
3386
3387         Should this value reach 2147483647, the next packet
3388         added with the same captureBufferControlIndex shall
3389         cause this value to wrap around to 1."
3390     ::= { captureBufferEntry 2 }
3391
3392 captureBufferPacketID OBJECT-TYPE
3393     SYNTAX     Integer32
3394     MAX-ACCESS read-only
3395     STATUS     current
3396     DESCRIPTION
3397         "An index that describes the order of packets
3398         that are received on a particular interface.
3399         The packetID of a packet captured on an
3400         interface is defined to be greater than the
3401         packetID's of all packets captured previously on
3402         the same interface.  As the captureBufferPacketID
3403         object has a maximum positive value of 2^31 - 1,
3404         any captureBufferPacketID object shall have the
3405         value of the associated packet's packetID mod 2^31."
3406     ::= { captureBufferEntry 3 }
3407
3408 captureBufferPacketData OBJECT-TYPE
3409     SYNTAX     OCTET STRING
3410     MAX-ACCESS read-only
3411     STATUS     current
3412     DESCRIPTION
3413         "The data inside the packet, starting at the beginning
3414         of the packet plus any offset specified in the
3415         associated bufferControlDownloadOffset, including any
3416         link level headers.  The length of the data in this object
3417         is the minimum of the length of the captured packet minus
3418         the offset, the length of the associated
3419         bufferControlCaptureSliceSize minus the offset, and the
3420         associated bufferControlDownloadSliceSize.  If this minimum
3421         is less than zero, this object shall have a length of zero."
3422     ::= { captureBufferEntry 4 }
3423
3424 captureBufferPacketLength OBJECT-TYPE
3425     SYNTAX     Integer32
3426     UNITS      "Octets"
3427     MAX-ACCESS read-only
3428     STATUS     current
3429     DESCRIPTION
3430         "The actual length (off the wire) of the packet stored
3431         in this entry, including FCS octets."
3432     ::= { captureBufferEntry 5 }
3433
3434 captureBufferPacketTime OBJECT-TYPE
3435     SYNTAX     Integer32
3436     UNITS      "Milliseconds"
3437     MAX-ACCESS read-only
3438     STATUS     current
3439     DESCRIPTION
3440         "The number of milliseconds that had passed since
3441         this capture buffer was first turned on when this
3442         packet was captured."
3443     ::= { captureBufferEntry 6 }
3444
3445 captureBufferPacketStatus OBJECT-TYPE
3446     SYNTAX     Integer32
3447     MAX-ACCESS read-only
3448     STATUS     current
3449     DESCRIPTION
3450         "A value which indicates the error status of this packet.
3451
3452         The value of this object is defined in the same way as
3453         filterPktStatus.  The value is a sum.  This sum
3454         initially takes the value zero.  Then, for each
3455         error, E, that has been discovered in this packet,
3456         2 raised to a value representing E is added to the sum.
3457
3458         The errors defined for a packet captured off of an
3459         Ethernet interface are as follows:
3460
3461             bit #    Error
3462                 0    Packet is longer than 1518 octets
3463                 1    Packet is shorter than 64 octets
3464                 2    Packet experienced a CRC or Alignment error
3465                 3    First packet in this capture buffer after
3466                      it was detected that some packets were
3467                      not processed correctly.
3468                 4    Packet's order in buffer is only approximate
3469                      (May only be set for packets sent from
3470                      the probe)
3471
3472         For example, an Ethernet fragment would have a
3473         value of 6 (2^1 + 2^2).
3474
3475         As this MIB is expanded to new media types, this object
3476         will have other media-specific errors defined."
3477     ::= { captureBufferEntry 7 }
3478
3479 -- The Event Group
3480
3481 -- Implementation of the Event group is optional.
3482 -- Consult the MODULE-COMPLIANCE macro for the authoritative
3483 -- conformance information for this MIB.
3484 --
3485 -- The Event group controls the generation and notification
3486 -- of events from this device.  Each entry in the eventTable
3487 -- describes the parameters of the event that can be triggered.
3488 -- Each event entry is fired by an associated condition located
3489 -- elsewhere in the MIB.  An event entry may also be associated
3490 -- with a function elsewhere in the MIB that will be executed
3491 -- when the event is generated.  For example, a channel may
3492 -- be turned on or off by the firing of an event.
3493 --
3494 -- Each eventEntry may optionally specify that a log entry
3495 -- be created on its behalf whenever the event occurs.
3496 -- Each entry may also specify that notification should
3497 -- occur by way of SNMP trap messages.  In this case, the
3498 -- community for the trap message is given in the associated
3499 -- eventCommunity object.  The enterprise and specific trap
3500 -- fields of the trap are determined by the condition that
3501 -- triggered the event.  Two traps are defined: risingAlarm and
3502 -- fallingAlarm.  If the eventTable is triggered by a condition
3503 -- specified elsewhere, the enterprise and specific trap fields
3504 -- must be specified for traps generated for that condition.
3505
3506 eventTable OBJECT-TYPE
3507     SYNTAX     SEQUENCE OF EventEntry
3508     MAX-ACCESS not-accessible
3509     STATUS     current
3510     DESCRIPTION
3511         "A list of events to be generated."
3512     ::= { event 1 }
3513
3514 eventEntry OBJECT-TYPE
3515     SYNTAX     EventEntry
3516     MAX-ACCESS not-accessible
3517     STATUS     current
3518     DESCRIPTION
3519         "A set of parameters that describe an event to be generated
3520         when certain conditions are met.  As an example, an instance
3521         of the eventLastTimeSent object might be named
3522         eventLastTimeSent.6"
3523     INDEX { eventIndex }
3524     ::= { eventTable 1 }
3525
3526 EventEntry ::= SEQUENCE {
3527     eventIndex          Integer32,
3528     eventDescription    DisplayString,
3529     eventType           INTEGER,
3530     eventCommunity      OCTET STRING,
3531     eventLastTimeSent   TimeTicks,
3532     eventOwner          OwnerString,
3533     eventStatus         EntryStatus
3534 }
3535
3536 eventIndex OBJECT-TYPE
3537     SYNTAX     Integer32 (1..65535)
3538     MAX-ACCESS read-only
3539     STATUS     current
3540     DESCRIPTION
3541         "An index that uniquely identifies an entry in the
3542         event table.  Each such entry defines one event that
3543         is to be generated when the appropriate conditions
3544         occur."
3545     ::= { eventEntry 1 }
3546
3547 eventDescription OBJECT-TYPE
3548     SYNTAX     DisplayString (SIZE (0..127))
3549     MAX-ACCESS read-create
3550     STATUS     current
3551     DESCRIPTION
3552         "A comment describing this event entry."
3553     ::= { eventEntry 2 }
3554
3555 eventType OBJECT-TYPE
3556     SYNTAX     INTEGER {
3557                  none(1),
3558                  log(2),
3559                  snmptrap(3),    -- send an SNMP trap
3560                  logandtrap(4)
3561                }
3562     MAX-ACCESS read-create
3563     STATUS     current
3564     DESCRIPTION
3565         "The type of notification that the probe will make
3566         about this event.  In the case of log, an entry is
3567         made in the log table for each event.  In the case of
3568         snmp-trap, an SNMP trap is sent to one or more
3569         management stations."
3570     ::= { eventEntry 3 }
3571
3572 eventCommunity OBJECT-TYPE
3573     SYNTAX     OCTET STRING (SIZE (0..127))
3574     MAX-ACCESS read-create
3575     STATUS     current
3576     DESCRIPTION
3577         "If an SNMP trap is to be sent, it will be sent to
3578         the SNMP community specified by this octet string."
3579     ::= { eventEntry 4 }
3580
3581 eventLastTimeSent OBJECT-TYPE
3582     SYNTAX     TimeTicks
3583     MAX-ACCESS read-only
3584     STATUS     current
3585     DESCRIPTION
3586         "The value of sysUpTime at the time this event
3587         entry last generated an event.  If this entry has
3588         not generated any events, this value will be
3589         zero."
3590     ::= { eventEntry 5 }
3591
3592 eventOwner OBJECT-TYPE
3593     SYNTAX     OwnerString
3594     MAX-ACCESS read-create
3595     STATUS     current
3596     DESCRIPTION
3597         "The entity that configured this entry and is therefore
3598         using the resources assigned to it.
3599
3600         If this object contains a string starting with 'monitor'
3601         and has associated entries in the log table, all connected
3602         management stations should retrieve those log entries,
3603         as they may have significance to all management stations
3604         connected to this device"
3605     ::= { eventEntry 6 }
3606
3607 eventStatus OBJECT-TYPE
3608     SYNTAX     EntryStatus
3609     MAX-ACCESS read-create
3610     STATUS     current
3611     DESCRIPTION
3612         "The status of this event entry.
3613
3614         If this object is not equal to valid(1), all associated
3615         log entries shall be deleted by the agent."
3616     ::= { eventEntry 7 }
3617
3618 --
3619 logTable OBJECT-TYPE
3620     SYNTAX     SEQUENCE OF LogEntry
3621     MAX-ACCESS not-accessible
3622     STATUS     current
3623     DESCRIPTION
3624         "A list of events that have been logged."
3625     ::= { event 2 }
3626
3627 logEntry OBJECT-TYPE
3628     SYNTAX     LogEntry
3629     MAX-ACCESS not-accessible
3630     STATUS     current
3631     DESCRIPTION
3632         "A set of data describing an event that has been
3633         logged.  For example, an instance of the logDescription
3634         object might be named logDescription.6.47"
3635     INDEX { logEventIndex, logIndex }
3636     ::= { logTable 1 }
3637
3638 LogEntry ::= SEQUENCE {
3639     logEventIndex           Integer32,
3640     logIndex                Integer32,
3641     logTime                 TimeTicks,
3642     logDescription          DisplayString
3643 }
3644
3645 logEventIndex OBJECT-TYPE
3646     SYNTAX     Integer32 (1..65535)
3647     MAX-ACCESS read-only
3648     STATUS     current
3649     DESCRIPTION
3650         "The event entry that generated this log
3651         entry.  The log identified by a particular
3652         value of this index is associated with the same
3653         eventEntry as identified by the same value
3654         of eventIndex."
3655     ::= { logEntry 1 }
3656
3657 logIndex OBJECT-TYPE
3658     SYNTAX     Integer32 (1..2147483647)
3659     MAX-ACCESS read-only
3660     STATUS     current
3661     DESCRIPTION
3662         "An index that uniquely identifies an entry
3663         in the log table amongst those generated by the
3664         same eventEntries.  These indexes are
3665         assigned beginning with 1 and increase by one
3666         with each new log entry.  The association
3667         between values of logIndex and logEntries
3668         is fixed for the lifetime of each logEntry.
3669         The agent may choose to delete the oldest
3670         instances of logEntry as required because of
3671         lack of memory.  It is an implementation-specific
3672         matter as to when this deletion may occur."
3673     ::= { logEntry 2 }
3674
3675 logTime OBJECT-TYPE
3676     SYNTAX     TimeTicks
3677     MAX-ACCESS read-only
3678     STATUS     current
3679     DESCRIPTION
3680         "The value of sysUpTime when this log entry was created."
3681     ::= { logEntry 3 }
3682
3683 logDescription OBJECT-TYPE
3684     SYNTAX     DisplayString (SIZE (0..255))
3685     MAX-ACCESS read-only
3686     STATUS     current
3687     DESCRIPTION
3688         "An implementation dependent description of the
3689         event that activated this log entry."
3690     ::= { logEntry 4 }
3691
3692 --  Remote Network Monitoring Traps
3693
3694 rmonEventsV2 OBJECT-IDENTITY
3695     STATUS      current
3696     DESCRIPTION "Definition point for RMON notifications."
3697     ::= { rmon 0 }
3698
3699 risingAlarm NOTIFICATION-TYPE
3700     OBJECTS  { alarmIndex, alarmVariable, alarmSampleType,
3701                alarmValue, alarmRisingThreshold }
3702     STATUS   current
3703     DESCRIPTION
3704         "The SNMP trap that is generated when an alarm
3705         entry crosses its rising threshold and generates
3706         an event that is configured for sending SNMP
3707         traps."
3708     ::= { rmonEventsV2 1 }
3709
3710 fallingAlarm NOTIFICATION-TYPE
3711     OBJECTS { alarmIndex, alarmVariable, alarmSampleType,
3712               alarmValue, alarmFallingThreshold }
3713     STATUS    current
3714     DESCRIPTION
3715         "The SNMP trap that is generated when an alarm
3716         entry crosses its falling threshold and generates
3717         an event that is configured for sending SNMP
3718         traps."
3719     ::= { rmonEventsV2 2 }
3720
3721 -- Conformance information
3722
3723 rmonCompliances OBJECT IDENTIFIER ::= { rmonConformance 9 }
3724 rmonGroups      OBJECT IDENTIFIER ::= { rmonConformance 10 }
3725
3726 -- Compliance Statements
3727 rmonCompliance MODULE-COMPLIANCE
3728     STATUS current
3729     DESCRIPTION
3730         "The requirements for conformance to the RMON MIB. At least
3731         one of the groups in this module must be implemented to
3732         conform to the RMON MIB. Implementations of this MIB
3733         must also implement the system group of MIB-II [16] and the
3734         IF-MIB [17]."
3735     MODULE -- this module
3736
3737       GROUP rmonEtherStatsGroup
3738           DESCRIPTION
3739               "The RMON Ethernet Statistics Group is optional."
3740
3741       GROUP rmonHistoryControlGroup
3742           DESCRIPTION
3743               "The RMON History Control Group is optional."
3744
3745       GROUP rmonEthernetHistoryGroup
3746           DESCRIPTION
3747               "The RMON Ethernet History Group is optional."
3748
3749       GROUP rmonAlarmGroup
3750           DESCRIPTION
3751               "The RMON Alarm Group is optional."
3752
3753       GROUP rmonHostGroup
3754           DESCRIPTION
3755               "The RMON Host Group is mandatory when the
3756               rmonHostTopNGroup is implemented."
3757
3758       GROUP rmonHostTopNGroup
3759           DESCRIPTION
3760               "The RMON Host Top N Group is optional."
3761
3762       GROUP rmonMatrixGroup
3763           DESCRIPTION
3764               "The RMON Matrix Group is optional."
3765
3766       GROUP rmonFilterGroup
3767           DESCRIPTION
3768               "The RMON Filter Group is mandatory when the
3769               rmonPacketCaptureGroup is implemented."
3770
3771       GROUP rmonPacketCaptureGroup
3772           DESCRIPTION
3773               "The RMON Packet Capture Group is optional."
3774
3775       GROUP rmonEventGroup
3776           DESCRIPTION
3777               "The RMON Event Group is mandatory when the
3778               rmonAlarmGroup is implemented."
3779     ::= { rmonCompliances 1 }
3780
3781     rmonEtherStatsGroup OBJECT-GROUP
3782         OBJECTS {
3783             etherStatsIndex, etherStatsDataSource,
3784             etherStatsDropEvents, etherStatsOctets, etherStatsPkts,
3785             etherStatsBroadcastPkts, etherStatsMulticastPkts,
3786             etherStatsCRCAlignErrors, etherStatsUndersizePkts,
3787             etherStatsOversizePkts, etherStatsFragments,
3788             etherStatsJabbers, etherStatsCollisions,
3789             etherStatsPkts64Octets, etherStatsPkts65to127Octets,
3790             etherStatsPkts128to255Octets,
3791             etherStatsPkts256to511Octets,
3792             etherStatsPkts512to1023Octets,
3793             etherStatsPkts1024to1518Octets,
3794             etherStatsOwner, etherStatsStatus
3795         }
3796         STATUS current
3797         DESCRIPTION
3798             "The RMON Ethernet Statistics Group."
3799         ::= { rmonGroups 1 }
3800
3801     rmonHistoryControlGroup OBJECT-GROUP
3802         OBJECTS {
3803             historyControlIndex, historyControlDataSource,
3804             historyControlBucketsRequested,
3805             historyControlBucketsGranted, historyControlInterval,
3806             historyControlOwner, historyControlStatus
3807         }
3808         STATUS current
3809         DESCRIPTION
3810             "The RMON History Control Group."
3811         ::= { rmonGroups 2 }
3812
3813     rmonEthernetHistoryGroup OBJECT-GROUP
3814         OBJECTS {
3815             etherHistoryIndex, etherHistorySampleIndex,
3816             etherHistoryIntervalStart, etherHistoryDropEvents,
3817             etherHistoryOctets, etherHistoryPkts,
3818             etherHistoryBroadcastPkts, etherHistoryMulticastPkts,
3819             etherHistoryCRCAlignErrors, etherHistoryUndersizePkts,
3820             etherHistoryOversizePkts, etherHistoryFragments,
3821             etherHistoryJabbers, etherHistoryCollisions,
3822             etherHistoryUtilization
3823         }
3824         STATUS current
3825         DESCRIPTION
3826             "The RMON Ethernet History Group."
3827         ::= { rmonGroups 3 }
3828
3829     rmonAlarmGroup OBJECT-GROUP
3830         OBJECTS {
3831             alarmIndex, alarmInterval, alarmVariable,
3832             alarmSampleType, alarmValue, alarmStartupAlarm,
3833             alarmRisingThreshold, alarmFallingThreshold,
3834             alarmRisingEventIndex, alarmFallingEventIndex,
3835             alarmOwner, alarmStatus
3836         }
3837         STATUS current
3838         DESCRIPTION
3839             "The RMON Alarm Group."
3840         ::= { rmonGroups 4 }
3841
3842     rmonHostGroup OBJECT-GROUP
3843         OBJECTS {
3844             hostControlIndex, hostControlDataSource,
3845             hostControlTableSize, hostControlLastDeleteTime,
3846             hostControlOwner, hostControlStatus,
3847             hostAddress, hostCreationOrder, hostIndex,
3848             hostInPkts, hostOutPkts, hostInOctets,
3849             hostOutOctets, hostOutErrors, hostOutBroadcastPkts,
3850             hostOutMulticastPkts, hostTimeAddress,
3851             hostTimeCreationOrder, hostTimeIndex,
3852             hostTimeInPkts, hostTimeOutPkts, hostTimeInOctets,
3853             hostTimeOutOctets, hostTimeOutErrors,
3854             hostTimeOutBroadcastPkts, hostTimeOutMulticastPkts
3855         }
3856         STATUS current
3857         DESCRIPTION
3858             "The RMON Host Group."
3859         ::= { rmonGroups 5 }
3860
3861     rmonHostTopNGroup OBJECT-GROUP
3862         OBJECTS {
3863             hostTopNControlIndex, hostTopNHostIndex,
3864             hostTopNRateBase, hostTopNTimeRemaining,
3865             hostTopNDuration, hostTopNRequestedSize,
3866             hostTopNGrantedSize, hostTopNStartTime,
3867             hostTopNOwner, hostTopNStatus,
3868             hostTopNReport, hostTopNIndex,
3869             hostTopNAddress, hostTopNRate
3870         }
3871         STATUS current
3872         DESCRIPTION
3873             "The RMON Host Top 'N' Group."
3874         ::= { rmonGroups 6 }
3875
3876     rmonMatrixGroup OBJECT-GROUP
3877         OBJECTS {
3878             matrixControlIndex, matrixControlDataSource,
3879             matrixControlTableSize, matrixControlLastDeleteTime,
3880             matrixControlOwner, matrixControlStatus,
3881             matrixSDSourceAddress, matrixSDDestAddress,
3882             matrixSDIndex, matrixSDPkts,
3883             matrixSDOctets, matrixSDErrors,
3884             matrixDSSourceAddress, matrixDSDestAddress,
3885             matrixDSIndex, matrixDSPkts,
3886             matrixDSOctets, matrixDSErrors
3887         }
3888         STATUS current
3889         DESCRIPTION
3890             "The RMON Matrix Group."
3891         ::= { rmonGroups 7 }
3892
3893     rmonFilterGroup OBJECT-GROUP
3894         OBJECTS {
3895             filterIndex, filterChannelIndex, filterPktDataOffset,
3896             filterPktData, filterPktDataMask,
3897             filterPktDataNotMask, filterPktStatus,
3898             filterPktStatusMask, filterPktStatusNotMask,
3899             filterOwner, filterStatus,
3900             channelIndex, channelIfIndex, channelAcceptType,
3901             channelDataControl, channelTurnOnEventIndex,
3902             channelTurnOffEventIndex, channelEventIndex,
3903             channelEventStatus, channelMatches,
3904             channelDescription, channelOwner, channelStatus
3905         }
3906         STATUS current
3907         DESCRIPTION
3908             "The RMON Filter Group."
3909         ::= { rmonGroups 8 }
3910
3911     rmonPacketCaptureGroup OBJECT-GROUP
3912         OBJECTS {
3913             bufferControlIndex, bufferControlChannelIndex,
3914             bufferControlFullStatus, bufferControlFullAction,
3915             bufferControlCaptureSliceSize,
3916             bufferControlDownloadSliceSize,
3917             bufferControlDownloadOffset,
3918             bufferControlMaxOctetsRequested,
3919             bufferControlMaxOctetsGranted,
3920             bufferControlCapturedPackets,
3921             bufferControlTurnOnTime,
3922             bufferControlOwner, bufferControlStatus,
3923             captureBufferControlIndex, captureBufferIndex,
3924             captureBufferPacketID, captureBufferPacketData,
3925             captureBufferPacketLength, captureBufferPacketTime,
3926             captureBufferPacketStatus
3927         }
3928         STATUS current
3929         DESCRIPTION
3930             "The RMON Packet Capture Group."
3931         ::= { rmonGroups 9 }
3932
3933     rmonEventGroup OBJECT-GROUP
3934         OBJECTS {
3935             eventIndex, eventDescription, eventType,
3936             eventCommunity, eventLastTimeSent,
3937             eventOwner, eventStatus,
3938             logEventIndex, logIndex, logTime,
3939             logDescription
3940         }
3941         STATUS current
3942         DESCRIPTION
3943             "The RMON Event Group."
3944         ::= { rmonGroups 10 }
3945
3946     rmonNotificationGroup NOTIFICATION-GROUP
3947         NOTIFICATIONS { risingAlarm, fallingAlarm }
3948         STATUS        current
3949         DESCRIPTION
3950             "The RMON Notification Group."
3951         ::= { rmonGroups 11 }
3952 END