home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 August / PCWorld_2001-08_cd.bin / Komunikace / phptriad / phptriadsetup2-11.exe / php / mibs / RMON-MIB.txt < prev    next >
Text File  |  1999-11-15  |  126KB  |  3,678 lines

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