smilint output for ./RFC1271-MIB


Message Severities
SeverityCount
error21
minor error5
warning3
Message Types
TypeCount
basetype-unknown (error)10
import-failed (error)1
index-element-no-range (error)3
index-element-no-size (minor error)5
index-exceeds-too-large (warning)3
sequence-type-mismatch (error)3
size-illegal (error)3
type-unknown (error)1

Messages:

RFC1271-MIB

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