Internet Draft Internet Draft Andy Bierman Cisco Systems, Inc. 27 August 1999 Remote Monitoring MIB Extensions for Differentiated Services Enabled Networks <draft-bierman-dsmon-mib-02.txt> 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 author,. 1. Copyright Notice Copyright (C) The Internet Society (1999). All Rights Reserved. Internet-Draft DS-MON MIB August 1999 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 ........................................................ 3 5.1 Terms ......................................................... 4 5.2 Relationship to Differentiated Services ....................... 4 5.3 Relationship to the Remote Monitoring MIBs .................... 5 5.4 MIB Structure ................................................. 6 5.4.1 DS Statistics Group ......................................... 7 5.4.2 DS Protocol Distribution Group .............................. 7 5.4.3 DS Host Distribution Group .................................. 8 6 Definitions ..................................................... 9 7 Intellectual Property ........................................... 59 8 Acknowledgements ................................................ 60 9 References ...................................................... 60 10 Security Considerations ........................................ 63 11 Author's Address ............................................... 64 12 Full Copyright Statement ....................................... 64 4. The SNMP Network Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2571 [RFC2571]. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and 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]. Expires February 2000 [Page 2] Internet-Draft DS-MON MIB August 1999 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. 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. Expires February 2000 [Page 3] Internet-Draft DS-MON MIB August 1999 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 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]. 5.2. Relationship to Differentiated Services The DS-MON MIB focuses only on the DSCP values used in IP packets on a monitored dataSource. The per-hop behavior (PHB) associated with each DSCP may be different at each DS-capable forwarding device in the network. This MIB does not address the following Differentiated Services issues in any way: - configuration and characterization of each PHB in each device - identification of the mapping between DSCPs and PHBs in each device - identification of DS capabilities of each forwarding device - characterization of DSCP values or PHBs, as they relate to standard or proprietary QoS policy and deployment strategy. Expires February 2000 [Page 4] Internet-Draft DS-MON MIB August 1999 It is expected that such a MIB (targeted for DS-capable forwarding devices) will be developed by the DIFFSERV working group to address these issues. It is also desirable to keep the monitoring of DSCP usage independent of the DS forwarding devices, in order to keep probe placement more flexible, which, in turn, enables better statistics aggregation by the probe. This document assumes the reader is somewhat familiar with the DS Architecture [RFC2475], but the DS-MON MIB addresses only the aspects of monitoring DSCP usage, and therefore is completely decoupled from the larger issues of network-wide DS configuration and performance analysis. It is expected that complex NMS 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 DS-MON probe must be capable of parsing the DS field in IP packets and correlating the embedded DSCP value with other statistics, as defined in the DS-MON MIB. The DS-MON 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 DS-MON protocol distribution group, in order to provide the fine granularity, 'per DSCP' statistics with the DS-MON MIB, and the 'grand total' statistics with the RMON-2 MIB. Several concepts and even MIB objects from the RMON MIBs are used in the DS-MON 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 DS-MON 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 Expires February 2000 [Page 5] Internet-Draft DS-MON MIB August 1999 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 DS-MON MIB utilizes this directory to identify the protocols detected in monitored packets. 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 DS-MON 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 DS-MON 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 HC-RMON MIB [HC-RMON]) are used to define counter objects in this MIB. High Capacity Counters The DS-MON MIB uses the same 'SNMPv1 coexistence' strategy as 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 DS-MON MIB uses the same TopN reporting MIB structure as the RMON-2 MIB [RFC2021]. TopN reporting can greatly reduce the polling overhead required to analyze DSCP usage patterns. 5.4. MIB Structure The DS-MON MIB contains three groups of MIB objects: - dsmonStatsObjects group Report DSCP distribution statistics for a particular RMON dataSource. - dsmonPdistObjects group Report DSCP distribution statistics for each protocol detected on a Expires February 2000 [Page 6] Internet-Draft DS-MON MIB August 1999 particular RMON dataSource. - dsmonHostObjects group Report IP host address distribution statistics for each DSCP, detected on a particular RMON dataSource. 5.4.1. DS Statistics Group This group contains two tables, the dsmonStatsControlTable and the dsmonStatsTable, and supports DSCP distribution statistics for half and full-duplex, low and high speed interfaces. Packet and octets distributions (by DSCP) are maintained in the dsmonStatsTable for each active control row in the dsmonStatsControlTable. This group provides the lowest statistics granularity in the DS-MON MIB. It is expected than NMS applications will analyze certain DS deployment or performance problems by first examining the DSCP distribution for an entire interface with this group. 5.4.2. DS Protocol Distribution Group This group contains two tables for statistics collection, (dsmonPdistControlTable and dsmonPdistStatsTable), and two tables for a 'Top N' reporting function for the collected statistics (dsmonPdistTopNControlTable and dsmonPdistTopNTable). The dsmonPdistControlTable and dsmonPdistStatsTable tables provide DSCP distribution statistics for each selected protocol encapsulation in packets monitored on a particular dataSource. Packet and octets distributions (per protocol per DSCP) are maintained in the dsmonPdistStatsTable for each active control row in the dsmonPdistControlTable. 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 Expires February 2000 [Page 7] Internet-Draft DS-MON MIB August 1999 - 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 dsmonPdistTopNControlTable 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/DSCP combinations. 5.4.3. DS Host Distribution Group This group contains two tables for statistics collection, (dsmonHostControlTable and dsmonHostTable), and two tables for a 'Top N' reporting function for the collected statistics (dsmonHostTopNControlTable and dsmonHostTopNTable). The dsmonHostControlTable and dsmonHostTables provide IP host distribution statistics for each DSCP detected in packets monitored on a particular dataSource. It is expected than NMS applications 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 DSCP(s). Packet and octets distributions (in and out, per DSCP per IP host) are maintained in the dsmonHostTable for each active control row in the dsmonHostControlTable. The DS Host Distribution is different from the RMON-2 network layer host group in two ways: - there is no protocolDirLocalIndex in the dsmonHostTable INDEX, since only IPv4 and IPv6 packets contain a DS field, the protocol (IPv4 or IPv6) is determined by the length of each dsmonHostAddress instance. Expires February 2000 [Page 8] Internet-Draft DS-MON MIB August 1999 - the dsmonHostControlTable supports limited IPv4 subnet 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 IPv4 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. The TopN feature requires two additional tables: the dsmonHostTopNControlTable 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. 6. Definitions -- RMON-2 Extensions for the Monitoring of Differentiated Services -- Enabled Networks -- -- IP DIFFSERV DSCP statistics -- * Per DSCP -- * Per Protocol Per DSCP -- * Per DSCP Per IP Host Address -- -- DSMON-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Gauge32, Counter64, experimental FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF RowStatus, TimeStamp, TEXTUAL-CONVENTION FROM SNMPv2-TC OwnerString FROM IF-MIB protocolDirLocalIndex, LastCreateTime, DataSource, ZeroBasedCounter32, TimeFilter FROM RMON2-MIB ZeroBasedCounter64 Expires February 2000 [Page 9] Internet-Draft DS-MON MIB August 1999 FROM HC-RMON-MIB; dsmonMIB MODULE-IDENTITY LAST-UPDATED "9908260000Z" ORGANIZATION "Cisco Systems, Inc." CONTACT-INFO " Andy Bierman Cisco Systems, Inc. Postal: 170 West Tasman Drive San Jose, CA USA 95134 Tel: +1 408 527-3711 E-mail: abierman@cisco.com" DESCRIPTION "This module defines Remote Monitoring MIB extensions for Differentiated Services enabled networks." ::= { experimental 999999 } dsmonObjects OBJECT IDENTIFIER ::= { dsmonMIB 1 } dsmonNotifications OBJECT IDENTIFIER ::= { dsmonMIB 2 } dsmonConformance OBJECT IDENTIFIER ::= { dsmonMIB 3 } dsmonStatsObjects OBJECT IDENTIFIER ::= { dsmonObjects 1 } dsmonPdistObjects OBJECT IDENTIFIER ::= { dsmonObjects 2 } dsmonHostObjects OBJECT IDENTIFIER ::= { dsmonObjects 3 } -- -- Extensions to the RMON-2 MIB for Differentiated Services -- Monitoring -- -- 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. -- -- -- Textual Convention to define a DSCP for -- monitoring purposes -- DSCodePoint ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This TC describes an object which identifies the Differentiated Services Codepoint (DSCP) value in an IPv4 or IPv6 packet header." Expires February 2000 [Page 10] Internet-Draft DS-MON MIB August 1999 REFERENCE "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers [RFC2474]." SYNTAX Integer32 (0..63) -- *********************************************************** -- * * -- * P E R - D A T A S O U C E C O L L E C T I O N S * -- * * -- *********************************************************** -- -- DSCP 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-DSCP 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 } DsmonStatsControlEntry ::= SEQUENCE { dsmonStatsControlIndex Integer32, Expires February 2000 [Page 11] Internet-Draft DS-MON MIB August 1999 dsmonStatsControlDataSource DataSource, 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 DSCP distribution. The statistics in this group reflect all IPv4 and IPv6 packets on the local network segment attached to the identified interface. This object may not be modified if the associated dsmonStatsControlStatus object is equal to active(1)." ::= { dsmonStatsControlEntry 2 } 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. Expires February 2000 [Page 12] Internet-Draft DS-MON MIB August 1999 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 3 } dsmonStatsControlCreateTime OBJECT-TYPE SYNTAX LastCreateTime MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this control entry was last activated. This can be used by the management station to detect if the table has been deleted and recreated between polls." ::= { dsmonStatsControlEntry 4 } 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 5 } dsmonStatsControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry may not exist in the active state unless all objects in the entry have an appropriate value. If this object is not equal to active(1), all associated entries in the dsmonStatsTable shall be deleted." ::= { dsmonStatsControlEntry 6 } -- -- DSCP Per-DataSource Statistics Table -- Expires February 2000 [Page 13] Internet-Draft DS-MON MIB August 1999 dsmonStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of information on Per Protocol DSCP usage. The following table defines per-DSCP statistics for full and/or half-duplex links as well as high capacity links. For half-duplex links, or full-duplex-capable links operating in half-duplex mode, the dsmonStatsIn* objects shall be used and the dsmonStatsOut* objects will not increment. For full-duplex links, the dsmonStatsOut* objects will be present. Whenever possible, the probe should count packets moving away from the closest terminating equipment as output packets. Failing that, the probe should count packets moving away from the DTE as output packets." ::= { 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 DSCP configured for collection. The dsmonStatsControlIndex value in the index identifies the dsmonStatsControlEntry on whose behalf this entry was created. Only entries with non-zero statistics will be returned by the agent, in order to reduce the amount of polling required to retrieve data from this table. That is, an entry will be created when a packet with the indicated DSCP value is detected by the agent. Note that only protocols which are encapsulated in IPv4 or IPv6 packets will be counted in this table. An example of the indexing of this entry is Expires February 2000 [Page 14] Internet-Draft DS-MON MIB August 1999 dsmonStatsOutPkts.1.16" INDEX { dsmonStatsControlIndex, dsmonStatsDsCodept } ::= { dsmonStatsTable 1 } DsmonStatsEntry ::= SEQUENCE { dsmonStatsDsCodept DSCodePoint, dsmonStatsInPkts ZeroBasedCounter32, dsmonStatsInOctets ZeroBasedCounter32, dsmonStatsInOvflPkts ZeroBasedCounter32, dsmonStatsInOvflOctets ZeroBasedCounter32, dsmonStatsInHCPkts ZeroBasedCounter64, dsmonStatsInHCOctets ZeroBasedCounter64, dsmonStatsOutPkts ZeroBasedCounter32, dsmonStatsOutOctets ZeroBasedCounter32, dsmonStatsOutOvflPkts ZeroBasedCounter32, dsmonStatsOutOvflOctets ZeroBasedCounter32, dsmonStatsOutHCPkts ZeroBasedCounter64, dsmonStatsOutHCOctets ZeroBasedCounter64 } dsmonStatsDsCodept OBJECT-TYPE SYNTAX DSCodePoint MAX-ACCESS not-accessible STATUS current DESCRIPTION "The DSCP value associated with the aggregated statistics for a particular data source." ::= { dsmonStatsEntry 1 } dsmonStatsInPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets using a particular DSCP value, received on a half-duplex link or on the inbound connection of a full-duplex link." ::= { dsmonStatsEntry 2 } dsmonStatsInOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current Expires February 2000 [Page 15] Internet-Draft DS-MON MIB August 1999 DESCRIPTION "The number of octets in packets, using a particular DSCP value, received on a half-duplex link or on the inbound connection of a full-duplex link." ::= { dsmonStatsEntry 3 } dsmonStatsInOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current 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 4 } dsmonStatsInOvflOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current 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 5 } 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 6 } dsmonStatsInHCOctets OBJECT-TYPE SYNTAX ZeroBasedCounter64 Expires February 2000 [Page 16] Internet-Draft DS-MON MIB August 1999 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 7 } dsmonStatsOutPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets using a particular DSCP value, received on a full-duplex link in the direction of the network." ::= { dsmonStatsEntry 8 } dsmonStatsOutOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets in packets, using a particular DSCP value, received on a full-duplex link in the direction of the network." ::= { dsmonStatsEntry 9 } dsmonStatsOutOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current 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 10 } Expires February 2000 [Page 17] Internet-Draft DS-MON MIB August 1999 dsmonStatsOutOvflOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current 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 11 } dsmonStatsOutHCPkts OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The 64-bit version of the dsmonStatsOutPkts object. Note that this object will only be instantiated if the RMON agent supports High Capacity RMON for a particular dataSource." ::= { dsmonStatsEntry 12 } 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 13 } -- *********************************************************** -- * * -- * P E R - P R O T O C O L C O L L E C T I O N S * -- * * -- *********************************************************** Expires February 2000 [Page 18] Internet-Draft DS-MON MIB August 1999 -- -- DSCP Per-Protocol Statistics Control Table -- dsmonPdistControlTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonPdistControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Controls the setup of per-application per-DSCP distribution statistics." ::= { dsmonPdistObjects 1 } dsmonPdistControlEntry OBJECT-TYPE SYNTAX DsmonPdistControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the dsmonPdistControlTable. Entries are created and deleted from this table by management action only, using the dsmonPdistControlStatus RowStatus object. Activation of a control row in this table will cause an associated dsmonPdistStatsTable to be created and maintained by the agent." INDEX { dsmonPdistControlIndex } ::= { dsmonPdistControlTable 1 } DsmonPdistControlEntry ::= SEQUENCE { dsmonPdistControlIndex Integer32, dsmonPdistControlDataSource DataSource, dsmonPdistControlMaxDesiredEntries Integer32, dsmonPdistControlDroppedFrames Counter32, dsmonPdistControlInserts Counter32, dsmonPdistControlDeletes Counter32, dsmonPdistControlCreateTime LastCreateTime, dsmonPdistControlOwner OwnerString, dsmonPdistControlStatus RowStatus } dsmonPdistControlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible Expires February 2000 [Page 19] Internet-Draft DS-MON MIB August 1999 STATUS current DESCRIPTION "An arbitrary and unique index for this dsmonPdistControlEntry." ::= { dsmonPdistControlEntry 1 } dsmonPdistControlDataSource OBJECT-TYPE SYNTAX DataSource MAX-ACCESS read-create STATUS current DESCRIPTION "The source of data for the this per-protocol DSCP distribution. The statistics in this group reflect all IPv4 and IPv6 packets on the local network segment attached to the identified interface. This object may not be modified if the associated dsmonPdistControlStatus object is equal to active(1)." ::= { dsmonPdistControlEntry 2 } dsmonPdistControlMaxDesiredEntries 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 may not be modified if the associated dsmonPdistControlStatus object is equal to active(1)." ::= { dsmonPdistControlEntry 3 } dsmonPdistControlDroppedFrames OBJECT-TYPE SYNTAX Counter32 UNITS "frames" MAX-ACCESS read-only Expires February 2000 [Page 20] Internet-Draft DS-MON MIB August 1999 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." ::= { dsmonPdistControlEntry 4 } dsmonPdistControlInserts 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 dsmonPdistControlDeletes from dsmonPdistControlInserts." ::= { dsmonPdistControlEntry 5 } dsmonPdistControlDeletes OBJECT-TYPE SYNTAX Counter32 UNITS "table entries" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times a dsmonPdist entry has been deleted Expires February 2000 [Page 21] Internet-Draft DS-MON MIB August 1999 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 dsmonPdistControlDeletes from dsmonPdistControlInserts." ::= { dsmonPdistControlEntry 6 } dsmonPdistControlCreateTime 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." ::= { dsmonPdistControlEntry 7 } dsmonPdistControlOwner 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." ::= { dsmonPdistControlEntry 8 } dsmonPdistControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry may not exist in the active state unless all objects in the entry have an appropriate value. Expires February 2000 [Page 22] Internet-Draft DS-MON MIB August 1999 If this object is not equal to active(1), all associated entries in the dsmonPdistStatsTable shall be deleted." ::= { dsmonPdistControlEntry 9 } -- -- Per-Protocol Statistics Table -- dsmonPdistStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonPdistStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of information on Per Protocol DSCP usage." ::= { 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 DSCP configured for collection, and each protocol (as identified by the protocolDirLocalIndex for the protocol) identified in each monitored packet. The dsmonPdistControlIndex value in the index identifies the dsmonPdistControlEntry on whose behalf this entry was created. Only entries with non-zero statistics will be returned by the agent, in order to reduce the amount of polling required to retrieve data from this table. That is, an entry will be created when a packet of that type and DSCP value is detected by the agent. Note that only protocols which are encapsulated in IPv4 or IPv6 packets will be counted in this table, as indicated by the protocolDirTable configuration. The agent will include only application layer protocols in the associated dsmonPdistStatsTable. Any 'terminal' protocol is considered to be an application protocol. Expires February 2000 [Page 23] Internet-Draft DS-MON MIB August 1999 An example of the indexing of this entry is dsmonPdistStatsPkts.9.29943.42.16." INDEX { dsmonPdistControlIndex, dsmonPdistTimeMark, protocolDirLocalIndex, dsmonPdistDsCodept } ::= { dsmonPdistStatsTable 1 } DsmonPdistStatsEntry ::= SEQUENCE { dsmonPdistTimeMark TimeFilter, dsmonPdistDsCodept DSCodePoint, 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 } dsmonPdistDsCodept OBJECT-TYPE SYNTAX DSCodePoint MAX-ACCESS not-accessible STATUS current DESCRIPTION "The DSCP value associated with the aggregated statistics for a particular protocol." ::= { dsmonPdistStatsEntry 2 } dsmonPdistStatsPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 Expires February 2000 [Page 24] Internet-Draft DS-MON MIB August 1999 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets, monitored by this agent, and identified to be using a particular DSCP value in the DS header, on behalf of the protocol identified by the associated protocolDirLocalIndex value." ::= { dsmonPdistStatsEntry 3 } dsmonPdistStatsOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets in packets, monitored by this agent and identified to be using a particular DSCP value in the DS header, on behalf of 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 4 } dsmonPdistStatsOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current 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 5 } dsmonPdistStatsOvflOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated dsmonPdistStatsOctets Expires February 2000 [Page 25] Internet-Draft DS-MON MIB August 1999 counter has overflowed. Note that this object will only be instantiated if the associated dsmonPdistStatsHCOctets object is also instantiated for a particular dataSource." ::= { dsmonPdistStatsEntry 6 } 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 7 } 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 8 } 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 9 } -- -- Per-Protocol Statistics TopN Control Table Expires February 2000 [Page 26] Internet-Draft DS-MON MIB August 1999 -- dsmonPdistTopNControlTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonPdistTopNControlEntry 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 } dsmonPdistTopNControlEntry OBJECT-TYPE SYNTAX DsmonPdistTopNControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the dsmonPdistTopNControlTable. Entries are created and deleted from this table by management action only, using the dsmonPdistTopNControlStatus RowStatus object. Activation of a control row in this table will cause an associated dsmonPdistTopNTable to be created and maintained by the agent." INDEX { dsmonPdistTopNControlIndex } ::= { dsmonPdistTopNControlTable 1 } DsmonPdistTopNControlEntry ::= SEQUENCE { dsmonPdistTopNControlIndex Integer32, dsmonPdistTopNControlPdistIndex Integer32, dsmonPdistTopNControlRateBase INTEGER, dsmonPdistTopNControlTimeRemaining Integer32, dsmonPdistTopNControlGeneratedReports Counter32, dsmonPdistTopNControlDuration Integer32, dsmonPdistTopNControlRequestedSize Integer32, dsmonPdistTopNControlGrantedSize Integer32, dsmonPdistTopNControlStartTime TimeStamp, dsmonPdistTopNControlOwner OwnerString, dsmonPdistTopNControlStatus RowStatus } dsmonPdistTopNControlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) Expires February 2000 [Page 27] Internet-Draft DS-MON MIB August 1999 MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the dsmonPdistTopNControlTable. Each such entry defines one Top N report prepared for one RMON dataSource." ::= { dsmonPdistTopNControlEntry 1 } dsmonPdistTopNControlPdistIndex 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 dsmonPdistControlIndex for that table - that value is used here to identify the particular table. This object may not be modified if the associated dsmonPdistTopNControlStatus object is equal to active(1)." ::= { dsmonPdistTopNControlEntry 2 } dsmonPdistTopNControlRateBase OBJECT-TYPE SYNTAX INTEGER { dsmonPdistTopNPkts(1), dsmonPdistTopNOctets(2), dsmonPdistTopNHCPkts(3), dsmonPdistTopNHCOctets(4) } MAX-ACCESS read-create STATUS current DESCRIPTION "The variable for each dsmonPdist that the dsmonPdistTopNRate and dsmonPdistTopNHCRate variables are based upon. Each dsmonPdistTopN report generated on behalf of this control entry will be ranked in descending order, 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 ----------- ------------------- Expires February 2000 [Page 28] Internet-Draft DS-MON MIB August 1999 dsmonPdistTopNPkts dsmonPdistStatsPkts dsmonPdistTopNOctets dsmonPdistStatsOctets dsmonPdistTopNHCPkts dsmonPdistStatsHCPkts dsmonPdistTopNHCOctets dsmonPdistStatsHCOctets Note that the dsmonPdistTopNHCPkts and dsmonPdistTopNHCOctets enumerations are only available if the agent supports High Capacity RMON collection. This object may not be modified if the associated dsmonPdistTopNControlStatus object is equal to active(1)." ::= { dsmonPdistTopNControlEntry 3 } dsmonPdistTopNControlTimeRemaining 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 dsmonPdistTopNControlDuration object. When the report finishes, the probe will automatically start another collection with the same initial value of dsmonPdistTopNControlTimeRemaining. 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 deleted." DEFVAL { 1800 } ::= { dsmonPdistTopNControlEntry 4 } Expires February 2000 [Page 29] Internet-Draft DS-MON MIB August 1999 dsmonPdistTopNControlGeneratedReports OBJECT-TYPE SYNTAX Counter32 UNITS "reports" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of reports that have been generated by this entry." ::= { dsmonPdistTopNControlEntry 5 } dsmonPdistTopNControlDuration OBJECT-TYPE SYNTAX Integer32 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 dsmonPdistTopNControlTimeRemaining 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 dsmonPdistTopNControlTimeRemaining is set. This value shall be zero if no reports have been requested for this dsmonPdistTopNControlEntry." ::= { dsmonPdistTopNControlEntry 6 } dsmonPdistTopNControlRequestedSize 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 dsmonPdistTopNControlGrantedSize as closely to this object as is possible for the particular probe implementation and available resources." DEFVAL { 150 } ::= { dsmonPdistTopNControlEntry 7 } dsmonPdistTopNControlGrantedSize OBJECT-TYPE Expires February 2000 [Page 30] Internet-Draft DS-MON MIB August 1999 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 dsmonPdistTopNControlRequestedSize 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 dsmonPdistTopNControlRequestedSize object. When the associated dsmonPdistTopNControlRequestedSize 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 dsmonPdistTopNControlRequestedSize object. Protocol entries with the highest value of dsmonPdistTopNRate or dsmonPdistTopNHCRate (depending on the value of the associated dsmonPdistTopNControlRateBase 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." ::= { dsmonPdistTopNControlEntry 8 } dsmonPdistTopNControlStartTime 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 dsmonPdistTopNControlTimeRemaining 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." ::= { dsmonPdistTopNControlEntry 9 } dsmonPdistTopNControlOwner OBJECT-TYPE Expires February 2000 [Page 31] Internet-Draft DS-MON MIB August 1999 SYNTAX OwnerString MAX-ACCESS read-create STATUS current DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { dsmonPdistTopNControlEntry 10 } dsmonPdistTopNControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this dsmonPdistTopNControlEntry. An entry may not exist in the active state unless all objects in the entry have an appropriate value. If this object is not equal to active(1), all associated entries in the dsmonPdistTopNTable shall be deleted by the agent." ::= { dsmonPdistTopNControlEntry 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. Note that dsmonPdist entries which did not increment at all during the report interval are not included in dsmonPdistTopN reports." ::= { dsmonPdistObjects 4 } dsmonPdistTopNEntry OBJECT-TYPE SYNTAX DsmonPdistTopNEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Expires February 2000 [Page 32] Internet-Draft DS-MON MIB August 1999 "A conceptual row in the dsmonPdistTopNTable. The dsmonPdistTopNControlIndex value in the index identifies the dsmonPdistTopNControlEntry on whose behalf this entry was created." INDEX { dsmonPdistTopNControlIndex, dsmonPdistTopNIndex } ::= { dsmonPdistTopNTable 1 } DsmonPdistTopNEntry ::= SEQUENCE { dsmonPdistTopNIndex Integer32, dsmonPdistTopNProtocolDirLocalIndex Integer32, dsmonPdistTopNDsCodept DSCodePoint, dsmonPdistTopNRate Gauge32, dsmonPdistTopNRateOvfl Gauge32, dsmonPdistTopNHCRate Counter64 -- Gauge64 } dsmonPdistTopNIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) 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 } dsmonPdistTopNProtocolDirLocalIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The protocolDirLocalIndex value which identifies the protocol associated with this entry." ::= { dsmonPdistTopNEntry 2 } dsmonPdistTopNDsCodept OBJECT-TYPE SYNTAX DSCodePoint MAX-ACCESS read-only STATUS current DESCRIPTION "The DSCP value associated with protocol identified in this entry." ::= { dsmonPdistTopNEntry 3 } Expires February 2000 [Page 33] Internet-Draft DS-MON MIB August 1999 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 dsmonPdistTopNControlRateBase. If the associated dsmonPdistTopNControlRateBase 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 current DESCRIPTION "The most significant 32 bits of the associated dsmonPdistTopNHCRate object. If the associated dsmonPdistTopNControlRateBase is equal to 'dsmonPdistTopNHCPkts' or 'dsmonPdistTopNHCOctets', then this object will contain the upper 32 bits of the associated dsmonPdistTopNHCRate object. If the associated dsmonPdistTopNControlRateBase 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 Counter64 -- Gauge64 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 Expires February 2000 [Page 34] Internet-Draft DS-MON MIB August 1999 dsmonPdistTopNControlRateBase. If the associated dsmonPdistTopNControlRateBase 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 -- dsmonHostControlTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonHostControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Controls setup of per DSCP, per IP host distribution statistics." ::= { dsmonHostObjects 1 } dsmonHostControlEntry OBJECT-TYPE SYNTAX DsmonHostControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the dsmonHostControlTable. Entries are created and deleted from this table by management action only, using the dsmonHostControlStatus RowStatus object. Activation of a control row in this table will cause an Expires February 2000 [Page 35] Internet-Draft DS-MON MIB August 1999 associated dsmonHostTable to be created and maintained by the agent." INDEX { dsmonHostControlIndex } ::= { dsmonHostControlTable 1 } DsmonHostControlEntry ::= SEQUENCE { dsmonHostControlIndex Integer32, dsmonHostControlDataSource DataSource, dsmonHostControlMaxDesiredEntries Integer32, dsmonHostControlNumAddrBits Integer32, dsmonHostControlDroppedFrames Counter32, dsmonHostControlInserts Counter32, dsmonHostControlDeletes Counter32, dsmonHostControlCreateTime LastCreateTime, dsmonHostControlOwner OwnerString, dsmonHostControlStatus RowStatus } dsmonHostControlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary and unique index for this dsmonHostControlEntry." ::= { dsmonHostControlEntry 1 } dsmonHostControlDataSource OBJECT-TYPE SYNTAX DataSource MAX-ACCESS read-create STATUS current DESCRIPTION "The source of data for the associated dsmonHostTable. The statistics in this group reflect all IPv4 and IPv6 packets on the local network segment attached to the identified interface. This object may not be modified if the associated dsmonHostControlStatus object is equal to active(1)." ::= { dsmonHostControlEntry 2 } dsmonHostControlMaxDesiredEntries OBJECT-TYPE SYNTAX Integer32 (-1 | 1..2147483647) UNITS "table entries" Expires February 2000 [Page 36] Internet-Draft DS-MON MIB August 1999 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 may not be modified if the associated dsmonHostControlStatus object is equal to active(1)." ::= { dsmonHostControlEntry 3 } dsmonHostControlNumAddrBits OBJECT-TYPE SYNTAX Integer32 (8..32) UNITS "bits" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of 'leftmost' contiguous bits in the IPv4 host address (as identified by the dsmonHostAddress object) that should be maintained in this collection. If this object has a value less than '32', then 'm' rightmost bits, where 'm' is equal to '32 - dsmonHostControlNumAddrBits', 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. Note that this object only affects IPv4 host entries in the associated dsmonHostTable. IPv6 entries are not affected by this object. This object may not be modified if the associated dsmonHostControlStatus object is equal to active(1)." DEFVAL { 32 } ::= { dsmonHostControlEntry 4 } dsmonHostControlDroppedFrames OBJECT-TYPE SYNTAX Counter32 UNITS "frames" Expires February 2000 [Page 37] Internet-Draft DS-MON MIB August 1999 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, this value should be 0. Note that, unlike the dropEvents counter, this number is the exact number of frames dropped." ::= { dsmonHostControlEntry 5 } dsmonHostControlInserts 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 dsmonHostControlDeletes from dsmonHostControlInserts." ::= { dsmonHostControlEntry 6 } dsmonHostControlDeletes OBJECT-TYPE SYNTAX Counter32 Expires February 2000 [Page 38] Internet-Draft DS-MON MIB August 1999 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. Note that the table size can be determined by subtracting dsmonHostControlDeletes from dsmonHostControlInserts." ::= { dsmonHostControlEntry 7 } dsmonHostControlCreateTime 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. ***" ::= { dsmonHostControlEntry 8 } dsmonHostControlOwner 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." ::= { dsmonHostControlEntry 9 } dsmonHostControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION Expires February 2000 [Page 39] Internet-Draft DS-MON MIB August 1999 "The status of this dsmonHostControlEntry. An entry may not exist in the active state unless all objects in the entry have an appropriate value. If this object is not equal to active(1), all associated entries in the dsmonHostTable shall be deleted." ::= { dsmonHostControlEntry 10 } -- -- IP Host Statistics Table -- dsmonHostTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonHostEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A collection of statistics for a particular IPv4 or IPv6 address that has been discovered on a particular dataSource. The probe will add to this table all IP 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." ::= { 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 DSCP configured for collection per host address, as identified in each monitored packet. The dsmonHostControlIndex value in the index identifies the dsmonHostControlEntry on whose behalf this entry was created. The length of the dsmonHostAddress field identifies the network layer protocol as either IPv4 or IPv6. Only entries with non-zero statistics will be returned by the agent, in order to reduce the amount of polling required Expires February 2000 [Page 40] Internet-Draft DS-MON MIB August 1999 to retrieve data from this table. An entry will be created when a packet of that type, IP address, and DSCP value is detected by the agent. An example of the indexing of this entry is dsmonHostOutPkts.1.24873.32.4.171.69.120.0" INDEX { dsmonHostControlIndex, dsmonHostTimeMark, dsmonHostDsCodept, dsmonHostAddress } ::= { dsmonHostTable 1 } DsmonHostEntry ::= SEQUENCE { dsmonHostTimeMark TimeFilter, dsmonHostDsCodept DSCodePoint, 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 } Expires February 2000 [Page 41] Internet-Draft DS-MON MIB August 1999 dsmonHostDsCodept OBJECT-TYPE SYNTAX DSCodePoint MAX-ACCESS not-accessible STATUS current DESCRIPTION "The DSCP value associated with the aggregated statistics for a particular IP host." ::= { dsmonHostEntry 2 } dsmonHostAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4 | 16)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network address for this dsmonHostEntry. The length of the address string is used to determine if this entry represents an IPv4 or IPv6 address. For example, if the length of this object is '4', then this object is encoded as an IPv4 address in network byte order. Note that IPv4 addresses may have some 'rightmost' bits cleared to zero for counting purposes, as specified by the associated dsmonHostControlNumHostBits object." ::= { dsmonHostEntry 3 } dsmonHostInPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets without errors, using the identified DSCP and transmitted to this address, since it 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 4 } dsmonHostInOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current Expires February 2000 [Page 42] Internet-Draft DS-MON MIB August 1999 DESCRIPTION "The number of octets, transmitted to this address and using the identified DSCP, since it 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 5 } dsmonHostInOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current 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 6 } dsmonHostInOvflOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current 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 7 } 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 Expires February 2000 [Page 43] Internet-Draft DS-MON MIB August 1999 agent supports High Capacity RMON for a particular dataSource." ::= { dsmonHostEntry 8 } 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." ::= { dsmonHostEntry 9 } dsmonHostOutPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets without errors, using the identified DSCP and transmitted by this address, since it 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 10 } dsmonHostOutOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets, transmitted by this address and using the identified DSCP, since it 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 Expires February 2000 [Page 44] Internet-Draft DS-MON MIB August 1999 contained the protocol." ::= { dsmonHostEntry 11 } dsmonHostOutOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current 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 12 } dsmonHostOutOvflOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current 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 13 } 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 14 } dsmonHostOutHCOctets OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "octets" MAX-ACCESS read-only STATUS current Expires February 2000 [Page 45] Internet-Draft DS-MON MIB August 1999 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 15 } 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 management station to ensure that the entry has not been deleted and recreated between polls." ::= { dsmonHostEntry 16 } -- -- DSCP Per-Protocol Per-Host Statistics TopN Control Table -- dsmonHostTopNControlTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonHostTopNControlEntry 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 } dsmonHostTopNControlEntry OBJECT-TYPE SYNTAX DsmonHostTopNControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the dsmonHostTopNControlTable. Entries are created and deleted from this table by management action only, using the dsmonHostTopNControlStatus RowStatus object. Expires February 2000 [Page 46] Internet-Draft DS-MON MIB August 1999 Activation of a control row in this table will cause an associated dsmonHostTopNTable to be created and maintained by the agent." INDEX { dsmonHostTopNControlIndex } ::= { dsmonHostTopNControlTable 1 } DsmonHostTopNControlEntry ::= SEQUENCE { dsmonHostTopNControlIndex Integer32, dsmonHostTopNControlHostIndex Integer32, dsmonHostTopNControlRateBase INTEGER, dsmonHostTopNControlTimeRemaining Integer32, dsmonHostTopNControlGeneratedReports Counter32, dsmonHostTopNControlDuration Integer32, dsmonHostTopNControlRequestedSize Integer32, dsmonHostTopNControlGrantedSize Integer32, dsmonHostTopNControlStartTime TimeStamp, dsmonHostTopNControlOwner OwnerString, dsmonHostTopNControlStatus RowStatus } dsmonHostTopNControlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the dsmonHostTopNControlTable. Each such entry defines one Top N report prepared for one RMON dataSource." ::= { dsmonHostTopNControlEntry 1 } dsmonHostTopNControlHostIndex 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 dsmonHostControlIndex for that table - that value is used here to identify the particular table. This object may not be modified if the associated dsmonHostTopNControlStatus object is equal to active(1)." ::= { dsmonHostTopNControlEntry 2 } Expires February 2000 [Page 47] Internet-Draft DS-MON MIB August 1999 dsmonHostTopNControlRateBase 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) } 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 + Expires February 2000 [Page 48] Internet-Draft DS-MON MIB August 1999 dsmonHostOutHCOctets 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 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 may not be modified if the associated dsmonHostTopNControlStatus object is equal to active(1)." ::= { dsmonHostTopNControlEntry 3 } dsmonHostTopNControlTimeRemaining 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 dsmonHostTopNControlDuration object. When the report finishes, the probe will automatically start another collection with the same initial value of Expires February 2000 [Page 49] Internet-Draft DS-MON MIB August 1999 dsmonHostTopNControlTimeRemaining. 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 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 } ::= { dsmonHostTopNControlEntry 4 } dsmonHostTopNControlGeneratedReports OBJECT-TYPE SYNTAX Counter32 UNITS "reports" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of reports that have been generated by this entry." ::= { dsmonHostTopNControlEntry 5 } dsmonHostTopNControlDuration OBJECT-TYPE SYNTAX Integer32 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 dsmonHostTopNControlTimeRemaining 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 dsmonHostTopNControlTimeRemaining is set. This value shall be zero if no reports have been requested for this dsmonHostTopNControlEntry." ::= { dsmonHostTopNControlEntry 6 } Expires February 2000 [Page 50] Internet-Draft DS-MON MIB August 1999 dsmonHostTopNControlRequestedSize 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 report. When this object is created or modified, the probe should set dsmonHostTopNControlGrantedSize as closely to this object as is possible for the particular probe implementation and available resources." DEFVAL { 150 } ::= { dsmonHostTopNControlEntry 7 } dsmonHostTopNControlGrantedSize 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 dsmonHostTopNControlRequestedSize 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 dsmonHostTopNControlRequestedSize object. When the associated dsmonHostTopNControlRequestedSize 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 dsmonHostTopNControlRequestedSize object. Protocol entries with the highest value of dsmonHostTopNRate or dsmonHostTopNHCRate (depending on the value of the associated dsmonHostTopNControlRateBase 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." ::= { dsmonHostTopNControlEntry 8 } Expires February 2000 [Page 51] Internet-Draft DS-MON MIB August 1999 dsmonHostTopNControlStartTime 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 dsmonHostTopNControlTimeRemaining 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." ::= { dsmonHostTopNControlEntry 9 } dsmonHostTopNControlOwner 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." ::= { dsmonHostTopNControlEntry 10 } dsmonHostTopNControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this dsmonHostTopNControlEntry. An entry may not exist in the active state unless all objects in the entry have an appropriate value. If this object is not equal to active(1), all associated entries in the dsmonHostTopNTable shall be deleted by the agent." ::= { dsmonHostTopNControlEntry 11 } -- -- dsmonHost TopN Table -- dsmonHostTopNTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonHostTopNEntry Expires February 2000 [Page 52] Internet-Draft DS-MON MIB August 1999 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. Note that dsmonHost entries which did not increment at all during the report interval are not 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 dsmonHostTopNControlIndex value in the index identifies the dsmonHostTopNControlEntry on whose behalf this entry was created." INDEX { dsmonHostTopNControlIndex, dsmonHostTopNIndex } ::= { dsmonHostTopNTable 1 } DsmonHostTopNEntry ::= SEQUENCE { dsmonHostTopNIndex Integer32, dsmonHostTopNAddress OCTET STRING, dsmonHostTopNDsCodept DSCodePoint, dsmonHostTopNRate Gauge32, dsmonHostTopNRateOvfl Gauge32, dsmonHostTopNHCRate Counter64 -- Gauge64 } dsmonHostTopNIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) 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 in this report." ::= { dsmonHostTopNEntry 1 } dsmonHostTopNAddress OBJECT-TYPE Expires February 2000 [Page 53] Internet-Draft DS-MON MIB August 1999 SYNTAX OCTET STRING (SIZE (4 | 16)) MAX-ACCESS read-only STATUS current DESCRIPTION "The network address of the IP host identified in this entry. The length of this field identifies the network layer protocol as either IPv4 or IPv6. Addresses are encoded in network byte order." ::= { dsmonHostTopNEntry 2 } dsmonHostTopNDsCodept OBJECT-TYPE SYNTAX DSCodePoint MAX-ACCESS read-only STATUS current DESCRIPTION "The DSCP value associated with host identified in this entry." ::= { dsmonHostTopNEntry 3 } 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 instance of the object selected by dsmonHostTopNControlRateBase. If the associated dsmonHostTopNControlRateBase 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 4 } dsmonHostTopNRateOvfl OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The most significant 32 bits of the associated dsmonHostTopNHCRate object. If the associated dsmonHostTopNControlRateBase is equal to Expires February 2000 [Page 54] Internet-Draft DS-MON MIB August 1999 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 dsmonHostTopNControlRateBase 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 5 } dsmonHostTopNHCRate OBJECT-TYPE SYNTAX Counter64 -- Gauge64 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 dsmonHostTopNControlRateBase. If the associated dsmonHostTopNControlRateBase 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. The agent may choose not to instantiate this object if High Capacity RMON collection is not supported." ::= { dsmonHostTopNEntry 6 } -- -- Notifications Section -- (none defined) -- -- -- Conformance Section -- dsmonCompliances OBJECT IDENTIFIER ::= { dsmonConformance 1 } dsmonGroups OBJECT IDENTIFIER ::= { dsmonConformance 2 } Expires February 2000 [Page 55] Internet-Draft DS-MON MIB August 1999 dsmonCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Describes the requirements for conformance to the Differentiated Services Monitoring MIB." MODULE -- this module MANDATORY-GROUPS { dsmonStatsGroup, dsmonHostGroup } GROUP dsmonStatsHCGroup DESCRIPTION "The dsmonStatsHCGroup is mandatory for systems which implement the dsmonStatsGroup and also implement High Capacity RMON monitoring." GROUP dsmonPdistGroup DESCRIPTION "The dsmonPdistGroup is mandatory for systems which implement DSCP monitoring and the protocolDirTable from the RMON-2 MIB [RFC2021]." GROUP dsmonPdistHCGroup DESCRIPTION "The dsmonPdistHCGroup is mandatory for systems which implement the dsmonPdistGroup and also implement High Capacity RMON monitoring." GROUP dsmonHostHCGroup DESCRIPTION "The dsmonHostHCGroup is mandatory for systems which implement the dsmonHostGroup and also implement High Capacity RMON monitoring." ::= { dsmonCompliances 1 } dsmonStatsGroup OBJECT-GROUP OBJECTS { dsmonStatsControlDataSource, dsmonStatsControlDroppedFrames, dsmonStatsControlCreateTime, dsmonStatsControlOwner, dsmonStatsControlStatus, dsmonStatsInPkts, dsmonStatsInOctets, dsmonStatsOutPkts, dsmonStatsOutOctets } STATUS current DESCRIPTION "A collection of objects providing per DSCP statistics." ::= { dsmonGroups 1 } Expires February 2000 [Page 56] Internet-Draft DS-MON MIB August 1999 dsmonStatsHCGroup OBJECT-GROUP OBJECTS { dsmonStatsInOvflPkts, dsmonStatsInOvflOctets, dsmonStatsInHCPkts, dsmonStatsInHCOctets, dsmonStatsOutOvflPkts, dsmonStatsOutOvflOctets, dsmonStatsOutHCPkts, dsmonStatsOutHCOctets } STATUS current DESCRIPTION "A collection of objects providing per DSCP statistics for high capacity data sources." ::= { dsmonGroups 2 } dsmonPdistGroup OBJECT-GROUP OBJECTS { dsmonPdistControlDataSource, dsmonPdistControlMaxDesiredEntries, dsmonPdistControlDroppedFrames, dsmonPdistControlInserts, dsmonPdistControlDeletes, dsmonPdistControlCreateTime, dsmonPdistControlOwner, dsmonPdistControlStatus, dsmonPdistStatsPkts, dsmonPdistStatsOctets, dsmonPdistStatsCreateTime, dsmonPdistTopNControlPdistIndex, dsmonPdistTopNControlRateBase, dsmonPdistTopNControlTimeRemaining, dsmonPdistTopNControlGeneratedReports, dsmonPdistTopNControlDuration, dsmonPdistTopNControlRequestedSize, dsmonPdistTopNControlGrantedSize, dsmonPdistTopNControlStartTime, dsmonPdistTopNControlOwner, dsmonPdistTopNControlStatus, dsmonPdistTopNProtocolDirLocalIndex, dsmonPdistTopNDsCodept, dsmonPdistTopNRate } STATUS current Expires February 2000 [Page 57] Internet-Draft DS-MON MIB August 1999 DESCRIPTION "A collection of objects providing per protocol DSCP monitoring extensions to the RMON-2 MIB." ::= { dsmonGroups 3 } dsmonPdistHCGroup OBJECT-GROUP OBJECTS { dsmonPdistStatsOvflPkts, dsmonPdistStatsOvflOctets, dsmonPdistStatsHCPkts, dsmonPdistStatsHCOctets, dsmonPdistTopNRateOvfl, dsmonPdistTopNHCRate } STATUS current DESCRIPTION "A collection of objects providing per protocol DSCP monitoring extensions to the RMON-2 MIB for High Capacicy networks." ::= { dsmonGroups 4 } dsmonHostGroup OBJECT-GROUP OBJECTS { dsmonHostControlDataSource, dsmonHostControlMaxDesiredEntries, dsmonHostControlNumAddrBits, dsmonHostControlDroppedFrames, dsmonHostControlInserts, dsmonHostControlDeletes, dsmonHostControlCreateTime, dsmonHostControlOwner, dsmonHostControlStatus, dsmonHostInPkts, dsmonHostInOctets, dsmonHostOutPkts, dsmonHostOutOctets, dsmonHostCreateTime, dsmonHostTopNControlHostIndex, dsmonHostTopNControlRateBase, dsmonHostTopNControlTimeRemaining, dsmonHostTopNControlGeneratedReports, dsmonHostTopNControlDuration, dsmonHostTopNControlRequestedSize, dsmonHostTopNControlGrantedSize, dsmonHostTopNControlStartTime, Expires February 2000 [Page 58] Internet-Draft DS-MON MIB August 1999 dsmonHostTopNControlOwner, dsmonHostTopNControlStatus, dsmonHostTopNAddress, dsmonHostTopNDsCodept, dsmonHostTopNRate } STATUS current DESCRIPTION "A collection of objects providing per IP Host DSCP monitoring functions." ::= { dsmonGroups 5 } dsmonHostHCGroup OBJECT-GROUP OBJECTS { dsmonHostInOvflPkts, dsmonHostInOvflOctets, dsmonHostInHCPkts, dsmonHostInHCOctets, dsmonHostOutOvflPkts, dsmonHostOutOvflOctets, dsmonHostOutHCPkts, dsmonHostOutHCOctets, dsmonHostTopNRateOvfl, dsmonHostTopNHCRate } STATUS current DESCRIPTION "A collection of objects providing per IP Host DSCP monitoring functions for High Capacity networks." ::= { dsmonGroups 6 } END 7. 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 rights made available for publication and any assurances of licenses to Expires February 2000 [Page 59] Internet-Draft DS-MON MIB August 1999 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. 8. Acknowledgements This memo has been produced with a great deal of assistance from Keith McCloghrie and Bijendra Jain. 9. References [HC-RMON] S. Waldbusser, "Remote Network Monitoring Management Information Base for High Capacity Networks", draft-ietf-rmonmib-hcrmon-05.txt, International Network Services, February 1999. [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. [RFC1901] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, Expires February 2000 [Page 60] Internet-Draft DS-MON MIB August 1999 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. [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. 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 Expires February 2000 [Page 61] Internet-Draft DS-MON MIB August 1999 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. [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. Expires February 2000 [Page 62] Internet-Draft DS-MON MIB August 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. 10. 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: 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 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. Expires February 2000 [Page 63] Internet-Draft DS-MON MIB August 1999 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. 11. 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 12. Full Copyright Statement Copyright (C) The Internet Society (1999). 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 Expires February 2000 [Page 64] Internet-Draft DS-MON MIB August 1999 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 February 2000 [Page 65]