Internet Draft Andy Bierman Cisco Systems, Inc. 28 January 2001 Remote Monitoring MIB Extensions for Differentiated Services Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [RFC2026]. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Distribution of this document is unlimited. Please send comments to the RMONMIB WG mailing list . 1. Copyright Notice Copyright (C) The Internet Society (2001). All Rights Reserved. Internet Draft DSMON MIB January 2001 2. Abstract This memo defines an experimental 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 Codepoint usage in IP packets, utilizing the monitoring framework defined in the RMON-2 MIB [RFC2021]. 3. Table of Contents 1 Copyright Notice ................................................ 1 2 Abstract ........................................................ 2 3 Table of Contents ............................................... 2 4 The SNMP Network Management Framework ........................... 2 5 Overview ........................................................ 4 5.1 Terms ......................................................... 4 5.2 Relationship to Differentiated Services ....................... 5 5.3 Relationship to the Remote Monitoring MIBs .................... 5 6 MIB Structure ................................................... 8 6.1 MIB Group Overview ............................................ 9 6.1.1 DSCP Aggregation Control Group .............................. 10 6.1.2 DS Statistics Group ......................................... 11 6.1.3 DS Protocol Distribution Group .............................. 12 6.1.4 DS Host Distribution Group .................................. 12 6.1.5 DSMON Capabilities Group .................................... 14 7 Definitions ..................................................... 14 8 Aggregation Configuration Usage Examples ........................ 79 8.1 Step 1: Unlock the Aggregation Configuration .................. 79 8.2 Step 2: Check the Maximum number of Aggregation Groups ........ 79 8.3 Step 3: Check if the aggregation profiles already exist ....... 79 8.4 Step 4: Create the Aggregation Control Entries ................ 80 8.5 Step 5: Create the Aggregation Group Descriptions ............. 80 8.6 Step 6: Create the Aggregation Profile Mappings ............... 83 8.7 Step 7: Lock the Aggregation Configuration .................... 86 9 Intellectual Property ........................................... 86 10 Acknowledgements ............................................... 87 11 References ..................................................... 87 12 Security Considerations ........................................ 90 13 Author's Address ............................................... 91 14 Full Copyright Statement ....................................... 92 4. The SNMP Network Management Framework The SNMP Management Framework presently consists of five major components: Expires July 28, 2001 [Page 2] Internet Draft DSMON MIB January 2001 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 described in RFC 1155 [RFC1155], RFC 1212 [RFC1212] and RFC 1215 [RFC1215]. The second version, called SMIv2, is described in 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 described in RFC 1157 [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the message protocol is called SNMPv3 and 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 RFC 1157 [RFC1157]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [RFC1905]. 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. Expires July 28, 2001 [Page 3] Internet Draft DSMON MIB January 2001 5. 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 preference 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. The actual packet treatment, or per- hop behavior (PHB), applied by a forwarding device, is independent of a particular DSCP value. 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. 5.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 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]. Aggregation Group An arbitrary set of DSCP values, grouped together for counting purposes. For the purposes of this MIB, a aggregation group is simply a group of codepoints that are being counted in the same manner (i.e., same buckets), for the purpose of (potentially) reducing the number of MIB objects that a management station must retrieve. An aggregation group may be used to model a particular Expires July 28, 2001 [Page 4] Internet Draft DSMON MIB January 2001 per-hop behavior (PHB), but such definitions are not specified in this document. Aggregation Profile A set of aggregation group mappings for all 64 DSCP values, which are applied to all monitored packets on a particular data source. An agent MUST support at least one aggregation profile configuration will yields at least two distinct aggregation groups. An agent MAY choose to restrict configurations such that all DSMON data collections for the same data source must use the same aggregation profile. 5.2. Relationship to Differentiated Services The DSMON MIB is a product of the RMONMIB WG, not the DIFFSERV WG, and it focuses on monitoring the DSCP values used in IP packets on a particular dataSource, not the forwarding device configuration or the per-hop behavior (PHB) semantics associated with each DSCP. This document assumes the reader is somewhat 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. 5.3. Relationship to the Remote Monitoring MIBs This MIB is intended to be implemented in Remote Monitoring (RMON) probes, which implement the RMON-2 MIB [RFC2021]. Such probes may be stand-alone devices, or may not be co-located with other networking devices (e.g., ethernet switches and repeaters). The DSMON probe MUST be capable of parsing the DS field in IPv4 packets and correlating the embedded DSCP value with other statistics, as defined in the DSMON MIB. The DSMON probe SHOULD be capable of providing the same functions on behalf of IPv6 packets as well. 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. For example, an agent might wish to implement the RMON-2 protocol distribution group and the DSMON protocol distribution group, in order to provide the fine granularity, 'per DSCP' statistics with the DSMON MIB, and the 'grand total' statistics with the RMON-2 MIB. Expires July 28, 2001 [Page 5] Internet Draft DSMON MIB January 2001 Several concepts and even MIB objects from the RMON MIBs are used in the DSMON MIB: DataSource This textual convention is used to describe the identification of an RMON monitoring source (defined in the RMON-2 MIB [RFC2021]). The DataSource textual convention is used throughout the DSMON MIB to identify the monitoring source for each configured collection. A DataSource MIB object is an OBJECT IDENTIFIER, which contains the particular instance of the ifIndex object associated with the monitored dataSource. 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. 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 [HCNUM]) 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. 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 Expires July 28, 2001 [Page 6] Internet Draft DSMON MIB January 2001 overhead required to analyze DSCP usage patterns. Expires July 28, 2001 [Page 7] Internet Draft DSMON MIB January 2001 6. MIB Structure Figure 1: DSMON MIB Functional Structure +---------------+ | | | Aggregation | +------------>| Control |<-----------+ | | | | | +---------------+ | | ^ | | | | | | | +---------------+ +---------------+ +---------------+ | | | | | | | Data Source | | Application | | Net. Host | | Statistics | | Statistics | | Statistics | | | | | | | +---------------+ +---------------+ +---------------+ | | | | V V +---------------+ +---------------+ | | | | | Application | | Net. Host | | TopN Reports | | TopN Reports | | | | | +---------------+ +---------------+ The DSMON MIB can divided into two functional components: - DSCP Aggregation Control This set of MIB objects controls how individual DIFFSERV codepoints are aggregated (for counting purposes) in DSMON data collections. - DSMON Data Collection This set of MIB objects controls how individual statistical collections are maintained by the agent and reported to management applications. Expires July 28, 2001 [Page 8] Internet Draft DSMON MIB January 2001 Figure 2: DSMON Aggregation Configuration +---------------+ | | | Aggregation | | Control | +---------------+ | | | | +---------------+ +-+-------------+ | | | | | | +-+-------------+ | | +---------------+ | | | +-+ | | +--------->| Aggregation | | +-+-------------+ | | | Profile +-+ | | | | | | +-+-------------+ | | | +---------------+ | | | | | | | Aggregation | +-+ | +-------------->| Groups for | | | dsmonAggGroupIndex | one profile +-+ +--------------------------------->| | dsmonAggControlIndex +---------------+ The DSMON MIB supports the configuration of an arbitrary number of aggregation profiles. There is a top-level aggregation control table, which contains one entry for each aggregation profile. A subordinate aggregation profile table provides information about each codepoint value in the profile. Each aggregation profile contains: - a set of aggregation groups An aggregation group is only meaningful within the scope of an individual aggregation profile. - a set of DSCP mappings Each DSCP value MUST be mapped into exactly one aggregation group. Each DSMON data collection MUST select an aggregation profile, and will convert observed DSCP values into aggregation group index values, using this set of mappings. 6.1. MIB Group Overview The DSMON MIB contains four groups of MIB objects: Expires July 28, 2001 [Page 9] Internet Draft DSMON MIB January 2001 - dsmonAggregateControl group Controls the configuration of aggregation groups, for the purpose of reducing the total number of counters maintained by the agent. - dsmonStatsObjects group Report per aggregation group distribution statistics for a particular RMON dataSource. - dsmonPdistObjects group Report per aggregation group distribution statistics for each protocol detected on a particular RMON dataSource. - dsmonHostObjects group Report IP host address distribution statistics for each aggregation group, detected on a particular RMON dataSource. 6.1.1. DSCP Aggregation Control Group This group contains 4 scalar objects and three tables, and is used by a management station to configure aggregation profiles. The dsmonMaxAggGroups scalar is a read-only integer which indicates the maximum number of 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 aggregation groups because of resource limitations (e.g., small number of HW-based counters). At least one aggregation profile containing at least two aggregation groups MUST be supported by the agent. The dsmonAggControlLocked scalar is used as a top level switch, controlling all write access to the dsmonAggControlTable, dsmonAggProfileTable, and dsmonAggGroupTable. All 'running counter' type of DSMON collection data is deleted, and collection suspended, while this object is equal to 'false', since the meaning of one or more 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 aggregation group mappings may have changed between polls. The dsmonAggControlTable is a read-create table which contains one entry for each aggregation profile configured on the agent. Each entry is identified by a dsmonAggControlIndex value, which is also used as the Expires July 28, 2001 [Page 10] Internet Draft DSMON MIB January 2001 major index into the dsmonAggProfileTable and dsmonAggGroupTable. The DSMON control tables with DataSource objects select an aggregation profile by referencing this index value. The agent SHOULD save the active entries in this table in non-volatile storage and recreate them upon the each restart of the system. 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 DSCP identified by the same dsmonAggProfileDSCP value, and contains the DSCP to aggregation group mapping for that DSCP, in the indicated aggregation profile. The agent SHOULD use the value zero as the initial aggregation group assignment for each entry in this table. The agent SHOULD save the active entries in this table in non-volatile storage and recreate them upon the each restart of the system. The dsmonAggGroupTable contains an administratively assigned descriptive label for each configured aggregation group. This table is not required to be properly configured in order for data collection to occur. It is provided to allow the agent to store a descriptive string for each configured aggregation group. There is no attempt made to convey any real semantics for each aggregation group. A management station MAY choose not to configure entries in this table. The agent SHOULD save the active entries in this table in non-volatile storage and recreate them upon the each restart of the system. 6.1.2. DS Statistics Group This group contains two tables, the dsmonStatsControlTable and the dsmonStatsTable, and supports 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 aggregation group distribution for an entire interface with this group. Expires July 28, 2001 [Page 11] Internet Draft DSMON MIB January 2001 6.1.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). The dsmonPdistCtlTable and dsmonPdistStatsTable tables provide aggregation group distribution statistics for each selected protocol encapsulation in packets monitored on a particular dataSource. Packet and octets distributions (per aggregation group per protocol) are maintained in the dsmonPdistStatsTable for each active control row in the dsmonPdistCtlTable. Due 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/aggregation group combinations. 6.1.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 Expires July 28, 2001 [Page 12] Internet Draft DSMON MIB January 2001 and dsmonHostTopNTable). The dsmonHostCtlTable and dsmonHostTables provide IP host distribution statistics for each aggregation group detected in packets monitored on a particular dataSource. 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 statistics to determine which IP hosts are using the selected aggregation groups. Packet and octets distributions (in and out, per aggregation group per IP 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. Expires July 28, 2001 [Page 13] Internet Draft DSMON MIB January 2001 6.1.5. DSMON Capabilities Group This group contains a single read-only scalar object, dsmonCapabilities, which provides an indication the MIB groups within this MIB that the agent supports. 7. Definitions -- RMON-2 Extensions for the Monitoring of -- Differentiated Services Enabled Networks -- -- IP DIFFSERV DSCP statistics -- * Per Aggregation Group -- * Per Protocol Per Aggregation Group -- * Per Aggregation Group Per IP Host Address -- -- -- In order to maintain the RMON 'look-and-feel', some of -- the text from the RMON-2 and HC-RMON MIBs by -- Steve Waldbusser has been used in this MIB. -- 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; dsmonMIB MODULE-IDENTITY LAST-UPDATED "200101270000Z" ORGANIZATION "IETF RMONMIB Working Group" Expires July 28, 2001 [Page 14] Internet Draft DSMON MIB January 2001 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 Mailing list subscription info: http://www.ietf.org/mailman/listinfo/rmonmib " DESCRIPTION "This module defines Remote Monitoring MIB extensions for Differentiated Services enabled networks." REVISION "200101270000Z" DESCRIPTION "Initial version of the DSMON MIB module. This version published as RFC xxxx (to be assigned by the RFC Editor)." ::= { 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 } -- -- Textual Convention to define a DSCP for -- DSMON monitoring purposes -- DsmonDSCodePoint ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This TC describes an object which identifies the Differentiated Services Codepoint (DSCP) value found within the DS field in a network layer packet header (e.g., IPv4 and IPv6)." Expires July 28, 2001 [Page 15] Internet Draft DSMON MIB January 2001 REFERENCE "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers [RFC2474]." SYNTAX Integer32 (0..63) -- -- Textual Convention to define a -- DSMON Aggregation Group Index -- AggGroupIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This TC describes an object which identifies a DSMON aggregation group, which is an arbitrary grouping of DSCP values, for monitoring purposes only." SYNTAX Integer32 (0..2147483647) -- -- Textual Convention to define a -- DSMON Aggregation Profile Index -- AggProfileIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This TC describes an object which identifies a DSMON aggregation profile, which is a set of aggregation group assignments for each of the 64 DSCP values, for a particular statistical collection." SYNTAX Integer32 (1..2147483647) -- *********************************************************** -- * * -- * A G G R E G A T I O N C O N T R O L G R O U P S * -- * * -- *********************************************************** dsmonMaxAggGroups OBJECT-TYPE SYNTAX Integer32 (2..64) MAX-ACCESS read-only STATUS current DESCRIPTION Expires July 28, 2001 [Page 16] Internet Draft DSMON MIB January 2001 "The maximum number of 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 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 aggregation groups for this agent. If this object contains the value 'true', then write access to the objects in the dsmonAggControlTable, 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, even if data collection itself is disabled by 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 dsmonAggProfileTable at the same time. Note that the agent is not required to validate the entire aggregation configuration when an attempt is made to Expires July 28, 2001 [Page 17] Internet Draft DSMON MIB January 2001 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 aggregation configuration. If the 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 'false' to 'true', or from 'true' to 'false'. Expires July 28, 2001 [Page 18] Internet Draft DSMON MIB January 2001 Upon system initialization, this object shall contain the value zero." ::= { dsmonAggObjects 4 } -- -- 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 an 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 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 aggregation profiles which may be applied to a particular data source. If the agent supports non-volatile configuration of this table, then upon system initialization, the table SHOULD be initialized with the saved values. Otherwise, each potential aggregation group description string SHOULD contain the empty string." ::= { dsmonAggObjects 5 } dsmonAggControlEntry OBJECT-TYPE SYNTAX DsmonAggControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Expires July 28, 2001 [Page 19] Internet Draft DSMON MIB January 2001 "A conceptual row in the dsmonAggControlTable. The dsmonAggControlIndex value in the INDEX identifies the aggregation profile associated with each entry." INDEX { dsmonAggControlIndex } ::= { dsmonAggControlTable 1 } DsmonAggControlEntry ::= SEQUENCE { dsmonAggControlIndex AggProfileIndex, dsmonAggControlDescr SnmpAdminString, dsmonAggControlOwner OwnerString, dsmonAggControlStatus RowStatus } dsmonAggControlIndex OBJECT-TYPE SYNTAX AggProfileIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer index value used to identify the 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 aggregation profile identified by this entry. Upon first instantiation 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 Expires July 28, 2001 [Page 20] Internet Draft DSMON MIB January 2001 "The entity that configured this entry and is therefore using the resources assigned to it. This object MUST NOT be modified if the dsmonAggControlLocked object is equal to 'true'." ::= { 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 } -- -- Aggregation Profile Table -- dsmonAggProfileTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonAggProfileEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Controls the setup of aggregation profiles for this agent. For each such profile, every DSCP value MUST be configured into exactly one aggregation group. This table MUST NOT be modified if the dsmonAggControlLocked object is equal to 'true'. Expires July 28, 2001 [Page 21] Internet Draft DSMON MIB January 2001 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. Otherwise, an agent SHOULD initially configuring each DSCP value in the same aggregation group." ::= { dsmonAggObjects 6 } 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 DsmonDSCodePoint, dsmonAggGroupIndex AggGroupIndex } dsmonAggProfileDSCP OBJECT-TYPE SYNTAX DsmonDSCodePoint MAX-ACCESS not-accessible STATUS current DESCRIPTION "The specific DSCP value which is configured in an aggregation group by this entry." ::= { dsmonAggProfileEntry 1 } dsmonAggGroupIndex OBJECT-TYPE SYNTAX AggGroupIndex MAX-ACCESS read-write STATUS current DESCRIPTION "The aggregation group which contains this DSCP value. Expires July 28, 2001 [Page 22] Internet Draft DSMON MIB January 2001 This object MUST NOT be modified if the dsmonAggControlLocked object is equal to 'true'." ::= { dsmonAggProfileEntry 2 } -- -- Aggregation Group Table -- dsmonAggGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonAggGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides a description of each aggregation group configured on this system. Note that the semantics of a particular aggregation group are only relevant within the scope of a particular 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 aggregation profiles which may be applied to a particular data source. 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 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 Expires July 28, 2001 [Page 23] Internet Draft DSMON MIB January 2001 "A conceptual row in the dsmonAggGroupTable. The dsmonAggGroupIndex value in the INDEX identifies the aggregation group associated with each entry. The dsmonAggControlIndex in the index identifies the aggregation profile associated with each entry, identified by the dsmonAggControlEntry and dsmonAggProfileEntries with the same index value. The dsmonAggGroupIndex in the index identifies the 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 aggregation group identified by this entry. Upon first instantiation 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. Expires July 28, 2001 [Page 24] Internet Draft DSMON MIB January 2001 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 } -- *********************************************************** -- * * -- * P E R - D A T A S O U 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 aggregation group distribution statistics." ::= { 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. 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 } Expires July 28, 2001 [Page 25] Internet Draft DSMON MIB January 2001 DsmonStatsControlEntry ::= SEQUENCE { dsmonStatsControlIndex Integer32, dsmonStatsControlDataSource DataSource, dsmonStatsControlAggProfile AggProfileIndex, 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 source of data for the this per protocol per 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 AggProfileIndex MAX-ACCESS read-create STATUS current DESCRIPTION "The dsmonAggControlIndex value identifying the aggregation profile which should be used on behalf of this dsmonStatsControlEntry. The associated dsmonAggControlEntry and Expires July 28, 2001 [Page 26] Internet Draft DSMON MIB January 2001 dsmonAggProfileEntries, identified by the same dsmonAggControlIndex index value, MUST be active in order for this entry to remain active. It is possible for the aggregation configuration to change from a valid to invalid state for this dsmonStats collection. In this case, 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 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 Expires July 28, 2001 [Page 27] Internet Draft DSMON MIB January 2001 polls." ::= { dsmonStatsControlEntry 5 } dsmonStatsControlOwner 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." ::= { 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 aggregation group usage for each monitored data source. The following table defines per 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 Expires July 28, 2001 [Page 28] Internet Draft DSMON MIB January 2001 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 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 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, Expires July 28, 2001 [Page 29] Internet Draft DSMON MIB January 2001 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" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets using one of the DSCP values in the indicated 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 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 UNITS "packets" 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 } Expires July 28, 2001 [Page 30] Internet Draft DSMON MIB January 2001 dsmonStatsInOvflOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" 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 DESCRIPTION "The 64-bit version of the dsmonStatsInPkts object. Note that this object will only be instantiated if the RMON agent supports High Capacity RMON 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 RMON 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 Expires July 28, 2001 [Page 31] Internet Draft DSMON MIB January 2001 indicated 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 aggregation group, received on a full-duplex link in the direction of the network." ::= { dsmonStatsEntry 8 } dsmonStatsOutOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "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 UNITS "octets" 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 Expires July 28, 2001 [Page 32] Internet Draft DSMON MIB January 2001 "The 64-bit version of the dsmonStatsOutPkts object. Note that this object will only be instantiated if the RMON agent supports High Capacity RMON 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 RMON 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 * -- * * -- *********************************************************** -- -- 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 aggregation group distribution statistics." ::= { dsmonPdistObjects 1 } dsmonPdistCtlEntry OBJECT-TYPE SYNTAX DsmonPdistCtlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Expires July 28, 2001 [Page 33] Internet Draft DSMON MIB January 2001 "A conceptual row in the dsmonPdistCtlTable. Entries are created and deleted from this table by management action only, using the dsmonPdistCtlStatus RowStatus object. 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 AggProfileIndex, dsmonPdistCtlMaxDesiredEntries Integer32, dsmonPdistCtlDroppedFrames Counter32, dsmonPdistCtlInserts Counter32, dsmonPdistCtlDeletes Counter32, 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 aggregation group distribution. This object MUST NOT be modified if the associated dsmonPdistCtlStatus object is equal to active(1)." ::= { dsmonPdistCtlEntry 2 } Expires July 28, 2001 [Page 34] Internet Draft DSMON MIB January 2001 dsmonPdistCtlAggProfile OBJECT-TYPE SYNTAX AggProfileIndex MAX-ACCESS read-create STATUS current DESCRIPTION "The dsmonAggControlIndex value identifying the 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 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 aggregation profiles which may be applied to a particular data source. 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 } Expires July 28, 2001 [Page 35] Internet Draft DSMON MIB January 2001 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 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" Expires July 28, 2001 [Page 36] Internet Draft DSMON MIB January 2001 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." ::= { 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. Expires July 28, 2001 [Page 37] Internet Draft DSMON MIB January 2001 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 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 "A list of information on Differentiated Services DSCP usage, containing packet and octet counters for each 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 Expires July 28, 2001 [Page 38] Internet Draft DSMON MIB January 2001 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 "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" Expires July 28, 2001 [Page 39] Internet Draft DSMON MIB January 2001 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets, using one of the DSCP values in the indicated 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 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 UNITS "packets" 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 SYNTAX ZeroBasedCounter32 UNITS "octets" 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." Expires July 28, 2001 [Page 40] Internet Draft DSMON MIB January 2001 ::= { 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 RMON 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 RMON 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 } -- -- Per-Protocol Statistics TopN Control Table -- dsmonPdistTopNCtlTable OBJECT-TYPE Expires July 28, 2001 [Page 41] Internet Draft DSMON MIB January 2001 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 selected metric." ::= { 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. 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, dsmonPdistTopNCtlRequestedSize Integer32, dsmonPdistTopNCtlGrantedSize Integer32, dsmonPdistTopNCtlStartTime TimeStamp, dsmonPdistTopNCtlOwner OwnerString, dsmonPdistTopNCtlStatus RowStatus } dsmonPdistTopNCtlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION Expires July 28, 2001 [Page 42] Internet Draft DSMON MIB January 2001 "An index that uniquely identifies an entry in the dsmonPdistTopNCtlTable. Each such entry defines one Top N report prepared for one RMON dataSource." ::= { 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), dsmonPdistTopNObsolete(5) } 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, 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 Expires July 28, 2001 [Page 43] Internet Draft DSMON MIB January 2001 dsmonPdistTopNHCPkts dsmonPdistStatsHCPkts dsmonPdistTopNHCOctets dsmonPdistStatsHCOctets dsmonPdistTopNObsolete This object SHOULD be set to the value 'dsmonPdistTopNObsolete(5)', if an updated version of this object has been created in another MIB module, and this rate base MIB object is no longer used. Note that the dsmonPdistTopNHCPkts and dsmonPdistTopNHCOctets enumerations are only available if the agent supports High Capacity RMON collection. 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. When this object is modified by the management station, any associated entries in the dsmonPdistTopNTable shall be Expires July 28, 2001 [Page 44] Internet Draft DSMON MIB January 2001 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." Expires July 28, 2001 [Page 45] Internet Draft DSMON MIB January 2001 DEFVAL { 150 } ::= { 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 NOST lower this value except as a result of a set to the associated dsmonPdistTopNCtlRequestedSize object. 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 Expires July 28, 2001 [Page 46] Internet Draft DSMON MIB January 2001 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." ::= { 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 Expires July 28, 2001 [Page 47] Internet Draft DSMON MIB January 2001 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 "A conceptual row in the dsmonPdistTopNTable. The dsmonPdistTopNCtlIndex value in the index identifies the dsmonPdistTopNCtlEntry on whose behalf this entry was created." INDEX { dsmonPdistTopNCtlIndex, dsmonPdistTopNIndex } ::= { dsmonPdistTopNTable 1 } DsmonPdistTopNEntry ::= SEQUENCE { dsmonPdistTopNIndex Integer32, dsmonPdistTopNPDLocalIndex Integer32, dsmonPdistTopNAggGroup AggGroupIndex, 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." ::= { dsmonPdistTopNEntry 1 } dsmonPdistTopNPDLocalIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current Expires July 28, 2001 [Page 48] Internet Draft DSMON MIB January 2001 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 AggGroupIndex MAX-ACCESS read-only STATUS current DESCRIPTION "The DSCP aggregation group index value associated with protocol identified in this entry." ::= { 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 Expires July 28, 2001 [Page 49] Internet Draft DSMON MIB January 2001 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 RMON collection is not supported." ::= { dsmonPdistTopNEntry 5 } 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 RMON collection is not supported." ::= { dsmonPdistTopNEntry 6 } -- *********************************************************** -- * * -- * P E R - H O S T C O L L E C T I O N S * -- * * -- *********************************************************** -- -- IP Host Statistics Control Table -- dsmonHostCtlTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonHostCtlEntry Expires July 28, 2001 [Page 50] Internet Draft DSMON MIB January 2001 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Controls setup of per aggregation group, per IP host distribution statistics." ::= { dsmonHostObjects 1 } dsmonHostCtlEntry OBJECT-TYPE 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. 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 AggProfileIndex, 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." Expires July 28, 2001 [Page 51] Internet Draft DSMON MIB January 2001 ::= { dsmonHostCtlEntry 1 } dsmonHostCtlDataSource OBJECT-TYPE SYNTAX DataSource MAX-ACCESS read-create STATUS current DESCRIPTION "The source of data for the associated dsmonHostTable. 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 dsmonHostCtlStatus object is equal to active(1)." ::= { dsmonHostCtlEntry 2 } dsmonHostCtlAggProfile OBJECT-TYPE SYNTAX AggProfileIndex MAX-ACCESS read-create STATUS current DESCRIPTION "The dsmonAggControlIndex value identifying the aggregation profile which should be used on behalf of this dsmonHostCtlEntry. 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 aggregation configuration to change from a valid to invalid state for this dsmonHost collection. In this case, the associated dsmonHostCtlStatus 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 aggregation profiles which may be applied to a particular data source. This object MUST NOT be modified if the associated dsmonHostCtlStatus object is equal to active(1)." ::= { dsmonHostCtlEntry 3 } dsmonHostCtlMaxDesiredEntries OBJECT-TYPE Expires July 28, 2001 [Page 52] Internet Draft DSMON MIB January 2001 SYNTAX Integer32 (-1 | 1..2147483647) UNITS "table entries" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum number of entries that are desired in the dsmonHostTable 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 dsmonHostCtlStatus object is equal to active(1)." ::= { dsmonHostCtlEntry 4 } dsmonHostCtlIPv4PrefixLen OBJECT-TYPE SYNTAX Integer32 (8..32) UNITS "bits" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of 'leftmost' contiguous bits in the host address field for encapsulations of IPv4, that should be maintained in this collection. This object controls how the dsmonHostAddress object is derived for packets which contain an encapsulation of IPv4. If this object has a value less than 32, then 'm' rightmost bits, where 'm' is equal to '32 - dsmonHostCtlIPv4PrefixLen', will be cleared to zero for counting purposes only. The 'leftmost' bit is the most significant bit of the first network-byte-order octet of the address. If this object is equal to 32, then no bits are cleared in each dsmonHostAddress field. This object MUST NOT be modified if the associated dsmonHostCtlStatus object is equal to active(1)." DEFVAL { 32 } ::= { dsmonHostCtlEntry 5 } Expires July 28, 2001 [Page 53] Internet Draft DSMON MIB January 2001 dsmonHostCtlIPv6PrefixLen OBJECT-TYPE SYNTAX Integer32 (8..128) UNITS "bits" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of 'leftmost' contiguous bits in the host address field for encapsulations of IPv6, that should be maintained in this collection. This object controls how the dsmonHostAddress object is derived for packets which contain an encapsulation of IPv6. If this object has a value less than 128, then 'm' rightmost bits, where 'm' is equal to '128 - dsmonHostCtlIPv6PrefixLen', will be cleared to zero for counting purposes only. The 'leftmost' bit is the most significant bit of the first network-byte-order octet of the address. If this object is equal to 128, then no bits are cleared in each dsmonHostAddress field. This object MUST NOT be modified if the associated dsmonHostCtlStatus object is equal to active(1)." DEFVAL { 128 } ::= { dsmonHostCtlEntry 6 } dsmonHostCtlDroppedFrames 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 the associated dsmonHost 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 dsmonHostTable is inactive because no appropriate protocols are enabled in the protocol directory, Expires July 28, 2001 [Page 54] Internet Draft DSMON MIB January 2001 this value SHOULD be 0. Note that, unlike the dropEvents counter, this number is the exact number of frames dropped." ::= { dsmonHostCtlEntry 7 } dsmonHostCtlInserts OBJECT-TYPE SYNTAX Counter32 UNITS "table entries" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times a dsmonHost entry has been inserted into the dsmonHost 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 dsmonHostCtlDeletes from dsmonHostCtlInserts." ::= { dsmonHostCtlEntry 8 } dsmonHostCtlDeletes OBJECT-TYPE SYNTAX Counter32 UNITS "table entries" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times a dsmonHost entry has been deleted from the dsmonHost 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. Expires July 28, 2001 [Page 55] Internet Draft DSMON MIB January 2001 Note that the table size can be determined by subtracting dsmonHostCtlDeletes from dsmonHostCtlInserts." ::= { dsmonHostCtlEntry 9 } dsmonHostCtlCreateTime 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." ::= { dsmonHostCtlEntry 10 } dsmonHostCtlOwner 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." ::= { dsmonHostCtlEntry 11 } dsmonHostCtlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this dsmonHostCtlEntry. 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 dsmonHostTable shall be deleted." ::= { dsmonHostCtlEntry 12 } -- -- IP Host Statistics Table -- dsmonHostTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonHostEntry MAX-ACCESS not-accessible Expires July 28, 2001 [Page 56] Internet Draft DSMON MIB January 2001 STATUS current DESCRIPTION "A collection of statistics for particular network addresses, which contain a DS field, and that has been discovered on a particular dataSource. The probe will add to this table all network 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. 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 dsmonHostCtlEntry." ::= { dsmonHostObjects 2 } dsmonHostEntry OBJECT-TYPE SYNTAX DsmonHostEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of information on Differentiated Services DSCP usage, containing packet and octet counters for each aggregation group index configured for collection per host address, as identified in the dsmonAggProfileTable. The dsmonHostCtlIndex value in the index identifies the dsmonHostCtlEntry on whose behalf this entry was created. The protocolDirLocalIndex value in the index identifies the specific network layer protocol encapsulation associated with each entry, and the network protocol type of the dsmonHostAddress object. It MUST identify a protocolDirEntry 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 dsmonAggGroupIndex value in the index is determined by examining the DSCP value in each monitored packet, and the dsmonAggProfileTable entry configured for that value. An example of the indexing of this entry is dsmonHostOutPkts.1.27273.3.200.4.171.69.120.0" Expires July 28, 2001 [Page 57] Internet Draft DSMON MIB January 2001 INDEX { dsmonHostCtlIndex, dsmonHostTimeMark, dsmonAggGroupIndex, protocolDirLocalIndex, dsmonHostAddress } ::= { dsmonHostTable 1 } DsmonHostEntry ::= SEQUENCE { dsmonHostTimeMark TimeFilter, dsmonHostAddress OCTET STRING, dsmonHostInPkts ZeroBasedCounter32, dsmonHostInOctets ZeroBasedCounter32, dsmonHostInOvflPkts ZeroBasedCounter32, dsmonHostInOvflOctets ZeroBasedCounter32, dsmonHostInHCPkts ZeroBasedCounter64, dsmonHostInHCOctets ZeroBasedCounter64, dsmonHostOutPkts ZeroBasedCounter32, dsmonHostOutOctets ZeroBasedCounter32, dsmonHostOutOvflPkts ZeroBasedCounter32, dsmonHostOutOvflOctets ZeroBasedCounter32, dsmonHostOutHCPkts ZeroBasedCounter64, dsmonHostOutHCOctets ZeroBasedCounter64, dsmonHostCreateTime LastCreateTime } dsmonHostTimeMark OBJECT-TYPE SYNTAX TimeFilter MAX-ACCESS not-accessible STATUS current DESCRIPTION "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." ::= { dsmonHostEntry 1 } dsmonHostAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4 | 16 | 20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network address for this dsmonHostEntry. Expires July 28, 2001 [Page 58] Internet Draft DSMON MIB January 2001 This object is encoded according to the protocol type indicated by the protocolDirLocalIndex value in the index. In addition, this object may have some 'rightmost' bits cleared to zero for counting purposes, as indicated by the associated dsmonHostCtlIPv4PrefixLen or dsmonHostCtlIPv6PrefixLen objects." ::= { dsmonHostEntry 2 } dsmonHostInPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets without errors, using one of the DSCP values in the indicated aggregation group, and transmitted to this address, since this entry was added to the dsmonHostTable. 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." ::= { dsmonHostEntry 3 } dsmonHostInOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets in all packets, transmitted to this address and using one of the DSCP values in the indicated aggregation group, since this entry was added to the dsmonHostTable (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." ::= { dsmonHostEntry 4 } dsmonHostInOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" Expires July 28, 2001 [Page 59] Internet Draft DSMON MIB January 2001 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of times the associated dsmonHostInPkts counter has overflowed. Note that this object will only be instantiated if the associated dsmonHostInHCPkts object is also instantiated for a particular dataSource." ::= { dsmonHostEntry 5 } dsmonHostInOvflOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of times the associated dsmonHostInOctets counter has overflowed. Note that this object will only be instantiated if the associated dsmonHostInHCOctets object is also instantiated for a particular dataSource." ::= { dsmonHostEntry 6 } dsmonHostInHCPkts OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The 64-bit version of the dsmonHostInPkts object. Note that this object will only be instantiated if the RMON agent supports High Capacity RMON for a particular dataSource." ::= { dsmonHostEntry 7 } dsmonHostInHCOctets OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The 64-bit version of the dsmonHostInOctets object. Note that this object will only be instantiated if the RMON agent supports High Capacity RMON for a particular dataSource." Expires July 28, 2001 [Page 60] Internet Draft DSMON MIB January 2001 ::= { dsmonHostEntry 8 } dsmonHostOutPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets without errors, using one of the DSCP values in the indicated aggregation group, and transmitted by this address, since this entry was added to the dsmonHostTable. 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." ::= { dsmonHostEntry 9 } dsmonHostOutOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets, transmitted by this address and using one of the DSCP values in the identified aggregation group, since this entry was added to the dsmonHostTable (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." ::= { dsmonHostEntry 10 } dsmonHostOutOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of times the associated dsmonHostOutPkts counter has overflowed. Note that this object will only be instantiated if the associated dsmonHostOutHCPkts object is also instantiated for a particular dataSource." ::= { dsmonHostEntry 11 } Expires July 28, 2001 [Page 61] Internet Draft DSMON MIB January 2001 dsmonHostOutOvflOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of times the associated dsmonHostOutOctets counter has overflowed. Note that this object will only be instantiated if the associated dsmonHostOutHCOctets object is also instantiated for a particular dataSource." ::= { dsmonHostEntry 12 } dsmonHostOutHCPkts OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The 64-bit version of the dsmonHostOutPkts object. Note that this object will only be instantiated if the RMON agent supports High Capacity RMON for a particular dataSource." ::= { dsmonHostEntry 13 } dsmonHostOutHCOctets OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The 64-bit version of the dsmonHostOutOctets object. Note that this object will only be instantiated if the RMON agent supports High Capacity RMON for a particular dataSource." ::= { dsmonHostEntry 14 } dsmonHostCreateTime OBJECT-TYPE SYNTAX LastCreateTime MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this dsmonHost entry was last instantiated by the agent. This can be used by the Expires July 28, 2001 [Page 62] Internet Draft DSMON MIB January 2001 management station to ensure that the entry has not been deleted and recreated between polls." ::= { dsmonHostEntry 15 } -- -- Per-Protocol Per-Host Statistics TopN Control Table -- dsmonHostTopNCtlTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonHostTopNCtlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of parameters that control the creation of a report of the top N dsmonHost entries according to a selected metric." ::= { dsmonHostObjects 3 } dsmonHostTopNCtlEntry OBJECT-TYPE SYNTAX DsmonHostTopNCtlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the dsmonHostTopNCtlTable. Entries are created and deleted from this table by management action only, using the dsmonHostTopNCtlStatus RowStatus object. Activation of a control row in this table will cause an associated dsmonHostTopNTable to be created and maintained by the agent." INDEX { dsmonHostTopNCtlIndex } ::= { dsmonHostTopNCtlTable 1 } DsmonHostTopNCtlEntry ::= SEQUENCE { dsmonHostTopNCtlIndex Integer32, dsmonHostTopNCtlHostIndex Integer32, dsmonHostTopNCtlRateBase INTEGER, dsmonHostTopNCtlTimeRemaining Integer32, dsmonHostTopNCtlGeneratedReports Counter32, dsmonHostTopNCtlDuration Integer32, dsmonHostTopNCtlRequestedSize Integer32, dsmonHostTopNCtlGrantedSize Integer32, Expires July 28, 2001 [Page 63] Internet Draft DSMON MIB January 2001 dsmonHostTopNCtlStartTime TimeStamp, dsmonHostTopNCtlOwner OwnerString, dsmonHostTopNCtlStatus RowStatus } dsmonHostTopNCtlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the dsmonHostTopNCtlTable. Each such entry defines one Top N report prepared for one RMON dataSource." ::= { dsmonHostTopNCtlEntry 1 } dsmonHostTopNCtlHostIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The dsmonHostTable for which a top N report will be prepared on behalf of this entry. The dsmonHostTable is identified by the value of the dsmonHostCtlIndex for that table - that value is used here to identify the particular table. This object MUST NOT be modified if the associated dsmonHostTopNCtlStatus object is equal to active(1)." ::= { dsmonHostTopNCtlEntry 2 } dsmonHostTopNCtlRateBase OBJECT-TYPE SYNTAX INTEGER { dsmonHostTopNInPkts(1), dsmonHostTopNInOctets(2), dsmonHostTopNOutPkts(3), dsmonHostTopNOutOctets(4), dsmonHostTopNTotalPkts(5), dsmonHostTopNTotalOctets(6), dsmonHostTopNInHCPkts(7), dsmonHostTopNInHCOctets(8), dsmonHostTopNOutHCPkts(9), dsmonHostTopNOutHCOctets(10), dsmonHostTopNTotalHCPkts(11), dsmonHostTopNTotalHCOctets(12), dsmonHostTopNObsolete(13) Expires July 28, 2001 [Page 64] Internet Draft DSMON MIB January 2001 } MAX-ACCESS read-create STATUS current DESCRIPTION "The variable(s) for each dsmonHost that the dsmonHostTopNRate and dsmonHostTopNHCRate variables are based upon. Each dsmonHostTopN report generated on behalf of this control entry will be ranked in descending order, based on the associated dsmonHostTable counter(s), identified by this object. The following table identifies the dsmonHostTable counters associated with each enumeration: Enumeration RateBase MIB Objects ----------- -------------------- dsmonHostTopNInPkts dsmonHostInPkts dsmonHostTopNInOctets dsmonHostInOctets dsmonHostTopNOutPkts dsmonHostOutPkts dsmonHostTopNOutOctets dsmonHostOutOctets dsmonHostTopNTotalPkts dsmonHostInPkts + dsmonHostOutPkts dsmonHostTopNTotalOctets dsmonHostInOctets + dsmonHostOutOctets dsmonHostTopNInHCPkts dsmonHostInHCPkts dsmonHostTopNInHCOctets dsmonHostInHCOctets dsmonHostTopNOutHCPkts dsmonHostOutHCPkts dsmonHostTopNOutHCOctets dsmonHostOutHCPkts dsmonHostTopNTotalHCPkts dsmonHostInHCPkts + dsmonHostOutHCPkts dsmonHostTopNTotalHCOctets dsmonHostInHCOctets + dsmonHostOutHCOctets dsmonHostTopNObsolete The following enumerations are only available if the agent supports High Capacity RMON collection: dsmonHostTopNInHCPkts dsmonHostTopNInHCOctets dsmonHostTopNOutHCPkts dsmonHostTopNOutHCOctets dsmonHostTopNTotalHCPkts dsmonHostTopNTotalHCOctets It is an implementation-specific matter whether an agent can Expires July 28, 2001 [Page 65] Internet Draft DSMON MIB January 2001 detect an overflow condition resulting from the addition of two counter delta values for the following enumerations: dsmonHostTopNTotalPkts dsmonHostTopNTotalOctets dsmonHostTopNTotalHCPkts dsmonHostTopNTotalHCOctets In the event such an overflow condition can be detected by the agent, the associated dsmonHostTopNRate, dsmonHostTopNRateOvfl, and/or dsmonHostTopNHCRate objects should be set to their maximum value. This object SHOULD be set to the value 'dsmonHostTopNObsolete(13)', if an updated version of this object has been created in another MIB module, and this rate base MIB object is no longer used. This object MUST NOT be modified if the associated dsmonHostTopNCtlStatus object is equal to active(1)." ::= { dsmonHostTopNCtlEntry 3 } dsmonHostTopNCtlTimeRemaining 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 dsmonHostTopNCtlDuration object. When the report finishes, the probe will automatically start another collection with the same initial value of dsmonHostTopNCtlTimeRemaining. 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 Expires July 28, 2001 [Page 66] Internet Draft DSMON MIB January 2001 object decrements to zero, the report is made accessible in the dsmonHostTopNTable, overwriting any report that may be there. When this object is modified by the management station, any associated entries in the dsmonHostTopNTable shall be deleted." DEFVAL { 1800 } ::= { dsmonHostTopNCtlEntry 4 } dsmonHostTopNCtlGeneratedReports OBJECT-TYPE SYNTAX Counter32 UNITS "reports" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of reports that have been generated by this entry." ::= { dsmonHostTopNCtlEntry 5 } dsmonHostTopNCtlDuration 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 dsmonHostTopNCtlTimeRemaining 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 dsmonHostTopNCtlTimeRemaining is set. This value shall be zero if no reports have been requested for this dsmonHostTopNCtlEntry." ::= { dsmonHostTopNCtlEntry 6 } dsmonHostTopNCtlRequestedSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) UNITS "table entries" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum number of dsmonHost entries requested for this Expires July 28, 2001 [Page 67] Internet Draft DSMON MIB January 2001 report. When this object is created or modified, the probe SHOULD set dsmonHostTopNCtlGrantedSize as closely to this object as is possible for the particular probe implementation and available resources." DEFVAL { 150 } ::= { dsmonHostTopNCtlEntry 7 } dsmonHostTopNCtlGrantedSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) UNITS "table entries" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of dsmonHost entries in this report. When the associated dsmonHostTopNCtlRequestedSize 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 dsmonHostTopNCtlRequestedSize object. When the associated dsmonHostTopNCtlRequestedSize 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 dsmonHostTopNCtlRequestedSize object. Protocol entries with the highest value of dsmonHostTopNRate or dsmonHostTopNHCRate (depending on the value of the associated dsmonHostTopNCtlRateBase 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 dsmonHost entries." ::= { dsmonHostTopNCtlEntry 8 } dsmonHostTopNCtlStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this top N report was last Expires July 28, 2001 [Page 68] Internet Draft DSMON MIB January 2001 started. In other words, this is the time that the associated dsmonHostTopNCtlTimeRemaining 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." ::= { dsmonHostTopNCtlEntry 9 } dsmonHostTopNCtlOwner 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." ::= { dsmonHostTopNCtlEntry 10 } dsmonHostTopNCtlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this dsmonHostTopNCtlEntry. 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 dsmonHostTopNTable shall be deleted by the agent." ::= { dsmonHostTopNCtlEntry 11 } -- -- dsmonHost TopN Table -- dsmonHostTopNTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonHostTopNEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of statistics for those dsmonHost entries that have counted the highest number of octets or packets. Expires July 28, 2001 [Page 69] Internet Draft DSMON MIB January 2001 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 dsmonHostTopNCtlEntry. 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 dsmonHostTopNCtlTable. Note that dsmonHost entries which did not increment at all during the report interval SHOULD NOT be included in dsmonHostTopN reports." ::= { dsmonHostObjects 4 } dsmonHostTopNEntry OBJECT-TYPE SYNTAX DsmonHostTopNEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the dsmonHostTopNTable. The dsmonHostTopNCtlIndex value in the index identifies the dsmonHostTopNCtlEntry on whose behalf this entry was created." INDEX { dsmonHostTopNCtlIndex, dsmonHostTopNIndex } ::= { dsmonHostTopNTable 1 } DsmonHostTopNEntry ::= SEQUENCE { dsmonHostTopNIndex Integer32, dsmonHostTopNPDLocalIndex Integer32, dsmonHostTopNAddress OCTET STRING, dsmonHostTopNAggGroup AggGroupIndex, dsmonHostTopNRate Gauge32, dsmonHostTopNRateOvfl Gauge32, dsmonHostTopNHCRate CounterBasedGauge64 } dsmonHostTopNIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the dsmonHostTopNTable among those in the same report. This index is between 1 and N, where N is the number of entries Expires July 28, 2001 [Page 70] Internet Draft DSMON MIB January 2001 in this report." ::= { dsmonHostTopNEntry 1 } dsmonHostTopNPDLocalIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The protocolDirLocalIndex value which identifies the protocol associated with the dsmonHostTopNAddress object in 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 dsmonHostTopN entry." ::= { dsmonHostTopNEntry 2 } dsmonHostTopNAddress OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "The dsmonHostAddress value for the network host identified in this entry. The associated dsmonHostTopNPDLocalIndex object identifies the network protocol type and the encoding rules for this object." ::= { dsmonHostTopNEntry 3 } dsmonHostTopNAggGroup OBJECT-TYPE SYNTAX AggGroupIndex MAX-ACCESS read-only STATUS current DESCRIPTION "The aggregation group index value associated with host identified in this entry." ::= { dsmonHostTopNEntry 4 } dsmonHostTopNRate 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 host's Expires July 28, 2001 [Page 71] Internet Draft DSMON MIB January 2001 instance of the object selected by dsmonHostTopNCtlRateBase. If the associated dsmonHostTopNCtlRateBase indicates a High Capacity RMON enumeration, (e.g. 'dsmonHostTopNInHCPkts'), then this object will contain the the least significant 32 bits of the associated dsmonHostTopNHCRate object." ::= { dsmonHostTopNEntry 5 } dsmonHostTopNRateOvfl OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The most significant 32 bits of the associated dsmonHostTopNHCRate object. If the associated dsmonHostTopNCtlRateBase is equal to any of the High Capacity RMON enumerations (e.g. 'dsmonHostTopNInHCPkts'), then this object will contain the upper 32 bits of the associated dsmonHostTopNHCRate object. If the associated dsmonHostTopNCtlRateBase is not equal to any of High Capacity RMON enumerations, then this object will contain the value zero. The agent MAY choose not to instantiate this object if High Capacity RMON collection is not supported." ::= { dsmonHostTopNEntry 6 } dsmonHostTopNHCRate 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 host's instance of the object selected by dsmonHostTopNCtlRateBase. If the associated dsmonHostTopNCtlRateBase is not equal to any of the High Capacity RMON enumerations (e.g., 'dsmonHostTopNInPkts'), then this object will contain the value zero, and the associated dsmonHostTopNRate object will contain the change in the selected variable during the sampling interval. Expires July 28, 2001 [Page 72] Internet Draft DSMON MIB January 2001 The agent MAY choose not to instantiate this object if High Capacity RMON collection is not supported." ::= { dsmonHostTopNEntry 7 } -- -- DSMON Capabilities -- dsmonCapabilities OBJECT-TYPE SYNTAX BITS { dsmonAggControl(0), dsmonStats(1), dsmonStatsOvfl(2), dsmonStatsHC(3), dsmonPdist(4), dsmonPdistOvfl(5), dsmonPdistHC(6), dsmonHost(7), dsmonHostOvfl(8), dsmonHostHC(9), dsmonCaps(10) } 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 } -- -- Notifications Section -- (none defined) -- -- -- Conformance Section -- dsmonCompliances OBJECT IDENTIFIER ::= { dsmonConformance 1 } dsmonGroups OBJECT IDENTIFIER ::= { dsmonConformance 2 } Expires July 28, 2001 [Page 73] Internet Draft DSMON MIB January 2001 dsmonCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Describes the requirements for conformance to the Differentiated Services Monitoring MIB." MODULE -- this module MANDATORY-GROUPS { dsmonAggControlGroup, dsmonStatsGroup, dsmonCapsGroup } GROUP dsmonStatsHCGroup DESCRIPTION "The dsmonStatsHCGroup is mandatory for systems which implement High Capacity RMON monitoring." ::= { dsmonCompliances 1 } dsmonAggControlGroup OBJECT-GROUP OBJECTS { dsmonMaxAggGroups, dsmonAggControlLocked, dsmonAggControlChanges, dsmonAggControlLastChangeTime, dsmonAggControlDescr, dsmonAggControlOwner, dsmonAggControlStatus, dsmonAggGroupIndex, dsmonAggGroupDescr, dsmonAggGroupStatus } STATUS current DESCRIPTION "A collection of objects used to configure and manage aggregation groups for DSMON collection purposes." ::= { dsmonGroups 1 } dsmonStatsGroup OBJECT-GROUP OBJECTS { dsmonStatsControlDataSource, dsmonStatsControlAggProfile, dsmonStatsControlDroppedFrames, dsmonStatsControlCreateTime, dsmonStatsControlOwner, dsmonStatsControlStatus, dsmonStatsInPkts, Expires July 28, 2001 [Page 74] Internet Draft DSMON MIB January 2001 dsmonStatsInOctets, dsmonStatsOutPkts, dsmonStatsOutOctets } STATUS current DESCRIPTION "A collection of objects providing per DSCP statistics." ::= { dsmonGroups 2 } dsmonStatsOvflGroup OBJECT-GROUP OBJECTS { dsmonStatsInOvflPkts, dsmonStatsInOvflOctets, dsmonStatsOutOvflPkts, dsmonStatsOutOvflOctets } STATUS deprecated DESCRIPTION "A collection of objects providing per-DSCP overflow counters for systems with high capacity data sources, but without support for the Counter64 data type." ::= { dsmonGroups 3 } dsmonStatsHCGroup OBJECT-GROUP OBJECTS { dsmonStatsInHCPkts, dsmonStatsInHCOctets, dsmonStatsOutHCPkts, dsmonStatsOutHCOctets } STATUS current DESCRIPTION "A collection of objects providing per DSCP statistics for high capacity data sources." ::= { dsmonGroups 4 } dsmonPdistGroup OBJECT-GROUP OBJECTS { dsmonPdistCtlDataSource, dsmonPdistCtlAggProfile, dsmonPdistCtlMaxDesiredEntries, dsmonPdistCtlDroppedFrames, dsmonPdistCtlInserts, dsmonPdistCtlDeletes, dsmonPdistCtlCreateTime, Expires July 28, 2001 [Page 75] Internet Draft DSMON MIB January 2001 dsmonPdistCtlOwner, dsmonPdistCtlStatus, dsmonPdistStatsPkts, dsmonPdistStatsOctets, dsmonPdistStatsCreateTime, dsmonPdistTopNCtlPdistIndex, dsmonPdistTopNCtlRateBase, dsmonPdistTopNCtlTimeRemaining, dsmonPdistTopNCtlGeneratedReprts, dsmonPdistTopNCtlDuration, dsmonPdistTopNCtlRequestedSize, dsmonPdistTopNCtlGrantedSize, dsmonPdistTopNCtlStartTime, dsmonPdistTopNCtlOwner, dsmonPdistTopNCtlStatus, dsmonPdistTopNPDLocalIndex, dsmonPdistTopNAggGroup, dsmonPdistTopNRate } STATUS current DESCRIPTION "A collection of objects providing per protocol DSCP monitoring extensions to the RMON-2 MIB." ::= { dsmonGroups 5 } dsmonPdistOvflGroup OBJECT-GROUP OBJECTS { dsmonPdistStatsOvflPkts, dsmonPdistStatsOvflOctets, dsmonPdistTopNRateOvfl } STATUS deprecated DESCRIPTION "A collection of objects providing per-protocol DSCP overflow counters for systems with high capacity data sources, but without support for the Counter64 data type." ::= { dsmonGroups 6 } dsmonPdistHCGroup OBJECT-GROUP OBJECTS { dsmonPdistStatsHCPkts, dsmonPdistStatsHCOctets, dsmonPdistTopNHCRate } STATUS current Expires July 28, 2001 [Page 76] Internet Draft DSMON MIB January 2001 DESCRIPTION "A collection of objects providing per protocol DSCP monitoring extensions to the RMON-2 MIB for High Capacicy networks." ::= { dsmonGroups 7 } dsmonHostGroup OBJECT-GROUP OBJECTS { dsmonHostCtlDataSource, dsmonHostCtlAggProfile, dsmonHostCtlMaxDesiredEntries, dsmonHostCtlIPv4PrefixLen, dsmonHostCtlIPv6PrefixLen, dsmonHostCtlDroppedFrames, dsmonHostCtlInserts, dsmonHostCtlDeletes, dsmonHostCtlCreateTime, dsmonHostCtlOwner, dsmonHostCtlStatus, dsmonHostInPkts, dsmonHostInOctets, dsmonHostOutPkts, dsmonHostOutOctets, dsmonHostCreateTime, dsmonHostTopNCtlHostIndex, dsmonHostTopNCtlRateBase, dsmonHostTopNCtlTimeRemaining, dsmonHostTopNCtlGeneratedReports, dsmonHostTopNCtlDuration, dsmonHostTopNCtlRequestedSize, dsmonHostTopNCtlGrantedSize, dsmonHostTopNCtlStartTime, dsmonHostTopNCtlOwner, dsmonHostTopNCtlStatus, dsmonHostTopNPDLocalIndex, dsmonHostTopNAddress, dsmonHostTopNAggGroup, dsmonHostTopNRate } STATUS current DESCRIPTION "A collection of objects providing per IP Host monitoring functions." ::= { dsmonGroups 8 } Expires July 28, 2001 [Page 77] Internet Draft DSMON MIB January 2001 dsmonHostOvflGroup OBJECT-GROUP OBJECTS { dsmonHostInOvflPkts, dsmonHostInOvflOctets, dsmonHostOutOvflPkts, dsmonHostOutOvflOctets, dsmonHostTopNRateOvfl } STATUS deprecated DESCRIPTION "A collection of objects providing per IP host DSCP overflow counters for systems with high capacity data sources, but without support for the Counter64 data type." ::= { dsmonGroups 9 } dsmonHostHCGroup OBJECT-GROUP OBJECTS { dsmonHostInHCPkts, dsmonHostInHCOctets, dsmonHostOutHCPkts, dsmonHostOutHCOctets, dsmonHostTopNHCRate } STATUS current DESCRIPTION "A collection of objects providing per IP Host monitoring functions for High Capacity networks." ::= { dsmonGroups 10 } dsmonCapsGroup OBJECT-GROUP OBJECTS { dsmonCapabilities } STATUS current DESCRIPTION "A collection of objects providing an indication of the DSMON monitoring functions supported by the agent." ::= { dsmonGroups 11 } END Expires July 28, 2001 [Page 78] Internet Draft DSMON MIB January 2001 8. Aggregation Configuration Usage Examples This section contains an example of the steps that may be followed by a management station to configure the objects in the dsmonAggControlGroup. A note about these examples: - they do not define a standard - an agent is not obligated to support them - a management application is not constrained by them - the SET(object = value [, ...]) notation is only conceptual, and is not meant to represent an actual SNMP Set PDU. 8.1. Step 1: Unlock the Aggregation Configuration Before any write operations to the tabular objects in this group can be made, the aggregation configuration must be unlocked, by setting the dsmonAggControlLocked scalar to false: SET(dsmonAggControlLocked.0 = false(2)); 8.2. Step 2: Check the Maximum number of Aggregation Groups Make sure the desired aggregation groups have a chance of being configured on the agent. maxGroups = GET(dsmonAggMaxAggGroups.0); For this example, maxGroups is greater or equal to 64. 8.3. Step 3: Check if the aggregation profiles already exist Make sure the desired aggregation profiles have not already been configured, or perhaps recreated after an agent restart. The following example is oversimplified, in that the entire aggregation configuration should actually be verified. profile1Descr = GET(dsmonAggControlDescr.1); profile1Owner = GET(dsmonAggControlOwner.1); profile1Status = GET(dsmonAggControlStatus.1); Expires July 28, 2001 [Page 79] Internet Draft DSMON MIB January 2001 For this example, none of the aggregation profiles already exist. 8.4. Step 4: Create the Aggregation Control Entries The management station should create one entry in the dsmonAggControlTable for each aggregation profile to be configured on the agent. Steps 4, 5, and 6 are repeated for each aggregation profile to be configured on the agent. There are 4 example aggregation profiles shown in each of these steps. Example 1: no aggregation at all. SET(dsmonAggControlStatus.1 = createAndGo(4), dsmonAggControlOwner.1 = "Example App 1", dsmonAggControlDescr.1 = "No Aggregation"); Example 2: a collection of DIFFSERV PHBs. SET(dsmonAggControlStatus.2 = createAndGo(4), dsmonAggControlOwner.2 = "Example App 2", dsmonAggControlDescr.2 = "June 2000 DIFFSERV PHBs"); Example 3: an aggregated collection of DIFFSERV PHBs. SET(dsmonAggControlStatus.3 = createAndGo(4), dsmonAggControlOwner.3 = "Example App 3", dsmonAggControlDescr.3 = "Limited June 2000 PHBs"); Example 4: an initial configuration SET(dsmonAggControlStatus.4 = createAndGo(4), dsmonAggControlOwner.4 = "monitor", dsmonAggControlDescr.4 = "Initial Configuration"); 8.5. Step 5: Create the Aggregation Group Descriptions The dsmonAggGroupEntries can be created at any time. The management station should create one entry for each aggregation group, for each aggregation profile, Example 1: no aggregation at all. One group is created for each codepoint, for a total of 64 rows. Expires July 28, 2001 [Page 80] Internet Draft DSMON MIB January 2001 SET(dsmonAggGroupStatus.1.0 = createAndGo(4), dsmonAggGroupDescr.1.0 = "DSCP 0"); SET(dsmonAggGroupStatus.1.1 = createAndGo(4), dsmonAggGroupDescr.1.1 = "DSCP 1"); SET(dsmonAggGroupStatus.1.2 = createAndGo(4), dsmonAggGroupDescr.1.2 = "DSCP 2"); SET(dsmonAggGroupStatus.1.3 = createAndGo(4), dsmonAggGroupDescr.1.3 = "DSCP 3"); ... SET(dsmonAggGroupStatus.1.63 = createAndGo(4), dsmonAggGroupDescr.1.63 = "DSCP 63"); Example 2: a collection of current DIFFSERV PHBs. One group is created for each PHB to be monitored SET(dsmonAggGroupStatus.2.0 = createAndGo(4), dsmonAggGroupDescr.2.0 = "CS0"); SET(dsmonAggGroupStatus.2.1 = createAndGo(4), dsmonAggGroupDescr.2.1 = "CS1"); SET(dsmonAggGroupStatus.2.2 = createAndGo(4), dsmonAggGroupDescr.2.2 = "CS2"); SET(dsmonAggGroupStatus.2.3 = createAndGo(4), dsmonAggGroupDescr.2.3 = "CS3"); SET(dsmonAggGroupStatus.2.4 = createAndGo(4), dsmonAggGroupDescr.2.4 = "CS4"); SET(dsmonAggGroupStatus.2.5 = createAndGo(4), dsmonAggGroupDescr.2.5 = "CS5"); SET(dsmonAggGroupStatus.2.6 = createAndGo(4), dsmonAggGroupDescr.2.6 = "CS6"); SET(dsmonAggGroupStatus.2.7 = createAndGo(4), dsmonAggGroupDescr.2.7 = "CS7"); SET(dsmonAggGroupStatus.2.8 = createAndGo(4), dsmonAggGroupDescr.2.8 = "EF"); SET(dsmonAggGroupStatus.2.9 = createAndGo(4), dsmonAggGroupDescr.2.9 = "AF11"); SET(dsmonAggGroupStatus.2.10 = createAndGo(4), dsmonAggGroupDescr.2.10 = "AF12"); SET(dsmonAggGroupStatus.2.11 = createAndGo(4), dsmonAggGroupDescr.2.11 = "AF13"); SET(dsmonAggGroupStatus.2.12 = createAndGo(4), dsmonAggGroupDescr.2.12 = "AF21"); SET(dsmonAggGroupStatus.2.13 = createAndGo(4), dsmonAggGroupDescr.2.13 = "AF22"); Expires July 28, 2001 [Page 81] Internet Draft DSMON MIB January 2001 SET(dsmonAggGroupStatus.2.14 = createAndGo(4), dsmonAggGroupDescr.2.14 = "AF23"); SET(dsmonAggGroupStatus.2.15 = createAndGo(4), dsmonAggGroupDescr.2.15 = "AF31"); SET(dsmonAggGroupStatus.2.16 = createAndGo(4), dsmonAggGroupDescr.2.16 = "AF32"); SET(dsmonAggGroupStatus.2.17 = createAndGo(4), dsmonAggGroupDescr.2.17 = "AF33"); SET(dsmonAggGroupStatus.2.18 = createAndGo(4), dsmonAggGroupDescr.2.18 = "AF41"); SET(dsmonAggGroupStatus.2.19 = createAndGo(4), dsmonAggGroupDescr.2.19 = "AF42"); SET(dsmonAggGroupStatus.2.20 = createAndGo(4), dsmonAggGroupDescr.2.20 = "AF43"); SET(dsmonAggGroupStatus.2.21 = createAndGo(4), dsmonAggGroupDescr.2.21 = "Nonzero Default"); Example 3: an aggregated representation of current DIFFSERV PHBs. One group is created for each aggregation to be monitored (8 rows in this example). SET(dsmonAggGroupStatus.3.0 = createAndGo(4), dsmonAggGroupDescr.3.0 = "Zero CS"); SET(dsmonAggGroupStatus.3.1 = createAndGo(4), dsmonAggGroupDescr.3.1 = "Nonzero CS"); SET(dsmonAggGroupStatus.3.2 = createAndGo(4), dsmonAggGroupDescr.3.2 = "EF"); SET(dsmonAggGroupStatus.3.3 = createAndGo(4), dsmonAggGroupDescr.3.3 = "AF1"); SET(dsmonAggGroupStatus.3.4 = createAndGo(4), dsmonAggGroupDescr.3.4 = "AF2"); SET(dsmonAggGroupStatus.3.5 = createAndGo(4), dsmonAggGroupDescr.3.5 = "AF3"); SET(dsmonAggGroupStatus.3.6 = createAndGo(4), dsmonAggGroupDescr.3.6 = "AF4"); SET(dsmonAggGroupStatus.3.7 = createAndGo(4), dsmonAggGroupDescr.3.7 = "Nonzero Default"); Example 4: an example initial configuration. Note that no dsmonAggGroupEntries actually need to be created. In this example, an entry will be created anyway. SET(dsmonAggGroupStatus.4.0 = createAndGo(4), dsmonAggGroupDescr.4.0 = "Initial Configuration"); Expires July 28, 2001 [Page 82] Internet Draft DSMON MIB January 2001 8.6. Step 6: Create the Aggregation Profile Mappings After the dsmonAggControlEntries are activated, the associated read- write dsmonAggProfileEntries will be created. The management station must create 64 entries in the dsmonAggProfileTable for each aggregation profile configured in the dsmonAggControlTable. Example 1: no aggregation at all. SET(dsmonAggGroupIndex.1.0 = 0, dsmonAggGroupIndex.1.1 = 1, dsmonAggGroupIndex.1.2 = 2, dsmonAggGroupIndex.1.3 = 3, ... dsmonAggGroupIndex.1.63 = 63); Example 2: a collection of current DIFFSERV PHBs. SET(dsmonAggGroupIndex.2.0 = 0, -- CS0 dsmonAggGroupIndex.2.1 = 21, -- Nonzero Default dsmonAggGroupIndex.2.2 = 21, dsmonAggGroupIndex.2.3 = 21, dsmonAggGroupIndex.2.4 = 21, dsmonAggGroupIndex.2.5 = 21, dsmonAggGroupIndex.2.6 = 21, dsmonAggGroupIndex.2.7 = 21, dsmonAggGroupIndex.2.8 = 1, -- CS1 dsmonAggGroupIndex.2.9 = 21, dsmonAggGroupIndex.2.10 = 9, -- AF11 dsmonAggGroupIndex.2.11 = 21, dsmonAggGroupIndex.2.12 = 10, -- AF12 dsmonAggGroupIndex.2.13 = 21, dsmonAggGroupIndex.2.14 = 11, -- AF13 dsmonAggGroupIndex.2.15 = 21, dsmonAggGroupIndex.2.16 = 2, -- CS2 dsmonAggGroupIndex.2.17 = 21, dsmonAggGroupIndex.2.18 = 12, -- AF21 dsmonAggGroupIndex.2.19 = 21, dsmonAggGroupIndex.2.20 = 13, -- AF22 dsmonAggGroupIndex.2.21 = 21, dsmonAggGroupIndex.2.22 = 14, -- AF23 dsmonAggGroupIndex.2.23 = 21, dsmonAggGroupIndex.2.24 = 3, -- CS3 dsmonAggGroupIndex.2.25 = 21, dsmonAggGroupIndex.2.26 = 15, -- AF31 Expires July 28, 2001 [Page 83] Internet Draft DSMON MIB January 2001 dsmonAggGroupIndex.2.27 = 21, dsmonAggGroupIndex.2.28 = 16, -- AF32 dsmonAggGroupIndex.2.29 = 8, -- EF dsmonAggGroupIndex.2.30 = 17, -- AF33 dsmonAggGroupIndex.2.31 = 21, dsmonAggGroupIndex.2.32 = 4, -- CS4 dsmonAggGroupIndex.2.33 = 21, dsmonAggGroupIndex.2.34 = 18, -- AF41 dsmonAggGroupIndex.2.35 = 21, dsmonAggGroupIndex.2.36 = 19, -- AF42 dsmonAggGroupIndex.2.37 = 21, dsmonAggGroupIndex.2.38 = 20, -- AF43 dsmonAggGroupIndex.2.39 = 21, dsmonAggGroupIndex.2.40 = 5, -- CS5 dsmonAggGroupIndex.2.41 = 21, dsmonAggGroupIndex.2.42 = 21, dsmonAggGroupIndex.2.43 = 21, dsmonAggGroupIndex.2.44 = 21, dsmonAggGroupIndex.2.45 = 21, dsmonAggGroupIndex.2.46 = 21, dsmonAggGroupIndex.2.47 = 21, dsmonAggGroupIndex.2.48 = 6, -- CS6 dsmonAggGroupIndex.2.49 = 21, dsmonAggGroupIndex.2.50 = 21, dsmonAggGroupIndex.2.51 = 21, dsmonAggGroupIndex.2.52 = 21, dsmonAggGroupIndex.2.53 = 21, dsmonAggGroupIndex.2.54 = 21, dsmonAggGroupIndex.2.55 = 21, dsmonAggGroupIndex.2.56 = 7, -- CS7 dsmonAggGroupIndex.2.57 = 21, dsmonAggGroupIndex.2.58 = 21, dsmonAggGroupIndex.2.59 = 21, dsmonAggGroupIndex.2.60 = 21, dsmonAggGroupIndex.2.61 = 21, dsmonAggGroupIndex.2.62 = 21, dsmonAggGroupIndex.2.63 = 21); Example 3: an aggregated collection of current DIFFSERV PHBs. SET(dsmonAggGroupIndex.3.0 = 0, -- Zero CS dsmonAggGroupIndex.3.1 = 7, -- Nonzero Default dsmonAggGroupIndex.3.2 = 7, dsmonAggGroupIndex.3.3 = 7, dsmonAggGroupIndex.3.4 = 7, Expires July 28, 2001 [Page 84] Internet Draft DSMON MIB January 2001 dsmonAggGroupIndex.3.5 = 7, dsmonAggGroupIndex.3.6 = 7, dsmonAggGroupIndex.3.7 = 7, dsmonAggGroupIndex.3.8 = 1, -- Nonzero CS dsmonAggGroupIndex.3.9 = 7, dsmonAggGroupIndex.3.10 = 3, -- AF1 dsmonAggGroupIndex.3.11 = 7, dsmonAggGroupIndex.3.12 = 3, dsmonAggGroupIndex.3.13 = 7, dsmonAggGroupIndex.3.14 = 3, dsmonAggGroupIndex.3.15 = 7, dsmonAggGroupIndex.3.16 = 1, dsmonAggGroupIndex.3.17 = 7, dsmonAggGroupIndex.3.18 = 4, -- AF2 dsmonAggGroupIndex.3.19 = 7, dsmonAggGroupIndex.3.20 = 4, dsmonAggGroupIndex.3.21 = 7, dsmonAggGroupIndex.3.22 = 4, dsmonAggGroupIndex.3.23 = 7, dsmonAggGroupIndex.3.24 = 1, dsmonAggGroupIndex.3.25 = 7, dsmonAggGroupIndex.3.26 = 5, -- AF3 dsmonAggGroupIndex.3.27 = 7, dsmonAggGroupIndex.3.28 = 5, dsmonAggGroupIndex.3.29 = 2, -- EF dsmonAggGroupIndex.3.30 = 5, dsmonAggGroupIndex.3.31 = 7, dsmonAggGroupIndex.3.32 = 1, dsmonAggGroupIndex.3.33 = 7, dsmonAggGroupIndex.3.34 = 6, -- AF4 dsmonAggGroupIndex.3.35 = 7, dsmonAggGroupIndex.3.36 = 6, dsmonAggGroupIndex.3.37 = 7, dsmonAggGroupIndex.3.38 = 6, dsmonAggGroupIndex.3.39 = 7, dsmonAggGroupIndex.3.40 = 1, dsmonAggGroupIndex.3.41 = 7, dsmonAggGroupIndex.3.42 = 7, dsmonAggGroupIndex.3.43 = 7, dsmonAggGroupIndex.3.44 = 7, dsmonAggGroupIndex.3.45 = 7, dsmonAggGroupIndex.3.46 = 7, dsmonAggGroupIndex.3.47 = 7, dsmonAggGroupIndex.3.48 = 1, dsmonAggGroupIndex.3.49 = 7, Expires July 28, 2001 [Page 85] Internet Draft DSMON MIB January 2001 dsmonAggGroupIndex.3.50 = 7, dsmonAggGroupIndex.3.51 = 7, dsmonAggGroupIndex.3.52 = 7, dsmonAggGroupIndex.3.53 = 7, dsmonAggGroupIndex.3.54 = 7, dsmonAggGroupIndex.3.55 = 7, dsmonAggGroupIndex.3.56 = 1, dsmonAggGroupIndex.3.57 = 7, dsmonAggGroupIndex.3.58 = 7, dsmonAggGroupIndex.3.59 = 7, dsmonAggGroupIndex.3.60 = 7, dsmonAggGroupIndex.3.61 = 7, dsmonAggGroupIndex.3.62 = 7, dsmonAggGroupIndex.3.63 = 7); Example 4: initial configuration; All DSCP mappings are set to zero. SET(dsmonAggGroupIndex.4.0 = 0, -- Initial Configuration dsmonAggGroupIndex.4.1 = 0, dsmonAggGroupIndex.4.2 = 0, ... dsmonAggGroupIndex.4.63 = 0); 8.7. Step 7: Lock the Aggregation Configuration Before any existing collections can be activated by the agent, the aggregation configuration must be locked, by setting the dsmonAggControlLocked scalar to 'true'. SET(dsmonAggControlLocked.0 = true(1)); 9. Intellectual Property The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards- related documentation can be found in BCP-11. Copies of claims of Expires July 28, 2001 [Page 86] Internet Draft DSMON MIB January 2001 rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat." The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. 10. Acknowledgements This memo is a product of the RMONMIB WG. It is based on an Internet Draft that was produced with a great deal of assistance from Keith McCloghrie and Bijendra Jain. 11. References [HCNUM] Bierman, A., McCloghrie, K., and R. Presuhn, "Textual Conventions for Additional High Capacity Data Types", Work in Progress, February, 2000. [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", RFC 1155, Performance Systems International, Hughes LAN Systems, May 1990. [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1157, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990. [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", RFC 1212, Performance Systems International, Hughes LAN Systems, March 1991. [RFC1215] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, Performance Systems International, March 1991. Expires July 28, 2001 [Page 87] Internet Draft DSMON MIB January 2001 [RFC1901] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [RFC1905] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [RFC1906] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [RFC2021] S. Waldbusser, "Remote Network Monitoring MIB (RMON-2)", RFC 2021, International Network Services, January 1997. [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", RFC 2026, Harvard University, October, 1996. [RFC2074] Bierman, A., and R. Iddon, "Remote Network Monitoring MIB Protocol Identifiers", RFC 2074, Cisco Systems, AXON Networks, Inc., January 1997. [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels" RFC 2119, Harvard University, March 1997. [RFC2474] Nichols, K., Blake, S., Baker, F., and D. L. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, Cisco Systems, Torrent Networking Technologies, EMC Corporation, December, 1998. [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., and W. Expires July 28, 2001 [Page 88] Internet Draft DSMON MIB January 2001 Weiss, "An Architecture for Differentiated Services", RFC 2475, Torrent Networking Technologies, EMC Corporation, Sun Microsystems, Nortel UK, Bell Labs Lucent Technologies, Lucent Technologies, December, 1998. [RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, SNMP Research, Inc., TIS Labs at Network Associates, Inc., Ericsson, Cisco Systems, April 1999. [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, Cabletron Systems, Inc., BMC Software, Inc., IBM T. J. Watson Research, April 1999. [RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, SNMP Research, Inc., Cabletron Systems, Inc., BMC Software, Inc., IBM T. J. Watson Research, April 1999. [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, SNMP Research, Inc., Secure Computing Corporation, Cisco Systems, April 1999. [RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, IBM T. J. Watson Research, April 1999. [RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, IBM T. J. Watson Research, BMC Software, Inc., Cisco Systems, Inc., April 1999. [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", RFC 2578, STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First Virtual Holdings, International Network Services, April 1999. Expires July 28, 2001 [Page 89] Internet Draft DSMON MIB January 2001 [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", RFC 2579, STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First Virtual Holdings, International Network Services, April 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", RFC 2580, STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First Virtual Holdings, International Network Services, April 1999. 12. Security Considerations There are a number of management objects defined in this MIB that have a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. There are a number of managed objects in this MIB that may contain sensitive information. These are: dsmonAggGroupIndex This object may expose some basic information about the DIFFSERV forwarding behavior for a particular segment of the network. dsmonPdistStatsPkts dsmonPdistStatsOctets dsmonPdistStatsHCPkts dsmonPdistStatsHCOctets dsmonPdistTopNRate dsmonPdistTopNHCRate These objects expose some basic statistics about the DCSP distribution for each protocol detected on a particular network interface. dsmonHostInPkts dsmonHostInOctets dsmonHostInHCPkts dsmonHostInHCOctets Expires July 28, 2001 [Page 90] Internet Draft DSMON MIB January 2001 dsmonHostOutPkts dsmonHostOutOctets dsmonHostOutHCPkts dsmonHostOutHCOctets dsmonHostTopNRate dsmonHostTopNHCRate These objects expose some basic statistics about the DCSP distribution for each IP host detected on a particular network interface. dsmonHostTopNAddress This object exposes IP addresses in use on the monitored network interfaces. It is thus important to control even GET access to these objects and possibly to even encrypt the values of these object when sending them over the network via SNMP. Not all versions of SNMP provide features for such a secure environment. SNMPv1 by itself is not a secure environment. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB. It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User- based Security Model RFC 2574 [RFC2574] and the View-based Access Control Model RFC 2575 [RFC2575] is recommended. It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. 13. Author's Address Andy Bierman Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA USA 95134 Phone: +1 408-527-3711 Email: abierman@cisco.com Expires July 28, 2001 [Page 91] Internet Draft DSMON MIB January 2001 14. Full Copyright Statement Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Expires July 28, 2001 [Page 92]