RFC 3287 - Remote Monitoring MIB Extensions for Differentiated Services (Formats: TXT)
Network Working Group A. Bierman
Request for Comments: 3287 Cisco Systems, Inc.
Category: Standards Track July 2002
|
Remote Monitoring MIB Extensions for
Differentiated Services
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
This memo defines a portion of the Management Information Base (MIB)
for use with network management protocols in the Internet community.
In particular, it describes managed objects used for monitoring
Differentiated Services (DS) Codepoint usage in packets which contain
a DS field, utilizing the monitoring framework defined in the RMON-2
(Remote Network Monitoring Management Version 2) MIB.
Table of Contents
1 The SNMP Network Management Framework ........................... 2
2 Overview ........................................................ 3
2.1 Terms ......................................................... 4
2.2 Relationship to Differentiated Services ....................... 4
2.3 Relationship to the Remote Monitoring MIBs .................... 5
3 MIB Structure ................................................... 6
3.1 DSCP Counter Aggregation ...................................... 7
3.1.1 Counter Aggregation Configuration .......................... 8
3.2 MIB Group Overview ........................................... 8
3.2.1 DSCP Counter Aggregation Control Group ..................... 9
3.2.2 DS Statistics Group ........................................ 10
3.2.3 DS Protocol Distribution Group ............................. 10
3.2.4 DS Host Distribution Group ................................. 11
3.2.5 DSMON Capabilities Group ................................... 12
3.2.6 DS Matrix Distribution Group ............................... 13
3.3 RMON vs. DSMON Indexing Structure ............................ 13
4 Definitions .................................................... 16
Bierman Standards Track [Page 1]
RFC 3287 DSMON MIB July 2002
5 Counter Aggregation Configuration Usage Examples .............. 108
5.1 Step 1: Unlock the Counter Aggregation Configuration ........ 109
5.2 Step 2: Check the Maximum number of Counter Aggregation
Groups ..................................................... 109
5.3 Step 3: Check if the counter aggregation profiles already
exist ...................................................... 109
5.4 Step 4: Create the Counter Aggregation Control Entries ...... 109
5.5 Step 5: Create the Counter Aggregation Group Descriptions
............................................................ 110
5.6 Step 6: Create the Counter Aggregation Profile Mappings ..... 112
5.7 Step 7: Lock the Counter Aggregation Configuration .......... 115
6 Intellectual Property ......................................... 115
7 Acknowledgements .............................................. 116
8 References .................................................... 116
9 Security Considerations ....................................... 118
10 Author's Address ............................................. 119
11 Full Copyright Statement ..................................... 120
1. The SNMP Network Management Framework
The SNMP Management Framework presently consists of five major
components:
o An overall architecture, described in RFC 2571 [RFC2571].
o Mechanisms for describing and naming objects and events for the
purpose of management. The first version of this Structure of
Management Information (SMI) is called SMIv1 and is described in
STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC
1215 [RFC1215]. The second version, called SMIv2, is described in
STD 58, RFC 2578 [RFC2578], RFC 2579 [RFC2579] and RFC 2580
[RFC2580].
o Message protocols for transferring management information. The
first version of the SNMP message protocol is called SNMPv1 and is
described in STD 15, RFC 1157 [RFC1157]. A second version of the
SNMP message protocol, which is not an Internet standards track
protocol, is called SNMPv2c and is described in RFC 1901 [RFC1901]
and RFC 1906 [RFC1906]. The third version of the message protocol
is called SNMPv3 and is described in RFC 1906 [RFC1906], RFC 2572
[RFC2572] and RFC 2574 [RFC2574].
o Protocol operations for accessing management information. The
first set of protocol operations and associated PDU formats is
described in STD 15, RFC 1157 [RFC1157]. A second set of protocol
operations and associated PDU formats is described in RFC 1905
[RFC1905].
Bierman Standards Track [Page 2]
RFC 3287 DSMON MIB July 2002
o A set of fundamental applications described in RFC 2573 [RFC2573]
and the view-based access control mechanism described in RFC 2575
[RFC2575].
A more detailed introduction to the current SNMP Management Framework
can be found in RFC 2570 [RFC2570].
Managed objects are accessed via a virtual information store, termed
the Management Information Base or MIB. Objects in the MIB are
defined using the mechanisms defined in the SMI.
This memo specifies a MIB module that is compliant to the SMIv2. A
MIB conforming to the SMIv1 can be produced through the appropriate
translations. The resulting translated MIB must be semantically
equivalent, except where objects or events are omitted because no
translation is possible (use of Counter64). Some machine readable
information in SMIv2 will be converted into textual descriptions in
SMIv1 during the translation process. However, this loss of machine
readable information is not considered to change the semantics of the
MIB.
2. Overview
There is a need for a standardized way of monitoring the network
traffic usage of Differentiated Services (DS) [RFC2474] codepoint
values. Each DS codepoint (DSCP) value may be given a different
treatment by a forwarding device, and this affects which packets get
dropped or delayed during periods of network congestion.
The IETF DIFFSERV working group has redefined the semantics of the
Type of Service (TOS) octet in the IP header, which is now called the
'DS field'. The 6-bit Codepoint (DSCP) portion is contained in the
DS field, which provides for 64 different packet treatments for the
implementation of differentiated network services.
By polling DSCP usage counters, an NMS can determine the network
throughput for traffic associated with different DSCPs. This data
can then be analyzed in order to 'tune' DSCP 'allocations' within a
network, based on the Quality of Service (QoS) policies for that
network.
Remote monitoring agents are typically implemented as independent
software (and sometimes hardware) components, called 'RMON probes'.
Note that DSMON-capable RMON probes simply collect and aggregate
statistics, based on criteria (which includes the DSCP value) that
can be determined by inspecting the contents of monitored packets and
do not in any way monitor any aspect of a DS forwarding device's
internal statistics.
Bierman Standards Track [Page 3]
RFC 3287 DSMON MIB July 2002
2.1. Terms
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119.
[RFC2119]
This document uses some terms that need introduction:
DataSource
A source of data for monitoring purposes. This term is used
exactly as defined in the RMON-2 MIB [RFC2021].
protocol
A specific protocol encapsulation, as identified for monitoring
purposes. This term is used exactly as defined in the RMON
Protocol Identifiers document [RFC2074].
Counter Aggregation Group
A group of statistical counters that are being combined in the
agent to produce one aggregated counter. Refer to sections 3.1
and 3.2.1 for details on counter aggregation groups.
Counter Aggregation Profile
Also called 'profile'; A complete set of counter aggregation group
mappings for DSCP values (i.e., 64 mappings, for each DSCP values
0 to 63), which are applied to all monitored packets on a
particular data source and/or DSMON collection. Refer to sections
3.1 and 3.2.1 for details on counter aggregation profiles.
High Capacity Monitoring
The generic capability to collect and store statistics with an
internal range of 64 bits (e.g., Counter64). This term does not
refer to implementation of the High Capacity RMON MIB [RFC3273].
2.2. Relationship to Differentiated Services
The DSMON MIB is a product of the RMONMIB WG, not the DIFFSERV WG,
and it focuses on extending several existing RMON mechanisms to
support additional packet classification, based on DSCP values
observed in monitored packets. This document assumes the reader is
familiar with the DS Architecture [RFC2475].
It is expected that complex management applications will use the
counters in this MIB to help analyze DS-related throughput. It is
expected that other metrics, such as delay and jitter, will also be
analyzed, but support for other metrics is outside the scope of this
document.
Bierman Standards Track [Page 4]
RFC 3287 DSMON MIB July 2002
2.3. Relationship to the Remote Monitoring MIBs
This MIB is intended to be implemented in Remote Monitoring (RMON)
probes, which support the RMON-2 MIB [RFC2021]. Such probes may be
stand-alone devices, or may be co-located with other networking
devices (e.g., ethernet switches and repeaters).
The DSMON functions are intended to be implemented in conjunction
with the associated RMON functions, but the MIB is independent of all
other RMON data tables.
Several concepts and even MIB objects from the RMON MIBs are used in
the DSMON MIB:
Protocol Directory
The RMON-2 MIB [RFC2021] defines the protocolDirTable, which is a
directory of all the protocols that the RMON-2 agent is capable of
decoding and counting. The DSMON MIB utilizes this directory to
identify the protocols detected in monitored packets. The
protocolDirLocalIndex MIB object is used to identify protocol
encapsulations in all DSMON data tables which classify and
aggregate by protocol type in some manner. Note that the
protocolDirTable is used for protocol identification only,
independent of DSCP classification.
TimeFilter
The RMON-2 TimeFilter textual convention provides a mechanism to
retrieve only rows which have been created or modified since the
last polling interval (for a particular NMS). The DSMON MIB uses
this textual convention in the large data tables, in order to
minimize polling impact.
Zero-Based Counters
Since counters are instantiated by management action, as in the
RMON MIBs, the DSMON MIB uses zero-based counters in all data
collection tables. Specifically, the ZeroBasedCounter32 textual
convention from the RMON-2 MIB [RFC2021] and the
ZeroBasedCounter64 textual convention (defined in the HCNUM-TC MIB
[RFC2856]) are used to define counter objects in this MIB.
High Capacity Counters
The DSMON MIB uses the 'SNMPv1 coexistence' strategy adopted by
the RMONMIB WG. That is, where a 64-bit counter is provided, a
32-bit version of the counter, and a 32-bit overflow counter are
also provided.
Bierman Standards Track [Page 5]
RFC 3287 DSMON MIB July 2002
TopN Reports
The DSMON MIB uses the same TopN reporting MIB structure as the
RMON-2 MIB [RFC2021]. TopN reporting can greatly reduce the
polling overhead required to analyze DSCP usage patterns.
Some DESCRIPTION clauses for DSMON objects are very similar to those
for existing RMON-2 or HC-RMON objects. This is intentional, since
the semantics of the DSMON features are designed to be as close to
existing RMON feature as possible, to allow developers and users some
level of 'MIB re-use'.
3. MIB Structure
Figure 1: DSMON MIB Functional Structure
+--------------+ +---------------+
| | | Counter |
| DSMON | | Aggregation |
| Capabilities | | Control |
| | | |
+--------------+ +---------------+
|
|
+------------------------------+----------------------------+
| V |
| |
| +-----------+ +-----------+ +-----------+ +------------+ |
| | | | | | | | | |
| | Data Src | | Protocol | | Net. Host | | App Matrix | |
| | Stats | | Stats | | Stats | | Stats | |
| | | | | | | | | |
| +-----------+ +-----------+ +-----------+ +------------+ |
| | | | |
| V V V |
| +-----------+ +-----------+ +------------+ |
| | | | | | | |
| | Protocol | | Net. Host | | App Matrix | |
| | TopN | | TopN | | TopN | |
| | | | | | | |
| +-----------+ +-----------+ +------------+ |
| |
| Data Collection |
| |
+-----------------------------------------------------------+
Bierman Standards Track [Page 6]
RFC 3287 DSMON MIB July 2002
The DSMON MIB can divided into three functional components:
- DSMON Capabilities
Describes which DSMON object groups are supported by the agent on
at least one data source.
- Counter Aggregation Control
Controls how individual DIFFSERV codepoint counters are aggregated
in DSMON data collections.
- Data Collection
Controls how individual statistical collections are maintained by
the agent and reported to management applications. The individual
boxes within the Data Collection box represent the DSMON data
collections (described in section 3.2):
- Data Source Statistics
- Protocol Statistics
- Protocol Statistics TopN Reporting
- Network Protocol Host Statistics
- Network Protocol Host Statistics TopN Reporting
- Application Protocol Matrix Statistics
- Application Protocol Matrix Statistics TopN Reporting
3.1. DSCP Counter Aggregation
A mechanism to configure the agent to internally aggregate counters
is provided, based on DSCP values. This is desirable for several
reasons:
- agent data reduction
An agent implementation can potentially reduce the number of
counters maintained for a given DSMON collection.
- agent data collection limitations
Some implementation strategies might provide for a limited number
of high-speed (e.g., hardware-based) counters for either single or
aggregated codepoints.
- application data retrieval reduction
Applications that would otherwise aggregate counters for
individual codepoints can move that function to the agent in order
to reduce the polling overhead on the application, the network,
and the agent device.
- some unused codepoints at this time
Various DSCP values may be expected to remain unused on a given
network, and may be aggregated for counting purposes.
Bierman Standards Track [Page 7]
RFC 3287 DSMON MIB July 2002
- some DSCP values are mapped to the same packet treatment
A network administrator may align the counter aggregation
configuration of the monitoring device with the DS configuration,
and aggregate statistics for DSCP values which are expected to
receive the same treatment by the forwarding devices.
3.1.1. Counter Aggregation Configuration
The configuration of DSCP counter to counter aggregation group
mappings is managed in a global manner, so that these settings can be
shared across several DSMON collections and/or data sources. One
complete set of DSCP counter mappings is called a counter aggregation
profile. The DSMON control tables are very similar to existing
RMON-2 control tables, except they contain an extra parameter to
identify the counter aggregation profile the agent should use for the
collection.
The appropriate granularity for counter aggregation profile
assignment may be the data source, but in order to reduce MIB
complexity (by avoiding an extra layer of tables), an instance of the
counter aggregation profile parameter exists for each collection. An
agent MAY choose to restrict configurations such that all DSMON data
collections for the same data source must use the same counter
aggregation profile.
The DSMON MIB supports the configuration of an arbitrary number of
counter aggregation profiles. There is a top-level counter
aggregation control table, which contains one entry for each counter
aggregation profile. A subordinate counter aggregation profile table
provides information about each DSCP counter to counter aggregation
group mapping in each profile. An auxiliary counter aggregation
group table also provides descriptive information about each counter
aggregation group in each profile. Refer to section 3.2.1 for
details on these MIB objects.
3.2. MIB Group Overview
The DSMON MIB contains six groups of MIB objects:
- dsmonAggregateControl group
Controls the configuration of counter aggregation groups for the
purpose of reducing the total number of counters maintained by the
agent.
- dsmonStatsObjects group
Report per counter aggregation group distribution statistics for a
particular RMON dataSource.
Bierman Standards Track [Page 8]
RFC 3287 DSMON MIB July 2002
- dsmonPdistObjects group
Report per counter aggregation group distribution statistics for
each application protocol detected on a particular RMON
dataSource.
- dsmonHostObjects group
Report host address distribution statistics for each counter
aggregation group, detected on a particular RMON dataSource.
- dsmonCapsObjects group
Report the static DSMON MIB functional capabilities of the agent
implementation.
- dsmonMatrixObjects group
Report host address pair distribution statistics for each counter
aggregation group, detected on a particular RMON dataSource.
3.2.1. DSCP Counter Aggregation Control Group
This group contains 4 scalar objects and three tables, and is used by
a management station to configure counter aggregation profiles.
The dsmonMaxAggGroups scalar is a read-only integer which indicates
the maximum number of counter aggregation groups that the agent will
allow to be configured into a single aggregation profile. This value
SHOULD be equal to 64 (the number of codepoints), but an agent MAY
limit the number of counter aggregation groups because of resource
limitations (e.g., small number of hardware-based counters). At
least one counter aggregation profile containing at least two counter
aggregation groups SHOULD be supported by the agent. (Note that
classifying all DSCP counters into the same statistical 'bucket' may
yield a redundant data collection, which can be achieved more easily
with an HC-RMON or RMON-2 collection instead.)
The dsmonAggControlLocked scalar is used as a top level switch,
controlling most write access to the dsmonAggControlTable,
dsmonAggProfileTable, and dsmonAggGroupTable. (The
dsmonAggControlOwner object is the only exception.) All active DSMON
collection data is deleted, and collection suspended, while this
object is equal to 'false', since the meaning of one or more counter
aggregation control tables may change when it is set back to 'true'.
The dsmonAggControlChanges counter and dsmonAggControlLastChangeTime
timestamp can be used by a management station to detect that the
codepoint to counter aggregation group mappings may have changed
between polls.
Bierman Standards Track [Page 9]
RFC 3287 DSMON MIB July 2002
The dsmonAggControlTable is a read-create table which contains one
entry for each counter aggregation profile configured on the agent.
Each entry is identified by a dsmonAggControlIndex value, which is
also used as the major index into the dsmonAggProfileTable and
dsmonAggGroupTable. The DSMON control tables with DataSource objects
select a counter aggregation profile by referencing this index value.
The dsmonAggProfileTable is a read-write table which contains 64 rows
for each associated entry in the dsmonAggControlTable, which MUST be
indexed from 0 to 63. The agent creates this set of 64 instances
when the associated dsmonAggControlEntry is activated, and deletes
them when that dsmonAggControlEntry is deactivated. Each of the 64
rows represents a conceptual DSCP counter, identified by the same
dsmonAggProfileDSCP value, and contains the DSCP counter to counter
aggregation group mapping for that DSCP counter, in the indicated
profile. The agent SHOULD use the value zero as the initial counter
aggregation group assignment for each entry in this table.
The dsmonAggGroupTable contains an administratively assigned
descriptive label for each configured counter aggregation group.
This table is not required to be fully configured in order for data
collection to occur, since collections are identified by the agent
with integer indices. It is provided to allow the agent to store a
descriptive string for each configured counter aggregation group.
There is no attempt made to convey any real semantics for each
counter aggregation group. A management station MAY choose not to
configure entries in this table.
3.2.2. DS Statistics Group
This group contains two tables, the dsmonStatsControlTable and the
dsmonStatsTable, and supports counter aggregation group distribution
statistics for half and full-duplex, low and high speed interfaces.
Packet and octets distributions are maintained in the dsmonStatsTable
for each active control row in the dsmonStatsControlTable.
This group provides the lowest statistics granularity in the DSMON
MIB. It is expected that a management application will analyze
certain DS deployment or performance problems by first examining the
counter aggregation group distribution for an entire data source with
this group.
3.2.3. DS Protocol Distribution Group
This group contains two tables for statistics collection,
(dsmonPdistCtlTable and dsmonPdistStatsTable), and two tables for a
'Top N' reporting function for the collected statistics
(dsmonPdistTopNCtlTable and dsmonPdistTopNTable).
Bierman Standards Track [Page 10]
RFC 3287 DSMON MIB July 2002
The dsmonPdistCtlTable and dsmonPdistStatsTable tables provide
counter aggregation group distribution statistics for each selected
protocol encapsulation in packets monitored on a particular
dataSource. Packet and octets distributions (per counter aggregation
group per protocol) are maintained in the dsmonPdistStatsTable for
each active control row in the dsmonPdistCtlTable.
Due to the potentially large number of entries, the DS Protocol
Distribution is different from the RMON-2 protocol distribution group
in several ways:
- maximum desired entries parameter added to the control table
- inserts and deletes counters added to the control table
- support for LRU garbage collection in the dsmonPdistStatsTable
- TimeFilter index added to the dsmonPdistStatsTable
- the selection of protocols is not configurable. Rather than
select individual protocols to monitor, (e.g., via a
'supportedOn/Off' extension to the protocolDirTable [RFC 2021]), a
simplified configuration mechanism is provided. Since DSCP usage
statistics are most interesting at the application layer, the
dsmonPdistStatsTable is 'hardwired' to select only application
layer (i.e., 'terminal') protocols for statistical analysis.
The TopN feature requires two additional tables: the
dsmonPdistTopNCtlTable and the dsmonPdistTopNTable, and supports
periodic usage reporting for the statistics maintained in the
dsmonPdistStatsTable. This feature allows for simple periodic
retrieval of the most used application/counter aggregation group
combinations.
3.2.4. DS Host Distribution Group
This group contains two tables for statistics collection,
(dsmonHostCtlTable and dsmonHostTable), and two tables for a 'Top N'
reporting function for the collected statistics
(dsmonHostTopNCtlTable and dsmonHostTopNTable).
The dsmonHostCtlTable and dsmonHostTables provide host distribution
statistics for each counter aggregation group detected in packets
monitored on a particular dataSource. The DSMON Host collection is
similar to the RMON-2 network layer host collection (nlHostTable).
There is no DSMON application host table defined at this time.
Bierman Standards Track [Page 11]
RFC 3287 DSMON MIB July 2002
It is expected that a management application will analyze certain DS
deployment or performance problems by first determining the high
priority DSCP values to examine (beyond the scope of this document)
and then examining the dsmonHostTable or dsmonHostTopNTable
statistics to determine which hosts are using the selected counter
aggregation groups.
Packet and octets distributions (in and out, per counter aggregation
group per host) are maintained in the dsmonHostTable for each active
control row in the dsmonHostCtlTable.
The DS Host Distribution is different from the RMON-2 network layer
host group in two ways:
- the protocolDirLocalIndex in the INDEX clause MUST identify a
network protocol encapsulation which contains a DS field (e.g.,
IPv4 or IPv6). If a protocol encapsulation with multiple network
layers is specified, then associated entries in this table refer
to the innermost network protocol layer.
- the dsmonHostCtlTable supports limited IPv4 and IPv6 prefix
aggregation by allowing the number of 'monitored address bits' in
each address to be configured for each collection. The agent will
zero out the selected number of rightmost address bits for
counting purposes. This configuration parameter can dramatically
reduce the number of entries which must be maintained by the
agent, which should reduce CPU and memory resource requirements on
the agent, and reduce polling overhead on the network and the
management station. However, only one mask can be configured for
each address type, rather than multiple different length masks for
each address type, based on prefix value.
The TopN feature requires two additional tables: the
dsmonHostTopNCtlTable and the dsmonHostTopNTable, and supports
periodic usage reporting for the statistics maintained in the
dsmonHostTable. This feature allows for simple periodic retrieval of
the most used IP-host/DSCP combinations.
3.2.5. DSMON Capabilities Group
This group contains a single read-only scalar object,
dsmonCapabilities, which provides an indication of the MIB groups
within this MIB that the agent supports.
Bierman Standards Track [Page 12]
RFC 3287 DSMON MIB July 2002
3.2.6. DS Matrix Distribution Group
This group contains three tables for statistics collection,
(dsmonMatrixCtlTable, dsmonMatrixSDTable, and dsmonMatrixDSTable),
and two tables for a 'Top N' reporting function for the collected
statistics (dsmonMatrixTopNCtlTable and dsmonMatrixTopNTable).
The dsmonMatrixCtlTable, dsmonMatrixSDTable, and dsmonMatrixDSTable
provide host-pair distribution statistics for each counter
aggregation group detected in packets monitored on a particular
dataSource. The DSMON Matrix collection is similar to the RMON-2
application layer matrix collection (alMatrixSDTable and
alMatrixDSTable). There is no DSMON network layer matrix table
defined at this time.
It is expected that a management application will analyze certain DS
deployment or performance problems by first determining the high
priority DSCP values to examine (beyond the scope of this document)
and then examining the dsmonMatrixSDTable, dsmonMatrixDSTable, and/or
dsmonMatrixTopNTable statistics to determine which host-pairs are
using the selected counter aggregation groups.
Packet and octets distributions (source to destination, per counter
aggregation group per host-pair) are maintained in the
dsmonMatrixSDTable and dsmonMatrixDSTable for each active control row
in the dsmonMatrixCtlTable.
The TopN feature requires two additional tables: the
dsmonMatrixTopNCtlTable and the dsmonMatrixTopNTable, and supports
periodic usage reporting for the statistics maintained in the
dsmonMatrixSDTable. This feature allows for simple periodic
retrieval of the most used IP-host-pair/DSCP combinations.
3.3. RMON vs. DSMON Indexing Structure
The DSMON-MIB control and data tables are very similar in structure
and look-and-feel to existing RMON-2 and HC-RMON control tables for
the comparable feature, in order to maintain consistent agent
behavior and functionality across RMON MIBs. The DSMON data tables
are indexed as closely as possible to the comparable RMON-2 or HC-
RMON tables, with the addition of an index component for DSCP-based
classification (i.e. dsmonAggGroup). Refer to Table 1 for a
comparison of DSMON indexing structure with similar existing RMON
features.
Bierman Standards Track [Page 13]
RFC 3287 DSMON MIB July 2002
Table 1: DSMON Indexing Comparison
Existing RMON DSMON
--------------------------------------------------------------------
Full Duplex Interface Statistics
mediaIndependentEntry | dsmonStatsControlEntry
mediaIndependentIndex | dsmonStatsControlIndex
| dsmonStatsEntry
| dsmonStatsControlIndex,
| dsmonAggGroupIndex
---------------------------------+------------------------------
Protocol Statistics
protocolDistControlEntry | dsmonPdistCtlEntry
protocolDistControlIndex | dsmonPdistCtlIndex
protocolDistStatsEntry | dsmonPdistStatsEntry
protocolDistControlIndex, | dsmonPdistCtlIndex,
protocolDirLocalIndex | dsmonPdistTimeMark,
| dsmonAggGroupIndex,
| protocolDirLocalIndex
---------------------------------+--------------------------------
Protocol TopN Distribution
| dsmonPdistTopNCtlEntry
| dsmonPdistTopNCtlIndex
none | dsmonPdistTopNEntry
| dsmonPdistTopNCtlIndex,
| dsmonPdistTopNIndex
---------------------------------+--------------------------------
Network Host Statistics
hlHostControlEntry | dsmonHostCtlEntry
hlHostControlIndex | dsmonHostCtlIndex
nlHostEntry | dsmonHostEntry
hlHostControlIndex, | dsmonHostCtlIndex,
nlHostTimeMark, | dsmonHostTimeMark,
protocolDirLocalIndex, | dsmonAggGroupIndex,
nlHostAddress | protocolDirLocalIndex,
| dsmonHostAddress
---------------------------------+--------------------------------
Bierman Standards Track [Page 14]
RFC 3287 DSMON MIB July 2002
Table 1 (Continued): DSMON Indexing Comparison
Existing RMON DSMON
---------------------------------+--------------------------------
Network Host TopN Distribution
| dsmonHostTopNCtlEntry
| dsmonHostTopNCtlIndex
none | dsmonHostTopNEntry
| dsmonHostTopNCtlIndex,
| dsmonHostTopNIndex
---------------------------------+--------------------------------
Application Matrix Statistics
hlMatrixControlEntry | dsmonMatrixCtlEntry
hlMatrixControlIndex | dsmonMatrixCtlIndex
alMatrixSDEntry | dsmonMatrixSDEntry
hlMatrixControlIndex, | dsmonMatrixCtlIndex,
alMatrixSDTimeMark, | dsmonMatrixTimeMark,
protocolDirLocalIndex, | dsmonAggGroupIndex,
nlMatrixSDSourceAddress, | dsmonMatrixNLIndex,
nlMatrixSDDestAddress | dsmonMatrixSourceAddress
protocolDirLocalIndex | dsmonMatrixDestAddress
| dsmonMatrixALIndex
alMatrixDSEntry | dsmonMatrixDSEntry
hlMatrixControlIndex, | dsmonMatrixCtlIndex,
alMatrixDSTimeMark, | dsmonMatrixTimeMark,
protocolDirLocalIndex, | dsmonAggGroupIndex,
nlMatrixDSDestAddress, | dsmonMatrixNLIndex,
nlMatrixDSSourceAddress | dsmonMatrixDestAddress
protocolDirLocalIndex | dsmonMatrixSourceAddress
| dsmonMatrixALIndex
---------------------------------+--------------------------------
Application Matrix TopN Distribution
| dsmonMatrixTopNCtlEntry
none | dsmonMatrixTopNCtlIndex
| dsmonMatrixTopNEntry
(similar to nlMatrixTopN) | dsmonMatrixTopNCtlIndex,
| dsmonMatrixTopNIndex
---------------------------------+--------------------------------
Bierman Standards Track [Page 15]
RFC 3287 DSMON MIB July 2002
4. Definitions
DSMON-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Integer32,
Counter32, Gauge32
FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
RowStatus, TimeStamp, TEXTUAL-CONVENTION, TruthValue
FROM SNMPv2-TC
OwnerString, rmon
FROM RMON-MIB
protocolDirLocalIndex, LastCreateTime,
DataSource, ZeroBasedCounter32, TimeFilter
FROM RMON2-MIB
CounterBasedGauge64, ZeroBasedCounter64
FROM HCNUM-TC
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB
Dscp
FROM DIFFSERV-DSCP-TC;
dsmonMIB MODULE-IDENTITY
LAST-UPDATED "200205310000Z"
ORGANIZATION "IETF RMONMIB Working Group"
CONTACT-INFO
" Andy Bierman
Cisco Systems, Inc.
RMONMIB WG Chair and DSMON MIB Editor
Postal: 170 West Tasman Drive
San Jose, CA USA 95134
Tel: +1 408 527-3711
E-mail: abierman@cisco.com
Send comments to <rmonmib@ietf.org>
Mailing list subscription info:
http://www.ietf.org/mailman/listinfo/rmonmib "
DESCRIPTION
"This module defines Remote Monitoring MIB extensions for
Differentiated Services enabled networks.
RMON DIFFSERV DSCP statistics
* Per Counter Aggregation Group
* Per Protocol Per Counter Aggregation Group
* Per Counter Aggregation Group Per Host
Bierman Standards Track [Page 16]
RFC 3287 DSMON MIB July 2002
* Per Counter Aggregation Group Per Host-Pair
In order to maintain the RMON 'look-and-feel' and semantic
consistency, some of the text from the RMON-2 and HC-RMON
MIBs by Steve Waldbusser has been adapted for use in this
MIB."
REVISION "200205310000Z"
DESCRIPTION
"Initial version of the DSMON MIB module. This version
published as RFC 3287."
::= { rmon 26 }
dsmonObjects OBJECT IDENTIFIER ::= { dsmonMIB 1 }
dsmonNotifications OBJECT IDENTIFIER ::= { dsmonMIB 2 }
dsmonConformance OBJECT IDENTIFIER ::= { dsmonMIB 3 }
dsmonAggObjects OBJECT IDENTIFIER ::= { dsmonObjects 1 }
dsmonStatsObjects OBJECT IDENTIFIER ::= { dsmonObjects 2 }
dsmonPdistObjects OBJECT IDENTIFIER ::= { dsmonObjects 3 }
dsmonHostObjects OBJECT IDENTIFIER ::= { dsmonObjects 4 }
dsmonCapsObjects OBJECT IDENTIFIER ::= { dsmonObjects 5 }
dsmonMatrixObjects OBJECT IDENTIFIER ::= { dsmonObjects 6 }
--
-- Textual Convention to define a
-- DSMON Counter Aggregation Group Index
--
DsmonCounterAggGroupIndex ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This TC describes a data type which identifies a DSMON
counter aggregation group, which is an arbitrary grouping of
conceptual counters, for monitoring purposes only. The
range for this data type begins with zero (instead of
one), to allow for a direct mapping between counter
indexing schemes that start at zero (e.g. DSCP values in
packets) and counter aggregation group values."
SYNTAX Integer32 (0..2147483647)
--
-- Textual Convention to define a
-- DSMON Counter Aggregation Profile Index
--
DsmonCounterAggProfileIndex ::= TEXTUAL-CONVENTION
STATUS current
Bierman Standards Track [Page 17]
RFC 3287 DSMON MIB July 2002
DESCRIPTION
"This TC describes a data type which identifies a DSMON
counter aggregation profile, which is a set of counter
aggregation group assignments for each of the 64 DSCP
values, for a particular statistical collection."
SYNTAX Integer32 (1..2147483647)
-- ***********************************************************
-- * *
-- * D S M O N C A P A B I L I T I E S *
-- * *
-- ***********************************************************
dsmonCapabilities OBJECT-TYPE
SYNTAX BITS {
dsmonCounterAggControl(0),
dsmonStats(1),
dsmonStatsOvfl(2),
dsmonStatsHC(3),
dsmonPdist(4),
dsmonPdistOvfl(5),
dsmonPdistHC(6),
dsmonHost(7),
dsmonHostOvfl(8),
dsmonHostHC(9),
dsmonCaps(10),
dsmonMatrix(11),
dsmonMatrixOvfl(12),
dsmonMatrixHC(13)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object provides an indication of the DSMON groups
supported by the agent. If a bit is set, then the agent
implements all of the objects in the DSMON object group,
where bit 'n' represents the MIB group identified by the
OBJECT IDENTIFIER value { dsmonGroups n+1 }."
::= { dsmonCapsObjects 1 }
-- ***********************************************************
-- * *
-- * A G G R E G A T I O N C O N T R O L G R O U P S *
-- * *
-- ***********************************************************
Bierman Standards Track [Page 18]
RFC 3287 DSMON MIB July 2002
dsmonMaxAggGroups OBJECT-TYPE
SYNTAX Integer32 (2..64)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum number of counter aggregation groups that this
agent can support. The agent will allow this number of
distinct groups to be configured in the
dsmonAggProfileTable, numbered from '0' to
'dsmonMaxAggGroups - 1', for each counter aggregation
profile entry supported by the agent.
The agent MUST NOT lower this value during system operation,
and SHOULD set this object to an appropriate value during
system initialization."
::= { dsmonAggObjects 1 }
dsmonAggControlLocked OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the setup of counter aggregation groups for this
agent.
If this object contains the value 'true', then write access
to the objects in the dsmonAggControlTable (except the
dsmonAggControlOwner object), dsmonAggProfileTable, and
dsmonAggGroupTable is not permitted, and data collection is
possible. This object only controls write access to these
MIB objects. The DSMON data collection control tables
(e.g., dsmonHostCtlTable) can be configured at any time,
regardless of the value of this object.
If this object contains the value 'false', write access to
the objects in the dsmonAggControlTable,
dsmonAggProfileTable, and dsmonAggGroupTable is permitted,
and data collection is not possible. In addition, all
objects in all DSMON data tables (e.g., dsmonStatsTable)
shall be deleted.
An agent is not required to process SNMP Set Requests for
this object in conjunction with other objects from this MIB.
This is intended to simplify the processing of Set Requests
for tables such as the dsmonAggProfileTable, by eliminating
the possibility that a single Set PDU will contain multiple
varbinds which are in conflict, such as a PDU which both
modifies the dsmonAggProfileTable and locks the
Bierman Standards Track [Page 19]
RFC 3287 DSMON MIB July 2002
dsmonAggProfileTable at the same time.
Note that the agent is not required to validate the entire
counter aggregation configuration when an attempt is made to
transition an instance of this object from 'true' to
'false'. That validation is done if and when a DSMON data
collection is activated.
An agent is required to reactivate any suspended data
collections when this object transitions to 'true', Each
active data control entry (e.g., dsmonStatsControlEntry),
will be validated with respect to the new counter
aggregation configuration. If the counter aggregation
profile referenced in the data collection is valid, then
that collection will be restarted. Otherwise, the RowStatus
object (e.g., dsmonStatsControlStatus) will be set to
'notReady' for that collection control entry."
::= { dsmonAggObjects 2 }
dsmonAggControlChanges OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object counts the number of times the value of the
dsmonAggControlLocked object has changed. A management
station can use this object to detect if counters in the
DSMON data tables (e.g., dsmonStatsEntry) have been deleted
and recreated between polls.
This object shall be incremented by one each time the
dsmonAggControlLocked object changes from 'false' to 'true',
or from 'true' to 'false'."
::= { dsmonAggObjects 3 }
dsmonAggControlLastChangeTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object identifies the value of sysUpTime at the moment
the dsmonAggControlLocked object was last modified. A
management station can use this object to detect if counters
in the DSMON data tables (e.g., dsmonStatsEntry) have been
deleted and recreated between polls.
This object shall be updated with the current value of
sysUpTime, if the dsmonAggControlLocked object changes from
Bierman Standards Track [Page 20]
RFC 3287 DSMON MIB July 2002
'false' to 'true', or from 'true' to 'false'.
Upon system initialization, this object shall contain the
value zero."
::= { dsmonAggObjects 4 }
--
-- Counter Aggregation Control Table
--
dsmonAggControlTable OBJECT-TYPE
SYNTAX SEQUENCE OF DsmonAggControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides an overall description and control
point for all dsmonAggProfileEntries with the same
dsmonAggControlIndex value.
A management application SHOULD create a counter aggregation
profile by first creating and activating an entry in this
table. This will cause the agent to create a set of 64
dsmonAggProfileEntries on behalf of this control entry. An
application can then set the individual counter aggregation
group assignments for each of the 64 DSCP values,
This table MUST NOT be modified if the dsmonAggControlLocked
object is equal to 'true'.
Note that an agent MAY choose to limit the actual number of
entries which may be created in this table, and
(independently) the number of counter aggregation profiles
which may be applied to a particular data source. In this
case, the agent SHOULD return an error-status of
'resourceUnavailable(13)', as per section 4.2.5 of the
'Protocol Operations for SNMPv2' specification [RFC1905].
The agent SHOULD support non-volatile configuration of this
table, and upon system initialization, the table SHOULD be
initialized with the saved values. Otherwise, each
potential counter aggregation group description string
SHOULD contain the empty string."
::= { dsmonAggObjects 5 }
dsmonAggControlEntry OBJECT-TYPE
SYNTAX DsmonAggControlEntry
MAX-ACCESS not-accessible
Bierman Standards Track [Page 21]
RFC 3287 DSMON MIB July 2002
STATUS current
DESCRIPTION
"A conceptual row in the dsmonAggControlTable."
INDEX { dsmonAggControlIndex }
::= { dsmonAggControlTable 1 }
DsmonAggControlEntry ::= SEQUENCE {
dsmonAggControlIndex DsmonCounterAggProfileIndex,
dsmonAggControlDescr SnmpAdminString,
dsmonAggControlOwner OwnerString,
dsmonAggControlStatus RowStatus
}
dsmonAggControlIndex OBJECT-TYPE
SYNTAX DsmonCounterAggProfileIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary integer index value used to identify the
counter aggregation profile specified by this control
entry."
::= { dsmonAggControlEntry 1 }
dsmonAggControlDescr OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (0..64))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An administratively assigned description of the counter
aggregation profile identified by this entry.
Upon first creation of an instance of this object, the agent
SHOULD set this object to the empty string. If the agent
supports non-volatile storage, then this object SHOULD be
re-initialized with its stored value after a system reboot.
This object MUST NOT be modified if the associated
dsmonAggControlStatus object is equal to 'active', or the
dsmonAggControlLocked object is equal to 'true'."
::= { dsmonAggControlEntry 2 }
dsmonAggControlOwner 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."
Bierman Standards Track [Page 22]
RFC 3287 DSMON MIB July 2002
::= { dsmonAggControlEntry 3 }
dsmonAggControlStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this row.
An entry MUST NOT exist in the active state unless all
objects in the entry have an appropriate value.
Upon setting this object to active(1), the agent will create
a complete set of 64 associated entries in the
dsmonAggProfileTable.
If this object is not equal to active(1), all associated
entries in the dsmonAggProfileTable shall be deleted.
This object MUST NOT be modified if the
dsmonAggControlLocked object is equal to 'true'."
::= { dsmonAggControlEntry 4 }
--
-- Counter Aggregation Profile Table
--
dsmonAggProfileTable OBJECT-TYPE
SYNTAX SEQUENCE OF DsmonAggProfileEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Controls the setup of counter aggregation profiles for this
agent. For each such profile, every DSCP value MUST be
configured into exactly one counter aggregation group.
This table MUST NOT be modified if the dsmonAggControlLocked
object is equal to 'true'.
The agent will create a set of 64 entries in this table
(with the same dsmonAggControlIndex value) when the
associated dsmonAggControlEntry is activated.
If the agent supports non-volatile configuration of this
table, then upon system initialization, this table SHOULD be
initialized with the saved values."
::= { dsmonAggObjects 6 }
Bierman Standards Track [Page 23]
RFC 3287 DSMON MIB July 2002
dsmonAggProfileEntry OBJECT-TYPE
SYNTAX DsmonAggProfileEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row in the dsmonAggProfileTable. The
dsmonAggControlIndex value in the index identifies the
dsmonAggControlEntry associated with each entry in this
table."
INDEX { dsmonAggControlIndex, dsmonAggProfileDSCP }
::= { dsmonAggProfileTable 1 }
DsmonAggProfileEntry ::= SEQUENCE {
dsmonAggProfileDSCP Dscp,
dsmonAggGroupIndex DsmonCounterAggGroupIndex
}
dsmonAggProfileDSCP OBJECT-TYPE
SYNTAX Dscp
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The specific DSCP value for the DSCP counter which is
configured in a counter aggregation group by this entry."
::= { dsmonAggProfileEntry 1 }
dsmonAggGroupIndex OBJECT-TYPE
SYNTAX DsmonCounterAggGroupIndex
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The counter aggregation group which contains this DSCP
value. Upon creation of a new sub-tree (set of 64 entries
with the same dsmonAggControlIndex value) in this table, the
agent SHOULD initialize all related instances of this object
to the value zero.
This object MUST NOT be modified if the
dsmonAggControlLocked object is equal to 'true'."
DEFVAL { 0 }
::= { dsmonAggProfileEntry 2 }
--
-- Counter Aggregation Group Table
--
Bierman Standards Track [Page 24]
RFC 3287 DSMON MIB July 2002
dsmonAggGroupTable OBJECT-TYPE
SYNTAX SEQUENCE OF DsmonAggGroupEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides a description of each counter
aggregation group configured on this system. Note that the
semantics of a particular counter aggregation group are only
relevant within the scope of a particular counter
aggregation profile.
This table MUST NOT be modified if the dsmonAggControlLocked
object is equal to 'true'.
Note that an agent MAY choose to limit the actual number of
entries which may be created in this table, and
(independently) the number of counter aggregation profiles
which may be applied to a particular data source. In this
case, the agent SHOULD return an error-status of
'resourceUnavailable(13)', as per section 4.2.5 of the
'Protocol Operations for SNMPv2' specification [RFC1905].
If the agent supports non-volatile configuration of this
table, then upon system initialization, this table SHOULD be
initialized with the saved values. Otherwise, each
potential counter aggregation group description string
SHOULD contain the empty string.
An agent SHOULD allow entries to be created or modified in
this table, even if the specified dsmonAggControlIndex value
does not identify a valid dsmonAggControlEntry or a complete
set of valid dsmonAggProfileEntries, to reduce row creation
order dependencies."
::= { dsmonAggObjects 7 }
dsmonAggGroupEntry OBJECT-TYPE
SYNTAX DsmonAggGroupEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row in the dsmonAggGroupTable. The
dsmonAggGroupIndex value in the INDEX identifies the counter
aggregation group associated with each entry.
The dsmonAggControlIndex in the index identifies the counter
aggregation profile associated with each entry, identified
by the dsmonAggControlEntry and dsmonAggProfileEntries with
the same index value.
Bierman Standards Track [Page 25]
RFC 3287 DSMON MIB July 2002
The agent SHOULD support non-volatile configuration of this
table, and upon system initialization, the table SHOULD be
initialized with the saved values.
The dsmonAggGroupIndex in the index identifies the counter
aggregation group associated with each entry. This object
SHOULD be indexed from zero to 'N', where 'N' is less than
the value of the dsmonMaxAggGroups for this agent."
INDEX { dsmonAggControlIndex, dsmonAggGroupIndex }
::= { dsmonAggGroupTable 1 }
DsmonAggGroupEntry ::= SEQUENCE {
dsmonAggGroupDescr SnmpAdminString,
dsmonAggGroupStatus RowStatus
}
dsmonAggGroupDescr OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (0..64))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An administratively assigned description of the counter
aggregation group identified by this entry.
Upon first creation of an instance of this object, the agent
SHOULD set this object to the empty string.
This object MUST NOT be modified if the associated
dsmonAggGroupStatus object is equal to 'active', or the
dsmonAggControlLocked object is equal to 'true'."
::= { dsmonAggGroupEntry 1 }
dsmonAggGroupStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this row.
An entry MUST NOT exist in the active state unless all
objects in the entry have an appropriate value.
This object MUST NOT be modified if the
dsmonAggControlLocked object is equal to 'true'."
::= { dsmonAggGroupEntry 2 }
Bierman Standards Track [Page 26]
RFC 3287 DSMON MIB July 2002
-- *************************************************************
-- * *
-- * P E R - D A T A S O U R C E C O L L E C T I O N S *
-- * *
-- *************************************************************
--
-- Per-DataSource Statistics Control Table
--
dsmonStatsControlTable OBJECT-TYPE
SYNTAX SEQUENCE OF DsmonStatsControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Controls the setup of per data source per counter
aggregation group distribution statistics.
Note that an agent MAY choose to limit the actual number of
entries which may be created in this table. In this case,
the agent SHOULD return an error-status of
'resourceUnavailable(13)', as per section 4.2.5 of the
'Protocol Operations for SNMPv2' specification [RFC1905]."
::= { dsmonStatsObjects 1 }
dsmonStatsControlEntry OBJECT-TYPE
SYNTAX DsmonStatsControlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row in the dsmonStatsControlTable.
Entries are created and deleted from this table by
management action only, using the dsmonStatsControlStatus
RowStatus object.
The agent SHOULD support non-volatile configuration of this
table, and upon system initialization, the table SHOULD be
initialized with the saved values.
Activation of a control row in this table will cause an
associated dsmonStatsTable to be created and maintained by
the agent."
INDEX { dsmonStatsControlIndex }
::= { dsmonStatsControlTable 1 }
DsmonStatsControlEntry ::= SEQUENCE {
dsmonStatsControlIndex Integer32,
Bierman Standards Track [Page 27]
RFC 3287 DSMON MIB July 2002
dsmonStatsControlDataSource DataSource,
dsmonStatsControlAggProfile DsmonCounterAggProfileIndex,
dsmonStatsControlDroppedFrames Counter32,
dsmonStatsControlCreateTime LastCreateTime,
dsmonStatsControlOwner OwnerString,
dsmonStatsControlStatus RowStatus
}
dsmonStatsControlIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary and unique index for this
dsmonStatsControlEntry."
::= { dsmonStatsControlEntry 1 }
dsmonStatsControlDataSource OBJECT-TYPE
SYNTAX DataSource
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The data source of this per protocol per counter
aggregation group distribution.
Note that only packets that contain a network protocol
encapsulation which contains a DS field [RFC2474] will be
counted in this table.
This object MUST NOT be modified if the associated
dsmonStatsControlStatus object is equal to active(1)."
::= { dsmonStatsControlEntry 2 }
dsmonStatsControlAggProfile OBJECT-TYPE
SYNTAX DsmonCounterAggProfileIndex
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The dsmonAggControlIndex value identifying the counter
aggregation profile which should be used on behalf of this
dsmonStatsControlEntry.
The associated dsmonAggControlEntry and
dsmonAggProfileEntries, identified by the same
dsmonAggControlIndex index value, MUST be active in order
for this entry to remain active. It is possible for the
counter aggregation configuration to change from a valid to
invalid state for this dsmonStats collection. In this case,
Bierman Standards Track [Page 28]
RFC 3287 DSMON MIB July 2002
the associated dsmonStatsControlStatus object will be
changed to the 'notReady' state, and data collection will
not occur on behalf of this control entry.
Note that an agent MAY choose to limit the actual number of
counter aggregation profiles which may be applied to a
particular data source.
This object MUST NOT be modified if the associated
dsmonStatsControlStatus object is equal to active(1)."
::= { dsmonStatsControlEntry 3 }
dsmonStatsControlDroppedFrames OBJECT-TYPE
SYNTAX Counter32
UNITS "frames"
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."
::= { dsmonStatsControlEntry 4 }
dsmonStatsControlCreateTime 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
detect if the table has been deleted and recreated between
polls."
::= { dsmonStatsControlEntry 5 }
dsmonStatsControlOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
Bierman Standards Track [Page 29]
RFC 3287 DSMON MIB July 2002
"The entity that configured this entry and is therefore
using the resources assigned to it."
::= { dsmonStatsControlEntry 6 }
dsmonStatsControlStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this row.
An entry MUST 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 dsmonStatsTable shall be deleted."
::= { dsmonStatsControlEntry 7 }
--
-- Per-DataSource Statistics Table
--
dsmonStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF DsmonStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of information on counter aggregation group usage
for each monitored data source.
The following table defines per counter aggregation group
statistics for full and/or half-duplex links as well as high
capacity links.
For half-duplex links, or full-duplex-capable links
operating in half-duplex mode, the dsmonStatsIn* objects
shall be used and the dsmonStatsOut* objects will not
increment.
For full-duplex links, the dsmonStatsOut* objects will be
present. Whenever possible, the probe SHOULD count packets
moving away from the closest terminating equipment as output
packets. Failing that, the probe SHOULD count packets
moving away from the DTE as output packets.
If the dsmonAggControlLocked object is equal to 'false',
then all entries in this table will be deleted and the agent
will not process packets on behalf of any
Bierman Standards Track [Page 30]
RFC 3287 DSMON MIB July 2002
dsmonStatsControlEntry."
::= { dsmonStatsObjects 2 }
dsmonStatsEntry OBJECT-TYPE
SYNTAX DsmonStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of information on Differentiated Services DSCP
usage, containing inbound and outbound packet and octet
counters for each counter aggregation group configured for
collection.
The dsmonStatsControlIndex value in the index identifies the
dsmonStatsControlEntry on whose behalf this entry was
created.
The dsmonAggGroupIndex value in the index is determined by
examining the DSCP value in each monitored packet, and the
dsmonAggProfileTable entry for that DSCP value.
Note that only packets that contain a network protocol
encapsulation which contains a DS field [RFC2474] will be
counted in this table.
An example of the indexing of this entry is
dsmonStatsOutPkts.1.16"
INDEX { dsmonStatsControlIndex, dsmonAggGroupIndex }
::= { dsmonStatsTable 1 }
DsmonStatsEntry ::= SEQUENCE {
dsmonStatsInPkts ZeroBasedCounter32,
dsmonStatsInOctets ZeroBasedCounter32,
dsmonStatsInOvflPkts ZeroBasedCounter32,
dsmonStatsInOvflOctets ZeroBasedCounter32,
dsmonStatsInHCPkts ZeroBasedCounter64,
dsmonStatsInHCOctets ZeroBasedCounter64,
dsmonStatsOutPkts ZeroBasedCounter32,
dsmonStatsOutOctets ZeroBasedCounter32,
dsmonStatsOutOvflPkts ZeroBasedCounter32,
dsmonStatsOutOvflOctets ZeroBasedCounter32,
dsmonStatsOutHCPkts ZeroBasedCounter64,
dsmonStatsOutHCOctets ZeroBasedCounter64
}
dsmonStatsInPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "packets"
Bierman Standards Track [Page 31]
RFC 3287 DSMON MIB July 2002
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets using one of the DSCP values in the
indicated counter aggregation group, received on a half-
duplex link or on the inbound connection of a full-duplex
link."
::= { dsmonStatsEntry 1 }
dsmonStatsInOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets in packets, using one of the DSCP
values in the indicated counter aggregation group, received
on a half-duplex link or on the inbound connection of a
full-duplex link."
::= { dsmonStatsEntry 2 }
dsmonStatsInOvflPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The number of times the associated dsmonStatsInPkts counter
has overflowed. Note that this object will only be
instantiated if the associated dsmonStatsInHCPkts object is
also instantiated for a particular dataSource."
::= { dsmonStatsEntry 3 }
dsmonStatsInOvflOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The number of times the associated dsmonStatsInOctets
counter has overflowed. Note that this object will only be
instantiated if the associated dsmonStatsInHCOctets object
is also instantiated for a particular dataSource."
::= { dsmonStatsEntry 4 }
dsmonStatsInHCPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "packets"
MAX-ACCESS read-only
STATUS current
Bierman Standards Track [Page 32]
RFC 3287 DSMON MIB July 2002
DESCRIPTION
"The 64-bit version of the dsmonStatsInPkts object.
Note that this object will only be instantiated if the RMON
agent supports High Capacity monitoring for a particular
dataSource."
::= { dsmonStatsEntry 5 }
dsmonStatsInHCOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The 64-bit version of the dsmonStatsInOctets object.
Note that this object will only be instantiated if the RMON
agent supports High Capacity monitoring for a particular
dataSource."
::= { dsmonStatsEntry 6 }
dsmonStatsOutPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets using one of the DSCP values in the
indicated counter aggregation group, received on a full-
duplex link in the direction of the network."
::= { dsmonStatsEntry 7 }
dsmonStatsOutOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets in packets, using one of the DSCP
values in the indicated counter aggregation group, received
on a full-duplex link in the direction of the network."
::= { dsmonStatsEntry 8 }
dsmonStatsOutOvflPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
Bierman Standards Track [Page 33]
RFC 3287 DSMON MIB July 2002
"The number of times the associated dsmonStatsOutPkts
counter has overflowed. Note that this object will only be
instantiated if the associated dsmonStatsOutHCPkts object is
also instantiated for a particular dataSource."
::= { dsmonStatsEntry 9 }
dsmonStatsOutOvflOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The number of times the associated dsmonStatsOutOctets
counter has overflowed. Note that this object will only be
instantiated if the associated dsmonStatsOutHCOctets object
is also instantiated for a particular dataSource."
::= { dsmonStatsEntry 10 }
dsmonStatsOutHCPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The 64-bit version of the dsmonStatsOutPkts object.
Note that this object will only be instantiated if the RMON
agent supports High Capacity monitoring for a particular
dataSource."
::= { dsmonStatsEntry 11 }
dsmonStatsOutHCOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The 64-bit version of the dsmonStatsOutOctets object.
Note that this object will only be instantiated if the RMON
agent supports High Capacity monitoring for a particular
dataSource."
::= { dsmonStatsEntry 12 }
-- ***********************************************************
-- * *
-- * P E R - P R O T O C O L C O L L E C T I O N S *
-- * *
-- ***********************************************************
Bierman Standards Track [Page 34]
RFC 3287 DSMON MIB July 2002
--
-- DSCP Per-Protocol Statistics Control Table
--
dsmonPdistCtlTable OBJECT-TYPE
SYNTAX SEQUENCE OF DsmonPdistCtlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Controls the setup of per application per counter
aggregation group distribution statistics.
Note that an agent MAY choose to limit the actual number of
entries which may be created in this table. In this case,
the agent SHOULD return an error-status of
'resourceUnavailable(13)', as per section 4.2.5 of the
'Protocol Operations for SNMPv2' specification [RFC1905]."
::= { dsmonPdistObjects 1 }
dsmonPdistCtlEntry OBJECT-TYPE
SYNTAX DsmonPdistCtlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row in the dsmonPdistCtlTable.
Entries are created and deleted from this table by
management action only, using the dsmonPdistCtlStatus
RowStatus object.
The agent SHOULD support non-volatile configuration of this
table, and upon system initialization, the table SHOULD be
initialized with the saved values.
Activation of a control row in this table will cause an
associated dsmonPdistStatsTable to be created and maintained
by the agent."
INDEX { dsmonPdistCtlIndex }
::= { dsmonPdistCtlTable 1 }
DsmonPdistCtlEntry ::= SEQUENCE {
dsmonPdistCtlIndex Integer32,
dsmonPdistCtlDataSource DataSource,
dsmonPdistCtlAggProfile DsmonCounterAggProfileIndex,
dsmonPdistCtlMaxDesiredEntries Integer32,
dsmonPdistCtlDroppedFrames Counter32,
dsmonPdistCtlInserts Counter32,
dsmonPdistCtlDeletes Counter32,
Bierman Standards Track [Page 35]
RFC 3287 DSMON MIB July 2002
dsmonPdistCtlCreateTime LastCreateTime,
dsmonPdistCtlOwner OwnerString,
dsmonPdistCtlStatus RowStatus
}
dsmonPdistCtlIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary and unique index for this dsmonPdistCtlEntry."
::= { dsmonPdistCtlEntry 1 }
dsmonPdistCtlDataSource OBJECT-TYPE
SYNTAX DataSource
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The source of data for the this per protocol counter
aggregation group distribution.
This object MUST NOT be modified if the associated
dsmonPdistCtlStatus object is equal to active(1)."
::= { dsmonPdistCtlEntry 2 }
dsmonPdistCtlAggProfile OBJECT-TYPE
SYNTAX DsmonCounterAggProfileIndex
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The dsmonAggControlIndex value identifying the counter
aggregation profile which should be used on behalf of this
dsmonPdistCtlEntry.
The associated dsmonAggControlEntry and
dsmonAggProfileEntries, identified by the same
dsmonAggControlIndex index value, MUST be active in order
for this entry to remain active. It is possible for the
counter aggregation configuration to change from a valid to
invalid state for this dsmonPdist collection. In this case,
the associated dsmonPdistCtlStatus object will be changed to
the 'notReady' state, and data collection will not occur on
behalf of this control entry.
Note that an agent MAY choose to limit the actual number of
counter aggregation profiles which may be applied to a
particular data source.
Bierman Standards Track [Page 36]
RFC 3287 DSMON MIB July 2002
This object MUST NOT be modified if the associated
dsmonPdistCtlStatus object is equal to active(1)."
::= { dsmonPdistCtlEntry 3 }
dsmonPdistCtlMaxDesiredEntries OBJECT-TYPE
SYNTAX Integer32 (-1 | 1..2147483647)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum number of entries that are desired in the
dsmonPdistStatsTable 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 value is set to -1, the probe MAY create any number
of entries in this table.
This object MUST NOT be modified if the associated
dsmonPdistCtlStatus object is equal to active(1)."
::= { dsmonPdistCtlEntry 4 }
dsmonPdistCtlDroppedFrames OBJECT-TYPE
SYNTAX Counter32
UNITS "frames"
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."
::= { dsmonPdistCtlEntry 5 }
dsmonPdistCtlInserts OBJECT-TYPE
SYNTAX Counter32
UNITS "table entries"
MAX-ACCESS read-only
STATUS current
Bierman Standards Track [Page 37]
RFC 3287 DSMON MIB July 2002
DESCRIPTION
"The number of times a dsmonPdist entry has been inserted
into the dsmonPdistTable. 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
dsmonPdistCtlDeletes from dsmonPdistCtlInserts."
::= { dsmonPdistCtlEntry 6 }
dsmonPdistCtlDeletes OBJECT-TYPE
SYNTAX Counter32
UNITS "table entries"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times a dsmonPdist entry has been deleted
from the dsmonPdist 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
dsmonPdistCtlDeletes from dsmonPdistCtlInserts."
::= { dsmonPdistCtlEntry 7 }
dsmonPdistCtlCreateTime 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
detect if the table has been deleted and recreated between
polls."
Bierman Standards Track [Page 38]
RFC 3287 DSMON MIB July 2002
::= { dsmonPdistCtlEntry 8 }
dsmonPdistCtlOwner 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."
::= { dsmonPdistCtlEntry 9 }
dsmonPdistCtlStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this row.
An entry MUST 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 dsmonPdistStatsTable shall be deleted."
::= { dsmonPdistCtlEntry 10 }
--
-- Per-Protocol Statistics Table
--
dsmonPdistStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF DsmonPdistStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of information on a per protocol per counter
aggregation group usage.
If the dsmonAggControlLocked object is equal to 'false',
then all entries in this table will be deleted and the agent
will not process packets on behalf of any
dsmonPdistCtlEntry."
::= { dsmonPdistObjects 2 }
dsmonPdistStatsEntry OBJECT-TYPE
SYNTAX DsmonPdistStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
Bierman Standards Track [Page 39]
RFC 3287 DSMON MIB July 2002
"A list of information on Differentiated Services DSCP
usage, containing packet and octet counters for each counter
aggregation group configured for collection, and each
protocol (as identified by the protocolDirLocalIndex for the
protocol) identified in each monitored packet.
The dsmonPdistCtlIndex value in the index identifies the
dsmonPdistCtlEntry on whose behalf this entry was created.
Note that only packets that contain a network protocol
encapsulation which contains a DS field [RFC2474] will be
counted in this table.
The dsmonAggGroupIndex value in the index is determined by
examining the DSCP value in each monitored packet, and the
dsmonAggProfileTable entry for that value.
The protocolDirLocalIndex in the index identifies the
protocolDirEntry for the protocol encapsulation of each
monitored packet. The agent will include only application
layer protocols in the associated dsmonPdistStatsTable. Any
'terminal' protocol is considered to be an application
protocol.
An example of the indexing of this entry is
dsmonPdistStatsPkts.9.29943.0.42."
INDEX { dsmonPdistCtlIndex,
dsmonPdistTimeMark,
dsmonAggGroupIndex,
protocolDirLocalIndex }
::= { dsmonPdistStatsTable 1 }
DsmonPdistStatsEntry ::= SEQUENCE {
dsmonPdistTimeMark TimeFilter,
dsmonPdistStatsPkts ZeroBasedCounter32,
dsmonPdistStatsOctets ZeroBasedCounter32,
dsmonPdistStatsOvflPkts ZeroBasedCounter32,
dsmonPdistStatsOvflOctets ZeroBasedCounter32,
dsmonPdistStatsHCPkts ZeroBasedCounter64,
dsmonPdistStatsHCOctets ZeroBasedCounter64,
dsmonPdistStatsCreateTime LastCreateTime
}
dsmonPdistTimeMark OBJECT-TYPE
SYNTAX TimeFilter
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
Bierman Standards Track [Page 40]
RFC 3287 DSMON MIB July 2002
"The Time Filter index for this table. This object may be
used by a management station to retrieve only rows which
have been created or modified since a particular time. Note
that the current value for a row are always returned and the
TimeFilter is not a historical data archiving mechanism.
Refer to RFC 2021 [RFC2021] for a detailed description of
TimeFilter operation."
::= { dsmonPdistStatsEntry 1 }
dsmonPdistStatsPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, using one of the DSCP values in the
indicated counter aggregation group, for the protocol
identified by the associated protocolDirLocalIndex value."
::= { dsmonPdistStatsEntry 2 }
dsmonPdistStatsOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets in packets, using one of the DSCP
values in the indicated counter aggregation group, for the
protocol identified by the associated protocolDirLocalIndex
value.
Note that this object doesn't count just those octets in the
particular protocol frames, but includes the entire packet
that contained the protocol."
::= { dsmonPdistStatsEntry 3 }
dsmonPdistStatsOvflPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The number of times the associated dsmonPdistStatsPkts
counter has overflowed. Note that this object will only be
instantiated if the associated dsmonPdistStatsHCPkts object
is also instantiated for a particular dataSource."
::= { dsmonPdistStatsEntry 4 }
dsmonPdistStatsOvflOctets OBJECT-TYPE
Bierman Standards Track [Page 41]
RFC 3287 DSMON MIB July 2002
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The number of times the associated dsmonPdistStatsOctets
counter has overflowed. Note that this object will only be
instantiated if the associated dsmonPdistStatsHCOctets
object is also instantiated for a particular dataSource."
::= { dsmonPdistStatsEntry 5 }
dsmonPdistStatsHCPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The 64-bit version of the dsmonPdistStatsPkts object.
Note that this object will only be instantiated if the RMON
agent supports High Capacity monitoring for a particular
dataSource."
::= { dsmonPdistStatsEntry 6 }
dsmonPdistStatsHCOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The 64-bit version of the dsmonPdistStatsOctets object.
Note that this object will only be instantiated if the RMON
agent supports High Capacity monitoring for a particular
dataSource."
::= { dsmonPdistStatsEntry 7 }
dsmonPdistStatsCreateTime OBJECT-TYPE
SYNTAX LastCreateTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when this dsmonPdistStats entry was
last instantiated by the agent. This can be used by the
management station to detect if the entry has been deleted
and recreated between polls."
::= { dsmonPdistStatsEntry 8 }
Bierman Standards Track [Page 42]
RFC 3287 DSMON MIB July 2002
--
-- Per-Protocol Statistics TopN Control Table
--
dsmonPdistTopNCtlTable OBJECT-TYPE
SYNTAX SEQUENCE OF DsmonPdistTopNCtlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of parameters that control the creation of a report
of the top N dsmonPdist entries according to a particular
metric.
Note that an agent MAY choose to limit the actual number of
entries which may be created in this table. In this case,
the agent SHOULD return an error-status of
'resourceUnavailable(13)', as per section 4.2.5 of the
'Protocol Operations for SNMPv2' specification [RFC1905]."
::= { dsmonPdistObjects 3 }
dsmonPdistTopNCtlEntry OBJECT-TYPE
SYNTAX DsmonPdistTopNCtlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row in the dsmonPdistTopNCtlTable.
Entries are created and deleted from this table by
management action only, using the dsmonPdistTopNCtlStatus
RowStatus object.
The agent SHOULD support non-volatile configuration of this
table, and upon system initialization, the table SHOULD be
initialized with the saved values.
Activation of a control row in this table will cause an
associated dsmonPdistTopNTable to be created and maintained
by the agent."
INDEX { dsmonPdistTopNCtlIndex }
::= { dsmonPdistTopNCtlTable 1 }
DsmonPdistTopNCtlEntry ::= SEQUENCE {
dsmonPdistTopNCtlIndex Integer32,
dsmonPdistTopNCtlPdistIndex Integer32,
dsmonPdistTopNCtlRateBase INTEGER,
dsmonPdistTopNCtlTimeRemaining Integer32,
dsmonPdistTopNCtlGeneratedReprts Counter32,
dsmonPdistTopNCtlDuration Integer32,
Bierman Standards Track [Page 43]
RFC 3287 DSMON MIB July 2002
dsmonPdistTopNCtlRequestedSize Integer32,
dsmonPdistTopNCtlGrantedSize Integer32,
dsmonPdistTopNCtlStartTime TimeStamp,
dsmonPdistTopNCtlOwner OwnerString,
dsmonPdistTopNCtlStatus RowStatus
}
dsmonPdistTopNCtlIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in the
dsmonPdistTopNCtlTable, with the same dsmonPdistTopNCtlIndex
value as this object. Each entry in this table defines one
Top N report prepared on behalf of the dsmonPdistStatsEntry
collection with the same dsmonPdistCtlIndex as this object."
::= { dsmonPdistTopNCtlEntry 1 }
dsmonPdistTopNCtlPdistIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The dsmonPdistTable for which a top N report will be
prepared on behalf of this entry. The dsmonPdistTable is
identified by the value of the dsmonPdistCtlIndex for that
table - that value is used here to identify the particular
table.
This object MUST NOT be modified if the associated
dsmonPdistTopNCtlStatus object is equal to active(1)."
::= { dsmonPdistTopNCtlEntry 2 }
dsmonPdistTopNCtlRateBase OBJECT-TYPE
SYNTAX INTEGER {
dsmonPdistTopNPkts(1),
dsmonPdistTopNOctets(2),
dsmonPdistTopNHCPkts(3),
dsmonPdistTopNHCOctets(4)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The variable for each dsmonPdist that the
dsmonPdistTopNRate and dsmonPdistTopNHCRate variables are
based upon. Each dsmonPdistTopN report generated on behalf
of this control entry will be ranked in descending order,
Bierman Standards Track [Page 44]
RFC 3287 DSMON MIB July 2002
based on the associated dsmonPdistStatsTable counter,
identified by this object.
The following table identifies the dsmonPdistTable counter
associated with each enumeration:
Enumeration RateBase MIB Object
----------- -------------------
dsmonPdistTopNPkts dsmonPdistStatsPkts
dsmonPdistTopNOctets dsmonPdistStatsOctets
dsmonPdistTopNHCPkts dsmonPdistStatsHCPkts
dsmonPdistTopNHCOctets dsmonPdistStatsHCOctets
Note that the dsmonPdistTopNHCPkts and
dsmonPdistTopNHCOctets enumerations are only available if
the agent supports High Capacity monitoring.
This object MUST NOT be modified if the associated
dsmonPdistTopNCtlStatus object is equal to active(1)."
::= { dsmonPdistTopNCtlEntry 3 }
dsmonPdistTopNCtlTimeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "seconds"
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 dsmonPdistTopNCtlDuration object.
When the report finishes, the probe will automatically start
another collection with the same initial value of
dsmonPdistTopNCtlTimeRemaining. 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 dsmonPdistTopNTable, overwriting any report that may be
there.
Bierman Standards Track [Page 45]
RFC 3287 DSMON MIB July 2002
When this object is modified by the management station, any
associated entries in the dsmonPdistTopNTable shall be
deleted."
DEFVAL { 1800 }
::= { dsmonPdistTopNCtlEntry 4 }
dsmonPdistTopNCtlGeneratedReprts OBJECT-TYPE
SYNTAX Counter32
UNITS "reports"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of reports that have been generated by this
entry."
::= { dsmonPdistTopNCtlEntry 5 }
dsmonPdistTopNCtlDuration OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of seconds that this report has collected during
the last sampling interval.
When the associated dsmonPdistTopNCtlTimeRemaining 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
dsmonPdistTopNCtlTimeRemaining is set.
This value shall be zero if no reports have been requested
for this dsmonPdistTopNCtlEntry."
::= { dsmonPdistTopNCtlEntry 6 }
dsmonPdistTopNCtlRequestedSize OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "table entries"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum number of dsmonPdist entries requested for this
report.
When this object is created or modified, the probe SHOULD
set dsmonPdistTopNCtlGrantedSize as closely to this object
as is possible for the particular probe implementation and
available resources."
DEFVAL { 150 }
Bierman Standards Track [Page 46]
RFC 3287 DSMON MIB July 2002
::= { dsmonPdistTopNCtlEntry 7 }
dsmonPdistTopNCtlGrantedSize OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "table entries"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum number of dsmonPdist entries in this report.
When the associated dsmonPdistTopNCtlRequestedSize 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 dsmonPdistTopNCtlRequestedSize
object.
Protocol entries with the highest value of
dsmonPdistTopNRate or dsmonPdistTopNHCRate (depending on the
value of the associated dsmonPdistTopNCtlRateBase object)
shall be placed in this table in decreasing order of this
rate until there is no more room or until there are no more
dsmonPdist entries."
::= { dsmonPdistTopNCtlEntry 8 }
dsmonPdistTopNCtlStartTime 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 dsmonPdistTopNCtlTimeRemaining 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."
::= { dsmonPdistTopNCtlEntry 9 }
dsmonPdistTopNCtlOwner 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."
Bierman Standards Track [Page 47]
RFC 3287 DSMON MIB July 2002
::= { dsmonPdistTopNCtlEntry 10 }
dsmonPdistTopNCtlStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this dsmonPdistTopNCtlEntry.
An entry MUST 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 dsmonPdistTopNTable shall be deleted by the
agent."
::= { dsmonPdistTopNCtlEntry 11 }
--
-- dsmonPdist TopN Table
--
dsmonPdistTopNTable OBJECT-TYPE
SYNTAX SEQUENCE OF DsmonPdistTopNEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of statistics for those protocol distribution entries
that have counted the highest number of octets or packets.
If the dsmonAggControlLocked object is equal to 'false',
then all entries in this table SHALL be deleted, and the
agent will not process TopN reports on behalf of any
dsmonPdistTopNCtlEntry.
When the dsmonAggControlLocked object is set to 'true', then
particular reports SHOULD be restarted from the beginning,
on behalf of all active rows in the dsmonPdistTopNCtlTable.
Note that dsmonPdist entries which did not increment at all
during the report interval SHOULD NOT be included in
dsmonPdistTopN reports."
::= { dsmonPdistObjects 4 }
dsmonPdistTopNEntry OBJECT-TYPE
SYNTAX DsmonPdistTopNEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
Bierman Standards Track [Page 48]
RFC 3287 DSMON MIB July 2002
"A conceptual row in the dsmonPdistTopNTable.
The dsmonPdistTopNCtlIndex value in the index identifies the
dsmonPdistTopNCtlEntry on whose behalf this entry was
created. Entries in this table are ordered from 1 to 'N',
where lower numbers represent higher values of the rate base
object, over the report interval."
INDEX { dsmonPdistTopNCtlIndex, dsmonPdistTopNIndex }
::= { dsmonPdistTopNTable 1 }
DsmonPdistTopNEntry ::= SEQUENCE {
dsmonPdistTopNIndex Integer32,
dsmonPdistTopNPDLocalIndex Integer32,
dsmonPdistTopNAggGroup DsmonCounterAggGroupIndex,
dsmonPdistTopNRate Gauge32,
dsmonPdistTopNRateOvfl Gauge32,
dsmonPdistTopNHCRate CounterBasedGauge64
}
dsmonPdistTopNIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index that uniquely identifies an entry in the
dsmonPdistTopNTable among those in the same report. This
index is between 1 and N, where N is the number of entries
in this report. Note that 'N' may change over time, and may
also be less than the dsmonPdistTopNCtlGrantedSize value
associated with this entry."
::= { dsmonPdistTopNEntry 1 }
dsmonPdistTopNPDLocalIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The protocolDirLocalIndex value which identifies the
protocol associated with this entry.
If the protocolDirEntry associated with the
protocolDirLocalIndex with the same value as this object is
de-activated or deleted, then the agent MUST delete this
dsmonPdistTopN entry."
::= { dsmonPdistTopNEntry 2 }
dsmonPdistTopNAggGroup OBJECT-TYPE
SYNTAX DsmonCounterAggGroupIndex
Bierman Standards Track [Page 49]
RFC 3287 DSMON MIB July 2002
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The DSCP counter aggregation group index value associated
with protocol identified in this entry. This object
identifies the dsmonAggGroupEntry with the same
dsmonAggControlIndex value as the associated
dsmonPdistCtlAggProfile object and the same
dsmonAggGroupIndex value as this object."
::= { dsmonPdistTopNEntry 3 }
dsmonPdistTopNRate OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of change in the selected variable during this
sampling interval. The selected variable is this protocol's
instance of the object selected by
dsmonPdistTopNCtlRateBase.
If the associated dsmonPdistTopNCtlRateBase is equal to
'dsmonPdistTopNHCPkts' or 'dsmonPdistTopNHCOctets', then
this object will contain the the least significant 32 bits
of the associated dsmonPdistTopNHCRate object."
::= { dsmonPdistTopNEntry 4 }
dsmonPdistTopNRateOvfl OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The most significant 32 bits of the associated
dsmonPdistTopNHCRate object.
If the associated dsmonPdistTopNCtlRateBase is equal to
'dsmonPdistTopNHCPkts' or 'dsmonPdistTopNHCOctets', then
this object will contain the upper 32 bits of the associated
dsmonPdistTopNHCRate object.
If the associated dsmonPdistTopNCtlRateBase is equal to
'dsmonPdistTopNPkts' or 'dsmonPdistTopNOctets', then this
object will contain the value zero.
The agent MAY choose not to instantiate this object if High
Capacity monitoring is not supported."
::= { dsmonPdistTopNEntry 5 }
Bierman Standards Track [Page 50]
RFC 3287 DSMON MIB July 2002
dsmonPdistTopNHCRate OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of change in the selected variable during this
sampling interval. The selected variable is this protocol's
instance of the object selected by
dsmonPdistTopNCtlRateBase.
If the associated dsmonPdistTopNCtlRateBase is equal to
'dsmonPdistTopNPkts' or 'dsmonPdistTopNOctets', then this
object will contain the value zero, and the associated
dsmonPdistTopNRate object will contain the change in the
selected variable during the sampling interval.
The agent MAY choose not to instantiate this object if High
Capacity monitoring is not supported."
::= { dsmonPdistTopNEntry 6 }
-- ***********************************************************
-- * *
-- * P E R - H O S T C O L L E C T I O N S *
-- * *
-- ***********************************************************
--
-- NL Host Statistics Control Table
--
dsmonHostCtlTable OBJECT-TYPE
SYNTAX SEQUENCE OF DsmonHostCtlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Controls setup of per counter aggregation group, per
network layer host distribution statistics.
Note that an agent MAY choose to limit the actual number of
entries which may be created in this table. In this case,
the agent SHOULD return an error-status of
'resourceUnavailable(13)', as per section 4.2.5 of the
'Protocol Operations for SNMPv2' specification [RFC1905]."
::= { dsmonHostObjects 1 }
dsmonHostCtlEntry OBJECT-TYPE
Bierman Standards Track [Page 51]
RFC 3287 DSMON MIB July 2002
SYNTAX DsmonHostCtlEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row in the dsmonHostCtlTable.
Entries are created and deleted from this table by
management action only, using the dsmonHostCtlStatus
RowStatus object.
The agent SHOULD support non-volatile configuration of this
table, and upon system initialization, the table SHOULD be
initialized with the saved values.
Activation of a control row in this table will cause an
associated dsmonHostTable to be created and maintained by
the agent."
INDEX { dsmonHostCtlIndex }
::= { dsmonHostCtlTable 1 }
DsmonHostCtlEntry ::= SEQUENCE {
dsmonHostCtlIndex Integer32,
dsmonHostCtlDataSource DataSource,
dsmonHostCtlAggProfile DsmonCounterAggProfileIndex,
dsmonHostCtlMaxDesiredEntries Integer32,
dsmonHostCtlIPv4PrefixLen Integer32,
dsmonHostCtlIPv6PrefixLen Integer32,
dsmonHostCtlDroppedFrames Counter32,
dsmonHostCtlInserts Counter32,
dsmonHostCtlDeletes Counter32,
dsmonHostCtlCreateTime LastCreateTime,
dsmonHostCtlOwner OwnerString,
dsmonHostCtlStatus RowStatus
}
dsmonHostCtlIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary and unique index for this dsmonHostCtlEntry."
::= { dsmonHostCtlEntry 1 }
dsmonHostCtlDataSource OBJECT-TYPE
SYNTAX DataSource
MAX-ACCESS read-create
STATUS current
DESCRIPTION
|