aboutsummaryrefslogtreecommitdiffstats
path: root/lib/snmp/test/test-mibs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/snmp/test/test-mibs')
-rw-r--r--lib/snmp/test/test-mibs/Bitsindex-error.mib94
-rw-r--r--lib/snmp/test/test-mibs/ENTITY-MIB.mib784
-rw-r--r--lib/snmp/test/test-mibs/INTERNAL-MIB.mib463
-rw-r--r--lib/snmp/test/test-mibs/Klas1.mib118
-rw-r--r--lib/snmp/test/test-mibs/Oid1-error.mib26
-rw-r--r--lib/snmp/test/test-mibs/README19
-rw-r--r--lib/snmp/test/test-mibs/RFC1213-MIB.mib2888
-rw-r--r--lib/snmp/test/test-mibs/RFC1271-MIB.mib3492
-rw-r--r--lib/snmp/test/test-mibs/RMON-MIB.mib3826
-rw-r--r--lib/snmp/test/test-mibs/RMON2-MIB.mib5450
-rw-r--r--lib/snmp/test/test-mibs/SNMPv2-MIB.mib777
-rw-r--r--lib/snmp/test/test-mibs/SNMPv2-TC.mib799
-rw-r--r--lib/snmp/test/test-mibs/SNMPv2-USEC-MIB.mib251
-rw-r--r--lib/snmp/test/test-mibs/SNMPv2-test.mib777
-rw-r--r--lib/snmp/test/test-mibs/STANDARD-MIB.mib518
-rw-r--r--lib/snmp/test/test-mibs/TOKEN-RING-RMON-MIB.mib2406
-rw-r--r--lib/snmp/test/test-mibs/Table1-error.mib97
-rw-r--r--lib/snmp/test/test-mibs/Type-error.mib11
18 files changed, 22796 insertions, 0 deletions
diff --git a/lib/snmp/test/test-mibs/Bitsindex-error.mib b/lib/snmp/test/test-mibs/Bitsindex-error.mib
new file mode 100644
index 0000000000..0ba7467996
--- /dev/null
+++ b/lib/snmp/test/test-mibs/Bitsindex-error.mib
@@ -0,0 +1,94 @@
+ Bitsindex-error DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+ klas1 OBJECT IDENTIFIER ::= { private 7 }
+
+ RowStatus ::=
+ INTEGER {
+ -- the following two values are states:
+ -- these values may be read or written
+ active(1),
+ notInService(2),
+
+ -- the following value is a state:
+ -- this value may be read, but not written
+ notReady(3),
+
+ -- the following three values are
+ -- actions: these values may be written,
+ -- but are never read
+ createAndGo(4),
+ createAndWait(5),
+ destroy(6)
+ }
+
+
+ friendsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF FriendsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of klas friends."
+ ::= { klas1 4 }
+
+ friendsEntry OBJECT-TYPE
+ SYNTAX FriendsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "nope"
+ INDEX { fIndex }
+ ::= { friendsTable 1 }
+
+ FriendsEntry ::=
+ SEQUENCE {
+ fIndex
+ BITS,
+ fName
+ OCTET STRING,
+ fStatus
+ INTEGER }
+
+ fIndex OBJECT-TYPE
+ SYNTAX BITS {tihi(0)}
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "number of friend"
+ ::= { friendsEntry 1 }
+
+ fName OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Name of friend"
+ ::= { friendsEntry 2 }
+
+ fStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this conceptual row."
+ ::= { friendsEntry 3 }
+
+ authenticationFajlure TRAP-TYPE
+ ENTERPRISE klas1
+ DESCRIPTION
+ "An authenticationFailure trap signifies that
+ the sending protocol entity is the addressee
+ of a protocol message that is not properly
+ authenticated. While implementations of the
+ SNMP must be capable of generating this trap,
+ they must also be capable of suppressing the
+ emission of such traps via an implementation-
+ specific mechanism."
+ ::= 4
+
+
+ END
+
diff --git a/lib/snmp/test/test-mibs/ENTITY-MIB.mib b/lib/snmp/test/test-mibs/ENTITY-MIB.mib
new file mode 100644
index 0000000000..a70c26ed3a
--- /dev/null
+++ b/lib/snmp/test/test-mibs/ENTITY-MIB.mib
@@ -0,0 +1,784 @@
+ENTITY-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ mib-2, NOTIFICATION-TYPE
+ FROM SNMPv2-SMI
+ TDomain, TAddress, DisplayString, TEXTUAL-CONVENTION,
+ AutonomousType, RowPointer, TimeStamp
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF;
+
+entityMIB MODULE-IDENTITY
+ LAST-UPDATED "9605160000Z"
+ ORGANIZATION "IETF ENTMIB Working Group"
+ CONTACT-INFO
+ " WG E-mail: [email protected]
+ Subscribe: [email protected]
+ msg body: subscribe entmib
+
+ Keith McCloghrie
+ ENTMIB Working Group Chair
+ Cisco Systems Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134
+ 408-526-5260
+
+ Andy Bierman
+ ENTMIB Working Group Editor
+ Cisco Systems Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134
+ 408-527-3711
+ DESCRIPTION
+ "The MIB module for representing multiple logical
+ entities supported by a single SNMP agent."
+ ::= { mib-2 47 }
+
+entityMIBObjects OBJECT IDENTIFIER ::= { entityMIB 1 }
+
+-- MIB contains four groups
+
+entityPhysical OBJECT IDENTIFIER ::= { entityMIBObjects 1 }
+entityLogical OBJECT IDENTIFIER ::= { entityMIBObjects 2 }
+
+
+entityMapping OBJECT IDENTIFIER ::= { entityMIBObjects 3 }
+entityGeneral OBJECT IDENTIFIER ::= { entityMIBObjects 4 }
+
+
+-- Textual Conventions
+PhysicalIndex ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "An arbitrary value which uniquely identifies the physical
+ entity. The value is a small positive integer; index values
+ for different physical entities are not necessarily
+ contiguous."
+ SYNTAX INTEGER (1..2147483647)
+
+
+PhysicalClass ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "An enumerated value which provides an indication of the
+ general hardware type of a particular physical entity."
+ SYNTAX INTEGER {
+ other(1),
+ unknown(2),
+ chassis(3),
+ backplane(4),
+ container(5), -- e.g. slot or daughter-card holder
+ powerSupply(6),
+ fan(7),
+ sensor(8),
+ module(9), -- e.g. plug-in card or daughter-card
+ port(10)
+ }
+
+-- The Physical Entity Table
+
+entPhysicalTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EntPhysicalEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains one row per physical entity. There is
+ always at least one row for an 'overall' physical entity."
+ ::= { entityPhysical 1 }
+
+entPhysicalEntry OBJECT-TYPE
+ SYNTAX EntPhysicalEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+
+
+ DESCRIPTION
+ "Information about a particular physical entity.
+
+ Each entry provides objects (entPhysicalDescr,
+ entPhysicalVendorType, and entPhysicalClass) to help an NMS
+ identify and characterize the entry, and objects
+ (entPhysicalContainedIn and entPhysicalParentRelPos) to help
+ an NMS relate the particular entry to other entries in this
+ table."
+ INDEX { entPhysicalIndex }
+ ::= { entPhysicalTable 1 }
+
+EntPhysicalEntry ::= SEQUENCE {
+ entPhysicalIndex PhysicalIndex,
+ entPhysicalDescr DisplayString,
+ entPhysicalVendorType AutonomousType,
+ entPhysicalContainedIn INTEGER,
+ entPhysicalClass PhysicalClass,
+ entPhysicalParentRelPos INTEGER,
+ entPhysicalName DisplayString
+}
+
+entPhysicalIndex OBJECT-TYPE
+ SYNTAX PhysicalIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index for this entry."
+ ::= { entPhysicalEntry 1 }
+
+entPhysicalDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of physical entity. This object
+ should contain a string which identifies the manufacturer's
+ name for the physical entity, and should be set to a
+ distinct value for each version or model of the physical
+ entity. "
+ ::= { entPhysicalEntry 2 }
+
+entPhysicalVendorType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of the vendor-specific hardware type of the
+
+
+ physical entity. Note that this is different from the
+ definition of MIB-II's sysObjectID.
+
+ An agent should set this object to a enterprise-specific
+ registration identifier value indicating the specific
+ equipment type in detail. The associated instance of
+ entPhysicalClass is used to indicate the general type of
+ hardware device.
+
+ If no vendor-specific registration identifier exists for
+ this physical entity, or the value is unknown by this agent,
+ then the value { 0 0 } is returned."
+ ::= { entPhysicalEntry 3 }
+
+entPhysicalContainedIn OBJECT-TYPE
+ SYNTAX INTEGER (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of entPhysicalIndex for the physical entity which
+ 'contains' this physical entity. A value of zero indicates
+ this physical entity is not contained in any other physical
+ entity. Note that the set of 'containment' relationships
+ define a strict hierarchy; that is, recursion is not
+ allowed."
+ ::= { entPhysicalEntry 4 }
+
+entPhysicalClass OBJECT-TYPE
+ SYNTAX PhysicalClass
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of the general hardware type of the physical
+ entity.
+
+ An agent should set this object to the standard enumeration
+ value which most accurately indicates the general class of
+ the physical entity, or the primary class if there is more
+ than one.
+
+ If no appropriate standard registration identifier exists
+ for this physical entity, then the value 'other(1)' is
+ returned. If the value is unknown by this agent, then the
+ value 'unknown(2)' is returned."
+ ::= { entPhysicalEntry 5 }
+
+entPhysicalParentRelPos OBJECT-TYPE
+ SYNTAX INTEGER (-1..2147483647)
+
+
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of the relative position of this 'child'
+ component among all its 'sibling' components. Sibling
+ components are defined as entPhysicalEntries which share the
+ same instance values of each of the entPhysicalContainedIn
+ and entPhysicalClass objects.
+
+ An NMS can use this object to identify the relative ordering
+ for all sibling components of a particular parent
+ (identified by the entPhysicalContainedIn instance in each
+ sibling entry).
+
+ This value should match any external labeling of the
+ physical component if possible. For example, for a module
+ labeled as 'card #3', entPhysicalParentRelPos should have
+ the value '3'.
+
+ If the physical position of this component does not match
+ any external numbering or clearly visible ordering, then
+ user documentation or other external reference material
+ should be used to determine the parent-relative position. If
+ this is not possible, then the the agent should assign a
+ consistent (but possibly arbitrary) ordering to a given set
+ of 'sibling' components, perhaps based on internal
+ representation of the components.
+
+ If the agent cannot determine the parent-relative position
+ for some reason, or if the associated value of
+ entPhysicalContainedIn is '0', then the value '-1' is
+ returned. Otherwise a non-negative integer is returned,
+ indicating the parent-relative position of this physical
+ entity.
+
+ Parent-relative ordering normally starts from '1' and
+ continues to 'N', where 'N' represents the highest
+ positioned child entity. However, if the physical entities
+ (e.g. slots) are labeled from a starting position of zero,
+ then the first sibling should be associated with a
+ entPhysicalParentRelPos value of '0'. Note that this
+ ordering may be sparse or dense, depending on agent
+ implementation.
+
+ The actual values returned are not globally meaningful, as
+ each 'parent' component may use different numbering
+ algorithms. The ordering is only meaningful among siblings
+ of the same parent component.
+
+
+ The agent should retain parent-relative position values
+ across reboots, either through algorithmic assignment or use
+ of non-volatile storage."
+ ::= { entPhysicalEntry 6 }
+
+
+entPhysicalName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The textual name of the physical entity. The value of this
+ object should be the name of the component as assigned by
+ the local device and should be suitable for use in commands
+ entered at the device's `console'. This might be a text
+ name, such as `console' or a simple component number (e.g.
+ port or module number), such as `1', depending on the
+ physical component naming syntax of the device.
+
+ If there is no local name, or this object is otherwise not
+ applicable, then this object contains a zero-length string.
+
+ Note that the value of entPhysicalName for two physical
+ entities will be the same in the event that the console
+ interface does not distinguish between them, e.g., slot-1
+ and the card in slot-1."
+ ::= { entPhysicalEntry 7 }
+
+-- The Logical Entity Table
+entLogicalTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EntLogicalEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains one row per logical entity. At least
+ one entry must exist."
+ ::= { entityLogical 1 }
+
+entLogicalEntry OBJECT-TYPE
+ SYNTAX EntLogicalEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular logical entity. Entities
+ may be managed by this agent or other SNMP agents (possibly)
+ in the same chassis."
+ INDEX { entLogicalIndex }
+ ::= { entLogicalTable 1 }
+
+
+EntLogicalEntry ::= SEQUENCE {
+ entLogicalIndex INTEGER,
+ entLogicalDescr DisplayString,
+ entLogicalType AutonomousType,
+ entLogicalCommunity OCTET STRING,
+ entLogicalTAddress TAddress,
+ entLogicalTDomain TDomain
+}
+
+entLogicalIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of this object uniquely identifies the logical
+ entity. The value is a small positive integer; index values
+ for different logical entities are are not necessarily
+ contiguous."
+ ::= { entLogicalEntry 1 }
+
+entLogicalDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the logical entity. This object
+ should contain a string which identifies the manufacturer's
+ name for the logical entity, and should be set to a distinct
+ value for each version of the logical entity. "
+ ::= { entLogicalEntry 2 }
+
+entLogicalType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of the type of logical entity. This will
+ typically be the OBJECT IDENTIFIER name of the node in the
+ SMI's naming hierarchy which represents the major MIB
+ module, or the majority of the MIB modules, supported by the
+ logical entity. For example:
+ a logical entity of a regular host/router -> mib-2
+ a logical entity of a 802.1d bridge -> dot1dBridge
+ a logical entity of a 802.3 repeater -> snmpDot3RptrMgmt
+ If an appropriate node in the SMI's naming hierarchy cannot
+ be identified, the value 'mib-2' should be used."
+ ::= { entLogicalEntry 3 }
+
+
+
+entLogicalCommunity OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An SNMPv1 or SNMPv2C community-string which can be used to
+ access detailed management information for this logical
+ entity. The agent should allow read access with this
+ community string (to an appropriate subset of all managed
+ objects) and may also choose to return a community string
+ based on the privileges of the request used to read this
+ object. Note that an agent may choose to return a community
+ string with read-only privileges, even if this object is
+ accessed with a read-write community string. However, the
+ agent must take care not to return a community string which
+ allows more privileges than the community string used to
+ access this object.
+
+ A compliant SNMP agent may wish to conserve naming scopes by
+ representing multiple logical entities in a single 'main'
+ naming scope. This is possible when the logical entities
+ represented by the same value of entLogicalCommunity have no
+ object instances in common. For example, 'bridge1' and
+ 'repeater1' may be part of the main naming scope, but at
+ least one additional community string is needed to represent
+ 'bridge2' and 'repeater2'.
+
+ Logical entities 'bridge1' and 'repeater1' would be
+ represented by sysOREntries associated with the 'main'
+ naming scope.
+
+ For agents not accessible via SNMPv1 or SNMPv2C, the value
+ of this object is the empty-string."
+ ::= { entLogicalEntry 4 }
+
+entLogicalTAddress OBJECT-TYPE
+ SYNTAX TAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The transport service address by which the logical entity
+ receives network management traffic, formatted according to
+ the corresponding value of entLogicalTDomain.
+
+ For snmpUDPDomain, a TAddress is 6 octets long, the initial
+ 4 octets containing the IP-address in network-byte order and
+ the last 2 containing the UDP port in network-byte order.
+ Consult 'Transport Mappings for Version 2 of the Simple
+
+
+ Network Management Protocol' (RFC 1906 [8]) for further
+ information on snmpUDPDomain."
+ ::= { entLogicalEntry 5 }
+
+entLogicalTDomain OBJECT-TYPE
+ SYNTAX TDomain
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates the kind of transport service by which the
+ logical entity receives network management traffic.
+ Possible values for this object are presently found in the
+ Transport Mappings for SNMPv2 document (RFC 1906 [8])."
+ ::= { entLogicalEntry 6 }
+
+entLPMappingTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EntLPMappingEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains zero or more rows of logical entity to
+ physical equipment associations. For each logical entity
+ known by this agent, there are zero or more mappings to the
+ physical resources which are used to realize that logical
+ entity.
+
+ An agent should limit the number and nature of entries in
+ this table such that only meaningful and non-redundant
+ information is returned. For example, in a system which
+ contains a single power supply, mappings between logical
+ entities and the power supply are not useful and should not
+ be included.
+
+ Also, only the most appropriate physical component which is
+ closest to the root of a particular containment tree should
+ be identified in an entLPMapping entry.
+
+ For example, suppose a bridge is realized on a particular
+ module, and all ports on that module are ports on this
+ bridge. A mapping between the bridge and the module would be
+ useful, but additional mappings between the bridge and each
+ of the ports on that module would be redundant (since the
+ entPhysicalContainedIn hierarchy can provide the same
+ information). If, on the other hand, more than one bridge
+ was utilizing ports on this module, then mappings between
+ each bridge and the ports it used would be appropriate.
+
+ Also, in the case of a single backplane repeater, a mapping
+
+
+ for the backplane to the single repeater entity is not
+ necessary."
+ ::= { entityMapping 1 }
+
+entLPMappingEntry OBJECT-TYPE
+ SYNTAX EntLPMappingEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular logical entity to physical
+ equipment association. Note that the nature of the
+ association is not specifically identified in this entry. It
+ is expected that sufficient information exists in the MIBs
+ used to manage a particular logical entity to infer how
+ physical component information is utilized."
+ INDEX { entLogicalIndex, entLPPhysicalIndex }
+ ::= { entLPMappingTable 1 }
+
+EntLPMappingEntry ::= SEQUENCE {
+ entLPPhysicalIndex PhysicalIndex
+}
+
+entLPPhysicalIndex OBJECT-TYPE
+ SYNTAX PhysicalIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies the index value of a
+ particular entPhysicalEntry associated with the indicated
+ entLogicalEntity."
+ ::= { entLPMappingEntry 1 }
+
+-- logical entity/component to alias table
+entAliasMappingTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EntAliasMappingEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains zero or more rows, representing
+ mappings of logical entity and physical component to
+ external MIB identifiers. Each physical port in the system
+ may be associated with a mapping to an external identifier,
+ which itself is associated with a particular logical
+ entity's naming scope. A 'wildcard' mechanism is provided to
+ indicate that an identifier is associated with more than one
+ logical entity."
+ ::= { entityMapping 2 }
+
+
+
+entAliasMappingEntry OBJECT-TYPE
+ SYNTAX EntAliasMappingEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular physical equipment, logical
+ entity to external identifier binding. Each logical
+ entity/physical component pair may be associated with one
+ alias mapping. The logical entity index may also be used as
+ a 'wildcard' (refer to the entAliasLogicalIndexOrZero object
+ DESCRIPTION clause for details.)
+
+ Note that only entPhysicalIndex values which represent
+ physical ports (i.e. associated entPhysicalClass value is
+ 'port(10)') are permitted to exist in this table."
+ INDEX { entPhysicalIndex, entAliasLogicalIndexOrZero }
+ ::= { entAliasMappingTable 1 }
+
+EntAliasMappingEntry ::= SEQUENCE {
+ entAliasLogicalIndexOrZero INTEGER,
+ entAliasMappingIdentifier RowPointer
+}
+
+entAliasLogicalIndexOrZero OBJECT-TYPE
+ SYNTAX INTEGER (0..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of this object uniquely identifies the logical
+ entity which defines the naming scope for the associated
+ instance of the 'entAliasMappingIdentifier' object.
+
+ If this object has a non-zero value, then it identifies the
+ logical entity named by the same value of entLogicalIndex.
+
+ If this object has a value of zero, then the mapping between
+ the physical component and the alias identifier for this
+ entAliasMapping entry is associated with all unspecified
+ logical entities. That is, a value of zero (the default
+ mapping) identifies any logical entity which does not have
+ an explicit entry in this table for a particular
+ entPhysicalIndex/entAliasMappingIdentifier pair.
+
+ For example, to indicate that a particular interface (e.g.
+ physical component 33) is identified by the same value of
+ ifIndex for all logical entities, the following instance
+ might exist:
+
+
+
+ entAliasMappingIdentifier.33.0 = ifIndex.5
+
+ In the event an entPhysicalEntry is associated differently
+ for some logical entities, additional entAliasMapping
+ entries may exist, e.g.:
+
+ entAliasMappingIdentifier.33.0 = ifIndex.6
+ entAliasMappingIdentifier.33.4 = ifIndex.1
+ entAliasMappingIdentifier.33.5 = ifIndex.1
+ entAliasMappingIdentifier.33.10 = ifIndex.12
+
+ Note that entries with non-zero entAliasLogicalIndexOrZero
+ index values have precedence over any zero-indexed entry. In
+ this example, all logical entities except 4, 5, and 10,
+ associate physical entity 33 with ifIndex.6."
+ ::= { entAliasMappingEntry 1 }
+
+
+entAliasMappingIdentifier OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies a particular conceptual
+ row associated with the indicated entPhysicalIndex and
+ entLogicalIndex pair.
+
+ Since only physical ports are modeled in this table, only
+ entries which represent interfaces or ports are allowed. If
+ an ifEntry exists on behalf of a particular physical port,
+ then this object should identify the associated 'ifEntry'.
+ For repeater ports, the appropriate row in the
+ 'rptrPortGroupTable' should be identified instead.
+
+ For example, suppose a physical port was represented by
+ entPhysicalEntry.3, entLogicalEntry.15 existed for a
+ repeater, and entLogicalEntry.22 existed for a bridge. Then
+ there might be two related instances of
+ entAliasMappingIdentifier:
+ entAliasMappingIdentifier.3.15 == rptrPortGroupIndex.5.2
+ entAliasMappingIdentifier.3.22 == ifIndex.17
+ It is possible that other mappings (besides interfaces and
+ repeater ports) may be defined in the future, as required.
+
+ Bridge ports are identified by examining the Bridge MIB and
+ appropriate ifEntries associated with each 'dot1dBasePort',
+ and are thus not represented in this table."
+ ::= { entAliasMappingEntry 2 }
+
+
+-- physical mapping table
+entPhysicalContainsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EntPhysicalContainsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table which exposes the container/containee relationships
+ between physical entities. This table provides equivalent
+ information found by constructing the virtual containment
+ tree for a given entPhysicalTable but in a more direct
+ format."
+ ::= { entityMapping 3 }
+
+entPhysicalContainsEntry OBJECT-TYPE
+ SYNTAX EntPhysicalContainsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single container/containee relationship."
+ INDEX { entPhysicalIndex, entPhysicalChildIndex }
+ ::= { entPhysicalContainsTable 1 }
+
+EntPhysicalContainsEntry ::= SEQUENCE {
+ entPhysicalChildIndex PhysicalIndex
+}
+
+entPhysicalChildIndex OBJECT-TYPE
+ SYNTAX PhysicalIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of entPhysicalIndex for the contained physical
+ entity."
+ ::= { entPhysicalContainsEntry 1 }
+
+-- last change time stamp for the whole MIB
+entLastChangeTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time any of these events
+ occur:
+ * a conceptual row is created or deleted in any
+ of these tables:
+ - entPhysicalTable
+ - entLogicalTable
+ - entLPMappingTable
+
+
+ - entAliasMappingTable
+ - entPhysicalContainsTable
+
+ * any instance in the following list of objects
+ changes value:
+ - entPhysicalDescr
+ - entPhysicalVendorType
+ - entPhysicalContainedIn
+ - entPhysicalClass
+ - entPhysicalParentRelPos
+ - entPhysicalName
+ - entLogicalDescr
+ - entLogicalType
+ - entLogicalCommunity
+ - entLogicalTAddress
+ - entLogicalTDomain
+ - entAliasMappingIdentifier "
+ ::= { entityGeneral 1 }
+
+-- Entity MIB Trap Definitions
+entityMIBTraps OBJECT IDENTIFIER ::= { entityMIB 2 }
+entityMIBTrapPrefix OBJECT IDENTIFIER ::= { entityMIBTraps 0 }
+
+entConfigChange NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "An entConfigChange trap is sent when the value of
+ entLastChangeTime changes. It can be utilized by an NMS to
+ trigger logical/physical entity table maintenance polls.
+
+ An agent must not generate more than one entConfigChange
+ 'trap-event' in a five second period, where a 'trap-event'
+ is the transmission of a single trap PDU to a list of trap
+ destinations. If additional configuration changes occur
+ within the five second 'throttling' period, then these
+ trap-events should be suppressed by the agent. An NMS should
+ periodically check the value of entLastChangeTime to detect
+ any missed entConfigChange trap-events, e.g. due to
+ throttling or transmission loss."
+ ::= { entityMIBTrapPrefix 1 }
+
+-- conformance information
+entityConformance OBJECT IDENTIFIER ::= { entityMIB 3 }
+
+entityCompliances OBJECT IDENTIFIER ::= { entityConformance 1 }
+entityGroups OBJECT IDENTIFIER ::= { entityConformance 2 }
+
+-- compliance statements
+
+
+entityCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ the Entity MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { entityPhysicalGroup,
+ entityLogicalGroup,
+ entityMappingGroup,
+ entityGeneralGroup,
+ entityNotificationsGroup }
+ ::= { entityCompliances 1 }
+
+-- MIB groupings
+
+entityPhysicalGroup OBJECT-GROUP
+ OBJECTS {
+ entPhysicalDescr,
+ entPhysicalVendorType,
+ entPhysicalContainedIn,
+ entPhysicalClass,
+ entPhysicalParentRelPos,
+ entPhysicalName
+ }
+ STATUS current
+ DESCRIPTION
+ "The collection of objects which are used to represent
+ physical system components, for which a single agent
+ provides management information."
+ ::= { entityGroups 1 }
+
+entityLogicalGroup OBJECT-GROUP
+ OBJECTS {
+ entLogicalDescr,
+ entLogicalType,
+ entLogicalCommunity,
+ entLogicalTAddress,
+ entLogicalTDomain
+ }
+ STATUS current
+ DESCRIPTION
+ "The collection of objects which are used to represent the
+ list of logical entities for which a single agent provides
+ management information."
+ ::= { entityGroups 2 }
+
+entityMappingGroup OBJECT-GROUP
+ OBJECTS {
+
+
+ entLPPhysicalIndex,
+ entAliasMappingIdentifier,
+ entPhysicalChildIndex
+ }
+ STATUS current
+ DESCRIPTION
+ "The collection of objects which are used to represent the
+ associations between multiple logical entities, physical
+ components, interfaces, and port identifiers for which a
+ single agent provides management information."
+ ::= { entityGroups 3 }
+
+entityGeneralGroup OBJECT-GROUP
+ OBJECTS {
+ entLastChangeTime
+ }
+ STATUS current
+ DESCRIPTION
+ "The collection of objects which are used to represent
+ general entity information for which a single agent provides
+ management information."
+ ::= { entityGroups 4 }
+
+entityNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { entConfigChange }
+ STATUS current
+ DESCRIPTION
+ "The collection of notifications used to indicate Entity MIB
+ data consistency and general status information."
+ ::= { entityGroups 5 }
+
+
+END
+
+
+
diff --git a/lib/snmp/test/test-mibs/INTERNAL-MIB.mib b/lib/snmp/test/test-mibs/INTERNAL-MIB.mib
new file mode 100644
index 0000000000..62d3777fc2
--- /dev/null
+++ b/lib/snmp/test/test-mibs/INTERNAL-MIB.mib
@@ -0,0 +1,463 @@
+INTERNAL-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ IpAddress
+ FROM RFC1155-SMI
+ DisplayString, mib-2
+ FROM RFC1213-MIB
+ OBJECT-TYPE
+ FROM RFC-1212
+ TruthValue, RowStatus
+ FROM STANDARD-MIB
+ ;
+
+
+
+-- Object Identifiers for all the Managed Objects must be defined
+-- if this MIB (or parts of it) shall be loaded.
+-- It is entirely up to the implementation to assign OIDs for the
+-- objects. The SNMP agent does not rely on the OIDs, but on the
+-- symbolic names of the managed objects.
+
+ericsson OBJECT IDENTIFIER ::= {enterprises 193}
+snmpAdm OBJECT IDENTIFIER ::= {ericsson 1}
+community OBJECT IDENTIFIER ::= {snmpAdm 1}
+trap OBJECT IDENTIFIER ::= {snmpAdm 2}
+view OBJECT IDENTIFIER ::= {snmpAdm 3}
+
+
+ -- Datatype
+
+ StorageType ::=
+ INTEGER {
+ other(1), -- eh?
+ volatile(2), -- e.g., in RAM
+ nonVolatile(3), -- e.g., in NVRAM
+ permanent(4) -- e.g., in ROM
+ }
+
+ -- Managed Objects
+
+ intCommunityTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IntCommunityEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "This table defines access for the different
+ communities.
+
+ When a request comes from a certain ip address,
+ referring to a community string, the mib view
+ and access corresponding to these are looked up
+ in this table. Then the operation is validatated against
+ the access, and all requested objects validated against
+ the mib view."
+ ::= { community 1}
+
+ intCommunityEntry OBJECT-TYPE
+ SYNTAX IntCommunityEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ ""
+ INDEX { intCommunityDestination, intCommunityString }
+ ::= { intCommunityTable 1 }
+
+ IntCommunityEntry ::=
+ SEQUENCE {
+ intCommunityDestination IpAddress,
+ intCommunityString DisplayString,
+ intCommunityViewIndex INTEGER,
+ intCommunityAccess INTEGER,
+ intCommunityStatus RowStatus
+ }
+
+ intCommunityDestination OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The ip address of a management station. The special
+ ip address {0.0.0.0} is a wildcard, meaning all possible
+ ip addresses. In this way, access can be granted to all
+ ip addressed for some communities."
+ ::= { intCommunityEntry 1 }
+
+ intCommunityString OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The community string, defining the community."
+ ::= { intCommunityEntry 2 }
+
+ intCommunityViewIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Identifies a mib view. Index into the
+ intViewTable."
+ ::= { intCommunityEntry 3 }
+
+ intCommunityAccess OBJECT-TYPE
+ SYNTAX INTEGER { read(1), readWrite(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Defines which operations the manager can perform
+ on the objects in the mib view."
+ ::= { intCommunityEntry 4 }
+
+ intCommunityStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this conceptual row in the
+ intCommunityTable."
+ ::= { intCommunityEntry 5 }
+
+ intAgentIpAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address of this agent."
+ ::= { community 2 }
+
+ intAgentUDPPort OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UDP port the agent listens to."
+ ::= { community 3 }
+
+ intAgentMaxPacketSize OBJECT-TYPE
+ SYNTAX INTEGER (484..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum packet size in bytes this agent will send to a
+ manager."
+ ::= { community 4 }
+
+
+ intAddressTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IntAddressEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "This table holds UDP related information on each known
+ management station."
+ ::= { community 5 }
+
+
+ intAddressEntry OBJECT-TYPE
+ SYNTAX IntAddressEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ ""
+ INDEX { intAddressDestination }
+ ::= { intAddressTable 1 }
+
+ IntAddressEntry ::=
+ SEQUENCE {
+ intAddressDestination IpAddress,
+ intAddressUDPPort INTEGER,
+ intAddressMaxPacketSize INTEGER (484..65535),
+ intAddressStatus RowStatus
+ }
+
+ intAddressDestination OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The ip address of the management station."
+ ::= { intAddressEntry 1 }
+
+ intAddressUDPPort OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UDP port to which traps will be sent to
+ this destination."
+ DEFVAL { 162 }
+ ::= { intAddressEntry 2 }
+
+ intAddressMaxPacketSize OBJECT-TYPE
+ SYNTAX INTEGER (484..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum packet size in bytes for Messages
+ sent to this destination. The max size of a packet
+ sent to this destination will be the minumim of
+ this variable and agentMaxPacketSize.0."
+ ::= { intAddressEntry 3 }
+
+ intAddressStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this conceptual row in the
+ intAddressTable."
+ ::= { intAddressEntry 4 }
+
+ intTrapDestTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IntTrapDestEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The intTrapDestTable defines to which destination all traps
+ for a specific community should be sent."
+ ::= { trap 1 }
+
+ intTrapDestEntry OBJECT-TYPE
+ SYNTAX IntTrapDestEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ ""
+ INDEX { intTrapDestCommunityString, intTrapDestDestination }
+ ::= { intTrapDestTable 1 }
+
+ IntTrapDestEntry ::=
+ SEQUENCE {
+ intTrapDestCommunityString DisplayString,
+ intTrapDestDestination IpAddress,
+ intTrapDestStatus RowStatus,
+ intTrapDestSnmpVersion INTEGER
+ }
+
+ intTrapDestCommunityString OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ ""
+ ::= { intTrapDestEntry 1 }
+
+ intTrapDestDestination OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ ""
+ ::= { intTrapDestEntry 2 }
+
+ intTrapDestStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this conceptual row in the
+ intTrapDestTable."
+ ::= { intTrapDestEntry 3 }
+
+ intTrapDestSnmpVersion OBJECT-TYPE
+ SYNTAX INTEGER { v1(1), v2c(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The SNMP version of the manager. If it is v1,
+ SNMPv1Traps are sent. If it is v2c,
+ SNMPv2Traps are sent"
+ ::= { intTrapDestEntry 4 }
+
+ intViewTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IntViewEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Locally held information about the MIB views
+ known to this agent.
+
+ Each MIB view is defined by two
+ collections of view subtrees: the included view
+ subtrees, and the excluded view subtrees. Every
+ such subtree, both included and excluded, is
+ defined in this table.
+
+ To determine if a particular object instance is in
+ a particular MIB view, compare the object
+ instance's OBJECT IDENTIFIER with each of the MIB
+ view's entries in this table. If none match, then
+ the object instance is not in the MIB view. If
+ one or more match, then the object instance is
+ included in, or excluded from, the MIB view
+ according to the value of viewType in the entry
+ whose value of viewSubtree has the most sub-
+ identifiers. If multiple entries match and have
+ the same number of sub-identifiers, then the
+ lexicographically greatest instance of viewType
+ determines the inclusion or exclusion.
+
+ An object instance's OBJECT IDENTIFIER X matches
+ an entry in this table when the number of sub-
+ identifiers in X is at least as many as in the
+ value of viewSubtree for the entry, and each sub-
+ identifier in the value of viewSubtree matches its
+ corresponding sub-identifier in X. Two sub-
+ identifiers match either if the corresponding bit
+ of viewMask is zero (the 'wild card' value), or if
+ they are equal.
+
+ Due to this 'wild card' capability, we introduce
+ the term, a 'family' of view subtrees, to refer to
+ the set of subtrees defined by a particular
+ combination of values of viewSubtree and viewMask.
+ In the case where no 'wild card' is defined in
+ viewMask, the family of view subtrees reduces to a
+ single view subtree."
+ ::= { view 1 }
+
+ intViewEntry OBJECT-TYPE
+ SYNTAX IntViewEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Information on a particular family of view
+ subtrees included in or excluded from a particular
+ MIB view.
+
+ Implementations must not restrict the number of
+ families of view subtrees for a given MIB view,
+ except as dictated by resource constraints on the
+ overall number of entries in the viewTable."
+ INDEX { intViewIndex, intViewSubtree }
+ ::= { intViewTable 1 }
+
+ IntViewEntry ::=
+ SEQUENCE {
+ intViewIndex INTEGER,
+ intViewSubtree OBJECT IDENTIFIER,
+ intViewMask OCTET STRING,
+ intViewType INTEGER,
+ intViewStorageType StorageType,
+ intViewStatus RowStatus
+ }
+
+
+ intViewIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each MIB view. The value for
+ each MIB view must remain constant at least from
+ one re-initialization of the entity's network
+ management system to the next re-initialization."
+ ::= { intViewEntry 1 }
+
+ intViewSubtree OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A MIB subtree."
+ ::= { intViewEntry 2 }
+
+ intViewMask OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..16))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The bit mask which, in combination with the
+ corresponding instance of viewSubtree, defines a
+ family of view subtrees.
+
+ Each bit of this bit mask corresponds to a sub-
+ identifier of viewSubtree, with the most
+ significant bit of the i-th octet of this octet
+ string value (extended if necessary, see below)
+ corresponding to the (8*i - 7)-th sub-identifier,
+ and the least significant bit of the i-th octet of
+ this octet string corresponding to the (8*i)-th
+ sub-identifier, where i is in the range 1 through
+ 16.
+
+ Each bit of this bit mask specifies whether or not
+ the corresponding sub-identifiers must match when
+ determining if an OBJECT IDENTIFIER is in this
+ family of view subtrees; a '1' indicates that an
+ exact match must occur; a '0' indicates 'wild
+ card', i.e., any sub-identifier value matches.
+
+
+ Thus, the OBJECT IDENTIFIER X of an object
+ instance is contained in a family of view subtrees
+ if the following criteria are met:
+
+ for each sub-identifier of the value of
+ viewSubtree, either:
+
+ the i-th bit of viewMask is 0, or
+
+ the i-th sub-identifier of X is equal to
+ the i-th sub-identifier of the value of
+ viewSubtree.
+
+ If the value of this bit mask is M bits long and
+ there are more than M sub-identifiers in the
+ corresponding instance of viewSubtree, then the
+ bit mask is extended with 1's to be the required
+ length.
+
+ Note that when the value of this object is the
+ zero-length string, this extension rule results in
+ a mask of all-1's being used (i.e., no 'wild
+ card'), and the family of view subtrees is the one
+ view subtree uniquely identified by the
+ corresponding instance of viewSubtree."
+ DEFVAL { ''H }
+ ::= { intViewEntry 3 }
+
+
+ intViewType OBJECT-TYPE
+ SYNTAX INTEGER {
+ included(1),
+ excluded(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of a particular family of view
+ subtrees within the particular
+ MIB view. The value 'included(1)' indicates that
+ the corresponding instances of viewSubtree and
+ viewMask define a family of view subtrees included
+ in the MIB view. The value 'excluded(2)'
+ indicates that the corresponding instances of
+ viewSubtree and viewMask define a family of view
+ subtrees excluded from the MIB view."
+ DEFVAL { included }
+ ::= { intViewEntry 4 }
+
+ intViewStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The storage type for this conceptual row in the
+ intViewTable."
+ DEFVAL { nonVolatile }
+ ::= { intViewEntry 5 }
+
+ intViewStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this conceptual row in the
+ intViewTable."
+ ::= { intViewEntry 6 }
+
+
+
+END
diff --git a/lib/snmp/test/test-mibs/Klas1.mib b/lib/snmp/test/test-mibs/Klas1.mib
new file mode 100644
index 0000000000..987c7a6d95
--- /dev/null
+++ b/lib/snmp/test/test-mibs/Klas1.mib
@@ -0,0 +1,118 @@
+ Klas1 DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+ klas1 OBJECT IDENTIFIER ::= { private 7 }
+
+ DisplayString ::=
+ OCTET STRING
+
+
+ Q2 ::= DisplayString (SIZE (0..25))
+
+ RowStatus ::=
+ INTEGER {
+ -- the following two values are states:
+ -- these values may be read or written
+ active(1),
+ notInService(2),
+
+ -- the following value is a state:
+ -- this value may be read, but not written
+ notReady(3),
+
+ -- the following three values are
+ -- actions: these values may be written,
+ -- but are never read
+ createAndGo(4),
+ createAndWait(5),
+ destroy(6)
+ }
+
+
+ fint OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual description of the entity. This value
+ printable ASCII characters."
+ ::= { klas1 0 1 }
+
+ fname OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual description of the entity. This value
+ printable ASCII characters."
+ ::= { klas1 1 }
+
+ friendsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF FriendsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of klas friends."
+ ::= { klas1 4 }
+
+ friendsEntry OBJECT-TYPE
+ SYNTAX FriendsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "nope"
+ INDEX { fIndex }
+ ::= { friendsTable 1 }
+
+ FriendsEntry ::=
+ SEQUENCE {
+ fIndex
+ INTEGER,
+ fName
+ OCTET STRING,
+ fStatus
+ INTEGER }
+
+ fIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "number of friend"
+ ::= { friendsEntry 1 }
+
+ fName OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Name of friend"
+ ::= { friendsEntry 2 }
+
+ fStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this conceptual row."
+ ::= { friendsEntry 3 }
+
+ authenticationFajlure TRAP-TYPE
+ ENTERPRISE klas1
+ DESCRIPTION
+ "An authenticationFailure trap signifies that
+ the sending protocol entity is the addressee
+ of a protocol message that is not properly
+ authenticated. While implementations of the
+ SNMP must be capable of generating this trap,
+ they must also be capable of suppressing the
+ emission of such traps via an implementation-
+ specific mechanism."
+ ::= 4
+
+
+ END
+
diff --git a/lib/snmp/test/test-mibs/Oid1-error.mib b/lib/snmp/test/test-mibs/Oid1-error.mib
new file mode 100644
index 0000000000..ee9c649f9d
--- /dev/null
+++ b/lib/snmp/test/test-mibs/Oid1-error.mib
@@ -0,0 +1,26 @@
+ Oid1-error DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+ klas1 OBJECT IDENTIFIER ::= { private 7 }
+
+ ok OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ ""
+ ::= { klas1 0 1 }
+
+ error OBJECT-TYPE
+ SYNTAX TestOfUndefinedType (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ ""
+ ::= { klas1 1 0}
+
+ END
+
diff --git a/lib/snmp/test/test-mibs/README b/lib/snmp/test/test-mibs/README
new file mode 100644
index 0000000000..f23d3151c2
--- /dev/null
+++ b/lib/snmp/test/test-mibs/README
@@ -0,0 +1,19 @@
+MIBs ending with *-error.mib should give compilation error. No others.
+
+All standards MIBs should be original, without modifications.
+*If* there is some small modification for some reason you shall be
+able to find a comment about it by searching "erlsnmpmodification".
+Tickets are found in comments (search "OTP-<no>").
+
+One good compilation order:
+
+snmpc:compile("RMON-MIB").
+snmpc:compile("RFC1271-MIB").
+snmpc:compile("TOKEN-RING-RMON-MIB").
+snmpc:compile("SNMPv2-TC").
+snmpc:compile("RMON2-MIB").
+snmpc:compile("ENTITY-MIB").
+snmpc:compile("SNMPv2-MIB").
+snmpc:compile("SNMPv2-USEC-MIB").
+snmpc:compile("STANDARD-MIB").
+snmpc:compile("INTERNAL-MIB").
diff --git a/lib/snmp/test/test-mibs/RFC1213-MIB.mib b/lib/snmp/test/test-mibs/RFC1213-MIB.mib
new file mode 100644
index 0000000000..0421e64d62
--- /dev/null
+++ b/lib/snmp/test/test-mibs/RFC1213-MIB.mib
@@ -0,0 +1,2888 @@
+ RFC1213-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ mgmt, NetworkAddress, IpAddress, Counter, Gauge,
+ TimeTicks
+ FROM RFC1155-SMI
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+ -- This MIB module uses the extended OBJECT-TYPE macro as
+ -- defined in [14];
+
+
+ -- MIB-II (same prefix as MIB-I)
+
+ mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
+
+ -- textual conventions
+
+ DisplayString ::=
+ OCTET STRING
+ -- This data type is used to model textual information taken
+ -- from the NVT ASCII character set. By convention, objects
+ -- with this syntax are declared as having
+
+
+
+ --
+ -- SIZE (0..255)
+
+ PhysAddress ::=
+ OCTET STRING
+ -- This data type is used to model media addresses. For many
+ -- types of media, this will be in a binary representation.
+ -- For example, an ethernet address would be represented as
+ -- a string of 6 octets.
+
+
+ -- groups in MIB-II
+
+ system OBJECT IDENTIFIER ::= { mib-2 1 }
+
+ interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
+
+ at OBJECT IDENTIFIER ::= { mib-2 3 }
+
+ ip OBJECT IDENTIFIER ::= { mib-2 4 }
+
+ icmp OBJECT IDENTIFIER ::= { mib-2 5 }
+
+ tcp OBJECT IDENTIFIER ::= { mib-2 6 }
+
+ udp OBJECT IDENTIFIER ::= { mib-2 7 }
+
+ egp OBJECT IDENTIFIER ::= { mib-2 8 }
+
+ -- historical (some say hysterical)
+ -- cmot OBJECT IDENTIFIER ::= { mib-2 9 }
+
+ transmission OBJECT IDENTIFIER ::= { mib-2 10 }
+
+ snmp OBJECT IDENTIFIER ::= { mib-2 11 }
+
+
+ -- the System group
+
+ -- Implementation of the System group is mandatory for all
+ -- systems. If an agent is not configured to have a value
+ -- for any of these variables, a string of length 0 is
+ -- returned.
+
+ sysDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+
+
+
+
+
+ DESCRIPTION
+ "A textual description of the entity. This value
+ should include the full name and version
+ identification of the system's hardware type,
+ software operating-system, and networking
+ software. It is mandatory that this only contain
+ printable ASCII characters."
+ ::= { system 1 }
+
+ sysObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The vendor's authoritative identification of the
+ network management subsystem contained in the
+ entity. This value is allocated within the SMI
+ enterprises subtree (1.3.6.1.4.1) and provides an
+ easy and unambiguous means for determining `what
+ kind of box' is being managed. For example, if
+ vendor `Flintstones, Inc.' was assigned the
+ subtree 1.3.6.1.4.1.4242, it could assign the
+ identifier 1.3.6.1.4.1.4242.1.1 to its `Fred
+ Router'."
+ ::= { system 2 }
+
+ sysUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The time (in hundredths of a second) since the
+ network management portion of the system was last
+ re-initialized."
+ ::= { system 3 }
+
+ sysContact OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The textual identification of the contact person
+ for this managed node, together with information
+ on how to contact this person."
+ ::= { system 4 }
+
+ sysName OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+
+
+
+
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An administratively-assigned name for this
+ managed node. By convention, this is the node's
+ fully-qualified domain name."
+ ::= { system 5 }
+
+ sysLocation OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The physical location of this node (e.g.,
+ `telephone closet, 3rd floor')."
+ ::= { system 6 }
+
+ sysServices OBJECT-TYPE
+ SYNTAX INTEGER (0..127)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A value which indicates the set of services that
+ this entity primarily offers.
+
+ The value is a sum. This sum initially takes the
+ value zero, Then, for each layer, L, in the range
+ 1 through 7, that this node performs transactions
+ for, 2 raised to (L - 1) is added to the sum. For
+ example, a node which performs primarily routing
+ functions would have a value of 4 (2^(3-1)). In
+ contrast, a node which is a host offering
+ application services would have a value of 72
+ (2^(4-1) + 2^(7-1)). Note that in the context of
+ the Internet suite of protocols, values should be
+ calculated accordingly:
+
+ layer functionality
+ 1 physical (e.g., repeaters)
+ 2 datalink/subnetwork (e.g., bridges)
+ 3 internet (e.g., IP gateways)
+ 4 end-to-end (e.g., IP hosts)
+ 7 applications (e.g., mail relays)
+
+ For systems including OSI protocols, layers 5 and
+ 6 may also be counted."
+ ::= { system 7 }
+
+
+
+
+
+
+ -- the Interfaces group
+
+ -- Implementation of the Interfaces group is mandatory for
+ -- all systems.
+
+ ifNumber OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of network interfaces (regardless of
+ their current state) present on this system."
+ ::= { interfaces 1 }
+
+
+ -- the Interfaces table
+
+ -- The Interfaces table contains information on the entity's
+ -- interfaces. Each interface is thought of as being
+ -- attached to a `subnetwork'. Note that this term should
+ -- not be confused with `subnet' which refers to an
+ -- addressing partitioning scheme used in the Internet suite
+ -- of protocols.
+
+ ifTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of interface entries. The number of
+ entries is given by the value of ifNumber."
+ ::= { interfaces 2 }
+
+ ifEntry OBJECT-TYPE
+ SYNTAX IfEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An interface entry containing objects at the
+ subnetwork layer and below for a particular
+ interface."
+ INDEX { ifIndex }
+ ::= { ifTable 1 }
+
+ IfEntry ::=
+ SEQUENCE {
+ ifIndex
+ INTEGER,
+ ifDescr
+ DisplayString,
+ ifType
+ INTEGER,
+ ifMtu
+ INTEGER,
+ ifSpeed
+ Gauge,
+ ifPhysAddress
+ PhysAddress,
+ ifAdminStatus
+ INTEGER,
+ ifOperStatus
+ INTEGER,
+ ifLastChange
+ TimeTicks,
+ ifInOctets
+ Counter,
+ ifInUcastPkts
+ Counter,
+ ifInNUcastPkts
+ Counter,
+ ifInDiscards
+ Counter,
+ ifInErrors
+ Counter,
+ ifInUnknownProtos
+ Counter,
+ ifOutOctets
+ Counter,
+ ifOutUcastPkts
+ Counter,
+ ifOutNUcastPkts
+ Counter,
+ ifOutDiscards
+ Counter,
+ ifOutErrors
+ Counter,
+ ifOutQLen
+ Gauge,
+ ifSpecific
+ OBJECT IDENTIFIER
+ }
+
+ ifIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+
+
+
+
+
+ DESCRIPTION
+ "A unique value for each interface. Its value
+ ranges between 1 and the value of ifNumber. The
+ value for each interface must remain constant at
+ least from one re-initialization of the entity's
+ network management system to the next re-
+ initialization."
+ ::= { ifEntry 1 }
+
+ ifDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string containing information about the
+ interface. This string should include the name of
+ the manufacturer, the product name and the version
+ of the hardware interface."
+ ::= { ifEntry 2 }
+
+ ifType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ regular1822(2),
+ hdh1822(3),
+ ddn-x25(4),
+ rfc877-x25(5),
+ ethernet-csmacd(6),
+ iso88023-csmacd(7),
+ iso88024-tokenBus(8),
+ iso88025-tokenRing(9),
+ iso88026-man(10),
+ starLan(11),
+ proteon-10Mbit(12),
+ proteon-80Mbit(13),
+ hyperchannel(14),
+ fddi(15),
+ lapb(16),
+ sdlc(17),
+ ds1(18), -- T-1
+ e1(19), -- european equiv. of T-1
+ basicISDN(20),
+ primaryISDN(21), -- proprietary serial
+ propPointToPointSerial(22),
+ ppp(23),
+ softwareLoopback(24),
+ eon(25), -- CLNP over IP [11]
+ ethernet-3Mbit(26),
+
+
+
+
+
+ nsip(27), -- XNS over IP
+ slip(28), -- generic SLIP
+ ultra(29), -- ULTRA technologies
+ ds3(30), -- T-3
+ sip(31), -- SMDS
+ frame-relay(32)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The type of interface, distinguished according to
+ the physical/link protocol(s) immediately `below'
+ the network layer in the protocol stack."
+ ::= { ifEntry 3 }
+
+ ifMtu OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The size of the largest datagram which can be
+ sent/received on the interface, specified in
+ octets. For interfaces that are used for
+ transmitting network datagrams, this is the size
+ of the largest network datagram that can be sent
+ on the interface."
+ ::= { ifEntry 4 }
+
+ ifSpeed OBJECT-TYPE
+ SYNTAX Gauge
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An estimate of the interface's current bandwidth
+ in bits per second. For interfaces which do not
+ vary in bandwidth or for those where no accurate
+ estimation can be made, this object should contain
+ the nominal bandwidth."
+ ::= { ifEntry 5 }
+
+ ifPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The interface's address at the protocol layer
+ immediately `below' the network layer in the
+ protocol stack. For interfaces which do not have
+
+
+
+
+
+ such an address (e.g., a serial line), this object
+ should contain an octet string of zero length."
+ ::= { ifEntry 6 }
+
+ ifAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3) -- in some test mode
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The desired state of the interface. The
+ testing(3) state indicates that no operational
+ packets can be passed."
+ ::= { ifEntry 7 }
+
+ ifOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3) -- in some test mode
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The current operational state of the interface.
+ The testing(3) state indicates that no operational
+ packets can be passed."
+ ::= { ifEntry 8 }
+
+ ifLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the time the interface
+ entered its current operational state. If the
+ current state was entered prior to the last re-
+ initialization of the local network management
+ subsystem, then this object contains a zero
+ value."
+ ::= { ifEntry 9 }
+
+ ifInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+
+
+
+
+
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets received on the
+ interface, including framing characters."
+ ::= { ifEntry 10 }
+
+ ifInUcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of subnetwork-unicast packets
+ delivered to a higher-layer protocol."
+ ::= { ifEntry 11 }
+
+ ifInNUcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of non-unicast (i.e., subnetwork-
+ broadcast or subnetwork-multicast) packets
+ delivered to a higher-layer protocol."
+ ::= { ifEntry 12 }
+
+ ifInDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of inbound packets which were chosen
+ to be discarded even though no errors had been
+ detected to prevent their being deliverable to a
+ higher-layer protocol. One possible reason for
+ discarding such a packet could be to free up
+ buffer space."
+ ::= { ifEntry 13 }
+
+ ifInErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of inbound packets that contained
+ errors preventing them from being deliverable to a
+ higher-layer protocol."
+ ::= { ifEntry 14 }
+
+
+
+
+
+
+ ifInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets received via the interface
+ which were discarded because of an unknown or
+ unsupported protocol."
+ ::= { ifEntry 15 }
+
+ ifOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets transmitted out of the
+ interface, including framing characters."
+ ::= { ifEntry 16 }
+
+ ifOutUcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets that higher-level
+ protocols requested be transmitted to a
+ subnetwork-unicast address, including those that
+ were discarded or not sent."
+ ::= { ifEntry 17 }
+
+ ifOutNUcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets that higher-level
+ protocols requested be transmitted to a non-
+ unicast (i.e., a subnetwork-broadcast or
+ subnetwork-multicast) address, including those
+ that were discarded or not sent."
+ ::= { ifEntry 18 }
+
+ ifOutDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of outbound packets which were chosen
+
+
+
+
+
+ to be discarded even though no errors had been
+ detected to prevent their being transmitted. One
+ possible reason for discarding such a packet could
+ be to free up buffer space."
+ ::= { ifEntry 19 }
+
+ ifOutErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of outbound packets that could not be
+ transmitted because of errors."
+ ::= { ifEntry 20 }
+
+ ifOutQLen OBJECT-TYPE
+ SYNTAX Gauge
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The length of the output packet queue (in
+ packets)."
+ ::= { ifEntry 21 }
+
+ ifSpecific OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A reference to MIB definitions specific to the
+ particular media being used to realize the
+ interface. For example, if the interface is
+ realized by an ethernet, then the value of this
+ object refers to a document defining objects
+ specific to ethernet. If this information is not
+ present, its value should be set to the OBJECT
+ IDENTIFIER { 0 0 }, which is a syntatically valid
+ object identifier, and any conformant
+ implementation of ASN.1 and BER must be able to
+ generate and recognize this value."
+ ::= { ifEntry 22 }
+
+
+ -- the Address Translation group
+
+ -- Implementation of the Address Translation group is
+ -- mandatory for all systems. Note however that this group
+ -- is deprecated by MIB-II. That is, it is being included
+
+
+
+
+
+ -- solely for compatibility with MIB-I nodes, and will most
+ -- likely be excluded from MIB-III nodes. From MIB-II and
+ -- onwards, each network protocol group contains its own
+ -- address translation tables.
+
+ -- The Address Translation group contains one table which is
+ -- the union across all interfaces of the translation tables
+ -- for converting a NetworkAddress (e.g., an IP address) into
+ -- a subnetwork-specific address. For lack of a better term,
+ -- this document refers to such a subnetwork-specific address
+ -- as a `physical' address.
+
+ -- Examples of such translation tables are: for broadcast
+ -- media where ARP is in use, the translation table is
+ -- equivalent to the ARP cache; or, on an X.25 network where
+ -- non-algorithmic translation to X.121 addresses is
+ -- required, the translation table contains the
+ -- NetworkAddress to X.121 address equivalences.
+
+ atTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AtEntry
+ ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The Address Translation tables contain the
+ NetworkAddress to `physical' address equivalences.
+ Some interfaces do not use translation tables for
+ determining address equivalences (e.g., DDN-X.25
+ has an algorithmic method); if all interfaces are
+ of this type, then the Address Translation table
+ is empty, i.e., has zero entries."
+ ::= { at 1 }
+
+ atEntry OBJECT-TYPE
+ SYNTAX AtEntry
+ ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "Each entry contains one NetworkAddress to
+ `physical' address equivalence."
+ INDEX { atIfIndex,
+ atNetAddress }
+ ::= { atTable 1 }
+
+ AtEntry ::=
+ SEQUENCE {
+ atIfIndex
+ INTEGER,
+
+
+
+
+
+ atPhysAddress
+ PhysAddress,
+ atNetAddress
+ NetworkAddress
+ }
+
+ atIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The interface on which this entry's equivalence
+ is effective. The interface identified by a
+ particular value of this index is the same
+ interface as identified by the same value of
+ ifIndex."
+ ::= { atEntry 1 }
+
+ atPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The media-dependent `physical' address.
+
+ Setting this object to a null string (one of zero
+ length) has the effect of invaliding the
+ corresponding entry in the atTable object. That
+ is, it effectively dissasociates the interface
+ identified with said entry from the mapping
+ identified with said entry. It is an
+ implementation-specific matter as to whether the
+ agent removes an invalidated entry from the table.
+ Accordingly, management stations must be prepared
+ to receive tabular information from agents that
+ corresponds to entries not currently in use.
+ Proper interpretation of such entries requires
+ examination of the relevant atPhysAddress object."
+ ::= { atEntry 2 }
+
+ atNetAddress OBJECT-TYPE
+ SYNTAX NetworkAddress
+ ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The NetworkAddress (e.g., the IP address)
+ corresponding to the media-dependent `physical'
+ address."
+
+
+
+
+
+ ::= { atEntry 3 }
+
+
+ -- the IP group
+
+ -- Implementation of the IP group is mandatory for all
+ -- systems.
+
+ ipForwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ forwarding(1), -- acting as a gateway
+ not-forwarding(2) -- NOT acting as a gateway
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The indication of whether this entity is acting
+ as an IP gateway in respect to the forwarding of
+ datagrams received by, but not addressed to, this
+ entity. IP gateways forward datagrams. IP hosts
+ do not (except those source-routed via the host).
+
+ Note that for some managed nodes, this object may
+ take on only a subset of the values possible.
+ Accordingly, it is appropriate for an agent to
+ return a `badValue' response if a management
+ station attempts to change this object to an
+ inappropriate value."
+ ::= { ip 1 }
+
+ ipDefaultTTL OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The default value inserted into the Time-To-Live
+ field of the IP header of datagrams originated at
+ this entity, whenever a TTL value is not supplied
+ by the transport layer protocol."
+ ::= { ip 2 }
+
+ ipInReceives OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of input datagrams received from
+ interfaces, including those received in error."
+
+
+
+
+
+ ::= { ip 3 }
+
+ ipInHdrErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input datagrams discarded due to
+ errors in their IP headers, including bad
+ checksums, version number mismatch, other format
+ errors, time-to-live exceeded, errors discovered
+ in processing their IP options, etc."
+ ::= { ip 4 }
+
+ ipInAddrErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input datagrams discarded because
+ the IP address in their IP header's destination
+ field was not a valid address to be received at
+ this entity. This count includes invalid
+ addresses (e.g., 0.0.0.0) and addresses of
+ unsupported Classes (e.g., Class E). For entities
+ which are not IP Gateways and therefore do not
+ forward datagrams, this counter includes datagrams
+ discarded because the destination address was not
+ a local address."
+ ::= { ip 5 }
+
+ ipForwDatagrams OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input datagrams for which this
+ entity was not their final IP destination, as a
+ result of which an attempt was made to find a
+ route to forward them to that final destination.
+ In entities which do not act as IP Gateways, this
+ counter will include only those packets which were
+ Source-Routed via this entity, and the Source-
+ Route option processing was successful."
+ ::= { ip 6 }
+
+ ipInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter
+
+
+
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of locally-addressed datagrams
+ received successfully but discarded because of an
+ unknown or unsupported protocol."
+ ::= { ip 7 }
+
+ ipInDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input IP datagrams for which no
+ problems were encountered to prevent their
+ continued processing, but which were discarded
+ (e.g., for lack of buffer space). Note that this
+ counter does not include any datagrams discarded
+ while awaiting re-assembly."
+ ::= { ip 8 }
+
+ ipInDelivers OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of input datagrams successfully
+ delivered to IP user-protocols (including ICMP)."
+ ::= { ip 9 }
+
+ ipOutRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of IP datagrams which local IP
+ user-protocols (including ICMP) supplied to IP in
+ requests for transmission. Note that this counter
+ does not include any datagrams counted in
+ ipForwDatagrams."
+ ::= { ip 10 }
+
+ ipOutDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of output IP datagrams for which no
+
+
+
+
+
+ problem was encountered to prevent their
+ transmission to their destination, but which were
+ discarded (e.g., for lack of buffer space). Note
+ that this counter would include datagrams counted
+ in ipForwDatagrams if any such packets met this
+ (discretionary) discard criterion."
+ ::= { ip 11 }
+
+ ipOutNoRoutes OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP datagrams discarded because no
+ route could be found to transmit them to their
+ destination. Note that this counter includes any
+ packets counted in ipForwDatagrams which meet this
+ `no-route' criterion. Note that this includes any
+ datagarms which a host cannot route because all of
+ its default gateways are down."
+ ::= { ip 12 }
+
+ ipReasmTimeout OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of seconds which received
+ fragments are held while they are awaiting
+ reassembly at this entity."
+ ::= { ip 13 }
+
+ ipReasmReqds OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP fragments received which needed
+ to be reassembled at this entity."
+ ::= { ip 14 }
+
+ ipReasmOKs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP datagrams successfully re-
+ assembled."
+
+
+
+
+
+ ::= { ip 15 }
+
+ ipReasmFails OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of failures detected by the IP re-
+ assembly algorithm (for whatever reason: timed
+ out, errors, etc). Note that this is not
+ necessarily a count of discarded IP fragments
+ since some algorithms (notably the algorithm in
+ RFC 815) can lose track of the number of fragments
+ by combining them as they are received."
+ ::= { ip 16 }
+
+ ipFragOKs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP datagrams that have been
+ successfully fragmented at this entity."
+ ::= { ip 17 }
+
+ ipFragFails OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP datagrams that have been
+ discarded because they needed to be fragmented at
+ this entity but could not be, e.g., because their
+ Don't Fragment flag was set."
+ ::= { ip 18 }
+
+ ipFragCreates OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP datagram fragments that have
+ been generated as a result of fragmentation at
+ this entity."
+ ::= { ip 19 }
+
+
+
+
+
+
+
+
+ -- the IP address table
+
+ -- The IP address table contains this entity's IP addressing
+ -- information.
+
+ ipAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpAddrEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of addressing information relevant to
+ this entity's IP addresses."
+ ::= { ip 20 }
+
+ ipAddrEntry OBJECT-TYPE
+ SYNTAX IpAddrEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The addressing information for one of this
+ entity's IP addresses."
+ INDEX { ipAdEntAddr }
+ ::= { ipAddrTable 1 }
+
+ IpAddrEntry ::=
+ SEQUENCE {
+ ipAdEntAddr
+ IpAddress,
+ ipAdEntIfIndex
+ INTEGER,
+ ipAdEntNetMask
+ IpAddress,
+ ipAdEntBcastAddr
+ INTEGER,
+ ipAdEntReasmMaxSize
+ INTEGER (0..65535)
+ }
+
+ ipAdEntAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address to which this entry's addressing
+ information pertains."
+ ::= { ipAddrEntry 1 }
+
+
+
+
+
+
+
+ ipAdEntIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The index value which uniquely identifies the
+ interface to which this entry is applicable. The
+ interface identified by a particular value of this
+ index is the same interface as identified by the
+ same value of ifIndex."
+ ::= { ipAddrEntry 2 }
+
+ ipAdEntNetMask OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The subnet mask associated with the IP address of
+ this entry. The value of the mask is an IP
+ address with all the network bits set to 1 and all
+ the hosts bits set to 0."
+ ::= { ipAddrEntry 3 }
+
+ ipAdEntBcastAddr OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of the least-significant bit in the IP
+ broadcast address used for sending datagrams on
+ the (logical) interface associated with the IP
+ address of this entry. For example, when the
+ Internet standard all-ones broadcast address is
+ used, the value will be 1. This value applies to
+ both the subnet and network broadcasts addresses
+ used by the entity on this (logical) interface."
+ ::= { ipAddrEntry 4 }
+
+ ipAdEntReasmMaxSize OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The size of the largest IP datagram which this
+ entity can re-assemble from incoming IP fragmented
+ datagrams received on this interface."
+ ::= { ipAddrEntry 5 }
+
+
+
+
+
+
+ -- the IP routing table
+
+ -- The IP routing table contains an entry for each route
+ -- presently known to this entity.
+
+ ipRouteTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpRouteEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "This entity's IP Routing table."
+ ::= { ip 21 }
+
+ ipRouteEntry OBJECT-TYPE
+ SYNTAX IpRouteEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A route to a particular destination."
+ INDEX { ipRouteDest }
+ ::= { ipRouteTable 1 }
+
+ IpRouteEntry ::=
+ SEQUENCE {
+ ipRouteDest
+ IpAddress,
+ ipRouteIfIndex
+ INTEGER,
+ ipRouteMetric1
+ INTEGER,
+ ipRouteMetric2
+ INTEGER,
+ ipRouteMetric3
+ INTEGER,
+ ipRouteMetric4
+ INTEGER,
+ ipRouteNextHop
+ IpAddress,
+ ipRouteType
+ INTEGER,
+ ipRouteProto
+ INTEGER,
+ ipRouteAge
+ INTEGER,
+ ipRouteMask
+ IpAddress,
+ ipRouteMetric5
+ INTEGER,
+
+
+
+
+
+ ipRouteInfo
+ OBJECT IDENTIFIER
+ }
+
+ ipRouteDest OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The destination IP address of this route. An
+ entry with a value of 0.0.0.0 is considered a
+ default route. Multiple routes to a single
+ destination can appear in the table, but access to
+ such multiple entries is dependent on the table-
+ access mechanisms defined by the network
+ management protocol in use."
+ ::= { ipRouteEntry 1 }
+
+ ipRouteIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The index value which uniquely identifies the
+ local interface through which the next hop of this
+ route should be reached. The interface identified
+ by a particular value of this index is the same
+ interface as identified by the same value of
+ ifIndex."
+ ::= { ipRouteEntry 2 }
+
+ ipRouteMetric1 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The primary routing metric for this route. The
+ semantics of this metric are determined by the
+ routing-protocol specified in the route's
+ ipRouteProto value. If this metric is not used,
+ its value should be set to -1."
+ ::= { ipRouteEntry 3 }
+
+ ipRouteMetric2 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+
+
+
+
+
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the
+ routing-protocol specified in the route's
+ ipRouteProto value. If this metric is not used,
+ its value should be set to -1."
+ ::= { ipRouteEntry 4 }
+
+ ipRouteMetric3 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the
+ routing-protocol specified in the route's
+ ipRouteProto value. If this metric is not used,
+ its value should be set to -1."
+ ::= { ipRouteEntry 5 }
+
+ ipRouteMetric4 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the
+ routing-protocol specified in the route's
+ ipRouteProto value. If this metric is not used,
+ its value should be set to -1."
+ ::= { ipRouteEntry 6 }
+
+ ipRouteNextHop OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address of the next hop of this route.
+ (In the case of a route bound to an interface
+ which is realized via a broadcast media, the value
+ of this field is the agent's IP address on that
+ interface.)"
+ ::= { ipRouteEntry 7 }
+
+ ipRouteType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+
+ invalid(2), -- an invalidated route
+
+
+
+
+
+ -- route to directly
+ direct(3), -- connected (sub-)network
+
+ -- route to a non-local
+ indirect(4) -- host/network/sub-network
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of route. Note that the values
+ direct(3) and indirect(4) refer to the notion of
+ direct and indirect routing in the IP
+ architecture.
+
+ Setting this object to the value invalid(2) has
+ the effect of invalidating the corresponding entry
+ in the ipRouteTable object. That is, it
+ effectively dissasociates the destination
+ identified with said entry from the route
+ identified with said entry. It is an
+ implementation-specific matter as to whether the
+ agent removes an invalidated entry from the table.
+ Accordingly, management stations must be prepared
+ to receive tabular information from agents that
+ corresponds to entries not currently in use.
+ Proper interpretation of such entries requires
+ examination of the relevant ipRouteType object."
+ ::= { ipRouteEntry 8 }
+
+ ipRouteProto OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+
+ -- non-protocol information,
+ -- e.g., manually configured
+ local(2), -- entries
+
+ -- set via a network
+ netmgmt(3), -- management protocol
+
+ -- obtained via ICMP,
+ icmp(4), -- e.g., Redirect
+
+ -- the remaining values are
+ -- all gateway routing
+ -- protocols
+ egp(5),
+ ggp(6),
+
+
+
+
+
+ hello(7),
+ rip(8),
+ is-is(9),
+ es-is(10),
+ ciscoIgrp(11),
+ bbnSpfIgp(12),
+ ospf(13),
+ bgp(14)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The routing mechanism via which this route was
+ learned. Inclusion of values for gateway routing
+ protocols is not intended to imply that hosts
+ should support those protocols."
+ ::= { ipRouteEntry 9 }
+
+ ipRouteAge OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The number of seconds since this route was last
+ updated or otherwise determined to be correct.
+ Note that no semantics of `too old' can be implied
+ except through knowledge of the routing protocol
+ by which the route was learned."
+ ::= { ipRouteEntry 10 }
+
+ ipRouteMask OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Indicate the mask to be logical-ANDed with the
+ destination address before being compared to the
+ value in the ipRouteDest field. For those systems
+ that do not support arbitrary subnet masks, an
+ agent constructs the value of the ipRouteMask by
+ determining whether the value of the correspondent
+ ipRouteDest field belong to a class-A, B, or C
+ network, and then using one of:
+
+ mask network
+ 255.0.0.0 class-A
+ 255.255.0.0 class-B
+ 255.255.255.0 class-C
+
+
+
+
+
+ If the value of the ipRouteDest is 0.0.0.0 (a
+ default route), then the mask value is also
+ 0.0.0.0. It should be noted that all IP routing
+ subsystems implicitly use this mechanism."
+ ::= { ipRouteEntry 11 }
+
+ ipRouteMetric5 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the
+ routing-protocol specified in the route's
+ ipRouteProto value. If this metric is not used,
+ its value should be set to -1."
+ ::= { ipRouteEntry 12 }
+
+ ipRouteInfo OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A reference to MIB definitions specific to the
+ particular routing protocol which is responsible
+ for this route, as determined by the value
+ specified in the route's ipRouteProto value. If
+ this information is not present, its value should
+ be set to the OBJECT IDENTIFIER { 0 0 }, which is
+ a syntatically valid object identifier, and any
+ conformant implementation of ASN.1 and BER must be
+ able to generate and recognize this value."
+ ::= { ipRouteEntry 13 }
+
+
+ -- the IP Address Translation table
+
+ -- The IP address translation table contain the IpAddress to
+ -- `physical' address equivalences. Some interfaces do not
+ -- use translation tables for determining address
+ -- equivalences (e.g., DDN-X.25 has an algorithmic method);
+ -- if all interfaces are of this type, then the Address
+ -- Translation table is empty, i.e., has zero entries.
+
+ ipNetToMediaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpNetToMediaEntry
+ ACCESS not-accessible
+ STATUS mandatory
+
+
+
+
+
+ DESCRIPTION
+ "The IP Address Translation table used for mapping
+ from IP addresses to physical addresses."
+ ::= { ip 22 }
+
+ ipNetToMediaEntry OBJECT-TYPE
+ SYNTAX IpNetToMediaEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Each entry contains one IpAddress to `physical'
+ address equivalence."
+ INDEX { ipNetToMediaIfIndex,
+ ipNetToMediaNetAddress }
+ ::= { ipNetToMediaTable 1 }
+
+ IpNetToMediaEntry ::=
+ SEQUENCE {
+ ipNetToMediaIfIndex
+ INTEGER,
+ ipNetToMediaPhysAddress
+ PhysAddress,
+ ipNetToMediaNetAddress
+ IpAddress,
+ ipNetToMediaType
+ INTEGER
+ }
+
+ ipNetToMediaIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The interface on which this entry's equivalence
+ is effective. The interface identified by a
+ particular value of this index is the same
+ interface as identified by the same value of
+ ifIndex."
+ ::= { ipNetToMediaEntry 1 }
+
+ ipNetToMediaPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The media-dependent `physical' address."
+ ::= { ipNetToMediaEntry 2 }
+
+
+
+
+
+
+ ipNetToMediaNetAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IpAddress corresponding to the media-
+ dependent `physical' address."
+ ::= { ipNetToMediaEntry 3 }
+
+ ipNetToMediaType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ invalid(2), -- an invalidated mapping
+ dynamic(3),
+ static(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of mapping.
+
+ Setting this object to the value invalid(2) has
+ the effect of invalidating the corresponding entry
+ in the ipNetToMediaTable. That is, it effectively
+ dissasociates the interface identified with said
+ entry from the mapping identified with said entry.
+ It is an implementation-specific matter as to
+ whether the agent removes an invalidated entry
+ from the table. Accordingly, management stations
+ must be prepared to receive tabular information
+ from agents that corresponds to entries not
+ currently in use. Proper interpretation of such
+ entries requires examination of the relevant
+ ipNetToMediaType object."
+ ::= { ipNetToMediaEntry 4 }
+
+
+ -- additional IP objects
+
+ ipRoutingDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of routing entries which were chosen
+ to be discarded even though they are valid. One
+ possible reason for discarding such an entry could
+ be to free-up buffer space for other routing
+
+
+
+
+
+ entries."
+ ::= { ip 23 }
+
+
+ -- the ICMP group
+
+ -- Implementation of the ICMP group is mandatory for all
+ -- systems.
+
+ icmpInMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of ICMP messages which the
+ entity received. Note that this counter includes
+ all those counted by icmpInErrors."
+ ::= { icmp 1 }
+
+ icmpInErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP messages which the entity
+ received but determined as having ICMP-specific
+ errors (bad ICMP checksums, bad length, etc.)."
+ ::= { icmp 2 }
+
+ icmpInDestUnreachs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable
+ messages received."
+ ::= { icmp 3 }
+
+ icmpInTimeExcds OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages
+ received."
+ ::= { icmp 4 }
+
+
+
+
+
+
+
+ icmpInParmProbs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages
+ received."
+ ::= { icmp 5 }
+
+ icmpInSrcQuenchs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Source Quench messages
+ received."
+ ::= { icmp 6 }
+
+ icmpInRedirects OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Redirect messages received."
+ ::= { icmp 7 }
+
+ icmpInEchos OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages
+ received."
+ ::= { icmp 8 }
+
+ icmpInEchoReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages received."
+ ::= { icmp 9 }
+
+ icmpInTimestamps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+
+
+
+
+
+ "The number of ICMP Timestamp (request) messages
+ received."
+ ::= { icmp 10 }
+
+ icmpInTimestampReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Timestamp Reply messages
+ received."
+ ::= { icmp 11 }
+
+ icmpInAddrMasks OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Address Mask Request messages
+ received."
+ ::= { icmp 12 }
+
+ icmpInAddrMaskReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Address Mask Reply messages
+ received."
+ ::= { icmp 13 }
+
+ icmpOutMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of ICMP messages which this
+ entity attempted to send. Note that this counter
+ includes all those counted by icmpOutErrors."
+ ::= { icmp 14 }
+
+ icmpOutErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP messages which this entity did
+ not send due to problems discovered within ICMP
+
+
+
+
+
+ such as a lack of buffers. This value should not
+ include errors discovered outside the ICMP layer
+ such as the inability of IP to route the resultant
+ datagram. In some implementations there may be no
+ types of error which contribute to this counter's
+ value."
+ ::= { icmp 15 }
+
+ icmpOutDestUnreachs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable
+ messages sent."
+ ::= { icmp 16 }
+
+ icmpOutTimeExcds OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages sent."
+ ::= { icmp 17 }
+
+ icmpOutParmProbs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages
+ sent."
+ ::= { icmp 18 }
+
+ icmpOutSrcQuenchs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Source Quench messages sent."
+ ::= { icmp 19 }
+
+ icmpOutRedirects OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Redirect messages sent. For a
+
+
+
+
+
+ host, this object will always be zero, since hosts
+ do not send redirects."
+ ::= { icmp 20 }
+
+ icmpOutEchos OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages sent."
+ ::= { icmp 21 }
+
+ icmpOutEchoReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages sent."
+ ::= { icmp 22 }
+
+ icmpOutTimestamps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Timestamp (request) messages
+ sent."
+ ::= { icmp 23 }
+
+ icmpOutTimestampReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Timestamp Reply messages
+ sent."
+ ::= { icmp 24 }
+
+ icmpOutAddrMasks OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Address Mask Request messages
+ sent."
+ ::= { icmp 25 }
+
+
+
+
+
+
+
+ icmpOutAddrMaskReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Address Mask Reply messages
+ sent."
+ ::= { icmp 26 }
+
+
+ -- the TCP group
+
+ -- Implementation of the TCP group is mandatory for all
+ -- systems that implement the TCP.
+
+ -- Note that instances of object types that represent
+ -- information about a particular TCP connection are
+ -- transient; they persist only as long as the connection
+ -- in question.
+
+ tcpRtoAlgorithm OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+
+ constant(2), -- a constant rto
+ rsre(3), -- MIL-STD-1778, Appendix B
+ vanj(4) -- Van Jacobson's algorithm [10]
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The algorithm used to determine the timeout value
+ used for retransmitting unacknowledged octets."
+ ::= { tcp 1 }
+
+ tcpRtoMin OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The minimum value permitted by a TCP
+ implementation for the retransmission timeout,
+ measured in milliseconds. More refined semantics
+ for objects of this type depend upon the algorithm
+ used to determine the retransmission timeout. In
+ particular, when the timeout algorithm is rsre(3),
+ an object of this type has the semantics of the
+ LBOUND quantity described in RFC 793."
+
+
+
+
+
+ ::= { tcp 2 }
+
+
+ tcpRtoMax OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum value permitted by a TCP
+ implementation for the retransmission timeout,
+ measured in milliseconds. More refined semantics
+ for objects of this type depend upon the algorithm
+ used to determine the retransmission timeout. In
+ particular, when the timeout algorithm is rsre(3),
+ an object of this type has the semantics of the
+ UBOUND quantity described in RFC 793."
+ ::= { tcp 3 }
+
+ tcpMaxConn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The limit on the total number of TCP connections
+ the entity can support. In entities where the
+ maximum number of connections is dynamic, this
+ object should contain the value -1."
+ ::= { tcp 4 }
+
+ tcpActiveOpens OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times TCP connections have made a
+ direct transition to the SYN-SENT state from the
+ CLOSED state."
+ ::= { tcp 5 }
+
+ tcpPassiveOpens OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times TCP connections have made a
+ direct transition to the SYN-RCVD state from the
+ LISTEN state."
+ ::= { tcp 6 }
+
+
+
+
+
+ tcpAttemptFails OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times TCP connections have made a
+ direct transition to the CLOSED state from either
+ the SYN-SENT state or the SYN-RCVD state, plus the
+ number of times TCP connections have made a direct
+ transition to the LISTEN state from the SYN-RCVD
+ state."
+ ::= { tcp 7 }
+
+ tcpEstabResets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times TCP connections have made a
+ direct transition to the CLOSED state from either
+ the ESTABLISHED state or the CLOSE-WAIT state."
+ ::= { tcp 8 }
+
+ tcpCurrEstab OBJECT-TYPE
+ SYNTAX Gauge
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of TCP connections for which the
+ current state is either ESTABLISHED or CLOSE-
+ WAIT."
+ ::= { tcp 9 }
+
+ tcpInSegs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of segments received, including
+ those received in error. This count includes
+ segments received on currently established
+ connections."
+ ::= { tcp 10 }
+
+ tcpOutSegs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+
+
+
+
+
+ DESCRIPTION
+ "The total number of segments sent, including
+ those on current connections but excluding those
+ containing only retransmitted octets."
+ ::= { tcp 11 }
+
+ tcpRetransSegs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of segments retransmitted - that
+ is, the number of TCP segments transmitted
+ containing one or more previously transmitted
+ octets."
+ ::= { tcp 12 }
+
+
+ -- the TCP Connection table
+
+ -- The TCP connection table contains information about this
+ -- entity's existing TCP connections.
+
+ tcpConnTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TcpConnEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A table containing TCP connection-specific
+ information."
+ ::= { tcp 13 }
+
+ tcpConnEntry OBJECT-TYPE
+ SYNTAX TcpConnEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Information about a particular current TCP
+ connection. An object of this type is transient,
+ in that it ceases to exist when (or soon after)
+ the connection makes the transition to the CLOSED
+ state."
+ INDEX { tcpConnLocalAddress,
+ tcpConnLocalPort,
+ tcpConnRemAddress,
+ tcpConnRemPort }
+ ::= { tcpConnTable 1 }
+
+
+
+
+
+
+ TcpConnEntry ::=
+ SEQUENCE {
+ tcpConnState
+ INTEGER,
+ tcpConnLocalAddress
+ IpAddress,
+ tcpConnLocalPort
+ INTEGER (0..65535),
+ tcpConnRemAddress
+ IpAddress,
+ tcpConnRemPort
+ INTEGER (0..65535)
+ }
+
+ tcpConnState OBJECT-TYPE
+ SYNTAX INTEGER {
+ closed(1),
+ listen(2),
+ synSent(3),
+ synReceived(4),
+ established(5),
+ finWait1(6),
+ finWait2(7),
+ closeWait(8),
+ lastAck(9),
+ closing(10),
+ timeWait(11),
+ deleteTCB(12)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The state of this TCP connection.
+
+ The only value which may be set by a management
+ station is deleteTCB(12). Accordingly, it is
+ appropriate for an agent to return a `badValue'
+ response if a management station attempts to set
+ this object to any other value.
+
+ If a management station sets this object to the
+ value deleteTCB(12), then this has the effect of
+ deleting the TCB (as defined in RFC 793) of the
+ corresponding connection on the managed node,
+ resulting in immediate termination of the
+ connection.
+
+ As an implementation-specific option, a RST
+
+
+
+
+
+ segment may be sent from the managed node to the
+ other TCP endpoint (note however that RST segments
+ are not sent reliably)."
+ ::= { tcpConnEntry 1 }
+
+ tcpConnLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The local IP address for this TCP connection. In
+ the case of a connection in the listen state which
+ is willing to accept connections for any IP
+ interface associated with the node, the value
+ 0.0.0.0 is used."
+ ::= { tcpConnEntry 2 }
+
+ tcpConnLocalPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The local port number for this TCP connection."
+ ::= { tcpConnEntry 3 }
+
+ tcpConnRemAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The remote IP address for this TCP connection."
+ ::= { tcpConnEntry 4 }
+
+ tcpConnRemPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The remote port number for this TCP connection."
+ ::= { tcpConnEntry 5 }
+
+
+ -- additional TCP objects
+
+ tcpInErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+
+
+
+
+
+ DESCRIPTION
+ "The total number of segments received in error
+ (e.g., bad TCP checksums)."
+ ::= { tcp 14 }
+
+ tcpOutRsts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of TCP segments sent containing the
+ RST flag."
+ ::= { tcp 15 }
+
+
+ -- the UDP group
+
+ -- Implementation of the UDP group is mandatory for all
+ -- systems which implement the UDP.
+
+ udpInDatagrams OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of UDP datagrams delivered to
+ UDP users."
+ ::= { udp 1 }
+
+ udpNoPorts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of received UDP datagrams for
+ which there was no application at the destination
+ port."
+ ::= { udp 2 }
+
+ udpInErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of received UDP datagrams that could
+ not be delivered for reasons other than the lack
+ of an application at the destination port."
+ ::= { udp 3 }
+
+
+
+
+
+ udpOutDatagrams OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of UDP datagrams sent from this
+ entity."
+ ::= { udp 4 }
+
+
+ -- the UDP Listener table
+
+ -- The UDP listener table contains information about this
+ -- entity's UDP end-points on which a local application is
+ -- currently accepting datagrams.
+
+ udpTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UdpEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A table containing UDP listener information."
+ ::= { udp 5 }
+
+ udpEntry OBJECT-TYPE
+ SYNTAX UdpEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Information about a particular current UDP
+ listener."
+ INDEX { udpLocalAddress, udpLocalPort }
+ ::= { udpTable 1 }
+
+ UdpEntry ::=
+ SEQUENCE {
+ udpLocalAddress
+ IpAddress,
+ udpLocalPort
+ INTEGER (0..65535)
+ }
+
+ udpLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The local IP address for this UDP listener. In
+
+
+
+
+
+ the case of a UDP listener which is willing to
+ accept datagrams for any IP interface associated
+ with the node, the value 0.0.0.0 is used."
+ ::= { udpEntry 1 }
+
+ udpLocalPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The local port number for this UDP listener."
+ ::= { udpEntry 2 }
+
+
+ -- the EGP group
+
+ -- Implementation of the EGP group is mandatory for all
+ -- systems which implement the EGP.
+
+ egpInMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP messages received without
+ error."
+ ::= { egp 1 }
+
+ egpInErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP messages received that proved
+ to be in error."
+ ::= { egp 2 }
+
+ egpOutMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of locally generated EGP
+ messages."
+ ::= { egp 3 }
+
+ egpOutErrors OBJECT-TYPE
+ SYNTAX Counter
+
+
+
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of locally generated EGP messages not
+ sent due to resource limitations within an EGP
+ entity."
+ ::= { egp 4 }
+
+
+ -- the EGP Neighbor table
+
+ -- The EGP neighbor table contains information about this
+ -- entity's EGP neighbors.
+
+ egpNeighTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EgpNeighEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The EGP neighbor table."
+ ::= { egp 5 }
+
+ egpNeighEntry OBJECT-TYPE
+ SYNTAX EgpNeighEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Information about this entity's relationship with
+ a particular EGP neighbor."
+ INDEX { egpNeighAddr }
+ ::= { egpNeighTable 1 }
+
+ EgpNeighEntry ::=
+ SEQUENCE {
+ egpNeighState
+ INTEGER,
+ egpNeighAddr
+ IpAddress,
+ egpNeighAs
+ INTEGER,
+ egpNeighInMsgs
+ Counter,
+ egpNeighInErrs
+ Counter,
+ egpNeighOutMsgs
+ Counter,
+ egpNeighOutErrs
+ Counter,
+
+
+
+
+
+ egpNeighInErrMsgs
+ Counter,
+ egpNeighOutErrMsgs
+ Counter,
+ egpNeighStateUps
+ Counter,
+ egpNeighStateDowns
+ Counter,
+ egpNeighIntervalHello
+ INTEGER,
+ egpNeighIntervalPoll
+ INTEGER,
+ egpNeighMode
+ INTEGER,
+ egpNeighEventTrigger
+ INTEGER
+ }
+
+ egpNeighState OBJECT-TYPE
+ SYNTAX INTEGER {
+ idle(1),
+ acquisition(2),
+ down(3),
+ up(4),
+ cease(5)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The EGP state of the local system with respect to
+ this entry's EGP neighbor. Each EGP state is
+ represented by a value that is one greater than
+ the numerical value associated with said state in
+ RFC 904."
+ ::= { egpNeighEntry 1 }
+
+ egpNeighAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address of this entry's EGP neighbor."
+ ::= { egpNeighEntry 2 }
+
+ egpNeighAs OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+
+
+
+
+
+ DESCRIPTION
+ "The autonomous system of this EGP peer. Zero
+ should be specified if the autonomous system
+ number of the neighbor is not yet known."
+ ::= { egpNeighEntry 3 }
+
+ egpNeighInMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP messages received without error
+ from this EGP peer."
+ ::= { egpNeighEntry 4 }
+
+ egpNeighInErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP messages received from this EGP
+ peer that proved to be in error (e.g., bad EGP
+ checksum)."
+ ::= { egpNeighEntry 5 }
+
+ egpNeighOutMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of locally generated EGP messages to
+ this EGP peer."
+ ::= { egpNeighEntry 6 }
+
+ egpNeighOutErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of locally generated EGP messages not
+ sent to this EGP peer due to resource limitations
+ within an EGP entity."
+ ::= { egpNeighEntry 7 }
+
+ egpNeighInErrMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+
+
+
+
+
+ DESCRIPTION
+ "The number of EGP-defined error messages received
+ from this EGP peer."
+ ::= { egpNeighEntry 8 }
+
+ egpNeighOutErrMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP-defined error messages sent to
+ this EGP peer."
+ ::= { egpNeighEntry 9 }
+
+ egpNeighStateUps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP state transitions to the UP
+ state with this EGP peer."
+ ::= { egpNeighEntry 10 }
+
+ egpNeighStateDowns OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP state transitions from the UP
+ state to any other state with this EGP peer."
+ ::= { egpNeighEntry 11 }
+
+ egpNeighIntervalHello OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The interval between EGP Hello command
+ retransmissions (in hundredths of a second). This
+ represents the t1 timer as defined in RFC 904."
+ ::= { egpNeighEntry 12 }
+
+ egpNeighIntervalPoll OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The interval between EGP poll command
+
+
+
+
+
+ retransmissions (in hundredths of a second). This
+ represents the t3 timer as defined in RFC 904."
+ ::= { egpNeighEntry 13 }
+
+ egpNeighMode OBJECT-TYPE
+ SYNTAX INTEGER { active(1), passive(2) }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The polling mode of this EGP entity, either
+ passive or active."
+ ::= { egpNeighEntry 14 }
+
+ egpNeighEventTrigger OBJECT-TYPE
+ SYNTAX INTEGER { start(1), stop(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A control variable used to trigger operator-
+ initiated Start and Stop events. When read, this
+ variable always returns the most recent value that
+ egpNeighEventTrigger was set to. If it has not
+ been set since the last initialization of the
+ network management subsystem on the node, it
+ returns a value of `stop'.
+
+ When set, this variable causes a Start or Stop
+ event on the specified neighbor, as specified on
+ pages 8-10 of RFC 904. Briefly, a Start event
+ causes an Idle peer to begin neighbor acquisition
+ and a non-Idle peer to reinitiate neighbor
+ acquisition. A stop event causes a non-Idle peer
+ to return to the Idle state until a Start event
+ occurs, either via egpNeighEventTrigger or
+ otherwise."
+ ::= { egpNeighEntry 15 }
+
+
+ -- additional EGP objects
+
+ egpAs OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The autonomous system number of this EGP entity."
+ ::= { egp 6 }
+
+
+
+
+
+
+ -- the Transmission group
+
+ -- Based on the transmission media underlying each interface
+ -- on a system, the corresponding portion of the Transmission
+ -- group is mandatory for that system.
+
+ -- When Internet-standard definitions for managing
+ -- transmission media are defined, the transmission group is
+ -- used to provide a prefix for the names of those objects.
+
+ -- Typically, such definitions reside in the experimental
+ -- portion of the MIB until they are "proven", then as a
+ -- part of the Internet standardization process, the
+ -- definitions are accordingly elevated and a new object
+ -- identifier, under the transmission group is defined. By
+ -- convention, the name assigned is:
+ --
+ -- type OBJECT IDENTIFIER ::= { transmission number }
+ --
+ -- where "type" is the symbolic value used for the media in
+ -- the ifType column of the ifTable object, and "number" is
+ -- the actual integer value corresponding to the symbol.
+
+
+ -- the SNMP group
+
+ -- Implementation of the SNMP group is mandatory for all
+ -- systems which support an SNMP protocol entity. Some of
+ -- the objects defined below will be zero-valued in those
+ -- SNMP implementations that are optimized to support only
+ -- those functions specific to either a management agent or
+ -- a management station. In particular, it should be
+ -- observed that the objects below refer to an SNMP entity,
+ -- and there may be several SNMP entities residing on a
+ -- managed node (e.g., if the node is hosting acting as
+ -- a management station).
+
+ snmpInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of Messages delivered to the
+ SNMP entity from the transport service."
+ ::= { snmp 1 }
+
+ snmpOutPkts OBJECT-TYPE
+ SYNTAX Counter
+
+
+
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ passed from the SNMP protocol entity to the
+ transport service."
+ ::= { snmp 2 }
+
+ snmpInBadVersions OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ delivered to the SNMP protocol entity and were for
+ an unsupported SNMP version."
+ ::= { snmp 3 }
+
+ snmpInBadCommunityNames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages delivered to
+ the SNMP protocol entity which used a SNMP
+ community name not known to said entity."
+ ::= { snmp 4 }
+
+ snmpInBadCommunityUses OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages delivered to
+ the SNMP protocol entity which represented an SNMP
+ operation which was not allowed by the SNMP
+ community named in the Message."
+ ::= { snmp 5 }
+
+ snmpInASNParseErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of ASN.1 or BER errors
+ encountered by the SNMP protocol entity when
+ decoding received SNMP Messages."
+ ::= { snmp 6 }
+
+
+
+
+
+ -- { snmp 7 } is not used
+
+ snmpInTooBigs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `tooBig'."
+ ::= { snmp 8 }
+
+ snmpInNoSuchNames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `noSuchName'."
+ ::= { snmp 9 }
+
+ snmpInBadValues OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `badValue'."
+ ::= { snmp 10 }
+
+ snmpInReadOnlys OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number valid SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `readOnly'. It should be noted that it is a
+ protocol error to generate an SNMP PDU which
+ contains the value `readOnly' in the error-status
+ field, as such this object is provided as a means
+ of detecting incorrect implementations of the
+
+
+
+
+
+ SNMP."
+ ::= { snmp 11 }
+
+ snmpInGenErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `genErr'."
+ ::= { snmp 12 }
+
+ snmpInTotalReqVars OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ retrieved successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Get-Request
+ and Get-Next PDUs."
+ ::= { snmp 13 }
+
+ snmpInTotalSetVars OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ altered successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Set-Request
+ PDUs."
+ ::= { snmp 14 }
+
+ snmpInGetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 15 }
+
+ snmpInGetNexts OBJECT-TYPE
+ SYNTAX Counter
+
+
+
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 16 }
+
+ snmpInSetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 17 }
+
+ snmpInGetResponses OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 18 }
+
+ snmpInTraps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 19 }
+
+ snmpOutTooBigs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `tooBig.'"
+ ::= { snmp 20 }
+
+
+
+
+
+ snmpOutNoSuchNames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status is
+ `noSuchName'."
+ ::= { snmp 21 }
+
+ snmpOutBadValues OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `badValue'."
+ ::= { snmp 22 }
+
+ -- { snmp 23 } is not used
+
+ snmpOutGenErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `genErr'."
+ ::= { snmp 24 }
+
+ snmpOutGetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 25 }
+
+ snmpOutGetNexts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+
+
+
+
+
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 26 }
+
+ snmpOutSetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 27 }
+
+ snmpOutGetResponses OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 28 }
+
+ snmpOutTraps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 29 }
+
+ snmpEnableAuthenTraps OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Indicates whether the SNMP agent process is
+ permitted to generate authentication-failure
+ traps. The value of this object overrides any
+ configuration information; as such, it provides a
+ means whereby all authentication-failure traps may
+ be disabled.
+
+ Note that it is strongly recommended that this
+ object be stored in non-volatile memory so that it
+ remains constant between re-initializations of the
+ network management system."
+
+
+
+
+
+ ::= { snmp 30 }
+
+ END
+
diff --git a/lib/snmp/test/test-mibs/RFC1271-MIB.mib b/lib/snmp/test/test-mibs/RFC1271-MIB.mib
new file mode 100644
index 0000000000..25778dede8
--- /dev/null
+++ b/lib/snmp/test/test-mibs/RFC1271-MIB.mib
@@ -0,0 +1,3492 @@
+ RFC1271-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ Counter FROM RFC1155-SMI
+ mib-2,DisplayString FROM RFC1213-MIB
+ OBJECT-TYPE FROM RFC-1212;
+
+ -- This MIB module uses the extended OBJECT-TYPE macro as
+ -- defined in [9].
+
+
+ -- Remote Network Monitoring MIB
+
+ rmon OBJECT IDENTIFIER ::= { mib-2 16 }
+
+
+ -- textual conventions
+
+ OwnerString ::= DisplayString
+ -- This data type is used to model an administratively
+ -- assigned name of the owner of a resource. This
+ -- information is taken from the NVT ASCII character set.
+ -- It is suggested that this name contain one or more
+ -- of the following:
+ -- IP address, management station name, network manager's
+ -- name, location, or phone number.
+ -- In some cases the agent itself will be the owner of
+ -- an entry. In these cases, this string shall be set
+ -- to a string starting with 'monitor'.
+
+
+ --
+ -- SNMP access control is articulated entirely in terms of
+ -- the contents of MIB views; access to a particular SNMP
+ -- object instance depends only upon its presence or
+ -- absence in a particular MIB view and never upon its
+ -- value or the value of related object instances. Thus,
+ -- objects of this type afford resolution of resource
+ -- contention only among cooperating managers; they
+ -- realize no access control function with respect
+ -- to uncooperative parties.
+ --
+ -- By convention, objects with this syntax are declared
+ -- as having
+ --
+ -- SIZE (0..127)
+
+
+ EntryStatus ::= INTEGER
+ { valid(1),
+ createRequest(2),
+ underCreation(3),
+ invalid(4)
+ }
+
+ -- The status of a table entry.
+ --
+ -- Setting this object to the value invalid(4) has the
+ -- effect of invalidating the corresponding entry.
+ -- That is, it effectively disassociates the mapping
+ -- identified with said entry.
+ -- It is an implementation-specific matter as to whether
+ -- the agent removes an invalidated entry from the table.
+ -- Accordingly, management stations must be prepared to
+ -- receive tabular information from agents that corresponds
+ -- to entries currently not in use. Proper
+ -- interpretation of such entries requires examination
+ -- of the relevant EntryStatus object.
+ --
+ -- An existing instance of this object cannot be set to
+ -- createRequest(2). This object may only be set to
+ -- createRequest(2) when this instance is created. When
+ -- this object is created, the agent may wish to create
+ -- supplemental object instances to complete a conceptual
+ -- row in this table. Immediately after completing the
+ -- create operation, the agent must set this object to
+ -- underCreation(3).
+ --
+ -- Entries shall exist in the underCreation(3) state until
+
+
+ -- the management station is finished configuring the
+ -- entry and sets this object to valid(1) or aborts,
+ -- setting this object to invalid(4). If the agent
+ -- determines that an entry has been in the
+ -- underCreation(3) state for an abnormally long time,
+ -- it may decide that the management station has
+ -- crashed. If the agent makes this decision,
+ -- it may set this object to invalid(4) to reclaim the
+ -- entry. A prudent agent will understand that the
+ -- management station may need to wait for human input
+ -- and will allow for that possibility in its
+ -- determination of this abnormally long period.
+
+
+ statistics OBJECT IDENTIFIER ::= { rmon 1 }
+ history OBJECT IDENTIFIER ::= { rmon 2 }
+ alarm OBJECT IDENTIFIER ::= { rmon 3 }
+ hosts OBJECT IDENTIFIER ::= { rmon 4 }
+ hostTopN OBJECT IDENTIFIER ::= { rmon 5 }
+ matrix OBJECT IDENTIFIER ::= { rmon 6 }
+ filter OBJECT IDENTIFIER ::= { rmon 7 }
+ capture OBJECT IDENTIFIER ::= { rmon 8 }
+ event OBJECT IDENTIFIER ::= { rmon 9 }
+
+
+ -- The Statistics Group
+ --
+ -- Implementation of the Statistics group is optional.
+ --
+ -- The statistics group contains statistics measured by the
+ -- probe for each monitored interface on this device. These
+ -- statistics take the form of free running counters that
+ -- start from zero when a valid entry is created.
+ --
+ -- This group currently has statistics defined only for
+ -- Ethernet interfaces. Each etherStatsEntry contains
+ -- statistics for one Ethernet interface. The probe must
+ -- create one etherStats entry for each monitored Ethernet
+ -- interface on the device.
+
+ etherStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EtherStatsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of Ethernet statistics entries."
+ ::= { statistics 1 }
+
+
+
+ etherStatsEntry OBJECT-TYPE
+ SYNTAX EtherStatsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics kept for a particular
+ Ethernet interface."
+ INDEX { etherStatsIndex }
+ ::= { etherStatsTable 1 }
+
+ EtherStatsEntry ::= SEQUENCE {
+ etherStatsIndex INTEGER (1..65535),
+ etherStatsDataSource OBJECT IDENTIFIER,
+ etherStatsDropEvents Counter,
+ etherStatsOctets Counter,
+ etherStatsPkts Counter,
+ etherStatsBroadcastPkts Counter,
+ etherStatsMulticastPkts Counter,
+ etherStatsCRCAlignErrors Counter,
+ etherStatsUndersizePkts Counter,
+ etherStatsOversizePkts Counter,
+ etherStatsFragments Counter,
+ etherStatsJabbers Counter,
+ etherStatsCollisions Counter,
+ etherStatsPkts64Octets Counter,
+ etherStatsPkts65to127Octets Counter,
+ etherStatsPkts128to255Octets Counter,
+ etherStatsPkts256to511Octets Counter,
+ etherStatsPkts512to1023Octets Counter,
+ etherStatsPkts1024to1518Octets Counter,
+ etherStatsOwner OwnerString,
+ etherStatsStatus INTEGER
+ }
+
+ etherStatsIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies this
+ etherStats entry."
+ ::= { etherStatsEntry 1 }
+
+ etherStatsDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "This object identifies the source of the data that
+ this etherStats entry is configured to analyze. This
+ source can be any ethernet interface on this device.
+ In order to identify a particular interface, this
+ object shall identify the instance of the ifIndex
+ object, defined in [4,6], for the desired interface.
+ For example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the
+ identified interface.
+
+ This object may not be modified if the associated
+ etherStatsStatus object is equal to valid(1)."
+ ::= { etherStatsEntry 2 }
+
+ etherStatsDropEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of events in which packets
+ were dropped by the probe due to lack of resources.
+ Note that this number is not necessarily the number of
+ packets dropped; it is just the number of times this
+ condition has been detected."
+ ::= { etherStatsEntry 3 }
+
+ etherStatsOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets of data (including
+ those in bad packets) received on the
+ network (excluding framing bits but including
+ FCS octets)."
+ ::= { etherStatsEntry 4 }
+
+ etherStatsPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including error packets)
+ received."
+ ::= { etherStatsEntry 5 }
+
+
+ etherStatsBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good packets received that were
+ directed to the broadcast address."
+ ::= { etherStatsEntry 6 }
+
+ etherStatsMulticastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good packets received that were
+ directed to a multicast address. Note that this
+ number does not include packets directed to the
+ broadcast address."
+ ::= { etherStatsEntry 7 }
+
+ etherStatsCRCAlignErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received that
+ had a length (excluding framing bits, but
+ including FCS octets) of between 64 and 1518
+ octets, inclusive, but were not an integral number
+ of octets in length or had a bad Frame Check
+ Sequence (FCS)."
+ ::= { etherStatsEntry 8 }
+
+ etherStatsUndersizePkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received that were
+ less than 64 octets long (excluding framing bits,
+ but including FCS octets) and were otherwise well
+ formed."
+ ::= { etherStatsEntry 9 }
+
+ etherStatsOversizePkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "The total number of packets received that were
+ longer than 1518 octets (excluding framing bits,
+ but including FCS octets) and were otherwise
+ well formed."
+ ::= { etherStatsEntry 10 }
+
+ etherStatsFragments OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received that were not an
+ integral number of octets in length or that had a bad
+ Frame Check Sequence (FCS), and were less than 64
+ octets in length (excluding framing bits but
+ including FCS octets)."
+ ::= { etherStatsEntry 11 }
+
+ etherStatsJabbers OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received that were
+ longer than 1518 octets (excluding framing bits,
+ but including FCS octets), and were not an
+ integral number of octets in length or had
+ a bad Frame Check Sequence (FCS)."
+ ::= { etherStatsEntry 12 }
+
+ etherStatsCollisions OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The best estimate of the total number of collisions
+ on this Ethernet segment."
+ ::= { etherStatsEntry 13 }
+
+ etherStatsPkts64Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including error
+ packets) received that were 64 octets in length
+ (excluding framing bits but including FCS octets)."
+
+
+ ::= { etherStatsEntry 14 }
+
+ etherStatsPkts65to127Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including error
+ packets) received that were between
+ 65 and 127 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 15 }
+
+ etherStatsPkts128to255Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including error
+ packets) received that were between
+ 128 and 255 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 16 }
+
+ etherStatsPkts256to511Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including error
+ packets) received that were between
+ 256 and 511 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 17 }
+
+ etherStatsPkts512to1023Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including error
+ packets) received that were between
+ 512 and 1023 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 18 }
+
+
+
+
+
+ etherStatsPkts1024to1518Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including error
+ packets) received that were between
+ 1024 and 1518 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 19 }
+
+ etherStatsOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { etherStatsEntry 20 }
+
+ etherStatsStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this etherStats entry."
+ ::= { etherStatsEntry 21 }
+
+
+ -- The History Group
+
+ -- Implementation of the History group is optional.
+ --
+ -- The history group records periodic statistical samples from
+ -- a network and stores them for later retrieval. The
+ -- historyControl table stores configuration entries that each
+ -- define an interface, polling period, and other parameters.
+ -- Once samples are taken, their data is stored in an entry
+ -- in a media-specific table. Each such entry defines one
+ -- sample, and is associated with the historyControlEntry that
+ -- caused the sample to be taken. Currently the only media-
+ -- specific table defined is the etherHistoryTable, for
+ -- Ethernet networks.
+ --
+ -- If the probe keeps track of the time of day, it should
+ -- start the first sample of the history at a time such that
+ -- when the next hour of the day begins, a sample is
+ -- started at that instant. This tends to make more
+
+
+ -- user-friendly reports, and enables comparison of reports
+ -- from different probes that have relatively accurate time
+ -- of day.
+ --
+ -- The monitor is encouraged to add two history control entries
+ -- per monitored interface upon initialization that describe
+ -- a short term and a long term polling period. Suggested
+ -- parameters are 30 seconds for the short term polling
+ -- period and 30 minutes for the long term period.
+
+ historyControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HistoryControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of history control entries."
+ ::= { history 1 }
+
+ historyControlEntry OBJECT-TYPE
+ SYNTAX HistoryControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of parameters that set up a periodic
+ sampling of statistics."
+ INDEX { historyControlIndex }
+ ::= { historyControlTable 1 }
+
+ HistoryControlEntry ::= SEQUENCE {
+ historyControlIndex INTEGER (1..65535),
+ historyControlDataSource OBJECT IDENTIFIER,
+ historyControlBucketsRequested INTEGER (1..65535),
+ historyControlBucketsGranted INTEGER (1..65535),
+ historyControlInterval INTEGER (1..3600),
+ historyControlOwner OwnerString,
+ historyControlStatus INTEGER
+ }
+
+ historyControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ historyControl table. Each such entry defines a
+ set of samples at a particular interval for an
+ interface on the device."
+ ::= { historyControlEntry 1 }
+
+
+ historyControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the source of the data for
+ which historical data was collected and
+ placed in a media-specific table on behalf of this
+ historyControlEntry. This source can be any
+ interface on this device. In order to identify
+ a particular interface, this object shall identify
+ the instance of the ifIndex object, defined
+ in [4,6], for the desired interface. For example,
+ if an entry were to receive data from interface #1,
+ this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the
+ identified interface.
+
+ This object may not be modified if the associated
+ historyControlStatus object is equal to valid(1)."
+ ::= { historyControlEntry 2 }
+
+ historyControlBucketsRequested OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The requested number of discrete time intervals
+ over which data is to be saved in the part of the
+ media-specific table associated with this
+ historyControl entry.
+
+ When this object is created or modified, the probe
+ should set historyControlBucketsGranted as closely to
+ this object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 50 }
+ ::= { historyControlEntry 3 }
+
+ historyControlBucketsGranted OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of discrete sampling intervals
+ over which data shall be saved in the part of
+
+
+ the media-specific table associated with this
+ historyControl entry.
+
+ When the associated historyControlBucketsRequested
+ object is created or modified, the probe
+ should set this object as closely to the requested
+ value as is possible for the particular
+ probe implementation and available resources. The
+ probe must not lower this value except as a result
+ of a modification to the associated
+ historyControlBucketsRequested object.
+
+ There will be times when the actual number of
+ buckets associated with this entry is less than
+ the value of this object. In this case, at the
+ end of each sampling interval, a new bucket will
+ be added to the media-specific table.
+
+ When the number of buckets reaches the value of
+ this object and a new bucket is to be added to the
+ media-specific table, the oldest bucket associated
+ with this historyControlEntry shall be deleted by
+ the agent so that the new bucket can be added.
+
+ When the value of this object changes to a value less
+ than the current value, entries are deleted
+ from the media-specific table associated with this
+ historyControlEntry. Enough of the oldest of these
+ entries shall be deleted by the agent so that their
+ number remains less than or equal to the new value of
+ this object.
+
+ When the value of this object changes to a value
+ greater than the current value, the number of
+ associated media-specific entries may be allowed
+ to grow."
+ ::= { historyControlEntry 4 }
+
+ historyControlInterval OBJECT-TYPE
+ SYNTAX INTEGER (1..3600)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The interval in seconds over which the data is
+ sampled for each bucket in the part of the
+ media-specific table associated with this
+ historyControl entry. This interval can
+ be set to any number of seconds between 1 and
+
+
+ 3600 (1 hour).
+
+ Because the counters in a bucket may overflow at their
+ maximum value with no indication, a prudent manager
+ will take into account the possibility of overflow
+ in any of the associated counters. It is important
+ to consider the minimum time in which any counter
+ could overflow on a particular media type and set
+ the historyControlInterval object to a value less
+ than this interval. This is typically most
+ important for the 'octets' counter in any
+ media-specific table. For example, on an Ethernet
+ network, the etherHistoryOctets counter could overflow
+ in about one hour at the Ethernet's maximum
+ utilization.
+
+ This object may not be modified if the associated
+ historyControlStatus object is equal to valid(1)."
+ DEFVAL { 1800 }
+ ::= { historyControlEntry 5 }
+
+ historyControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { historyControlEntry 6 }
+
+ historyControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this historyControl entry.
+
+ Each instance of the media-specific table associated
+ with this historyControlEntry will be deleted by the
+ agent if this historyControlEntry is not equal to
+ valid(1)."
+ ::= { historyControlEntry 7 }
+
+
+ -- Ether History table
+
+ etherHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EtherHistoryEntry
+
+
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of Ethernet history entries."
+ ::= { history 2 }
+
+ etherHistoryEntry OBJECT-TYPE
+ SYNTAX EtherHistoryEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An historical sample of Ethernet statistics on a
+ particular Ethernet interface. This sample is
+ associated with the historyControlEntry which set
+ up the parameters for a regular collection of these
+ samples."
+ INDEX { etherHistoryIndex , etherHistorySampleIndex }
+ ::= { etherHistoryTable 1 }
+
+ EtherHistoryEntry ::= SEQUENCE {
+ etherHistoryIndex INTEGER (1..65535),
+ etherHistorySampleIndex INTEGER,
+ etherHistoryIntervalStart TimeTicks,
+ etherHistoryDropEvents Counter,
+ etherHistoryOctets Counter,
+ etherHistoryPkts Counter,
+ etherHistoryBroadcastPkts Counter,
+ etherHistoryMulticastPkts Counter,
+ etherHistoryCRCAlignErrors Counter,
+ etherHistoryUndersizePkts Counter,
+ etherHistoryOversizePkts Counter,
+ etherHistoryFragments Counter,
+ etherHistoryJabbers Counter,
+ etherHistoryCollisions Counter,
+ etherHistoryUtilization INTEGER (0..10000)
+ }
+
+ etherHistoryIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The history of which this entry is a part. The
+ history identified by a particular value of this
+ index is the same history as identified
+ by the same value of historyControlIndex."
+ ::= { etherHistoryEntry 1 }
+
+
+
+ etherHistorySampleIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies the particular
+ sample this entry represents among all samples
+ associated with the same historyControlEntry.
+ This index starts at 1 and increases by one
+ as each new sample is taken."
+ ::= { etherHistoryEntry 2 }
+
+ etherHistoryIntervalStart OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the start of the interval
+ over which this sample was measured. If the probe
+ keeps track of the time of day, it should start
+ the first sample of the history at a time such that
+ when the next hour of the day begins, a sample is
+ started at that instant. Note that following this
+ rule may require the probe to delay collecting the
+ first sample of the history, as each sample must be
+ of the same interval. Also note that the sample which
+ is currently being collected is not accessible in this
+ table until the end of its interval."
+ ::= { etherHistoryEntry 3 }
+
+ etherHistoryDropEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of events in which packets
+ were dropped by the probe due to lack of resources
+ during this interval. Note that this number is not
+ necessarily the number of packets dropped, it is just
+ the number of times this condition has been detected."
+ ::= { etherHistoryEntry 4 }
+
+ etherHistoryOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets of data (including
+
+
+ those in bad packets) received on the
+ network (excluding framing bits but including
+ FCS octets)."
+ ::= { etherHistoryEntry 5 }
+
+ etherHistoryPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets (including error packets)
+ received during this sampling interval."
+ ::= { etherHistoryEntry 6 }
+
+ etherHistoryBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets received during this
+ sampling interval that were directed to the
+ broadcast address."
+ ::= { etherHistoryEntry 7 }
+
+ etherHistoryMulticastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets received during this
+ sampling interval that were directed to a
+ multicast address. Note that this number does not
+ include packets addressed to the broadcast address."
+ ::= { etherHistoryEntry 8 }
+
+ etherHistoryCRCAlignErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that had a length (excluding
+ framing bits but including FCS octets) between
+ 64 and 1518 octets, inclusive, but were not an
+ integral number of octets in length or had a
+ bad Frame Check Sequence (FCS)."
+ ::= { etherHistoryEntry 9 }
+
+
+
+ etherHistoryUndersizePkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets received during this
+ interval that were less than 64 octets long
+ (excluding framing bits but including FCS
+ octets) and were otherwise well formed."
+ ::= { etherHistoryEntry 10 }
+
+ etherHistoryOversizePkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets received during this
+ interval that were longer than 1518 octets
+ (excluding framing bits but including FCS
+ octets) but were otherwise well formed."
+ ::= { etherHistoryEntry 11 }
+
+ etherHistoryFragments OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received during this
+ sampling interval that were not an integral
+ number of octets in length or that
+ had a bad Frame Check Sequence (FCS), and
+ were less than 64 octets in length (excluding
+ framing bits but including FCS octets)."
+ ::= { etherHistoryEntry 12 }
+
+ etherHistoryJabbers OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets received during this
+ interval that were longer than 1518 octets
+ (excluding framing bits but including FCS octets),
+ and were not an integral number of octets in
+ length or had a bad Frame Check Sequence (FCS)."
+ ::= { etherHistoryEntry 13 }
+
+
+
+
+ etherHistoryCollisions OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The best estimate of the total number of collisions
+ on this Ethernet segment during this interval."
+ ::= { etherHistoryEntry 14 }
+
+ etherHistoryUtilization OBJECT-TYPE
+ SYNTAX INTEGER (0..10000)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The best estimate of the mean physical layer
+ network utilization on this interface during this
+ interval, in hundredths of a percent."
+ ::= { etherHistoryEntry 15 }
+
+
+ -- The Alarm Group
+
+ -- Implementation of the Alarm group is optional.
+ --
+ -- The Alarm Group requires the implementation of the Event
+ -- group.
+ --
+ -- The Alarm group periodically takes statistical samples from
+ -- variables in the probe and compares them to thresholds
+ -- that have been configured. The alarm table stores
+ -- configuration entries that each define a variable,
+ -- polling period, and threshold parameters. If a sample is
+ -- found to cross the threshold values, an event is
+ -- generated. Only variables that resolve to an ASN.1
+ -- primitive type of INTEGER (INTEGER, Counter,
+ -- Gauge, or TimeTicks) may be monitored in this way.
+ --
+ -- This function has a hysteresis mechanism to limit the
+ -- generation of events. This mechanism generates one event
+ -- as a threshold is crossed in the appropriate direction.
+ -- No more events are generated for that threshold until the
+ -- opposite threshold is crossed.
+ --
+ -- In the case of a sampling a deltaValue, a probe may
+ -- implement this mechanism with more precision if it takes
+ -- a delta sample twice per period, each time comparing the
+ -- sum of the latest two samples to the threshold. This
+ -- allows the detection of threshold crossings
+
+
+ -- that span the sampling boundary. Note that this does not
+ -- require any special configuration of the threshold value.
+ -- It is suggested that probes implement this more precise
+ -- algorithm.
+
+ alarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of alarm entries."
+ ::= { alarm 1 }
+
+ alarmEntry OBJECT-TYPE
+ SYNTAX AlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of parameters that set up a periodic checking
+ for alarm conditions."
+ INDEX { alarmIndex }
+ ::= { alarmTable 1 }
+
+ AlarmEntry ::= SEQUENCE {
+ alarmIndex INTEGER (1..65535),
+ alarmInterval INTEGER,
+ alarmVariable OBJECT IDENTIFIER,
+ alarmSampleType INTEGER,
+ alarmValue INTEGER,
+ alarmStartupAlarm INTEGER,
+ alarmRisingThreshold INTEGER,
+ alarmFallingThreshold INTEGER,
+ alarmRisingEventIndex INTEGER (1..65535),
+ alarmFallingEventIndex INTEGER (1..65535),
+ alarmOwner OwnerString,
+ alarmStatus INTEGER
+ }
+
+ alarmIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ alarm table. Each such entry defines a
+ diagnostic sample at a particular interval
+ for an object on the device."
+ ::= { alarmEntry 1 }
+
+
+ alarmInterval OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The interval in seconds over which the data is
+ sampled and compared with the rising and falling
+ thresholds. When setting this variable, care
+ should be given to ensure that the variable being
+ monitored will not exceed 2^31 - 1 and roll
+ over the alarmValue object during the interval.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 2 }
+
+ alarmVariable OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The object identifier of the particular variable to
+ be sampled. Only variables that resolve to an ASN.1
+ primitive type of INTEGER (INTEGER, Counter, Gauge,
+ or TimeTicks) may be sampled.
+
+ Because SNMP access control is articulated entirely
+ in terms of the contents of MIB views, no access
+ control mechanism exists that can restrict the value of
+ this object to identify only those objects that exist
+ in a particular MIB view. Because there is thus no
+ acceptable means of restricting the read access that
+ could be obtained through the alarm mechanism, the
+ probe must only grant write access to this object in
+ those views that have read access to all objects on
+ the probe.
+
+ During a set operation, if the supplied variable
+ name is not available in the selected MIB view, a
+ badValue error must be returned. If at any time
+ the variable name of an established alarmEntry is
+ no longer available in the selected MIB view, the
+ probe must change the status of this alarmEntry
+ to invalid(4).
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 3 }
+
+
+ alarmSampleType OBJECT-TYPE
+ SYNTAX INTEGER {
+ absoluteValue(1),
+ deltaValue(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The method of sampling the selected variable and
+ calculating the value to be compared against the
+ thresholds. If the value of this object is
+ absoluteValue(1), the value of the selected variable
+ will be compared directly with the thresholds at the
+ end of the sampling interval. If the value of this
+ object is deltaValue(2), the value of the selected
+ variable at the last sample will be subtracted from
+ the current value, and the difference compared with
+ the thresholds.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 4 }
+
+ alarmValue OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of the statistic during the last sampling
+ period. The value during the current sampling period
+ is not made available until the period is completed."
+ ::= { alarmEntry 5 }
+
+ alarmStartupAlarm OBJECT-TYPE
+ SYNTAX INTEGER {
+ risingAlarm(1),
+ fallingAlarm(2),
+ risingOrFallingAlarm(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm that may be sent when this entry is first
+ set to valid. If the first sample after this entry
+ becomes valid is greater than or equal to the
+ risingThreshold and alarmStartupAlarm is equal to
+ risingAlarm(1) or risingOrFallingAlarm(3), then a
+ single rising alarm will be generated. If the first
+
+
+ sample after this entry becomes valid is less than
+ or equal to the fallingThreshold and
+ alarmStartupAlarm is equal to fallingAlarm(2) or
+ risingOrFallingAlarm(3), then a single falling
+ alarm will be generated.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 6 }
+
+ alarmRisingThreshold OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A threshold for the sampled statistic. When the
+ current sampled value is greater than or equal to
+ this threshold, and the value at the last sampling
+ interval was less than this threshold, a single
+ event will be generated.
+ A single event will also be generated if the first
+ sample after this entry becomes valid is greater
+ than or equal to this threshold and the associated
+ alarmStartupAlarm is equal to risingAlarm(1) or
+ risingOrFallingAlarm(3).
+
+ After a rising event is generated, another such event
+ will not be generated until the sampled value
+ falls below this threshold and reaches the
+ alarmFallingThreshold.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 7 }
+
+ alarmFallingThreshold OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A threshold for the sampled statistic. When the
+ current sampled value is less than or equal to
+ this threshold, and the value at the last sampling
+ interval was greater than this threshold, a single
+ event will be generated.
+ A single event will also be generated if the first
+ sample after this entry becomes valid is less than or
+ equal to this threshold and the associated
+
+
+ alarmStartupAlarm is equal to fallingAlarm(2) or
+ risingOrFallingAlarm(3).
+
+ After a falling event is generated, another such event
+ will not be generated until the sampled value
+ rises above this threshold and reaches the
+ alarmRisingThreshold.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 8 }
+
+ alarmRisingEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The index of the eventEntry that is
+ used when a rising threshold is crossed. The
+ eventEntry identified by a particular value of
+ this index is the same as identified by the same value
+ of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then
+ no association exists. In particular, if this value
+ is zero, no associated event will be generated, as
+ zero is not a valid event index.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 9 }
+
+ alarmFallingEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The index of the eventEntry that is
+ used when a falling threshold is crossed. The
+ eventEntry identified by a particular value of
+ this index is the same as identified by the same value
+ of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then
+ no association exists. In particular, if this value
+ is zero, no associated event will be generated, as
+ zero is not a valid event index.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+
+
+ ::= { alarmEntry 10 }
+
+ alarmOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { alarmEntry 11 }
+
+ alarmStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this alarm entry."
+ ::= { alarmEntry 12 }
+
+
+ -- The Host Group
+
+ -- Implementation of the Host group is optional.
+ --
+ -- The host group discovers new hosts on the network by
+ -- keeping a list of source and destination MAC Addresses seen
+ -- in good packets. For each of these addresses, the host
+ -- group keeps a set of statistics. The hostControlTable
+ -- controls which interfaces this function is performed on,
+ -- and contains some information about the process. On
+ -- behalf of each hostControlEntry, data is collected on an
+ -- interface and placed both the hostTable and the
+ -- hostTimeTable. If the monitoring device finds itself
+ -- short of resources, it may delete entries as needed. It
+ -- is suggested that the device delete the least recently
+ -- used entries first.
+
+ -- The hostTable contains entries for each address
+ -- discovered on a particular interface. Each entry
+ -- contains statistical data about that host. This table
+ -- is indexed by the MAC address of the host, through
+ -- which a random access may be achieved.
+
+ -- The hostTimeTable contains data in the same format as the
+ -- hostTable, and must contain the same set of hosts, but is
+ -- indexed using hostTimeCreationOrder rather than hostAddress.
+ -- The hostTimeCreationOrder is an integer which reflects
+ -- the relative order in which a particular entry was
+
+
+ -- discovered and thus inserted into the table. As this
+ -- order, and thus index, is among those entries currently
+ -- in the table, the index for a particular entry may change
+ -- if an (earlier) entry is deleted. Thus the association
+ -- between hostTimeCreationOrder and hostTimeEntry may be
+ -- broken at any time.
+
+ -- The hostTimeTable has two important uses. The first is the
+ -- fast download of this potentially large table. Because the
+ -- index of this table runs from 1 to the size of the table,
+ -- inclusive, its values are predictable. This allows very
+ -- efficient packing of variables into SNMP PDU's and allows
+ -- a table transfer to have multiple packets outstanding.
+ -- These benefits increase transfer rates tremendously.
+
+ -- The second use of the hostTimeTable is the efficient
+ -- discovery by the management station of new entries added
+ -- to the table. After the management station has
+ -- downloaded the entire table, it knows that new entries
+ -- will be added immediately after the end of the current
+ -- table. It can thus detect new entries there
+ -- and retrieve them easily.
+
+ -- Because the association between hostTimeCreationOrder and
+ -- hostTimeEntry may be broken at any time, the management
+ -- station must monitor the related hostControlLastDeleteTime
+ -- object. When the management station thus detects a deletion,
+ -- it must assume that any such associations have been broken,
+ -- and invalidate any it has stored locally. This includes
+ -- restarting any download of the hostTimeTable that may have
+ -- been in progress, as well as rediscovering the end of the
+ -- hostTimeTable so that it may detect new entries. If the
+ -- management station does not detect the broken association,
+ -- it may continue to refer to a particular host by its
+ -- creationOrder while unwittingly retrieving the data
+ -- associated with another host entirely. If this happens
+ -- while downloading the host table, the management station
+ -- may fail to download all of the entries in the table.
+
+
+ hostControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of host table control entries."
+ ::= { hosts 1 }
+
+
+
+ hostControlEntry OBJECT-TYPE
+ SYNTAX HostControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of parameters that set up the discovery of
+ hosts on a particular interface and the collection
+ of statistics about these hosts."
+ INDEX { hostControlIndex }
+ ::= { hostControlTable 1 }
+
+ HostControlEntry ::= SEQUENCE {
+ hostControlIndex INTEGER (1..65535),
+ hostControlDataSource OBJECT IDENTIFIER,
+ hostControlTableSize INTEGER,
+ hostControlLastDeleteTime TimeTicks,
+ hostControlOwner OwnerString,
+ hostControlStatus INTEGER
+ }
+
+ hostControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ hostControl table. Each such entry defines
+ a function that discovers hosts on a particular
+ interface and places statistics about them in the
+ hostTable and the hostTimeTable on behalf of this
+ hostControlEntry."
+ ::= { hostControlEntry 1 }
+
+ hostControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the source of the data for
+ this instance of the host function. This source
+ can be any interface on this device. In order
+ to identify a particular interface, this object shall
+ identify the instance of the ifIndex object, defined
+ in [4,6], for the desired interface. For example,
+ if an entry were to receive data from interface #1,
+ this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+
+
+ on the local network segment attached to the
+ identified interface.
+
+ This object may not be modified if the associated
+ hostControlStatus object is equal to valid(1)."
+ ::= { hostControlEntry 2 }
+
+ hostControlTableSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of hostEntries in the hostTable and the
+ hostTimeTable associated with this hostControlEntry."
+ ::= { hostControlEntry 3 }
+
+ hostControlLastDeleteTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when the last entry
+ was deleted from the portion of the hostTable
+ associated with this hostControlEntry. If no
+ deletions have occurred, this value shall be zero."
+ ::= { hostControlEntry 4 }
+
+ hostControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { hostControlEntry 5 }
+
+ hostControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this hostControl entry.
+
+ If this object is not equal to valid(1), all
+ associated entries in the hostTable,
+ hostTimeTable, and the hostTopNTable shall be
+ deleted by the agent."
+ ::= { hostControlEntry 6 }
+
+
+ hostTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of host entries."
+ ::= { hosts 2 }
+
+ hostEntry OBJECT-TYPE
+ SYNTAX HostEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for a particular host
+ that has been discovered on an interface of this
+ device."
+ INDEX { hostIndex, hostAddress }
+ ::= { hostTable 1 }
+
+ HostEntry ::= SEQUENCE {
+ hostAddress OCTET STRING,
+ hostCreationOrder INTEGER (1..65535),
+ hostIndex INTEGER (1..65535),
+ hostInPkts Counter,
+ hostOutPkts Counter,
+ hostInOctets Counter,
+ hostOutOctets Counter,
+ hostOutErrors Counter,
+ hostOutBroadcastPkts Counter,
+ hostOutMulticastPkts Counter
+ }
+
+ hostAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostEntry 1 }
+
+ hostCreationOrder OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that defines the relative ordering of
+ the creation time of hosts captured for a
+ particular hostControlEntry. This index shall
+
+
+ be between 1 and N, where N is the value of
+ the associated hostControlTableSize. The ordering
+ of the indexes is based on the order of each entry's
+ insertion into the table, in which entries added
+ earlier have a lower index value than entries added
+ later.
+
+ It is important to note that the order for a
+ particular entry may change as an (earlier) entry
+ is deleted from the table. Because this order may
+ change, management stations should make use of the
+ hostControlLastDeleteTime variable in the
+ hostControlEntry associated with the relevant
+ portion of the hostTable. By observing
+ this variable, the management station may detect
+ the circumstances where a previous association
+ between a value of hostCreationOrder
+ and a hostEntry may no longer hold."
+ ::= { hostEntry 2 }
+
+ hostIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The set of collected host statistics of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ index is associated with the hostControlEntry
+ as identified by the same value of hostControlIndex."
+ ::= { hostEntry 3 }
+
+ hostInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets without errors transmitted to
+ this address since it was added to the hostTable."
+ ::= { hostEntry 4 }
+
+ hostOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets including errors transmitted
+ by this address since it was added to the hostTable."
+
+
+ ::= { hostEntry 5 }
+
+ hostInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets transmitted to this address
+ since it was added to the hostTable (excluding
+ framing bits but including FCS octets), except for
+ those octets in packets that contained errors."
+ ::= { hostEntry 6 }
+
+ hostOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets transmitted by this address
+ since it was added to the hostTable (excluding
+ framing bits but including FCS octets), including
+ those octets in packets that contained errors."
+ ::= { hostEntry 7 }
+
+ hostOutErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of error packets transmitted by this
+ address since this host was added to the hostTable."
+ ::= { hostEntry 8 }
+
+ hostOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to the broadcast address
+ since this host was added to the hostTable."
+ ::= { hostEntry 9 }
+
+ hostOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "The number of good packets transmitted by this
+ address that were directed to a multicast address
+ since this host was added to the hostTable.
+ Note that this number does not include packets
+ directed to the broadcast address."
+ ::= { hostEntry 10 }
+
+
+ -- host Time Table
+
+ hostTimeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTimeEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of time-ordered host table entries."
+ ::= { hosts 3 }
+
+ hostTimeEntry OBJECT-TYPE
+ SYNTAX HostTimeEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for a particular host
+ that has been discovered on an interface of this
+ device. This collection includes the relative
+ ordering of the creation time of this object."
+ INDEX { hostTimeIndex, hostTimeCreationOrder }
+ ::= { hostTimeTable 1 }
+
+ HostTimeEntry ::= SEQUENCE {
+ hostTimeAddress OCTET STRING,
+ hostTimeCreationOrder INTEGER (1..65535),
+ hostTimeIndex INTEGER (1..65535),
+ hostTimeInPkts Counter,
+ hostTimeOutPkts Counter,
+ hostTimeInOctets Counter,
+ hostTimeOutOctets Counter,
+ hostTimeOutErrors Counter,
+ hostTimeOutBroadcastPkts Counter,
+ hostTimeOutMulticastPkts Counter
+ }
+
+ hostTimeAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "The physical address of this host."
+ ::= { hostTimeEntry 1 }
+
+ hostTimeCreationOrder OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in
+ the hostTime table among those entries associated
+ with the same hostControlEntry. This index shall
+ be between 1 and N, where N is the value of
+ the associated hostControlTableSize. The ordering
+ of the indexes is based on the order of each entry's
+ insertion into the table, in which entries added
+ earlier have a lower index value than entries added
+ later. Thus the management station has the ability
+ to learn of new entries added to this table without
+ downloading the entire table.
+
+ It is important to note that the index for a
+ particular entry may change as an (earlier) entry
+ is deleted from the table. Because this order may
+ change, management stations should make use of the
+ hostControlLastDeleteTime variable in the
+ hostControlEntry associated with the relevant
+ portion of the hostTimeTable. By observing
+ this variable, the management station may detect
+ the circumstances where a download of the table
+ may have missed entries, and where a previous
+ association between a value of hostTimeCreationOrder
+ and a hostTimeEntry may no longer hold."
+ ::= { hostTimeEntry 2 }
+
+ hostTimeIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The set of collected host statistics of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ index is associated with the hostControlEntry
+ as identified by the same value of hostControlIndex."
+ ::= { hostTimeEntry 3 }
+
+
+
+
+
+ hostTimeInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets without errors transmitted to
+ this address since it was added to the hostTimeTable."
+ ::= { hostTimeEntry 4 }
+
+ hostTimeOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets including errors transmitted
+ by this address since it was added to the
+ hostTimeTable."
+ ::= { hostTimeEntry 5 }
+
+ hostTimeInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets transmitted to this address
+ since it was added to the hostTimeTable (excluding
+ framing bits but including FCS octets), except for
+ those octets in packets that contained errors."
+ ::= { hostTimeEntry 6 }
+
+ hostTimeOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets transmitted by this address since
+ it was added to the hostTimeTable (excluding framing
+ bits but including FCS octets), including those
+ octets in packets that contained errors."
+ ::= { hostTimeEntry 7 }
+
+ hostTimeOutErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of error packets transmitted by this
+ address since this host was added to the
+
+
+ hostTimeTable."
+ ::= { hostTimeEntry 8 }
+
+ hostTimeOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to the broadcast address
+ since this host was added to the hostTimeTable."
+ ::= { hostTimeEntry 9 }
+
+ hostTimeOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to a multicast address
+ since this host was added to the hostTimeTable.
+ Note that this number does not include packets
+ directed to the broadcast address."
+ ::= { hostTimeEntry 10 }
+
+
+ -- The Host Top "N" Group
+
+ -- Implementation of the Host Top N group is optional.
+ --
+ -- The Host Top N group requires the implementation of the
+ -- host group.
+ --
+ -- The Host Top N group is used to prepare reports that
+ -- describe the hosts that top a list ordered by one of
+ -- their statistics. The available statistics are samples
+ -- of one of their base statistics, over an interval
+ -- specified by the management station. Thus, these
+ -- statistics are rate based. The management
+ -- station also selects how many such hosts are reported.
+
+ -- The hostTopNControlTable is used to initiate the generation
+ -- of such a report. The management station may select the
+ -- parameters of such a report, such as which interface,
+ -- which statistic, how many hosts, and the start and stop
+ -- times of the sampling. When the report is prepared,
+ -- entries are created in the hostTopNTable associated with
+ -- the relevant hostTopNControlEntry. These entries are
+
+
+ -- static for each report after it has been prepared.
+
+ hostTopNControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTopNControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of top N host control entries."
+ ::= { hostTopN 1 }
+
+ hostTopNControlEntry OBJECT-TYPE
+ SYNTAX HostTopNControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of parameters that control the creation of a
+ report of the top N hosts according to several
+ metrics."
+ INDEX { hostTopNControlIndex }
+ ::= { hostTopNControlTable 1 }
+
+ HostTopNControlEntry ::= SEQUENCE {
+ hostTopNControlIndex INTEGER (1..65535),
+ hostTopNHostIndex INTEGER (1..65535),
+ hostTopNRateBase INTEGER,
+ hostTopNTimeRemaining INTEGER,
+ hostTopNDuration INTEGER,
+ hostTopNRequestedSize INTEGER,
+ hostTopNGrantedSize INTEGER,
+ hostTopNStartTime TimeTicks,
+ hostTopNOwner OwnerString,
+ hostTopNStatus INTEGER
+ }
+
+ hostTopNControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the hostTopNControl table. Each such
+ entry defines one top N report prepared for
+ one interface."
+ ::= { hostTopNControlEntry 1 }
+
+ hostTopNHostIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+
+
+ STATUS mandatory
+ DESCRIPTION
+ "The host table for which a top N report will be
+ prepared on behalf of this entry. The host table
+ identified by a particular value of this index is
+ associated with the same host table as identified
+ by the same value of hostIndex.
+
+ This object may not be modified if the associated
+ hostTopNStatus object is equal to valid(1)."
+ ::= { hostTopNControlEntry 2 }
+
+ hostTopNRateBase OBJECT-TYPE
+ SYNTAX INTEGER {
+ hostTopNInPkts(1),
+ hostTopNOutPkts(2),
+ hostTopNInOctets(3),
+ hostTopNOutOctets(4),
+ hostTopNOutErrors(5),
+ hostTopNOutBroadcastPkts(6),
+ hostTopNOutMulticastPkts(7)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The variable for each host that the hostTopNRate
+ variable is based upon.
+
+ This object may not be modified if the associated
+ hostTopNStatus object is equal to valid(1)."
+ ::= { hostTopNControlEntry 3 }
+
+ hostTopNTimeRemaining OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The number of seconds left in the report currently
+ being collected. When this object is modified by
+ the management station, a new collection is started,
+ possibly aborting a currently running report. The
+ new value is used as the requested duration of this
+ report, which is loaded into the associated
+ hostTopNDuration object.
+
+ When this object is set to a non-zero value, any
+ associated hostTopNEntries shall be made
+ inaccessible by the monitor. While the value of this
+
+
+ object is non-zero, it decrements by one per second
+ until it reaches zero. During this time, all
+ associated hostTopNEntries shall remain
+ inaccessible. At the time that this object
+ decrements to zero, the report is made
+ accessible in the hostTopNTable. Thus, the hostTopN
+ table needs to be created only at the end of the
+ collection interval."
+ DEFVAL { 0 }
+ ::= { hostTopNControlEntry 4 }
+
+ hostTopNDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of seconds that this report has collected
+ during the last sampling interval, or if this
+ report is currently being collected, the number
+ of seconds that this report is being collected
+ during this sampling interval.
+
+ When the associated hostTopNTimeRemaining object is
+ set, this object shall be set by the probe to the
+ same value and shall not be modified until the next
+ time the hostTopNTimeRemaining is set.
+
+ This value shall be zero if no reports have been
+ requested for this hostTopNControlEntry."
+ DEFVAL { 0 }
+ ::= { hostTopNControlEntry 5 }
+
+ hostTopNRequestedSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of hosts requested for the top N
+ table.
+
+ When this object is created or modified, the probe
+ should set hostTopNGrantedSize as closely to this
+ object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 10 }
+ ::= { hostTopNControlEntry 6 }
+
+
+
+
+ hostTopNGrantedSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of hosts in the top N table.
+
+ When the associated hostTopNRequestedSize object is
+ created or modified, the probe should set this
+ object as closely to the requested value as is
+ possible for the particular implementation and
+ available resources. The probe must not lower this
+ value except as a result of a set to the associated
+ hostTopNRequestedSize object.
+
+ Hosts with the highest value of hostTopNRate shall be
+ placed in this table in decreasing order of this rate
+ until there is no more room or until there are no more
+ hosts."
+ ::= { hostTopNControlEntry 7 }
+
+ hostTopNStartTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when this top N report was
+ last started. In other words, this is the time that
+ the associated hostTopNTimeRemaining object was
+ modified to start the requested report."
+ ::= { hostTopNControlEntry 8 }
+
+ hostTopNOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { hostTopNControlEntry 9 }
+
+ hostTopNStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this hostTopNControl entry.
+
+
+
+ If this object is not equal to valid(1), all
+ associated hostTopNEntries shall be deleted by
+ the agent."
+ ::= { hostTopNControlEntry 10 }
+
+ hostTopNTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTopNEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of top N host entries."
+ ::= { hostTopN 2 }
+
+ hostTopNEntry OBJECT-TYPE
+ SYNTAX HostTopNEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of statistics for a host that is part of a
+ top N report."
+ INDEX { hostTopNReport, hostTopNIndex }
+ ::= { hostTopNTable 1 }
+
+ HostTopNEntry ::= SEQUENCE {
+ hostTopNReport INTEGER (1..65535),
+ hostTopNIndex INTEGER (1..65535),
+ hostTopNAddress OCTET STRING,
+ hostTopNRate INTEGER
+ }
+
+ hostTopNReport OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the top N report of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ object is part of the same report as identified
+ by the same value of the hostTopNControlIndex object."
+ ::= { hostTopNEntry 1 }
+
+ hostTopNIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in
+
+
+ the hostTopN table among those in the same report.
+ This index is between 1 and N, where N is the
+ number of entries in this table. Increasing values
+ of hostTopNIndex shall be assigned to entries with
+ decreasing values of hostTopNRate until index N
+ is assigned to the entry with the lowest value of
+ hostTopNRate or there are no more hostTopNEntries."
+ ::= { hostTopNEntry 2 }
+
+ hostTopNAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostTopNEntry 3 }
+
+ hostTopNRate OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The amount of change in the selected variable
+ during this sampling interval. The selected
+ variable is this host's instance of the object
+ selected by hostTopNRateBase."
+ ::= { hostTopNEntry 4 }
+
+
+ -- The Matrix Group
+
+ -- Implementation of the Matrix group is optional.
+ --
+ -- The Matrix group consists of the matrixControlTable,
+ -- matrixSDTable and the matrixDSTable. These tables
+ -- store statistics for a particular conversation between
+ -- two addresses. As the device detects a new conversation,
+ -- including those to a non-unicast address, it creates a
+ -- new entry in both of the matrix tables.
+ -- It must only create new entries based on information
+ -- received in good packets. If the monitoring device finds
+ -- itself short of resources, it may delete entries as needed.
+ -- It is suggested that the device delete the least recently
+ -- used entries first.
+
+ matrixControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixControlEntry
+ ACCESS not-accessible
+
+
+ STATUS mandatory
+ DESCRIPTION
+ "A list of information entries for the
+ traffic matrix on each interface."
+ ::= { matrix 1 }
+
+ matrixControlEntry OBJECT-TYPE
+ SYNTAX MatrixControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Information about a traffic matrix on a
+ particular interface."
+ INDEX { matrixControlIndex }
+ ::= { matrixControlTable 1 }
+
+ MatrixControlEntry ::= SEQUENCE {
+ matrixControlIndex INTEGER (1..65535),
+ matrixControlDataSource OBJECT IDENTIFIER,
+ matrixControlTableSize INTEGER,
+ matrixControlLastDeleteTime TimeTicks,
+ matrixControlOwner OwnerString,
+ matrixControlStatus INTEGER
+ }
+
+ matrixControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ matrixControl table. Each such entry defines
+ a function that discovers conversations on a particular
+ interface and places statistics about them in the
+ matrixSDTable and the matrixDSTable on behalf of this
+ matrixControlEntry."
+ ::= { matrixControlEntry 1 }
+
+ matrixControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the source of
+ the data from which this entry creates a traffic matrix.
+ This source can be any interface on this device. In
+ order to identify a particular interface, this object
+ shall identify the instance of the ifIndex object,
+
+
+ defined in [4,6], for the desired interface. For
+ example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the
+ identified interface.
+
+ This object may not be modified if the associated
+ matrixControlStatus object is equal to valid(1)."
+ ::= { matrixControlEntry 2 }
+
+ matrixControlTableSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of matrixSDEntries in the matrixSDTable
+ for this interface. This must also be the value of
+ the number of entries in the matrixDSTable for this
+ interface."
+ ::= { matrixControlEntry 3 }
+
+ matrixControlLastDeleteTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when the last entry
+ was deleted from the portion of the matrixSDTable
+ or matrixDSTable associated with this
+ matrixControlEntry.
+ If no deletions have occurred, this value shall be
+ zero."
+ ::= { matrixControlEntry 4 }
+
+ matrixControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { matrixControlEntry 5 }
+
+ matrixControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+
+
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this matrixControl entry.
+
+ If this object is not equal to valid(1), all
+ associated entries in the matrixSDTable and the
+ matrixDSTable shall be deleted by the agent."
+ ::= { matrixControlEntry 6 }
+
+ matrixSDTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixSDEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of traffic matrix entries indexed by
+ source and destination MAC address."
+ ::= { matrix 2 }
+
+ matrixSDEntry OBJECT-TYPE
+ SYNTAX MatrixSDEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for communications between
+ two addresses on a particular interface."
+ INDEX { matrixSDIndex,
+ matrixSDSourceAddress, matrixSDDestAddress }
+ ::= { matrixSDTable 1 }
+
+ MatrixSDEntry ::= SEQUENCE {
+ matrixSDSourceAddress OCTET STRING,
+ matrixSDDestAddress OCTET STRING,
+ matrixSDIndex INTEGER (1..65535),
+ matrixSDPkts Counter,
+ matrixSDOctets Counter,
+ matrixSDErrors Counter
+ }
+
+ matrixSDSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The source physical address."
+ ::= { matrixSDEntry 1 }
+
+
+
+
+
+ matrixSDDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The destination physical address."
+ ::= { matrixSDEntry 2 }
+
+ matrixSDIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The set of collected matrix statistics of which
+ this entry is a part. The set of matrix statistics
+ identified by a particular value of this index
+ is associated with the same matrixControlEntry
+ as identified by the same value of matrixControlIndex."
+ ::= { matrixSDEntry 3 }
+
+ matrixSDPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets transmitted from the source
+ address to the destination address (this number
+ includes error packets)."
+ ::= { matrixSDEntry 4 }
+
+ matrixSDOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets (excluding framing bits but
+ including FCS octets) contained in all packets
+ transmitted from the source address to the
+ destination address."
+ ::= { matrixSDEntry 5 }
+
+ matrixSDErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of error packets transmitted from
+ the source address to the destination address."
+
+
+ ::= { matrixSDEntry 6 }
+
+
+ -- Traffic matrix tables from destination to source
+
+ matrixDSTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixDSEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of traffic matrix entries indexed by
+ destination and source MAC address."
+ ::= { matrix 3 }
+
+ matrixDSEntry OBJECT-TYPE
+ SYNTAX MatrixDSEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for communications between
+ two address on a particular interface."
+ INDEX { matrixDSIndex,
+ matrixDSDestAddress, matrixDSSourceAddress }
+ ::= { matrixDSTable 1 }
+
+ MatrixDSEntry ::= SEQUENCE {
+ matrixDSSourceAddress OCTET STRING,
+ matrixDSDestAddress OCTET STRING,
+ matrixDSIndex INTEGER (1..65535),
+ matrixDSPkts Counter,
+ matrixDSOctets Counter,
+ matrixDSErrors Counter
+ }
+
+ matrixDSSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The source physical address."
+ ::= { matrixDSEntry 1 }
+
+ matrixDSDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The destination physical address."
+
+
+ ::= { matrixDSEntry 2 }
+
+ matrixDSIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The set of collected matrix statistics of which
+ this entry is a part. The set of matrix statistics
+ identified by a particular value of this index
+ is associated with the same matrixControlEntry
+ as identified by the same value of matrixControlIndex."
+ ::= { matrixDSEntry 3 }
+
+ matrixDSPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets transmitted from the source
+ address to the destination address (this number
+ includes error packets)."
+ ::= { matrixDSEntry 4 }
+
+ matrixDSOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets (excluding framing bits
+ but including FCS octets) contained in all packets
+ transmitted from the source address to the
+ destination address."
+ ::= { matrixDSEntry 5 }
+
+ matrixDSErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of error packets transmitted from
+ the source address to the destination address."
+ ::= { matrixDSEntry 6 }
+
+
+ -- The Filter Group
+
+ -- Implementation of the Filter group is optional.
+
+
+ --
+ -- The Filter group allows packets to be captured with an
+ -- arbitrary filter expression. A logical data and
+ -- event stream or "channel" is formed by the packets
+ -- that match the filter expression.
+ --
+ -- This filter mechanism allows the creation of an arbitrary
+ -- logical expression with which to filter packets. Each
+ -- filter associated with a channel is OR'ed with the others.
+ -- Within a filter, any bits checked in the data and status are
+ -- AND'ed with respect to other bits in the same filter. The
+ -- NotMask also allows for checking for inequality. Finally,
+ -- the channelAcceptType object allows for inversion of the
+ -- whole equation.
+ --
+ -- The channel can be turned on or off, and can also
+ -- generate events when packets pass through it.
+
+ filterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF FilterEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of packet filter entries."
+ ::= { filter 1 }
+
+ filterEntry OBJECT-TYPE
+ SYNTAX FilterEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of parameters for a packet filter applied on a
+ particular interface."
+ INDEX { filterIndex }
+ ::= { filterTable 1 }
+
+ FilterEntry ::= SEQUENCE {
+ filterIndex INTEGER (1..65535),
+ filterChannelIndex INTEGER (1..65535),
+ filterPktDataOffset INTEGER,
+ filterPktData OCTET STRING,
+ filterPktDataMask OCTET STRING,
+ filterPktDataNotMask OCTET STRING,
+ filterPktStatus INTEGER,
+ filterPktStatusMask INTEGER,
+ filterPktStatusNotMask INTEGER,
+ filterOwner OwnerString,
+ filterStatus INTEGER
+
+
+ }
+
+ filterIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the filter table. Each such entry defines
+ one filter that is to be applied to every packet
+ received on an interface."
+ ::= { filterEntry 1 }
+
+ filterChannelIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the channel of which this
+ filter is a part. The filters identified by a
+ particular value of this object are associated
+ with the same channel as identified by the same
+ value of the channelIndex object."
+ ::= { filterEntry 2 }
+
+ filterPktDataOffset OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The offset from the beginning of each packet where
+ a match of packet data will be attempted. This offset
+ is measured from the point in the physical layer
+ packet after the framing bits, if any. For example,
+ in an Ethernet frame, this point is at the beginning
+ of the destination MAC address.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ DEFVAL { 0 }
+ ::= { filterEntry 3 }
+
+ filterPktData OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The data that is to be matched with the input packet.
+
+
+ For each packet received, this filter and the
+ accompanying filterPktDataMask and
+ filterPktDataNotMask will be adjusted for the
+ offset. The only bits relevant to this
+ match algorithm are those that have the corresponding
+ filterPktDataMask bit equal to one. The following
+ three rules are then applied to every packet:
+
+ (1) If the packet is too short and does not have data
+ corresponding to part of the filterPktData, the
+ packet will fail this data match.
+
+ (2) For each relevant bit from the packet with the
+ corresponding filterPktDataNotMask bit set to
+ zero, if the bit from the packet is not equal to
+ the corresponding bit from the filterPktData,
+ then the packet will fail this data match.
+
+ (3) If for every relevant bit from the packet with the
+ corresponding filterPktDataNotMask bit set to one,
+ the bit from the packet is equal to the
+ corresponding bit from the filterPktData, then
+ the packet will fail this data match.
+
+ Any packets that have not failed any of the three
+ matches above have passed this data match.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 4 }
+
+ filterPktDataMask OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The mask that is applied to the match process.
+ After adjusting this mask for the offset, only those
+ bits in the received packet that correspond to bits
+ set in this mask are relevant for further processing
+ by the match algorithm. The offset is applied to
+ filterPktDataMask in the same way it is applied to
+ the filter. For the purposes of the matching
+ algorithm, if the associated filterPktData object
+ is longer than this mask, this mask is conceptually
+ extended with '1' bits until it reaches the
+ length of the filterPktData object.
+
+
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 5 }
+
+ filterPktDataNotMask OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The inversion mask that is applied to the match
+ process. After adjusting this mask for the offset,
+ those relevant bits in the received packet that
+ correspond to bits cleared in this mask must all
+ be equal to their corresponding bits in the
+ filterPktData object for the packet to be accepted.
+ In addition, at least one of those relevant
+ bits in the received packet that correspond to bits
+ set in this mask must be different to its
+ corresponding bit in the filterPktData object.
+
+ For the purposes of the matching algorithm, if
+ the associated filterPktData object is longer than
+ this mask, this mask is conceptually extended with
+ '0' bits until it reaches the length of the
+ filterPktData object.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 6 }
+
+ filterPktStatus OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status that is to be matched with the input
+ packet. The only bits relevant to this match
+ algorithm are those that have the corresponding
+ filterPktStatusMask bit equal to one.
+
+ The following two rules are then applied to every
+ packet:
+
+ (1) For each relevant bit from the packet status
+ with the corresponding filterPktStatusNotMask
+ bit set to zero, if the bit from the packet
+ status is not equal to the corresponding bit
+ from the filterPktStatus, then the packet will
+
+
+ fail this status match.
+
+ (2) If for every relevant bit from the packet status
+ with the corresponding filterPktStatusNotMask
+ bit set to one, the bit from the packet status
+ is equal to the corresponding bit from the
+ filterPktStatus, then the packet will fail
+ this status match.
+
+ Any packets that have not failed either of the two
+ matches above have passed this status match.
+
+ The value of the packet status is a sum. This sum
+ initially takes the value zero. Then, for each
+ error, E, that has been discovered in this packet,
+ 2 raised to a value representing E is added to the sum.
+ The errors and the bits that represent them are
+ dependent on the media type of the interface that
+ this channel is receiving packets from.
+
+ The errors defined for a packet captured off of an
+ Ethernet interface are as follows:
+
+ bit # Error
+ 0 Packet is longer than 1518 octets
+ 1 Packet is shorter than 64 octets
+ 2 Packet experienced a CRC or Alignment
+ error
+
+ For example, an Ethernet fragment would have a
+ value of 6 (2^1 + 2^2).
+
+ As this MIB is expanded to new media types, this
+ object will have other media-specific errors defined.
+
+ For the purposes of this status matching algorithm, if
+ the packet status is longer than this
+ object, filterPktStatus this object is conceptually
+ extended with '0' bits until it reaches the size of
+ the packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 7 }
+
+ filterPktStatusMask OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+
+
+ STATUS mandatory
+ DESCRIPTION
+ "The mask that is applied to the status match process.
+ Only those bits in the received packet that correspond
+ to bits set in this mask are relevant for further
+ processing by the status match algorithm. For the
+ purposes of the matching algorithm, if the
+ associated filterPktStatus object is longer than
+ this mask, this mask is conceptually extended with
+ '1' bits until it reaches the size of the
+ filterPktStatus. In addition, if a packet status is
+ longer than this mask, this mask is conceptually
+ extended with '0' bits until it reaches the size of
+ the packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 8 }
+
+ filterPktStatusNotMask OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The inversion mask that is applied to the status match
+ process. Those relevant bits in the received packet
+ status that correspond to bits cleared in this mask
+ must all be equal to their corresponding bits in the
+ filterPktStatus object for the packet to be accepted.
+ In addition, at least one of those relevant bits in the
+ received packet status that correspond to bits set in
+ this mask must be different to its corresponding bit
+ in the filterPktStatus object for the packet to be
+ accepted.
+
+ For the purposes of the matching algorithm, if the
+ associated filterPktStatus object or a packet status
+ is longer than this mask, this mask is conceptually
+ extended with '0' bits until it reaches the longer of
+ the lengths of the filterPktStatus object and the
+ packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 9 }
+
+ filterOwner OBJECT-TYPE
+ SYNTAX OwnerString
+
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { filterEntry 10 }
+
+ filterStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this filter entry."
+ ::= { filterEntry 11 }
+
+ channelTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ChannelEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of packet channel entries."
+ ::= { filter 2 }
+
+ channelEntry OBJECT-TYPE
+ SYNTAX ChannelEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of parameters for a packet channel applied on a
+ particular interface."
+ INDEX { channelIndex }
+ ::= { channelTable 1 }
+
+ ChannelEntry ::= SEQUENCE {
+ channelIndex INTEGER (1..65535),
+ channelIfIndex INTEGER (1..65535),
+ channelAcceptType INTEGER,
+ channelDataControl INTEGER,
+ channelTurnOnEventIndex INTEGER (0..65535),
+ channelTurnOffEventIndex INTEGER (0..65535),
+ channelEventIndex INTEGER (0..65535),
+ channelEventStatus INTEGER,
+ channelMatches Counter,
+ channelDescription DisplayString (SIZE (0..127)),
+ channelOwner OwnerString,
+ channelStatus INTEGER
+ }
+
+
+
+ channelIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the channel table. Each such
+ entry defines one channel, a logical data
+ and event stream."
+ ::= { channelEntry 1 }
+
+ channelIfIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies the
+ interface on this remote network monitoring device
+ to which the associated filters are applied to allow
+ data into this channel. The interface identified by
+ a particular value of this object is the same
+ interface as identified by the same value of the
+ ifIndex object, defined in [4,6]. The filters in
+ this group are applied to all packets on the local
+ network segment attached to the identified
+ interface.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 2 }
+
+ channelAcceptType OBJECT-TYPE
+ SYNTAX INTEGER {
+ acceptMatched(1),
+ acceptFailed(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object controls the action of the filters
+ associated with this channel. If this object is equal
+ to acceptMatched(1), packets will be accepted to this
+ channel if they are accepted by both the packet data
+ and packet status matches of an associated filter. If
+ this object is equal to acceptFailed(2), packets will
+ be accepted to this channel only if they fail either
+ the packet data match or the packet status match of
+ each of the associated filters.
+
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 3 }
+
+ channelDataControl OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object controls the flow of data through this
+ channel. If this object is on(1), data, status and
+ events flow through this channel. If this object is
+ off(2), data, status and events will not flow through
+ this channel."
+ DEFVAL { off }
+ ::= { channelEntry 4 }
+
+ channelTurnOnEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to turn the associated
+ channelDataControl from off to on when the event is
+ generated. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelTurnOnEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 5 }
+
+ channelTurnOffEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to turn the associated
+ channelDataControl from on to off when the event is
+
+
+ generated. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelTurnOffEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 6 }
+
+ channelEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to be generated when the
+ associated channelDataControl is on and a packet
+ is matched. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 7 }
+
+ channelEventStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ eventReady(1),
+ eventFired(2),
+ eventAlwaysReady(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The event status of this channel.
+
+ If this channel is configured to generate events
+ when packets are matched, a means of controlling
+ the flow of those events is often needed. When
+ this object is equal to eventReady(1), a single
+ event may be generated, after which this object
+
+
+ will be set by the probe to eventFired(2). While
+ in the eventFired(2) state, no events will be
+ generated until the object is modified to
+ eventReady(1) (or eventAlwaysReady(3)). The
+ management station can thus easily respond to a
+ notification of an event by re-enabling this object.
+
+ If the management station wishes to disable this
+ flow control and allow events to be generated
+ at will, this object may be set to
+ eventAlwaysReady(3). Disabling the flow control
+ is discouraged as it can result in high network
+ traffic or other performance problems."
+ DEFVAL { eventReady }
+ ::= { channelEntry 8 }
+
+ channelMatches OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times this channel has matched a packet.
+ Note that this object is updated even when
+ channelDataControl is set to off."
+ ::= { channelEntry 9 }
+
+ channelDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..127))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A comment describing this channel."
+ ::= { channelEntry 10 }
+
+ channelOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { channelEntry 11 }
+
+ channelStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "The status of this channel entry."
+ ::= { channelEntry 12 }
+
+
+ -- The Packet Capture Group
+
+ -- Implementation of the Packet Capture group is optional.
+ --
+ -- The Packet Capture Group requires implementation of the
+ -- Filter Group.
+ --
+ -- The Packet Capture group allows packets to be captured
+ -- upon a filter match. The bufferControlTable controls
+ -- the captured packets output from a channel that is
+ -- associated with it. The captured packets are placed
+ -- in entries in the captureBufferTable. These entries are
+ -- associated with the bufferControlEntry on whose behalf they
+ -- were stored.
+
+ bufferControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF BufferControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of buffers control entries."
+ ::= { capture 1 }
+
+ bufferControlEntry OBJECT-TYPE
+ SYNTAX BufferControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of parameters that control the collection of
+ a stream of packets that have matched filters."
+ INDEX { bufferControlIndex }
+ ::= { bufferControlTable 1 }
+
+ BufferControlEntry ::= SEQUENCE {
+ bufferControlIndex INTEGER (1..65535),
+ bufferControlChannelIndex INTEGER (1..65535),
+ bufferControlFullStatus INTEGER,
+ bufferControlFullAction INTEGER,
+ bufferControlCaptureSliceSize INTEGER,
+ bufferControlDownloadSliceSize INTEGER,
+ bufferControlDownloadOffset INTEGER,
+ bufferControlMaxOctetsRequested INTEGER,
+ bufferControlMaxOctetsGranted INTEGER,
+ bufferControlCapturedPackets INTEGER,
+
+
+ bufferControlTurnOnTime TimeTicks,
+ bufferControlOwner OwnerString,
+ bufferControlStatus INTEGER
+ }
+
+ bufferControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the bufferControl table. The value of this
+ index shall never be zero. Each such
+ entry defines one set of packets that is
+ captured and controlled by one or more filters."
+ ::= { bufferControlEntry 1 }
+
+ bufferControlChannelIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An index that identifies the channel that is the
+ source of packets for this bufferControl table.
+ The channel identified by a particular value of this
+ index is the same as identified by the same value of
+ the channelIndex object.
+
+ This object may not be modified if the associated
+ bufferControlStatus object is equal to valid(1)."
+ ::= { bufferControlEntry 2 }
+
+ bufferControlFullStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ spaceAvailable(1),
+ full(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "This object shows whether the buffer has room to
+ accept new packets or if it is full.
+
+ If the status is spaceAvailable(1), the buffer is
+ accepting new packets normally. If the status is
+ full(2) and the associated bufferControlFullAction
+ object is wrapWhenFull, the buffer is accepting new
+ packets by deleting enough of the oldest packets
+
+
+ to make room for new ones as they arrive. Otherwise,
+ if the status is full(2) and the
+ bufferControlFullAction object is lockWhenFull,
+ then the buffer has stopped collecting packets.
+
+ When this object is set to full(2) the probe must
+ not later set it to spaceAvailable(1) except in the
+ case of a significant gain in resources such as
+ an increase of bufferControlOctetsGranted. In
+ particular, the wrap-mode action of deleting old
+ packets to make room for newly arrived packets
+ must not affect the value of this object."
+ ::= { bufferControlEntry 3 }
+
+ bufferControlFullAction OBJECT-TYPE
+ SYNTAX INTEGER {
+ lockWhenFull(1),
+ wrapWhenFull(2) -- FIFO
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Controls the action of the buffer when it
+ reaches the full status. When in the lockWhenFull(1)
+ state a packet is added to the buffer that
+ fills the buffer, the bufferControlFullStatus will
+ be set to full(2) and this buffer will stop capturing
+ packets."
+ ::= { bufferControlEntry 4 }
+
+ bufferControlCaptureSliceSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of octets of each packet
+ that will be saved in this capture buffer.
+ For example, if a 1500 octet packet is received by
+ the probe and this object is set to 500, then only
+ 500 octets of the packet will be stored in the
+ associated capture buffer. If this variable is set
+ to 0, the capture buffer will save as many octets
+ as is possible.
+
+ This object may not be modified if the associated
+ bufferControlStatus object is equal to valid(1)."
+ DEFVAL { 100 }
+ ::= { bufferControlEntry 5 }
+
+
+ bufferControlDownloadSliceSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of octets of each packet
+ in this capture buffer that will be returned in
+ an SNMP retrieval of that packet. For example,
+ if 500 octets of a packet have been stored in the
+ associated capture buffer, the associated
+ bufferControlDownloadOffset is 0, and this
+ object is set to 100, then the captureBufferPacket
+ object that contains the packet will contain only
+ the first 100 octets of the packet.
+
+ A prudent manager will take into account possible
+ interoperability or fragmentation problems that may
+ occur if the download slice size is set too large.
+ In particular, conformant SNMP implementations are not
+ required to accept messages whose length exceeds 484
+ octets, although they are encouraged to support larger
+ datagrams whenever feasible."
+ DEFVAL { 100 }
+ ::= { bufferControlEntry 6 }
+
+ bufferControlDownloadOffset OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The offset of the first octet of each packet
+ in this capture buffer that will be returned in
+ an SNMP retrieval of that packet. For example,
+ if 500 octets of a packet have been stored in the
+ associated capture buffer and this object is set to
+ 100, then the captureBufferPacket object that
+ contains the packet will contain bytes starting
+ 100 octets into the packet."
+ DEFVAL { 0 }
+ ::= { bufferControlEntry 7 }
+
+ bufferControlMaxOctetsRequested OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The requested maximum number of octets to be
+ saved in this captureBuffer, including any
+
+
+ implementation-specific overhead. If this variable
+ is set to -1, the capture buffer will save as many
+ octets as is possible.
+
+ When this object is created or modified, the probe
+ should set bufferControlMaxOctetsGranted as closely
+ to this object as is possible for the particular probe
+ implementation and available resources. However, if
+ the object has the special value of -1, the probe
+ must set bufferControlMaxOctetsGranted to -1."
+ DEFVAL { -1 }
+ ::= { bufferControlEntry 8 }
+
+ bufferControlMaxOctetsGranted OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of octets that can be
+ saved in this captureBuffer, including overhead.
+ If this variable is -1, the capture buffer will save
+ as many octets as possible.
+
+ When the bufferControlMaxOctetsRequested object is
+ created or modified, the probe should set this object
+ as closely to the requested value as is possible for
+ the particular probe implementation and available
+ resources. However, if the request object has the
+ special value of -1, the probe must set this object
+ to -1. The probe must not lower this value except
+ as a result of a modification to the associated
+ bufferControlMaxOctetsRequested object.
+
+ When this maximum number of octets is reached
+ and a new packet is to be added to this
+ capture buffer and the corresponding
+ bufferControlFullAction is set to wrapWhenFull(2),
+ enough of the oldest packets associated with this
+ capture buffer shall be deleted by the agent so
+ that the new packet can be added. If the
+ corresponding bufferControlFullAction is set to
+ lockWhenFull(1), the new packet shall be discarded.
+ In either case, the probe must set
+ bufferControlFullStatus to full(2).
+
+ When the value of this object changes to a value less
+ than the current value, entries are deleted from
+ the captureBufferTable associated with this
+
+
+ bufferControlEntry. Enough of the
+ oldest of these captureBufferEntries shall be
+ deleted by the agent so that the number of octets
+ used remains less than or equal to the new value of
+ this object.
+
+ When the value of this object changes to a value greater
+ than the current value, the number of associated
+ captureBufferEntries may be allowed to grow."
+ ::= { bufferControlEntry 9 }
+
+ bufferControlCapturedPackets OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets currently in this captureBuffer."
+ ::= { bufferControlEntry 10 }
+
+ bufferControlTurnOnTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when this capture buffer was
+ first turned on."
+ ::= { bufferControlEntry 11 }
+
+ bufferControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { bufferControlEntry 12 }
+
+ bufferControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this buffer Control Entry."
+ ::= { bufferControlEntry 13 }
+
+ captureBufferTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF CaptureBufferEntry
+ ACCESS not-accessible
+
+
+ STATUS mandatory
+ DESCRIPTION
+ "A list of packets captured off of a channel."
+ ::= { capture 2 }
+
+ captureBufferEntry OBJECT-TYPE
+ SYNTAX CaptureBufferEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A packet captured off of an attached network."
+ INDEX { captureBufferControlIndex, captureBufferIndex }
+ ::= { captureBufferTable 1 }
+
+ CaptureBufferEntry ::= SEQUENCE {
+ captureBufferControlIndex INTEGER (1..65535),
+ captureBufferIndex INTEGER,
+ captureBufferPacketID INTEGER,
+ captureBufferPacketData OCTET STRING,
+ captureBufferPacketLength INTEGER,
+ captureBufferPacketTime INTEGER,
+ captureBufferPacketStatus INTEGER
+ }
+
+ captureBufferControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The index of the bufferControlEntry with which
+ this packet is associated."
+ ::= { captureBufferEntry 1 }
+
+ captureBufferIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the captureBuffer table associated with a
+ particular bufferControlEntry. This index will
+ start at 1 and increase by one for each new packet
+ added with the same captureBufferControlIndex."
+ ::= { captureBufferEntry 2 }
+
+ captureBufferPacketID OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+
+
+ STATUS mandatory
+ DESCRIPTION
+ "An index that describes the order of packets
+ that are received on a particular interface.
+ The packetID of a packet captured on an
+ interface is defined to be greater than the
+ packetID's of all packets captured previously on
+ the same interface. As the captureBufferPacketID
+ object has a maximum positive value of 2^31 - 1,
+ any captureBufferPacketID object shall have the
+ value of the associated packet's packetID mod 2^31."
+ ::= { captureBufferEntry 3 }
+
+ captureBufferPacketData OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The data inside the packet, starting at the beginning
+ of the packet plus any offset specified in the
+ associated bufferControlDownloadOffset, including any
+ link level headers. The length of the data in this
+ object is the minimum of the length of the captured
+ packet minus the offset, the length of the associated
+ bufferControlCaptureSliceSize minus the offset, and the
+ associated bufferControlDownloadSliceSize. If this
+ minimum is less than zero, this object shall have a
+ length of zero."
+ ::= { captureBufferEntry 4 }
+
+ captureBufferPacketLength OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual length (off the wire) of the packet stored
+ in this entry, including FCS octets."
+ ::= { captureBufferEntry 5 }
+
+ captureBufferPacketTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of milliseconds that had passed since
+ this capture buffer was first turned on when this
+ packet was captured."
+ ::= { captureBufferEntry 6 }
+
+
+ captureBufferPacketStatus OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A value which indicates the error status of this
+ packet.
+
+ The value of this object is defined in the same way as
+ filterPacketStatus. The value is a sum. This sum
+ initially takes the value zero. Then, for each
+ error, E, that has been discovered in this packet,
+ 2 raised to a value representing E is added to the sum.
+
+ The errors defined for a packet captured off of an
+ Ethernet interface are as follows:
+
+ bit # Error
+ 0 Packet is longer than 1518 octets
+ 1 Packet is shorter than 64 octets
+ 2 Packet experienced a CRC or Alignment
+ error
+ 3 First packet in this capture buffer after
+ it was detected that some packets were
+ not processed correctly.
+
+ For example, an Ethernet fragment would have a
+ value of 6 (2^1 + 2^2).
+
+ As this MIB is expanded to new media types, this object
+ will have other media-specific errors defined."
+ ::= { captureBufferEntry 7 }
+
+
+ -- The Event Group
+
+ -- Implementation of the Event group is optional.
+ --
+ -- The Event group controls the generation and notification
+ -- of events from this device. Each entry in the eventTable
+ -- describes the parameters of the event that can be triggered.
+ -- Each event entry is fired by an associated condition located
+ -- elsewhere in the MIB. An event entry may also be associated
+ -- with a function elsewhere in the MIB that will be executed
+ -- when the event is generated. For example, a channel may
+ -- be turned on or off by the firing of an event.
+ --
+ -- Each eventEntry may optionally specify that a log entry
+
+
+ -- be created on its behalf whenever the event occurs.
+ -- Each entry may also specify that notification should
+ -- occur by way of SNMP trap messages. In this case, the
+ -- community for the trap message is given in the associated
+ -- eventCommunity object. The enterprise and specific trap
+ -- fields of the trap are determined by the condition that
+ -- triggered the event. Three traps are defined in a companion
+ -- document: risingAlarm, fallingAlarm, and packetMatch.
+ -- If the eventTable is triggered by a condition specified
+ -- elsewhere, the enterprise and specific trap fields
+ -- must be specified for traps generated for that condition.
+
+ eventTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EventEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of events to be generated."
+ ::= { event 1 }
+
+ eventEntry OBJECT-TYPE
+ SYNTAX EventEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of parameters that describe an event to be
+ generated when certain conditions are met."
+ INDEX { eventIndex }
+ ::= { eventTable 1 }
+
+ EventEntry ::= SEQUENCE {
+ eventIndex INTEGER (1..65535),
+ eventDescription DisplayString (SIZE (0..127)),
+ eventType INTEGER,
+ eventCommunity OCTET STRING (SIZE (0..127)),
+ eventLastTimeSent TimeTicks,
+ eventOwner OwnerString,
+ eventStatus INTEGER
+ }
+
+ eventIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ event table. Each such entry defines one event that
+ is to be generated when the appropriate conditions
+
+
+ occur."
+ ::= { eventEntry 1 }
+
+ eventDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..127))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A comment describing this event entry."
+ ::= { eventEntry 2 }
+
+ eventType OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ log(2),
+ snmp-trap(3), -- send an SNMP trap
+ log-and-trap(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of notification that the probe will make
+ about this event. In the case of log, an entry is
+ made in the log table for each event. In the case of
+ snmp-trap, an SNMP trap is sent to one or more
+ management stations."
+ ::= { eventEntry 3 }
+
+ eventCommunity OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..127))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "If an SNMP trap is to be sent, it will be sent to
+ the SNMP community specified by this octet string.
+ In the future this table will be extended to include
+ the party security mechanism. This object shall be
+ set to a string of length zero if it is intended that
+ that mechanism be used to specify the destination of
+ the trap."
+ ::= { eventEntry 4 }
+
+ eventLastTimeSent OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the time this event
+
+
+ entry last generated an event. If this entry has
+ not generated any events, this value will be
+ zero."
+ ::= { eventEntry 5 }
+
+ eventOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it.
+
+ If this object contains a string starting with 'monitor'
+ and has associated entries in the log table, all
+ connected management stations should retrieve those
+ log entries, as they may have significance to all
+ management stations connected to this device"
+ ::= { eventEntry 6 }
+
+ eventStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this event entry.
+
+ If this object is not equal to valid(1), all associated
+ log entries shall be deleted by the agent."
+ ::= { eventEntry 7 }
+
+ --
+ logTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LogEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of events that have been logged."
+ ::= { event 2 }
+
+ logEntry OBJECT-TYPE
+ SYNTAX LogEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of data describing an event that has been
+ logged."
+ INDEX { logEventIndex, logIndex }
+
+
+ ::= { logTable 1 }
+
+ LogEntry ::= SEQUENCE {
+ logEventIndex INTEGER (1..65535),
+ logIndex INTEGER,
+ logTime TimeTicks,
+ logDescription DisplayString (SIZE (0..255))
+ }
+
+ logEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The event entry that generated this log
+ entry. The log identified by a particular
+ value of this index is associated with the same
+ eventEntry as identified by the same value
+ of eventIndex."
+ ::= { logEntry 1 }
+
+ logIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the log table amongst those generated by the
+ same eventEntries. These indexes are
+ assigned beginning with 1 and increase by one
+ with each new log entry. The association
+ between values of logIndex and logEntries
+ is fixed for the lifetime of each logEntry.
+ The agent may choose to delete the oldest
+ instances of logEntry as required because of
+ lack of memory. It is an implementation-specific
+ matter as to when this deletion may occur."
+ ::= { logEntry 2 }
+
+ logTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when this log entry was
+ created."
+ ::= { logEntry 3 }
+
+
+
+ logDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An implementation dependent description of the
+ event that activated this log entry."
+ ::= { logEntry 4 }
+
+ END
+
diff --git a/lib/snmp/test/test-mibs/RMON-MIB.mib b/lib/snmp/test/test-mibs/RMON-MIB.mib
new file mode 100644
index 0000000000..0824dbde1d
--- /dev/null
+++ b/lib/snmp/test/test-mibs/RMON-MIB.mib
@@ -0,0 +1,3826 @@
+ RMON-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ Counter FROM RFC1155-SMI
+ mib-2,DisplayString FROM RFC1213-MIB
+ OBJECT-TYPE FROM RFC-1212
+ TRAP-TYPE FROM RFC-1215;
+
+ -- Remote Network Monitoring MIB
+
+ rmon OBJECT IDENTIFIER ::= { mib-2 16 }
+
+
+ -- textual conventions
+
+ OwnerString ::= DisplayString
+ -- This data type is used to model an administratively
+ -- assigned name of the owner of a resource. This
+ -- information is taken from the NVT ASCII character
+ -- set. It is suggested that this name contain one or
+
+
+ -- more of the following: IP address, management station
+ -- name, network manager's name, location, or phone
+ -- number.
+ -- In some cases the agent itself will be the owner of
+ -- an entry. In these cases, this string shall be set
+ -- to a string starting with 'monitor'.
+ --
+ -- SNMP access control is articulated entirely in terms
+ -- of the contents of MIB views; access to a particular
+ -- SNMP object instance depends only upon its presence
+ -- or absence in a particular MIB view and never upon
+ -- its value or the value of related object instances.
+ -- Thus, objects of this type afford resolution of
+ -- resource contention only among cooperating managers;
+ -- they realize no access control function with respect
+ -- to uncooperative parties.
+ --
+ -- By convention, objects with this syntax are declared as
+ -- having
+ --
+ -- SIZE (0..127)
+
+ EntryStatus ::= INTEGER
+ { valid(1),
+ createRequest(2),
+ underCreation(3),
+ invalid(4)
+ }
+ -- The status of a table entry.
+ --
+ -- Setting this object to the value invalid(4) has the
+ -- effect of invalidating the corresponding entry.
+ -- That is, it effectively disassociates the mapping
+ -- identified with said entry.
+ -- It is an implementation-specific matter as to whether
+ -- the agent removes an invalidated entry from the table.
+ -- Accordingly, management stations must be prepared to
+ -- receive tabular information from agents that
+ -- corresponds to entries currently not in use. Proper
+ -- interpretation of such entries requires examination
+ -- of the relevant EntryStatus object.
+ --
+ -- An existing instance of this object cannot be set to
+ -- createRequest(2). This object may only be set to
+ -- createRequest(2) when this instance is created. When
+ -- this object is created, the agent may wish to create
+ -- supplemental object instances with default values
+ -- to complete a conceptual row in this table. Because
+
+
+ -- the creation of these default objects is entirely at
+ -- the option of the agent, the manager must not assume
+ -- that any will be created, but may make use of any that
+ -- are created. Immediately after completing the create
+ -- operation, the agent must set this object to
+ -- underCreation(3).
+ --
+ -- When in the underCreation(3) state, an entry is
+ -- allowed to exist in a possibly incomplete, possibly
+ -- inconsistent state, usually to allow it to be
+ -- modified in mutiple PDUs. When in this state, an
+ -- entry is not fully active. Entries shall exist in
+ -- the underCreation(3) state until the management
+ -- station is finished configuring the entry and sets
+ -- this object to valid(1) or aborts, setting this
+ -- object to invalid(4). If the agent determines that
+ -- an entry has been in the underCreation(3) state for
+ -- an abnormally long time, it may decide that the
+ -- management station has crashed. If the agent makes
+ -- this decision, it may set this object to invalid(4)
+ -- to reclaim the entry. A prudent agent will
+ -- understand that the management station may need to
+ -- wait for human input and will allow for that
+ -- possibility in its determination of this abnormally
+ -- long period.
+ --
+ -- An entry in the valid(1) state is fully configured and
+ -- consistent and fully represents the configuration or
+ -- operation such a row is intended to represent. For
+ -- example, it could be a statistical function that is
+ -- configured and active, or a filter that is available
+ -- in the list of filters processed by the packet capture
+ -- process.
+ --
+ -- A manager is restricted to changing the state of an
+ -- entry in the following ways:
+ --
+ -- create under
+ -- To: valid Request Creation invalid
+ -- From:
+ -- valid OK NO OK OK
+ -- createRequest N/A N/A N/A N/A
+ -- underCreation OK NO OK OK
+ -- invalid NO NO NO OK
+ -- nonExistent NO OK NO OK
+ --
+ -- In the table above, it is not applicable to move the
+ -- state from the createRequest state to any other
+
+
+ -- state because the manager will never find the
+ -- variable in that state. The nonExistent state is
+ -- not a value of the enumeration, rather it means that
+ -- the entryStatus variable does not exist at all.
+ --
+ -- An agent may allow an entryStatus variable to change
+ -- state in additional ways, so long as the semantics
+ -- of the states are followed. This allowance is made
+ -- to ease the implementation of the agent and is made
+ -- despite the fact that managers should never
+ -- excercise these additional state transitions.
+
+
+ statistics OBJECT IDENTIFIER ::= { rmon 1 }
+ history OBJECT IDENTIFIER ::= { rmon 2 }
+ alarm OBJECT IDENTIFIER ::= { rmon 3 }
+ hosts OBJECT IDENTIFIER ::= { rmon 4 }
+ hostTopN OBJECT IDENTIFIER ::= { rmon 5 }
+ matrix OBJECT IDENTIFIER ::= { rmon 6 }
+ filter OBJECT IDENTIFIER ::= { rmon 7 }
+ capture OBJECT IDENTIFIER ::= { rmon 8 }
+ event OBJECT IDENTIFIER ::= { rmon 9 }
+
+
+ -- The Ethernet Statistics Group
+ --
+ -- Implementation of the Ethernet Statistics group is
+ -- optional.
+ --
+ -- The ethernet statistics group contains statistics
+ -- measured by the probe for each monitored interface on
+ -- this device. These statistics take the form of free
+ -- running counters that start from zero when a valid entry
+ -- is created.
+ --
+ -- This group currently has statistics defined only for
+ -- Ethernet interfaces. Each etherStatsEntry contains
+ -- statistics for one Ethernet interface. The probe must
+ -- create one etherStats entry for each monitored Ethernet
+ -- interface on the device.
+
+ etherStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EtherStatsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of Ethernet statistics entries."
+ ::= { statistics 1 }
+
+
+ etherStatsEntry OBJECT-TYPE
+ SYNTAX EtherStatsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics kept for a particular
+ Ethernet interface. As an example, an instance of the
+ etherStatsPkts object might be named etherStatsPkts.1"
+ INDEX { etherStatsIndex }
+ ::= { etherStatsTable 1 }
+
+ EtherStatsEntry ::= SEQUENCE {
+ etherStatsIndex INTEGER (1..65535),
+ etherStatsDataSource OBJECT IDENTIFIER,
+ etherStatsDropEvents Counter,
+ etherStatsOctets Counter,
+ etherStatsPkts Counter,
+ etherStatsBroadcastPkts Counter,
+ etherStatsMulticastPkts Counter,
+ etherStatsCRCAlignErrors Counter,
+ etherStatsUndersizePkts Counter,
+ etherStatsOversizePkts Counter,
+ etherStatsFragments Counter,
+ etherStatsJabbers Counter,
+ etherStatsCollisions Counter,
+ etherStatsPkts64Octets Counter,
+ etherStatsPkts65to127Octets Counter,
+ etherStatsPkts128to255Octets Counter,
+ etherStatsPkts256to511Octets Counter,
+ etherStatsPkts512to1023Octets Counter,
+ etherStatsPkts1024to1518Octets Counter,
+ etherStatsOwner OwnerString,
+ etherStatsStatus EntryStatus
+ }
+
+ etherStatsIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies this
+ etherStats entry."
+ ::= { etherStatsEntry 1 }
+
+ etherStatsDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "This object identifies the source of the data that
+ this etherStats entry is configured to analyze. This
+ source can be any ethernet interface on this device.
+ In order to identify a particular interface, this
+ object shall identify the instance of the ifIndex
+ object, defined in RFC 1213 and RFC 1573 [4,6], for
+ the desired interface. For example, if an entry
+ were to receive data from interface #1, this object
+ would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the
+ identified interface.
+
+ An agent may or may not be able to tell if
+ fundamental changes to the media of the interface
+ have occurred and necessitate an invalidation of
+ this entry. For example, a hot-pluggable ethernet
+ card could be pulled out and replaced by a
+ token-ring card. In such a case, if the agent has
+ such knowledge of the change, it is recommended that
+ it invalidate this entry.
+
+ This object may not be modified if the associated
+ etherStatsStatus object is equal to valid(1)."
+ ::= { etherStatsEntry 2 }
+
+ etherStatsDropEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of events in which packets
+ were dropped by the probe due to lack of resources.
+ Note that this number is not necessarily the number of
+ packets dropped; it is just the number of times this
+ condition has been detected."
+ ::= { etherStatsEntry 3 }
+
+ etherStatsOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets of data (including
+ those in bad packets) received on the
+ network (excluding framing bits but including
+
+
+ FCS octets).
+
+ This object can be used as a reasonable estimate of
+ ethernet utilization. If greater precision is
+ desired, the etherStatsPkts and etherStatsOctets
+ objects should be sampled before and after a common
+ interval. The differences in the sampled values are
+ Pkts and Octets, respectively, and the number of
+ seconds in the interval is Interval. These values
+ are used to calculate the Utilization as follows:
+
+ Pkts * (9.6 + 6.4) + (Octets * .8)
+ Utilization = -------------------------------------
+ Interval * 10,000
+
+ The result of this equation is the value Utilization
+ which is the percent utilization of the ethernet
+ segment on a scale of 0 to 100 percent."
+ ::= { etherStatsEntry 4 }
+
+ etherStatsPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including bad packets,
+ broadcast packets, and multicast packets) received."
+ ::= { etherStatsEntry 5 }
+
+ etherStatsBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good packets received that were
+ directed to the broadcast address. Note that this
+ does not include multicast packets."
+ ::= { etherStatsEntry 6 }
+
+ etherStatsMulticastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good packets received that were
+ directed to a multicast address. Note that this
+ number does not include packets directed to the
+ broadcast address."
+
+
+ ::= { etherStatsEntry 7 }
+
+ etherStatsCRCAlignErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received that
+ had a length (excluding framing bits, but
+ including FCS octets) of between 64 and 1518
+ octets, inclusive, but but had either a bad
+ Frame Check Sequence (FCS) with an integral
+ number of octets (FCS Error) or a bad FCS with
+ a non-integral number of octets (Alignment Error)."
+ ::= { etherStatsEntry 8 }
+
+ etherStatsUndersizePkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received that were
+ less than 64 octets long (excluding framing bits,
+ but including FCS octets) and were otherwise well
+ formed."
+ ::= { etherStatsEntry 9 }
+
+ etherStatsOversizePkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received that were
+ longer than 1518 octets (excluding framing bits,
+ but including FCS octets) and were otherwise
+ well formed."
+ ::= { etherStatsEntry 10 }
+
+ etherStatsFragments OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received that were less
+ than 64 octets in length (excluding framing bits but
+ including FCS octets) and had either a bad Frame
+ Check Sequence (FCS) with an integral number of
+ octets (FCS Error) or a bad FCS with a non-integral
+
+
+ number of octets (Alignment Error).
+
+ Note that it is entirely normal for
+ etherStatsFragments to increment. This is because
+ it counts both runts (which are normal occurrences
+ due to collisions) and noise hits."
+ ::= { etherStatsEntry 11 }
+
+ etherStatsJabbers OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received that were
+ longer than 1518 octets (excluding framing bits,
+ but including FCS octets), and had either a bad
+ Frame Check Sequence (FCS) with an integral number
+ of octets (FCS Error) or a bad FCS with a
+ non-integral number of octets (Alignment Error).
+
+ Note that this definition of jabber is different
+ than the definition in IEEE-802.3 section 8.2.1.5
+ (10BASE5) and section 10.3.1.4 (10BASE2). These
+ documents define jabber as the condition where any
+ packet exceeds 20 ms. The allowed range to detect
+ jabber is between 20 ms and 150 ms."
+ ::= { etherStatsEntry 12 }
+
+ etherStatsCollisions OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The best estimate of the total number of collisions
+ on this Ethernet segment.
+
+ The value returned will depend on the location of
+ the RMON probe. Section 8.2.1.3 (10BASE-5) and
+ section 10.3.1.3 (10BASE-2) of IEEE standard 802.3
+ states that a station must detect a collision, in
+ the receive mode, if three or more stations are
+ transmitting simultaneously. A repeater port must
+ detect a collision when two or more stations are
+ transmitting simultaneously. Thus a probe placed on
+ a repeater port could record more collisions than a
+ probe connected to a station on the same segment
+ would.
+
+
+
+ Probe location plays a much smaller role when
+ considering 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE
+ standard 802.3 defines a collision as the
+ simultaneous presence of signals on the DO and RD
+ circuits (transmitting and receiving at the same
+ time). A 10BASE-T station can only detect
+ collisions when it is transmitting. Thus probes
+ placed on a station and a repeater, should report
+ the same number of collisions.
+
+ Note also that an RMON probe inside a repeater
+ should ideally report collisions between the
+ repeater and one or more other hosts (transmit
+ collisions as defined by IEEE 802.3k) plus receiver
+ collisions observed on any coax segments to which
+ the repeater is connected."
+ ::= { etherStatsEntry 13 }
+
+ etherStatsPkts64Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were 64 octets in length
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 14 }
+
+ etherStatsPkts65to127Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 65 and 127 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 15 }
+
+ etherStatsPkts128to255Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 128 and 255 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+
+
+ ::= { etherStatsEntry 16 }
+
+ etherStatsPkts256to511Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 256 and 511 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 17 }
+
+ etherStatsPkts512to1023Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 512 and 1023 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 18 }
+
+ etherStatsPkts1024to1518Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 1024 and 1518 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 19 }
+
+ etherStatsOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { etherStatsEntry 20 }
+
+ etherStatsStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "The status of this etherStats entry."
+ ::= { etherStatsEntry 21 }
+
+
+ -- The History Control Group
+
+ -- Implementation of the History Control group is optional.
+ --
+ -- The history control group controls the periodic statistical
+ -- sampling of data from various types of networks. The
+ -- historyControlTable stores configuration entries that each
+ -- define an interface, polling period, and other parameters.
+ -- Once samples are taken, their data is stored in an entry
+ -- in a media-specific table. Each such entry defines one
+ -- sample, and is associated with the historyControlEntry that
+ -- caused the sample to be taken. Each counter in the
+ -- etherHistoryEntry counts the same event as its
+ -- similarly-named counterpart in the etherStatsEntry,
+ -- except that each value here is a cumulative sum during a
+ -- sampling period.
+ --
+ -- If the probe keeps track of the time of day, it should
+ -- start the first sample of the history at a time such that
+ -- when the next hour of the day begins, a sample is
+ -- started at that instant. This tends to make more
+ -- user-friendly reports, and enables comparison of reports
+ -- from different probes that have relatively accurate time
+ -- of day.
+ --
+ -- The probe is encouraged to add two history control entries
+ -- per monitored interface upon initialization that describe
+ -- a short term and a long term polling period. Suggested
+ -- parameters are 30 seconds for the short term polling period
+ -- and 30 minutes for the long term period.
+
+ historyControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HistoryControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of history control entries."
+ ::= { history 1 }
+
+ historyControlEntry OBJECT-TYPE
+ SYNTAX HistoryControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "A list of parameters that set up a periodic sampling
+ of statistics. As an example, an instance of the
+ historyControlInterval object might be named
+ historyControlInterval.2"
+ INDEX { historyControlIndex }
+ ::= { historyControlTable 1 }
+
+ HistoryControlEntry ::= SEQUENCE {
+ historyControlIndex INTEGER (1..65535),
+ historyControlDataSource OBJECT IDENTIFIER,
+ historyControlBucketsRequested INTEGER (1..65535),
+ historyControlBucketsGranted INTEGER (1..65535),
+ historyControlInterval INTEGER (1..3600),
+ historyControlOwner OwnerString,
+ historyControlStatus EntryStatus
+ }
+
+ historyControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ historyControl table. Each such entry defines a
+ set of samples at a particular interval for an
+ interface on the device."
+ ::= { historyControlEntry 1 }
+
+ historyControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the source of the data for
+ which historical data was collected and
+ placed in a media-specific table on behalf of this
+ historyControlEntry. This source can be any
+ interface on this device. In order to identify
+ a particular interface, this object shall identify
+ the instance of the ifIndex object, defined
+ in RFC 1213 and RFC 1573 [4,6], for the desired
+ interface. For example, if an entry were to receive
+ data from interface #1, this object would be set
+ to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the
+
+
+ identified interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred
+ and necessitate an invalidation of this entry. For
+ example, a hot-pluggable ethernet card could be
+ pulled out and replaced by a token-ring card. In
+ such a case, if the agent has such knowledge of the
+ change, it is recommended that it invalidate this
+ entry.
+
+ This object may not be modified if the associated
+ historyControlStatus object is equal to valid(1)."
+ ::= { historyControlEntry 2 }
+
+ historyControlBucketsRequested OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The requested number of discrete time intervals
+ over which data is to be saved in the part of the
+ media-specific table associated with this
+ historyControlEntry.
+
+ When this object is created or modified, the probe
+ should set historyControlBucketsGranted as closely to
+ this object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 50 }
+ ::= { historyControlEntry 3 }
+
+ historyControlBucketsGranted OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of discrete sampling intervals
+ over which data shall be saved in the part of
+ the media-specific table associated with this
+ historyControlEntry.
+
+ When the associated historyControlBucketsRequested
+ object is created or modified, the probe
+ should set this object as closely to the requested
+ value as is possible for the particular
+ probe implementation and available resources. The
+ probe must not lower this value except as a result
+
+
+ of a modification to the associated
+ historyControlBucketsRequested object.
+
+ There will be times when the actual number of
+ buckets associated with this entry is less than
+ the value of this object. In this case, at the
+ end of each sampling interval, a new bucket will
+ be added to the media-specific table.
+
+ When the number of buckets reaches the value of
+ this object and a new bucket is to be added to the
+ media-specific table, the oldest bucket associated
+ with this historyControlEntry shall be deleted by
+ the agent so that the new bucket can be added.
+
+ When the value of this object changes to a value less
+ than the current value, entries are deleted
+ from the media-specific table associated with this
+ historyControlEntry. Enough of the oldest of these
+ entries shall be deleted by the agent so that their
+ number remains less than or equal to the new value of
+ this object.
+
+ When the value of this object changes to a value
+ greater than the current value, the number of
+ associated media- specific entries may be allowed to
+ grow."
+ ::= { historyControlEntry 4 }
+
+ historyControlInterval OBJECT-TYPE
+ SYNTAX INTEGER (1..3600)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The interval in seconds over which the data is
+ sampled for each bucket in the part of the
+ media-specific table associated with this
+ historyControlEntry. This interval can
+ be set to any number of seconds between 1 and
+ 3600 (1 hour).
+
+ Because the counters in a bucket may overflow at their
+ maximum value with no indication, a prudent manager
+ will take into account the possibility of overflow
+ in any of the associated counters. It is important
+ to consider the minimum time in which any counter
+ could overflow on a particular media type and set
+ the historyControlInterval object to a value less
+
+
+ than this interval. This is typically most
+ important for the 'octets' counter in any
+ media-specific table. For example, on an Ethernet
+ network, the etherHistoryOctets counter could
+ overflow in about one hour at the Ethernet's maximum
+ utilization.
+
+ This object may not be modified if the associated
+ historyControlStatus object is equal to valid(1)."
+ DEFVAL { 1800 }
+ ::= { historyControlEntry 5 }
+
+ historyControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { historyControlEntry 6 }
+
+ historyControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this historyControl entry.
+
+ Each instance of the media-specific table associated
+ with this historyControlEntry will be deleted by the
+ agent if this historyControlEntry is not equal to
+ valid(1)."
+ ::= { historyControlEntry 7 }
+
+
+ -- The Ethernet History Group
+
+ -- Implementation of the Ethernet History group is optional.
+ --
+ -- The Ethernet History group records periodic
+ -- statistical samples from a network and stores them
+ -- for later retrieval. Once samples are taken, their
+ -- data is stored in an entry in a media-specific
+ -- table. Each such entry defines one sample, and is
+ -- associated with the historyControlEntry that caused
+ -- the sample to be taken. This group defines the
+ -- etherHistoryTable, for Ethernet networks.
+ --
+
+
+ etherHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EtherHistoryEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of Ethernet history entries."
+ ::= { history 2 }
+
+ etherHistoryEntry OBJECT-TYPE
+ SYNTAX EtherHistoryEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An historical sample of Ethernet statistics on a
+ particular Ethernet interface. This sample is
+ associated with the historyControlEntry which set up
+ the parameters for a regular collection of these
+ samples. As an example, an instance of the
+ etherHistoryPkts object might be named
+ etherHistoryPkts.2.89"
+ INDEX { etherHistoryIndex , etherHistorySampleIndex }
+ ::= { etherHistoryTable 1 }
+
+ EtherHistoryEntry ::= SEQUENCE {
+ etherHistoryIndex INTEGER (1..65535),
+ etherHistorySampleIndex INTEGER (1..2147483647),
+ etherHistoryIntervalStart TimeTicks,
+ etherHistoryDropEvents Counter,
+ etherHistoryOctets Counter,
+ etherHistoryPkts Counter,
+ etherHistoryBroadcastPkts Counter,
+ etherHistoryMulticastPkts Counter,
+ etherHistoryCRCAlignErrors Counter,
+ etherHistoryUndersizePkts Counter,
+ etherHistoryOversizePkts Counter,
+ etherHistoryFragments Counter,
+ etherHistoryJabbers Counter,
+ etherHistoryCollisions Counter,
+ etherHistoryUtilization INTEGER (0..10000)
+ }
+
+ etherHistoryIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The history of which this entry is a part. The
+ history identified by a particular value of this
+
+
+ index is the same history as identified
+ by the same value of historyControlIndex."
+ ::= { etherHistoryEntry 1 }
+
+ etherHistorySampleIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies the particular
+ sample this entry represents among all samples
+ associated with the same historyControlEntry.
+ This index starts at 1 and increases by one
+ as each new sample is taken."
+ ::= { etherHistoryEntry 2 }
+
+ etherHistoryIntervalStart OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the start of the interval
+ over which this sample was measured. If the probe
+ keeps track of the time of day, it should start
+ the first sample of the history at a time such that
+ when the next hour of the day begins, a sample is
+ started at that instant. Note that following this
+ rule may require the probe to delay collecting the
+ first sample of the history, as each sample must be
+ of the same interval. Also note that the sample which
+ is currently being collected is not accessible in this
+ table until the end of its interval."
+ ::= { etherHistoryEntry 3 }
+
+ etherHistoryDropEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of events in which packets
+ were dropped by the probe due to lack of resources
+ during this sampling interval. Note that this number
+ is not necessarily the number of packets dropped, it
+ is just the number of times this condition has been
+ detected."
+ ::= { etherHistoryEntry 4 }
+
+ etherHistoryOctets OBJECT-TYPE
+
+
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets of data (including
+ those in bad packets) received on the
+ network (excluding framing bits but including
+ FCS octets)."
+ ::= { etherHistoryEntry 5 }
+
+ etherHistoryPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets (including bad packets)
+ received during this sampling interval."
+ ::= { etherHistoryEntry 6 }
+
+ etherHistoryBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets received during this
+ sampling interval that were directed to the
+ broadcast address."
+ ::= { etherHistoryEntry 7 }
+
+ etherHistoryMulticastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets received during this
+ sampling interval that were directed to a
+ multicast address. Note that this number does not
+ include packets addressed to the broadcast address."
+ ::= { etherHistoryEntry 8 }
+
+ etherHistoryCRCAlignErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets received during this sampling
+ interval that had a length (excluding framing bits
+ but including FCS octets) between 64 and 1518
+
+
+ octets, inclusive, but had either a bad Frame Check
+ Sequence (FCS) with an integral number of octets
+ (FCS Error) or a bad FCS with a non-integral number
+ of octets (Alignment Error)."
+ ::= { etherHistoryEntry 9 }
+
+ etherHistoryUndersizePkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that were less than 64 octets
+ long (excluding framing bits but including FCS
+ octets) and were otherwise well formed."
+ ::= { etherHistoryEntry 10 }
+
+ etherHistoryOversizePkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that were longer than 1518
+ octets (excluding framing bits but including
+ FCS octets) but were otherwise well formed."
+ ::= { etherHistoryEntry 11 }
+
+ etherHistoryFragments OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets received during this
+ sampling interval that were less than 64 octets in
+ length (excluding framing bits but including FCS
+ octets) had either a bad Frame Check Sequence (FCS)
+ with an integral number of octets (FCS Error) or a bad
+ FCS with a non-integral number of octets (Alignment
+ Error).
+
+ Note that it is entirely normal for
+ etherHistoryFragments to increment. This is because
+ it counts both runts (which are normal occurrences
+ due to collisions) and noise hits."
+ ::= { etherHistoryEntry 12 }
+
+ etherHistoryJabbers OBJECT-TYPE
+
+
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that were longer than 1518 octets
+ (excluding framing bits but including FCS octets),
+ and had either a bad Frame Check Sequence (FCS)
+ with an integral number of octets (FCS Error) or
+ a bad FCS with a non-integral number of octets
+ (Alignment Error).
+
+ Note that this definition of jabber is different
+ than the definition in IEEE-802.3 section 8.2.1.5
+ (10BASE5) and section 10.3.1.4 (10BASE2). These
+ documents define jabber as the condition where any
+ packet exceeds 20 ms. The allowed range to detect
+ jabber is between 20 ms and 150 ms."
+ ::= { etherHistoryEntry 13 }
+
+ etherHistoryCollisions OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The best estimate of the total number of collisions
+ on this Ethernet segment during this sampling
+ interval.
+
+ The value returned will depend on the location of
+ the RMON probe. Section 8.2.1.3 (10BASE-5) and
+ section 10.3.1.3 (10BASE-2) of IEEE standard 802.3
+ states that a station must detect a collision, in
+ the receive mode, if three or more stations are
+ transmitting simultaneously. A repeater port must
+ detect a collision when two or more stations are
+ transmitting simultaneously. Thus a probe placed on
+ a repeater port could record more collisions than a
+ probe connected to a station on the same segment
+ would.
+
+ Probe location plays a much smaller role when
+ considering 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE
+ standard 802.3 defines a collision as the
+ simultaneous presence of signals on the DO and RD
+ circuits (transmitting and receiving at the same
+ time). A 10BASE-T station can only detect
+ collisions when it is transmitting. Thus probes
+
+
+ placed on a station and a repeater, should report
+ the same number of collisions.
+
+ Note also that an RMON probe inside a repeater
+ should ideally report collisions between the
+ repeater and one or more other hosts (transmit
+ collisions as defined by IEEE 802.3k) plus receiver
+ collisions observed on any coax segments to which
+ the repeater is connected."
+ ::= { etherHistoryEntry 14 }
+
+ etherHistoryUtilization OBJECT-TYPE
+ SYNTAX INTEGER (0..10000)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The best estimate of the mean physical layer
+ network utilization on this interface during this
+ sampling interval, in hundredths of a percent."
+ ::= { etherHistoryEntry 15 }
+
+
+ -- The Alarm Group
+
+ -- Implementation of the Alarm group is optional.
+ --
+ -- The Alarm Group requires the implementation of the Event
+ -- group.
+ --
+ -- The Alarm group periodically takes
+ -- statistical samples from variables in the probe and
+ -- compares them to thresholds that have been
+ -- configured. The alarm table stores configuration
+ -- entries that each define a variable, polling period,
+ -- and threshold parameters. If a sample is found to
+ -- cross the threshold values, an event is generated.
+ -- Only variables that resolve to an ASN.1 primitive
+ -- type of INTEGER (INTEGER, Counter, Gauge, or
+ -- TimeTicks) may be monitored in this way.
+ --
+ -- This function has a hysteresis mechanism to limit
+ -- the generation of events. This mechanism generates
+ -- one event as a threshold is crossed in the
+ -- appropriate direction. No more events are generated
+ -- for that threshold until the opposite threshold is
+ -- crossed.
+ --
+ -- In the case of a sampling a deltaValue, a probe may
+
+
+ -- implement this mechanism with more precision if it
+ -- takes a delta sample twice per period, each time
+ -- comparing the sum of the latest two samples to the
+ -- threshold. This allows the detection of threshold
+ -- crossings that span the sampling boundary. Note
+ -- that this does not require any special configuration
+ -- of the threshold value. It is suggested that probes
+ -- implement this more precise algorithm.
+
+ alarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of alarm entries."
+ ::= { alarm 1 }
+
+ alarmEntry OBJECT-TYPE
+ SYNTAX AlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of parameters that set up a periodic checking
+ for alarm conditions. For example, an instance of the
+ alarmValue object might be named alarmValue.8"
+ INDEX { alarmIndex }
+ ::= { alarmTable 1 }
+
+ AlarmEntry ::= SEQUENCE {
+ alarmIndex INTEGER (1..65535),
+ alarmInterval INTEGER,
+ alarmVariable OBJECT IDENTIFIER,
+ alarmSampleType INTEGER,
+ alarmValue INTEGER,
+ alarmStartupAlarm INTEGER,
+ alarmRisingThreshold INTEGER,
+ alarmFallingThreshold INTEGER,
+ alarmRisingEventIndex INTEGER (0..65535),
+ alarmFallingEventIndex INTEGER (0..65535),
+ alarmOwner OwnerString,
+ alarmStatus EntryStatus
+ }
+
+ alarmIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "An index that uniquely identifies an entry in the
+ alarm table. Each such entry defines a
+ diagnostic sample at a particular interval
+ for an object on the device."
+ ::= { alarmEntry 1 }
+
+ alarmInterval OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The interval in seconds over which the data is
+ sampled and compared with the rising and falling
+ thresholds. When setting this variable, care
+ should be taken in the case of deltaValue
+ sampling - the interval should be set short enough
+ that the sampled variable is very unlikely to
+ increase or decrease by more than 2^31 - 1 during
+ a single sampling interval.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 2 }
+
+ alarmVariable OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The object identifier of the particular variable to
+ be sampled. Only variables that resolve to an ASN.1
+ primitive type of INTEGER (INTEGER, Counter, Gauge,
+ or TimeTicks) may be sampled.
+
+ Because SNMP access control is articulated entirely
+ in terms of the contents of MIB views, no access
+ control mechanism exists that can restrict the value
+ of this object to identify only those objects that
+ exist in a particular MIB view. Because there is
+ thus no acceptable means of restricting the read
+ access that could be obtained through the alarm
+ mechanism, the probe must only grant write access to
+ this object in those views that have read access to
+ all objects on the probe.
+
+ During a set operation, if the supplied variable
+ name is not available in the selected MIB view, a
+ badValue error must be returned. If at any time the
+
+
+ variable name of an established alarmEntry is no
+ longer available in the selected MIB view, the probe
+ must change the status of this alarmEntry to
+ invalid(4).
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 3 }
+
+ alarmSampleType OBJECT-TYPE
+ SYNTAX INTEGER {
+ absoluteValue(1),
+ deltaValue(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The method of sampling the selected variable and
+ calculating the value to be compared against the
+ thresholds. If the value of this object is
+ absoluteValue(1), the value of the selected variable
+ will be compared directly with the thresholds at the
+ end of the sampling interval. If the value of this
+ object is deltaValue(2), the value of the selected
+ variable at the last sample will be subtracted from
+ the current value, and the difference compared with
+ the thresholds.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 4 }
+
+ alarmValue OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of the statistic during the last sampling
+ period. For example, if the sample type is
+ deltaValue, this value will be the difference
+ between the samples at the beginning and end of the
+ period. If the sample type is absoluteValue, this
+ value will be the sampled value at the end of the
+ period.
+
+ This is the value that is compared with the rising and
+ falling thresholds.
+
+
+
+ The value during the current sampling period is not
+ made available until the period is completed and will
+ remain available until the next period completes."
+ ::= { alarmEntry 5 }
+
+ alarmStartupAlarm OBJECT-TYPE
+ SYNTAX INTEGER {
+ risingAlarm(1),
+ fallingAlarm(2),
+ risingOrFallingAlarm(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm that may be sent when this entry is first
+ set to valid. If the first sample after this entry
+ becomes valid is greater than or equal to the
+ risingThreshold and alarmStartupAlarm is equal to
+ risingAlarm(1) or risingOrFallingAlarm(3), then a
+ single rising alarm will be generated. If the first
+ sample after this entry becomes valid is less than
+ or equal to the fallingThreshold and
+ alarmStartupAlarm is equal to fallingAlarm(2) or
+ risingOrFallingAlarm(3), then a single falling alarm
+ will be generated.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 6 }
+
+ alarmRisingThreshold OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A threshold for the sampled statistic. When the
+ current sampled value is greater than or equal to
+ this threshold, and the value at the last sampling
+ interval was less than this threshold, a single
+ event will be generated. A single event will also
+ be generated if the first sample after this entry
+ becomes valid is greater than or equal to this
+ threshold and the associated alarmStartupAlarm is
+ equal to risingAlarm(1) or risingOrFallingAlarm(3).
+
+ After a rising event is generated, another such event
+ will not be generated until the sampled value
+ falls below this threshold and reaches the
+
+
+ alarmFallingThreshold.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 7 }
+
+ alarmFallingThreshold OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A threshold for the sampled statistic. When the
+ current sampled value is less than or equal to this
+ threshold, and the value at the last sampling
+ interval was greater than this threshold, a single
+ event will be generated. A single event will also
+ be generated if the first sample after this entry
+ becomes valid is less than or equal to this
+ threshold and the associated alarmStartupAlarm is
+ equal to fallingAlarm(2) or risingOrFallingAlarm(3).
+
+ After a falling event is generated, another such event
+ will not be generated until the sampled value
+ rises above this threshold and reaches the
+ alarmRisingThreshold.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 8 }
+
+ alarmRisingEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The index of the eventEntry that is
+ used when a rising threshold is crossed. The
+ eventEntry identified by a particular value of
+ this index is the same as identified by the same value
+ of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then
+ no association exists. In particular, if this value
+ is zero, no associated event will be generated, as
+ zero is not a valid event index.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 9 }
+
+
+ alarmFallingEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The index of the eventEntry that is
+ used when a falling threshold is crossed. The
+ eventEntry identified by a particular value of
+ this index is the same as identified by the same value
+ of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then
+ no association exists. In particular, if this value
+ is zero, no associated event will be generated, as
+ zero is not a valid event index.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 10 }
+
+ alarmOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { alarmEntry 11 }
+
+ alarmStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this alarm entry."
+ ::= { alarmEntry 12 }
+
+
+ -- The Host Group
+
+ -- Implementation of the Host group is optional.
+ --
+ -- The host group discovers new hosts on the network by
+ -- keeping a list of source and destination MAC Addresses seen
+ -- in good packets. For each of these addresses, the host
+ -- group keeps a set of statistics. The hostControlTable
+ -- controls which interfaces this function is performed on,
+ -- and contains some information about the process. On
+ -- behalf of each hostControlEntry, data is collected on an
+
+
+ -- interface and placed in both the hostTable and the
+ -- hostTimeTable. If the monitoring device finds itself
+ -- short of resources, it may delete entries as needed. It
+ -- is suggested that the device delete the least recently
+ -- used entries first.
+
+ -- The hostTable contains entries for each address
+ -- discovered on a particular interface. Each entry
+ -- contains statistical data about that host. This table is
+ -- indexed by the MAC address of the host, through which a
+ -- random access may be achieved.
+
+ -- The hostTimeTable contains data in the same format as the
+ -- hostTable, and must contain the same set of hosts, but is
+ -- indexed using hostTimeCreationOrder rather than
+ -- hostAddress.
+ -- The hostTimeCreationOrder is an integer which reflects
+ -- the relative order in which a particular entry was
+ -- discovered and thus inserted into the table. As this
+ -- order, and thus the index, is among those entries
+ -- currently in the table, the index for a particular entry
+ -- may change if an (earlier) entry is deleted. Thus the
+ -- association between hostTimeCreationOrder and
+ -- hostTimeEntry may be broken at any time.
+
+ -- The hostTimeTable has two important uses. The first is the
+ -- fast download of this potentially large table. Because the
+ -- index of this table runs from 1 to the size of the table,
+ -- inclusive, its values are predictable. This allows very
+ -- efficient packing of variables into SNMP PDU's and allows
+ -- a table transfer to have multiple packets outstanding.
+ -- These benefits increase transfer rates tremendously.
+
+ -- The second use of the hostTimeTable is the efficient
+ -- discovery by the management station of new entries added
+ -- to the table. After the management station has downloaded
+ -- the entire table, it knows that new entries will be added
+ -- immediately after the end of the current table. It can
+ -- thus detect new entries there and retrieve them easily.
+
+ -- Because the association between hostTimeCreationOrder and
+ -- hostTimeEntry may be broken at any time, the management
+ -- station must monitor the related hostControlLastDeleteTime
+ -- object. When the management station thus detects a
+ -- deletion, it must assume that any such associations have
+ --- been broken, and invalidate any it has stored locally.
+ -- This includes restarting any download of the
+ -- hostTimeTable that may have been in progress, as well as
+
+
+ -- rediscovering the end of the hostTimeTable so that it may
+ -- detect new entries. If the management station does not
+ -- detect the broken association, it may continue to refer
+ -- to a particular host by its creationOrder while
+ -- unwittingly retrieving the data associated with another
+ -- host entirely. If this happens while downloading the
+ -- host table, the management station may fail to download
+ -- all of the entries in the table.
+
+ hostControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of host table control entries."
+ ::= { hosts 1 }
+
+ hostControlEntry OBJECT-TYPE
+ SYNTAX HostControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of parameters that set up the discovery of
+ hosts on a particular interface and the collection
+ of statistics about these hosts. For example, an
+ instance of the hostControlTableSize object might be
+ named hostControlTableSize.1"
+ INDEX { hostControlIndex }
+ ::= { hostControlTable 1 }
+
+ HostControlEntry ::= SEQUENCE {
+ hostControlIndex INTEGER (1..65535),
+ hostControlDataSource OBJECT IDENTIFIER,
+ hostControlTableSize INTEGER,
+ hostControlLastDeleteTime TimeTicks,
+ hostControlOwner OwnerString,
+ hostControlStatus EntryStatus
+ }
+
+ hostControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ hostControl table. Each such entry defines
+ a function that discovers hosts on a particular
+ interface and places statistics about them in the
+
+
+ hostTable and the hostTimeTable on behalf of this
+ hostControlEntry."
+ ::= { hostControlEntry 1 }
+
+ hostControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the source of the data for
+ this instance of the host function. This source
+ can be any interface on this device. In order
+ to identify a particular interface, this object shall
+ identify the instance of the ifIndex object, defined
+ in RFC 1213 and RFC 1573 [4,6], for the desired
+ interface. For example, if an entry were to receive
+ data from interface #1, this object would be set to
+ ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the
+ identified interface.
+
+ An agent may or may not be able to tell if
+ fundamental changes to the media of the interface
+ have occurred and necessitate an invalidation of
+ this entry. For example, a hot-pluggable ethernet
+ card could be pulled out and replaced by a
+ token-ring card. In such a case, if the agent has
+ such knowledge of the change, it is recommended that
+ it invalidate this entry.
+
+ This object may not be modified if the associated
+ hostControlStatus object is equal to valid(1)."
+ ::= { hostControlEntry 2 }
+
+ hostControlTableSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of hostEntries in the hostTable and the
+ hostTimeTable associated with this hostControlEntry."
+ ::= { hostControlEntry 3 }
+
+ hostControlLastDeleteTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+
+
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when the last entry
+ was deleted from the portion of the hostTable
+ associated with this hostControlEntry. If no
+ deletions have occurred, this value shall be zero."
+ ::= { hostControlEntry 4 }
+
+ hostControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { hostControlEntry 5 }
+
+ hostControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this hostControl entry.
+
+ If this object is not equal to valid(1), all
+ associated entries in the hostTable, hostTimeTable,
+ and the hostTopNTable shall be deleted by the
+ agent."
+ ::= { hostControlEntry 6 }
+
+ hostTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of host entries."
+ ::= { hosts 2 }
+
+ hostEntry OBJECT-TYPE
+ SYNTAX HostEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for a particular host
+ that has been discovered on an interface of this
+ device. For example, an instance of the
+ hostOutBroadcastPkts object might be named
+ hostOutBroadcastPkts.1.6.8.0.32.27.3.176"
+
+
+ INDEX { hostIndex, hostAddress }
+ ::= { hostTable 1 }
+
+ HostEntry ::= SEQUENCE {
+ hostAddress OCTET STRING,
+ hostCreationOrder INTEGER (1..65535),
+ hostIndex INTEGER (1..65535),
+ hostInPkts Counter,
+ hostOutPkts Counter,
+ hostInOctets Counter,
+ hostOutOctets Counter,
+ hostOutErrors Counter,
+ hostOutBroadcastPkts Counter,
+ hostOutMulticastPkts Counter
+ }
+
+ hostAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostEntry 1 }
+
+ hostCreationOrder OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that defines the relative ordering of
+ the creation time of hosts captured for a
+ particular hostControlEntry. This index shall
+ be between 1 and N, where N is the value of
+ the associated hostControlTableSize. The ordering
+ of the indexes is based on the order of each entry's
+ insertion into the table, in which entries added
+ earlier have a lower index value than entries added
+ later.
+
+ It is important to note that the order for a
+ particular entry may change as an (earlier) entry
+ is deleted from the table. Because this order may
+ change, management stations should make use of the
+ hostControlLastDeleteTime variable in the
+ hostControlEntry associated with the relevant
+ portion of the hostTable. By observing
+ this variable, the management station may detect
+ the circumstances where a previous association
+
+
+ between a value of hostCreationOrder
+ and a hostEntry may no longer hold."
+ ::= { hostEntry 2 }
+
+ hostIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The set of collected host statistics of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ index is associated with the hostControlEntry
+ as identified by the same value of hostControlIndex."
+ ::= { hostEntry 3 }
+
+ hostInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets transmitted to this
+ address since it was added to the hostTable."
+ ::= { hostEntry 4 }
+
+ hostOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets, including bad packets,
+ transmitted by this address since it was added
+ to the hostTable."
+ ::= { hostEntry 5 }
+
+ hostInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets transmitted to this address
+ since it was added to the hostTable (excluding
+ framing bits but including FCS octets), except for
+ those octets in bad packets."
+ ::= { hostEntry 6 }
+
+ hostOutOctets OBJECT-TYPE
+ SYNTAX Counter
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets transmitted by this address
+ since it was added to the hostTable (excluding
+ framing bits but including FCS octets), including
+ those octets in bad packets."
+ ::= { hostEntry 7 }
+
+ hostOutErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of bad packets transmitted by this address
+ since this host was added to the hostTable."
+ ::= { hostEntry 8 }
+
+ hostOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to the broadcast address
+ since this host was added to the hostTable."
+ ::= { hostEntry 9 }
+
+ hostOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to a multicast address
+ since this host was added to the hostTable.
+ Note that this number does not include packets
+ directed to the broadcast address."
+ ::= { hostEntry 10 }
+
+ -- host Time Table
+
+ hostTimeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTimeEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of time-ordered host table entries."
+
+
+ ::= { hosts 3 }
+
+ hostTimeEntry OBJECT-TYPE
+ SYNTAX HostTimeEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for a particular host
+ that has been discovered on an interface of this
+ device. This collection includes the relative
+ ordering of the creation time of this object. For
+ example, an instance of the hostTimeOutBroadcastPkts
+ object might be named
+ hostTimeOutBroadcastPkts.1.687"
+ INDEX { hostTimeIndex, hostTimeCreationOrder }
+ ::= { hostTimeTable 1 }
+
+ HostTimeEntry ::= SEQUENCE {
+ hostTimeAddress OCTET STRING,
+ hostTimeCreationOrder INTEGER (1..65535),
+ hostTimeIndex INTEGER (1..65535),
+ hostTimeInPkts Counter,
+ hostTimeOutPkts Counter,
+ hostTimeInOctets Counter,
+ hostTimeOutOctets Counter,
+ hostTimeOutErrors Counter,
+ hostTimeOutBroadcastPkts Counter,
+ hostTimeOutMulticastPkts Counter
+ }
+
+ hostTimeAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostTimeEntry 1 }
+
+ hostTimeCreationOrder OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in
+ the hostTime table among those entries associated
+ with the same hostControlEntry. This index shall
+ be between 1 and N, where N is the value of
+ the associated hostControlTableSize. The ordering
+
+
+ of the indexes is based on the order of each entry's
+ insertion into the table, in which entries added
+ earlier have a lower index value than entries added
+ later. Thus the management station has the ability to
+ learn of new entries added to this table without
+ downloading the entire table.
+
+ It is important to note that the index for a
+ particular entry may change as an (earlier) entry
+ is deleted from the table. Because this order may
+ change, management stations should make use of the
+ hostControlLastDeleteTime variable in the
+ hostControlEntry associated with the relevant
+ portion of the hostTimeTable. By observing
+ this variable, the management station may detect
+ the circumstances where a download of the table
+ may have missed entries, and where a previous
+ association between a value of hostTimeCreationOrder
+ and a hostTimeEntry may no longer hold."
+ ::= { hostTimeEntry 2 }
+
+ hostTimeIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The set of collected host statistics of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ index is associated with the hostControlEntry
+ as identified by the same value of hostControlIndex."
+ ::= { hostTimeEntry 3 }
+
+ hostTimeInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets transmitted to this
+ address since it was added to the hostTimeTable."
+ ::= { hostTimeEntry 4 }
+
+ hostTimeOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of god packets transmitted by this
+
+
+ address since it was added to the hostTimeTable."
+ ::= { hostTimeEntry 5 }
+
+ hostTimeInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets transmitted to this address
+ since it was added to the hostTimeTable (excluding
+ framing bits but including FCS octets), except for
+ those octets in bad packets."
+ ::= { hostTimeEntry 6 }
+
+ hostTimeOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets transmitted by this address
+ since it was added to the hostTimeTable (excluding
+ framing bits but including FCS octets), including
+ those octets in bad packets."
+ ::= { hostTimeEntry 7 }
+
+ hostTimeOutErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of bad packets transmitted by this address
+ since this host was added to the hostTimeTable."
+ ::= { hostTimeEntry 8 }
+
+ hostTimeOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to the broadcast address
+ since this host was added to the hostTimeTable."
+ ::= { hostTimeEntry 9 }
+
+ hostTimeOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to a multicast address
+ since this host was added to the hostTimeTable.
+ Note that this number does not include packets
+ directed to the broadcast address."
+ ::= { hostTimeEntry 10 }
+
+
+ -- The Host Top "N" Group
+
+ -- Implementation of the Host Top N group is optional.
+ --
+ -- The Host Top N group requires the implementation of the
+ -- host group.
+ --
+ -- The Host Top N group is used to prepare reports that
+ -- describe the hosts that top a list ordered by one of
+ -- their statistics.
+ -- The available statistics are samples of one of their
+ -- base statistics, over an interval specified by the
+ -- management station. Thus, these statistics are rate
+ -- based. The management station also selects how many such
+ -- hosts are reported.
+
+ -- The hostTopNControlTable is used to initiate the
+ -- generation of such a report. The management station
+ -- may select the parameters of such a report, such as
+ -- which interface, which statistic, how many hosts,
+ -- and the start and stop times of the sampling. When
+ -- the report is prepared, entries are created in the
+ -- hostTopNTable associated with the relevant
+ -- hostTopNControlEntry. These entries are static for
+ -- each report after it has been prepared.
+
+ hostTopNControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTopNControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of top N host control entries."
+ ::= { hostTopN 1 }
+
+ hostTopNControlEntry OBJECT-TYPE
+ SYNTAX HostTopNControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "A set of parameters that control the creation of a
+ report of the top N hosts according to several
+ metrics. For example, an instance of the
+ hostTopNDuration object might be named
+ hostTopNDuration.3"
+ INDEX { hostTopNControlIndex }
+ ::= { hostTopNControlTable 1 }
+
+ HostTopNControlEntry ::= SEQUENCE {
+ hostTopNControlIndex INTEGER (1..65535),
+ hostTopNHostIndex INTEGER (1..65535),
+ hostTopNRateBase INTEGER,
+ hostTopNTimeRemaining INTEGER,
+ hostTopNDuration INTEGER,
+ hostTopNRequestedSize INTEGER,
+ hostTopNGrantedSize INTEGER,
+ hostTopNStartTime TimeTicks,
+ hostTopNOwner OwnerString,
+ hostTopNStatus EntryStatus
+ }
+
+ hostTopNControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the hostTopNControl table. Each such
+ entry defines one top N report prepared for
+ one interface."
+ ::= { hostTopNControlEntry 1 }
+
+ hostTopNHostIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The host table for which a top N report will be
+ prepared on behalf of this entry. The host table
+ identified by a particular value of this index is
+ associated with the same host table as identified by
+ the same value of hostIndex.
+
+ This object may not be modified if the associated
+ hostTopNStatus object is equal to valid(1)."
+ ::= { hostTopNControlEntry 2 }
+
+ hostTopNRateBase OBJECT-TYPE
+
+
+ SYNTAX INTEGER {
+ hostTopNInPkts(1),
+ hostTopNOutPkts(2),
+ hostTopNInOctets(3),
+ hostTopNOutOctets(4),
+ hostTopNOutErrors(5),
+ hostTopNOutBroadcastPkts(6),
+ hostTopNOutMulticastPkts(7)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The variable for each host that the hostTopNRate
+ variable is based upon.
+
+ This object may not be modified if the associated
+ hostTopNStatus object is equal to valid(1)."
+ ::= { hostTopNControlEntry 3 }
+
+ hostTopNTimeRemaining OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The number of seconds left in the report currently
+ being collected. When this object is modified by
+ the management station, a new collection is started,
+ possibly aborting a currently running report. The
+ new value is used as the requested duration of this
+ report, which is loaded into the associated
+ hostTopNDuration object.
+
+ When this object is set to a non-zero value, any
+ associated hostTopNEntries shall be made
+ inaccessible by the monitor. While the value of
+ this object is non-zero, it decrements by one per
+ second until it reaches zero. During this time, all
+ associated hostTopNEntries shall remain
+ inaccessible. At the time that this object
+ decrements to zero, the report is made accessible in
+ the hostTopNTable. Thus, the hostTopN table needs
+ to be created only at the end of the collection
+ interval."
+ DEFVAL { 0 }
+ ::= { hostTopNControlEntry 4 }
+
+ hostTopNDuration OBJECT-TYPE
+ SYNTAX INTEGER
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of seconds that this report has collected
+ during the last sampling interval, or if this
+ report is currently being collected, the number
+ of seconds that this report is being collected
+ during this sampling interval.
+
+ When the associated hostTopNTimeRemaining object is
+ set, this object shall be set by the probe to the
+ same value and shall not be modified until the next
+ time the hostTopNTimeRemaining is set.
+
+ This value shall be zero if no reports have been
+ requested for this hostTopNControlEntry."
+ DEFVAL { 0 }
+ ::= { hostTopNControlEntry 5 }
+
+ hostTopNRequestedSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of hosts requested for the top N
+ table.
+
+ When this object is created or modified, the probe
+ should set hostTopNGrantedSize as closely to this
+ object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 10 }
+ ::= { hostTopNControlEntry 6 }
+
+ hostTopNGrantedSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of hosts in the top N table.
+
+ When the associated hostTopNRequestedSize object is
+ created or modified, the probe should set this
+ object as closely to the requested value as is
+ possible for the particular implementation and
+ available resources. The probe must not lower this
+ value except as a result of a set to the associated
+ hostTopNRequestedSize object.
+
+
+ Hosts with the highest value of hostTopNRate shall be
+ placed in this table in decreasing order of this rate
+ until there is no more room or until there are no more
+ hosts."
+ ::= { hostTopNControlEntry 7 }
+
+ hostTopNStartTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when this top N report was
+ last started. In other words, this is the time that
+ the associated hostTopNTimeRemaining object was
+ modified to start the requested report."
+ ::= { hostTopNControlEntry 8 }
+
+ hostTopNOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { hostTopNControlEntry 9 }
+
+ hostTopNStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this hostTopNControl entry.
+
+ If this object is not equal to valid(1), all
+ associated hostTopNEntries shall be deleted by the
+ agent."
+ ::= { hostTopNControlEntry 10 }
+
+ hostTopNTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTopNEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of top N host entries."
+ ::= { hostTopN 2 }
+
+ hostTopNEntry OBJECT-TYPE
+ SYNTAX HostTopNEntry
+
+
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of statistics for a host that is part of a
+ top N report. For example, an instance of the
+ hostTopNRate object might be named
+ hostTopNRate.3.10"
+ INDEX { hostTopNReport, hostTopNIndex }
+ ::= { hostTopNTable 1 }
+
+ HostTopNEntry ::= SEQUENCE {
+ hostTopNReport INTEGER (1..65535),
+ hostTopNIndex INTEGER (1..65535),
+ hostTopNAddress OCTET STRING,
+ hostTopNRate INTEGER
+ }
+
+ hostTopNReport OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the top N report of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ object is part of the same report as identified
+ by the same value of the hostTopNControlIndex object."
+ ::= { hostTopNEntry 1 }
+
+ hostTopNIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in
+ the hostTopN table among those in the same report.
+ This index is between 1 and N, where N is the
+ number of entries in this table. Increasing values
+ of hostTopNIndex shall be assigned to entries with
+ decreasing values of hostTopNRate until index N
+ is assigned to the entry with the lowest value of
+ hostTopNRate or there are no more hostTopNEntries."
+ ::= { hostTopNEntry 2 }
+
+ hostTopNAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostTopNEntry 3 }
+
+ hostTopNRate OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The amount of change in the selected variable
+ during this sampling interval. The selected
+ variable is this host's instance of the object
+ selected by hostTopNRateBase."
+ ::= { hostTopNEntry 4 }
+
+
+ -- The Matrix Group
+
+ -- Implementation of the Matrix group is optional.
+ --
+ -- The Matrix group consists of the matrixControlTable,
+ -- matrixSDTable and the matrixDSTable. These tables
+ -- store statistics for a particular conversation
+ -- between two addresses. As the device detects a new
+ -- conversation, including those to a non-unicast
+ -- address, it creates a new entry in both of the
+ -- matrix tables. It must only create new entries
+ -- based on information received in good packets. If
+ -- the monitoring device finds itself short of
+ -- resources, it may delete entries as needed. It is
+ -- suggested that the device delete the least recently
+ -- used entries first.
+
+ matrixControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of information entries for the
+ traffic matrix on each interface."
+ ::= { matrix 1 }
+
+ matrixControlEntry OBJECT-TYPE
+ SYNTAX MatrixControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Information about a traffic matrix on a particular
+
+
+ interface. For example, an instance of the
+ matrixControlLastDeleteTime object might be named
+ matrixControlLastDeleteTime.1"
+ INDEX { matrixControlIndex }
+ ::= { matrixControlTable 1 }
+
+ MatrixControlEntry ::= SEQUENCE {
+ matrixControlIndex INTEGER (1..65535),
+ matrixControlDataSource OBJECT IDENTIFIER,
+ matrixControlTableSize INTEGER,
+ matrixControlLastDeleteTime TimeTicks,
+ matrixControlOwner OwnerString,
+ matrixControlStatus EntryStatus
+ }
+
+ matrixControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ matrixControl table. Each such entry defines
+ a function that discovers conversations on a
+ particular interface and places statistics about
+ them in the matrixSDTable and the matrixDSTable on
+ behalf of this matrixControlEntry."
+ ::= { matrixControlEntry 1 }
+
+ matrixControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the source of
+ the data from which this entry creates a traffic
+ matrix. This source can be any interface on this
+ device. In order to identify a particular
+ interface, this object shall identify the instance
+ of the ifIndex object, defined in RFC 1213 and RFC
+ 1573 [4,6], for the desired interface. For example,
+ if an entry were to receive data from interface #1,
+ this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the
+ identified interface.
+
+ An agent may or may not be able to tell if
+
+
+ fundamental changes to the media of the interface
+ have occurred and necessitate an invalidation of
+ this entry. For example, a hot-pluggable ethernet
+ card could be pulled out and replaced by a
+ token-ring card. In such a case, if the agent has
+ such knowledge of the change, it is recommended that
+ it invalidate this entry.
+
+ This object may not be modified if the associated
+ matrixControlStatus object is equal to valid(1)."
+ ::= { matrixControlEntry 2 }
+
+ matrixControlTableSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of matrixSDEntries in the matrixSDTable
+ for this interface. This must also be the value of
+ the number of entries in the matrixDSTable for this
+ interface."
+ ::= { matrixControlEntry 3 }
+
+ matrixControlLastDeleteTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when the last entry
+ was deleted from the portion of the matrixSDTable
+ or matrixDSTable associated with this
+ matrixControlEntry. If no deletions have occurred,
+ this value shall be zero."
+ ::= { matrixControlEntry 4 }
+
+ matrixControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { matrixControlEntry 5 }
+
+ matrixControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "The status of this matrixControl entry.
+
+ If this object is not equal to valid(1), all
+ associated entries in the matrixSDTable and the
+ matrixDSTable shall be deleted by the agent."
+ ::= { matrixControlEntry 6 }
+
+ matrixSDTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixSDEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of traffic matrix entries indexed by
+ source and destination MAC address."
+ ::= { matrix 2 }
+
+ matrixSDEntry OBJECT-TYPE
+ SYNTAX MatrixSDEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for communications between
+ two addresses on a particular interface. For example,
+ an instance of the matrixSDPkts object might be named
+ matrixSDPkts.1.6.8.0.32.27.3.176.6.8.0.32.10.8.113"
+ INDEX { matrixSDIndex,
+ matrixSDSourceAddress, matrixSDDestAddress }
+ ::= { matrixSDTable 1 }
+
+ MatrixSDEntry ::= SEQUENCE {
+ matrixSDSourceAddress OCTET STRING,
+ matrixSDDestAddress OCTET STRING,
+ matrixSDIndex INTEGER (1..65535),
+ matrixSDPkts Counter,
+ matrixSDOctets Counter,
+ matrixSDErrors Counter
+ }
+
+ matrixSDSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The source physical address."
+ ::= { matrixSDEntry 1 }
+
+ matrixSDDestAddress OBJECT-TYPE
+
+
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The destination physical address."
+ ::= { matrixSDEntry 2 }
+
+ matrixSDIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The set of collected matrix statistics of which
+ this entry is a part. The set of matrix statistics
+ identified by a particular value of this index
+ is associated with the same matrixControlEntry
+ as identified by the same value of
+ matrixControlIndex."
+ ::= { matrixSDEntry 3 }
+
+ matrixSDPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets transmitted from the source
+ address to the destination address (this number
+ includes bad packets)."
+ ::= { matrixSDEntry 4 }
+
+ matrixSDOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets (excluding framing bits but
+ including FCS octets) contained in all packets
+ transmitted from the source address to the
+ destination address."
+ ::= { matrixSDEntry 5 }
+
+ matrixSDErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of bad packets transmitted from
+ the source address to the destination address."
+
+
+ ::= { matrixSDEntry 6 }
+
+
+ -- Traffic matrix tables from destination to source
+
+ matrixDSTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixDSEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of traffic matrix entries indexed by
+ destination and source MAC address."
+ ::= { matrix 3 }
+
+ matrixDSEntry OBJECT-TYPE
+ SYNTAX MatrixDSEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for communications between
+ two addresses on a particular interface. For example,
+ an instance of the matrixSDPkts object might be named
+ matrixSDPkts.1.6.8.0.32.10.8.113.6.8.0.32.27.3.176"
+ INDEX { matrixDSIndex,
+ matrixDSDestAddress, matrixDSSourceAddress }
+ ::= { matrixDSTable 1 }
+
+ MatrixDSEntry ::= SEQUENCE {
+ matrixDSSourceAddress OCTET STRING,
+ matrixDSDestAddress OCTET STRING,
+ matrixDSIndex INTEGER (1..65535),
+ matrixDSPkts Counter,
+ matrixDSOctets Counter,
+ matrixDSErrors Counter
+ }
+
+ matrixDSSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The source physical address."
+ ::= { matrixDSEntry 1 }
+
+ matrixDSDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "The destination physical address."
+ ::= { matrixDSEntry 2 }
+
+ matrixDSIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The set of collected matrix statistics of which
+ this entry is a part. The set of matrix statistics
+ identified by a particular value of this index
+ is associated with the same matrixControlEntry
+ as identified by the same value of
+ matrixControlIndex."
+ ::= { matrixDSEntry 3 }
+
+ matrixDSPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets transmitted from the source
+ address to the destination address (this number
+ includes bad packets)."
+ ::= { matrixDSEntry 4 }
+
+ matrixDSOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of octets (excluding framing bits
+ but including FCS octets) contained in all packets
+ transmitted from the source address to the
+ destination address."
+ ::= { matrixDSEntry 5 }
+
+ matrixDSErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of bad packets transmitted from
+ the source address to the destination address."
+ ::= { matrixDSEntry 6 }
+
+
+
+
+ -- The Filter Group
+
+ -- Implementation of the Filter group is optional.
+ --
+ -- The Filter group allows packets to be captured with an
+ -- arbitrary filter expression. A logical data and
+ -- event stream or "channel" is formed by the packets
+ -- that match the filter expression.
+ --
+ -- This filter mechanism allows the creation of an arbitrary
+ -- logical expression with which to filter packets. Each
+ -- filter associated with a channel is OR'ed with the others.
+ -- Within a filter, any bits checked in the data and status
+ -- are AND'ed with respect to other bits in the same filter.
+ -- The NotMask also allows for checking for inequality.
+ -- Finally, the channelAcceptType object allows for
+ -- inversion of the whole equation.
+ --
+ -- If a management station wishes to receive a trap to alert
+ -- it that new packets have been captured and are available
+ -- for download, it is recommended that it set up an alarm
+ -- entry that monitors the value of the relevant
+ -- channelMatches instance.
+ --
+ -- The channel can be turned on or off, and can also
+ -- generate events when packets pass through it.
+
+ filterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF FilterEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of packet filter entries."
+ ::= { filter 1 }
+
+ filterEntry OBJECT-TYPE
+ SYNTAX FilterEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of parameters for a packet filter applied on a
+ particular interface. As an example, an instance of
+ the filterPktData object might be named
+ filterPktData.12"
+ INDEX { filterIndex }
+ ::= { filterTable 1 }
+
+
+
+
+ FilterEntry ::= SEQUENCE {
+ filterIndex INTEGER (1..65535),
+ filterChannelIndex INTEGER (1..65535),
+ filterPktDataOffset INTEGER,
+ filterPktData OCTET STRING,
+ filterPktDataMask OCTET STRING,
+ filterPktDataNotMask OCTET STRING,
+ filterPktStatus INTEGER,
+ filterPktStatusMask INTEGER,
+ filterPktStatusNotMask INTEGER,
+ filterOwner OwnerString,
+ filterStatus EntryStatus
+ }
+
+ filterIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the filter table. Each such entry defines
+ one filter that is to be applied to every packet
+ received on an interface."
+ ::= { filterEntry 1 }
+
+ filterChannelIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the channel of which this
+ filter is a part. The filters identified by a
+ particular value of this object are associated with
+ the same channel as identified by the same value of
+ the channelIndex object."
+ ::= { filterEntry 2 }
+
+ filterPktDataOffset OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The offset from the beginning of each packet where
+ a match of packet data will be attempted. This offset
+ is measured from the point in the physical layer
+ packet after the framing bits, if any. For example,
+ in an Ethernet frame, this point is at the beginning
+ of the destination MAC address.
+
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ DEFVAL { 0 }
+ ::= { filterEntry 3 }
+
+ filterPktData OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The data that is to be matched with the input
+ packet. For each packet received, this filter and
+ the accompanying filterPktDataMask and
+ filterPktDataNotMask will be adjusted for the
+ offset. The only bits relevant to this match
+ algorithm are those that have the corresponding
+ filterPktDataMask bit equal to one. The following
+ three rules are then applied to every packet:
+
+ (1) If the packet is too short and does not have data
+ corresponding to part of the filterPktData, the
+ packet will fail this data match.
+
+ (2) For each relevant bit from the packet with the
+ corresponding filterPktDataNotMask bit set to
+ zero, if the bit from the packet is not equal to
+ the corresponding bit from the filterPktData,
+ then the packet will fail this data match.
+
+ (3) If for every relevant bit from the packet with the
+ corresponding filterPktDataNotMask bit set to one,
+ the bit from the packet is equal to the
+ corresponding bit from the filterPktData, then
+ the packet will fail this data match.
+
+ Any packets that have not failed any of the three
+ matches above have passed this data match. In
+ particular, a zero length filter will match any
+ packet.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 4 }
+
+ filterPktDataMask OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-write
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "The mask that is applied to the match process.
+ After adjusting this mask for the offset, only those
+ bits in the received packet that correspond to bits
+ set in this mask are relevant for further processing
+ by the match algorithm. The offset is applied to
+ filterPktDataMask in the same way it is applied to the
+ filter. For the purposes of the matching algorithm,
+ if the associated filterPktData object is longer
+ than this mask, this mask is conceptually extended
+ with '1' bits until it reaches the length of the
+ filterPktData object.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 5 }
+
+ filterPktDataNotMask OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The inversion mask that is applied to the match
+ process. After adjusting this mask for the offset,
+ those relevant bits in the received packet that
+ correspond to bits cleared in this mask must all be
+ equal to their corresponding bits in the
+ filterPktData object for the packet to be accepted.
+ In addition, at least one of those relevant bits in
+ the received packet that correspond to bits set in
+ this mask must be different to its corresponding bit
+ in the filterPktData object.
+
+ For the purposes of the matching algorithm, if the
+ associated filterPktData object is longer than this
+ mask, this mask is conceptually extended with '0'
+ bits until it reaches the length of the
+ filterPktData object.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 6 }
+
+ filterPktStatus OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "The status that is to be matched with the input
+ packet. The only bits relevant to this match
+ algorithm are those that have the corresponding
+ filterPktStatusMask bit equal to one. The following
+ two rules are then applied to every packet:
+
+ (1) For each relevant bit from the packet status
+ with the corresponding filterPktStatusNotMask bit
+ set to zero, if the bit from the packet status is
+ not equal to the corresponding bit from the
+ filterPktStatus, then the packet will fail this
+ status match.
+
+ (2) If for every relevant bit from the packet status
+ with the corresponding filterPktStatusNotMask bit
+ set to one, the bit from the packet status is
+ equal to the corresponding bit from the
+ filterPktStatus, then the packet will fail this
+ status match.
+
+ Any packets that have not failed either of the two
+ matches above have passed this status match. In
+ particular, a zero length status filter will match any
+ packet's status.
+
+ The value of the packet status is a sum. This sum
+ initially takes the value zero. Then, for each
+ error, E, that has been discovered in this packet,
+ 2 raised to a value representing E is added to the
+ sum. The errors and the bits that represent them are
+ dependent on the media type of the interface that
+ this channel is receiving packets from.
+
+ The errors defined for a packet captured off of an
+ Ethernet interface are as follows:
+
+ bit # Error
+ 0 Packet is longer than 1518 octets
+ 1 Packet is shorter than 64 octets
+ 2 Packet experienced a CRC or Alignment
+ error
+
+ For example, an Ethernet fragment would have a
+ value of 6 (2^1 + 2^2).
+
+ As this MIB is expanded to new media types, this
+ object will have other media-specific errors
+ defined.
+
+
+ For the purposes of this status matching algorithm,
+ if the packet status is longer than this
+ filterPktStatus object, this object is conceptually
+ extended with '0' bits until it reaches the size of
+ the packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 7 }
+
+ filterPktStatusMask OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The mask that is applied to the status match
+ process. Only those bits in the received packet
+ that correspond to bits set in this mask are
+ relevant for further processing by the status match
+ algorithm. For the purposes of the matching
+ algorithm, if the associated filterPktStatus object
+ is longer than this mask, this mask is conceptually
+ extended with '1' bits until it reaches the size of
+ the filterPktStatus. In addition, if a packet
+ status is longer than this mask, this mask is
+ conceptually extended with '0' bits until it reaches
+ the size of the packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 8 }
+
+ filterPktStatusNotMask OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The inversion mask that is applied to the status
+ match process. Those relevant bits in the received
+ packet status that correspond to bits cleared in
+ this mask must all be equal to their corresponding
+ bits in the filterPktStatus object for the packet to
+ be accepted. In addition, at least one of those
+ relevant bits in the received packet status that
+ correspond to bits set in this mask must be
+ different to its corresponding bit in the
+ filterPktStatus object for the packet to be
+ accepted.
+
+
+ For the purposes of the matching algorithm, if the
+ associated filterPktStatus object or a packet status
+ is longer than this mask, this mask is conceptually
+ extended with '0' bits until it reaches the longer
+ of the lengths of the filterPktStatus object and the
+ packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 9 }
+
+ filterOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { filterEntry 10 }
+
+ filterStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this filter entry."
+ ::= { filterEntry 11 }
+
+ channelTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ChannelEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of packet channel entries."
+ ::= { filter 2 }
+
+ channelEntry OBJECT-TYPE
+ SYNTAX ChannelEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of parameters for a packet channel applied on a
+ particular interface. As an example, an instance of
+ the channelMatches object might be named
+ channelMatches.3"
+ INDEX { channelIndex }
+ ::= { channelTable 1 }
+
+
+
+ ChannelEntry ::= SEQUENCE {
+ channelIndex INTEGER (1..65535),
+ channelIfIndex INTEGER (1..65535),
+ channelAcceptType INTEGER,
+ channelDataControl INTEGER,
+ channelTurnOnEventIndex INTEGER (0..65535),
+ channelTurnOffEventIndex INTEGER (0..65535),
+ channelEventIndex INTEGER (0..65535),
+ channelEventStatus INTEGER,
+ channelMatches Counter,
+ channelDescription DisplayString (SIZE (0..127)),
+ channelOwner OwnerString,
+ channelStatus EntryStatus
+ }
+
+ channelIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ channel table. Each such entry defines one channel,
+ a logical data and event stream.
+
+ It is suggested that before creating a channel, an
+ application should scan all instances of the
+ filterChannelIndex object to make sure that there
+ are no pre-existing filters that would be
+ inadvertently be linked to the channel."
+ ::= { channelEntry 1 }
+
+ channelIfIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies the
+ interface on this remote network monitoring device
+ to which the associated filters are applied to allow
+ data into this channel. The interface identified by
+ a particular value of this object is the same
+ interface as identified by the same value of the
+ ifIndex object, defined in RFC 1213 and RFC 1573
+ [4,6].
+
+ The filters in this group are applied to all packets
+ on the local network segment attached to the
+ identified interface.
+
+
+ An agent may or may not be able to tell if
+ fundamental changes to the media of the interface
+ have occurred and necessitate an invalidation of
+ this entry. For example, a hot-pluggable ethernet
+ card could be pulled out and replaced by a
+ token-ring card. In such a case, if the agent has
+ such knowledge of the change, it is recommended that
+ it invalidate this entry.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 2 }
+
+ channelAcceptType OBJECT-TYPE
+ SYNTAX INTEGER {
+ acceptMatched(1),
+ acceptFailed(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object controls the action of the filters
+ associated with this channel. If this object is equal
+ to acceptMatched(1), packets will be accepted to this
+ channel if they are accepted by both the packet data
+ and packet status matches of an associated filter. If
+ this object is equal to acceptFailed(2), packets will
+ be accepted to this channel only if they fail either
+ the packet data match or the packet status match of
+ each of the associated filters.
+
+ In particular, a channel with no associated filters
+ will match no packets if set to acceptMatched(1)
+ case and will match all packets in the
+ acceptFailed(2) case.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 3 }
+
+ channelDataControl OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "This object controls the flow of data through this
+ channel. If this object is on(1), data, status and
+ events flow through this channel. If this object is
+ off(2), data, status and events will not flow
+ through this channel."
+ DEFVAL { off }
+ ::= { channelEntry 4 }
+
+ channelTurnOnEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to turn the associated
+ channelDataControl from off to on when the event is
+ generated. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelTurnOnEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 5 }
+
+ channelTurnOffEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to turn the associated
+ channelDataControl from on to off when the event is
+ generated. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelTurnOffEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 6 }
+
+
+
+ channelEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to be generated when the
+ associated channelDataControl is on and a packet
+ is matched. The event identified by a particular
+ value of this object is the same event as identified
+ by the same value of the eventIndex object. If
+ there is no corresponding entry in the eventTable,
+ then no association exists. In fact, if no event is
+ intended for this channel, channelEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 7 }
+
+ channelEventStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ eventReady(1),
+ eventFired(2),
+ eventAlwaysReady(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The event status of this channel.
+
+ If this channel is configured to generate events
+ when packets are matched, a means of controlling
+ the flow of those events is often needed. When
+ this object is equal to eventReady(1), a single
+ event may be generated, after which this object
+ will be set by the probe to eventFired(2). While
+ in the eventFired(2) state, no events will be
+ generated until the object is modified to
+ eventReady(1) (or eventAlwaysReady(3)). The
+ management station can thus easily respond to a
+ notification of an event by re-enabling this object.
+
+ If the management station wishes to disable this
+ flow control and allow events to be generated
+ at will, this object may be set to
+ eventAlwaysReady(3). Disabling the flow control
+ is discouraged as it can result in high network
+
+
+ traffic or other performance problems."
+ DEFVAL { eventReady }
+ ::= { channelEntry 8 }
+
+ channelMatches OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times this channel has matched a
+ packet. Note that this object is updated even when
+ channelDataControl is set to off."
+ ::= { channelEntry 9 }
+
+ channelDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..127))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A comment describing this channel."
+ ::= { channelEntry 10 }
+
+ channelOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { channelEntry 11 }
+
+ channelStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this channel entry."
+ ::= { channelEntry 12 }
+
+
+ -- The Packet Capture Group
+
+ -- Implementation of the Packet Capture group is optional.
+ --
+ -- The Packet Capture Group requires implementation of the
+ -- Filter Group.
+ --
+ -- The Packet Capture group allows packets to be captured
+
+
+ -- upon a filter match. The bufferControlTable controls
+ -- the captured packets output from a channel that is
+ -- associated with it. The captured packets are placed
+ -- in entries in the captureBufferTable. These entries are
+ -- associated with the bufferControlEntry on whose behalf they
+ -- were stored.
+
+ bufferControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF BufferControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of buffers control entries."
+ ::= { capture 1 }
+
+ bufferControlEntry OBJECT-TYPE
+ SYNTAX BufferControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of parameters that control the collection of
+ a stream of packets that have matched filters. As
+ an example, an instance of the
+ bufferControlCaptureSliceSize object might be named
+ bufferControlCaptureSliceSize.3"
+ INDEX { bufferControlIndex }
+ ::= { bufferControlTable 1 }
+
+ BufferControlEntry ::= SEQUENCE {
+ bufferControlIndex INTEGER (1..65535),
+ bufferControlChannelIndex INTEGER (1..65535),
+ bufferControlFullStatus INTEGER,
+ bufferControlFullAction INTEGER,
+ bufferControlCaptureSliceSize INTEGER,
+ bufferControlDownloadSliceSize INTEGER,
+ bufferControlDownloadOffset INTEGER,
+ bufferControlMaxOctetsRequested INTEGER,
+ bufferControlMaxOctetsGranted INTEGER,
+ bufferControlCapturedPackets INTEGER,
+ bufferControlTurnOnTime TimeTicks,
+ bufferControlOwner OwnerString,
+ bufferControlStatus EntryStatus
+ }
+
+ bufferControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the bufferControl table. The value of this
+ index shall never be zero. Each such
+ entry defines one set of packets that is
+ captured and controlled by one or more filters."
+ ::= { bufferControlEntry 1 }
+
+ bufferControlChannelIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An index that identifies the channel that is the
+ source of packets for this bufferControl table.
+ The channel identified by a particular value of this
+ index is the same as identified by the same value of
+ the channelIndex object.
+
+ This object may not be modified if the associated
+ bufferControlStatus object is equal to valid(1)."
+ ::= { bufferControlEntry 2 }
+
+ bufferControlFullStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ spaceAvailable(1),
+ full(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "This object shows whether the buffer has room to
+ accept new packets or if it is full.
+
+ If the status is spaceAvailable(1), the buffer is
+ accepting new packets normally. If the status is
+ full(2) and the associated bufferControlFullAction
+ object is wrapWhenFull, the buffer is accepting new
+ packets by deleting enough of the oldest packets
+ to make room for new ones as they arrive. Otherwise,
+ if the status is full(2) and the
+ bufferControlFullAction object is lockWhenFull,
+ then the buffer has stopped collecting packets.
+
+ When this object is set to full(2) the probe must
+ not later set it to spaceAvailable(1) except in the
+ case of a significant gain in resources such as
+ an increase of bufferControlOctetsGranted. In
+
+
+ particular, the wrap-mode action of deleting old
+ packets to make room for newly arrived packets
+ must not affect the value of this object."
+ ::= { bufferControlEntry 3 }
+
+ bufferControlFullAction OBJECT-TYPE
+ SYNTAX INTEGER {
+ lockWhenFull(1),
+ wrapWhenFull(2) -- FIFO
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Controls the action of the buffer when it
+ reaches the full status. When in the lockWhenFull(1)
+ state and a packet is added to the buffer that
+ fills the buffer, the bufferControlFullStatus will
+ be set to full(2) and this buffer will stop capturing
+ packets."
+ ::= { bufferControlEntry 4 }
+
+ bufferControlCaptureSliceSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of octets of each packet
+ that will be saved in this capture buffer.
+ For example, if a 1500 octet packet is received by
+ the probe and this object is set to 500, then only
+ 500 octets of the packet will be stored in the
+ associated capture buffer. If this variable is set
+ to 0, the capture buffer will save as many octets
+ as is possible.
+
+ This object may not be modified if the associated
+ bufferControlStatus object is equal to valid(1)."
+ DEFVAL { 100 }
+ ::= { bufferControlEntry 5 }
+
+ bufferControlDownloadSliceSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of octets of each packet
+ in this capture buffer that will be returned in
+ an SNMP retrieval of that packet. For example,
+
+
+ if 500 octets of a packet have been stored in the
+ associated capture buffer, the associated
+ bufferControlDownloadOffset is 0, and this
+ object is set to 100, then the captureBufferPacket
+ object that contains the packet will contain only
+ the first 100 octets of the packet.
+
+ A prudent manager will take into account possible
+ interoperability or fragmentation problems that may
+ occur if the download slice size is set too large.
+ In particular, conformant SNMP implementations are not
+ required to accept messages whose length exceeds 484
+ octets, although they are encouraged to support larger
+ datagrams whenever feasible."
+ DEFVAL { 100 }
+ ::= { bufferControlEntry 6 }
+
+ bufferControlDownloadOffset OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The offset of the first octet of each packet
+ in this capture buffer that will be returned in
+ an SNMP retrieval of that packet. For example,
+ if 500 octets of a packet have been stored in the
+ associated capture buffer and this object is set to
+ 100, then the captureBufferPacket object that
+ contains the packet will contain bytes starting
+ 100 octets into the packet."
+ DEFVAL { 0 }
+ ::= { bufferControlEntry 7 }
+
+ bufferControlMaxOctetsRequested OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The requested maximum number of octets to be
+ saved in this captureBuffer, including any
+ implementation-specific overhead. If this variable
+ is set to -1, the capture buffer will save as many
+ octets as is possible.
+
+ When this object is created or modified, the probe
+ should set bufferControlMaxOctetsGranted as closely
+ to this object as is possible for the particular probe
+ implementation and available resources. However, if
+
+
+ the object has the special value of -1, the probe
+ must set bufferControlMaxOctetsGranted to -1."
+ DEFVAL { -1 }
+ ::= { bufferControlEntry 8 }
+
+ bufferControlMaxOctetsGranted OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of octets that can be
+ saved in this captureBuffer, including overhead.
+ If this variable is -1, the capture buffer will save
+ as many octets as possible.
+
+ When the bufferControlMaxOctetsRequested object is
+ created or modified, the probe should set this object
+ as closely to the requested value as is possible for
+ the particular probe implementation and available
+ resources.
+ However, if the request object has the special value
+ of -1, the probe must set this object to -1.
+ The probe must not lower this value except as a result
+ of a modification to the associated
+ bufferControlMaxOctetsRequested object.
+
+ When this maximum number of octets is reached
+ and a new packet is to be added to this
+ capture buffer and the corresponding
+ bufferControlFullAction is set to wrapWhenFull(2),
+ enough of the oldest packets associated with this
+ capture buffer shall be deleted by the agent so
+ that the new packet can be added. If the
+ corresponding bufferControlFullAction is set to
+ lockWhenFull(1), the new packet shall be discarded.
+ In either case, the probe must set
+ bufferControlFullStatus to full(2).
+
+ When the value of this object changes to a value less
+ than the current value, entries are deleted from
+ the captureBufferTable associated with this
+ bufferControlEntry. Enough of the
+ oldest of these captureBufferEntries shall be
+ deleted by the agent so that the number of octets
+ used remains less than or equal to the new value of
+ this object.
+
+ When the value of this object changes to a value
+
+
+ greater than the current value, the number of
+ associated captureBufferEntries may be allowed to
+ grow."
+ ::= { bufferControlEntry 9 }
+
+ bufferControlCapturedPackets OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets currently in this
+ captureBuffer."
+ ::= { bufferControlEntry 10 }
+
+ bufferControlTurnOnTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when this capture buffer was
+ first turned on."
+ ::= { bufferControlEntry 11 }
+
+ bufferControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { bufferControlEntry 12 }
+
+ bufferControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this buffer Control Entry."
+ ::= { bufferControlEntry 13 }
+
+ captureBufferTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF CaptureBufferEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of packets captured off of a channel."
+ ::= { capture 2 }
+
+
+
+ captureBufferEntry OBJECT-TYPE
+ SYNTAX CaptureBufferEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A packet captured off of an attached network. As an
+ example, an instance of the captureBufferPacketData
+ object might be named captureBufferPacketData.3.1783"
+ INDEX { captureBufferControlIndex, captureBufferIndex }
+ ::= { captureBufferTable 1 }
+
+ CaptureBufferEntry ::= SEQUENCE {
+ captureBufferControlIndex INTEGER (1..65535),
+ captureBufferIndex INTEGER (1..2147483647),
+ captureBufferPacketID INTEGER,
+ captureBufferPacketData OCTET STRING,
+ captureBufferPacketLength INTEGER,
+ captureBufferPacketTime INTEGER,
+ captureBufferPacketStatus INTEGER
+ }
+
+ captureBufferControlIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The index of the bufferControlEntry with which
+ this packet is associated."
+ ::= { captureBufferEntry 1 }
+
+ captureBufferIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the captureBuffer table associated with a
+ particular bufferControlEntry. This index will
+ start at 1 and increase by one for each new packet
+ added with the same captureBufferControlIndex.
+
+ Should this value reach 2147483647, the next packet
+ added with the same captureBufferControlIndex shall
+ cause this value to wrap around to 1."
+ ::= { captureBufferEntry 2 }
+
+ captureBufferPacketID OBJECT-TYPE
+ SYNTAX INTEGER
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that describes the order of packets
+ that are received on a particular interface.
+ The packetID of a packet captured on an
+ interface is defined to be greater than the
+ packetID's of all packets captured previously on
+ the same interface. As the captureBufferPacketID
+ object has a maximum positive value of 2^31 - 1,
+ any captureBufferPacketID object shall have the
+ value of the associated packet's packetID mod 2^31."
+ ::= { captureBufferEntry 3 }
+
+ captureBufferPacketData OBJECT-TYPE
+ SYNTAX OCTET STRING
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The data inside the packet, starting at the
+ beginning of the packet plus any offset specified in
+ the associated bufferControlDownloadOffset,
+ including any link level headers. The length of the
+ data in this object is the minimum of the length of
+ the captured packet minus the offset, the length of
+ the associated bufferControlCaptureSliceSize minus
+ the offset, and the associated
+ bufferControlDownloadSliceSize. If this minimum is
+ less than zero, this object shall have a length of
+ zero."
+ ::= { captureBufferEntry 4 }
+
+ captureBufferPacketLength OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual length (off the wire) of the packet stored
+ in this entry, including FCS octets."
+ ::= { captureBufferEntry 5 }
+
+ captureBufferPacketTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of milliseconds that had passed since
+ this capture buffer was first turned on when this
+
+
+ packet was captured."
+ ::= { captureBufferEntry 6 }
+
+ captureBufferPacketStatus OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A value which indicates the error status of this
+ packet.
+
+ The value of this object is defined in the same way as
+ filterPktStatus. The value is a sum. This sum
+ initially takes the value zero. Then, for each
+ error, E, that has been discovered in this packet,
+ 2 raised to a value representing E is added to the
+ sum.
+
+ The errors defined for a packet captured off of an
+ Ethernet interface are as follows:
+
+ bit # Error
+ 0 Packet is longer than 1518 octets
+ 1 Packet is shorter than 64 octets
+ 2 Packet experienced a CRC or Alignment
+ error
+ 3 First packet in this capture buffer after
+ it was detected that some packets were
+ not processed correctly.
+ 4 Packet's order in buffer is only
+ approximate (May only be set for packets
+ sent from the probe)
+
+ For example, an Ethernet fragment would have a
+ value of 6 (2^1 + 2^2).
+
+ As this MIB is expanded to new media types, this
+ object will have other media-specific errors defined."
+ ::= { captureBufferEntry 7 }
+
+
+ -- The Event Group
+
+ -- Implementation of the Event group is optional.
+ --
+ -- The Event group controls the generation and notification
+ -- of events from this device. Each entry in the eventTable
+ -- describes the parameters of the event that can be
+
+
+ -- triggered. Each event entry is fired by an associated
+ -- condition located elsewhere in the MIB. An event entry
+ -- may also be associated- with a function elsewhere in the
+ -- MIB that will be executed when the event is generated. For
+ -- example, a channel may be turned on or off by the firing
+ -- of an event.
+ --
+ -- Each eventEntry may optionally specify that a log entry
+ -- be created on its behalf whenever the event occurs.
+ -- Each entry may also specify that notification should
+ -- occur by way of SNMP trap messages. In this case, the
+ -- community for the trap message is given in the associated
+ -- eventCommunity object. The enterprise and specific trap
+ -- fields of the trap are determined by the condition that
+ -- triggered the event. Two traps are defined: risingAlarm
+ -- and fallingAlarm. If the eventTable is triggered by a
+ -- condition specified elsewhere, the enterprise and
+ -- specific trap fields must be specified for traps
+ -- generated for that condition.
+
+ eventTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EventEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of events to be generated."
+ ::= { event 1 }
+
+ eventEntry OBJECT-TYPE
+ SYNTAX EventEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of parameters that describe an event to be
+ generated when certain conditions are met. As an
+ example, an instance of the eventLastTimeSent object
+ might be named eventLastTimeSent.6"
+ INDEX { eventIndex }
+ ::= { eventTable 1 }
+
+ EventEntry ::= SEQUENCE {
+ eventIndex INTEGER (1..65535),
+ eventDescription DisplayString (SIZE (0..127)),
+ eventType INTEGER,
+ eventCommunity OCTET STRING (SIZE (0..127)),
+ eventLastTimeSent TimeTicks,
+ eventOwner OwnerString,
+ eventStatus EntryStatus
+
+
+ }
+
+ eventIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ event table. Each such entry defines one event that
+ is to be generated when the appropriate conditions
+ occur."
+ ::= { eventEntry 1 }
+
+ eventDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..127))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A comment describing this event entry."
+ ::= { eventEntry 2 }
+
+ eventType OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ log(2),
+ snmp-trap(3), -- send an SNMP trap
+ log-and-trap(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of notification that the probe will make
+ about this event. In the case of log, an entry is
+ made in the log table for each event. In the case of
+ snmp-trap, an SNMP trap is sent to one or more
+ management stations."
+ ::= { eventEntry 3 }
+
+ eventCommunity OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..127))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "If an SNMP trap is to be sent, it will be sent to
+ the SNMP community specified by this octet string.
+ In the future this table will be extended to include
+ the party security mechanism. This object shall be
+ set to a string of length zero if it is intended that
+
+
+ that mechanism be used to specify the destination of
+ the trap."
+ ::= { eventEntry 4 }
+
+ eventLastTimeSent OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the time this event
+ entry last generated an event. If this entry has
+ not generated any events, this value will be
+ zero."
+ ::= { eventEntry 5 }
+
+ eventOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it.
+
+ If this object contains a string starting with
+ 'monitor' and has associated entries in the log
+ table, all connected management stations should
+ retrieve those log entries, as they may have
+ significance to all management stations connected to
+ this device"
+ ::= { eventEntry 6 }
+
+ eventStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this event entry.
+
+ If this object is not equal to valid(1), all
+ associated log entries shall be deleted by the
+ agent."
+ ::= { eventEntry 7 }
+
+ --
+ logTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LogEntry
+ ACCESS not-accessible
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "A list of events that have been logged."
+ ::= { event 2 }
+
+ logEntry OBJECT-TYPE
+ SYNTAX LogEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A set of data describing an event that has been
+ logged. For example, an instance of the
+ logDescription object might be named
+ logDescription.6.47"
+ INDEX { logEventIndex, logIndex }
+ ::= { logTable 1 }
+
+ LogEntry ::= SEQUENCE {
+ logEventIndex INTEGER (1..65535),
+ logIndex INTEGER (1..2147483647),
+ logTime TimeTicks,
+ logDescription DisplayString (SIZE (0..255))
+ }
+
+ logEventIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The event entry that generated this log
+ entry. The log identified by a particular
+ value of this index is associated with the same
+ eventEntry as identified by the same value
+ of eventIndex."
+ ::= { logEntry 1 }
+
+ logIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the log table amongst those generated by the
+ same eventEntries. These indexes are
+ assigned beginning with 1 and increase by one
+ with each new log entry. The association
+ between values of logIndex and logEntries
+ is fixed for the lifetime of each logEntry.
+ The agent may choose to delete the oldest
+
+
+ instances of logEntry as required because of
+ lack of memory. It is an implementation-specific
+ matter as to when this deletion may occur."
+ ::= { logEntry 2 }
+
+ logTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when this log entry was
+ created."
+ ::= { logEntry 3 }
+
+ logDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An implementation dependent description of the
+ event that activated this log entry."
+ ::= { logEntry 4 }
+
+ -- These definitions use the TRAP-TYPE macro as
+ -- defined in RFC 1215 [10]
+
+ -- Remote Network Monitoring Traps
+
+ risingAlarm TRAP-TYPE
+ ENTERPRISE rmon
+ VARIABLES { alarmIndex, alarmVariable, alarmSampleType,
+ alarmValue, alarmRisingThreshold }
+ DESCRIPTION
+ "The SNMP trap that is generated when an alarm
+ entry crosses its rising threshold and generates
+ an event that is configured for sending SNMP
+ traps."
+ ::= 1
+
+ fallingAlarm TRAP-TYPE
+ ENTERPRISE rmon
+ VARIABLES { alarmIndex, alarmVariable, alarmSampleType,
+ alarmValue, alarmFallingThreshold }
+ DESCRIPTION
+ "The SNMP trap that is generated when an alarm
+ entry crosses its falling threshold and generates
+ an event that is configured for sending SNMP
+ traps."
+
+
+ ::= 2
+
+ END
+
diff --git a/lib/snmp/test/test-mibs/RMON2-MIB.mib b/lib/snmp/test/test-mibs/RMON2-MIB.mib
new file mode 100644
index 0000000000..827bb38ff9
--- /dev/null
+++ b/lib/snmp/test/test-mibs/RMON2-MIB.mib
@@ -0,0 +1,5450 @@
+RMON2-MIB DEFINITIONS ::= BEGIN
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32,
+ Gauge32, IpAddress, TimeTicks FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, RowStatus, DisplayString, TimeStamp
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ mib-2, ifIndex FROM RFC1213-MIB
+ OwnerString, statistics, history, hosts,
+ matrix, filter, etherStatsEntry, historyControlEntry,
+ hostControlEntry, matrixControlEntry, filterEntry,
+ channelEntry FROM RMON-MIB
+ tokenRing, tokenRingMLStatsEntry, tokenRingPStatsEntry,
+ ringStationControlEntry, sourceRoutingStatsEntry
+ FROM TOKEN-RING-RMON-MIB;
+-- Remote Network Monitoring MIB
+
+rmon MODULE-IDENTITY
+ LAST-UPDATED "9605270000Z"
+ ORGANIZATION "IETF RMON MIB Working Group"
+ CONTACT-INFO
+ "Steve Waldbusser (WG Editor)
+ Postal: International Network Services
+ 650 Castro Street, Suite 260
+ Mountain View, CA 94041
+ Phone: +1 415 254 4251
+
+
+ Andy Bierman (WG Chair)
+ Phone: +1 805 648 2028
+ DESCRIPTION
+ "The MIB module for managing remote monitoring
+ device implementations. This MIB module
+ augments the original RMON MIB as specified in
+ RFC 1757."
+ ::= { mib-2 16 }
+
+-- { rmon 1 } through { rmon 10 } are defined in RMON and
+-- the Token Ring RMON MIB [RFC 1513]
+
+ protocolDir OBJECT IDENTIFIER ::= { rmon 11 }
+ protocolDist OBJECT IDENTIFIER ::= { rmon 12 }
+ addressMap OBJECT IDENTIFIER ::= { rmon 13 }
+ nlHost OBJECT IDENTIFIER ::= { rmon 14 }
+ nlMatrix OBJECT IDENTIFIER ::= { rmon 15 }
+ alHost OBJECT IDENTIFIER ::= { rmon 16 }
+ alMatrix OBJECT IDENTIFIER ::= { rmon 17 }
+ usrHistory OBJECT IDENTIFIER ::= { rmon 18 }
+ probeConfig OBJECT IDENTIFIER ::= { rmon 19 }
+ rmonConformance OBJECT IDENTIFIER ::= { rmon 20 }
+
+-- Textual Conventions
+
+ZeroBasedCounter32 ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This TC describes an object which counts events with the
+ following semantics: objects of this type will be set to
+ zero(0) on creation and will thereafter count appropriate
+ events, wrapping back to zero(0) when the value 2^32 is
+ reached.
+
+ Provided that an application discovers the new object within
+ the minimum time to wrap it can use the initial value as a
+ delta since it last polled the table of which this object is
+ part. It is important for a management station to be aware of
+ this minimum time and the actual time between polls, and to
+ discard data if the actual time is too long or there is no
+ defined minimum time.
+
+ Typically this TC is used in tables where the INDEX space is
+ constantly changing and/or the TimeFilter mechanism is in use."
+ SYNTAX Gauge32
+
+LastCreateTime ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This TC describes an object that stores the last time its
+ entry was created.
+
+ This can be used for polling applications to determine that an
+ entry has been deleted and re-created between polls, causing
+ an otherwise undetectable discontinuity in the data."
+ SYNTAX TimeStamp
+
+TimeFilter ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+
+
+
+ "To be used for the index to a table. Allows an application
+ to download only those rows changed since a particular time.
+ A row is considered changed if the value of any object in the
+ row changes or if the row is created or deleted.
+
+ When sysUpTime is equal to zero, this table shall be empty.
+
+ One entry exists for each past value of sysUpTime, except that
+ the whole table is purged should sysUpTime wrap.
+
+ As this basic row is updated new conceptual rows are created
+ (which still share the now updated object values with all
+ other instances). The number of instances which are created
+ is determined by the value of sysUpTime at which the basic row
+ was last updated. One instance will exist for each value of
+ sysUpTime at the last update time for the row. A new
+ timeMark instance is created for each new sysUpTime value.
+ Each new conceptual row will be associated with the timeMark
+ instance which was created at the value of sysUpTime with
+ which the conceptual row is to be associated.
+
+ By definition all conceptual rows were updated at or after
+ time zero and so at least one conceptual row (associated with
+ timeMark.0) must exist for each underlying (basic) row.
+
+ See the appendix for further discussion of this variable.
+
+ Consider the following fooTable:
+
+ fooTable ...
+ INDEX { fooTimeMark, fooIndex }
+
+ FooEntry {
+ fooTimeMark TimeFilter
+ fooIndex INTEGER,
+ fooCounts Counter
+ }
+
+ Should there be two basic rows in this table (fooIndex == 1,
+ fooIndex == 2) and row 1 was updated most recently at time 6,
+ while row 2 was updated most recently at time 8, and both rows
+ had been updated on several earlier occasions such that the
+ current values were 5 and 9 respectively then the following
+ fooCounts instances would exist.
+
+ fooCounts.0.1 5
+ fooCounts.0.2 9
+ fooCounts.1.1 5
+
+ fooCounts.1.2 9
+ fooCounts.2.1 5
+ fooCounts.2.2 9
+ fooCounts.3.1 5
+ fooCounts.3.2 9
+ fooCounts.4.1 5
+ fooCounts.4.2 9
+ fooCounts.5.1 5
+ fooCounts.5.2 9
+ fooCounts.6.1 5
+ fooCounts.6.2 9
+ fooCounts.7.2 9 -- note that row 1 doesn't exist for
+ fooCounts.8.2 9 -- times 7 and 8"
+ SYNTAX TimeTicks
+
+DataSource ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Identifies the source of the data that the associated
+ function is configured to analyze. This source can be any
+ interface on this device.
+
+ In order to identify a particular interface, this
+ object shall identify the instance of the ifIndex
+ object, defined in [3,5], for the desired interface.
+
+ For example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1."
+ SYNTAX OBJECT IDENTIFIER
+--
+-- Protocol Directory Group
+--
+-- Lists the inventory of protocols the probe has the capability of
+-- monitoring and allows the addition, deletion, and configuration of
+-- entries in this list.
+
+protocolDirLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time the protocol directory
+ was last modified, either through insertions or deletions,
+ or through modifications of either the
+ protocolDirAddressMapConfig, protocolDirHostConfig, or
+ protocolDirMatrixConfig."
+ ::= { protocolDir 1 }
+
+protocolDirTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ProtocolDirEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists the protocols that this agent has the
+ capability to decode and count. There is one entry in this
+ table for each such protocol. These protocols represent
+ different network layer, transport layer, and higher-layer
+ protocols. The agent should boot up with this table
+ preconfigured with those protocols that it knows about and
+ wishes to monitor. Implementations are strongly encouraged to
+ support protocols higher than the network layer (at least for
+ the protocol distribution group), even for implementations
+ that don't support the application layer groups."
+ ::= { protocolDir 2 }
+
+protocolDirEntry OBJECT-TYPE
+ SYNTAX ProtocolDirEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the protocolDirTable.
+
+ An example of the indexing of this entry is
+ protocolDirLocalIndex.8.0.0.0.1.0.0.8.0.2.0.0, which is the
+ encoding of a length of 8, followed by 8 subids encoding the
+ protocolDirID of 1.2048, followed by a length of 2 and the
+ 2 subids encoding zero-valued parameters."
+ INDEX { protocolDirID, protocolDirParameters }
+ ::= { protocolDirTable 1 }
+
+ProtocolDirEntry ::= SEQUENCE {
+ protocolDirID OCTET STRING,
+ protocolDirParameters OCTET STRING,
+ protocolDirLocalIndex Integer32,
+ protocolDirDescr DisplayString,
+ protocolDirType BITS,
+ protocolDirAddressMapConfig INTEGER,
+ protocolDirHostConfig INTEGER,
+ protocolDirMatrixConfig INTEGER,
+ protocolDirOwner OwnerString,
+ protocolDirStatus RowStatus
+}
+
+protocolDirID OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS not-accessible
+
+ STATUS current
+ DESCRIPTION
+ "A unique identifier for a particular protocol. Standard
+ identifiers will be defined in a manner such that they
+ can often be used as specifications for new protocols - i.e.
+ a tree-structured assignment mechanism that matches the
+ protocol encapsulation `tree' and which has algorithmic
+ assignment mechanisms for certain subtrees. See RFC XXX for
+ more details.
+
+ Despite the algorithmic mechanism, the probe will only place
+ entries in here for those protocols it chooses to collect. In
+ other words, it need not populate this table with all of the
+ possible ethernet protocol types, nor need it create them on
+ the fly when it sees them. Whether or not it does these
+ things is a matter of product definition (cost/benefit,
+ usability), and is up to the designer of the product.
+
+ If an entry is written to this table with a protocolDirID that
+ the agent doesn't understand, either directly or
+ algorithmically, the SET request will be rejected with an
+ inconsistentName or badValue (for SNMPv1) error."
+ ::= { protocolDirEntry 1 }
+
+protocolDirParameters OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters for the associated protocolDirID.
+ See the associated RMON2 Protocol Identifiers document
+ for a description of the possible parameters. There
+ will be one octet in this string for each sub-identifier in
+ the protocolDirID, and the parameters will appear here in the
+ same order as the associated sub-identifiers appear in the
+ protocolDirID.
+
+ Every node in the protocolDirID tree has a different, optional
+ set of parameters defined (that is, the definition of
+ parameters for a node is optional). The proper parameter
+ value for each node is included in this string. Note that the
+ inclusion of a parameter value in this string for each node is
+ not optional - what is optional is that a node may have no
+ parameters defined, in which case the parameter field for that
+ node will be zero."
+ ::= { protocolDirEntry 2 }
+
+protocolDirLocalIndex OBJECT-TYPE
+
+
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this protocolDir entry.
+
+ The value for each supported protocol must remain constant at
+ least from one re-initialization of the entity's network
+ management system to the next re-initialization, except that
+ if a protocol is deleted and re-created, it must be re-created
+ with a new value that has not been used since the last
+ re-initialization.
+
+ The specific value is meaningful only within a given SNMP
+ entity. A protocolDirLocalIndex must not be re-used until the
+ next agent-restart in the event the protocol directory entry
+ is deleted."
+ ::= { protocolDirEntry 3 }
+
+protocolDirDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (1..64))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A textual description of the protocol encapsulation.
+ A probe may choose to describe only a subset of the
+ entire encapsulation (e.g. only the highest layer).
+
+ This object is intended for human consumption only.
+
+ This object may not be modified if the associated
+ protocolDirStatus object is equal to active(1)."
+ ::= { protocolDirEntry 4 }
+
+protocolDirType OBJECT-TYPE
+ SYNTAX BITS {
+ extensible(0),
+ addressRecognitionCapable(1)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object describes 2 attributes of this protocol
+ directory entry.
+
+ The presence or absence of the `extensible' bit describes
+ whether or not this protocol directory entry can be extended
+
+
+ by the user by creating protocol directory entries which are
+ children of this protocol.
+
+ An example of an entry that will often allow extensibility is
+ `ip.udp'. The probe may automatically populate some children
+ of this node such as `ip.udp.snmp' and `ip.udp.dns'.
+ A probe administrator or user may also populate additional
+ children via remote SNMP requests that create entries in this
+ table. When a child node is added for a protocol for which the
+ probe has no built in support, extending a parent node (for
+ which the probe does have built in support),
+ that child node is not extendible. This is termed `limited
+ extensibility'.
+
+ When a child node is added through this extensibility
+ mechanism, the values of protocolDirLocalIndex and
+ protocolDirType shall be assigned by the agent.
+
+ The other objects in the entry will be assigned by the
+ manager who is creating the new entry.
+
+ This object also describes whether or not this agent can
+ recognize addresses for this protocol, should it be a network
+ level protocol. That is, while a probe may be able to
+ recognize packets of a particular network layer protocol and
+ count them, it takes additional logic to be able to recognize
+ the addresses in this protocol and to populate network layer
+ or application layer tables with the addresses in this
+ protocol. If this bit is set, the agent will recognize
+ network layer addresses for this protoocl and populate the
+ network and application layer host and matrix tables with
+ these protocols.
+
+ Note that when an entry is created, the agent will supply
+ values for the bits that match the capabilities of the agent
+ with respect to this protocol. Note that since row creations
+ usually exercise the limited extensibility feature, these
+ bits will usually be set to zero."
+ ::= { protocolDirEntry 5 }
+
+protocolDirAddressMapConfig OBJECT-TYPE
+ SYNTAX INTEGER {
+ notSupported(1),
+ supportedOff(2),
+ supportedOn(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+
+
+ DESCRIPTION
+ "This object describes and configures the probe's support for
+ address mapping for this protocol. When the probe creates
+ entries in this table for all protocols that it understands,
+ it will set the entry to notSupported(1) if it doesn't have
+ the capability to perform address mapping for the protocol or
+ if this protocol is not a network-layer protocol. When
+ an entry is created in this table by a management operation as
+ part of the limited extensibility feature, the probe must set
+ this value to notSupported(1), because limited extensibility
+ of the protocolDirTable does not extend to interpreting
+ addresses of the extended protocols.
+
+ If the value of this object is notSupported(1), the probe
+ will not perform address mapping for this protocol and
+ shall not allow this object to be changed to any other value.
+ If the value of this object is supportedOn(3), the probe
+ supports address mapping for this protocol and is configured
+ to perform address mapping for this protocol for all
+ addressMappingControlEntries and all interfaces.
+ If the value of this object is supportedOff(2), the probe
+ supports address mapping for this protocol but is configured
+ to not perform address mapping for this protocol for any
+ addressMappingControlEntries and all interfaces.
+ Whenever this value changes from supportedOn(3) to
+ supportedOff(2), the probe shall delete all related entries in
+ the addressMappingTable."
+ ::= { protocolDirEntry 6 }
+
+protocolDirHostConfig OBJECT-TYPE
+ SYNTAX INTEGER {
+ notSupported(1),
+ supportedOff(2),
+ supportedOn(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object describes and configures the probe's support for
+ the network layer and application layer host tables for this
+ protocol. When the probe creates entries in this table for
+ all protocols that it understands, it will set the entry to
+ notSupported(1) if it doesn't have the capability to track the
+ nlHostTable for this protocol or if the alHostTable is
+ implemented but doesn't have the capability to track this
+ protocol. Note that if the alHostTable is implemented, the
+ probe may only support a protocol if it is supported in both
+ the nlHostTable and the alHostTable.
+
+
+
+ If the associated protocolDirType object has the
+ addressRecognitionCapable bit set, then this is a network
+ layer protocol for which the probe recognizes addresses, and
+ thus the probe will populate the nlHostTable and alHostTable
+ with addresses it discovers for this protocol.
+
+ If the value of this object is notSupported(1), the probe
+ will not track the nlHostTable or alHostTable for this
+ protocol and shall not allow this object to be changed to any
+ other value. If the value of this object is supportedOn(3),
+ the probe supports tracking of the nlHostTable and alHostTable
+ for this protocol and is configured to track both tables
+ for this protocol for all control entries and all interfaces.
+ If the value of this object is supportedOff(2), the probe
+ supports tracking of the nlHostTable and alHostTable for this
+ protocol but is configured to not track these tables
+ for any control entries or interfaces.
+ Whenever this value changes from supportedOn(3) to
+ supportedOff(2), the probe shall delete all related entries in
+ the nlHostTable and alHostTable.
+
+ Note that since each alHostEntry references 2 protocol
+ directory entries, one for the network address and one for the
+ type of the highest protocol recognized, that an entry will
+ only be created in that table if this value is supportedOn(3)
+ for both protocols."
+ ::= { protocolDirEntry 7 }
+
+protocolDirMatrixConfig OBJECT-TYPE
+ SYNTAX INTEGER {
+ notSupported(1),
+ supportedOff(2),
+ supportedOn(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object describes and configures the probe's support for
+ the network layer and application layer matrix tables for this
+ protocol. When the probe creates entries in this table for
+ all protocols that it understands, it will set the entry to
+ notSupported(1) if it doesn't have the capability to track the
+ nlMatrixTables for this protocol or if the alMatrixTables are
+ implemented but don't have the capability to track this
+ protocol. Note that if the alMatrix tables are implemented,
+ the probe may only support a protocol if it is supported in
+ the the both of the nlMatrixTables and both of the
+ alMatrixTables.
+
+ If the associated protocolDirType object has the
+ addressRecognitionCapable bit set, then this is a network
+ layer protocol for which the probe recognizes addresses, and
+ thus the probe will populate both of the nlMatrixTables and
+ both of the alMatrixTables with addresses it discovers for
+ this protocol.
+
+ If the value of this object is notSupported(1), the probe
+ will not track either of the nlMatrixTables or the
+ alMatrixTables for this protocol and shall not allow this
+ object to be changed to any other value. If the value of this
+ object is supportedOn(3), the probe supports tracking of both
+ of the nlMatrixTables and (if implemented) both of the
+ alMatrixTables for this protocol and is configured to track
+ these tables for this protocol for all control entries and all
+ interfaces. If the value of this object is supportedOff(2),
+ the probe supports tracking of both of the nlMatrixTables and
+ (if implemented) both of the alMatrixTables for this protocol
+ but is configured to not track these tables for this
+ protocol for any control entries or interfaces.
+ Whenever this value changes from supportedOn(3) to
+ supportedOff(2), the probe shall delete all related entries in
+ the nlMatrixTables and the alMatrixTables.
+
+ Note that since each alMatrixEntry references 2 protocol
+ directory entries, one for the network address and one for the
+ type of the highest protocol recognized, that an entry will
+ only be created in that table if this value is supportedOn(3)
+ for both protocols."
+ ::= { protocolDirEntry 8 }
+
+protocolDirOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { protocolDirEntry 9 }
+
+protocolDirStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this protocol directory entry.
+
+ An entry may not exist in the active state unless all
+
+
+ objects in the entry have an appropriate value.
+
+ If this object is not equal to active(1), all associated
+ entries in the nlHostTable, nlMatrixSDTable, nlMatrixDSTable,
+ alHostTable, alMatrixSDTable, and alMatrixDSTable shall be
+ deleted."
+ ::= { protocolDirEntry 10 }
+
+--
+-- Protocol Distribution Group (protocolDist)
+--
+-- Collects the relative amounts of octets and packets for the
+-- different protocols detected on a network segment.
+-- protocolDistControlTable,
+-- protocolDistStatsTable
+
+protocolDistControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ProtocolDistControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Controls the setup of protocol type distribution statistics
+ tables.
+
+ Implementations are encouraged to add an entry per monitored
+ interface upon initialization so that a default collection
+ of protocol statistics is available.
+
+ Rationale:
+ This table controls collection of very basic statistics
+ for any or all of the protocols detected on a given interface.
+ An NMS can use this table to quickly determine bandwidth
+ allocation utilized by different protocols.
+
+ A media-specific statistics collection could also
+ be configured (e.g. etherStats, trPStats) to easily obtain
+ total frame, octet, and droppedEvents for the same
+ interface."
+ ::= { protocolDist 1 }
+
+protocolDistControlEntry OBJECT-TYPE
+ SYNTAX ProtocolDistControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the protocolDistControlTable.
+
+ An example of the indexing of this entry is
+
+
+ protocolDistControlDroppedFrames.7"
+ INDEX { protocolDistControlIndex }
+ ::= { protocolDistControlTable 1 }
+
+ProtocolDistControlEntry ::= SEQUENCE {
+ protocolDistControlIndex Integer32,
+ protocolDistControlDataSource DataSource,
+ protocolDistControlDroppedFrames Counter32,
+ protocolDistControlCreateTime LastCreateTime,
+ protocolDistControlOwner OwnerString,
+ protocolDistControlStatus RowStatus
+}
+
+protocolDistControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique index for this protocolDistControlEntry."
+ ::= { protocolDistControlEntry 1 }
+
+protocolDistControlDataSource OBJECT-TYPE
+ SYNTAX DataSource
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The source of data for the this protocol distribution.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the
+ identified interface.
+
+ This object may not be modified if the associated
+ protocolDistControlStatus object is equal to active(1)."
+ ::= { protocolDistControlEntry 2 }
+
+protocolDistControlDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { protocolDistControlEntry 3 }
+
+protocolDistControlCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this control entry was last
+ activated. This can be used by the management station to
+ ensure that the table has not been deleted and recreated
+ between polls."
+ ::= { protocolDistControlEntry 4 }
+
+protocolDistControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { protocolDistControlEntry 5 }
+
+protocolDistControlStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this row.
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value.
+
+ If this object is not equal to active(1), all associated
+ entries in the protocolDistStatsTable shall be deleted."
+ ::= { protocolDistControlEntry 6 }
+
+-- per interface protocol distribution statistics table
+protocolDistStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ProtocolDistStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry is made in this table for every protocol in the
+
+
+ protocolDirTable which has been seen in at least one packet.
+ Counters are updated in this table for every protocol type
+ that is encountered when parsing a packet, but no counters are
+ updated for packets with MAC-layer errors.
+
+ Note that if a protocolDirEntry is deleted, all associated
+ entries in this table are removed."
+ ::= { protocolDist 2 }
+
+protocolDistStatsEntry OBJECT-TYPE
+ SYNTAX ProtocolDistStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the protocolDistStatsTable.
+
+ The index is composed of the protocolDistControlIndex of the
+ associated protocolDistControlEntry followed by the
+ protocolDirLocalIndex of the associated protocol that this
+ entry represents. In other words, the index identifies the
+ protocol distribution an entry is a part of as well as the
+ particular protocol that it represents.
+
+ An example of the indexing of this entry is
+ protocolDistStatsPkts.1.18"
+ INDEX { protocolDistControlIndex, protocolDirLocalIndex }
+ ::= { protocolDistStatsTable 1 }
+
+ProtocolDistStatsEntry ::= SEQUENCE {
+ protocolDistStatsPkts ZeroBasedCounter32,
+ protocolDistStatsOctets ZeroBasedCounter32
+}
+
+protocolDistStatsPkts OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets without errors received of this
+ protocol type. Note that this is the number of link-layer
+ packets, so if a single network-layer packet is fragmented
+ into several link-layer frames, this counter is incremented
+ several times."
+ ::= { protocolDistStatsEntry 1 }
+
+protocolDistStatsOctets OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets in packets received of this protocol
+ type since it was added to the protocolDistStatsTable
+ (excluding framing bits but including FCS octets), except for
+ those octets in packets that contained errors.
+
+ Note this doesn't count just those octets in the particular
+ protocol frames, but includes the entire packet that contained
+ the protocol."
+ ::= { protocolDistStatsEntry 2 }
+
+--
+-- Address Map Group (addressMap)
+--
+-- Lists MAC address to network address bindings discovered by the
+-- probe and what interface they were last seen on.
+-- addressMapControlTable
+-- addressMapTable
+
+addressMapInserts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an address mapping entry has been
+ inserted into the addressMapTable. If an entry is inserted,
+ then deleted, and then inserted, this counter will be
+ incremented by 2.
+
+ Note that the table size can be determined by subtracting
+ addressMapDeletes from addressMapInserts."
+ ::= { addressMap 1 }
+
+addressMapDeletes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an address mapping entry has been
+ deleted from the addressMapTable (for any reason). If
+ an entry is deleted, then inserted, and then deleted, this
+ counter will be incremented by 2.
+
+ Note that the table size can be determined by subtracting
+ addressMapDeletes from addressMapInserts."
+ ::= { addressMap 2 }
+
+
+
+
+addressMapMaxDesiredEntries OBJECT-TYPE
+ SYNTAX Integer32 (-1..2147483647)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of entries that are desired in the
+ addressMapTable. The probe will not create more than
+ this number of entries in the table, but may choose to create
+ fewer entries in this table for any reason including the lack
+ of resources.
+
+ If this object is set to a value less than the current number
+ of entries, enough entries are chosen in an
+ implementation-dependent manner and deleted so that the number
+ of entries in the table equals the value of this object.
+
+ If this value is set to -1, the probe may create any number
+ of entries in this table.
+
+ This object may be used to control how resources are allocated
+ on the probe for the various RMON functions."
+ ::= { addressMap 3 }
+
+addressMapControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AddressMapControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table to control the collection of network layer address to
+ physical address to interface mappings.
+
+ Note that this is not like the typical RMON
+ controlTable and dataTable in which each entry creates
+ its own data table. Each entry in this table enables the
+ discovery of addresses on a new interface and the placement
+ of address mappings into the central addressMapTable.
+
+ Implementations are encouraged to add an entry per monitored
+ interface upon initialization so that a default collection
+ of address mappings is available."
+ ::= { addressMap 4 }
+
+addressMapControlEntry OBJECT-TYPE
+ SYNTAX AddressMapControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the addressMapControlTable.
+
+
+ An example of the indexing of this entry is
+ addressMapControlDroppedFrames.1"
+ INDEX { addressMapControlIndex }
+ ::= { addressMapControlTable 1 }
+
+AddressMapControlEntry ::= SEQUENCE {
+ addressMapControlIndex Integer32,
+ addressMapControlDataSource DataSource,
+ addressMapControlDroppedFrames Counter32,
+ addressMapControlOwner OwnerString,
+ addressMapControlStatus RowStatus
+}
+
+addressMapControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique index for this entry in the addressMapControlTable."
+ ::= { addressMapControlEntry 1 }
+
+addressMapControlDataSource OBJECT-TYPE
+ SYNTAX DataSource
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The source of data for this addressMapControlEntry."
+ ::= { addressMapControlEntry 2 }
+
+addressMapControlDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { addressMapControlEntry 3 }
+
+
+
+
+addressMapControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { addressMapControlEntry 4 }
+
+addressMapControlStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this addressMap control entry.
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value.
+
+ If this object is not equal to active(1), all associated
+ entries in the addressMapTable shall be deleted."
+ ::= { addressMapControlEntry 5 }
+
+addressMapTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AddressMapEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of network layer address to physical address to
+ interface mappings.
+
+ The probe will add entries to this table based on the source
+ MAC and network addresses seen in packets without MAC-level
+ errors. The probe will populate this table for all protocols
+ in the protocol directory table whose value of
+ protocolDirAddressMapConfig is equal to supportedOn(3), and
+ will delete any entries whose protocolDirEntry is deleted or
+ has a protocolDirAddressMapConfig value of supportedOff(2)."
+ ::= { addressMap 5 }
+
+addressMapEntry OBJECT-TYPE
+ SYNTAX AddressMapEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the addressMapTable.
+ The protocolDirLocalIndex in the index identifies the network
+ layer protocol of the addressMapNetworkAddress.
+
+
+ An example of the indexing of this entry is
+ addressMapSource.783495.18.4.128.2.6.6.11.1.3.6.1.2.1.2.2.1.1.1"
+ INDEX { addressMapTimeMark, protocolDirLocalIndex,
+ addressMapNetworkAddress, addressMapSource }
+ ::= { addressMapTable 1 }
+
+AddressMapEntry ::= SEQUENCE {
+ addressMapTimeMark TimeFilter,
+ addressMapNetworkAddress OCTET STRING,
+ addressMapSource OBJECT IDENTIFIER,
+ addressMapPhysicalAddress OCTET STRING,
+ addressMapLastChange TimeStamp
+}
+
+addressMapTimeMark OBJECT-TYPE
+ SYNTAX TimeFilter
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A TimeFilter for this entry. See the TimeFilter textual
+ convention to see how this works."
+ ::= { addressMapEntry 1 }
+
+addressMapNetworkAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The network address for this relation.
+
+ This is represented as an octet string with
+ specific semantics and length as identified
+ by the protocolDirLocalIndex component of the
+ index.
+
+ For example, if the protocolDirLocalIndex indicates an
+ encapsulation of ip, this object is encoded as a length
+ octet of 4, followed by the 4 octets of the ip address,
+ in network byte order."
+ ::= { addressMapEntry 2 }
+
+addressMapSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The interface or port on which the associated network
+ address was most recently seen.
+
+
+
+ If this address mapping was discovered on an interface, this
+ object shall identify the instance of the ifIndex
+ object, defined in [3,5], for the desired interface.
+ For example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1.
+
+ If this address mapping was discovered on a port, this
+ object shall identify the instance of the rptrGroupPortIndex
+ object, defined in [RFC1516], for the desired port.
+ For example, if an entry were to receive data from
+ group #1, port #1, this object would be set to
+ rptrGroupPortIndex.1.1.
+
+ Note that while the dataSource associated with this entry
+ may only point to index objects, this object may at times
+ point to repeater port objects. This situation occurs when
+ the dataSource points to an interface which is a locally
+ attached repeater and the agent has additional information
+ about the source port of traffic seen on that repeater."
+ ::= { addressMapEntry 3 }
+
+addressMapPhysicalAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The last source physical address on which the associated
+ network address was seen. If the protocol of the associated
+ network address was encapsulated inside of a network-level or
+ higher protocol, this will be the address of the next-lower
+ protocol with the addressRecognitionCapable bit enabled and
+ will be formatted as specified for that protocol."
+ ::= { addressMapEntry 4 }
+
+addressMapLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this entry was last
+ created or the values of the physical address changed.
+
+ This can be used to help detect duplicate address problems, in
+ which case this object will be updated frequently."
+ ::= { addressMapEntry 5 }
+
+--
+-- Network Layer Host Group
+
+
+
+--
+-- Counts the amount of traffic sent from and to each network address
+-- discovered by the probe.
+-- Note that while the hlHostControlTable also has objects that
+-- control an optional alHostTable, implementation of the alHostTable is
+-- not required to fully implement this group.
+
+hlHostControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HlHostControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of higher layer (i.e. non-MAC) host table control entries.
+
+ These entries will enable the collection of the network and
+ application level host tables indexed by network addresses.
+ Both the network and application level host tables are
+ controlled by this table is so that they will both be created
+ and deleted at the same time, further increasing the ease with
+ which they can be implemented as a single datastore (note that
+ if an implementation stores application layer host records in
+ memory, it can derive network layer host records from them).
+
+ Entries in the nlHostTable will be created on behalf of each
+ entry in this table. Additionally, if this probe implements
+ the alHostTable, entries in the alHostTable will be created on
+ behalf of each entry in this table.
+
+ Implementations are encouraged to add an entry per monitored
+ interface upon initialization so that a default collection
+ of host statistics is available."
+ ::= { nlHost 1 }
+
+hlHostControlEntry OBJECT-TYPE
+ SYNTAX HlHostControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the hlHostControlTable.
+
+ An example of the indexing of this entry is
+ hlHostControlNlDroppedFrames.1"
+ INDEX { hlHostControlIndex }
+ ::= { hlHostControlTable 1 }
+
+HlHostControlEntry ::= SEQUENCE {
+ hlHostControlIndex Integer32,
+ hlHostControlDataSource DataSource,
+
+
+ hlHostControlNlDroppedFrames Counter32,
+ hlHostControlNlInserts Counter32,
+ hlHostControlNlDeletes Counter32,
+ hlHostControlNlMaxDesiredEntries Integer32,
+ hlHostControlAlDroppedFrames Counter32,
+ hlHostControlAlInserts Counter32,
+ hlHostControlAlDeletes Counter32,
+ hlHostControlAlMaxDesiredEntries Integer32,
+ hlHostControlOwner OwnerString,
+ hlHostControlStatus RowStatus
+}
+
+hlHostControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ hlHostControlTable. Each such entry defines
+ a function that discovers hosts on a particular
+ interface and places statistics about them in the
+ nlHostTable, and optionally in the alHostTable, on
+ behalf of this hlHostControlEntry."
+ ::= { hlHostControlEntry 1 }
+
+hlHostControlDataSource OBJECT-TYPE
+ SYNTAX DataSource
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The source of data for the associated host tables.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the
+ identified interface.
+
+ This object may not be modified if the associated
+ hlHostControlStatus object is equal to active(1)."
+ ::= { hlHostControlEntry 2 }
+
+hlHostControlNlDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for the associated
+
+ nlHost entries for whatever reason. Most often, this event
+ occurs when the probe is out of some resources and decides to
+ shed load from this collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that if the nlHostTable is inactive because no protocols
+ are enabled in the protocol directory, this value should be 0.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { hlHostControlEntry 3 }
+
+hlHostControlNlInserts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an nlHost entry has been
+ inserted into the nlHost table. If an entry is inserted, then
+ deleted, and then inserted, this counter will be incremented
+ by 2.
+
+ To allow for efficient implementation strategies, agents may
+ delay updating this object for short periods of time. For
+ example, an implementation strategy may allow internal
+ data structures to differ from those visible via SNMP for
+ short periods of time. This counter may reflect the internal
+ data structures for those short periods of time.
+
+ Note that the table size can be determined by subtracting
+ hlHostControlNlDeletes from hlHostControlNlInserts."
+ ::= { hlHostControlEntry 4 }
+
+hlHostControlNlDeletes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an nlHost entry has been
+ deleted from the nlHost table (for any reason). If an entry
+ is deleted, then inserted, and then deleted, this counter will
+ be incremented by 2.
+
+ To allow for efficient implementation strategies, agents may
+ delay updating this object for short periods of time. For
+ example, an implementation strategy may allow internal
+
+
+ data structures to differ from those visible via SNMP for
+ short periods of time. This counter may reflect the internal
+ data structures for those short periods of time.
+
+ Note that the table size can be determined by subtracting
+ hlHostControlNlDeletes from hlHostControlNlInserts."
+ ::= { hlHostControlEntry 5 }
+
+hlHostControlNlMaxDesiredEntries OBJECT-TYPE
+ SYNTAX Integer32 (-1..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of entries that are desired in the
+ nlHostTable on behalf of this control entry. The probe will
+ not create more than this number of associated entries in the
+ table, but may choose to create fewer entries in this table
+ for any reason including the lack of resources.
+
+ If this object is set to a value less than the current number
+ of entries, enough entries are chosen in an
+ implementation-dependent manner and deleted so that the number
+ of entries in the table equals the value of this object.
+
+ If this value is set to -1, the probe may create any number
+ of entries in this table. If the associated
+ hlHostControlStatus object is equal to `active', this
+ object may not be modified.
+
+ This object may be used to control how resources are allocated
+ on the probe for the various RMON functions."
+ ::= { hlHostControlEntry 6 }
+
+hlHostControlAlDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for the associated
+ alHost entries for whatever reason. Most often, this event
+ occurs when the probe is out of some resources and decides to
+ shed load from this collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that if the alHostTable is not implemented or is inactive
+ because no protocols are enabled in the protocol directory,
+ this value should be 0.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { hlHostControlEntry 7 }
+
+hlHostControlAlInserts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an alHost entry has been
+ inserted into the alHost table. If an entry is inserted, then
+ deleted, and then inserted, this counter will be incremented
+ by 2.
+
+ To allow for efficient implementation strategies, agents may
+ delay updating this object for short periods of time. For
+ example, an implementation strategy may allow internal
+ data structures to differ from those visible via SNMP for
+ short periods of time. This counter may reflect the internal
+ data structures for those short periods of time.
+
+ Note that the table size can be determined by subtracting
+ hlHostControlAlDeletes from hlHostControlAlInserts."
+ ::= { hlHostControlEntry 8 }
+
+hlHostControlAlDeletes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an alHost entry has been
+ deleted from the alHost table (for any reason). If an entry
+ is deleted, then inserted, and then deleted, this counter will
+ be incremented by 2.
+
+ To allow for efficient implementation strategies, agents may
+ delay updating this object for short periods of time. For
+ example, an implementation strategy may allow internal
+ data structures to differ from those visible via SNMP for
+ short periods of time. This counter may reflect the internal
+ data structures for those short periods of time.
+
+ Note that the table size can be determined by subtracting
+ hlHostControlAlDeletes from hlHostControlAlInserts."
+
+
+
+ ::= { hlHostControlEntry 9 }
+
+hlHostControlAlMaxDesiredEntries OBJECT-TYPE
+ SYNTAX Integer32 (-1..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of entries that are desired in the alHost
+ table on behalf of this control entry. The probe will not
+ create more than this number of associated entries in the
+ table, but may choose to create fewer entries in this table
+ for any reason including the lack of resources.
+
+ If this object is set to a value less than the current number
+ of entries, enough entries are chosen in an
+ implementation-dependent manner and deleted so that the number
+ of entries in the table equals the value of this object.
+
+ If this value is set to -1, the probe may create any number
+ of entries in this table. If the associated
+ hlHostControlStatus object is equal to `active', this
+ object may not be modified.
+
+ This object may be used to control how resources are allocated
+ on the probe for the various RMON functions."
+ ::= { hlHostControlEntry 10 }
+
+hlHostControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { hlHostControlEntry 11 }
+
+hlHostControlStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this hlHostControlEntry.
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value.
+
+ If this object is not equal to active(1), all associated
+ entries in the nlHostTable and alHostTable shall be deleted."
+ ::= { hlHostControlEntry 12 }
+
+nlHostTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlHostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics for a particular network layer
+ address that has been discovered on an interface of this
+ device.
+
+ The probe will populate this table for all network layer
+ protocols in the protocol directory table whose value of
+ protocolDirHostConfig is equal to supportedOn(3), and
+ will delete any entries whose protocolDirEntry is deleted or
+ has a protocolDirHostConfig value of supportedOff(2).
+
+ The probe will add to this table all addresses seen
+ as the source or destination address in all packets with no
+ MAC errors, and will increment octet and packet counts in the
+ table for all packets with no MAC errors."
+::= { nlHost 2 }
+
+nlHostEntry OBJECT-TYPE
+ SYNTAX NlHostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the nlHostTable.
+
+ The hlHostControlIndex value in the index identifies the
+ hlHostControlEntry on whose behalf this entry was created.
+ The protocolDirLocalIndex value in the index identifies the
+ network layer protocol of the nlHostAddress.
+
+ An example of the indexing of this entry is
+ nlHostOutPkts.1.783495.18.4.128.2.6.6."
+ INDEX { hlHostControlIndex, nlHostTimeMark,
+ protocolDirLocalIndex, nlHostAddress }
+ ::= { nlHostTable 1 }
+
+NlHostEntry ::= SEQUENCE {
+ nlHostTimeMark TimeFilter,
+ nlHostAddress OCTET STRING,
+ nlHostInPkts ZeroBasedCounter32,
+ nlHostOutPkts ZeroBasedCounter32,
+ nlHostInOctets ZeroBasedCounter32,
+ nlHostOutOctets ZeroBasedCounter32,
+
+
+ nlHostOutMacNonUnicastPkts ZeroBasedCounter32,
+ nlHostCreateTime LastCreateTime
+}
+
+nlHostTimeMark OBJECT-TYPE
+ SYNTAX TimeFilter
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A TimeFilter for this entry. See the TimeFilter textual
+ convention to see how this works."
+ ::= { nlHostEntry 1 }
+
+nlHostAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The network address for this nlHostEntry.
+
+ This is represented as an octet string with
+ specific semantics and length as identified
+ by the protocolDirLocalIndex component of the index.
+
+ For example, if the protocolDirLocalIndex indicates an
+ encapsulation of ip, this object is encoded as a length
+ octet of 4, followed by the 4 octets of the ip address,
+ in network byte order."
+ ::= { nlHostEntry 2 }
+
+nlHostInPkts OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets without errors transmitted to
+ this address since it was added to the nlHostTable. Note that
+ this is the number of link-layer packets, so if a single
+ network-layer packet is fragmented into several link-layer
+ frames, this counter is incremented several times."
+ ::= { nlHostEntry 3 }
+
+nlHostOutPkts OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets without errors transmitted by
+
+
+ this address since it was added to the nlHostTable. Note that
+ this is the number of link-layer packets, so if a single
+ network-layer packet is fragmented into several link-layer
+ frames, this counter is incremented several times."
+ ::= { nlHostEntry 4 }
+
+nlHostInOctets OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted to this address
+ since it was added to the nlHostTable (excluding
+ framing bits but including FCS octets), excluding
+ those octets in packets that contained errors.
+
+ Note this doesn't count just those octets in the particular
+ protocol frames, but includes the entire packet that contained
+ the protocol."
+ ::= { nlHostEntry 5 }
+
+nlHostOutOctets OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted by this address
+ since it was added to the nlHostTable (excluding
+ framing bits but including FCS octets), excluding
+ those octets in packets that contained errors.
+
+ Note this doesn't count just those octets in the particular
+ protocol frames, but includes the entire packet that contained
+ the protocol."
+ ::= { nlHostEntry 6 }
+
+nlHostOutMacNonUnicastPkts OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets without errors transmitted by this
+ address that were directed to any MAC broadcast addresses
+ or to any MAC multicast addresses since this host was
+ added to the nlHostTable. Note that this is the number of
+ link-layer packets, so if a single network-layer packet is
+ fragmented into several link-layer frames, this counter is
+ incremented several times."
+
+
+
+ ::= { nlHostEntry 7 }
+
+nlHostCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this entry was last activated.
+ This can be used by the management station to ensure that the
+ entry has not been deleted and recreated between polls."
+ ::= { nlHostEntry 8 }
+
+--
+-- Network Layer Matrix Group
+--
+-- Counts the amount of traffic sent between each pair of network
+-- addresses discovered by the probe.
+-- Note that while the hlMatrixControlTable also has objects that
+-- control optional alMatrixTables, implementation of the
+-- alMatrixTables is not required to fully implement this group.
+
+hlMatrixControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HlMatrixControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of higher layer (i.e. non-MAC) matrix control entries.
+
+ These entries will enable the collection of the network and
+ application level matrix tables containing conversation
+ statistics indexed by pairs of network addresses.
+ Both the network and application level matrix tables are
+ controlled by this table is so that they will both be created
+ and deleted at the same time, further increasing the ease with
+ which they can be implemented as a single datastore (note that
+ if an implementation stores application layer matrix records
+ in memory, it can derive network layer matrix records from
+ them).
+
+ Entries in the nlMatrixSDTable and nlMatrixDSTable will be
+ created on behalf of each entry in this table. Additionally,
+ if this probe implements the alMatrix tables, entries in the
+ alMatrix tables will be created on behalf of each entry in
+ this table."
+ ::= { nlMatrix 1 }
+
+hlMatrixControlEntry OBJECT-TYPE
+ SYNTAX HlMatrixControlEntry
+
+
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the hlMatrixControlTable.
+
+ An example of indexing of this entry is
+ hlMatrixControlNlDroppedFrames.1"
+ INDEX { hlMatrixControlIndex }
+ ::= { hlMatrixControlTable 1 }
+
+HlMatrixControlEntry ::= SEQUENCE {
+ hlMatrixControlIndex Integer32,
+ hlMatrixControlDataSource DataSource,
+ hlMatrixControlNlDroppedFrames Counter32,
+ hlMatrixControlNlInserts Counter32,
+ hlMatrixControlNlDeletes Counter32,
+ hlMatrixControlNlMaxDesiredEntries Integer32,
+ hlMatrixControlAlDroppedFrames Counter32,
+ hlMatrixControlAlInserts Counter32,
+ hlMatrixControlAlDeletes Counter32,
+ hlMatrixControlAlMaxDesiredEntries Integer32,
+ hlMatrixControlOwner OwnerString,
+ hlMatrixControlStatus RowStatus
+}
+
+hlMatrixControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ hlMatrixControlTable. Each such entry defines
+ a function that discovers conversations on a particular
+ interface and places statistics about them in the
+ nlMatrixSDTable and the nlMatrixDSTable, and optionally the
+ alMatrixSDTable and alMatrixDSTable, on behalf of this
+ hlMatrixControlEntry."
+ ::= { hlMatrixControlEntry 1 }
+
+hlMatrixControlDataSource OBJECT-TYPE
+ SYNTAX DataSource
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The source of the data for the associated matrix tables.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the
+
+
+ identified interface.
+
+ This object may not be modified if the associated
+ hlMatrixControlStatus object is equal to active(1)."
+ ::= { hlMatrixControlEntry 2 }
+
+hlMatrixControlNlDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that if the nlMatrixTables are inactive because no
+ protocols are enabled in the protocol directory, this value
+ should be 0.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { hlMatrixControlEntry 3 }
+
+hlMatrixControlNlInserts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an nlMatrix entry has been
+ inserted into the nlMatrix tables. If an entry is inserted,
+ then deleted, and then inserted, this counter will be
+ incremented by 2. The addition of a conversation into both
+ the nlMatrixSDTable and nlMatrixDSTable shall be counted as
+ two insertions (even though every addition into one table must
+ be accompanied by an insertion into the other).
+
+ To allow for efficient implementation strategies, agents may
+ delay updating this object for short periods of time. For
+ example, an implementation strategy may allow internal
+ data structures to differ from those visible via SNMP for
+ short periods of time. This counter may reflect the internal
+ data structures for those short periods of time.
+
+
+ Note that the sum of then nlMatrixSDTable and nlMatrixDSTable
+ sizes can be determined by subtracting
+ hlMatrixControlNlDeletes from hlMatrixControlNlInserts."
+ ::= { hlMatrixControlEntry 4 }
+
+hlMatrixControlNlDeletes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an nlMatrix entry has been
+ deleted from the nlMatrix tables (for any reason). If an
+ entry is deleted, then inserted, and then deleted, this
+ counter will be incremented by 2. The deletion of a
+ conversation from both the nlMatrixSDTable and nlMatrixDSTable
+ shall be counted as two deletions (even though every deletion
+ from one table must be accompanied by a deletion from the
+ other).
+
+ To allow for efficient implementation strategies, agents may
+ delay updating this object for short periods of time. For
+ example, an implementation strategy may allow internal
+ data structures to differ from those visible via SNMP for
+ short periods of time. This counter may reflect the internal
+ data structures for those short periods of time.
+
+ Note that the table size can be determined by subtracting
+ hlMatrixControlNlDeletes from hlMatrixControlNlInserts."
+ ::= { hlMatrixControlEntry 5 }
+
+hlMatrixControlNlMaxDesiredEntries OBJECT-TYPE
+ SYNTAX Integer32 (-1..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of entries that are desired in the
+ nlMatrix tables on behalf of this control entry. The probe
+ will not create more than this number of associated entries in
+ the table, but may choose to create fewer entries in this
+ table for any reason including the lack of resources.
+
+ If this object is set to a value less than the current number
+ of entries, enough entries are chosen in an
+ implementation-dependent manner and deleted so that the number
+ of entries in the table equals the value of this object.
+
+ If this value is set to -1, the probe may create any number
+ of entries in this table. If the associated
+
+
+
+
+ hlMatrixControlStatus object is equal to `active', this
+ object may not be modified.
+
+ This object may be used to control how resources are allocated
+ on the probe for the various RMON functions."
+ ::= { hlMatrixControlEntry 6 }
+
+hlMatrixControlAlDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that if the alMatrixTables are not implemented or are
+ inactive because no protocols are enabled in the protocol
+ directory, this value should be 0.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { hlMatrixControlEntry 7 }
+
+hlMatrixControlAlInserts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an alMatrix entry has been
+ inserted into the alMatrix tables. If an entry is inserted,
+ then deleted, and then inserted, this counter will be
+ incremented by 2. The addition of a conversation into both
+ the alMatrixSDTable and alMatrixDSTable shall be counted as
+ two insertions (even though every addition into one table must
+ be accompanied by an insertion into the other).
+
+ To allow for efficient implementation strategies, agents may
+ delay updating this object for short periods of time. For
+ example, an implementation strategy may allow internal
+ data structures to differ from those visible via SNMP for
+ short periods of time. This counter may reflect the internal
+
+ data structures for those short periods of time.
+
+ Note that the table size can be determined by subtracting
+ hlMatrixControlAlDeletes from hlMatrixControlAlInserts."
+ ::= { hlMatrixControlEntry 8 }
+
+hlMatrixControlAlDeletes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an alMatrix entry has been
+ deleted from the alMatrix tables. If an entry is deleted,
+ then inserted, and then deleted, this counter will be
+ incremented by 2. The deletion of a conversation from both
+ the alMatrixSDTable and alMatrixDSTable shall be counted as
+ two deletions (even though every deletion from one table must
+ be accompanied by a deletion from the other).
+
+ To allow for efficient implementation strategies, agents may
+ delay updating this object for short periods of time. For
+ example, an implementation strategy may allow internal
+ data structures to differ from those visible via SNMP for
+ short periods of time. This counter may reflect the internal
+ data structures for those short periods of time.
+
+ Note that the table size can be determined by subtracting
+ hlMatrixControlAlDeletes from hlMatrixControlAlInserts."
+ ::= { hlMatrixControlEntry 9 }
+
+hlMatrixControlAlMaxDesiredEntries OBJECT-TYPE
+ SYNTAX Integer32 (-1..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of entries that are desired in the
+ alMatrix tables on behalf of this control entry. The probe
+ will not create more than this number of associated entries in
+ the table, but may choose to create fewer entries in this
+ table for any reason including the lack of resources.
+
+ If this object is set to a value less than the current number
+ of entries, enough entries are chosen in an
+ implementation-dependent manner and deleted so that the number
+ of entries in the table equals the value of this object.
+
+ If this value is set to -1, the probe may create any number
+ of entries in this table. If the associated
+
+
+ hlMatrixControlStatus object is equal to `active', this
+ object may not be modified.
+
+ This object may be used to control how resources are allocated
+ on the probe for the various RMON functions."
+ ::= { hlMatrixControlEntry 10 }
+
+hlMatrixControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { hlMatrixControlEntry 11 }
+
+hlMatrixControlStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this hlMatrixControlEntry.
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value.
+
+ If this object is not equal to active(1), all
+ associated entries in the nlMatrixSDTable,
+ nlMatrixDSTable, alMatrixSDTable, and the alMatrixDSTable
+ shall be deleted by the agent."
+ ::= { hlMatrixControlEntry 12 }
+
+nlMatrixSDTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlMatrixSDEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of traffic matrix entries which collect statistics for
+ conversations between two network-level addresses. This table
+ is indexed first by the source address and then by the
+ destination address to make it convenient to collect all
+ conversations from a particular address.
+
+ The probe will populate this table for all network layer
+ protocols in the protocol directory table whose value of
+ protocolDirMatrixConfig is equal to supportedOn(3), and
+ will delete any entries whose protocolDirEntry is deleted or
+ has a protocolDirMatrixConfig value of supportedOff(2).
+
+ The probe will add to this table all pairs of addresses
+ seen in all packets with no MAC errors, and will increment
+ octet and packet counts in the table for all packets with no
+ MAC errors.
+
+ Further, this table will only contain entries that have a
+ corresponding entry in the nlMatrixDSTable with the same
+ source address and destination address."
+ ::= { nlMatrix 2 }
+
+nlMatrixSDEntry OBJECT-TYPE
+ SYNTAX NlMatrixSDEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the nlMatrixSDTable.
+
+ The hlMatrixControlIndex value in the index identifies the
+ hlMatrixControlEntry on whose behalf this entry was created.
+ The protocolDirLocalIndex value in the index identifies the
+ network layer protocol of the nlMatrixSDSourceAddress and
+ nlMatrixSDDestAddress.
+
+ An example of the indexing of this table is
+ nlMatrixSDPkts.1.783495.18.4.128.2.6.6.4.128.2.6.7"
+ INDEX { hlMatrixControlIndex, nlMatrixSDTimeMark,
+ protocolDirLocalIndex,
+ nlMatrixSDSourceAddress, nlMatrixSDDestAddress }
+ ::= { nlMatrixSDTable 1 }
+
+NlMatrixSDEntry ::= SEQUENCE {
+ nlMatrixSDTimeMark TimeFilter,
+ nlMatrixSDSourceAddress OCTET STRING,
+ nlMatrixSDDestAddress OCTET STRING,
+ nlMatrixSDPkts ZeroBasedCounter32,
+ nlMatrixSDOctets ZeroBasedCounter32,
+ nlMatrixSDCreateTime LastCreateTime
+}
+
+nlMatrixSDTimeMark OBJECT-TYPE
+ SYNTAX TimeFilter
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A TimeFilter for this entry. See the TimeFilter textual
+ convention to see how this works."
+ ::= { nlMatrixSDEntry 1 }
+
+
+
+nlMatrixSDSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The network source address for this nlMatrixSDEntry.
+
+ This is represented as an octet string with
+ specific semantics and length as identified
+ by the protocolDirLocalIndex component of the index.
+
+ For example, if the protocolDirLocalIndex indicates an
+ encapsulation of ip, this object is encoded as a length
+ octet of 4, followed by the 4 octets of the ip address,
+ in network byte order."
+ ::= { nlMatrixSDEntry 2 }
+
+nlMatrixSDDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The network destination address for this
+ nlMatrixSDEntry.
+
+ This is represented as an octet string with
+ specific semantics and length as identified
+ by the protocolDirLocalIndex component of the index.
+
+ For example, if the protocolDirLocalIndex indicates an
+ encapsulation of ip, this object is encoded as a length
+ octet of 4, followed by the 4 octets of the ip address,
+ in network byte order."
+ ::= { nlMatrixSDEntry 3 }
+
+nlMatrixSDPkts OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets without errors transmitted from the
+ source address to the destination address since this entry was
+ added to the nlMatrixSDTable. Note that this is the number of
+ link-layer packets, so if a single network-layer packet is
+ fragmented into several link-layer frames, this counter is
+ incremented several times."
+ ::= { nlMatrixSDEntry 4 }
+
+
+
+nlMatrixSDOctets OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted from the source address to
+ the destination address since this entry was added to the
+ nlMatrixSDTable (excluding framing bits but
+ including FCS octets), excluding those octets in packets that
+ contained errors.
+
+ Note this doesn't count just those octets in the particular
+ protocol frames, but includes the entire packet that contained
+ the protocol."
+ ::= { nlMatrixSDEntry 5 }
+
+nlMatrixSDCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this entry was last activated.
+ This can be used by the management station to ensure that the
+ entry has not been deleted and recreated between polls."
+ ::= { nlMatrixSDEntry 6 }
+
+
+-- Traffic matrix tables from destination to source
+
+nlMatrixDSTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlMatrixDSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of traffic matrix entries which collect statistics for
+ conversations between two network-level addresses. This table
+ is indexed first by the destination address and then by the
+ source address to make it convenient to collect all
+ conversations to a particular address.
+
+ The probe will populate this table for all network layer
+ protocols in the protocol directory table whose value of
+ protocolDirMatrixConfig is equal to supportedOn(3), and
+ will delete any entries whose protocolDirEntry is deleted or
+ has a protocolDirMatrixConfig value of supportedOff(2).
+
+ The probe will add to this table all pairs of addresses
+ seen in all packets with no MAC errors, and will increment
+
+
+ octet and packet counts in the table for all packets with no
+ MAC errors.
+
+ Further, this table will only contain entries that have a
+ corresponding entry in the nlMatrixSDTable with the same
+ source address and destination address."
+ ::= { nlMatrix 3 }
+
+nlMatrixDSEntry OBJECT-TYPE
+ SYNTAX NlMatrixDSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the nlMatrixDSTable.
+
+ The hlMatrixControlIndex value in the index identifies the
+ hlMatrixControlEntry on whose behalf this entry was created.
+ The protocolDirLocalIndex value in the index identifies the
+ network layer protocol of the nlMatrixDSSourceAddress and
+ nlMatrixDSDestAddress.
+
+ An example of the indexing of this table is
+ nlMatrixDSPkts.1.783495.18.4.128.2.6.7.4.128.2.6.6"
+ INDEX { hlMatrixControlIndex, nlMatrixDSTimeMark,
+ protocolDirLocalIndex,
+ nlMatrixDSDestAddress, nlMatrixDSSourceAddress }
+ ::= { nlMatrixDSTable 1 }
+
+NlMatrixDSEntry ::= SEQUENCE {
+ nlMatrixDSTimeMark TimeFilter,
+ nlMatrixDSSourceAddress OCTET STRING,
+ nlMatrixDSDestAddress OCTET STRING,
+ nlMatrixDSPkts ZeroBasedCounter32,
+ nlMatrixDSOctets ZeroBasedCounter32,
+ nlMatrixDSCreateTime LastCreateTime
+}
+
+nlMatrixDSTimeMark OBJECT-TYPE
+ SYNTAX TimeFilter
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A TimeFilter for this entry. See the TimeFilter textual
+ convention to see how this works."
+ ::= { nlMatrixDSEntry 1 }
+
+nlMatrixDSSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+
+
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The network source address for this nlMatrixDSEntry.
+
+ This is represented as an octet string with
+ specific semantics and length as identified
+ by the protocolDirLocalIndex component of the index.
+
+ For example, if the protocolDirLocalIndex indicates an
+ encapsulation of ip, this object is encoded as a length
+ octet of 4, followed by the 4 octets of the ip address,
+ in network byte order."
+ ::= { nlMatrixDSEntry 2 }
+
+nlMatrixDSDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The network destination address for this
+ nlMatrixDSEntry.
+
+ This is represented as an octet string with
+ specific semantics and length as identified
+ by the protocolDirLocalIndex component of the index.
+
+ For example, if the protocolDirLocalIndex indicates an
+ encapsulation of ip, this object is encoded as a length
+ octet of 4, followed by the 4 octets of the ip address,
+ in network byte order."
+ ::= { nlMatrixDSEntry 3 }
+
+nlMatrixDSPkts OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets without errors transmitted from the
+ source address to the destination address since this entry was
+ added to the nlMatrixDSTable. Note that this is the number of
+ link-layer packets, so if a single network-layer packet is
+ fragmented into several link-layer frames, this counter is
+ incremented several times."
+ ::= { nlMatrixDSEntry 4 }
+
+nlMatrixDSOctets OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+
+
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted from the source address
+ to the destination address since this entry was added to the
+ nlMatrixDSTable (excluding framing bits but
+ including FCS octets), excluding those octets in packets that
+ contained errors.
+
+ Note this doesn't count just those octets in the particular
+ protocol frames, but includes the entire packet that contained
+ the protocol."
+ ::= { nlMatrixDSEntry 5 }
+
+nlMatrixDSCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this entry was last activated.
+ This can be used by the management station to ensure that the
+ entry has not been deleted and recreated between polls."
+ ::= { nlMatrixDSEntry 6 }
+
+nlMatrixTopNControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlMatrixTopNControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters that control the creation of a
+ report of the top N matrix entries according to
+ a selected metric."
+ ::= { nlMatrix 4 }
+
+nlMatrixTopNControlEntry OBJECT-TYPE
+ SYNTAX NlMatrixTopNControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the nlMatrixTopNControlTable.
+
+ An example of the indexing of this table is
+ nlMatrixTopNControlDuration.3"
+ INDEX { nlMatrixTopNControlIndex }
+ ::= { nlMatrixTopNControlTable 1 }
+
+NlMatrixTopNControlEntry ::= SEQUENCE {
+ nlMatrixTopNControlIndex Integer32,
+
+
+ nlMatrixTopNControlMatrixIndex Integer32,
+ nlMatrixTopNControlRateBase INTEGER,
+ nlMatrixTopNControlTimeRemaining Integer32,
+ nlMatrixTopNControlGeneratedReports Counter32,
+ nlMatrixTopNControlDuration Integer32,
+ nlMatrixTopNControlRequestedSize Integer32,
+ nlMatrixTopNControlGrantedSize Integer32,
+ nlMatrixTopNControlStartTime TimeStamp,
+ nlMatrixTopNControlOwner OwnerString,
+ nlMatrixTopNControlStatus RowStatus
+}
+
+nlMatrixTopNControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the nlMatrixTopNControlTable. Each such
+ entry defines one top N report prepared for
+ one interface."
+ ::= { nlMatrixTopNControlEntry 1 }
+
+nlMatrixTopNControlMatrixIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The nlMatrix[SD/DS] table for which a top N report will be
+ prepared on behalf of this entry. The nlMatrix[SD/DS] table
+ is identified by the value of the hlMatrixControlIndex
+ for that table - that value is used here to identify the
+ particular table.
+
+ This object may not be modified if the associated
+ nlMatrixTopNControlStatus object is equal to active(1)."
+ ::= { nlMatrixTopNControlEntry 2 }
+
+nlMatrixTopNControlRateBase OBJECT-TYPE
+ SYNTAX INTEGER {
+ nlMatrixTopNPkts(1),
+ nlMatrixTopNOctets(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The variable for each nlMatrix[SD/DS] entry that the
+ nlMatrixTopNEntries are sorted by.
+
+
+ This object may not be modified if the associated
+ nlMatrixTopNControlStatus object is equal to active(1)."
+ ::= { nlMatrixTopNControlEntry 3 }
+
+nlMatrixTopNControlTimeRemaining OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds left in the report currently
+ being collected. When this object is modified by
+ the management station, a new collection is started,
+ possibly aborting a currently running report. The
+ new value is used as the requested duration of this
+ report, and is immediately loaded into the associated
+ nlMatrixTopNControlDuration object.
+ When the report finishes, the probe will automatically
+ start another collection with the same initial value
+ of nlMatrixTopNControlTimeRemaining. Thus the management
+ station may simply read the resulting reports repeatedly,
+ checking the startTime and duration each time to ensure that a
+ report was not missed or that the report parameters were not
+ changed.
+
+ While the value of this object is non-zero, it decrements
+ by one per second until it reaches zero. At the time
+ that this object decrements to zero, the report is made
+ accessible in the nlMatrixTopNTable, overwriting any report
+ that may be there.
+
+ When this object is modified by the management station, any
+ associated entries in the nlMatrixTopNTable shall be deleted.
+
+ (Note that this is a different algorithm than the one used in
+ the hostTopNTable)."
+ DEFVAL { 1800 }
+ ::= { nlMatrixTopNControlEntry 4 }
+
+nlMatrixTopNControlGeneratedReports OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of reports that have been generated by this entry."
+ ::= { nlMatrixTopNControlEntry 5 }
+
+nlMatrixTopNControlDuration OBJECT-TYPE
+ SYNTAX Integer32
+
+
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of seconds that this report has collected
+ during the last sampling interval.
+
+ When the associated nlMatrixTopNControlTimeRemaining object is
+ set, this object shall be set by the probe to the
+ same value and shall not be modified until the next
+ time the nlMatrixTopNControlTimeRemaining is set.
+ This value shall be zero if no reports have been
+ requested for this nlMatrixTopNControlEntry."
+ ::= { nlMatrixTopNControlEntry 6 }
+
+nlMatrixTopNControlRequestedSize OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of matrix entries requested for this report.
+
+ When this object is created or modified, the probe
+ should set nlMatrixTopNControlGrantedSize as closely to this
+ object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 150 }
+ ::= { nlMatrixTopNControlEntry 7 }
+
+nlMatrixTopNControlGrantedSize OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of matrix entries in this report.
+
+ When the associated nlMatrixTopNControlRequestedSize object is
+ created or modified, the probe should set this
+ object as closely to the requested value as is
+ possible for the particular implementation and
+ available resources. The probe must not lower this
+ value except as a result of a set to the associated
+ nlMatrixTopNControlRequestedSize object.
+
+ If the value of nlMatrixTopNControlRateBase is equal to
+ nlMatrixTopNPkts, when the next topN report is generated,
+ matrix entries with the highest value of nlMatrixTopNPktRate
+ shall be placed in this table in decreasing order of this rate
+ until there is no more room or until there are no more
+
+
+ matrix entries.
+
+ If the value of nlMatrixTopNControlRateBase is equal to
+ nlMatrixTopNOctets, when the next topN report is generated,
+ matrix entries with the highest value of nlMatrixTopNOctetRate
+ shall be placed in this table in decreasing order of this rate
+ until there is no more room or until there are no more
+ matrix entries.
+
+ It is an implementation-specific matter how entries with the
+ same value of nlMatrixTopNPktRate or nlMatrixTopNOctetRate are
+ sorted. It is also an implementation-specific matter as to
+ whether or not zero-valued entries are available."
+ ::= { nlMatrixTopNControlEntry 8 }
+
+nlMatrixTopNControlStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this top N report was
+ last started. In other words, this is the time that
+ the associated nlMatrixTopNControlTimeRemaining object was
+ modified to start the requested report or the time
+ the report was last automatically (re)started.
+
+ This object may be used by the management station to
+ determine if a report was missed or not."
+ ::= { nlMatrixTopNControlEntry 9 }
+
+nlMatrixTopNControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { nlMatrixTopNControlEntry 10 }
+
+nlMatrixTopNControlStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this nlMatrixTopNControlEntry.
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value.
+
+
+ If this object is not equal to active(1), all
+ associated entries in the nlMatrixTopNTable shall be deleted
+ by the agent."
+ ::= { nlMatrixTopNControlEntry 11 }
+
+nlMatrixTopNTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlMatrixTopNEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of statistics for those network layer matrix entries
+ that have counted the highest number of octets or packets."
+ ::= { nlMatrix 5 }
+
+nlMatrixTopNEntry OBJECT-TYPE
+ SYNTAX NlMatrixTopNEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the nlMatrixTopNTable.
+
+ The nlMatrixTopNControlIndex value in the index identifies the
+ nlMatrixTopNControlEntry on whose behalf this entry was
+ created.
+
+ An example of the indexing of this table is
+ nlMatrixTopNPktRate.3.10"
+ INDEX { nlMatrixTopNControlIndex, nlMatrixTopNIndex }
+ ::= { nlMatrixTopNTable 1 }
+
+NlMatrixTopNEntry ::= SEQUENCE {
+ nlMatrixTopNIndex Integer32,
+ nlMatrixTopNProtocolDirLocalIndex Integer32,
+ nlMatrixTopNSourceAddress OCTET STRING,
+ nlMatrixTopNDestAddress OCTET STRING,
+ nlMatrixTopNPktRate Gauge32,
+ nlMatrixTopNReversePktRate Gauge32,
+ nlMatrixTopNOctetRate Gauge32,
+ nlMatrixTopNReverseOctetRate Gauge32
+}
+
+nlMatrixTopNIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in
+ the nlMatrixTopNTable among those in the same report.
+
+
+ This index is between 1 and N, where N is the
+ number of entries in this report.
+
+ If the value of nlMatrixTopNControlRateBase is equal to
+ nlMatrixTopNPkts, increasing values of nlMatrixTopNIndex shall
+ be assigned to entries with decreasing values of
+ nlMatrixTopNPktRate until index N is assigned or there are no
+ more nlMatrixTopNEntries.
+
+ If the value of nlMatrixTopNControlRateBase is equal to
+ nlMatrixTopNOctets, increasing values of nlMatrixTopNIndex
+ shall be assigned to entries with decreasing values of
+ nlMatrixTopNOctetRate until index N is assigned or there are
+ no more nlMatrixTopNEntries."
+ ::= { nlMatrixTopNEntry 1 }
+
+nlMatrixTopNProtocolDirLocalIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The protocolDirLocalIndex of the network layer protocol of
+ this entry's network address."
+ ::= { nlMatrixTopNEntry 2 }
+
+nlMatrixTopNSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The network layer address of the source host in this
+ conversation.
+
+ This is represented as an octet string with
+ specific semantics and length as identified
+ by the associated nlMatrixTopNProtocolDirLocalIndex.
+
+ For example, if the protocolDirLocalIndex indicates an
+ encapsulation of ip, this object is encoded as a length
+ octet of 4, followed by the 4 octets of the ip address,
+ in network byte order."
+ ::= { nlMatrixTopNEntry 3 }
+
+nlMatrixTopNDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+
+
+ "The network layer address of the destination host in this
+ conversation.
+
+ This is represented as an octet string with
+ specific semantics and length as identified
+ by the associated nlMatrixTopNProtocolDirLocalIndex.
+
+ For example, if the nlMatrixTopNProtocolDirLocalIndex
+ indicates an encapsulation of ip, this object is encoded as a
+ length octet of 4, followed by the 4 octets of the ip address,
+ in network byte order."
+ ::= { nlMatrixTopNEntry 4 }
+
+nlMatrixTopNPktRate OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets seen from the source host
+ to the destination host during this sampling interval, counted
+ using the rules for counting the nlMatrixSDPkts object.
+ If the value of nlMatrixTopNControlRateBase is
+ nlMatrixTopNPkts, this variable will be used to sort this
+ report."
+ ::= { nlMatrixTopNEntry 5 }
+
+nlMatrixTopNReversePktRate OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets seen from the destination host to the
+ source host during this sampling interval, counted
+ using the rules for counting the nlMatrixSDPkts object (note
+ that the corresponding nlMatrixSDPkts object selected is the
+ one whose source address is equal to nlMatrixTopNDestAddress
+ and whose destination address is equal to
+ nlMatrixTopNSourceAddress.)
+
+ Note that if the value of nlMatrixTopNControlRateBase is equal
+ to nlMatrixTopNPkts, the sort of topN entries is based
+ entirely on nlMatrixTopNPktRate, and not on the value of this
+ object."
+ ::= { nlMatrixTopNEntry 6 }
+
+nlMatrixTopNOctetRate OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+
+
+ STATUS current
+ DESCRIPTION
+ "The number of octets seen from the source host
+ to the destination host during this sampling interval, counted
+ using the rules for counting the nlMatrixSDOctets object. If
+ the value of nlMatrixTopNControlRateBase is
+ nlMatrixTopNOctets, this variable will be used to sort this
+ report."
+ ::= { nlMatrixTopNEntry 7 }
+
+nlMatrixTopNReverseOctetRate OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets seen from the destination host to the
+ source host during this sampling interval, counted
+ using the rules for counting the nlMatrixDSOctets object (note
+ that the corresponding nlMatrixSDOctets object selected is the
+ one whose source address is equal to nlMatrixTopNDestAddress
+ and whose destination address is equal to
+ nlMatrixTopNSourceAddress.)
+
+ Note that if the value of nlMatrixTopNControlRateBase is equal
+ to nlMatrixTopNOctets, the sort of topN entries is based
+ entirely on nlMatrixTopNOctetRate, and not on the value of
+ this object."
+ ::= { nlMatrixTopNEntry 8 }
+
+-- Application Layer Functions
+--
+-- The application layer host, matrix, and matrixTopN functions report
+-- on protocol usage at the network layer or higher. Note that the
+-- use of the term application layer does not imply that only
+-- application-layer protocols are counted, rather it means that
+-- protocols up to and including the application layer are supported.
+
+--
+-- Application Layer Host Group
+--
+-- Counts the amount of traffic, by protocol, sent from and to each
+-- network address discovered by the probe.
+-- Implementation of this group requires implementation of the Network
+-- Layer Host Group.
+
+alHostTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AlHostEntry
+ MAX-ACCESS not-accessible
+
+
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics for a particular protocol from a
+ particular network address that has been discovered on an
+ interface of this device.
+
+ The probe will populate this table for all protocols in the
+ protocol directory table whose value of
+ protocolDirHostConfig is equal to supportedOn(3), and
+ will delete any entries whose protocolDirEntry is deleted or
+ has a protocolDirHostConfig value of supportedOff(2).
+
+ The probe will add to this table all addresses
+ seen as the source or destination address in all packets with
+ no MAC errors, and will increment octet and packet counts in
+ the table for all packets with no MAC errors. Further,
+ entries will only be added to this table if their address
+ exists in the nlHostTable and will be deleted from this table
+ if their address is deleted from the nlHostTable."
+ ::= { alHost 1 }
+
+alHostEntry OBJECT-TYPE
+ SYNTAX AlHostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the alHostTable.
+
+ The hlHostControlIndex value in the index identifies the
+ hlHostControlEntry on whose behalf this entry was created.
+ The first protocolDirLocalIndex value in the index identifies
+ the network layer protocol of the address.
+ The nlHostAddress value in the index identifies the network
+ layer address of this entry.
+ The second protocolDirLocalIndex value in the index identifies
+ the protocol that is counted by this entry.
+
+ An example of the indexing in this entry is
+ alHostOutPkts.1.783495.18.4.128.2.6.6.34"
+ INDEX { hlHostControlIndex, alHostTimeMark,
+ protocolDirLocalIndex, nlHostAddress,
+ protocolDirLocalIndex } -- OTP-1427
+ ::= { alHostTable 1 }
+
+AlHostEntry ::= SEQUENCE {
+ alHostTimeMark TimeFilter,
+ alHostInPkts ZeroBasedCounter32,
+ alHostOutPkts ZeroBasedCounter32,
+
+
+ alHostInOctets ZeroBasedCounter32,
+ alHostOutOctets ZeroBasedCounter32,
+ alHostCreateTime LastCreateTime
+}
+
+alHostTimeMark OBJECT-TYPE
+ SYNTAX TimeFilter
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A TimeFilter for this entry. See the TimeFilter textual
+ convention to see how this works."
+ ::= { alHostEntry 1 }
+
+alHostInPkts OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets of this protocol type without errors
+ transmitted to this address since it was added to the
+ alHostTable. Note that this is the number of link-layer
+ packets, so if a single network-layer packet is fragmented
+ into several link-layer frames, this counter is incremented
+ several times."
+ ::= { alHostEntry 2 }
+
+alHostOutPkts OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets of this protocol type without errors
+ transmitted by this address since it was added to the
+ alHostTable. Note that this is the number of link-layer
+ packets, so if a single network-layer packet is fragmented
+ into several link-layer frames, this counter is incremented
+ several times."
+ ::= { alHostEntry 3 }
+
+alHostInOctets OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted to this address
+ of this protocol type since it was added to the
+ alHostTable (excluding framing bits but including
+
+
+ FCS octets), excluding those octets in packets that
+ contained errors.
+
+ Note this doesn't count just those octets in the particular
+ protocol frames, but includes the entire packet that contained
+ the protocol."
+ ::= { alHostEntry 4 }
+
+alHostOutOctets OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted by this address
+ of this protocol type since it was added to the
+ alHostTable (excluding framing bits but including
+ FCS octets), excluding those octets in packets that
+ contained errors.
+
+ Note this doesn't count just those octets in the particular
+ protocol frames, but includes the entire packet that contained
+ the protocol."
+ ::= { alHostEntry 5 }
+
+alHostCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this entry was last activated.
+ This can be used by the management station to ensure that the
+ entry has not been deleted and recreated between polls."
+ ::= { alHostEntry 6 }
+
+--
+-- Application Layer Matrix Group
+--
+-- Counts the amount of traffic, by protocol, sent between each pair
+-- of network addresses discovered by the probe.
+-- Implementation of this group requires implementation of the Network
+-- Layer Matrix Group.
+
+alMatrixSDTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AlMatrixSDEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of application traffic matrix entries which collect
+
+
+ statistics for conversations of a particular protocol between
+ two network-level addresses. This table is indexed first by
+ the source address and then by the destination address to make
+ it convenient to collect all statistics from a particular
+ address.
+
+ The probe will populate this table for all protocols in the
+ protocol directory table whose value of
+ protocolDirMatrixConfig is equal to supportedOn(3), and
+ will delete any entries whose protocolDirEntry is deleted or
+ has a protocolDirMatrixConfig value of supportedOff(2).
+
+ The probe will add to this table all pairs of addresses for
+ all protocols seen in all packets with no MAC errors, and will
+ increment octet and packet counts in the table for all packets
+ with no MAC errors. Further, entries will only be added to
+ this table if their address pair exists in the nlMatrixSDTable
+ and will be deleted from this table if the address pair is
+ deleted from the nlMatrixSDTable."
+ ::= { alMatrix 1 }
+
+alMatrixSDEntry OBJECT-TYPE
+ SYNTAX AlMatrixSDEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the alMatrixSDTable.
+
+ The hlMatrixControlIndex value in the index identifies the
+ hlMatrixControlEntry on whose behalf this entry was created.
+ The first protocolDirLocalIndex value in the index identifies
+ the network layer protocol of the nlMatrixSDSourceAddress and
+ nlMatrixSDDestAddress.
+ The nlMatrixSDSourceAddress value in the index identifies the
+ network layer address of the source host in this conversation.
+ The nlMatrixSDDestAddress value in the index identifies the
+ network layer address of the destination host in this
+ conversation.
+ The second protocolDirLocalIndex value in the index identifies
+ the protocol that is counted by this entry.
+
+ An example of the indexing of this entry is
+ alMatrixSDPkts.1.783495.18.4.128.2.6.6.4.128.2.6.7.34"
+ INDEX { hlMatrixControlIndex, alMatrixSDTimeMark,
+ protocolDirLocalIndex,
+ nlMatrixSDSourceAddress, nlMatrixSDDestAddress,
+ protocolDirLocalIndex }
+ ::= { alMatrixSDTable 1 }
+
+
+AlMatrixSDEntry ::= SEQUENCE {
+ alMatrixSDTimeMark TimeFilter,
+ alMatrixSDPkts ZeroBasedCounter32,
+ alMatrixSDOctets ZeroBasedCounter32,
+ alMatrixSDCreateTime LastCreateTime
+}
+
+alMatrixSDTimeMark OBJECT-TYPE
+ SYNTAX TimeFilter
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A TimeFilter for this entry. See the TimeFilter textual
+ convention to see how this works."
+ ::= { alMatrixSDEntry 1 }
+
+alMatrixSDPkts OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets of this protocol type without errors
+ transmitted from the source address to the destination address
+ since this entry was added to the alMatrixSDTable. Note that
+ this is the number of link-layer packets, so if a single
+ network-layer packet is fragmented into several link-layer
+ frames, this counter is incremented several times."
+ ::= { alMatrixSDEntry 2 }
+
+alMatrixSDOctets OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets in packets of this protocol type
+ transmitted from the source address to the destination address
+ since this entry was added to the alMatrixSDTable (excluding
+ framing bits but including FCS octets), excluding those octets
+ in packets that contained errors.
+
+ Note this doesn't count just those octets in the particular
+ protocol frames, but includes the entire packet that contained
+ the protocol."
+ ::= { alMatrixSDEntry 3 }
+
+alMatrixSDCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+
+
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this entry was last activated.
+ This can be used by the management station to ensure that the
+ entry has not been deleted and recreated between polls."
+ ::= { alMatrixSDEntry 4 }
+
+-- Traffic matrix tables from destination to source
+
+alMatrixDSTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AlMatrixDSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of application traffic matrix entries which collect
+ statistics for conversations of a particular protocol between
+ two network-level addresses. This table is indexed first by
+ the destination address and then by the source address to make
+ it convenient to collect all statistics to a particular
+ address.
+
+ The probe will populate this table for all protocols in the
+ protocol directory table whose value of
+ protocolDirMatrixConfig is equal to supportedOn(3), and
+ will delete any entries whose protocolDirEntry is deleted or
+ has a protocolDirMatrixConfig value of supportedOff(2).
+
+ The probe will add to this table all pairs of addresses for
+ all protocols seen in all packets with no MAC errors, and will
+ increment octet and packet counts in the table for all packets
+ with no MAC errors. Further, entries will only be added to
+ this table if their address pair exists in the nlMatrixDSTable
+ and will be deleted from this table if the address pair is
+ deleted from the nlMatrixDSTable."
+ ::= { alMatrix 2 }
+
+alMatrixDSEntry OBJECT-TYPE
+ SYNTAX AlMatrixDSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the alMatrixDSTable.
+
+ The hlMatrixControlIndex value in the index identifies the
+ hlMatrixControlEntry on whose behalf this entry was created.
+ The first protocolDirLocalIndex value in the index identifies
+ the network layer protocol of the alMatrixDSSourceAddress and
+ alMatrixDSDestAddress.
+
+
+ The nlMatrixDSDestAddress value in the index identifies the
+ network layer address of the destination host in this
+ conversation.
+ The nlMatrixDSSourceAddress value in the index identifies the
+ network layer address of the source host in this conversation.
+ The second protocolDirLocalIndex value in the index identifies
+ the protocol that is counted by this entry.
+
+ An example of the indexing of this entry is
+ alMatrixDSPkts.1.783495.18.4.128.2.6.7.4.128.2.6.6.34"
+ INDEX { hlMatrixControlIndex, alMatrixDSTimeMark,
+ protocolDirLocalIndex,
+ nlMatrixDSDestAddress, nlMatrixDSSourceAddress,
+ protocolDirLocalIndex }
+ ::= { alMatrixDSTable 1 }
+
+AlMatrixDSEntry ::= SEQUENCE {
+ alMatrixDSTimeMark TimeFilter,
+ alMatrixDSPkts ZeroBasedCounter32,
+ alMatrixDSOctets ZeroBasedCounter32,
+ alMatrixDSCreateTime LastCreateTime
+}
+
+alMatrixDSTimeMark OBJECT-TYPE
+ SYNTAX TimeFilter
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A TimeFilter for this entry. See the TimeFilter textual
+ convention to see how this works."
+ ::= { alMatrixDSEntry 1 }
+
+alMatrixDSPkts OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets of this protocol type without errors
+ transmitted from the source address to the destination address
+ since this entry was added to the alMatrixDSTable. Note that
+ this is the number of link-layer packets, so if a single
+ network-layer packet is fragmented into several link-layer
+ frames, this counter is incremented several times."
+ ::= { alMatrixDSEntry 2 }
+
+alMatrixDSOctets OBJECT-TYPE
+ SYNTAX ZeroBasedCounter32
+ MAX-ACCESS read-only
+
+
+ STATUS current
+ DESCRIPTION
+ "The number of octets in packets of this protocol type
+ transmitted from the source address to the destination address
+ since this entry was added to the alMatrixDSTable (excluding
+ framing bits but including FCS octets), excluding those octets
+ in packets that contained errors.
+
+ Note this doesn't count just those octets in the particular
+ protocol frames, but includes the entire packet that contained
+ the protocol."
+ ::= { alMatrixDSEntry 3 }
+
+alMatrixDSCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this entry was last activated.
+ This can be used by the management station to ensure that the
+ entry has not been deleted and recreated between polls."
+ ::= { alMatrixDSEntry 4 }
+
+alMatrixTopNControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AlMatrixTopNControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters that control the creation of a
+ report of the top N matrix entries according to
+ a selected metric."
+ ::= { alMatrix 3 }
+
+alMatrixTopNControlEntry OBJECT-TYPE
+ SYNTAX AlMatrixTopNControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the alMatrixTopNControlTable.
+
+ An example of the indexing of this table is
+ alMatrixTopNControlDuration.3"
+ INDEX { alMatrixTopNControlIndex }
+ ::= { alMatrixTopNControlTable 1 }
+
+AlMatrixTopNControlEntry ::= SEQUENCE {
+ alMatrixTopNControlIndex Integer32,
+ alMatrixTopNControlMatrixIndex Integer32,
+
+
+ alMatrixTopNControlRateBase INTEGER,
+ alMatrixTopNControlTimeRemaining Integer32,
+ alMatrixTopNControlGeneratedReports Counter32,
+ alMatrixTopNControlDuration Integer32,
+ alMatrixTopNControlRequestedSize Integer32,
+ alMatrixTopNControlGrantedSize Integer32,
+ alMatrixTopNControlStartTime TimeStamp,
+ alMatrixTopNControlOwner OwnerString,
+ alMatrixTopNControlStatus RowStatus
+}
+
+alMatrixTopNControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the alMatrixTopNControlTable. Each such
+ entry defines one top N report prepared for
+ one interface."
+ ::= { alMatrixTopNControlEntry 1 }
+
+alMatrixTopNControlMatrixIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The alMatrix[SD/DS] table for which a top N report will be
+ prepared on behalf of this entry. The alMatrix[SD/DS] table
+ is identified by the value of the hlMatrixControlIndex
+ for that table - that value is used here to identify the
+ particular table.
+
+ This object may not be modified if the associated
+ alMatrixTopNControlStatus object is equal to active(1)."
+ ::= { alMatrixTopNControlEntry 2 }
+
+alMatrixTopNControlRateBase OBJECT-TYPE
+ SYNTAX INTEGER {
+ alMatrixTopNTerminalsPkts(1),
+ alMatrixTopNTerminalsOctets(2),
+ alMatrixTopNAllPkts(3),
+ alMatrixTopNAllOctets(4)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The variable for each alMatrix[SD/DS] entry that the
+
+
+ alMatrixTopNEntries are sorted by, as well as the
+ selector of the view of the matrix table that will be
+ used.
+
+ The values alMatrixTopNTerminalsPkts and
+ alMatrixTopNTerminalsOctets cause collection only from
+ protocols that have no child protocols that are counted. The
+ values alMatrixTopNAllPkts and alMatrixTopNAllOctets cause
+ collection from all alMatrix entries.
+
+ This object may not be modified if the associated
+ alMatrixTopNControlStatus object is equal to active(1)."
+ ::= { alMatrixTopNControlEntry 3 }
+
+alMatrixTopNControlTimeRemaining OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds left in the report currently
+ being collected. When this object is modified by
+ the management station, a new collection is started,
+ possibly aborting a currently running report. The
+ new value is used as the requested duration of this
+ report, and is immediately loaded into the associated
+ alMatrixTopNControlDuration object.
+ When the report finishes, the probe will automatically
+ start another collection with the same initial value
+ of alMatrixTopNControlTimeRemaining. Thus the management
+ station may simply read the resulting reports repeatedly,
+ checking the startTime and duration each time to ensure that a
+ report was not missed or that the report parameters were not
+ changed.
+
+ While the value of this object is non-zero, it decrements
+ by one per second until it reaches zero. At the time
+ that this object decrements to zero, the report is made
+ accessible in the alMatrixTopNTable, overwriting any report
+ that may be there.
+
+ When this object is modified by the management station, any
+ associated entries in the alMatrixTopNTable shall be deleted.
+
+ (Note that this is a different algorithm than the one used in
+ the hostTopNTable)."
+ DEFVAL { 1800 }
+ ::= { alMatrixTopNControlEntry 4 }
+
+
+
+alMatrixTopNControlGeneratedReports OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of reports that have been generated by this entry."
+ ::= { alMatrixTopNControlEntry 5 }
+
+alMatrixTopNControlDuration OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of seconds that this report has collected
+ during the last sampling interval.
+
+ When the associated alMatrixTopNControlTimeRemaining object
+ is set, this object shall be set by the probe to the
+ same value and shall not be modified until the next
+ time the alMatrixTopNControlTimeRemaining is set.
+
+ This value shall be zero if no reports have been
+ requested for this alMatrixTopNControlEntry."
+ ::= { alMatrixTopNControlEntry 6 }
+
+alMatrixTopNControlRequestedSize OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of matrix entries requested for this report.
+
+ When this object is created or modified, the probe
+ should set alMatrixTopNControlGrantedSize as closely to this
+ object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 150 }
+ ::= { alMatrixTopNControlEntry 7 }
+
+alMatrixTopNControlGrantedSize OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of matrix entries in this report.
+
+ When the associated alMatrixTopNControlRequestedSize object
+ is created or modified, the probe should set this
+
+
+ object as closely to the requested value as is
+ possible for the particular implementation and
+ available resources. The probe must not lower this
+ value except as a result of a set to the associated
+ alMatrixTopNControlRequestedSize object.
+
+ If the value of alMatrixTopNControlRateBase is equal to
+ alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, when the
+ next topN report is generated, matrix entries with the highest
+ value of alMatrixTopNPktRate shall be placed in this table in
+ decreasing order of this rate until there is no more room or
+ until there are no more matrix entries.
+
+ If the value of alMatrixTopNControlRateBase is equal to
+ alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets, when the
+ next topN report is generated, matrix entries with the highest
+ value of alMatrixTopNOctetRate shall be placed in this table
+ in decreasing order of this rate until there is no more room
+ or until there are no more matrix entries.
+
+ It is an implementation-specific matter how entries with the
+ same value of alMatrixTopNPktRate or alMatrixTopNOctetRate are
+ sorted. It is also an implementation-specific matter as to
+ whether or not zero-valued entries are available."
+ ::= { alMatrixTopNControlEntry 8 }
+
+alMatrixTopNControlStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this top N report was
+ last started. In other words, this is the time that
+ the associated alMatrixTopNControlTimeRemaining object
+ was modified to start the requested report or the time
+ the report was last automatically (re)started.
+
+ This object may be used by the management station to
+ determine if a report was missed or not."
+ ::= { alMatrixTopNControlEntry 9 }
+
+alMatrixTopNControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+
+
+ ::= { alMatrixTopNControlEntry 10 }
+
+alMatrixTopNControlStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this alMatrixTopNControlEntry.
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value.
+
+ If this object is not equal to active(1), all
+ associated entries in the alMatrixTopNTable shall be
+ deleted by the agent."
+ ::= { alMatrixTopNControlEntry 11 }
+
+alMatrixTopNTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AlMatrixTopNEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of statistics for those application layer matrix
+ entries that have counted the highest number of octets or
+ packets."
+ ::= { alMatrix 4 }
+
+alMatrixTopNEntry OBJECT-TYPE
+ SYNTAX AlMatrixTopNEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the alMatrixTopNTable.
+
+ The alMatrixTopNControlIndex value in the index identifies
+ the alMatrixTopNControlEntry on whose behalf this entry was
+ created.
+
+ An example of the indexing of this table is
+ alMatrixTopNPktRate.3.10"
+ INDEX { alMatrixTopNControlIndex, alMatrixTopNIndex }
+ ::= { alMatrixTopNTable 1 }
+
+AlMatrixTopNEntry ::= SEQUENCE {
+ alMatrixTopNIndex Integer32,
+ alMatrixTopNProtocolDirLocalIndex Integer32,
+ alMatrixTopNSourceAddress OCTET STRING,
+ alMatrixTopNDestAddress OCTET STRING,
+
+
+ alMatrixTopNAppProtocolDirLocalIndex Integer32,
+ alMatrixTopNPktRate Gauge32,
+ alMatrixTopNReversePktRate Gauge32,
+ alMatrixTopNOctetRate Gauge32,
+ alMatrixTopNReverseOctetRate Gauge32
+ }
+
+alMatrixTopNIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in
+ the alMatrixTopNTable among those in the same report.
+ This index is between 1 and N, where N is the
+ number of entries in this report.
+
+ If the value of alMatrixTopNControlRateBase is equal to
+ alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, increasing
+ values of alMatrixTopNIndex shall be assigned to entries with
+ decreasing values of alMatrixTopNPktRate until index N is
+ assigned or there are no more alMatrixTopNEntries.
+
+ If the value of alMatrixTopNControlRateBase is equal to
+ alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets,
+ increasing values of alMatrixTopNIndex shall be assigned to
+ entries with decreasing values of alMatrixTopNOctetRate until
+ index N is assigned or there are no more alMatrixTopNEntries."
+ ::= { alMatrixTopNEntry 1 }
+
+alMatrixTopNProtocolDirLocalIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The protocolDirLocalIndex of the network layer protocol of
+ this entry's network address."
+ ::= { alMatrixTopNEntry 2 }
+
+alMatrixTopNSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The network layer address of the source host in this
+ conversation.
+ This is represented as an octet string with
+ specific semantics and length as identified
+
+
+ by the associated alMatrixTopNProtocolDirLocalIndex.
+
+ For example, if the alMatrixTopNProtocolDirLocalIndex
+ indicates an encapsulation of ip, this object is encoded as a
+ length octet of 4, followed by the 4 octets of the ip address,
+ in network byte order."
+ ::= { alMatrixTopNEntry 3 }
+
+alMatrixTopNDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The network layer address of the destination host in this
+ conversation.
+
+ This is represented as an octet string with
+ specific semantics and length as identified
+ by the associated alMatrixTopNProtocolDirLocalIndex.
+
+ For example, if the alMatrixTopNProtocolDirLocalIndex
+ indicates an encapsulation of ip, this object is encoded as a
+ length octet of 4, followed by the 4 octets of the ip address,
+ in network byte order."
+ ::= { alMatrixTopNEntry 4 }
+
+alMatrixTopNAppProtocolDirLocalIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of the protocol counted by this matrix entry."
+ ::= { alMatrixTopNEntry 5 }
+
+alMatrixTopNPktRate OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets seen of this protocol from the source
+ host to the destination host during this sampling interval,
+ counted using the rules for counting the alMatrixSDPkts
+ object.
+
+ If the value of alMatrixTopNControlRateBase is
+ alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, this
+ variable will be used to sort this report."
+ ::= { alMatrixTopNEntry 6 }
+
+
+alMatrixTopNReversePktRate OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets seen of this protocol from the
+ destination host to the source host during this sampling
+ interval, counted using the rules for counting the
+ alMatrixDSPkts object (note that the corresponding
+ alMatrixSDPkts object selected is the one whose source address
+ is equal to alMatrixTopNDestAddress and whose destination
+ address is equal to alMatrixTopNSourceAddress.)
+
+ Note that if the value of alMatrixTopNControlRateBase is equal
+ to alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, the sort
+ of topN entries is based entirely on alMatrixTopNPktRate, and
+ not on the value of this object."
+ ::= { alMatrixTopNEntry 7 }
+
+alMatrixTopNOctetRate OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets seen of this protocol from the source
+ host to the destination host during this sampling interval,
+ counted using the rules for counting the alMatrixSDOctets
+ object.
+
+ If the value of alMatrixTopNControlRateBase is
+ alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets, this
+ variable will be used to sort this report."
+ ::= { alMatrixTopNEntry 8 }
+
+alMatrixTopNReverseOctetRate OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets seen of this protocol from the
+ destination host to the source host during this sampling
+ interval, counted using the rules for counting the
+ alMatrixDSOctets object (note that the corresponding
+ alMatrixSDOctets object selected is the one whose source
+ address is equal to alMatrixTopNDestAddress and whose
+ destination address is equal to alMatrixTopNSourceAddress.)
+
+ Note that if the value of alMatrixTopNControlRateBase is equal
+
+
+ to alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets, the
+ sort of topN entries is based entirely on
+ alMatrixTopNOctetRate, and not on the value of this object."
+ ::= { alMatrixTopNEntry 9 }
+
+--
+-- User History Collection Group (usrHistory)
+--
+-- The usrHistory group combines mechanisms seen in the alarm and
+-- history groups to provide user-specified history collection,
+-- utilizing two additional control tables and one additional data
+-- table. This function has traditionally been done by NMS
+-- applications, via periodic polling. The usrHistory group allows
+-- this task to be offloaded to an RMON probe.
+--
+-- Data (an ASN.1 INTEGER based object) is collected in the same
+-- manner as any history data table (e.g. etherHistoryTable) except
+-- that the user specifies the MIB instances to be collected. Objects
+-- are collected in bucket-groups, with the intent that all MIB
+-- instances in the same bucket-group are collected as atomically as
+-- possible by the RMON probe.
+--
+-- The usrHistoryControlTable is a one-dimensional read-create table.
+-- Each row configures a collection of user history buckets, much
+-- the same as a historyControlEntry, except that the creation of a
+-- row in this table will cause one or more associated instances in
+-- the usrHistoryObjectTable to be created. The user specifies the
+-- number of bucket elements (rows in the usrHistoryObjectTable)
+-- requested, as well as the number of buckets requested.
+--
+-- The usrHistoryObjectTable is a 2-d read-write table.
+-- Each row configures a single MIB instance to be collected.
+-- All rows with the same major index constitute a bucket-group.
+--
+-- The usrHistoryTable is a 3-d read-only table containing
+-- the data of associated usrHistoryControlEntries. Each
+-- entry represents the value of a single MIB instance
+-- during a specific sampling interval (or the rate of
+-- change during the interval).
+--
+-- A sample value is stored in two objects - an absolute value and
+-- a status object. This allows numbers from -(2G-1) to +4G to be
+-- stored. The status object also indicates whether a sample is
+-- valid. This allows data collection to continue if periodic
+-- retrieval of a particular instance fails for any reason.
+--
+-- Row Creation Order Relationships
+--
+
+
+-- The static nature of the usrHistoryObjectTable creates
+-- some row creation/modification issues. The rows in this
+-- table need to be set before the associated
+-- usrHistoryControlEntry can be activated.
+--
+-- Note that the usrHistoryObject entries associated with a
+-- particular usrHistoryControlEntry are not required to
+-- be active before the control entry is activated. However,
+-- the usrHistory data entries associated with an inactive
+-- usrHistoryObject entry will be inactive (i.e.
+-- usrHistoryValStatus == valueNotAvailable).
+--
+
+usrHistoryControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UsrHistoryControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of data-collection configuration entries."
+ ::= { usrHistory 1 }
+
+usrHistoryControlEntry OBJECT-TYPE
+ SYNTAX UsrHistoryControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of parameters that set up a group of user-defined
+ MIB objects to be sampled periodically (called a
+ bucket-group).
+
+ For example, an instance of usrHistoryControlInterval
+ might be named usrHistoryControlInterval.1"
+ INDEX { usrHistoryControlIndex }
+ ::= { usrHistoryControlTable 1 }
+
+UsrHistoryControlEntry ::= SEQUENCE {
+ usrHistoryControlIndex Integer32,
+ usrHistoryControlObjects Integer32,
+ usrHistoryControlBucketsRequested Integer32,
+ usrHistoryControlBucketsGranted Integer32,
+ usrHistoryControlInterval Integer32,
+ usrHistoryControlOwner OwnerString,
+ usrHistoryControlStatus RowStatus
+}
+
+usrHistoryControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+
+
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ usrHistoryControlTable. Each such entry defines a
+ set of samples at a particular interval for a specified
+ set of MIB instances available from the managed system."
+ ::= { usrHistoryControlEntry 1 }
+
+usrHistoryControlObjects OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of MIB objects to be collected
+ in the portion of usrHistoryTable associated with this
+ usrHistoryControlEntry.
+
+ This object may not be modified if the associated instance
+ of usrHistoryControlStatus is equal to active(1)."
+ ::= { usrHistoryControlEntry 2 }
+
+usrHistoryControlBucketsRequested OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The requested number of discrete time intervals
+ over which data is to be saved in the part of the
+ usrHistoryTable associated with this usrHistoryControlEntry.
+
+ When this object is created or modified, the probe
+ should set usrHistoryControlBucketsGranted as closely to
+ this object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 50 }
+ ::= { usrHistoryControlEntry 3 }
+
+usrHistoryControlBucketsGranted OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of discrete sampling intervals
+ over which data shall be saved in the part of
+ the usrHistoryTable associated with this
+ usrHistoryControlEntry.
+
+ When the associated usrHistoryControlBucketsRequested
+
+
+ object is created or modified, the probe should set
+ this object as closely to the requested value as is
+ possible for the particular probe implementation and
+ available resources. The probe must not lower this
+ value except as a result of a modification to the associated
+ usrHistoryControlBucketsRequested object.
+
+ The associated usrHistoryControlBucketsRequested object
+ should be set before or at the same time as this object
+ to allow the probe to accurately estimate the resources
+ required for this usrHistoryControlEntry.
+
+ There will be times when the actual number of buckets
+ associated with this entry is less than the value of
+ this object. In this case, at the end of each sampling
+ interval, a new bucket will be added to the usrHistoryTable.
+
+ When the number of buckets reaches the value of this object
+ and a new bucket is to be added to the usrHistoryTable,
+ the oldest bucket associated with this usrHistoryControlEntry
+ shall be deleted by the agent so that the new bucket can be
+ added.
+
+ When the value of this object changes to a value less than
+ the current value, entries are deleted from the
+ usrHistoryTable associated with this usrHistoryControlEntry.
+ Enough of the oldest of these entries shall be deleted by the
+ agent so that their number remains less than or equal to the
+ new value of this object.
+
+ When the value of this object changes to a value greater
+ than the current value, the number of associated usrHistory
+ entries may be allowed to grow."
+ ::= { usrHistoryControlEntry 4 }
+
+
+usrHistoryControlInterval OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The interval in seconds over which the data is
+ sampled for each bucket in the part of the usrHistory
+ table associated with this usrHistoryControlEntry.
+
+ Because the counters in a bucket may overflow at their
+ maximum value with no indication, a prudent manager will
+ take into account the possibility of overflow in any of
+
+
+ the associated counters. It is important to consider the
+ minimum time in which any counter could overflow on a
+ particular media type and set the usrHistoryControlInterval
+ object to a value less than this interval.
+
+ This object may not be modified if the associated
+ usrHistoryControlStatus object is equal to active(1)."
+ DEFVAL { 1800 }
+ ::= { usrHistoryControlEntry 5 }
+
+usrHistoryControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { usrHistoryControlEntry 6 }
+
+usrHistoryControlStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this variable history control entry.
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value.
+
+ If this object is not equal to active(1), all associated
+ entries in the usrHistoryTable shall be deleted."
+ ::= { usrHistoryControlEntry 7 }
+
+-- Object table
+
+usrHistoryObjectTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UsrHistoryObjectEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of data-collection configuration entries."
+ ::= { usrHistory 2 }
+
+usrHistoryObjectEntry OBJECT-TYPE
+ SYNTAX UsrHistoryObjectEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+
+
+ "A list of MIB instances to be sampled periodically.
+
+ Entries in this table are created when an associated
+ usrHistoryControlObjects object is created.
+
+ The usrHistoryControlIndex value in the index is
+ that of the associated usrHistoryControlEntry.
+
+ For example, an instance of usrHistoryObjectVariable might be
+ usrHistoryObjectVariable.1.3"
+ INDEX { usrHistoryControlIndex, usrHistoryObjectIndex }
+ ::= { usrHistoryObjectTable 1 }
+
+UsrHistoryObjectEntry ::= SEQUENCE {
+ usrHistoryObjectIndex Integer32,
+ usrHistoryObjectVariable OBJECT IDENTIFIER,
+ usrHistoryObjectSampleType INTEGER
+}
+
+usrHistoryObjectIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index used to uniquely identify an entry in the
+ usrHistoryObject table. Each such entry defines a
+ MIB instance to be collected periodically."
+ ::= { usrHistoryObjectEntry 1 }
+
+
+usrHistoryObjectVariable OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object identifier of the particular variable to be
+ sampled.
+
+ Only variables that resolve to an ASN.1 primitive type of
+ Integer32 (Integer32, Counter, Gauge, or TimeTicks) may be
+ sampled.
+
+ Because SNMP access control is articulated entirely in terms
+ of the contents of MIB views, no access control mechanism
+ exists that can restrict the value of this object to identify
+ only those objects that exist in a particular MIB view.
+ Because there is thus no acceptable means of restricting the
+ read access that could be obtained through the user history
+
+
+ mechanism, the probe must only grant write access to this
+ object in those views that have read access to all objects on
+ the probe.
+
+ During a set operation, if the supplied variable name is not
+ available in the selected MIB view, a badValue error must be
+ returned.
+
+ This object may not be modified if the associated
+ usrHistoryControlStatus object is equal to active(1)."
+ ::= { usrHistoryObjectEntry 2 }
+
+usrHistoryObjectSampleType OBJECT-TYPE
+ SYNTAX INTEGER {
+ absoluteValue(1),
+ deltaValue(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The method of sampling the selected variable for storage in
+ the usrHistoryTable.
+
+ If the value of this object is absoluteValue(1), the value of
+ the selected variable will be copied directly into the history
+ bucket.
+
+ If the value of this object is deltaValue(2), the value of the
+ selected variable at the last sample will be subtracted from
+ the current value, and the difference will be stored in the
+ history bucket. If the associated usrHistoryObjectVariable
+ instance could not be obtained at the previous sample
+ interval, then a delta sample is not possible, and the value
+ of the associated usrHistoryValStatus object for this interval
+ will be valueNotAvailable(1).
+
+ This object may not be modified if the associated
+ usrHistoryControlStatus object is equal to active(1)."
+ ::= { usrHistoryObjectEntry 3 }
+
+-- data table
+
+usrHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UsrHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of user defined history entries."
+
+
+ ::= { usrHistory 3 }
+
+usrHistoryEntry OBJECT-TYPE
+ SYNTAX UsrHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A historical sample of user-defined variables. This sample
+ is associated with the usrHistoryControlEntry which set up the
+ parameters for a regular collection of these samples.
+
+ The usrHistoryControlIndex value in the index identifies the
+ usrHistoryControlEntry on whose behalf this entry was created.
+
+ The usrHistoryObjectIndex value in the index identifies the
+ usrHistoryObjectEntry on whose behalf this entry was created.
+
+ For example, an instance of usrHistoryAbsValue, which represents
+ the 14th sample of a variable collected as specified by
+ usrHistoryControlEntry.1 and usrHistoryObjectEntry.1.5,
+ would be named usrHistoryAbsValue.1.14.5"
+ INDEX { usrHistoryControlIndex, usrHistorySampleIndex,
+ usrHistoryObjectIndex }
+ ::= { usrHistoryTable 1 }
+
+UsrHistoryEntry ::= SEQUENCE {
+ usrHistorySampleIndex Integer32,
+ usrHistoryIntervalStart TimeStamp,
+ usrHistoryIntervalEnd TimeStamp,
+ usrHistoryAbsValue Gauge32,
+ usrHistoryValStatus INTEGER
+}
+
+usrHistorySampleIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies the particular sample this
+ entry represents among all samples associated with the same
+ usrHistoryControlEntry. This index starts at 1 and increases
+ by one as each new sample is taken."
+ ::= { usrHistoryEntry 1 }
+
+usrHistoryIntervalStart OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+
+
+ DESCRIPTION
+ "The value of sysUpTime at the start of the interval over
+ which this sample was measured. If the probe keeps track of
+ the time of day, it should start the first sample of the
+ history at a time such that when the next hour of the day
+ begins, a sample is started at that instant.
+
+ Note that following this rule may require the probe to delay
+ collecting the first sample of the history, as each sample
+ must be of the same interval. Also note that the sample which
+ is currently being collected is not accessible in this table
+ until the end of its interval."
+ ::= { usrHistoryEntry 2 }
+
+usrHistoryIntervalEnd OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the end of the interval over which
+ this sample was measured."
+ ::= { usrHistoryEntry 3 }
+
+usrHistoryAbsValue OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The absolute value (i.e. unsigned value) of the
+ user-specified statistic during the last sampling period. The
+ value during the current sampling period is not made available
+ until the period is completed.
+
+ To obtain the true value for this sampling interval, the
+ associated instance of usrHistoryValStatus must be checked,
+ and usrHistoryAbsValue adjusted as necessary.
+
+ If the MIB instance could not be accessed during the sampling
+ interval, then this object will have a value of zero and the
+ associated instance of usrHistoryValStatus will be set to
+ 'valueNotAvailable(1)'."
+ ::= { usrHistoryEntry 4 }
+
+
+usrHistoryValStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ valueNotAvailable(1),
+ valuePositive(2),
+
+
+ valueNegative(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object indicates the validity and sign of the data in
+ the associated instance of usrHistoryAbsValue.
+
+ If the MIB instance could not be accessed during the sampling
+ interval, then 'valueNotAvailable(1)' will be returned.
+
+ If the sample is valid and actual value of the sample is
+ greater than or equal to zero then 'valuePositive(2)' is
+ returned.
+
+ If the sample is valid and the actual value of the sample is
+ less than zero, 'valueNegative(3)' will be returned. The
+ associated instance of usrHistoryAbsValue should be multiplied
+ by -1 to obtain the true sample value."
+ ::= { usrHistoryEntry 5 }
+
+-- The Probe Configuration Group
+--
+-- This group controls the configuration of various operating
+-- parameters of the probe.
+
+ControlString ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This data type is used to communicate with a modem or a
+ serial data switch. A ControlString contains embedded
+ commands to control how the device will interact with the
+ remote device through the serial interface. Commands are
+ represented as two character sequences beginning with
+ the `^' character.
+
+ The following commands are recognized by the device (note
+ that command characters are case sensitive):
+
+ ^s Send string that follows which is terminated by the
+ next command or the end of string.
+ ^c Delay for the number of seconds that follows. Toss
+ out any data received rather than storing it in a
+ buffer for parsing.
+ ^t Set timeout to the value represented by the decimal
+ digits that follow. The default timeout is 20
+ seconds. Note that this timeout may be overridden
+ by a smaller serialTimeout configured for the
+
+
+ associated serial interface (see serialConfigTable).
+ ^w Wait for the reply string that follows which is
+ terminated by the next command or the end of string.
+ Partial and case insensitive matching is applied, ie.
+ if the reply string (any case combination) is found
+ anywhere in the received string, then the a match is
+ found. If the current timeout elapses without a match,
+ then the remaining control string is ignored.
+ ^! The ^ character.
+ ^d Delay the number of seconds specified by the decimal
+ digits that follow.
+ ^b Send break for the number of milliseconds specified by
+ the decimal digits that follow. If no digits follow,
+ break will be enforced for 250 milliseconds by default.
+
+ The following ASCII control characters may be inserted into
+ the `^s' send string or the `^w' reply string:
+
+ ^@ 0x00
+ ^A 0x01
+ ..
+ ^M 0x0D
+ ..
+ ^Z 0x1A
+ ^[ 0x1B
+ ^ 0x1C
+ ^] 0x1D
+ ^^ 0x1E
+ ^_ 0x1F
+
+ Binary data may also be inserted into the data stream. The
+ control sequence for each byte of binary data is ^0x##, where
+ ## is the hexadecimal representation of the data byte. Two
+ ASCII characters (0-9, a-f, A-F) must follow the `^0x'
+ control prefix. For example, `^0x0D^0x0A' is interpreted as a
+ carriage return followed by a line feed."
+ SYNTAX DisplayString
+
+probeCapabilities OBJECT-TYPE
+ SYNTAX BITS {
+ etherStats(0),
+ historyControl(1),
+ etherHistory(2),
+ alarm(3),
+ hosts(4),
+ hostTopN(5),
+ matrix(6),
+ filter(7),
+
+
+ capture(8),
+ event(9),
+ tokenRingMLStats(10),
+ tokenRingPStats(11),
+ tokenRingMLHistory(12),
+ tokenRingPHistory(13),
+ ringStation(14),
+ ringStationOrder(15),
+ ringStationConfig(16),
+ sourceRouting(17),
+ protocolDirectory(18),
+ protocolDistribution(19),
+ addressMapping(20),
+ nlHost(21),
+ nlMatrix(22),
+ alHost(23),
+ alMatrix(24),
+ usrHistory(25),
+ probeConfig(26)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of the RMON MIB groups supported
+ on at least one interface by this probe."
+ ::= { probeConfig 1 }
+
+probeSoftwareRev OBJECT-TYPE
+ SYNTAX DisplayString (SIZE(0..15))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The software revision of this device. This string will have
+ a zero length if the revision is unknown."
+ ::= { probeConfig 2 }
+
+probeHardwareRev OBJECT-TYPE
+ SYNTAX DisplayString (SIZE(0..31))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The hardware revision of this device. This string will have
+ a zero length if the revision is unknown."
+ ::= { probeConfig 3 }
+
+probeDateTime OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0 | 8 | 11))
+ MAX-ACCESS read-write
+
+
+ STATUS current
+ DESCRIPTION
+ "Probe's current date and time.
+
+ field octets contents range
+ ----- ------ -------- -----
+ 1 1-2 year 0..65536
+ 2 3 month 1..12
+ 3 4 day 1..31
+ 4 5 hour 0..23
+ 5 6 minutes 0..59
+ 6 7 seconds 0..60
+ (use 60 for leap-second)
+ 7 8 deci-seconds 0..9
+ 8 9 direction from UTC '+' / '-'
+ 9 10 hours from UTC 0..11
+ 10 11 minutes from UTC 0..59
+
+ For example, Tuesday May 26, 1992 at 1:30:15 PM
+ EDT would be displayed as:
+
+ 1992-5-26,13:30:15.0,-4:0
+
+ Note that if only local time is known, then
+ timezone information (fields 8-10) is not
+ present, and if no time information is known, the null
+ string is returned."
+ ::= { probeConfig 4 }
+
+probeResetControl OBJECT-TYPE
+ SYNTAX INTEGER {
+ running(1),
+ warmBoot(2),
+ coldBoot(3)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Setting this object to warmBoot(2) causes the device to
+ restart the application software with current configuration
+ parameters saved in non-volatile memory. Setting this
+ object to coldBoot(3) causes the device to reinitialize
+ configuration parameters in non-volatile memory to default
+ values and restart the application software. When the device
+ is running normally, this variable has a value of
+ running(1)."
+ ::= { probeConfig 5 }
+
+
+
+-- The following download objects do not restrict an implementation
+-- from implementing additional download mechanisms (controlled in an
+-- implementation-specific manner). Further, in the case where the RMON
+-- agent shares a processor with other types of systems, the
+-- implementation is not required to download those non-RMON functions
+-- with this mechanism.
+
+probeDownloadFile OBJECT-TYPE
+ SYNTAX DisplayString (SIZE(0..127))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The file name to be downloaded from the TFTP server when a
+ download is next requested via this MIB. This value is set to
+ the zero length string when no file name has been specified."
+ ::= { probeConfig 6 }
+
+probeDownloadTFTPServer OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The IP address of the TFTP server that contains the boot
+ image to load when a download is next requested via this MIB.
+ This value is set to `0.0.0.0' when no IP address has been
+ specified."
+ ::= { probeConfig 7 }
+
+probeDownloadAction OBJECT-TYPE
+ SYNTAX INTEGER {
+ notDownloading(1),
+ downloadToPROM(2),
+ downloadToRAM(3)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "When this object is set to downloadToRAM(2) or
+ downloadToPROM(3), the device will discontinue its
+ normal operation and begin download of the image specified
+ by probeDownloadFile from the server specified by
+ probeDownloadTFTPServer using the TFTP protocol. If
+ downloadToRAM(2) is specified, the new image is copied
+ to RAM only (the old image remains unaltered in the flash
+ EPROM). If downloadToPROM(3) is specified
+ the new image is written to the flash EPROM
+ memory after its checksum has been verified to be correct.
+ When the download process is completed, the device will
+
+
+ warm boot to restart the newly loaded application.
+ When the device is not downloading, this object will have
+ a value of notDownloading(1)."
+ ::= { probeConfig 8 }
+
+probeDownloadStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ downloadSuccess(1),
+ downloadStatusUnknown(2),
+ downloadGeneralError(3),
+ downloadNoResponseFromServer(4),
+ downloadChecksumError(5),
+ downloadIncompatibleImage(6),
+ downloadTftpFileNotFound(7),
+ downloadTftpAccessViolation(8)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The status of the last download procedure, if any. This
+ object will have a value of downloadStatusUnknown(2) if no
+ download process has been performed."
+ ::= { probeConfig 9 }
+
+serialConfigTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SerialConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of serial interface configuration entries. This data
+ will be stored in non-volatile memory and preserved across
+ probe resets or power loss."
+ ::= { probeConfig 10 }
+
+serialConfigEntry OBJECT-TYPE
+ SYNTAX SerialConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of configuration parameters for a particular
+ serial interface on this device. If the device has no serial
+ interfaces, this table is empty.
+
+ The index is composed of the ifIndex assigned to this serial
+ line interface."
+ INDEX { ifIndex }
+ ::= { serialConfigTable 1 }
+
+
+
+SerialConfigEntry ::= SEQUENCE {
+ serialMode INTEGER,
+ serialProtocol INTEGER,
+ serialTimeout Integer32 (1..65535),
+ serialModemInitString ControlString (SIZE (0..255)),
+ serialModemHangUpString ControlString (SIZE (0..255)),
+ serialModemConnectResp DisplayString (SIZE (0..255)),
+ serialModemNoConnectResp DisplayString (SIZE (0..255)),
+ serialDialoutTimeout Integer32 (1..65535),
+ serialStatus RowStatus
+}
+
+serialMode OBJECT-TYPE
+ SYNTAX INTEGER {
+ direct(1),
+ modem(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of incoming connection to expect on this serial
+ interface."
+ DEFVAL { direct }
+ ::= { serialConfigEntry 1 }
+
+serialProtocol OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1),
+ slip(2),
+ ppp(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of data link encapsulation to be used on this
+ serial interface."
+ DEFVAL { slip }
+ ::= { serialConfigEntry 2 }
+
+serialTimeout OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This timeout value is used when the Management Station has
+ initiated the conversation over the serial link. This variable
+ represents the number of seconds of inactivity allowed before
+ terminating the connection on this serial interface. Use the
+
+
+ serialDialoutTimeout in the case where the probe has initiated
+ the connection for the purpose of sending a trap."
+ DEFVAL { 300 }
+ ::= { serialConfigEntry 3 }
+
+serialModemInitString OBJECT-TYPE
+ SYNTAX ControlString (SIZE (0..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control string which controls how a modem attached to this
+ serial interface should be initialized. The initialization
+ is performed once during startup and again after each
+ connection is terminated if the associated serialMode has the
+ value of modem(2).
+
+ A control string that is appropriate for a wide variety of
+ modems is: '^s^MATE0Q0V1X4 S0=1 S2=43^M'."
+ ::= { serialConfigEntry 4 }
+
+serialModemHangUpString OBJECT-TYPE
+ SYNTAX ControlString (SIZE (0..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control string which specifies how to disconnect a modem
+ connection on this serial interface. This object is only
+ meaningful if the associated serialMode has the value
+ of modem(2).
+ A control string that is appropriate for a wide variety of
+ modems is: '^d2^s+++^d2^sATH0^M^d2'."
+ ::= { serialConfigEntry 5 }
+
+serialModemConnectResp OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An ASCII string containing substrings that describe the
+ expected modem connection response code and associated bps
+ rate. The substrings are delimited by the first character
+ in the string, for example:
+ /CONNECT/300/CONNECT 1200/1200/CONNECT 2400/2400/
+ CONNECT 4800/4800/CONNECT 9600/9600
+ will be interpreted as:
+ response code bps rate
+ CONNECT 300
+ CONNECT 1200 1200
+
+
+ CONNECT 2400 2400
+ CONNECT 4800 4800
+ CONNECT 9600 9600
+ The agent will use the information in this string to adjust
+ the bps rate of this serial interface once a modem connection
+ is established.
+
+ A value that is appropriate for a wide variety of modems is:
+ '/CONNECT/300/CONNECT 1200/1200/CONNECT 2400/2400/
+ CONNECT 4800/4800/CONNECT 9600/9600/CONNECT 14400/14400/
+ CONNECT 19200/19200/CONNECT 38400/38400/'."
+ ::= { serialConfigEntry 6 }
+
+serialModemNoConnectResp OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An ASCII string containing response codes that may be
+ generated by a modem to report the reason why a connection
+ attempt has failed. The response codes are delimited by
+ the first character in the string, for example:
+ /NO CARRIER/BUSY/NO DIALTONE/NO ANSWER/ERROR/
+ If one of these response codes is received via this serial
+ interface while attempting to make a modem connection,
+ the agent will issue the hang up command as specified by
+ serialModemHangUpString.
+
+ A value that is appropriate for a wide variety of modems is:
+ '/NO CARRIER/BUSY/NO DIALTONE/NO ANSWER/ERROR/'."
+ ::= { serialConfigEntry 7 }
+
+serialDialoutTimeout OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This timeout value is used when the probe initiates the
+ serial connection with the intention of contacting a
+ management station. This variable represents the number
+ of seconds of inactivity allowed before terminating the
+ connection on this serial interface."
+ DEFVAL { 20 }
+ ::= { serialConfigEntry 8 }
+
+serialStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+
+
+ STATUS current
+ DESCRIPTION
+ "The status of this serialConfigEntry.
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value."
+ ::= { serialConfigEntry 9 }
+
+netConfigTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NetConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of netConfigEntries."
+ ::= { probeConfig 11 }
+
+netConfigEntry OBJECT-TYPE
+ SYNTAX NetConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of configuration parameters for a particular
+ network interface on this device. If the device has no network
+ interface, this table is empty.
+
+ The index is composed of the ifIndex assigned to the
+ corresponding interface."
+ INDEX { ifIndex }
+ ::= { netConfigTable 1 }
+
+NetConfigEntry ::= SEQUENCE {
+ netConfigIPAddress IpAddress,
+ netConfigSubnetMask IpAddress,
+ netConfigStatus RowStatus
+}
+
+netConfigIPAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The IP address of this Net interface. The default value
+ for this object is 0.0.0.0. If either the netConfigIPAddress
+ or netConfigSubnetMask are 0.0.0.0, then when the device
+ boots, it may use BOOTP to try to figure out what these
+ values should be. If BOOTP fails, before the device
+ can talk on the network, this value must be configured
+ (e.g., through a terminal attached to the device). If BOOTP is
+
+
+ used, care should be taken to not send BOOTP broadcasts too
+ frequently and to eventually send very infrequently if no
+ replies are received."
+ ::= { netConfigEntry 1 }
+
+netConfigSubnetMask OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The subnet mask of this Net interface. The default value
+ for this object is 0.0.0.0. If either the netConfigIPAddress
+ or netConfigSubnetMask are 0.0.0.0, then when the device
+ boots, it may use BOOTP to try to figure out what these
+ values should be. If BOOTP fails, before the device
+ can talk on the network, this value must be configured
+ (e.g., through a terminal attached to the device). If BOOTP is
+ used, care should be taken to not send BOOTP broadcasts too
+ frequently and to eventually send very infrequently if no
+ replies are received."
+ ::= { netConfigEntry 2 }
+
+netConfigStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this netConfigEntry.
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value."
+ ::= { netConfigEntry 3 }
+
+netDefaultGateway OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The IP Address of the default gateway. If this value is
+ undefined or unknown, it shall have the value 0.0.0.0."
+ ::= { probeConfig 12 }
+
+-- Trap Destination Table
+--
+-- This table defines the destination addresses for traps generated
+-- from the device. This table maps a community to one or more trap
+-- destination entries.
+--
+
+
+-- The same trap will be sent to all destinations specified in the
+-- entries that have the same trapDestCommunity as the eventCommunity
+-- (as defined by RMON MIB). Information in this table will be stored
+-- in non-volatile memory. If the device has gone through a hard
+-- restart, this information will be reset to its default state.
+
+trapDestTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TrapDestEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of trap destination entries."
+ ::= { probeConfig 13 }
+
+trapDestEntry OBJECT-TYPE
+ SYNTAX TrapDestEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This entry includes a destination IP address to which to send
+ traps for this community."
+ INDEX { trapDestIndex }
+ ::= { trapDestTable 1 }
+
+TrapDestEntry ::= SEQUENCE {
+ trapDestIndex Integer32,
+ trapDestCommunity OCTET STRING,
+ trapDestProtocol INTEGER,
+ trapDestAddress OCTET STRING,
+ trapDestOwner OwnerString,
+ trapDestStatus RowStatus
+}
+
+trapDestIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A value that uniquely identifies this trapDestEntry."
+ ::= { trapDestEntry 1 }
+
+trapDestCommunity OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..127))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A community to which this destination address belongs.
+ This entry is associated with any eventEntries in the RMON
+
+
+ MIB whose value of eventCommunity is equal to the value of
+ this object. Every time an associated event entry sends a
+ trap due to an event, that trap will be sent to each
+ address in the trapDestTable with a trapDestCommunity equal to
+ eventCommunity.
+
+ This object may not be modified if the associated
+ trapDestStatus object is equal to active(1)."
+ ::= { trapDestEntry 2 }
+
+trapDestProtocol OBJECT-TYPE
+ SYNTAX INTEGER {
+ ip(1),
+ ipx(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The protocol with which to send this trap."
+ ::= { trapDestEntry 3 }
+
+trapDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The address to send traps on behalf of this entry.
+
+ If the associated trapDestProtocol object is equal to ip(1),
+ the encoding of this object is the same as the snmpUDPAddress
+ textual convention in [RFC1906]:
+ -- for a SnmpUDPAddress of length 6:
+ --
+ -- octets contents encoding
+ -- 1-4 IP-address network-byte order
+ -- 5-6 UDP-port network-byte order
+
+ If the associated trapDestProtocol object is equal to ipx(2),
+ the encoding of this object is the same as the snmpIPXAddress
+ textual convention in [RFC1906]:
+ -- for a SnmpIPXAddress of length 12:
+ --
+ -- octets contents encoding
+ -- 1-4 network-number network-byte order
+ -- 5-10 physical-address network-byte order
+ -- 11-12 socket-number network-byte order
+
+ This object may not be modified if the associated
+
+
+ trapDestStatus object is equal to active(1)."
+ ::= { trapDestEntry 4 }
+
+trapDestOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { trapDestEntry 5 }
+
+trapDestStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this trap destination entry.
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value."
+ ::= { trapDestEntry 6 }
+
+-- Serial Connection Table
+--
+-- The device may communicate with a management station using
+-- SLIP. In order for the device to send traps via SLIP, it must
+-- be able to initiate a connection over the serial interface. The
+-- serialConnectionTable stores the parameters for such connection
+-- initiation.
+
+serialConnectionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SerialConnectionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of serialConnectionEntries."
+ ::= { probeConfig 14 }
+
+serialConnectionEntry OBJECT-TYPE
+ SYNTAX SerialConnectionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Configuration for a SLIP link over a serial line."
+ INDEX { serialConnectIndex }
+ ::= { serialConnectionTable 1 }
+
+
+
+SerialConnectionEntry ::= SEQUENCE {
+ serialConnectIndex Integer32,
+ serialConnectDestIpAddress IpAddress,
+ serialConnectType INTEGER,
+ serialConnectDialString ControlString,
+ serialConnectSwitchConnectSeq ControlString,
+ serialConnectSwitchDisconnectSeq ControlString,
+ serialConnectSwitchResetSeq ControlString,
+ serialConnectOwner OwnerString,
+ serialConnectStatus RowStatus
+}
+
+serialConnectIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A value that uniquely identifies this serialConnection
+ entry."
+ ::= { serialConnectionEntry 1 }
+
+serialConnectDestIpAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The IP Address that can be reached at the other end of this
+ serial connection.
+ This object may not be modified if the associated
+ serialConnectStatus object is equal to active(1)."
+ ::= { serialConnectionEntry 2 }
+
+
+serialConnectType OBJECT-TYPE
+ SYNTAX INTEGER {
+ direct(1),
+ modem(2),
+ switch(3),
+ modemSwitch(4)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of outgoing connection to make. If this object
+ has the value direct(1), then a direct serial connection
+ is assumed. If this object has the value modem(2),
+ then serialConnectDialString will be used to make a modem
+ connection. If this object has the value switch(3),
+
+
+ then serialConnectSwitchConnectSeq will be used to establish
+ the connection over a serial data switch, and
+ serialConnectSwitchDisconnectSeq will be used to terminate
+ the connection. If this object has the value
+ modem-switch(4), then a modem connection will be made first
+ followed by the switch connection.
+
+ This object may not be modified if the associated
+ serialConnectStatus object is equal to active(1)."
+
+ DEFVAL { direct }
+ ::= { serialConnectionEntry 3 }
+
+serialConnectDialString OBJECT-TYPE
+ SYNTAX ControlString (SIZE(0..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control string which specifies how to dial the phone
+ number in order to establish a modem connection. The
+ string should include dialing prefix and suffix. For
+ example: ``^s^MATD9,888-1234^M'' will instruct the Probe
+ to send a carriage return followed by the dialing prefix
+ ``ATD'', the phone number ``9,888-1234'', and a carriage
+ return as the dialing suffix.
+ This object may not be modified if the associated
+ serialConnectStatus object is equal to active(1)."
+ ::= { serialConnectionEntry 4 }
+
+serialConnectSwitchConnectSeq OBJECT-TYPE
+ SYNTAX ControlString (SIZE(0..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control string which specifies how to establish a
+ data switch connection.
+ This object may not be modified if the associated
+ serialConnectStatus object is equal to active(1)."
+ ::= { serialConnectionEntry 5 }
+
+serialConnectSwitchDisconnectSeq OBJECT-TYPE
+ SYNTAX ControlString (SIZE(0..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control string which specifies how to terminate a
+ data switch connection.
+ This object may not be modified if the associated
+
+
+ serialConnectStatus object is equal to active(1)."
+ ::= { serialConnectionEntry 6 }
+
+serialConnectSwitchResetSeq OBJECT-TYPE
+ SYNTAX ControlString (SIZE(0..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control string which specifies how to reset a data
+ switch in the event of a timeout.
+ This object may not be modified if the associated
+ serialConnectStatus object is equal to active(1)."
+ ::= { serialConnectionEntry 7 }
+
+serialConnectOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { serialConnectionEntry 8 }
+
+serialConnectStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this serialConnectionEntry.
+
+ If the manager attempts to set this object to active(1) when
+ the serialConnectType is set to modem(2) or modem-switch(4)
+ and the serialConnectDialString is a zero-length string or
+ cannot be correctly parsed as a ConnectString, the set
+ request will be rejected with badValue(3).
+
+ If the manager attempts to set this object to active(1) when
+ the serialConnectType is set to switch(3) or modem-switch(4)
+ and the serialConnectSwitchConnectSeq,
+ the serialConnectSwitchDisconnectSeq, or
+ the serialConnectSwitchResetSeq are zero-length strings
+ or cannot be correctly parsed as ConnectStrings, the set
+ request will be rejected with badValue(3).
+
+ An entry may not exist in the active state unless all
+ objects in the entry have an appropriate value."
+ ::= { serialConnectionEntry 9 }
+
+
+
+--
+-- Extensions to the RMON 1 MIB for RMON 2 devices
+--
+-- These extensions include the standard LastCreateTime Textual
+-- Convention for all control tables, as well as an augmentation of
+-- the filter entry that provides variable-length offsets into
+-- packets.
+
+
+-- Each of the following, except for filterDroppedFrames, is a
+-- read-only object which, if implemented, automatically appears when
+-- the RMON1 row it is associated with is created.
+
+etherStats2Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF EtherStats2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ ::= { statistics 4 }
+
+etherStats2Entry OBJECT-TYPE
+ SYNTAX EtherStats2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ AUGMENTS { etherStatsEntry }
+ ::= { etherStats2Table 1 }
+
+EtherStats2Entry ::= SEQUENCE {
+ etherStatsDroppedFrames Counter32,
+ etherStatsCreateTime LastCreateTime
+}
+
+etherStatsDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+
+
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { etherStats2Entry 1 }
+
+etherStatsCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this control entry was last
+ activated. This can be used by the management station to
+ ensure that the table has not been deleted and recreated
+ between polls."
+ ::= { etherStats2Entry 2 }
+
+historyControl2Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF HistoryControl2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ ::= { history 5 }
+
+historyControl2Entry OBJECT-TYPE
+ SYNTAX HistoryControl2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ AUGMENTS { historyControlEntry }
+ ::= { historyControl2Table 1 }
+
+HistoryControl2Entry ::= SEQUENCE {
+ historyControlDroppedFrames Counter32
+}
+
+historyControlDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+
+
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { historyControl2Entry 1 }
+
+hostControl2Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostControl2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ ::= { hosts 4 }
+
+hostControl2Entry OBJECT-TYPE
+ SYNTAX HostControl2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ AUGMENTS { hostControlEntry }
+ ::= { hostControl2Table 1 }
+
+HostControl2Entry ::= SEQUENCE {
+ hostControlDroppedFrames Counter32,
+ hostControlCreateTime LastCreateTime
+}
+
+hostControlDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+
+
+ ::= { hostControl2Entry 1 }
+
+hostControlCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this control entry was last
+ activated. This can be used by the management station to
+ ensure that the table has not been deleted and recreated
+ between polls."
+ ::= { hostControl2Entry 2 }
+
+matrixControl2Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixControl2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ ::= { matrix 4 }
+
+matrixControl2Entry OBJECT-TYPE
+ SYNTAX MatrixControl2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ AUGMENTS { matrixControlEntry }
+ ::= { matrixControl2Table 1 }
+
+MatrixControl2Entry ::= SEQUENCE {
+ matrixControlDroppedFrames Counter32,
+ matrixControlCreateTime LastCreateTime
+}
+
+matrixControlDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+
+
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { matrixControl2Entry 1 }
+
+matrixControlCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this control entry was last
+ activated. This can be used by the management station to
+ ensure that the table has not been deleted and recreated
+ between polls."
+ ::= { matrixControl2Entry 2 }
+
+channel2Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF Channel2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ ::= { filter 3 }
+
+channel2Entry OBJECT-TYPE
+ SYNTAX Channel2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ AUGMENTS { channelEntry }
+ ::= { channel2Table 1 }
+
+Channel2Entry ::= SEQUENCE {
+ channelDroppedFrames Counter32,
+ channelCreateTime LastCreateTime
+}
+
+channelDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+
+
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { channel2Entry 1 }
+
+channelCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this control entry was last
+ activated. This can be used by the management station to
+ ensure that the table has not been deleted and recreated
+ between polls."
+ ::= { channel2Entry 2 }
+
+tokenRingMLStats2Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF TokenRingMLStats2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ ::= { statistics 5 }
+
+tokenRingMLStats2Entry OBJECT-TYPE
+ SYNTAX TokenRingMLStats2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ AUGMENTS { tokenRingMLStatsEntry }
+ ::= { tokenRingMLStats2Table 1 }
+
+TokenRingMLStats2Entry ::= SEQUENCE {
+ tokenRingMLStatsDroppedFrames Counter32,
+ tokenRingMLStatsCreateTime LastCreateTime
+}
+
+tokenRingMLStatsDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+
+
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { tokenRingMLStats2Entry 1 }
+
+tokenRingMLStatsCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this control entry was last activated.
+ This can be used by the management station to ensure that the
+ table has not been deleted and recreated between polls."
+ ::= { tokenRingMLStats2Entry 2 }
+
+tokenRingPStats2Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF TokenRingPStats2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ ::= { statistics 6 }
+
+tokenRingPStats2Entry OBJECT-TYPE
+ SYNTAX TokenRingPStats2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ AUGMENTS { tokenRingPStatsEntry }
+ ::= { tokenRingPStats2Table 1 }
+
+TokenRingPStats2Entry ::= SEQUENCE {
+ tokenRingPStatsDroppedFrames Counter32,
+ tokenRingPStatsCreateTime LastCreateTime
+}
+
+tokenRingPStatsDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+
+
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { tokenRingPStats2Entry 1 }
+
+tokenRingPStatsCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this control entry was last activated.
+ This can be used by the management station to ensure that the
+ table has not been deleted and recreated between polls."
+ ::= { tokenRingPStats2Entry 2 }
+
+ringStationControl2Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF RingStationControl2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ ::= { tokenRing 7 }
+
+ringStationControl2Entry OBJECT-TYPE
+ SYNTAX RingStationControl2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ AUGMENTS { ringStationControlEntry }
+ ::= { ringStationControl2Table 1 }
+
+RingStationControl2Entry ::= SEQUENCE {
+ ringStationControlDroppedFrames Counter32,
+ ringStationControlCreateTime LastCreateTime
+}
+
+
+ringStationControlDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { ringStationControl2Entry 1 }
+
+ringStationControlCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this control entry was last activated.
+ This can be used by the management station to ensure that the
+ table has not been deleted and recreated between polls."
+ ::= { ringStationControl2Entry 2 }
+
+sourceRoutingStats2Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF SourceRoutingStats2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ ::= { tokenRing 8 }
+
+sourceRoutingStats2Entry OBJECT-TYPE
+ SYNTAX SourceRoutingStats2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains the RMON-2 augmentations to RMON-1."
+ AUGMENTS { sourceRoutingStatsEntry }
+ ::= { sourceRoutingStats2Table 1 }
+
+SourceRoutingStats2Entry ::= SEQUENCE {
+ sourceRoutingStatsDroppedFrames Counter32,
+
+
+ sourceRoutingStatsCreateTime LastCreateTime
+}
+
+sourceRoutingStatsDroppedFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of frames which were received by the probe
+ and therefore not accounted for in the *StatsDropEvents, but
+ for which the probe chose not to count for this entry for
+ whatever reason. Most often, this event occurs when the probe
+ is out of some resources and decides to shed load from this
+ collection.
+
+ This count does not include packets that were not counted
+ because they had MAC-layer errors.
+
+ Note that, unlike the dropEvents counter, this number is the
+ exact number of frames dropped."
+ ::= { sourceRoutingStats2Entry 1 }
+
+sourceRoutingStatsCreateTime OBJECT-TYPE
+ SYNTAX LastCreateTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this control entry was last activated.
+ This can be used by the management station to ensure that the
+ table has not been deleted and recreated between polls."
+ ::= { sourceRoutingStats2Entry 2 }
+
+filter2Table OBJECT-TYPE
+ SYNTAX SEQUENCE OF Filter2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Provides a variable-length packet filter feature to the
+ RMON-1 filter table."
+ ::= { filter 4 }
+
+filter2Entry OBJECT-TYPE
+ SYNTAX Filter2Entry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Provides a variable-length packet filter feature to the
+ RMON-1 filter table."
+
+
+ AUGMENTS { filterEntry }
+ ::= { filter2Table 1 }
+
+Filter2Entry ::= SEQUENCE {
+ filterProtocolDirDataLocalIndex Integer32,
+ filterProtocolDirLocalIndex Integer32
+}
+
+filterProtocolDirDataLocalIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "When this object is set to a non-zero value, the filter that
+ it is associated with performs the following operations on
+ every packet:
+
+ 1) - If the packet doesn't match the protocol directory entry
+ identified by this object, discard the packet and exit
+ (i.e., discard the packet if it is not of the identified
+ protocol).
+ 2) - If the associated filterProtocolDirLocalIndex is non-zero
+ and the packet doesn't match the protocol directory
+ entry identified by that object, discard the packet and
+ exit
+ 3) - If the packet matches, perform the regular filter
+ algorithm as if the beginning of this named protocol is
+ the beginning of the packet, potentially applying the
+ filterOffset value to move further into the packet."
+ DEFVAL { 0 }
+ ::= { filter2Entry 1 }
+
+filterProtocolDirLocalIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "When this object is set to a non-zero value, the filter that
+ it is associated with will discard the packet if the packet
+ doesn't match this protocol directory entry."
+ DEFVAL { 0 }
+ ::= { filter2Entry 2 }
+
+-- Conformance Macros
+
+rmon2MIBCompliances OBJECT IDENTIFIER ::= { rmonConformance 1 }
+rmon2MIBGroups OBJECT IDENTIFIER ::= { rmonConformance 2 }
+
+
+
+rmon2MIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "Describes the requirements for conformance to
+ the RMON2 MIB"
+ MODULE -- this module
+ MANDATORY-GROUPS { protocolDirectoryGroup,
+ protocolDistributionGroup,
+ addressMapGroup,
+ nlHostGroup,
+ nlMatrixGroup,
+ usrHistoryGroup,
+ probeInformationGroup }
+
+ GROUP rmon1EnhancementGroup
+ DESCRIPTION
+ "The rmon1EnhancementGroup is mandatory for systems which
+ implement RMON [RFC1757]"
+ ::= { rmon2MIBCompliances 1 }
+
+rmon2MIBApplicationLayerCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "Describes the requirements for conformance to
+ the RMON2 MIB with Application Layer Enhancements."
+ MODULE -- this module
+ MANDATORY-GROUPS { protocolDirectoryGroup,
+ protocolDistributionGroup,
+ addressMapGroup,
+ nlHostGroup,
+ nlMatrixGroup,
+ alHostGroup,
+ alMatrixGroup,
+ usrHistoryGroup,
+ probeInformationGroup }
+
+ GROUP rmon1EnhancementGroup
+ DESCRIPTION
+ "The rmon1EnhancementGroup is mandatory for systems which
+ implement RMON [RFC1757]"
+ ::= { rmon2MIBCompliances 2 }
+
+
+protocolDirectoryGroup OBJECT-GROUP
+ OBJECTS { protocolDirLastChange,
+ protocolDirLocalIndex, protocolDirDescr,
+ protocolDirType, protocolDirAddressMapConfig,
+ protocolDirHostConfig, protocolDirMatrixConfig,
+
+
+ protocolDirOwner, protocolDirStatus }
+ STATUS current
+ DESCRIPTION
+ "Lists the inventory of protocols the probe has the capability
+ of monitoring and allows the addition, deletion, and
+ configuration of entries in this list."
+ ::= { rmon2MIBGroups 1 }
+
+protocolDistributionGroup OBJECT-GROUP
+ OBJECTS { protocolDistControlDataSource,
+ protocolDistControlDroppedFrames,
+ protocolDistControlCreateTime,
+ protocolDistControlOwner, protocolDistControlStatus,
+ protocolDistStatsPkts, protocolDistStatsOctets }
+ STATUS current
+ DESCRIPTION
+ "Collects the relative amounts of octets and packets for the
+ different protocols detected on a network segment."
+ ::= { rmon2MIBGroups 2 }
+
+addressMapGroup OBJECT-GROUP
+ OBJECTS { addressMapInserts, addressMapDeletes,
+ addressMapMaxDesiredEntries,
+ addressMapControlDataSource,
+ addressMapControlDroppedFrames,
+ addressMapControlOwner, addressMapControlStatus,
+ addressMapPhysicalAddress,
+ addressMapLastChange }
+ STATUS current
+ DESCRIPTION
+ "Lists MAC address to network address bindings discovered by
+ the probe and what interface they were last seen on."
+ ::= { rmon2MIBGroups 3 }
+
+nlHostGroup OBJECT-GROUP
+ OBJECTS { hlHostControlDataSource,
+ hlHostControlNlDroppedFrames, hlHostControlNlInserts,
+ hlHostControlNlDeletes,
+ hlHostControlNlMaxDesiredEntries,
+ hlHostControlAlDroppedFrames, hlHostControlAlInserts,
+ hlHostControlAlDeletes,
+ hlHostControlAlMaxDesiredEntries, hlHostControlOwner,
+ hlHostControlStatus, nlHostInPkts, nlHostOutPkts,
+ nlHostInOctets, nlHostOutOctets,
+ nlHostOutMacNonUnicastPkts, nlHostCreateTime }
+ STATUS current
+ DESCRIPTION
+ "Counts the amount of traffic sent from and to each network
+
+
+ address discovered by the probe. Note that while the
+ hlHostControlTable also has objects that control an optional
+ alHostTable, implementation of the alHostTable is not required
+ to fully implement this group."
+ ::= { rmon2MIBGroups 4 }
+
+nlMatrixGroup OBJECT-GROUP
+ OBJECTS { hlMatrixControlDataSource,
+ hlMatrixControlNlDroppedFrames,
+ hlMatrixControlNlInserts, hlMatrixControlNlDeletes,
+ hlMatrixControlNlMaxDesiredEntries,
+ hlMatrixControlAlDroppedFrames,
+ hlMatrixControlAlInserts, hlMatrixControlAlDeletes,
+ hlMatrixControlAlMaxDesiredEntries,
+ hlMatrixControlOwner, hlMatrixControlStatus,
+ nlMatrixSDPkts, nlMatrixSDOctets, nlMatrixSDCreateTime,
+ nlMatrixDSPkts, nlMatrixDSOctets, nlMatrixDSCreateTime,
+ nlMatrixTopNControlMatrixIndex,
+ nlMatrixTopNControlRateBase,
+ nlMatrixTopNControlTimeRemaining,
+ nlMatrixTopNControlGeneratedReports,
+ nlMatrixTopNControlDuration,
+ nlMatrixTopNControlRequestedSize,
+ nlMatrixTopNControlGrantedSize,
+ nlMatrixTopNControlStartTime,
+ nlMatrixTopNControlOwner, nlMatrixTopNControlStatus,
+ nlMatrixTopNProtocolDirLocalIndex,
+ nlMatrixTopNSourceAddress, nlMatrixTopNDestAddress,
+ nlMatrixTopNPktRate, nlMatrixTopNReversePktRate,
+ nlMatrixTopNOctetRate, nlMatrixTopNReverseOctetRate }
+ STATUS current
+ DESCRIPTION
+ "Counts the amount of traffic sent between each pair of
+ network addresses discovered by the probe. Note that while the
+ hlMatrixControlTable also has objects that control optional
+ alMatrixTables, implementation of the alMatrixTables is not
+ required to fully implement this group."
+ ::= { rmon2MIBGroups 5 }
+
+alHostGroup OBJECT-GROUP
+ OBJECTS { alHostInPkts, alHostOutPkts,
+ alHostInOctets, alHostOutOctets, alHostCreateTime }
+ STATUS current
+ DESCRIPTION
+ "Counts the amount of traffic, by protocol, sent from and to
+ each network address discovered by the probe. Implementation
+ of this group requires implementation of the Network Layer
+ Host Group."
+
+
+ ::= { rmon2MIBGroups 6 }
+
+alMatrixGroup OBJECT-GROUP
+ OBJECTS { alMatrixSDPkts, alMatrixSDOctets, alMatrixSDCreateTime,
+ alMatrixDSPkts, alMatrixDSOctets, alMatrixDSCreateTime,
+ alMatrixTopNControlMatrixIndex,
+ alMatrixTopNControlRateBase,
+ alMatrixTopNControlTimeRemaining,
+ alMatrixTopNControlGeneratedReports,
+ alMatrixTopNControlDuration,
+ alMatrixTopNControlRequestedSize,
+ alMatrixTopNControlGrantedSize,
+ alMatrixTopNControlStartTime,
+ alMatrixTopNControlOwner, alMatrixTopNControlStatus,
+ alMatrixTopNProtocolDirLocalIndex,
+ alMatrixTopNSourceAddress, alMatrixTopNDestAddress,
+ alMatrixTopNAppProtocolDirLocalIndex,
+ alMatrixTopNPktRate, alMatrixTopNReversePktRate,
+ alMatrixTopNOctetRate, alMatrixTopNReverseOctetRate }
+ STATUS current
+ DESCRIPTION
+ "Counts the amount of traffic, by protocol, sent between each
+ pair of network addresses discovered by the
+ probe. Implementation of this group requires implementation of
+ the Network Layer Matrix Group."
+ ::= { rmon2MIBGroups 7 }
+
+usrHistoryGroup OBJECT-GROUP
+ OBJECTS { usrHistoryControlObjects,
+ usrHistoryControlBucketsRequested,
+ usrHistoryControlBucketsGranted,
+ usrHistoryControlInterval,
+ usrHistoryControlOwner, usrHistoryControlStatus,
+ usrHistoryObjectVariable, usrHistoryObjectSampleType,
+ usrHistoryIntervalStart, usrHistoryIntervalEnd,
+ usrHistoryAbsValue, usrHistoryValStatus }
+ STATUS current
+ DESCRIPTION
+ "The usrHistoryGroup provides user-defined collection of
+ historical information from MIB objects on the probe."
+ ::= { rmon2MIBGroups 8 }
+
+probeInformationGroup OBJECT-GROUP
+ OBJECTS { probeCapabilities,
+ probeSoftwareRev, probeHardwareRev, probeDateTime }
+ STATUS current
+ DESCRIPTION
+ "This group describes various operating parameters of the
+
+
+ probe as well as controlling the local time of the probe."
+ ::= { rmon2MIBGroups 9 }
+
+probeConfigurationGroup OBJECT-GROUP
+ OBJECTS { probeResetControl, probeDownloadFile,
+ probeDownloadTFTPServer, probeDownloadAction,
+ probeDownloadStatus,
+ serialMode, serialProtocol, serialTimeout,
+ serialModemInitString, serialModemHangUpString,
+ serialModemConnectResp, serialModemNoConnectResp,
+ serialDialoutTimeout, serialStatus,
+ netConfigIPAddress, netConfigSubnetMask,
+ netConfigStatus, netDefaultGateway,
+ trapDestCommunity, trapDestProtocol, trapDestAddress,
+ trapDestOwner, trapDestStatus,
+ serialConnectDestIpAddress, serialConnectType,
+ serialConnectDialString, serialConnectSwitchConnectSeq,
+ serialConnectSwitchDisconnectSeq,
+ serialConnectSwitchResetSeq,
+ serialConnectOwner, serialConnectStatus }
+ STATUS current
+ DESCRIPTION
+ "This group controls the configuration of various operating
+ parameters of the probe."
+ ::= { rmon2MIBGroups 10 }
+
+rmon1EnhancementGroup OBJECT-GROUP
+ OBJECTS { historyControlDroppedFrames, hostControlDroppedFrames,
+ hostControlCreateTime, matrixControlDroppedFrames,
+ matrixControlCreateTime, channelDroppedFrames,
+ channelCreateTime, filterProtocolDirDataLocalIndex,
+ filterProtocolDirLocalIndex }
+ STATUS current
+ DESCRIPTION
+ "This group adds some enhancements to RMON-1 that help
+ management stations."
+ ::= { rmon2MIBGroups 11 }
+
+rmon1EthernetEnhancementGroup OBJECT-GROUP
+ OBJECTS { etherStatsDroppedFrames, etherStatsCreateTime }
+ STATUS current
+ DESCRIPTION
+ "This group adds some enhancements to RMON-1 that help
+ management stations."
+ ::= { rmon2MIBGroups 12 }
+
+rmon1TokenRingEnhancementGroup OBJECT-GROUP
+ OBJECTS { tokenRingMLStatsDroppedFrames,
+
+
+ tokenRingMLStatsCreateTime,
+ tokenRingPStatsDroppedFrames, tokenRingPStatsCreateTime,
+ ringStationControlDroppedFrames,
+ ringStationControlCreateTime,
+ sourceRoutingStatsDroppedFrames,
+ sourceRoutingStatsCreateTime }
+ STATUS current
+ DESCRIPTION
+ "This group adds some enhancements to RMON-1 that help
+ management stations."
+ ::= { rmon2MIBGroups 13 }
+END
+
+
diff --git a/lib/snmp/test/test-mibs/SNMPv2-MIB.mib b/lib/snmp/test/test-mibs/SNMPv2-MIB.mib
new file mode 100644
index 0000000000..0c5418b9ce
--- /dev/null
+++ b/lib/snmp/test/test-mibs/SNMPv2-MIB.mib
@@ -0,0 +1,777 @@
+SNMPv2-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ TimeTicks, Counter32, snmpModules, mib-2
+ FROM SNMPv2-SMI
+ DisplayString, TestAndIncr, TimeStamp
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF;
+
+snmpMIB MODULE-IDENTITY
+ LAST-UPDATED "9511090000Z"
+ ORGANIZATION "IETF SNMPv2 Working Group"
+ CONTACT-INFO
+ " Marshall T. Rose
+
+ Postal: Dover Beach Consulting, Inc.
+ 420 Whisman Court
+ Mountain View, CA 94043-2186
+ US
+
+ Tel: +1 415 968 1052
+
+ DESCRIPTION
+ "The MIB module for SNMPv2 entities."
+ REVISION "9304010000Z"
+ DESCRIPTION
+ "The initial revision of this MIB module was published as
+ RFC 1450."
+ ::= { snmpModules 1 }
+
+
+snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }
+
+-- ::= { snmpMIBObjects 1 } this OID is obsolete
+-- ::= { snmpMIBObjects 2 } this OID is obsolete
+-- ::= { snmpMIBObjects 3 } this OID is obsolete
+
+
+-- the System group
+--
+-- a collection of objects common to all managed systems.
+
+system OBJECT IDENTIFIER ::= { mib-2 1 }
+
+sysDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the entity. This value should
+ include the full name and version identification of the
+ system's hardware type, software operating-system, and
+ networking software."
+ ::= { system 1 }
+
+sysObjectID OBJECT-TYPE
+
+
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The vendor's authoritative identification of the network
+ management subsystem contained in the entity. This value is
+ allocated within the SMI enterprises subtree (1.3.6.1.4.1)
+ and provides an easy and unambiguous means for determining
+ `what kind of box' is being managed. For example, if vendor
+ `Flintstones, Inc.' was assigned the subtree
+ 1.3.6.1.4.1.4242, it could assign the identifier
+ 1.3.6.1.4.1.4242.1.1 to its `Fred Router'."
+ ::= { system 2 }
+
+sysUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in hundredths of a second) since the network
+ management portion of the system was last re-initialized."
+ ::= { system 3 }
+
+sysContact OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The textual identification of the contact person for this
+ managed node, together with information on how to contact
+ this person. If no contact information is known, the value
+ is the zero-length string."
+ ::= { system 4 }
+
+sysName OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An administratively-assigned name for this managed node.
+ By convention, this is the node's fully-qualified domain
+ name. If the name is unknown, the value is the zero-length
+ string."
+ ::= { system 5 }
+
+sysLocation OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The physical location of this node (e.g., `telephone
+ closet, 3rd floor'). If the location is unknown, the value
+ is the zero-length string."
+ ::= { system 6 }
+
+sysServices OBJECT-TYPE
+ SYNTAX INTEGER (0..127)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A value which indicates the set of services that this
+ entity may potentially offers. The value is a sum. This
+ sum initially takes the value zero, Then, for each layer, L,
+ in the range 1 through 7, that this node performs
+ transactions for, 2 raised to (L - 1) is added to the sum.
+ For example, a node which performs only routing functions
+ would have a value of 4 (2^(3-1)). In contrast, a node
+ which is a host offering application services would have a
+ value of 72 (2^(4-1) + 2^(7-1)). Note that in the context
+ of the Internet suite of protocols, values should be
+ calculated accordingly:
+
+ layer functionality
+ 1 physical (e.g., repeaters)
+ 2 datalink/subnetwork (e.g., bridges)
+ 3 internet (e.g., supports the IP)
+ 4 end-to-end (e.g., supports the TCP)
+ 7 applications (e.g., supports the SMTP)
+
+ For systems including OSI protocols, layers 5 and 6 may also
+ be counted."
+ ::= { system 7 }
+
+
+-- object resource information
+--
+-- a collection of objects which describe the SNMPv2 entity's
+-- (statically and dynamically configurable) support of
+-- various MIB modules.
+
+sysORLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the most recent
+ change in state or value of any instance of sysORID."
+ ::= { system 8 }
+
+sysORTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SysOREntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table listing the capabilities of the
+ local SNMPv2 entity acting in an agent role with respect to
+ various MIB modules. SNMPv2 entities having dynamically-
+ configurable support of MIB modules will have a
+ dynamically-varying number of conceptual rows."
+ ::= { system 9 }
+
+sysOREntry OBJECT-TYPE
+ SYNTAX SysOREntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry (conceptual row) in the sysORTable."
+ INDEX { sysORIndex }
+ ::= { sysORTable 1 }
+
+SysOREntry ::= SEQUENCE {
+ sysORIndex INTEGER,
+ sysORID OBJECT IDENTIFIER,
+ sysORDescr DisplayString,
+ sysORUpTime TimeStamp
+}
+
+sysORIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The auxiliary variable used for identifying instances of
+ the columnar objects in the sysORTable."
+ ::= { sysOREntry 1 }
+
+sysORID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An authoritative identification of a capabilities statement
+ with respect to various MIB modules supported by the local
+ SNMPv2 entity acting in an agent role."
+
+ ::= { sysOREntry 2 }
+
+sysORDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the capabilities identified by the
+ corresponding instance of sysORID."
+ ::= { sysOREntry 3 }
+
+sysORUpTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this conceptual row was
+ last instanciated."
+ ::= { sysOREntry 4 }
+
+
+-- the SNMP group
+--
+-- a collection of objects providing basic instrumentation and
+-- control of an SNMP entity.
+
+snmp OBJECT IDENTIFIER ::= { mib-2 11 }
+
+snmpInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages delivered to the SNMP entity
+ from the transport service."
+ ::= { snmp 1 }
+
+snmpInBadVersions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of SNMP messages which were delivered to
+ the SNMP entity and were for an unsupported SNMP version."
+ ::= { snmp 3 }
+
+snmpInBadCommunityNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of SNMP messages delivered to the SNMP
+ entity which used a SNMP community name not known to said
+ entity."
+ ::= { snmp 4 }
+
+snmpInBadCommunityUses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of SNMP messages delivered to the SNMP
+ entity which represented an SNMP operation which was not
+ allowed by the SNMP community named in the message."
+ ::= { snmp 5 }
+
+snmpInASNParseErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ASN.1 or BER errors encountered by the
+ SNMP entity when decoding received SNMP messages."
+ ::= { snmp 6 }
+
+snmpEnableAuthenTraps OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates whether the SNMP entity is permitted to generate
+ authenticationFailure traps. The value of this object
+ overrides any configuration information; as such, it
+ provides a means whereby all authenticationFailure traps may
+ be disabled.
+
+ Note that it is strongly recommended that this object be
+ stored in non-volatile memory so that it remains constant
+ across re-initializations of the network management system."
+ ::= { snmp 30 }
+
+snmpSilentDrops OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of GetRequest-PDUs, GetNextRequest-PDUs,
+ GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs
+ delivered to the SNMP entity which were silently dropped
+ because the size of a reply containing an alternate
+ Response-PDU with an empty variable-bindings field was
+ greater than either a local constraint or the maximum
+ message size associated with the originator of the request."
+ ::= { snmp 31 }
+
+snmpProxyDrops OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of GetRequest-PDUs, GetNextRequest-PDUs,
+ GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs
+ delivered to the SNMP entity which were silently dropped
+ because the transmission of the (possibly translated)
+ message to a proxy target failed in a manner (other than a
+ time-out) such that no Response-PDU could be returned."
+ ::= { snmp 32 }
+
+
+-- information for notifications
+--
+-- a collection of objects which allow the SNMPv2 entity, when
+-- acting in an agent role, to be configured to generate
+-- SNMPv2-Trap-PDUs.
+
+snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }
+
+
+snmpTrapOID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The authoritative identification of the notification
+ currently being sent. This variable occurs as the second
+ varbind in every SNMPv2-Trap-PDU and InformRequest-PDU."
+ ::= { snmpTrap 1 }
+
+-- ::= { snmpTrap 2 } this OID is obsolete
+
+snmpTrapEnterprise OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The authoritative identification of the enterprise
+ associated with the trap currently being sent. When a
+ SNMPv2 proxy agent is mapping an RFC1157 Trap-PDU into a
+ SNMPv2-Trap-PDU, this variable occurs as the last varbind."
+ ::= { snmpTrap 3 }
+
+-- ::= { snmpTrap 4 } this OID is obsolete
+
+
+-- well-known traps
+
+snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }
+
+coldStart NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "A coldStart trap signifies that the SNMPv2 entity, acting
+ in an agent role, is reinitializing itself and that its
+ configuration may have been altered."
+ ::= { snmpTraps 1 }
+
+tst OBJECT IDENTIFIER ::= { system 0 }
+
+testTrapv22 NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "This trap is exactly the v2 correspondance of testTrap2 in
+ TestTrap mib."
+ ::= { system 0 1 }
+
+
+warmStart NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "A warmStart trap signifies that the SNMPv2 entity, acting
+ in an agent role, is reinitializing itself such that its
+ configuration is unaltered."
+ ::= { snmpTraps 2 }
+
+-- Note the linkDown NOTIFICATION-TYPE ::= { snmpTraps 3 }
+-- and the linkUp NOTIFICATION-TYPE ::= { snmpTraps 4 }
+-- are defined in RFC 1573
+
+authenticationFailure NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "An authenticationFailure trap signifies that the SNMPv2
+ entity, acting in an agent role, has received a protocol
+ message that is not properly authenticated. While all
+ implementations of the SNMPv2 must be capable of generating
+ this trap, the snmpEnableAuthenTraps object indicates
+ whether this trap will be generated."
+ ::= { snmpTraps 5 }
+
+-- Note the egpNeighborLoss NOTIFICATION-TYPE ::= { snmpTraps 6 }
+-- is defined in RFC 1213
+-- the set group
+--
+-- a collection of objects which allow several cooperating
+-- SNMPv2 entities, all acting in a manager role, to
+-- coordinate their use of the SNMPv2 set operation.
+
+snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 }
+
+
+snmpSetSerialNo OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An advisory lock used to allow several cooperating SNMPv2
+ entities, all acting in a manager role, to coordinate their
+ use of the SNMPv2 set operation.
+
+ This object is used for coarse-grain coordination. To
+ achieve fine-grain coordination, one or more similar objects
+ might be defined within each MIB group, as appropriate."
+ ::= { snmpSet 1 }
+
+
+-- conformance information
+
+snmpMIBConformance
+ OBJECT IDENTIFIER ::= { snmpMIB 2 }
+
+snmpMIBCompliances
+ OBJECT IDENTIFIER ::= { snmpMIBConformance 1 }
+snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 }
+
+
+-- compliance statements
+
+-- ::= { snmpMIBCompliances 1 } this OID is obsolete
+
+snmpBasicCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement the SNMPv2 MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
+ snmpBasicNotificationsGroup }
+
+ GROUP snmpCommunityGroup
+ DESCRIPTION
+ "This group is mandatory for SNMPv2 entities which
+ support community-based authentication."
+
+ ::= { snmpMIBCompliances 2 }
+
+
+-- units of conformance
+
+-- ::= { snmpMIBGroups 1 } this OID is obsolete
+-- ::= { snmpMIBGroups 2 } this OID is obsolete
+-- ::= { snmpMIBGroups 3 } this OID is obsolete
+-- ::= { snmpMIBGroups 4 } this OID is obsolete
+
+snmpGroup OBJECT-GROUP
+ OBJECTS { snmpInPkts,
+ snmpInBadVersions,
+ snmpInASNParseErrs,
+ snmpSilentDrops,
+ snmpProxyDrops,
+ snmpEnableAuthenTraps }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation and
+ control of an SNMPv2 entity."
+ ::= { snmpMIBGroups 8 }
+
+snmpCommunityGroup OBJECT-GROUP
+ OBJECTS { snmpInBadCommunityNames,
+ snmpInBadCommunityUses }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation of
+ a SNMPv2 entity which supports community-based
+ authentication."
+ ::= { snmpMIBGroups 9 }
+
+snmpSetGroup OBJECT-GROUP
+ OBJECTS { snmpSetSerialNo }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects which allow several cooperating
+ SNMPv2 entities, all acting in a manager role, to coordinate
+ their use of the SNMPv2 set operation."
+ ::= { snmpMIBGroups 5 }
+
+systemGroup OBJECT-GROUP
+ OBJECTS { sysDescr, sysObjectID, sysUpTime,
+ sysContact, sysName, sysLocation,
+ sysServices,
+ sysORLastChange, sysORID,
+ sysORUpTime, sysORDescr }
+ STATUS current
+ DESCRIPTION
+ "The system group defines objects which are common to all
+ managed systems."
+ ::= { snmpMIBGroups 6 }
+
+snmpBasicNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { coldStart, authenticationFailure }
+ STATUS current
+ DESCRIPTION
+ "The two notifications which an SNMPv2 entity is required to
+ implement."
+ ::= { snmpMIBGroups 7 }
+
+
+-- definitions in RFC 1213 made obsolete by the inclusion of a
+-- subset of the snmp group in this MIB
+
+snmpOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ passed from the SNMP protocol entity to the
+ transport service."
+ ::= { snmp 2 }
+
+-- { snmp 7 } is not used
+
+snmpInTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `tooBig'."
+ ::= { snmp 8 }
+
+snmpInNoSuchNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `noSuchName'."
+ ::= { snmp 9 }
+
+snmpInBadValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `badValue'."
+ ::= { snmp 10 }
+
+snmpInReadOnlys OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number valid SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `readOnly'. It should be noted that it is a
+ protocol error to generate an SNMP PDU which
+ contains the value `readOnly' in the error-status
+ field, as such this object is provided as a means
+ of detecting incorrect implementations of the
+ SNMP."
+ ::= { snmp 11 }
+
+snmpInGenErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `genErr'."
+ ::= { snmp 12 }
+
+snmpInTotalReqVars OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ retrieved successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Get-Request
+ and Get-Next PDUs."
+ ::= { snmp 13 }
+
+snmpInTotalSetVars OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ altered successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Set-Request
+ PDUs."
+ ::= { snmp 14 }
+
+snmpInGetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 15 }
+
+snmpInGetNexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 16 }
+
+snmpInSetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 17 }
+
+snmpInGetResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 18 }
+
+snmpInTraps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 19 }
+
+snmpOutTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `tooBig.'"
+ ::= { snmp 20 }
+
+snmpOutNoSuchNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status is
+ `noSuchName'."
+ ::= { snmp 21 }
+
+snmpOutBadValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `badValue'."
+ ::= { snmp 22 }
+
+
+-- { snmp 23 } is not used
+
+snmpOutGenErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `genErr'."
+ ::= { snmp 24 }
+
+snmpOutGetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 25 }
+
+snmpOutGetNexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 26 }
+
+snmpOutSetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 27 }
+
+snmpOutGetResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 28 }
+
+snmpOutTraps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 29 }
+
+snmpObsoleteGroup OBJECT-GROUP
+ OBJECTS { snmpOutPkts, snmpInTooBigs, snmpInNoSuchNames,
+ snmpInBadValues, snmpInReadOnlys, snmpInGenErrs,
+ snmpInTotalReqVars, snmpInTotalSetVars,
+ snmpInGetRequests, snmpInGetNexts, snmpInSetRequests,
+ snmpInGetResponses, snmpInTraps, snmpOutTooBigs,
+ snmpOutNoSuchNames, snmpOutBadValues, snmpOutGenErrs,
+ snmpOutGetRequests, snmpOutGetNexts, snmpOutSetRequests,
+ snmpOutGetResponses, snmpOutTraps }
+ STATUS obsolete
+ DESCRIPTION
+ "A collection of objects from RFC 1213 made obsolete by this
+ MIB."
+ ::= { snmpMIBGroups 10 }
+
+END
diff --git a/lib/snmp/test/test-mibs/SNMPv2-TC.mib b/lib/snmp/test/test-mibs/SNMPv2-TC.mib
new file mode 100644
index 0000000000..fd6a728ab5
--- /dev/null
+++ b/lib/snmp/test/test-mibs/SNMPv2-TC.mib
@@ -0,0 +1,799 @@
+SNMPv2-TC DEFINITIONS ::= BEGIN
+
+snmpMIB MODULE-IDENTITY
+ LAST-UPDATED "9511090000Z"
+ ORGANIZATION "ES"
+ CONTACT-INFO
+ "eklas@erlang"
+ DESCRIPTION
+ "The MIB module for SNMPv2 entities."
+ ::= { snmpModules 1 }
+
+
+DisplayString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS current
+ DESCRIPTION
+ "Represents textual information taken from the NVT ASCII
+ character set, as defined in pages 4, 10-11 of RFC 854.
+
+ To summarize RFC 854, the NVT ASCII repertoire specifies:
+
+ - the use of character codes 0-127 (decimal)
+
+ - the graphics characters (32-126) are interpreted as
+ US ASCII
+
+ - NUL, LF, CR, BEL, BS, HT, VT and FF have the special
+ meanings specified in RFC 854
+
+ - the other 25 codes have no standard interpretation
+
+ - the sequence 'CR LF' means newline
+
+ - the sequence 'CR NUL' means carriage-return
+
+ - an 'LF' not preceded by a 'CR' means moving to the
+ same column on the next line.
+
+ - the sequence 'CR x' for any x other than LF or NUL is
+ illegal. (Note that this also means that a string may
+ end with either 'CR LF' or 'CR NUL', but not with CR.)
+
+ Any object defined using this syntax may not exceed 255
+ characters in length."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+
+PhysAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1x:"
+ STATUS current
+ DESCRIPTION
+ "Represents media- or physical-level addresses."
+ SYNTAX OCTET STRING
+
+
+MacAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1x:"
+ STATUS current
+ DESCRIPTION
+ "Represents an 802 MAC address represented in the
+ `canonical' order defined by IEEE 802.1a, i.e., as if it
+ were transmitted least significant bit first, even though
+ 802.5 (in contrast to other 802.x protocols) requires MAC
+ addresses to be transmitted most significant bit first."
+ SYNTAX OCTET STRING (SIZE (6))
+
+
+TruthValue ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents a boolean value."
+ SYNTAX INTEGER { true(1), false(2) }
+
+TestAndIncr ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents integer-valued information used for atomic
+ operations. When the management protocol is used to specify
+ that an object instance having this syntax is to be
+ modified, the new value supplied via the management protocol
+ must precisely match the value presently held by the
+ instance. If not, the management protocol set operation
+ fails with an error of `inconsistentValue'. Otherwise, if
+ the current value is the maximum value of 2^31-1 (2147483647
+ decimal), then the value held by the instance is wrapped to
+ zero; otherwise, the value held by the instance is
+ incremented by one. (Note that regardless of whether the
+ management protocol set operation succeeds, the variable-
+ binding in the request and response PDUs are identical.)
+
+ The value of the ACCESS clause for objects having this
+ syntax is either `read-write' or `read-create'. When an
+ instance of a columnar object having this syntax is created,
+ any value may be supplied via the management protocol.
+
+ When the network management portion of the system is re-
+ initialized, the value of every object instance having this
+ syntax must either be incremented from its value prior to
+ the re-initialization, or (if the value prior to the re-
+ initialization is unknown) be set to a pseudo-randomly
+ generated value."
+ SYNTAX INTEGER (0..2147483647)
+
+
+AutonomousType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents an independently extensible type identification
+ value. It may, for example, indicate a particular sub-tree
+ with further MIB definitions, or define a particular type of
+ protocol or hardware."
+ SYNTAX OBJECT IDENTIFIER
+
+
+InstancePointer ::= TEXTUAL-CONVENTION
+ STATUS obsolete
+ DESCRIPTION
+ "A pointer to either a specific instance of a MIB object or
+ a conceptual row of a MIB table in the managed device. In
+ the latter case, by convention, it is the name of the
+ particular instance of the first accessible columnar object
+ in the conceptual row.
+
+ The two uses of this textual convention are replaced by
+ VariablePointer and RowPointer, respectively."
+ SYNTAX OBJECT IDENTIFIER
+
+
+VariablePointer ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A pointer to a specific object instance. For example,
+ sysContact.0 or ifInOctets.3."
+ SYNTAX OBJECT IDENTIFIER
+
+
+RowPointer ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents a pointer to a conceptual row. The value is the
+ name of the instance of the first accessible columnar object
+ in the conceptual row.
+
+ For example, ifIndex.3 would point to the 3rd row in the
+ ifTable (note that if ifIndex were not-accessible, then
+ ifDescr.3 would be used instead)."
+ SYNTAX OBJECT IDENTIFIER
+
+
+RowStatus ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The RowStatus textual convention is used to manage the
+
+
+
+
+ creation and deletion of conceptual rows, and is used as the
+ value of the SYNTAX clause for the status column of a
+ conceptual row (as described in Section 7.7.1 of [2].)
+
+ The status column has six defined values:
+
+ - `active', which indicates that the conceptual row is
+ available for use by the managed device;
+
+ - `notInService', which indicates that the conceptual
+ row exists in the agent, but is unavailable for use by
+ the managed device (see NOTE below);
+
+ - `notReady', which indicates that the conceptual row
+ exists in the agent, but is missing information
+ necessary in order to be available for use by the
+ managed device;
+
+ - `createAndGo', which is supplied by a management
+ station wishing to create a new instance of a
+ conceptual row and to have its status automatically set
+ to active, making it available for use by the managed
+ device;
+
+ - `createAndWait', which is supplied by a management
+ station wishing to create a new instance of a
+ conceptual row (but not make it available for use by
+ the managed device); and,
+
+ - `destroy', which is supplied by a management station
+ wishing to delete all of the instances associated with
+ an existing conceptual row.
+
+ Whereas five of the six values (all except `notReady') may
+ be specified in a management protocol set operation, only
+ three values will be returned in response to a management
+ protocol retrieval operation: `notReady', `notInService' or
+ `active'. That is, when queried, an existing conceptual row
+ has only three states: it is either available for use by
+ the managed device (the status column has value `active');
+ it is not available for use by the managed device, though
+ the agent has sufficient information to make it so (the
+ status column has value `notInService'); or, it is not
+ available for use by the managed device, and an attempt to
+ make it so would fail because the agent has insufficient
+ information (the state column has value `notReady').
+
+
+
+
+
+
+ NOTE WELL
+
+ This textual convention may be used for a MIB table,
+ irrespective of whether the values of that table's
+ conceptual rows are able to be modified while it is
+ active, or whether its conceptual rows must be taken
+ out of service in order to be modified. That is, it is
+ the responsibility of the DESCRIPTION clause of the
+ status column to specify whether the status column must
+ not be `active' in order for the value of some other
+ column of the same conceptual row to be modified. If
+ such a specification is made, affected columns may be
+ changed by an SNMP set PDU if the RowStatus would not
+ be equal to `active' either immediately before or after
+ processing the PDU. In other words, if the PDU also
+ contained a varbind that would change the RowStatus
+ value, the column in question may be changed if the
+ RowStatus was not equal to `active' as the PDU was
+ received, or if the varbind sets the status to a value
+ other than 'active'.
+
+
+ Also note that whenever any elements of a row exist, the
+ RowStatus column must also exist.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ To summarize the effect of having a conceptual row with a
+ status column having a SYNTAX clause value of RowStatus,
+ consider the following state diagram:
+
+
+ STATE
+ +--------------+-----------+-------------+-------------
+ | A | B | C | D
+ | |status col.|status column|
+ |status column | is | is |status column
+ ACTION |does not exist| notReady | notInService| is active
+--------------+--------------+-----------+-------------+-------------
+set status |noError ->D|inconsist- |inconsistent-|inconsistent-
+column to | or | entValue| Value| Value
+createAndGo |inconsistent- | | |
+ | Value| | |
+--------------+--------------+-----------+-------------+-------------
+set status |noError see 1|inconsist- |inconsistent-|inconsistent-
+column to | or | entValue| Value| Value
+createAndWait |wrongValue | | |
+--------------+--------------+-----------+-------------+-------------
+set status |inconsistent- |inconsist- |noError |noError
+column to | Value| entValue| |
+active | | | |
+ | | or | |
+ | | | |
+ | |see 2 ->D| ->D| ->D
+--------------+--------------+-----------+-------------+-------------
+set status |inconsistent- |inconsist- |noError |noError ->C
+column to | Value| entValue| |
+notInService | | | |
+ | | or | | or
+ | | | |
+ | |see 3 ->C| ->C|wrongValue
+--------------+--------------+-----------+-------------+-------------
+set status |noError |noError |noError |noError
+column to | | | |
+destroy | ->A| ->A| ->A| ->A
+--------------+--------------+-----------+-------------+-------------
+set any other |see 4 |noError |noError |see 5
+column to some| | | |
+value | | see 1| ->C| ->D
+--------------+--------------+-----------+-------------+-------------
+
+ (1) goto B or C, depending on information available to the
+ agent.
+
+
+
+
+
+
+ (2) if other variable bindings included in the same PDU,
+ provide values for all columns which are missing but
+ required, then return noError and goto D.
+
+ (3) if other variable bindings included in the same PDU,
+ provide values for all columns which are missing but
+ required, then return noError and goto C.
+
+ (4) at the discretion of the agent, the return value may be
+ either:
+
+ inconsistentName: because the agent does not choose to
+ create such an instance when the corresponding
+ RowStatus instance does not exist, or
+
+ inconsistentValue: if the supplied value is
+ inconsistent with the state of some other MIB object's
+ value, or
+
+ noError: because the agent chooses to create the
+ instance.
+
+ If noError is returned, then the instance of the status
+ column must also be created, and the new state is B or C,
+ depending on the information available to the agent. If
+ inconsistentName or inconsistentValue is returned, the row
+ remains in state A.
+
+ (5) depending on the MIB definition for the column/table,
+ either noError or inconsistentValue may be returned.
+
+ NOTE: Other processing of the set request may result in a
+ response other than noError being returned, e.g.,
+ wrongValue, noCreation, etc.
+
+
+ Conceptual Row Creation
+
+ There are four potential interactions when creating a
+ conceptual row: selecting an instance-identifier which is
+ not in use; creating the conceptual row; initializing any
+ objects for which the agent does not supply a default; and,
+ making the conceptual row available for use by the managed
+ device.
+
+
+
+
+
+
+
+
+ Interaction 1: Selecting an Instance-Identifier
+
+ The algorithm used to select an instance-identifier varies
+ for each conceptual row. In some cases, the instance-
+ identifier is semantically significant, e.g., the
+ destination address of a route, and a management station
+ selects the instance-identifier according to the semantics.
+
+ In other cases, the instance-identifier is used solely to
+ distinguish conceptual rows, and a management station
+ without specific knowledge of the conceptual row might
+ examine the instances present in order to determine an
+ unused instance-identifier. (This approach may be used, but
+ it is often highly sub-optimal; however, it is also a
+ questionable practice for a naive management station to
+ attempt conceptual row creation.)
+
+ Alternately, the MIB module which defines the conceptual row
+ might provide one or more objects which provide assistance
+ in determining an unused instance-identifier. For example,
+ if the conceptual row is indexed by an integer-value, then
+ an object having an integer-valued SYNTAX clause might be
+ defined for such a purpose, allowing a management station to
+ issue a management protocol retrieval operation. In order
+ to avoid unnecessary collisions between competing management
+ stations, `adjacent' retrievals of this object should be
+ different.
+
+ Finally, the management station could select a pseudo-random
+ number to use as the index. In the event that this index
+ was already in use and an inconsistentValue was returned in
+ response to the management protocol set operation, the
+ management station should simply select a new pseudo-random
+ number and retry the operation.
+
+ A MIB designer should choose between the two latter
+ algorithms based on the size of the table (and therefore the
+ efficiency of each algorithm). For tables in which a large
+ number of entries are expected, it is recommended that a MIB
+ object be defined that returns an acceptable index for
+ creation. For tables with small numbers of entries, it is
+ recommended that the latter pseudo-random index mechanism be
+ used.
+
+
+
+
+
+
+
+
+
+ Interaction 2: Creating the Conceptual Row
+
+ Once an unused instance-identifier has been selected, the
+ management station determines if it wishes to create and
+ activate the conceptual row in one transaction or in a
+ negotiated set of interactions.
+
+ Interaction 2a: Creating and Activating the Conceptual Row
+
+ The management station must first determine the column
+ requirements, i.e., it must determine those columns for
+ which it must or must not provide values. Depending on the
+ complexity of the table and the management station's
+ knowledge of the agent's capabilities, this determination
+ can be made locally by the management station. Alternately,
+ the management station issues a management protocol get
+ operation to examine all columns in the conceptual row that
+ it wishes to create. In response, for each column, there
+ are three possible outcomes:
+
+ - a value is returned, indicating that some other
+ management station has already created this conceptual
+ row. We return to interaction 1.
+
+ - the exception `noSuchInstance' is returned,
+ indicating that the agent implements the object-type
+ associated with this column, and that this column in at
+ least one conceptual row would be accessible in the MIB
+ view used by the retrieval were it to exist. For those
+ columns to which the agent provides read-create access,
+ the `noSuchInstance' exception tells the management
+ station that it should supply a value for this column
+ when the conceptual row is to be created.
+
+ - the exception `noSuchObject' is returned, indicating
+ that the agent does not implement the object-type
+ associated with this column or that there is no
+ conceptual row for which this column would be
+ accessible in the MIB view used by the retrieval. As
+ such, the management station can not issue any
+ management protocol set operations to create an
+ instance of this column.
+
+ Once the column requirements have been determined, a
+ management protocol set operation is accordingly issued.
+ This operation also sets the new instance of the status
+ column to `createAndGo'.
+
+
+
+
+
+ When the agent processes the set operation, it verifies that
+ it has sufficient information to make the conceptual row
+ available for use by the managed device. The information
+ available to the agent is provided by two sources: the
+ management protocol set operation which creates the
+ conceptual row, and, implementation-specific defaults
+ supplied by the agent (note that an agent must provide
+ implementation-specific defaults for at least those objects
+ which it implements as read-only). If there is sufficient
+ information available, then the conceptual row is created, a
+ `noError' response is returned, the status column is set to
+ `active', and no further interactions are necessary (i.e.,
+ interactions 3 and 4 are skipped). If there is insufficient
+ information, then the conceptual row is not created, and the
+ set operation fails with an error of `inconsistentValue'.
+ On this error, the management station can issue a management
+ protocol retrieval operation to determine if this was
+ because it failed to specify a value for a required column,
+ or, because the selected instance of the status column
+ already existed. In the latter case, we return to
+ interaction 1. In the former case, the management station
+ can re-issue the set operation with the additional
+ information, or begin interaction 2 again using
+ `createAndWait' in order to negotiate creation of the
+ conceptual row.
+
+ NOTE WELL
+
+ Regardless of the method used to determine the column
+ requirements, it is possible that the management
+ station might deem a column necessary when, in fact,
+ the agent will not allow that particular columnar
+ instance to be created or written. In this case, the
+ management protocol set operation will fail with an
+ error such as `noCreation' or `notWritable'. In this
+ case, the management station decides whether it needs
+ to be able to set a value for that particular columnar
+ instance. If not, the management station re-issues the
+ management protocol set operation, but without setting
+ a value for that particular columnar instance;
+ otherwise, the management station aborts the row
+ creation algorithm.
+
+ Interaction 2b: Negotiating the Creation of the Conceptual
+ Row
+
+ The management station issues a management protocol set
+ operation which sets the desired instance of the status
+
+
+
+
+ column to `createAndWait'. If the agent is unwilling to
+ process a request of this sort, the set operation fails with
+ an error of `wrongValue'. (As a consequence, such an agent
+ must be prepared to accept a single management protocol set
+ operation, i.e., interaction 2a above, containing all of the
+ columns indicated by its column requirements.) Otherwise,
+ the conceptual row is created, a `noError' response is
+ returned, and the status column is immediately set to either
+ `notInService' or `notReady', depending on whether it has
+ sufficient information to make the conceptual row available
+ for use by the managed device. If there is sufficient
+ information available, then the status column is set to
+ `notInService'; otherwise, if there is insufficient
+ information, then the status column is set to `notReady'.
+ Regardless, we proceed to interaction 3.
+
+ Interaction 3: Initializing non-defaulted Objects
+
+ The management station must now determine the column
+ requirements. It issues a management protocol get operation
+ to examine all columns in the created conceptual row. In
+ the response, for each column, there are three possible
+ outcomes:
+
+ - a value is returned, indicating that the agent
+ implements the object-type associated with this column
+ and had sufficient information to provide a value. For
+ those columns to which the agent provides read-create
+ access (and for which the agent allows their values to
+ be changed after their creation), a value return tells
+ the management station that it may issue additional
+ management protocol set operations, if it desires, in
+ order to change the value associated with this column.
+
+ - the exception `noSuchInstance' is returned,
+ indicating that the agent implements the object-type
+ associated with this column, and that this column in at
+ least one conceptual row would be accessible in the MIB
+ view used by the retrieval were it to exist. However,
+ the agent does not have sufficient information to
+ provide a value, and until a value is provided, the
+ conceptual row may not be made available for use by the
+ managed device. For those columns to which the agent
+ provides read-create access, the `noSuchInstance'
+ exception tells the management station that it must
+ issue additional management protocol set operations, in
+ order to provide a value associated with this column.
+
+
+
+
+
+ - the exception `noSuchObject' is returned, indicating
+ that the agent does not implement the object-type
+ associated with this column or that there is no
+ conceptual row for which this column would be
+ accessible in the MIB view used by the retrieval. As
+ such, the management station can not issue any
+ management protocol set operations to create an
+ instance of this column.
+
+ If the value associated with the status column is
+ `notReady', then the management station must first deal with
+ all `noSuchInstance' columns, if any. Having done so, the
+ value of the status column becomes `notInService', and we
+ proceed to interaction 4.
+
+ Interaction 4: Making the Conceptual Row Available
+
+ Once the management station is satisfied with the values
+ associated with the columns of the conceptual row, it issues
+ a management protocol set operation to set the status column
+ to `active'. If the agent has sufficient information to
+ make the conceptual row available for use by the managed
+ device, the management protocol set operation succeeds (a
+ `noError' response is returned). Otherwise, the management
+ protocol set operation fails with an error of
+ `inconsistentValue'.
+
+
+ NOTE WELL
+
+ A conceptual row having a status column with value
+ `notInService' or `notReady' is unavailable to the
+ managed device. As such, it is possible for the
+ managed device to create its own instances during the
+ time between the management protocol set operation
+ which sets the status column to `createAndWait' and the
+ management protocol set operation which sets the status
+ column to `active'. In this case, when the management
+ protocol set operation is issued to set the status
+ column to `active', the values held in the agent
+ supersede those used by the managed device.
+
+ If the management station is prevented from setting the
+ status column to `active' (e.g., due to management station
+ or network failure) the conceptual row will be left in the
+ `notInService' or `notReady' state, consuming resources
+ indefinitely. The agent must detect conceptual rows that
+ have been in either state for an abnormally long period of
+
+
+
+
+ time and remove them. It is the responsibility of the
+ DESCRIPTION clause of the status column to indicate what an
+ abnormally long period of time would be. This period of
+ time should be long enough to allow for human response time
+ (including `think time') between the creation of the
+ conceptual row and the setting of the status to `active'.
+ In the absense of such information in the DESCRIPTION
+ clause, it is suggested that this period be approximately 5
+ minutes in length. This removal action applies not only to
+ newly-created rows, but also to previously active rows which
+ are set to, and left in, the notInService state for a
+ prolonged period exceeding that which is considered normal
+ for such a conceptual row.
+
+
+ Conceptual Row Suspension
+
+ When a conceptual row is `active', the management station
+ may issue a management protocol set operation which sets the
+ instance of the status column to `notInService'. If the
+ agent is unwilling to do so, the set operation fails with an
+ error of `wrongValue'. Otherwise, the conceptual row is
+ taken out of service, and a `noError' response is returned.
+ It is the responsibility of the DESCRIPTION clause of the
+ status column to indicate under what circumstances the
+ status column should be taken out of service (e.g., in order
+ for the value of some other column of the same conceptual
+ row to be modified).
+
+
+ Conceptual Row Deletion
+
+ For deletion of conceptual rows, a management protocol set
+ operation is issued which sets the instance of the status
+ column to `destroy'. This request may be made regardless of
+ the current value of the status column (e.g., it is possible
+ to delete conceptual rows which are either `notReady',
+ `notInService' or `active'.) If the operation succeeds,
+ then all instances associated with the conceptual row are
+ immediately removed."
+
+
+ SYNTAX INTEGER {
+ -- the following two values are states:
+ -- these values may be read or written
+ active(1),
+ notInService(2),
+
+
+
+
+
+ -- the following value is a state:
+ -- this value may be read, but not written
+ notReady(3),
+
+ -- the following three values are
+ -- actions: these values may be written,
+ -- but are never read
+ createAndGo(4),
+ createAndWait(5),
+ destroy(6)
+ }
+
+
+TimeStamp ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The value of the sysUpTime object at which a specific
+ occurrence happened. The specific occurrence must be
+ defined in the description of any object defined using this
+ type."
+ SYNTAX TimeTicks
+
+
+TimeInterval ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A period of time, measured in units of 0.01 seconds."
+ SYNTAX INTEGER (0..2147483647)
+
+
+DateAndTime ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
+ STATUS current
+ DESCRIPTION
+ "A date-time specification.
+
+ field octets contents range
+ ----- ------ -------- -----
+ 1 1-2 year 0..65536
+ 2 3 month 1..12
+ 3 4 day 1..31
+ 4 5 hour 0..23
+ 5 6 minutes 0..59
+ 6 7 seconds 0..60
+ (use 60 for leap-second)
+ 7 8 deci-seconds 0..9
+ 8 9 direction from UTC '+' / '-'
+ 9 10 hours from UTC 0..11
+
+
+
+
+ 10 11 minutes from UTC 0..59
+
+ For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be
+ displayed as:
+
+ 1992-5-26,13:30:15.0,-4:0
+
+ Note that if only local time is known, then timezone
+ information (fields 8-10) is not present."
+ SYNTAX OCTET STRING (SIZE (8 | 11))
+
+
+StorageType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Describes the memory realization of a conceptual row. A
+ row which is volatile(2) is lost upon reboot. A row which
+ is either nonVolatile(3), permanent(4) or readOnly(5), is
+ backed up by stable storage. A row which is permanent(4)
+ can be changed but not deleted. A row which is readOnly(5)
+ cannot be changed nor deleted.
+
+ If the value of an object with this syntax is either
+ permanent(4) or readOnly(5), it cannot be modified.
+ Conversely, if the value is either other(1), volatile(2) or
+ nonVolatile(3), it cannot be modified to be permanent(4) or
+ readOnly(5).
+
+ Every usage of this textual convention is required to
+ specify the columnar objects which a permanent(4) row must
+ at a minimum allow to be writable."
+ SYNTAX INTEGER {
+ other(1), -- eh?
+ volatile(2), -- e.g., in RAM
+ nonVolatile(3), -- e.g., in NVRAM
+ permanent(4), -- e.g., partially in ROM
+ readOnly(5) -- e.g., completely in ROM
+ }
+
+
+TDomain ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a kind of transport service.
+
+ Some possible values, such as snmpUDPDomain, are defined in
+ 'Transport Mappings for Version 2 of the Simple Network
+ Management Protocol (SNMPv2)'."
+
+
+
+
+ SYNTAX OBJECT IDENTIFIER
+
+
+TAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a transport service address.
+
+ For snmpUDPDomain, a TAddress is 6 octets long, the initial 4
+ octets containing the IP-address in network-byte order and the
+ last 2 containing the UDP port in network-byte order. Consult
+ 'Transport Mappings for Version 2 of the Simple Network
+ Management Protocol (SNMPv2)' for further information on
+ snmpUDPDomain."
+ SYNTAX OCTET STRING (SIZE (1..255))
+
+
+END
diff --git a/lib/snmp/test/test-mibs/SNMPv2-USEC-MIB.mib b/lib/snmp/test/test-mibs/SNMPv2-USEC-MIB.mib
new file mode 100644
index 0000000000..c6dd7750c2
--- /dev/null
+++ b/lib/snmp/test/test-mibs/SNMPv2-USEC-MIB.mib
@@ -0,0 +1,251 @@
+SNMPv2-USEC-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Counter32, Unsigned32,
+ snmpModules
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF;
+
+
+usecMIB MODULE-IDENTITY
+ LAST-UPDATED "9601120000Z"
+ ORGANIZATION "IETF SNMPv2 Working Group"
+ CONTACT-INFO
+ " Glenn W. Waters
+
+ Postal: Bell-Northern Research, Ltd.
+ P.O. Box 3511, Station C
+ Ottawa, ON, K1Y 4H7
+ Canada
+
+ Tel: +1 613 763 3933
+
+ DESCRIPTION
+ "The MIB module for SNMPv2 entities implementing the user-
+ based security model."
+ ::= { snmpModules 6 }
+
+
+usecMIBObjects OBJECT IDENTIFIER ::= { usecMIB 1 }
+
+
+-- Textual Conventions
+
+AgentID ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "An agent's administratively-unique identifier.
+
+ The value for this object may not be all zeros or all 'ff'H.
+
+ The initial value for this object may be configured via an
+ operator console entry or via an algorithmic function. In
+ the later case, the following guidelines are recommended:
+
+ 1) The first four octets are set to the binary equivalent
+ of the agent's SNMP network management private
+ enterprise number as assigned by the Internet Assigned
+ Numbers Authority (IANA). For example, if Acme
+ Networks has been assigned { enterprises 696 }, the
+ first four octets would be assigned '000002b8'H.
+
+ 2) The remaining eight octets are the cookie whose
+ contents are determined via one or more enterprise-
+ specific methods. Such methods must be designed so as
+ to maximize the possibility that the value of this
+ object will be unique in the agent's administrative
+ domain. For example, the cookie may be the IP address
+ of the agent, or the MAC address of one of the
+ interfaces, with each address suitably padded with
+ random octets. If multiple methods are defined, then
+ it is recommended that the cookie be further divided
+ into one octet that indicates the method being used and
+ seven octets which are a function of the method."
+ SYNTAX OCTET STRING (SIZE (12))
+
+
+-- the USEC Basic group
+--
+-- a collection of objects providing basic instrumentation of
+-- the SNMPv2 entity implementing the user-based security model
+
+
+usecAgent OBJECT IDENTIFIER ::= { usecMIBObjects 1 }
+
+agentID OBJECT-TYPE
+ SYNTAX AgentID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The agent's administratively-unique identifier."
+ ::= { usecAgent 1 }
+
+agentBoots OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that the agent has re-initialized
+ itself since its initial configuration."
+ ::= { usecAgent 2 }
+
+agentTime OBJECT-TYPE
+ SYNTAX Unsigned32 (0..2147483647)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of seconds since the agent last incremented the
+ agentBoots object."
+ ::= { usecAgent 3 }
+
+agentSize OBJECT-TYPE
+ SYNTAX INTEGER (484..65507)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum length in octets of an SNMPv2 message which
+ this agent will accept using any transport mapping."
+ ::= { usecAgent 4 }
+
+
+-- USEC statistics
+--
+-- a collection of objects providing basic instrumentation of
+-- the SNMPv2 entity implementing the user-based security model
+
+usecStats OBJECT IDENTIFIER ::= { usecMIBObjects 2 }
+
+
+usecStatsUnsupportedQoS OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMPv2 entity
+ which were dropped because they requested a quality-of-
+ service that was unknown to the agent or otherwise
+ unavailable."
+ ::= { usecStats 1 }
+
+usecStatsNotInWindows OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMPv2 entity
+ which were dropped because they appeared outside of the
+ agent's window."
+ ::= { usecStats 2 }
+
+
+usecStatsUnknownUserNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMPv2 entity
+ which were dropped because they referenced a user that was
+ not known to the agent."
+ ::= { usecStats 3 }
+
+usecStatsWrongDigestValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMPv2 entity
+ which were dropped because they didn't contain the expected
+ digest value."
+ ::= { usecStats 4 }
+
+usecStatsUnknownContexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMPv2 entity
+ which were dropped because they referenced a context that
+ was not known to the agent."
+ ::= { usecStats 5 }
+
+usecStatsBadParameters OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMPv2 entity
+ which were dropped because the <parameters> field was
+ improperly encoded or had invalid syntax."
+ ::= { usecStats 6 }
+
+usecStatsUnauthorizedOperations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMPv2 entity
+ which were dropped because the PDU type referred to an
+ operation that is invalid or not authorized."
+
+ ::= { usecStats 7 }
+
+
+-- conformance information
+
+usecMIBConformance
+ OBJECT IDENTIFIER ::= { usecMIB 2 }
+
+usecMIBCompliances
+ OBJECT IDENTIFIER ::= { usecMIBConformance 1 }
+usecMIBGroups OBJECT IDENTIFIER ::= { usecMIBConformance 2 }
+
+
+-- compliance statements
+
+usecMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement the SNMPv2 USEC model."
+ MODULE -- this module
+ MANDATORY-GROUPS { usecBasicGroup,
+ usecStatsGroup }
+ ::= { usecMIBCompliances 1 }
+
+
+-- units of conformance
+
+usecBasicGroup OBJECT-GROUP
+ OBJECTS { agentID,
+ agentBoots,
+ agentTime,
+ agentSize }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing identification, clocks,
+ and capabilities of an SNMPv2 entity which implements the
+ SNMPv2 USEC model."
+ ::= { usecMIBGroups 1 }
+
+usecStatsGroup OBJECT-GROUP
+ OBJECTS { usecStatsUnsupportedQoS,
+ usecStatsNotInWindows,
+ usecStatsUnknownUserNames,
+ usecStatsWrongDigestValues,
+ usecStatsUnknownContexts,
+ usecStatsBadParameters,
+ usecStatsUnauthorizedOperations }
+
+
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic error statistics of
+ an SNMPv2 entity which implements the SNMPv2 USEC model."
+ ::= { usecMIBGroups 2 }
+
+END
diff --git a/lib/snmp/test/test-mibs/SNMPv2-test.mib b/lib/snmp/test/test-mibs/SNMPv2-test.mib
new file mode 100644
index 0000000000..b02be09138
--- /dev/null
+++ b/lib/snmp/test/test-mibs/SNMPv2-test.mib
@@ -0,0 +1,777 @@
+SNMPv2-test DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ TimeTicks, Counter32, snmpModules, mib-2
+ FROM SNMPv2-SMI
+ DisplayString, TestAndIncr, TimeStamp
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF;
+
+snmpMIB MODULE-IDENTITY
+ LAST-UPDATED "9511090000Z"
+ ORGANIZATION "IETF SNMPv2 Working Group"
+ CONTACT-INFO
+ " Marshall T. Rose
+
+ Postal: Dover Beach Consulting, Inc.
+ 420 Whisman Court
+ Mountain View, CA 94043-2186
+ US
+
+ Tel: +1 415 968 1052
+
+ DESCRIPTION
+ "The MIB module for SNMPv2 entities."
+ REVISION "9304010000Z"
+ DESCRIPTION
+ "The initial revision of this MIB module was published as
+ RFC 1450."
+ ::= { snmpModules 1 }
+
+
+snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }
+
+-- ::= { snmpMIBObjects 1 } this OID is obsolete
+-- ::= { snmpMIBObjects 2 } this OID is obsolete
+-- ::= { snmpMIBObjects 3 } this OID is obsolete
+
+
+-- the System group
+--
+-- a collection of objects common to all managed systems.
+
+system OBJECT IDENTIFIER ::= { mib-2 1 }
+
+sysDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the entity. This value should
+ include the full name and version identification of the
+ system's hardware type, software operating-system, and
+ networking software."
+ ::= { system 1 }
+
+sysObjectID OBJECT-TYPE
+
+
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The vendor's authoritative identification of the network
+ management subsystem contained in the entity. This value is
+ allocated within the SMI enterprises subtree (1.3.6.1.4.1)
+ and provides an easy and unambiguous means for determining
+ `what kind of box' is being managed. For example, if vendor
+ `Flintstones, Inc.' was assigned the subtree
+ 1.3.6.1.4.1.4242, it could assign the identifier
+ 1.3.6.1.4.1.4242.1.1 to its `Fred Router'."
+ ::= { system 2 }
+
+sysUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in hundredths of a second) since the network
+ management portion of the system was last re-initialized."
+ ::= { system 3 }
+
+sysContact OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The textual identification of the contact person for this
+ managed node, together with information on how to contact
+ this person. If no contact information is known, the value
+ is the zero-length string."
+ ::= { system 4 }
+
+sysName OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An administratively-assigned name for this managed node.
+ By convention, this is the node's fully-qualified domain
+ name. If the name is unknown, the value is the zero-length
+ string."
+ ::= { system 5 }
+
+sysLocation OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The physical location of this node (e.g., `telephone
+ closet, 3rd floor'). If the location is unknown, the value
+ is the zero-length string."
+ ::= { system 6 }
+
+sysServices OBJECT-TYPE
+ SYNTAX INTEGER (0..127)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A value which indicates the set of services that this
+ entity may potentially offers. The value is a sum. This
+ sum initially takes the value zero, Then, for each layer, L,
+ in the range 1 through 7, that this node performs
+ transactions for, 2 raised to (L - 1) is added to the sum.
+ For example, a node which performs only routing functions
+ would have a value of 4 (2^(3-1)). In contrast, a node
+ which is a host offering application services would have a
+ value of 72 (2^(4-1) + 2^(7-1)). Note that in the context
+ of the Internet suite of protocols, values should be
+ calculated accordingly:
+
+ layer functionality
+ 1 physical (e.g., repeaters)
+ 2 datalink/subnetwork (e.g., bridges)
+ 3 internet (e.g., supports the IP)
+ 4 end-to-end (e.g., supports the TCP)
+ 7 applications (e.g., supports the SMTP)
+
+ For systems including OSI protocols, layers 5 and 6 may also
+ be counted."
+ ::= { system 7 }
+
+
+-- object resource information
+--
+-- a collection of objects which describe the SNMPv2 entity's
+-- (statically and dynamically configurable) support of
+-- various MIB modules.
+
+sysORLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the most recent
+ change in state or value of any instance of sysORID."
+ ::= { system 8 }
+
+sysQ OBJECT-TYPE
+ SYNTAX BITS {q(0), a(1), b(2), c(3)}
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The auxiliar the SYNTAX."
+ DEFVAL { { a, b } }
+ ::= { system 11 }
+
+
+sysORTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SysOREntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table listing the capabilities of the
+ local SNMPv2 entity acting in an agent role with respect to
+ various MIB modules. SNMPv2 entities having dynamically-
+ configurable support of MIB modules will have a
+ dynamically-varying number of conceptual rows."
+ ::= { system 9 }
+
+sysOREntry OBJECT-TYPE
+ SYNTAX SysOREntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry (conceptual row) in the sysORTable."
+ INDEX { sysORIndex }
+ ::= { sysORTable 1 }
+
+SysOREntry ::= SEQUENCE {
+ sysORIndex INTEGER,
+ sysORID OBJECT IDENTIFIER,
+ sysORDescr DisplayString,
+ sysORUpTime TimeStamp
+}
+
+sysORIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The auxiliary variable used for identifying instances of
+ the columnar objects in the sysORTable."
+ ::= { sysOREntry 1 }
+
+sysORID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An authoritative identification of a capabilities statement
+ with respect to various MIB modules supported by the local
+ SNMPv2 entity acting in an agent role."
+
+ ::= { sysOREntry 2 }
+
+sysORDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the capabilities identified by the
+ corresponding instance of sysORID."
+ ::= { sysOREntry 3 }
+
+sysORUpTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this conceptual row was
+ last instanciated."
+ ::= { sysOREntry 4 }
+
+
+-- the SNMP group
+--
+-- a collection of objects providing basic instrumentation and
+-- control of an SNMP entity.
+
+snmp OBJECT IDENTIFIER ::= { mib-2 11 }
+
+snmpInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages delivered to the SNMP entity
+ from the transport service."
+ ::= { snmp 1 }
+
+snmpInBadVersions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of SNMP messages which were delivered to
+ the SNMP entity and were for an unsupported SNMP version."
+ ::= { snmp 3 }
+
+snmpInBadCommunityNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of SNMP messages delivered to the SNMP
+ entity which used a SNMP community name not known to said
+ entity."
+ ::= { snmp 4 }
+
+snmpInBadCommunityUses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of SNMP messages delivered to the SNMP
+ entity which represented an SNMP operation which was not
+ allowed by the SNMP community named in the message."
+ ::= { snmp 5 }
+
+snmpInASNParseErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ASN.1 or BER errors encountered by the
+ SNMP entity when decoding received SNMP messages."
+ ::= { snmp 6 }
+
+snmpEnableAuthenTraps OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates whether the SNMP entity is permitted to generate
+ authenticationFailure traps. The value of this object
+ overrides any configuration information; as such, it
+ provides a means whereby all authenticationFailure traps may
+ be disabled.
+
+ Note that it is strongly recommended that this object be
+ stored in non-volatile memory so that it remains constant
+ across re-initializations of the network management system."
+ ::= { snmp 30 }
+
+snmpSilentDrops OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of GetRequest-PDUs, GetNextRequest-PDUs,
+ GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs
+ delivered to the SNMP entity which were silently dropped
+ because the size of a reply containing an alternate
+ Response-PDU with an empty variable-bindings field was
+ greater than either a local constraint or the maximum
+ message size associated with the originator of the request."
+ ::= { snmp 31 }
+
+snmpProxyDrops OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of GetRequest-PDUs, GetNextRequest-PDUs,
+ GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs
+ delivered to the SNMP entity which were silently dropped
+ because the transmission of the (possibly translated)
+ message to a proxy target failed in a manner (other than a
+ time-out) such that no Response-PDU could be returned."
+ ::= { snmp 32 }
+
+
+-- information for notifications
+--
+-- a collection of objects which allow the SNMPv2 entity, when
+-- acting in an agent role, to be configured to generate
+-- SNMPv2-Trap-PDUs.
+
+snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }
+
+
+snmpTrapOID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The authoritative identification of the notification
+ currently being sent. This variable occurs as the second
+ varbind in every SNMPv2-Trap-PDU and InformRequest-PDU."
+ ::= { snmpTrap 1 }
+
+-- ::= { snmpTrap 2 } this OID is obsolete
+
+snmpTrapEnterprise OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The authoritative identification of the enterprise
+ associated with the trap currently being sent. When a
+ SNMPv2 proxy agent is mapping an RFC1157 Trap-PDU into a
+ SNMPv2-Trap-PDU, this variable occurs as the last varbind."
+ ::= { snmpTrap 3 }
+
+-- ::= { snmpTrap 4 } this OID is obsolete
+
+
+-- well-known traps
+
+snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }
+
+coldStart NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "A coldStart trap signifies that the SNMPv2 entity, acting
+ in an agent role, is reinitializing itself and that its
+ configuration may have been altered."
+ ::= { snmpTraps 1 }
+
+warmStart NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "A warmStart trap signifies that the SNMPv2 entity, acting
+ in an agent role, is reinitializing itself such that its
+ configuration is unaltered."
+ ::= { snmpTraps 2 }
+
+-- Note the linkDown NOTIFICATION-TYPE ::= { snmpTraps 3 }
+-- and the linkUp NOTIFICATION-TYPE ::= { snmpTraps 4 }
+-- are defined in RFC 1573
+
+authenticationFailure NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "An authenticationFailure trap signifies that the SNMPv2
+ entity, acting in an agent role, has received a protocol
+ message that is not properly authenticated. While all
+ implementations of the SNMPv2 must be capable of generating
+ this trap, the snmpEnableAuthenTraps object indicates
+ whether this trap will be generated."
+ ::= { snmpTraps 5 }
+
+-- Note the egpNeighborLoss NOTIFICATION-TYPE ::= { snmpTraps 6 }
+-- is defined in RFC 1213
+-- the set group
+--
+-- a collection of objects which allow several cooperating
+-- SNMPv2 entities, all acting in a manager role, to
+-- coordinate their use of the SNMPv2 set operation.
+
+snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 }
+
+
+snmpSetSerialNo OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An advisory lock used to allow several cooperating SNMPv2
+ entities, all acting in a manager role, to coordinate their
+ use of the SNMPv2 set operation.
+
+ This object is used for coarse-grain coordination. To
+ achieve fine-grain coordination, one or more similar objects
+ might be defined within each MIB group, as appropriate."
+ ::= { snmpSet 1 }
+
+
+-- conformance information
+
+snmpMIBConformance
+ OBJECT IDENTIFIER ::= { snmpMIB 2 }
+
+snmpMIBCompliances
+ OBJECT IDENTIFIER ::= { snmpMIBConformance 1 }
+snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 }
+
+
+-- compliance statements
+
+-- ::= { snmpMIBCompliances 1 } this OID is obsolete
+
+snmpBasicCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement the SNMPv2 MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
+ snmpBasicNotificationsGroup }
+
+ GROUP snmpCommunityGroup
+ DESCRIPTION
+ "This group is mandatory for SNMPv2 entities which
+ support community-based authentication."
+
+ ::= { snmpMIBCompliances 2 }
+
+
+-- units of conformance
+
+-- ::= { snmpMIBGroups 1 } this OID is obsolete
+-- ::= { snmpMIBGroups 2 } this OID is obsolete
+-- ::= { snmpMIBGroups 3 } this OID is obsolete
+-- ::= { snmpMIBGroups 4 } this OID is obsolete
+
+snmpGroup OBJECT-GROUP
+ OBJECTS { snmpInPkts,
+ snmpInBadVersions,
+ snmpInASNParseErrs,
+ snmpSilentDrops,
+ snmpProxyDrops,
+ snmpEnableAuthenTraps }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation and
+ control of an SNMPv2 entity."
+ ::= { snmpMIBGroups 8 }
+
+snmpCommunityGroup OBJECT-GROUP
+ OBJECTS { snmpInBadCommunityNames,
+ snmpInBadCommunityUses }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation of
+ a SNMPv2 entity which supports community-based
+ authentication."
+ ::= { snmpMIBGroups 9 }
+
+snmpSetGroup OBJECT-GROUP
+ OBJECTS { snmpSetSerialNo }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects which allow several cooperating
+ SNMPv2 entities, all acting in a manager role, to coordinate
+ their use of the SNMPv2 set operation."
+ ::= { snmpMIBGroups 5 }
+
+systemGroup OBJECT-GROUP
+ OBJECTS { sysDescr, sysObjectID, sysUpTime,
+ sysContact, sysName, sysLocation,
+ sysServices,
+ sysORLastChange, sysORID,
+ sysORUpTime, sysORDescr }
+ STATUS current
+ DESCRIPTION
+ "The system group defines objects which are common to all
+ managed systems."
+ ::= { snmpMIBGroups 6 }
+
+snmpBasicNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { coldStart, authenticationFailure }
+ STATUS current
+ DESCRIPTION
+ "The two notifications which an SNMPv2 entity is required to
+ implement."
+ ::= { snmpMIBGroups 7 }
+
+
+-- definitions in RFC 1213 made obsolete by the inclusion of a
+-- subset of the snmp group in this MIB
+
+snmpOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ passed from the SNMP protocol entity to the
+ transport service."
+ ::= { snmp 2 }
+
+-- { snmp 7 } is not used
+
+snmpInTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `tooBig'."
+ ::= { snmp 8 }
+
+snmpInNoSuchNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `noSuchName'."
+ ::= { snmp 9 }
+
+snmpInBadValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `badValue'."
+ ::= { snmp 10 }
+
+snmpInReadOnlys OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number valid SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `readOnly'. It should be noted that it is a
+ protocol error to generate an SNMP PDU which
+ contains the value `readOnly' in the error-status
+ field, as such this object is provided as a means
+ of detecting incorrect implementations of the
+ SNMP."
+ ::= { snmp 11 }
+
+snmpInGenErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `genErr'."
+ ::= { snmp 12 }
+
+snmpInTotalReqVars OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ retrieved successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Get-Request
+ and Get-Next PDUs."
+ ::= { snmp 13 }
+
+snmpInTotalSetVars OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ altered successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Set-Request
+ PDUs."
+ ::= { snmp 14 }
+
+snmpInGetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 15 }
+
+snmpInGetNexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 16 }
+
+snmpInSetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 17 }
+
+snmpInGetResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 18 }
+
+snmpInTraps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 19 }
+
+snmpOutTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `tooBig.'"
+ ::= { snmp 20 }
+
+snmpOutNoSuchNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status is
+ `noSuchName'."
+ ::= { snmp 21 }
+
+snmpOutBadValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `badValue'."
+ ::= { snmp 22 }
+
+
+-- { snmp 23 } is not used
+
+snmpOutGenErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `genErr'."
+ ::= { snmp 24 }
+
+snmpOutGetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 25 }
+
+snmpOutGetNexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 26 }
+
+snmpOutSetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 27 }
+
+snmpOutGetResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 28 }
+
+snmpOutTraps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 29 }
+
+snmpObsoleteGroup OBJECT-GROUP
+ OBJECTS { snmpOutPkts, snmpInTooBigs, snmpInNoSuchNames,
+ snmpInBadValues, snmpInReadOnlys, snmpInGenErrs,
+ snmpInTotalReqVars, snmpInTotalSetVars,
+ snmpInGetRequests, snmpInGetNexts, snmpInSetRequests,
+ snmpInGetResponses, snmpInTraps, snmpOutTooBigs,
+ snmpOutNoSuchNames, snmpOutBadValues, snmpOutGenErrs,
+ snmpOutGetRequests, snmpOutGetNexts, snmpOutSetRequests,
+ snmpOutGetResponses, snmpOutTraps }
+ STATUS obsolete
+ DESCRIPTION
+ "A collection of objects from RFC 1213 made obsolete by this
+ MIB."
+ ::= { snmpMIBGroups 10 }
+
+END
diff --git a/lib/snmp/test/test-mibs/STANDARD-MIB.mib b/lib/snmp/test/test-mibs/STANDARD-MIB.mib
new file mode 100644
index 0000000000..3b444ce8aa
--- /dev/null
+++ b/lib/snmp/test/test-mibs/STANDARD-MIB.mib
@@ -0,0 +1,518 @@
+STANDARD-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ Counter, TimeTicks, IpAddress
+ FROM RFC1155-SMI
+ OBJECT-TYPE
+ FROM RFC-1212
+ mgmt, NetworkAddress, IpAddress, Counter, Gauge,
+ TimeTicks
+ FROM RFC1155-SMI
+ DisplayString, mib-2
+ FROM RFC1213-MIB
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+
+ -- Standard Datatypes
+
+ -- Represents a boolean value (from rfc1443)
+ TruthValue ::= INTEGER { true(1), false(2) }
+
+ -- From SNMPv2 (rfc1443)
+ RowStatus ::=
+ INTEGER {
+ -- the following two values are states:
+ -- these values may be read or written
+ active(1),
+ notInService(2),
+
+ -- the following value is a state:
+ -- this value may be read, but not written
+ notReady(3),
+
+ -- the following three values are
+ -- actions: these values may be written,
+ -- but are never read
+ createAndGo(4),
+ createAndWait(5),
+ destroy(6)
+ }
+
+
+ system OBJECT IDENTIFIER ::= { mib-2 1 }
+ snmp OBJECT IDENTIFIER ::= { mib-2 11 }
+
+
+ -- the System group
+
+ -- Implementation of the System group is mandatory for all
+ -- systems. If an agent is not configured to have a value
+ -- for any of these variables, a string of length 0 is
+ -- returned.
+
+ sysDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A textual description of the entity. This value
+ should include the full name and version
+ identification of the system's hardware type,
+ software operating-system, and networking
+ software. It is mandatory that this only contain
+ printable ASCII characters."
+ ::= { system 1 }
+
+ sysObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The vendor's authoritative identification of the
+ network management subsystem contained in the
+ entity. This value is allocated within the SMI
+ enterprises subtree (1.3.6.1.4.1) and provides an
+ easy and unambiguous means for determining `what
+ kind of box' is being managed. For example, if
+ vendor `Flintstones, Inc.' was assigned the
+ subtree 1.3.6.1.4.1.4242, it could assign the
+ identifier 1.3.6.1.4.1.4242.1.1 to its `Fred
+ Router'."
+ ::= { system 2 }
+
+ sysUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The time (in hundredths of a second) since the
+ network management portion of the system was last
+ re-initialized."
+ ::= { system 3 }
+
+ sysContact OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The textual identification of the contact person
+ for this managed node, together with information
+ on how to contact this person."
+ ::= { system 4 }
+
+ sysName OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+
+
+
+
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An administratively-assigned name for this
+ managed node. By convention, this is the node's
+ fully-qualified domain name."
+ ::= { system 5 }
+
+ sysLocation OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The physical location of this node (e.g.,
+ `telephone closet, 3rd floor')."
+ ::= { system 6 }
+
+ sysServices OBJECT-TYPE
+ SYNTAX INTEGER (0..127)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A value which indicates the set of services that
+ this entity primarily offers.
+
+ The value is a sum. This sum initially takes the
+ value zero, Then, for each layer, L, in the range
+ 1 through 7, that this node performs transactions
+ for, 2 raised to (L - 1) is added to the sum. For
+ example, a node which performs primarily routing
+ functions would have a value of 4 (2^(3-1)). In
+ contrast, a node which is a host offering
+ application services would have a value of 72
+ (2^(4-1) + 2^(7-1)). Note that in the context of
+ the Internet suite of protocols, values should be
+ calculated accordingly:
+
+ layer functionality
+ 1 physical (e.g., repeaters)
+ 2 datalink/subnetwork (e.g., bridges)
+ 3 internet (e.g., IP gateways)
+ 4 end-to-end (e.g., IP hosts)
+ 7 applications (e.g., mail relays)
+
+ For systems including OSI protocols, layers 5 and
+ 6 may also be counted."
+ ::= { system 7 }
+
+
+ -- the SNMP group
+
+ -- Implementation of the SNMP group is mandatory for all
+ -- systems which support an SNMP protocol entity. Some of
+ -- the objects defined below will be zero-valued in those
+ -- SNMP implementations that are optimized to support only
+ -- those functions specific to either a management agent or
+ -- a management station. In particular, it should be
+ -- observed that the objects below refer to an SNMP entity,
+ -- and there may be several SNMP entities residing on a
+ -- managed node (e.g., if the node is hosting acting as
+ -- a management station).
+
+ snmpInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of Messages delivered to the
+ SNMP entity from the transport service."
+ ::= { snmp 1 }
+
+ snmpOutPkts OBJECT-TYPE
+ SYNTAX Counter
+
+
+
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ passed from the SNMP protocol entity to the
+ transport service."
+ ::= { snmp 2 }
+
+ snmpInBadVersions OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ delivered to the SNMP protocol entity and were for
+ an unsupported SNMP version."
+ ::= { snmp 3 }
+
+ snmpInBadCommunityNames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages delivered to
+ the SNMP protocol entity which used a SNMP
+ community name not known to said entity."
+ ::= { snmp 4 }
+
+ snmpInBadCommunityUses OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages delivered to
+ the SNMP protocol entity which represented an SNMP
+ operation which was not allowed by the SNMP
+ community named in the Message."
+ ::= { snmp 5 }
+
+ snmpInASNParseErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of ASN.1 or BER errors
+ encountered by the SNMP protocol entity when
+ decoding received SNMP Messages."
+ ::= { snmp 6 }
+
+
+
+
+
+ -- { snmp 7 } is not used
+
+ snmpInTooBigs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `tooBig'."
+ ::= { snmp 8 }
+
+ snmpInNoSuchNames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `noSuchName'."
+ ::= { snmp 9 }
+
+ snmpInBadValues OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `badValue'."
+ ::= { snmp 10 }
+
+ snmpInReadOnlys OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number valid SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `readOnly'. It should be noted that it is a
+ protocol error to generate an SNMP PDU which
+ contains the value `readOnly' in the error-status
+ field, as such this object is provided as a means
+ of detecting incorrect implementations of the
+
+
+
+
+
+ SNMP."
+ ::= { snmp 11 }
+
+ snmpInGenErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `genErr'."
+ ::= { snmp 12 }
+
+ snmpInTotalReqVars OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ retrieved successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Get-Request
+ and Get-Next PDUs."
+ ::= { snmp 13 }
+
+ snmpInTotalSetVars OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ altered successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Set-Request
+ PDUs."
+ ::= { snmp 14 }
+
+ snmpInGetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 15 }
+
+ snmpInGetNexts OBJECT-TYPE
+ SYNTAX Counter
+
+
+
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 16 }
+
+ snmpInSetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 17 }
+
+ snmpInGetResponses OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 18 }
+
+ snmpInTraps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 19 }
+
+ snmpOutTooBigs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `tooBig.'"
+ ::= { snmp 20 }
+
+
+
+
+
+ snmpOutNoSuchNames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status is
+ `noSuchName'."
+ ::= { snmp 21 }
+
+ snmpOutBadValues OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `badValue'."
+ ::= { snmp 22 }
+
+ -- { snmp 23 } is not used
+
+ snmpOutGenErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `genErr'."
+ ::= { snmp 24 }
+
+ snmpOutGetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 25 }
+
+ snmpOutGetNexts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+
+
+
+
+
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 26 }
+
+ snmpOutSetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 27 }
+
+ snmpOutGetResponses OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 28 }
+
+ snmpOutTraps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 29 }
+
+ snmpEnableAuthenTraps OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Indicates whether the SNMP agent process is
+ permitted to generate authentication-failure
+ traps. The value of this object overrides any
+ configuration information; as such, it provides a
+ means whereby all authentication-failure traps may
+ be disabled.
+
+ Note that it is strongly recommended that this
+ object be stored in non-volatile memory so that it
+ remains constant between re-initializations of the
+ network management system."
+ ::= { snmp 30 }
+
+ authenticationFailure TRAP-TYPE
+ ENTERPRISE snmp
+ DESCRIPTION
+ "An authenticationFailure trap signifies that
+ the sending protocol entity is the addressee
+ of a protocol message that is not properly
+ authenticated. While implementations of the
+ SNMP must be capable of generating this trap,
+ they must also be capable of suppressing the
+ emission of such traps via an implementation-
+ specific mechanism."
+ ::= 4
+
+ END
+
diff --git a/lib/snmp/test/test-mibs/TOKEN-RING-RMON-MIB.mib b/lib/snmp/test/test-mibs/TOKEN-RING-RMON-MIB.mib
new file mode 100644
index 0000000000..4ad1d88865
--- /dev/null
+++ b/lib/snmp/test/test-mibs/TOKEN-RING-RMON-MIB.mib
@@ -0,0 +1,2406 @@
+ TOKEN-RING-RMON-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ Counter, TimeTicks FROM RFC1155-SMI
+ OBJECT-TYPE FROM RFC-1212
+ OwnerString, EntryStatus, -- Textual Conventions
+ rmon, statistics, history
+ FROM RFC1271-MIB;
+
+
+ -- All representations of MAC addresses in this MIB
+ -- Module use, as a textual convention (i.e. this
+ -- convention does not affect their encoding), the
+ -- data type:
+
+ MacAddress ::= OCTET STRING (SIZE (6)) -- a 6 octet
+ -- address in
+ -- the "canonical"
+ -- order
+ -- defined by IEEE 802.1a, i.e., as if it were
+ -- transmitted least significant bit first, even though
+ -- 802.5 (in contrast to other 802.x protocols) requires
+ -- MAC addresses to be transmitted most significant bit
+ -- first.
+
+ TimeInterval ::= INTEGER
+ -- A period of time, measured in units of 0.01 seconds.
+
+ -- This MIB module uses the extended OBJECT-TYPE macro as
+ -- defined in [2].
+
+ -- Token Ring Remote Network Monitoring MIB
+
+ tokenRing OBJECT IDENTIFIER ::= { rmon 10 }
+
+
+ -- The Token Ring Mac-Layer Statistics Group
+ --
+ -- Implementation of this group is optional
+
+ tokenRingMLStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TokenRingMLStatsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of Mac-Layer Token Ring statistics
+
+
+ entries."
+ ::= { statistics 2 }
+
+ tokenRingMLStatsEntry OBJECT-TYPE
+ SYNTAX TokenRingMLStatsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of Mac-Layer statistics kept for a
+ particular Token Ring interface."
+ INDEX { tokenRingMLStatsIndex }
+ ::= { tokenRingMLStatsTable 1 }
+
+ -- As an example, an instance of the
+ -- tokenRingMLStatsMacOctets object
+ -- might be named tokenRingMLStatsMacOctets.1
+
+ TokenRingMLStatsEntry ::= SEQUENCE {
+ tokenRingMLStatsIndex INTEGER,
+ tokenRingMLStatsDataSource OBJECT IDENTIFIER,
+ tokenRingMLStatsDropEvents Counter,
+ tokenRingMLStatsMacOctets Counter,
+ tokenRingMLStatsMacPkts Counter,
+ tokenRingMLStatsRingPurgeEvents Counter,
+ tokenRingMLStatsRingPurgePkts Counter,
+ tokenRingMLStatsBeaconEvents Counter,
+ tokenRingMLStatsBeaconTime TimeInterval,
+ tokenRingMLStatsBeaconPkts Counter,
+ tokenRingMLStatsClaimTokenEvents Counter,
+ tokenRingMLStatsClaimTokenPkts Counter,
+ tokenRingMLStatsNAUNChanges Counter,
+ tokenRingMLStatsLineErrors Counter,
+ tokenRingMLStatsInternalErrors Counter,
+ tokenRingMLStatsBurstErrors Counter,
+ tokenRingMLStatsACErrors Counter,
+ tokenRingMLStatsAbortErrors Counter,
+ tokenRingMLStatsLostFrameErrors Counter,
+ tokenRingMLStatsCongestionErrors Counter,
+ tokenRingMLStatsFrameCopiedErrors Counter,
+ tokenRingMLStatsFrequencyErrors Counter,
+ tokenRingMLStatsTokenErrors Counter,
+ tokenRingMLStatsSoftErrorReports Counter,
+ tokenRingMLStatsRingPollEvents Counter,
+ tokenRingMLStatsOwner OwnerString,
+ tokenRingMLStatsStatus EntryStatus
+ }
+
+
+
+
+ tokenRingMLStatsIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies this
+ tokenRingMLStats entry."
+ ::= { tokenRingMLStatsEntry 1 }
+
+ tokenRingMLStatsDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the source of the data
+ that this tokenRingMLStats entry is configured to
+ analyze. This source can be any tokenRing
+ interface on this device. In order to identify a
+ particular interface, this object shall identify
+ the instance of the ifIndex object, defined in
+ MIB-II [3], for the desired interface. For
+ example, if an entry were to receive data from
+ interface #1, this object would be set to
+ ifIndex.1.
+
+ The statistics in this group reflect all error
+ reports on the local network segment attached to
+ the identified interface.
+
+ This object may not be modified if the associated
+ tokenRingMLStatsStatus object is equal to
+ valid(1)."
+ ::= { tokenRingMLStatsEntry 2 }
+
+ tokenRingMLStatsDropEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of events in which packets were
+ dropped by the probe due to lack of resources.
+ Note that this number is not necessarily the
+ number of packets dropped; it is just the number
+ of times this condition has been detected. This
+ value is the same as the corresponding
+ tokenRingPStatsDropEvents."
+ ::= { tokenRingMLStatsEntry 3 }
+
+
+
+ tokenRingMLStatsMacOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets of data in MAC packets
+ (excluding those that were not good frames)
+ received on the network (excluding framing bits
+ but including FCS octets)."
+ ::= { tokenRingMLStatsEntry 4 }
+
+ tokenRingMLStatsMacPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of MAC packets (excluding
+ packets that were not good frames) received."
+ ::= { tokenRingMLStatsEntry 5 }
+
+ tokenRingMLStatsRingPurgeEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of times that the ring enters
+ the ring purge state from normal ring state. The
+ ring purge state that comes in response to the
+ claim token or beacon state is not counted."
+ ::= { tokenRingMLStatsEntry 6 }
+
+ tokenRingMLStatsRingPurgePkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of ring purge MAC packets
+ detected by probe."
+ ::= { tokenRingMLStatsEntry 7 }
+
+ tokenRingMLStatsBeaconEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of times that the ring enters a
+ beaconing state (beaconFrameStreamingState,
+ beaconBitStreamingState,
+
+
+ beaconSetRecoveryModeState, or
+ beaconRingSignalLossState) from a non-beaconing
+ state. Note that a change of the source address
+ of the beacon packet does not constitute a new
+ beacon event."
+ ::= { tokenRingMLStatsEntry 8 }
+
+ tokenRingMLStatsBeaconTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total amount of time that the ring has been
+ in the beaconing state."
+ ::= { tokenRingMLStatsEntry 9 }
+
+ tokenRingMLStatsBeaconPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of beacon MAC packets detected
+ by the probe."
+ ::= { tokenRingMLStatsEntry 10 }
+
+ tokenRingMLStatsClaimTokenEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of times that the ring enters
+ the claim token state from normal ring state or
+ ring purge state. The claim token state that
+ comes in response to a beacon state is not
+ counted."
+ ::= { tokenRingMLStatsEntry 11 }
+
+ tokenRingMLStatsClaimTokenPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of claim token MAC packets
+ detected by the probe."
+ ::= { tokenRingMLStatsEntry 12 }
+
+
+
+
+
+ tokenRingMLStatsNAUNChanges OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of NAUN changes detected by the
+ probe."
+ ::= { tokenRingMLStatsEntry 13 }
+
+ tokenRingMLStatsLineErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of line errors reported in error
+ reporting packets detected by the probe."
+ ::= { tokenRingMLStatsEntry 14 }
+
+ tokenRingMLStatsInternalErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of adapter internal errors
+ reported in error reporting packets detected by
+ the probe."
+ ::= { tokenRingMLStatsEntry 15 }
+
+ tokenRingMLStatsBurstErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of burst errors reported in
+ error reporting packets detected by the probe."
+ ::= { tokenRingMLStatsEntry 16 }
+
+ tokenRingMLStatsACErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of AC (Address Copied) errors
+ reported in error reporting packets detected by
+ the probe."
+ ::= { tokenRingMLStatsEntry 17 }
+
+
+
+
+ tokenRingMLStatsAbortErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of abort delimiters reported in
+ error reporting packets detected by the probe."
+ ::= { tokenRingMLStatsEntry 18 }
+
+ tokenRingMLStatsLostFrameErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of lost frame errors reported in
+ error reporting packets detected by the probe."
+ ::= { tokenRingMLStatsEntry 19 }
+
+ tokenRingMLStatsCongestionErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of receive congestion errors
+ reported in error reporting packets detected by
+ the probe."
+ ::= { tokenRingMLStatsEntry 20 }
+
+ tokenRingMLStatsFrameCopiedErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frame copied errors reported
+ in error reporting packets detected by the probe."
+ ::= { tokenRingMLStatsEntry 21 }
+
+ tokenRingMLStatsFrequencyErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frequency errors reported in
+ error reporting packets detected by the probe."
+ ::= { tokenRingMLStatsEntry 22 }
+
+
+
+
+
+ tokenRingMLStatsTokenErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of token errors reported in
+ error reporting packets detected by the probe."
+ ::= { tokenRingMLStatsEntry 23 }
+
+ tokenRingMLStatsSoftErrorReports OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of soft error report frames
+ detected by the probe."
+ ::= { tokenRingMLStatsEntry 24 }
+
+ tokenRingMLStatsRingPollEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of ring poll events detected by
+ the probe (i.e. the number of ring polls initiated
+ by the active monitor that were detected)."
+ ::= { tokenRingMLStatsEntry 25 }
+
+ tokenRingMLStatsOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { tokenRingMLStatsEntry 26 }
+
+ tokenRingMLStatsStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this tokenRingMLStats entry."
+ ::= { tokenRingMLStatsEntry 27 }
+
+
+
+
+
+
+ -- The Token Ring Promiscuous Statistics Group
+ --
+ -- Implementation of this group is optional
+
+ tokenRingPStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TokenRingPStatsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of promiscuous Token Ring statistics
+ entries."
+ ::= { statistics 3 }
+
+ tokenRingPStatsEntry OBJECT-TYPE
+ SYNTAX TokenRingPStatsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of promiscuous statistics kept for
+ non-MAC packets on a particular Token Ring
+ interface."
+ INDEX { tokenRingPStatsIndex }
+ ::= { tokenRingPStatsTable 1 }
+
+ -- As an example, an instance of the
+ -- tokenRingPStatsDataOctets object
+ -- might be named tokenRingPStatsDataOctets.1
+
+ TokenRingPStatsEntry ::= SEQUENCE {
+ tokenRingPStatsIndex INTEGER,
+ tokenRingPStatsDataSource OBJECT IDENTIFIER,
+ tokenRingPStatsDropEvents Counter,
+ tokenRingPStatsDataOctets Counter,
+ tokenRingPStatsDataPkts Counter,
+ tokenRingPStatsDataBroadcastPkts Counter,
+ tokenRingPStatsDataMulticastPkts Counter,
+ tokenRingPStatsDataPkts18to63Octets Counter,
+ tokenRingPStatsDataPkts64to127Octets Counter,
+ tokenRingPStatsDataPkts128to255Octets Counter,
+ tokenRingPStatsDataPkts256to511Octets Counter,
+ tokenRingPStatsDataPkts512to1023Octets Counter,
+ tokenRingPStatsDataPkts1024to2047Octets Counter,
+ tokenRingPStatsDataPkts2048to4095Octets Counter,
+ tokenRingPStatsDataPkts4096to8191Octets Counter,
+ tokenRingPStatsDataPkts8192to18000Octets Counter,
+ tokenRingPStatsDataPktsGreaterThan18000Octets Counter,
+ tokenRingPStatsOwner OwnerString,
+ tokenRingPStatsStatus EntryStatus
+
+
+ }
+
+ tokenRingPStatsIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies this
+ tokenRingPStats entry."
+ ::= { tokenRingPStatsEntry 1 }
+
+ tokenRingPStatsDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object identifies the source of the data
+ that this tokenRingPStats entry is configured to
+ analyze. This source can be any tokenRing
+ interface on this device. In order to identify a
+ particular interface, this object shall identify
+ the instance of the ifIndex object, defined in
+ MIB-II [3], for the desired interface. For
+ example, if an entry were to receive data from
+ interface #1, this object would be set to
+ ifIndex.1.
+
+ The statistics in this group reflect all non-MAC
+ packets on the local network segment attached to
+ the identified interface.
+
+ This object may not be modified if the associated
+ tokenRingPStatsStatus object is equal to
+ valid(1)."
+ ::= { tokenRingPStatsEntry 2 }
+
+ tokenRingPStatsDropEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of events in which packets were
+ dropped by the probe due to lack of resources.
+ Note that this number is not necessarily the
+ number of packets dropped; it is just the number
+ of times this condition has been detected. This
+ value is the same as the corresponding
+ tokenRingMLStatsDropEvents"
+
+
+ ::= { tokenRingPStatsEntry 3 }
+
+ tokenRingPStatsDataOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets of data in good frames
+ received on the network (excluding framing bits
+ but including FCS octets) in non-MAC packets."
+ ::= { tokenRingPStatsEntry 4 }
+
+ tokenRingPStatsDataPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of non-MAC packets in good
+ frames. received."
+ ::= { tokenRingPStatsEntry 5 }
+
+ tokenRingPStatsDataBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were directed to an LLC broadcast address
+ (0xFFFFFFFFFFFF or 0xC000FFFFFFFF)."
+ ::= { tokenRingPStatsEntry 6 }
+
+ tokenRingPStatsDataMulticastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were directed to a local or global multicast
+ or functional address. Note that this number does
+ not include packets directed to the broadcast
+ address."
+ ::= { tokenRingPStatsEntry 7 }
+
+ tokenRingPStatsDataPkts18to63Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "The total number of good non-MAC frames received
+ that were between 18 and 63 octets in length
+ inclusive, excluding framing bits but including
+ FCS octets."
+ ::= { tokenRingPStatsEntry 8 }
+
+ tokenRingPStatsDataPkts64to127Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were between 64 and 127 octets in length
+ inclusive, excluding framing bits but including
+ FCS octets."
+ ::= { tokenRingPStatsEntry 9 }
+
+ tokenRingPStatsDataPkts128to255Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were between 128 and 255 octets in length
+ inclusive, excluding framing bits but including
+ FCS octets."
+ ::= { tokenRingPStatsEntry 10 }
+
+ tokenRingPStatsDataPkts256to511Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were between 256 and 511 octets in length
+ inclusive, excluding framing bits but including
+ FCS octets."
+ ::= { tokenRingPStatsEntry 11 }
+
+ tokenRingPStatsDataPkts512to1023Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were between 512 and 1023 octets in length
+ inclusive, excluding framing bits but including
+ FCS octets."
+
+
+ ::= { tokenRingPStatsEntry 12 }
+
+ tokenRingPStatsDataPkts1024to2047Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were between 1024 and 2047 octets in length
+ inclusive, excluding framing bits but including
+ FCS octets."
+ ::= { tokenRingPStatsEntry 13 }
+
+ tokenRingPStatsDataPkts2048to4095Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were between 2048 and 4095 octets in length
+ inclusive, excluding framing bits but including
+ FCS octets."
+ ::= { tokenRingPStatsEntry 14 }
+
+ tokenRingPStatsDataPkts4096to8191Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were between 4096 and 8191 octets in length
+ inclusive, excluding framing bits but including
+ FCS octets."
+ ::= { tokenRingPStatsEntry 15 }
+
+ tokenRingPStatsDataPkts8192to18000Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were between 8192 and 18000 octets in length
+ inclusive, excluding framing bits but including
+ FCS octets."
+ ::= { tokenRingPStatsEntry 16 }
+
+ tokenRingPStatsDataPktsGreaterThan18000Octets OBJECT-TYPE
+ SYNTAX Counter
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ that were greater than 18000 octets in length,
+ excluding framing bits but including FCS octets."
+ ::= { tokenRingPStatsEntry 17 }
+
+ tokenRingPStatsOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { tokenRingPStatsEntry 18 }
+
+ tokenRingPStatsStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this tokenRingPStats entry."
+ ::= { tokenRingPStatsEntry 19 }
+
+
+ -- The Token Ring History Groups
+
+ -- When an entry in the historyControlTable is created that
+ -- identifies a token ring interface as its
+ -- historyControlDataSource, the probe shall create
+ -- corresponding entries in the tokenRingMLHistoryTable
+ -- and/or the tokenRingPHistoryTable, depending on which
+ -- groups it supports.
+
+
+ -- The Token Ring Mac-Layer History Group
+ --
+ -- Implementation of this group is optional.
+ -- Implementation of this group requires implementation of
+ -- the historyControl group from RFC1271.
+
+ tokenRingMLHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TokenRingMLHistoryEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of Mac-Layer Token Ring statistics
+
+
+ entries."
+ ::= { history 3 }
+
+ tokenRingMLHistoryEntry OBJECT-TYPE
+ SYNTAX TokenRingMLHistoryEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of Mac-Layer statistics kept for a
+ particular Token Ring interface."
+ INDEX { tokenRingMLHistoryIndex,
+ tokenRingMLHistorySampleIndex }
+ ::= { tokenRingMLHistoryTable 1 }
+
+ -- As an example, an instance of the
+ -- tokenRingMLHistoryMacOctets
+ -- object might be named tokenRingMLHistoryMacOctets.1.27
+
+ TokenRingMLHistoryEntry ::= SEQUENCE {
+ tokenRingMLHistoryIndex INTEGER,
+ tokenRingMLHistorySampleIndex INTEGER,
+ tokenRingMLHistoryIntervalStart TimeTicks,
+ tokenRingMLHistoryDropEvents Counter,
+ tokenRingMLHistoryMacOctets Counter,
+ tokenRingMLHistoryMacPkts Counter,
+ tokenRingMLHistoryRingPurgeEvents Counter,
+ tokenRingMLHistoryRingPurgePkts Counter,
+ tokenRingMLHistoryBeaconEvents Counter,
+ tokenRingMLHistoryBeaconTime TimeInterval,
+ tokenRingMLHistoryBeaconPkts Counter,
+ tokenRingMLHistoryClaimTokenEvents Counter,
+ tokenRingMLHistoryClaimTokenPkts Counter,
+ tokenRingMLHistoryNAUNChanges Counter,
+ tokenRingMLHistoryLineErrors Counter,
+ tokenRingMLHistoryInternalErrors Counter,
+ tokenRingMLHistoryBurstErrors Counter,
+ tokenRingMLHistoryACErrors Counter,
+ tokenRingMLHistoryAbortErrors Counter,
+ tokenRingMLHistoryLostFrameErrors Counter,
+ tokenRingMLHistoryCongestionErrors Counter,
+ tokenRingMLHistoryFrameCopiedErrors Counter,
+ tokenRingMLHistoryFrequencyErrors Counter,
+ tokenRingMLHistoryTokenErrors Counter,
+ tokenRingMLHistorySoftErrorReports Counter,
+ tokenRingMLHistoryRingPollEvents Counter,
+ tokenRingMLHistoryActiveStations INTEGER
+ }
+
+
+
+ tokenRingMLHistoryIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The history of which this entry is a part. The
+ history identified by a particular value of this
+ index is the same history as identified by the
+ same value of historyControlIndex."
+ ::= { tokenRingMLHistoryEntry 1 }
+
+ tokenRingMLHistorySampleIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies the particular
+ Mac-Layer sample this entry represents among all
+ Mac-Layer samples associated with the same
+ historyControlEntry. This index starts at 1 and
+ increases by one as each new sample is taken."
+ ::= { tokenRingMLHistoryEntry 2 }
+
+ tokenRingMLHistoryIntervalStart OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the start of the
+ interval over which this sample was measured. If
+ the probe keeps track of the time of day, it
+ should start the first sample of the history at a
+ time such that when the next hour of the day
+ begins, a sample is started at that instant. Note
+ that following this rule may require the probe to
+ delay collecting the first sample of the history,
+ as each sample must be of the same interval. Also
+ note that the sample which is currently being
+ collected is not accessible in this table until
+ the end of its interval."
+ ::= { tokenRingMLHistoryEntry 3 }
+
+ tokenRingMLHistoryDropEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of events in which packets were
+
+
+ dropped by the probe due to lack of resources
+ during this sampling interval. Note that this
+ number is not necessarily the number of packets
+ dropped, it is just the number of times this
+ condition has been detected."
+ ::= { tokenRingMLHistoryEntry 4 }
+
+ tokenRingMLHistoryMacOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets of data in MAC packets
+ (excluding those that were not good frames)
+ received on the network during this sampling
+ interval (excluding framing bits but including FCS
+ octets)."
+ ::= { tokenRingMLHistoryEntry 5 }
+
+ tokenRingMLHistoryMacPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of MAC packets (excluding those
+ that were not good frames) received during this
+ sampling interval."
+ ::= { tokenRingMLHistoryEntry 6 }
+
+ tokenRingMLHistoryRingPurgeEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of times that the ring entered
+ the ring purge state from normal ring state during
+ this sampling interval. The ring purge state that
+ comes from the claim token or beacon state is not
+ counted."
+ ::= { tokenRingMLHistoryEntry 7 }
+
+ tokenRingMLHistoryRingPurgePkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of Ring Purge MAC packets
+ detected by the probe during this sampling
+
+
+ interval."
+ ::= { tokenRingMLHistoryEntry 8 }
+
+ tokenRingMLHistoryBeaconEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of times that the ring enters a
+ beaconing state (beaconFrameStreamingState,
+ beaconBitStreamingState,
+ beaconSetRecoveryModeState, or
+ beaconRingSignalLossState) during this sampling
+ interval. Note that a change of the source
+ address of the beacon packet does not constitute a
+ new beacon event."
+ ::= { tokenRingMLHistoryEntry 9 }
+
+ tokenRingMLHistoryBeaconTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The amount of time that the ring has been in the
+ beaconing state during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 10 }
+
+ tokenRingMLHistoryBeaconPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of beacon MAC packets detected
+ by the probe during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 11 }
+
+ tokenRingMLHistoryClaimTokenEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of times that the ring enters
+ the claim token state from normal ring state or
+ ring purge state during this sampling interval.
+ The claim token state that comes from the beacon
+ state is not counted."
+ ::= { tokenRingMLHistoryEntry 12 }
+
+
+
+ tokenRingMLHistoryClaimTokenPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of claim token MAC packets
+ detected by the probe during this sampling
+ interval."
+ ::= { tokenRingMLHistoryEntry 13 }
+
+ tokenRingMLHistoryNAUNChanges OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of NAUN changes detected by the
+ probe during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 14 }
+
+ tokenRingMLHistoryLineErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of line errors reported in error
+ reporting packets detected by the probe during
+ this sampling interval."
+ ::= { tokenRingMLHistoryEntry 15 }
+
+ tokenRingMLHistoryInternalErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of adapter internal errors
+ reported in error reporting packets detected by
+ the probe during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 16 }
+
+ tokenRingMLHistoryBurstErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of burst errors reported in
+ error reporting packets detected by the probe
+ during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 17 }
+
+
+ tokenRingMLHistoryACErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of AC (Address Copied) errors
+ reported in error reporting packets detected by
+ the probe during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 18 }
+
+ tokenRingMLHistoryAbortErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of abort delimiters reported in
+ error reporting packets detected by the probe
+ during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 19 }
+
+ tokenRingMLHistoryLostFrameErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of lost frame errors reported in
+ error reporting packets detected by the probe
+ during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 20 }
+
+ tokenRingMLHistoryCongestionErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of receive congestion errors
+ reported in error reporting packets detected by
+ the probe during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 21 }
+
+ tokenRingMLHistoryFrameCopiedErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frame copied errors reported
+ in error reporting packets detected by the probe
+ during this sampling interval."
+
+
+ ::= { tokenRingMLHistoryEntry 22 }
+
+ tokenRingMLHistoryFrequencyErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frequency errors reported in
+ error reporting packets detected by the probe
+ during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 23 }
+
+ tokenRingMLHistoryTokenErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of token errors reported in
+ error reporting packets detected by the probe
+ during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 24 }
+
+ tokenRingMLHistorySoftErrorReports OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of soft error report frames
+ detected by the probe during this sampling
+ interval."
+ ::= { tokenRingMLHistoryEntry 25 }
+
+ tokenRingMLHistoryRingPollEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of ring poll events detected by
+ the probe during this sampling interval."
+ ::= { tokenRingMLHistoryEntry 26 }
+
+ tokenRingMLHistoryActiveStations OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of active stations on the ring
+ detected by the probe during this sampling
+
+
+ interval."
+ ::= { tokenRingMLHistoryEntry 27}
+
+
+ -- The Token Ring Promiscuous History Group
+ --
+ -- Implementation of this group is optional.
+ -- Implementation of this group requires the implementation
+ -- of the historyControl group from RFC1271.
+
+ tokenRingPHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TokenRingPHistoryEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of promiscuous Token Ring statistics
+ entries."
+ ::= { history 4 }
+
+ tokenRingPHistoryEntry OBJECT-TYPE
+ SYNTAX TokenRingPHistoryEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of promiscuous statistics kept for a
+ particular Token Ring interface."
+ INDEX { tokenRingPHistoryIndex,
+ tokenRingPHistorySampleIndex }
+ ::= { tokenRingPHistoryTable 1 }
+
+ -- As an example, an instance of the
+ -- tokenRingPHistoryDataPkts object
+ -- might be named tokenRingPHistoryDataPkts.1.27
+
+ TokenRingPHistoryEntry ::= SEQUENCE {
+ tokenRingPHistoryIndex INTEGER,
+ tokenRingPHistorySampleIndex INTEGER,
+ tokenRingPHistoryIntervalStart TimeTicks,
+ tokenRingPHistoryDropEvents Counter,
+ tokenRingPHistoryDataOctets Counter,
+ tokenRingPHistoryDataPkts Counter,
+ tokenRingPHistoryDataBroadcastPkts Counter,
+ tokenRingPHistoryDataMulticastPkts Counter,
+ tokenRingPHistoryDataPkts18to63Octets Counter,
+ tokenRingPHistoryDataPkts64to127Octets Counter,
+ tokenRingPHistoryDataPkts128to255Octets Counter,
+ tokenRingPHistoryDataPkts256to511Octets Counter,
+ tokenRingPHistoryDataPkts512to1023Octets Counter,
+
+
+ tokenRingPHistoryDataPkts1024to2047Octets Counter,
+ tokenRingPHistoryDataPkts2048to4095Octets Counter,
+ tokenRingPHistoryDataPkts4096to8191Octets Counter,
+ tokenRingPHistoryDataPkts8192to18000Octets Counter,
+ tokenRingPHistoryDataPktsGreaterThan18000Octets Counter
+ }
+
+ tokenRingPHistoryIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The history of which this entry is a part. The
+ history identified by a particular value of this
+ index is the same history as identified by the
+ same value of historyControlIndex."
+ ::= { tokenRingPHistoryEntry 1 }
+
+ tokenRingPHistorySampleIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index that uniquely identifies the particular
+ sample this entry represents among all samples
+ associated with the same historyControlEntry.
+ This index starts at 1 and increases by one as
+ each new sample is taken."
+ ::= { tokenRingPHistoryEntry 2 }
+
+ tokenRingPHistoryIntervalStart OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the start of the
+ interval over which this sample was measured. If
+ the probe keeps track of the time of day, it
+ should start the first sample of the history at a
+ time such that when the next hour of the day
+ begins, a sample is started at that instant. Note
+ that following this rule may require the probe to
+ delay collecting the first sample of the history,
+ as each sample must be of the same interval. Also
+ note that the sample which is currently being
+ collected is not accessible in this table until
+ the end of its interval."
+ ::= { tokenRingPHistoryEntry 3 }
+
+
+ tokenRingPHistoryDropEvents OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of events in which packets were
+ dropped by the probe due to lack of resources
+ during this sampling interval. Note that this
+ number is not necessarily the number of packets
+ dropped, it is just the number of times this
+ condition has been detected."
+ ::= { tokenRingPHistoryEntry 4 }
+
+ tokenRingPHistoryDataOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets of data in good frames
+ received on the network (excluding framing bits
+ but including FCS octets) in non-MAC packets
+ during this sampling interval."
+ ::= { tokenRingPHistoryEntry 5 }
+
+ tokenRingPHistoryDataPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval."
+ ::= { tokenRingPHistoryEntry 6 }
+
+ tokenRingPHistoryDataBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were directed
+ to an LLC broadcast address (0xFFFFFFFFFFFF or
+ 0xC000FFFFFFFF)."
+ ::= { tokenRingPHistoryEntry 7 }
+
+ tokenRingPHistoryDataMulticastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were directed
+ to a local or global multicast or functional
+ address. Note that this number does not include
+ packets directed to the broadcast address."
+ ::= { tokenRingPHistoryEntry 8 }
+
+ tokenRingPHistoryDataPkts18to63Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were between 18
+ and 63 octets in length inclusive, excluding
+ framing bits but including FCS octets."
+ ::= { tokenRingPHistoryEntry 9 }
+
+ tokenRingPHistoryDataPkts64to127Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were between 64
+ and 127 octets in length inclusive, excluding
+ framing bits but including FCS octets."
+ ::= { tokenRingPHistoryEntry 10 }
+
+ tokenRingPHistoryDataPkts128to255Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were between
+ 128 and 255 octets in length inclusive, excluding
+ framing bits but including FCS octets."
+ ::= { tokenRingPHistoryEntry 11 }
+
+ tokenRingPHistoryDataPkts256to511Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were between
+
+
+ 256 and 511 octets in length inclusive, excluding
+ framing bits but including FCS octets."
+ ::= { tokenRingPHistoryEntry 12 }
+
+ tokenRingPHistoryDataPkts512to1023Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were between
+ 512 and 1023 octets in length inclusive, excluding
+ framing bits but including FCS octets."
+ ::= { tokenRingPHistoryEntry 13 }
+
+ tokenRingPHistoryDataPkts1024to2047Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were between
+ 1024 and 2047 octets in length inclusive,
+ excluding framing bits but including FCS octets."
+ ::= { tokenRingPHistoryEntry 14 }
+
+ tokenRingPHistoryDataPkts2048to4095Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were between
+ 2048 and 4095 octets in length inclusive,
+ excluding framing bits but including FCS octets."
+ ::= { tokenRingPHistoryEntry 15 }
+
+ tokenRingPHistoryDataPkts4096to8191Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were between
+ 4096 and 8191 octets in length inclusive,
+ excluding framing bits but including FCS octets."
+ ::= { tokenRingPHistoryEntry 16 }
+
+
+
+ tokenRingPHistoryDataPkts8192to18000Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were between
+ 8192 and 18000 octets in length inclusive,
+ excluding framing bits but including FCS octets."
+ ::= { tokenRingPHistoryEntry 17 }
+
+ tokenRingPHistoryDataPktsGreaterThan18000Octets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good non-MAC frames received
+ during this sampling interval that were greater
+ than 18000 octets in length, excluding framing
+ bits but including FCS octets."
+ ::= { tokenRingPHistoryEntry 18 }
+
+
+ -- The Token Ring Ring Station Group
+ --
+ -- Implementation of this group is optional
+ --
+ -- Although the ringStationTable stores entries only for
+ -- those stations physically attached to the local ring and
+ -- the number of stations attached to a ring is limited, a
+ -- probe may still need to free resources when resources
+ -- grow tight. In such a situation, it is suggested that
+ -- the probe free only inactive stations, and to
+ -- first free the stations that have been inactive for the
+ -- longest time.
+
+ ringStationControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF RingStationControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of ringStation table control entries."
+ ::= { tokenRing 1 }
+
+ ringStationControlEntry OBJECT-TYPE
+ SYNTAX RingStationControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "A list of parameters that set up the discovery of
+ stations on a particular interface and the
+ collection of statistics about these stations."
+ INDEX { ringStationControlIfIndex }
+ ::= { ringStationControlTable 1 }
+
+ -- As an example, an instance of the
+ -- ringStationControlIfIndex object
+ -- might be named ringStationControlIfIndex.1
+
+ RingStationControlEntry ::= SEQUENCE {
+ ringStationControlIfIndex INTEGER,
+ ringStationControlTableSize INTEGER,
+ ringStationControlActiveStations INTEGER,
+ ringStationControlRingState INTEGER,
+ ringStationControlBeaconSender MacAddress,
+ ringStationControlBeaconNAUN MacAddress,
+ ringStationControlActiveMonitor MacAddress,
+ ringStationControlOrderChanges Counter,
+ ringStationControlOwner OwnerString,
+ ringStationControlStatus EntryStatus
+ }
+
+ ringStationControlIfIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies the
+ interface on this remote network monitoring device
+ from which ringStation data is collected. The
+ interface identified by a particular value of this
+ object is the same interface as identified by the
+ same value of the ifIndex object, defined in MIB-
+ II [3]."
+ ::= { ringStationControlEntry 1 }
+
+ ringStationControlTableSize OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ringStationEntries in the
+ ringStationTable associated with this
+ ringStationControlEntry."
+ ::= { ringStationControlEntry 2 }
+
+
+
+ ringStationControlActiveStations OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of active ringStationEntries in the
+ ringStationTable associated with this
+ ringStationControlEntry."
+ ::= { ringStationControlEntry 3 }
+
+ ringStationControlRingState OBJECT-TYPE
+ SYNTAX INTEGER {
+ normalOperation(1),
+ ringPurgeState(2),
+ claimTokenState(3),
+ beaconFrameStreamingState(4),
+ beaconBitStreamingState(5),
+ beaconRingSignalLossState(6),
+ beaconSetRecoveryModeState(7)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The current status of this ring."
+ ::= { ringStationControlEntry 4 }
+
+ ringStationControlBeaconSender OBJECT-TYPE
+ SYNTAX MacAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The address of the sender of the last beacon
+ frame received by the probe on this ring. If no
+ beacon frames have been received, this object
+ shall be equal to six octets of zero."
+ ::= { ringStationControlEntry 5 }
+
+ ringStationControlBeaconNAUN OBJECT-TYPE
+ SYNTAX MacAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The address of the NAUN in the last beacon frame
+ received by the probe on this ring. If no beacon
+ frames have been received, this object shall be
+ equal to six octets of zero."
+ ::= { ringStationControlEntry 6 }
+
+
+
+ ringStationControlActiveMonitor OBJECT-TYPE
+ SYNTAX MacAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The address of the Active Monitor on this
+ segment. If this address is unknown, this object
+ shall be equal to six octets of zero."
+ ::= { ringStationControlEntry 7 }
+
+ ringStationControlOrderChanges OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of add and delete events in the
+ ringStationOrderTable optionally associated with
+ this ringStationControlEntry."
+ ::= { ringStationControlEntry 8 }
+
+ ringStationControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { ringStationControlEntry 9 }
+
+ ringStationControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this ringStationControl entry.
+
+ If this object is not equal to valid(1), all
+ associated entries in the ringStationTable shall
+ be deleted by the agent."
+ ::= { ringStationControlEntry 10 }
+
+ ringStationTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF RingStationEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of ring station entries. An entry will
+ exist for each station that is now or has
+
+
+ previously been detected as physically present on
+ this ring."
+ ::= { tokenRing 2 }
+
+ ringStationEntry OBJECT-TYPE
+ SYNTAX RingStationEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for a particular
+ station that has been discovered on a ring
+ monitored by this device."
+ INDEX { ringStationIfIndex, ringStationMacAddress }
+ ::= { ringStationTable 1 }
+
+ -- As an example, an instance of the
+ -- ringStationStationStatus object might be named
+ -- ringStationStationStatus.1.16.0.90.0.64.131
+
+ RingStationEntry ::= SEQUENCE {
+ ringStationIfIndex INTEGER,
+ ringStationMacAddress MacAddress,
+ ringStationLastNAUN MacAddress,
+ ringStationStationStatus INTEGER,
+ ringStationLastEnterTime TimeTicks,
+ ringStationLastExitTime TimeTicks,
+ ringStationDuplicateAddresses Counter,
+ ringStationInLineErrors Counter,
+ ringStationOutLineErrors Counter,
+ ringStationInternalErrors Counter,
+ ringStationInBurstErrors Counter,
+ ringStationOutBurstErrors Counter,
+ ringStationACErrors Counter,
+ ringStationAbortErrors Counter,
+ ringStationLostFrameErrors Counter,
+ ringStationCongestionErrors Counter,
+ ringStationFrameCopiedErrors Counter,
+ ringStationFrequencyErrors Counter,
+ ringStationTokenErrors Counter,
+ ringStationInBeaconErrors Counter,
+ ringStationOutBeaconErrors Counter,
+ ringStationInsertions Counter
+ }
+
+ ringStationIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "The value of this object uniquely identifies the
+ interface on this remote network monitoring device
+ on which this station was detected. The interface
+ identified by a particular value of this object is
+ the same interface as identified by the same value
+ of the ifIndex object, defined in MIB-II [3]."
+ ::= { ringStationEntry 1 }
+
+ ringStationMacAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The physical address of this station."
+ ::= { ringStationEntry 2 }
+
+ ringStationLastNAUN OBJECT-TYPE
+ SYNTAX MacAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The physical address of last known NAUN of this
+ station."
+ ::= { ringStationEntry 3 }
+
+ ringStationStationStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ active(1), -- actively participating in ring poll.
+ inactive(2), -- Not participating in ring poll
+ forcedRemoval(3) -- Forced off ring by network
+ -- management.
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this station on the ring."
+ ::= { ringStationEntry 4 }
+
+ ringStationLastEnterTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the time this station
+ last entered the ring. If the time is unknown,
+ this value shall be zero."
+ ::= { ringStationEntry 5 }
+
+
+ ringStationLastExitTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the time the probe
+ detected that this station last exited the ring.
+ If the time is unknown, this value shall be zero."
+ ::= { ringStationEntry 6 }
+
+ ringStationDuplicateAddresses OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times this station experienced a
+ duplicate address error."
+ ::= { ringStationEntry 7 }
+
+ ringStationInLineErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of line errors reported by this
+ station in error reporting packets detected by the
+ probe."
+ ::= { ringStationEntry 8 }
+
+ ringStationOutLineErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of line errors reported in error
+ reporting packets sent by the nearest active
+ downstream neighbor of this station and detected
+ by the probe."
+ ::= { ringStationEntry 9 }
+
+ ringStationInternalErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of adapter internal errors
+ reported by this station in error reporting
+ packets detected by the probe."
+
+
+ ::= { ringStationEntry 10 }
+
+ ringStationInBurstErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of burst errors reported by this
+ station in error reporting packets detected by the
+ probe."
+ ::= { ringStationEntry 11 }
+
+ ringStationOutBurstErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of burst errors reported in
+ error reporting packets sent by the nearest active
+ downstream neighbor of this station and detected
+ by the probe."
+ ::= { ringStationEntry 12 }
+
+ ringStationACErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of AC (Address Copied) errors
+ reported in error reporting packets sent by the
+ nearest active downstream neighbor of this station
+ and detected by the probe."
+ ::= { ringStationEntry 13 }
+
+ ringStationAbortErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of abort delimiters reported by
+ this station in error reporting packets detected
+ by the probe."
+ ::= { ringStationEntry 14 }
+
+ ringStationLostFrameErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+
+
+ DESCRIPTION
+ "The total number of lost frame errors reported by
+ this station in error reporting packets detected
+ by the probe."
+ ::= { ringStationEntry 15 }
+
+ ringStationCongestionErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of receive congestion errors
+ reported by this station in error reporting
+ packets detected by the probe."
+ ::= { ringStationEntry 16 }
+
+ ringStationFrameCopiedErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frame copied errors reported
+ by this station in error reporting packets
+ detected by the probe."
+ ::= { ringStationEntry 17 }
+
+ ringStationFrequencyErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frequency errors reported by
+ this station in error reporting packets detected
+ by the probe."
+ ::= { ringStationEntry 18 }
+
+ ringStationTokenErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of token errors reported by this
+ station in error reporting frames detected by the
+ probe."
+ ::= { ringStationEntry 19 }
+
+ ringStationInBeaconErrors OBJECT-TYPE
+ SYNTAX Counter
+
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of beacon frames sent by this
+ station and detected by the probe."
+ ::= { ringStationEntry 20 }
+
+ ringStationOutBeaconErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of beacon frames detected by the
+ probe that name this station as the NAUN."
+ ::= { ringStationEntry 21 }
+
+ ringStationInsertions OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times the probe detected this
+ station inserting onto the ring."
+ ::= { ringStationEntry 22 }
+
+
+ -- The Token Ring Ring Station Order Group
+ --
+ -- Implementation of this group is optional
+ --
+
+ -- The ringStationOrderTable
+
+ ringStationOrderTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF RingStationOrderEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of ring station entries for stations in
+ the ring poll, ordered by their ring-order."
+ ::= { tokenRing 3 }
+
+ ringStationOrderEntry OBJECT-TYPE
+ SYNTAX RingStationOrderEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for a particular
+
+
+ station that is active on a ring monitored by this
+ device. This table will contain information for
+ every interface that has a
+ ringStationControlStatus equal to valid."
+ INDEX { ringStationOrderIfIndex,
+ ringStationOrderOrderIndex }
+ ::= { ringStationOrderTable 1 }
+
+ -- As an example, an instance of the
+ -- ringStationOrderMacAddress object might be named
+ -- ringStationOrderMacAddress.1.14
+
+ RingStationOrderEntry ::= SEQUENCE {
+ ringStationOrderIfIndex INTEGER,
+ ringStationOrderOrderIndex INTEGER,
+ ringStationOrderMacAddress MacAddress
+ }
+
+ ringStationOrderIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies the
+ interface on this remote network monitoring device
+ on which this station was detected. The interface
+ identified by a particular value of this object is
+ the same interface as identified by the same value
+ of the ifIndex object, defined in MIB-II [3]."
+ ::= { ringStationOrderEntry 1 }
+
+ ringStationOrderOrderIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "This index denotes the location of this station
+ with respect to other stations on the ring. This
+ index is one more than the number of hops
+ downstream that this station is from the rmon
+ probe. The rmon probe itself gets the value one."
+ ::= { ringStationOrderEntry 2 }
+
+ ringStationOrderMacAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "The physical address of this station."
+ ::= { ringStationOrderEntry 3 }
+
+
+ -- The Token Ring Ring Station Config Group
+ --
+ -- Implementation of this group is optional.
+ -- The ring station config group manages token ring nodes
+ -- through active means.
+
+ ringStationConfigControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF RingStationConfigControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of ring station configuration control
+ entries."
+ ::= { tokenRing 4 }
+
+ ringStationConfigControlEntry OBJECT-TYPE
+ SYNTAX RingStationConfigControlEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "This entry controls active management of stations
+ by the probe. One entry exists in this table for
+ each active station in the ringStationTable."
+ INDEX { ringStationConfigControlIfIndex,
+ ringStationConfigControlMacAddress }
+ ::= { ringStationConfigControlTable 1 }
+
+ -- As an example, an instance of the
+ -- ringStationConfigControlRemove object might be named
+ -- ringStationConfigControlRemove.1.16.0.90.0.64.131
+
+ RingStationConfigControlEntry ::= SEQUENCE {
+ ringStationConfigControlIfIndex INTEGER,
+ ringStationConfigControlMacAddress MacAddress,
+ ringStationConfigControlRemove INTEGER,
+ ringStationConfigControlUpdateStats INTEGER
+ }
+
+ ringStationConfigControlIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies the
+
+
+ interface on this remote network monitoring device
+ on which this station was detected. The interface
+ identified by a particular value of this object is
+ the same interface as identified by the same value
+ of the ifIndex object, defined in MIB-II [3]."
+ ::= { ringStationConfigControlEntry 1 }
+
+ ringStationConfigControlMacAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The physical address of this station."
+ ::= { ringStationConfigControlEntry 2 }
+
+ ringStationConfigControlRemove OBJECT-TYPE
+ SYNTAX INTEGER {
+ stable(1),
+ removing(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Setting this object to `removing(2)' causes a
+ Remove Station MAC frame to be sent. The agent
+ will set this object to `stable(1)' after
+ processing the request."
+ ::= { ringStationConfigControlEntry 3 }
+
+ ringStationConfigControlUpdateStats OBJECT-TYPE
+ SYNTAX INTEGER {
+ stable(1),
+ updating(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Setting this object to `updating(2)' causes the
+ configuration information associate with this
+ entry to be updated. The agent will set this
+ object to `stable(1)' after processing the
+ request."
+ ::= { ringStationConfigControlEntry 4 }
+
+
+
+
+
+
+
+ -- The ringStationConfig Table
+ --
+ -- Entries exist in this table after an active
+ -- configuration query has completed successfully for
+ -- a station. This query is initiated by the associated
+ -- ringStationConfigControlUpdateStats variable.
+
+ ringStationConfigTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF RingStationConfigEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of configuration entries for stations on a
+ ring monitored by this probe."
+ ::= { tokenRing 5 }
+
+ ringStationConfigEntry OBJECT-TYPE
+ SYNTAX RingStationConfigEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of statistics for a particular
+ station that has been discovered on a ring
+ monitored by this probe."
+ INDEX { ringStationConfigIfIndex,
+ ringStationConfigMacAddress }
+ ::= { ringStationConfigTable 1 }
+
+ -- As an example, an instance of the
+ -- ringStationConfigLocation object might be named
+ -- ringStationConfigLocation.1.16.0.90.0.64.131
+
+ RingStationConfigEntry ::= SEQUENCE {
+ ringStationConfigIfIndex INTEGER,
+ ringStationConfigMacAddress MacAddress,
+ ringStationConfigUpdateTime TimeTicks,
+ ringStationConfigLocation OCTET STRING,
+ ringStationConfigMicrocode OCTET STRING,
+ ringStationConfigGroupAddress OCTET STRING,
+ ringStationConfigFunctionalAddress OCTET STRING
+ }
+
+ ringStationConfigIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies the
+
+
+ interface on this remote network monitoring device
+ on which this station was detected. The interface
+ identified by a particular value of this object is
+ the same interface as identified by the same value
+ of the ifIndex object, defined in MIB-II [3]."
+ ::= { ringStationConfigEntry 1 }
+
+ ringStationConfigMacAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The physical address of this station."
+ ::= { ringStationConfigEntry 2 }
+
+ ringStationConfigUpdateTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the time this
+ configuration information was last updated
+ (completely)."
+ ::= { ringStationConfigEntry 3 }
+
+ ringStationConfigLocation OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(4))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The assigned physical location of this station."
+ ::= { ringStationConfigEntry 4 }
+
+ ringStationConfigMicrocode OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(10))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The microcode EC level of this station."
+ ::= { ringStationConfigEntry 5 }
+
+ ringStationConfigGroupAddress OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(4))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The low-order 4 octets of the group address
+ recognized by this station."
+
+
+ ::= { ringStationConfigEntry 6 }
+
+ ringStationConfigFunctionalAddress OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(4))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "the functional addresses recognized by this
+ station."
+ ::= { ringStationConfigEntry 7 }
+
+
+ -- The Token Ring Source Routing group
+ --
+ -- Implementation of this group is optional.
+ -- The data in this group is collected from the source
+ -- routing information potentially present in any token ring
+ -- packet. This information will be valid only in a pure
+ -- source route bridging environment. In a transparent
+ -- bridging or a mixed bridging environment, this
+ -- information may not be accurate.
+
+ sourceRoutingStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SourceRoutingStatsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of source routing statistics entries."
+ ::= { tokenRing 6 }
+
+ sourceRoutingStatsEntry OBJECT-TYPE
+ SYNTAX SourceRoutingStatsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A collection of source routing statistics kept
+ for a particular Token Ring interface."
+ INDEX { sourceRoutingStatsIfIndex }
+ ::= { sourceRoutingStatsTable 1 }
+
+ -- As an example, an instance of the
+ -- sourceRoutingStatsInFrames object might be named
+ -- sourceRoutingStatsInFrames.1
+
+ SourceRoutingStatsEntry ::= SEQUENCE {
+ sourceRoutingStatsIfIndex INTEGER,
+ sourceRoutingStatsRingNumber INTEGER,
+ sourceRoutingStatsInFrames Counter,
+
+
+ -- in to our net
+
+ sourceRoutingStatsOutFrames Counter,
+ -- out from our net
+
+ sourceRoutingStatsThroughFrames Counter,
+ -- through our net
+
+ sourceRoutingStatsAllRoutesBroadcastFrames Counter,
+ sourceRoutingStatsSingleRouteBroadcastFrames Counter,
+ sourceRoutingStatsInOctets Counter,
+ sourceRoutingStatsOutOctets Counter,
+ sourceRoutingStatsThroughOctets Counter,
+ sourceRoutingStatsAllRoutesBroadcastOctets Counter,
+ sourceRoutingStatsSingleRoutesBroadcastOctets Counter,
+ sourceRoutingStatsLocalLLCFrames Counter,
+ sourceRoutingStats1HopFrames Counter,
+ sourceRoutingStats2HopsFrames Counter,
+ sourceRoutingStats3HopsFrames Counter,
+ sourceRoutingStats4HopsFrames Counter,
+ sourceRoutingStats5HopsFrames Counter,
+ sourceRoutingStats6HopsFrames Counter,
+ sourceRoutingStats7HopsFrames Counter,
+ sourceRoutingStats8HopsFrames Counter,
+ sourceRoutingStatsMoreThan8HopsFrames Counter,
+ sourceRoutingStatsOwner OwnerString,
+ sourceRoutingStatsStatus EntryStatus
+ }
+
+ sourceRoutingStatsIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of this object uniquely identifies the
+ interface on this remote network monitoring device
+ on which source routing statistics will be
+ detected. The interface identified by a
+ particular value of this object is the same
+ interface as identified by the same value of the
+ ifIndex object, defined in MIB-II [3]."
+ ::= { sourceRoutingStatsEntry 1 }
+
+ sourceRoutingStatsRingNumber OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "The ring number of the ring monitored by this
+ entry. When any object in this entry is created,
+ the probe will attempt to discover the ring
+ number. Only after the ring number is discovered
+ will this object be created. After creating an
+ object in this entry, the management station
+ should poll this object to detect when it is
+ created. Only after this object is created can
+ the management station set the
+ sourceRoutingStatsStatus entry to valid(1)."
+ ::= { sourceRoutingStatsEntry 2 }
+
+ sourceRoutingStatsInFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The count of frames sent into this ring from
+ another ring."
+ ::= { sourceRoutingStatsEntry 3 }
+
+ sourceRoutingStatsOutFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The count of frames sent from this ring to
+ another ring."
+ ::= { sourceRoutingStatsEntry 4 }
+
+ sourceRoutingStatsThroughFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The count of frames sent from another ring,
+ through this ring, to another ring."
+ ::= { sourceRoutingStatsEntry 5 }
+
+ sourceRoutingStatsAllRoutesBroadcastFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good frames received that
+ were All Routes Broadcast."
+ ::= { sourceRoutingStatsEntry 6 }
+
+
+
+ sourceRoutingStatsSingleRouteBroadcastFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of good frames received that
+ were Single Route Broadcast."
+ ::= { sourceRoutingStatsEntry 7 }
+
+ sourceRoutingStatsInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The count of octets in good frames sent into this
+ ring from another ring."
+ ::= { sourceRoutingStatsEntry 8 }
+
+ sourceRoutingStatsOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The count of octets in good frames sent from this
+ ring to another ring."
+ ::= { sourceRoutingStatsEntry 9 }
+
+ sourceRoutingStatsThroughOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The count of octets in good frames sent another
+ ring, through this ring, to another ring."
+ ::= { sourceRoutingStatsEntry 10 }
+
+ sourceRoutingStatsAllRoutesBroadcastOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets in good frames
+ received that were All Routes Broadcast."
+ ::= { sourceRoutingStatsEntry 11 }
+
+ sourceRoutingStatsSingleRoutesBroadcastOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+
+
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets in good frames
+ received that were Single Route Broadcast."
+ ::= { sourceRoutingStatsEntry 12 }
+
+ sourceRoutingStatsLocalLLCFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frames received who had no
+ RIF field (or had a RIF field that only included
+ the local ring's number) and were not All Route
+ Broadcast Frames."
+ ::= { sourceRoutingStatsEntry 13 }
+
+ sourceRoutingStats1HopFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frames received whose route
+ had 1 hop, were not All Route Broadcast Frames,
+ and whose source or destination were on this ring
+ (i.e. frames that had a RIF field and had this
+ ring number in the first or last entry of the RIF
+ field)."
+ ::= { sourceRoutingStatsEntry 14 }
+
+ sourceRoutingStats2HopsFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frames received whose route
+ had 2 hops, were not All Route Broadcast Frames,
+ and whose source or destination were on this ring
+ (i.e. frames that had a RIF field and had this
+ ring number in the first or last entry of the RIF
+ field)."
+ ::= { sourceRoutingStatsEntry 15 }
+
+ sourceRoutingStats3HopsFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+
+
+ "The total number of frames received whose route
+ had 3 hops, were not All Route Broadcast Frames,
+ and whose source or destination were on this ring
+ (i.e. frames that had a RIF field and had this
+ ring number in the first or last entry of the RIF
+ field)."
+ ::= { sourceRoutingStatsEntry 16 }
+
+ sourceRoutingStats4HopsFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frames received whose route
+ had 4 hops, were not All Route Broadcast Frames,
+ and whose source or destination were on this ring
+ (i.e. frames that had a RIF field and had this
+ ring number in the first or last entry of the RIF
+ field)."
+ ::= { sourceRoutingStatsEntry 17 }
+
+ sourceRoutingStats5HopsFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frames received whose route
+ had 5 hops, were not All Route Broadcast Frames,
+ and whose source or destination were on this ring
+ (i.e. frames that had a RIF field and had this
+ ring number in the first or last entry of the RIF
+ field)."
+ ::= { sourceRoutingStatsEntry 18 }
+
+ sourceRoutingStats6HopsFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frames received whose route
+ had 6 hops, were not All Route Broadcast Frames,
+ and whose source or destination were on this ring
+ (i.e. frames that had a RIF field and had this
+ ring number in the first or last entry of the RIF
+ field)."
+ ::= { sourceRoutingStatsEntry 19 }
+
+ sourceRoutingStats7HopsFrames OBJECT-TYPE
+
+
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frames received whose route
+ had 7 hops, were not All Route Broadcast Frames,
+ and whose source or destination were on this ring
+ (i.e. frames that had a RIF field and had this
+ ring number in the first or last entry of the RIF
+ field)."
+ ::= { sourceRoutingStatsEntry 20 }
+
+ sourceRoutingStats8HopsFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frames received whose route
+ had 8 hops, were not All Route Broadcast Frames,
+ and whose source or destination were on this ring
+ (i.e. frames that had a RIF field and had this
+ ring number in the first or last entry of the RIF
+ field)."
+ ::= { sourceRoutingStatsEntry 21 }
+
+ sourceRoutingStatsMoreThan8HopsFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of frames received whose route
+ had more than 8 hops, were not All Route Broadcast
+ Frames, and whose source or destination were on
+ this ring (i.e. frames that had a RIF field and
+ had this ring number in the first or last entry of
+ the RIF field)."
+ ::= { sourceRoutingStatsEntry 22 }
+
+ sourceRoutingStatsOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The entity that configured this entry and is
+ therefore using the resources assigned to it."
+ ::= { sourceRoutingStatsEntry 23 }
+
+ sourceRoutingStatsStatus OBJECT-TYPE
+
+
+ SYNTAX EntryStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this sourceRoutingStats entry."
+ ::= { sourceRoutingStatsEntry 24 }
+
+ END
diff --git a/lib/snmp/test/test-mibs/Table1-error.mib b/lib/snmp/test/test-mibs/Table1-error.mib
new file mode 100644
index 0000000000..d2d38c14ef
--- /dev/null
+++ b/lib/snmp/test/test-mibs/Table1-error.mib
@@ -0,0 +1,97 @@
+ Table1-error DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+ klas1 OBJECT IDENTIFIER ::= { private 7 }
+
+ RowStatus ::=
+ INTEGER {
+ -- the following two values are states:
+ -- these values may be read or written
+ active(1),
+ notInService(2),
+
+ -- the following value is a state:
+ -- this value may be read, but not written
+ notReady(3),
+
+ -- the following three values are
+ -- actions: these values may be written,
+ -- but are never read
+ createAndGo(4),
+ createAndWait(5),
+ destroy(6)
+ }
+
+
+ friendsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF FriendsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of klas friends."
+ ::= { klas1 4 }
+
+ friendsEntry OBJECT-TYPE
+ SYNTAX FriendsEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "nope"
+ INDEX { fIndex }
+ ::= { friendsTable 1 }
+
+ FriendsEntry ::=
+ SEQUENCE {
+ fIndex
+ INTEGER,
+ fName
+ OCTET STRING,
+ fStatus
+ INTEGER }
+
+ fName OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Name of friend"
+ ::= { friendsEntry 2 }
+
+-- this is perhaps not really an error.
+-- a _nice_ compiler should allow columns to be defined in any order.
+
+ fIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "number of friend"
+ ::= { friendsEntry 1 }
+
+ fStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The status of this conceptual row."
+ ::= { friendsEntry 3 }
+
+ authenticationFajlure TRAP-TYPE
+ ENTERPRISE klas1
+ DESCRIPTION
+ "An authenticationFailure trap signifies that
+ the sending protocol entity is the addressee
+ of a protocol message that is not properly
+ authenticated. While implementations of the
+ SNMP must be capable of generating this trap,
+ they must also be capable of suppressing the
+ emission of such traps via an implementation-
+ specific mechanism."
+ ::= 4
+
+
+ END
+
diff --git a/lib/snmp/test/test-mibs/Type-error.mib b/lib/snmp/test/test-mibs/Type-error.mib
new file mode 100644
index 0000000000..6361679d47
--- /dev/null
+++ b/lib/snmp/test/test-mibs/Type-error.mib
@@ -0,0 +1,11 @@
+Type-error DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+ Q ::= INTEGER
+ Q ::= INTEGER
+
+ END
+