4. Definitions
DSMON-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Gauge32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF RowStatus, TimeStamp, TEXTUAL-CONVENTION, TruthValue FROM SNMPv2-TC OwnerString, rmon FROM RMON-MIB protocolDirLocalIndex, LastCreateTime, DataSource, ZeroBasedCounter32, TimeFilter FROM RMON2-MIB CounterBasedGauge64, ZeroBasedCounter64 FROM HCNUM-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB Dscp FROM DIFFSERV-DSCP-TC; dsmonMIB MODULE-IDENTITY LAST-UPDATED "200205310000Z" ORGANIZATION "IETF RMONMIB Working Group" CONTACT-INFO " Andy Bierman Cisco Systems, Inc. RMONMIB WG Chair and DSMON MIB Editor Postal: 170 West Tasman Drive San Jose, CA USA 95134 Tel: +1 408 527-3711 E-mail: abierman@cisco.com Send comments to <rmonmib@ietf.org> Mailing list subscription info: http://www.ietf.org/mailman/listinfo/rmonmib " DESCRIPTION "This module defines Remote Monitoring MIB extensions for Differentiated Services enabled networks. RMON DIFFSERV DSCP statistics * Per Counter Aggregation Group * Per Protocol Per Counter Aggregation Group * Per Counter Aggregation Group Per Host
* Per Counter Aggregation Group Per Host-Pair In order to maintain the RMON 'look-and-feel' and semantic consistency, some of the text from the RMON-2 and HC-RMON MIBs by Steve Waldbusser has been adapted for use in this MIB." REVISION "200205310000Z" DESCRIPTION "Initial version of the DSMON MIB module. This version published as RFC 3287." ::= { rmon 26 } dsmonObjects OBJECT IDENTIFIER ::= { dsmonMIB 1 } dsmonNotifications OBJECT IDENTIFIER ::= { dsmonMIB 2 } dsmonConformance OBJECT IDENTIFIER ::= { dsmonMIB 3 } dsmonAggObjects OBJECT IDENTIFIER ::= { dsmonObjects 1 } dsmonStatsObjects OBJECT IDENTIFIER ::= { dsmonObjects 2 } dsmonPdistObjects OBJECT IDENTIFIER ::= { dsmonObjects 3 } dsmonHostObjects OBJECT IDENTIFIER ::= { dsmonObjects 4 } dsmonCapsObjects OBJECT IDENTIFIER ::= { dsmonObjects 5 } dsmonMatrixObjects OBJECT IDENTIFIER ::= { dsmonObjects 6 } -- -- Textual Convention to define a -- DSMON Counter Aggregation Group Index -- DsmonCounterAggGroupIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This TC describes a data type which identifies a DSMON counter aggregation group, which is an arbitrary grouping of conceptual counters, for monitoring purposes only. The range for this data type begins with zero (instead of one), to allow for a direct mapping between counter indexing schemes that start at zero (e.g. DSCP values in packets) and counter aggregation group values." SYNTAX Integer32 (0..2147483647) -- -- Textual Convention to define a -- DSMON Counter Aggregation Profile Index -- DsmonCounterAggProfileIndex ::= TEXTUAL-CONVENTION STATUS current
DESCRIPTION "This TC describes a data type which identifies a DSMON counter aggregation profile, which is a set of counter aggregation group assignments for each of the 64 DSCP values, for a particular statistical collection." SYNTAX Integer32 (1..2147483647) -- *********************************************************** -- * * -- * D S M O N C A P A B I L I T I E S * -- * * -- *********************************************************** dsmonCapabilities OBJECT-TYPE SYNTAX BITS { dsmonCounterAggControl(0), dsmonStats(1), dsmonStatsOvfl(2), dsmonStatsHC(3), dsmonPdist(4), dsmonPdistOvfl(5), dsmonPdistHC(6), dsmonHost(7), dsmonHostOvfl(8), dsmonHostHC(9), dsmonCaps(10), dsmonMatrix(11), dsmonMatrixOvfl(12), dsmonMatrixHC(13) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides an indication of the DSMON groups supported by the agent. If a bit is set, then the agent implements all of the objects in the DSMON object group, where bit 'n' represents the MIB group identified by the OBJECT IDENTIFIER value { dsmonGroups n+1 }." ::= { dsmonCapsObjects 1 } -- *********************************************************** -- * * -- * A G G R E G A T I O N C O N T R O L G R O U P S * -- * * -- ***********************************************************
dsmonMaxAggGroups OBJECT-TYPE SYNTAX Integer32 (2..64) MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of counter aggregation groups that this agent can support. The agent will allow this number of distinct groups to be configured in the dsmonAggProfileTable, numbered from '0' to 'dsmonMaxAggGroups - 1', for each counter aggregation profile entry supported by the agent. The agent MUST NOT lower this value during system operation, and SHOULD set this object to an appropriate value during system initialization." ::= { dsmonAggObjects 1 } dsmonAggControlLocked OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Controls the setup of counter aggregation groups for this agent. If this object contains the value 'true', then write access to the objects in the dsmonAggControlTable (except the dsmonAggControlOwner object), dsmonAggProfileTable, and dsmonAggGroupTable is not permitted, and data collection is possible. This object only controls write access to these MIB objects. The DSMON data collection control tables (e.g., dsmonHostCtlTable) can be configured at any time, regardless of the value of this object. If this object contains the value 'false', write access to the objects in the dsmonAggControlTable, dsmonAggProfileTable, and dsmonAggGroupTable is permitted, and data collection is not possible. In addition, all objects in all DSMON data tables (e.g., dsmonStatsTable) shall be deleted. An agent is not required to process SNMP Set Requests for this object in conjunction with other objects from this MIB. This is intended to simplify the processing of Set Requests for tables such as the dsmonAggProfileTable, by eliminating the possibility that a single Set PDU will contain multiple varbinds which are in conflict, such as a PDU which both modifies the dsmonAggProfileTable and locks the
dsmonAggProfileTable at the same time. Note that the agent is not required to validate the entire counter aggregation configuration when an attempt is made to transition an instance of this object from 'true' to 'false'. That validation is done if and when a DSMON data collection is activated. An agent is required to reactivate any suspended data collections when this object transitions to 'true', Each active data control entry (e.g., dsmonStatsControlEntry), will be validated with respect to the new counter aggregation configuration. If the counter aggregation profile referenced in the data collection is valid, then that collection will be restarted. Otherwise, the RowStatus object (e.g., dsmonStatsControlStatus) will be set to 'notReady' for that collection control entry." ::= { dsmonAggObjects 2 } dsmonAggControlChanges OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of times the value of the dsmonAggControlLocked object has changed. A management station can use this object to detect if counters in the DSMON data tables (e.g., dsmonStatsEntry) have been deleted and recreated between polls. This object shall be incremented by one each time the dsmonAggControlLocked object changes from 'false' to 'true', or from 'true' to 'false'." ::= { dsmonAggObjects 3 } dsmonAggControlLastChangeTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object identifies the value of sysUpTime at the moment the dsmonAggControlLocked object was last modified. A management station can use this object to detect if counters in the DSMON data tables (e.g., dsmonStatsEntry) have been deleted and recreated between polls. This object shall be updated with the current value of sysUpTime, if the dsmonAggControlLocked object changes from
'false' to 'true', or from 'true' to 'false'. Upon system initialization, this object shall contain the value zero." ::= { dsmonAggObjects 4 } -- -- Counter Aggregation Control Table -- dsmonAggControlTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonAggControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides an overall description and control point for all dsmonAggProfileEntries with the same dsmonAggControlIndex value. A management application SHOULD create a counter aggregation profile by first creating and activating an entry in this table. This will cause the agent to create a set of 64 dsmonAggProfileEntries on behalf of this control entry. An application can then set the individual counter aggregation group assignments for each of the 64 DSCP values, This table MUST NOT be modified if the dsmonAggControlLocked object is equal to 'true'. Note that an agent MAY choose to limit the actual number of entries which may be created in this table, and (independently) the number of counter aggregation profiles which may be applied to a particular data source. In this case, the agent SHOULD return an error-status of 'resourceUnavailable(13)', as per section 4.2.5 of the 'Protocol Operations for SNMPv2' specification [RFC1905]. The agent SHOULD support non-volatile configuration of this table, and upon system initialization, the table SHOULD be initialized with the saved values. Otherwise, each potential counter aggregation group description string SHOULD contain the empty string." ::= { dsmonAggObjects 5 } dsmonAggControlEntry OBJECT-TYPE SYNTAX DsmonAggControlEntry MAX-ACCESS not-accessible
STATUS current DESCRIPTION "A conceptual row in the dsmonAggControlTable." INDEX { dsmonAggControlIndex } ::= { dsmonAggControlTable 1 } DsmonAggControlEntry ::= SEQUENCE { dsmonAggControlIndex DsmonCounterAggProfileIndex, dsmonAggControlDescr SnmpAdminString, dsmonAggControlOwner OwnerString, dsmonAggControlStatus RowStatus } dsmonAggControlIndex OBJECT-TYPE SYNTAX DsmonCounterAggProfileIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer index value used to identify the counter aggregation profile specified by this control entry." ::= { dsmonAggControlEntry 1 } dsmonAggControlDescr OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..64)) MAX-ACCESS read-create STATUS current DESCRIPTION "An administratively assigned description of the counter aggregation profile identified by this entry. Upon first creation of an instance of this object, the agent SHOULD set this object to the empty string. If the agent supports non-volatile storage, then this object SHOULD be re-initialized with its stored value after a system reboot. This object MUST NOT be modified if the associated dsmonAggControlStatus object is equal to 'active', or the dsmonAggControlLocked object is equal to 'true'." ::= { dsmonAggControlEntry 2 } dsmonAggControlOwner OBJECT-TYPE SYNTAX OwnerString MAX-ACCESS read-create STATUS current DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it."
::= { dsmonAggControlEntry 3 } dsmonAggControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry MUST NOT exist in the active state unless all objects in the entry have an appropriate value. Upon setting this object to active(1), the agent will create a complete set of 64 associated entries in the dsmonAggProfileTable. If this object is not equal to active(1), all associated entries in the dsmonAggProfileTable shall be deleted. This object MUST NOT be modified if the dsmonAggControlLocked object is equal to 'true'." ::= { dsmonAggControlEntry 4 } -- -- Counter Aggregation Profile Table -- dsmonAggProfileTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonAggProfileEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Controls the setup of counter aggregation profiles for this agent. For each such profile, every DSCP value MUST be configured into exactly one counter aggregation group. This table MUST NOT be modified if the dsmonAggControlLocked object is equal to 'true'. The agent will create a set of 64 entries in this table (with the same dsmonAggControlIndex value) when the associated dsmonAggControlEntry is activated. If the agent supports non-volatile configuration of this table, then upon system initialization, this table SHOULD be initialized with the saved values." ::= { dsmonAggObjects 6 }
dsmonAggProfileEntry OBJECT-TYPE SYNTAX DsmonAggProfileEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the dsmonAggProfileTable. The dsmonAggControlIndex value in the index identifies the dsmonAggControlEntry associated with each entry in this table." INDEX { dsmonAggControlIndex, dsmonAggProfileDSCP } ::= { dsmonAggProfileTable 1 } DsmonAggProfileEntry ::= SEQUENCE { dsmonAggProfileDSCP Dscp, dsmonAggGroupIndex DsmonCounterAggGroupIndex } dsmonAggProfileDSCP OBJECT-TYPE SYNTAX Dscp MAX-ACCESS not-accessible STATUS current DESCRIPTION "The specific DSCP value for the DSCP counter which is configured in a counter aggregation group by this entry." ::= { dsmonAggProfileEntry 1 } dsmonAggGroupIndex OBJECT-TYPE SYNTAX DsmonCounterAggGroupIndex MAX-ACCESS read-write STATUS current DESCRIPTION "The counter aggregation group which contains this DSCP value. Upon creation of a new sub-tree (set of 64 entries with the same dsmonAggControlIndex value) in this table, the agent SHOULD initialize all related instances of this object to the value zero. This object MUST NOT be modified if the dsmonAggControlLocked object is equal to 'true'." DEFVAL { 0 } ::= { dsmonAggProfileEntry 2 } -- -- Counter Aggregation Group Table --
dsmonAggGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonAggGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides a description of each counter aggregation group configured on this system. Note that the semantics of a particular counter aggregation group are only relevant within the scope of a particular counter aggregation profile. This table MUST NOT be modified if the dsmonAggControlLocked object is equal to 'true'. Note that an agent MAY choose to limit the actual number of entries which may be created in this table, and (independently) the number of counter aggregation profiles which may be applied to a particular data source. In this case, the agent SHOULD return an error-status of 'resourceUnavailable(13)', as per section 4.2.5 of the 'Protocol Operations for SNMPv2' specification [RFC1905]. If the agent supports non-volatile configuration of this table, then upon system initialization, this table SHOULD be initialized with the saved values. Otherwise, each potential counter aggregation group description string SHOULD contain the empty string. An agent SHOULD allow entries to be created or modified in this table, even if the specified dsmonAggControlIndex value does not identify a valid dsmonAggControlEntry or a complete set of valid dsmonAggProfileEntries, to reduce row creation order dependencies." ::= { dsmonAggObjects 7 } dsmonAggGroupEntry OBJECT-TYPE SYNTAX DsmonAggGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the dsmonAggGroupTable. The dsmonAggGroupIndex value in the INDEX identifies the counter aggregation group associated with each entry. The dsmonAggControlIndex in the index identifies the counter aggregation profile associated with each entry, identified by the dsmonAggControlEntry and dsmonAggProfileEntries with the same index value.
The agent SHOULD support non-volatile configuration of this table, and upon system initialization, the table SHOULD be initialized with the saved values. The dsmonAggGroupIndex in the index identifies the counter aggregation group associated with each entry. This object SHOULD be indexed from zero to 'N', where 'N' is less than the value of the dsmonMaxAggGroups for this agent." INDEX { dsmonAggControlIndex, dsmonAggGroupIndex } ::= { dsmonAggGroupTable 1 } DsmonAggGroupEntry ::= SEQUENCE { dsmonAggGroupDescr SnmpAdminString, dsmonAggGroupStatus RowStatus } dsmonAggGroupDescr OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..64)) MAX-ACCESS read-create STATUS current DESCRIPTION "An administratively assigned description of the counter aggregation group identified by this entry. Upon first creation of an instance of this object, the agent SHOULD set this object to the empty string. This object MUST NOT be modified if the associated dsmonAggGroupStatus object is equal to 'active', or the dsmonAggControlLocked object is equal to 'true'." ::= { dsmonAggGroupEntry 1 } dsmonAggGroupStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry MUST NOT exist in the active state unless all objects in the entry have an appropriate value. This object MUST NOT be modified if the dsmonAggControlLocked object is equal to 'true'." ::= { dsmonAggGroupEntry 2 }
-- ************************************************************* -- * * -- * P E R - D A T A S O U R C E C O L L E C T I O N S * -- * * -- ************************************************************* -- -- Per-DataSource Statistics Control Table -- dsmonStatsControlTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonStatsControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Controls the setup of per data source per counter aggregation group distribution statistics. Note that an agent MAY choose to limit the actual number of entries which may be created in this table. In this case, the agent SHOULD return an error-status of 'resourceUnavailable(13)', as per section 4.2.5 of the 'Protocol Operations for SNMPv2' specification [RFC1905]." ::= { dsmonStatsObjects 1 } dsmonStatsControlEntry OBJECT-TYPE SYNTAX DsmonStatsControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the dsmonStatsControlTable. Entries are created and deleted from this table by management action only, using the dsmonStatsControlStatus RowStatus object. The agent SHOULD support non-volatile configuration of this table, and upon system initialization, the table SHOULD be initialized with the saved values. Activation of a control row in this table will cause an associated dsmonStatsTable to be created and maintained by the agent." INDEX { dsmonStatsControlIndex } ::= { dsmonStatsControlTable 1 } DsmonStatsControlEntry ::= SEQUENCE { dsmonStatsControlIndex Integer32,
dsmonStatsControlDataSource DataSource, dsmonStatsControlAggProfile DsmonCounterAggProfileIndex, dsmonStatsControlDroppedFrames Counter32, dsmonStatsControlCreateTime LastCreateTime, dsmonStatsControlOwner OwnerString, dsmonStatsControlStatus RowStatus } dsmonStatsControlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary and unique index for this dsmonStatsControlEntry." ::= { dsmonStatsControlEntry 1 } dsmonStatsControlDataSource OBJECT-TYPE SYNTAX DataSource MAX-ACCESS read-create STATUS current DESCRIPTION "The data source of this per protocol per counter aggregation group distribution. Note that only packets that contain a network protocol encapsulation which contains a DS field [RFC2474] will be counted in this table. This object MUST NOT be modified if the associated dsmonStatsControlStatus object is equal to active(1)." ::= { dsmonStatsControlEntry 2 } dsmonStatsControlAggProfile OBJECT-TYPE SYNTAX DsmonCounterAggProfileIndex MAX-ACCESS read-create STATUS current DESCRIPTION "The dsmonAggControlIndex value identifying the counter aggregation profile which should be used on behalf of this dsmonStatsControlEntry. The associated dsmonAggControlEntry and dsmonAggProfileEntries, identified by the same dsmonAggControlIndex index value, MUST be active in order for this entry to remain active. It is possible for the counter aggregation configuration to change from a valid to invalid state for this dsmonStats collection. In this case,
the associated dsmonStatsControlStatus object will be changed to the 'notReady' state, and data collection will not occur on behalf of this control entry. Note that an agent MAY choose to limit the actual number of counter aggregation profiles which may be applied to a particular data source. This object MUST NOT be modified if the associated dsmonStatsControlStatus object is equal to active(1)." ::= { dsmonStatsControlEntry 3 } dsmonStatsControlDroppedFrames OBJECT-TYPE SYNTAX Counter32 UNITS "frames" MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of frames which were received by the probe and therefore not accounted for in the *StatsDropEvents, but for which the probe chose not to count for this entry for whatever reason. Most often, this event occurs when the probe is out of some resources and decides to shed load from this collection. This count does not include packets that were not counted because they had MAC-layer errors. Note that, unlike the dropEvents counter, this number is the exact number of frames dropped." ::= { dsmonStatsControlEntry 4 } dsmonStatsControlCreateTime OBJECT-TYPE SYNTAX LastCreateTime MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this control entry was last activated. This can be used by the management station to detect if the table has been deleted and recreated between polls." ::= { dsmonStatsControlEntry 5 } dsmonStatsControlOwner OBJECT-TYPE SYNTAX OwnerString MAX-ACCESS read-create STATUS current DESCRIPTION
"The entity that configured this entry and is therefore using the resources assigned to it." ::= { dsmonStatsControlEntry 6 } dsmonStatsControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry MUST NOT exist in the active state unless all objects in the entry have an appropriate value. If this object is not equal to active(1), all associated entries in the dsmonStatsTable shall be deleted." ::= { dsmonStatsControlEntry 7 } -- -- Per-DataSource Statistics Table -- dsmonStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of information on counter aggregation group usage for each monitored data source. The following table defines per counter aggregation group statistics for full and/or half-duplex links as well as high capacity links. For half-duplex links, or full-duplex-capable links operating in half-duplex mode, the dsmonStatsIn* objects shall be used and the dsmonStatsOut* objects will not increment. For full-duplex links, the dsmonStatsOut* objects will be present. Whenever possible, the probe SHOULD count packets moving away from the closest terminating equipment as output packets. Failing that, the probe SHOULD count packets moving away from the DTE as output packets. If the dsmonAggControlLocked object is equal to 'false', then all entries in this table will be deleted and the agent will not process packets on behalf of any
dsmonStatsControlEntry." ::= { dsmonStatsObjects 2 } dsmonStatsEntry OBJECT-TYPE SYNTAX DsmonStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of information on Differentiated Services DSCP usage, containing inbound and outbound packet and octet counters for each counter aggregation group configured for collection. The dsmonStatsControlIndex value in the index identifies the dsmonStatsControlEntry on whose behalf this entry was created. The dsmonAggGroupIndex value in the index is determined by examining the DSCP value in each monitored packet, and the dsmonAggProfileTable entry for that DSCP value. Note that only packets that contain a network protocol encapsulation which contains a DS field [RFC2474] will be counted in this table. An example of the indexing of this entry is dsmonStatsOutPkts.1.16" INDEX { dsmonStatsControlIndex, dsmonAggGroupIndex } ::= { dsmonStatsTable 1 } DsmonStatsEntry ::= SEQUENCE { dsmonStatsInPkts ZeroBasedCounter32, dsmonStatsInOctets ZeroBasedCounter32, dsmonStatsInOvflPkts ZeroBasedCounter32, dsmonStatsInOvflOctets ZeroBasedCounter32, dsmonStatsInHCPkts ZeroBasedCounter64, dsmonStatsInHCOctets ZeroBasedCounter64, dsmonStatsOutPkts ZeroBasedCounter32, dsmonStatsOutOctets ZeroBasedCounter32, dsmonStatsOutOvflPkts ZeroBasedCounter32, dsmonStatsOutOvflOctets ZeroBasedCounter32, dsmonStatsOutHCPkts ZeroBasedCounter64, dsmonStatsOutHCOctets ZeroBasedCounter64 } dsmonStatsInPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets"
MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets using one of the DSCP values in the indicated counter aggregation group, received on a half- duplex link or on the inbound connection of a full-duplex link." ::= { dsmonStatsEntry 1 } dsmonStatsInOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets in packets, using one of the DSCP values in the indicated counter aggregation group, received on a half-duplex link or on the inbound connection of a full-duplex link." ::= { dsmonStatsEntry 2 } dsmonStatsInOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of times the associated dsmonStatsInPkts counter has overflowed. Note that this object will only be instantiated if the associated dsmonStatsInHCPkts object is also instantiated for a particular dataSource." ::= { dsmonStatsEntry 3 } dsmonStatsInOvflOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of times the associated dsmonStatsInOctets counter has overflowed. Note that this object will only be instantiated if the associated dsmonStatsInHCOctets object is also instantiated for a particular dataSource." ::= { dsmonStatsEntry 4 } dsmonStatsInHCPkts OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "packets" MAX-ACCESS read-only STATUS current
DESCRIPTION "The 64-bit version of the dsmonStatsInPkts object. Note that this object will only be instantiated if the RMON agent supports High Capacity monitoring for a particular dataSource." ::= { dsmonStatsEntry 5 } dsmonStatsInHCOctets OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The 64-bit version of the dsmonStatsInOctets object. Note that this object will only be instantiated if the RMON agent supports High Capacity monitoring for a particular dataSource." ::= { dsmonStatsEntry 6 } dsmonStatsOutPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets using one of the DSCP values in the indicated counter aggregation group, received on a full- duplex link in the direction of the network." ::= { dsmonStatsEntry 7 } dsmonStatsOutOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets in packets, using one of the DSCP values in the indicated counter aggregation group, received on a full-duplex link in the direction of the network." ::= { dsmonStatsEntry 8 } dsmonStatsOutOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION
"The number of times the associated dsmonStatsOutPkts counter has overflowed. Note that this object will only be instantiated if the associated dsmonStatsOutHCPkts object is also instantiated for a particular dataSource." ::= { dsmonStatsEntry 9 } dsmonStatsOutOvflOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of times the associated dsmonStatsOutOctets counter has overflowed. Note that this object will only be instantiated if the associated dsmonStatsOutHCOctets object is also instantiated for a particular dataSource." ::= { dsmonStatsEntry 10 } dsmonStatsOutHCPkts OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The 64-bit version of the dsmonStatsOutPkts object. Note that this object will only be instantiated if the RMON agent supports High Capacity monitoring for a particular dataSource." ::= { dsmonStatsEntry 11 } dsmonStatsOutHCOctets OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The 64-bit version of the dsmonStatsOutOctets object. Note that this object will only be instantiated if the RMON agent supports High Capacity monitoring for a particular dataSource." ::= { dsmonStatsEntry 12 } -- *********************************************************** -- * * -- * P E R - P R O T O C O L C O L L E C T I O N S * -- * * -- ***********************************************************
-- -- DSCP Per-Protocol Statistics Control Table -- dsmonPdistCtlTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonPdistCtlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Controls the setup of per application per counter aggregation group distribution statistics. Note that an agent MAY choose to limit the actual number of entries which may be created in this table. In this case, the agent SHOULD return an error-status of 'resourceUnavailable(13)', as per section 4.2.5 of the 'Protocol Operations for SNMPv2' specification [RFC1905]." ::= { dsmonPdistObjects 1 } dsmonPdistCtlEntry OBJECT-TYPE SYNTAX DsmonPdistCtlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the dsmonPdistCtlTable. Entries are created and deleted from this table by management action only, using the dsmonPdistCtlStatus RowStatus object. The agent SHOULD support non-volatile configuration of this table, and upon system initialization, the table SHOULD be initialized with the saved values. Activation of a control row in this table will cause an associated dsmonPdistStatsTable to be created and maintained by the agent." INDEX { dsmonPdistCtlIndex } ::= { dsmonPdistCtlTable 1 } DsmonPdistCtlEntry ::= SEQUENCE { dsmonPdistCtlIndex Integer32, dsmonPdistCtlDataSource DataSource, dsmonPdistCtlAggProfile DsmonCounterAggProfileIndex, dsmonPdistCtlMaxDesiredEntries Integer32, dsmonPdistCtlDroppedFrames Counter32, dsmonPdistCtlInserts Counter32, dsmonPdistCtlDeletes Counter32,
dsmonPdistCtlCreateTime LastCreateTime, dsmonPdistCtlOwner OwnerString, dsmonPdistCtlStatus RowStatus } dsmonPdistCtlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary and unique index for this dsmonPdistCtlEntry." ::= { dsmonPdistCtlEntry 1 } dsmonPdistCtlDataSource OBJECT-TYPE SYNTAX DataSource MAX-ACCESS read-create STATUS current DESCRIPTION "The source of data for the this per protocol counter aggregation group distribution. This object MUST NOT be modified if the associated dsmonPdistCtlStatus object is equal to active(1)." ::= { dsmonPdistCtlEntry 2 } dsmonPdistCtlAggProfile OBJECT-TYPE SYNTAX DsmonCounterAggProfileIndex MAX-ACCESS read-create STATUS current DESCRIPTION "The dsmonAggControlIndex value identifying the counter aggregation profile which should be used on behalf of this dsmonPdistCtlEntry. The associated dsmonAggControlEntry and dsmonAggProfileEntries, identified by the same dsmonAggControlIndex index value, MUST be active in order for this entry to remain active. It is possible for the counter aggregation configuration to change from a valid to invalid state for this dsmonPdist collection. In this case, the associated dsmonPdistCtlStatus object will be changed to the 'notReady' state, and data collection will not occur on behalf of this control entry. Note that an agent MAY choose to limit the actual number of counter aggregation profiles which may be applied to a particular data source.
This object MUST NOT be modified if the associated dsmonPdistCtlStatus object is equal to active(1)." ::= { dsmonPdistCtlEntry 3 } dsmonPdistCtlMaxDesiredEntries OBJECT-TYPE SYNTAX Integer32 (-1 | 1..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum number of entries that are desired in the dsmonPdistStatsTable on behalf of this control entry. The probe will not create more than this number of associated entries in the table, but MAY choose to create fewer entries in this table for any reason including the lack of resources. If this value is set to -1, the probe MAY create any number of entries in this table. This object MUST NOT be modified if the associated dsmonPdistCtlStatus object is equal to active(1)." ::= { dsmonPdistCtlEntry 4 } dsmonPdistCtlDroppedFrames OBJECT-TYPE SYNTAX Counter32 UNITS "frames" MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of frames which were received by the probe and therefore not accounted for in the *StatsDropEvents, but for which the probe chose not to count for this entry for whatever reason. Most often, this event occurs when the probe is out of some resources and decides to shed load from this collection. This count does not include packets that were not counted because they had MAC-layer errors. Note that, unlike the dropEvents counter, this number is the exact number of frames dropped." ::= { dsmonPdistCtlEntry 5 } dsmonPdistCtlInserts OBJECT-TYPE SYNTAX Counter32 UNITS "table entries" MAX-ACCESS read-only STATUS current
DESCRIPTION "The number of times a dsmonPdist entry has been inserted into the dsmonPdistTable. If an entry is inserted, then deleted, and then inserted, this counter will be incremented by 2. To allow for efficient implementation strategies, agents MAY delay updating this object for short periods of time. For example, an implementation strategy may allow internal data structures to differ from those visible via SNMP for short periods of time. This counter may reflect the internal data structures for those short periods of time. Note that the table size can be determined by subtracting dsmonPdistCtlDeletes from dsmonPdistCtlInserts." ::= { dsmonPdistCtlEntry 6 } dsmonPdistCtlDeletes OBJECT-TYPE SYNTAX Counter32 UNITS "table entries" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times a dsmonPdist entry has been deleted from the dsmonPdist table (for any reason). If an entry is deleted, then inserted, and then deleted, this counter will be incremented by 2. To allow for efficient implementation strategies, agents MAY delay updating this object for short periods of time. For example, an implementation strategy may allow internal data structures to differ from those visible via SNMP for short periods of time. This counter may reflect the internal data structures for those short periods of time. Note that the table size can be determined by subtracting dsmonPdistCtlDeletes from dsmonPdistCtlInserts." ::= { dsmonPdistCtlEntry 7 } dsmonPdistCtlCreateTime OBJECT-TYPE SYNTAX LastCreateTime MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this control entry was last activated. This can be used by the management station to detect if the table has been deleted and recreated between polls."
::= { dsmonPdistCtlEntry 8 } dsmonPdistCtlOwner OBJECT-TYPE SYNTAX OwnerString MAX-ACCESS read-create STATUS current DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { dsmonPdistCtlEntry 9 } dsmonPdistCtlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry MUST NOT exist in the active state unless all objects in the entry have an appropriate value. If this object is not equal to active(1), all associated entries in the dsmonPdistStatsTable shall be deleted." ::= { dsmonPdistCtlEntry 10 } -- -- Per-Protocol Statistics Table -- dsmonPdistStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF DsmonPdistStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of information on a per protocol per counter aggregation group usage. If the dsmonAggControlLocked object is equal to 'false', then all entries in this table will be deleted and the agent will not process packets on behalf of any dsmonPdistCtlEntry." ::= { dsmonPdistObjects 2 } dsmonPdistStatsEntry OBJECT-TYPE SYNTAX DsmonPdistStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION
"A list of information on Differentiated Services DSCP usage, containing packet and octet counters for each counter aggregation group configured for collection, and each protocol (as identified by the protocolDirLocalIndex for the protocol) identified in each monitored packet. The dsmonPdistCtlIndex value in the index identifies the dsmonPdistCtlEntry on whose behalf this entry was created. Note that only packets that contain a network protocol encapsulation which contains a DS field [RFC2474] will be counted in this table. The dsmonAggGroupIndex value in the index is determined by examining the DSCP value in each monitored packet, and the dsmonAggProfileTable entry for that value. The protocolDirLocalIndex in the index identifies the protocolDirEntry for the protocol encapsulation of each monitored packet. The agent will include only application layer protocols in the associated dsmonPdistStatsTable. Any 'terminal' protocol is considered to be an application protocol. An example of the indexing of this entry is dsmonPdistStatsPkts.9.29943.0.42." INDEX { dsmonPdistCtlIndex, dsmonPdistTimeMark, dsmonAggGroupIndex, protocolDirLocalIndex } ::= { dsmonPdistStatsTable 1 } DsmonPdistStatsEntry ::= SEQUENCE { dsmonPdistTimeMark TimeFilter, dsmonPdistStatsPkts ZeroBasedCounter32, dsmonPdistStatsOctets ZeroBasedCounter32, dsmonPdistStatsOvflPkts ZeroBasedCounter32, dsmonPdistStatsOvflOctets ZeroBasedCounter32, dsmonPdistStatsHCPkts ZeroBasedCounter64, dsmonPdistStatsHCOctets ZeroBasedCounter64, dsmonPdistStatsCreateTime LastCreateTime } dsmonPdistTimeMark OBJECT-TYPE SYNTAX TimeFilter MAX-ACCESS not-accessible STATUS current DESCRIPTION
"The Time Filter index for this table. This object may be used by a management station to retrieve only rows which have been created or modified since a particular time. Note that the current value for a row are always returned and the TimeFilter is not a historical data archiving mechanism. Refer to RFC 2021 [RFC2021] for a detailed description of TimeFilter operation." ::= { dsmonPdistStatsEntry 1 } dsmonPdistStatsPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets, using one of the DSCP values in the indicated counter aggregation group, for the protocol identified by the associated protocolDirLocalIndex value." ::= { dsmonPdistStatsEntry 2 } dsmonPdistStatsOctets OBJECT-TYPE SYNTAX ZeroBasedCounter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets in packets, using one of the DSCP values in the indicated counter aggregation group, for the protocol identified by the associated protocolDirLocalIndex value. Note that this object doesn't count just those octets in the particular protocol frames, but includes the entire packet that contained the protocol." ::= { dsmonPdistStatsEntry 3 } dsmonPdistStatsOvflPkts OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of times the associated dsmonPdistStatsPkts counter has overflowed. Note that this object will only be instantiated if the associated dsmonPdistStatsHCPkts object is also instantiated for a particular dataSource." ::= { dsmonPdistStatsEntry 4 } dsmonPdistStatsOvflOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of times the associated dsmonPdistStatsOctets counter has overflowed. Note that this object will only be instantiated if the associated dsmonPdistStatsHCOctets object is also instantiated for a particular dataSource." ::= { dsmonPdistStatsEntry 5 } dsmonPdistStatsHCPkts OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "The 64-bit version of the dsmonPdistStatsPkts object. Note that this object will only be instantiated if the RMON agent supports High Capacity monitoring for a particular dataSource." ::= { dsmonPdistStatsEntry 6 } dsmonPdistStatsHCOctets OBJECT-TYPE SYNTAX ZeroBasedCounter64 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The 64-bit version of the dsmonPdistStatsOctets object. Note that this object will only be instantiated if the RMON agent supports High Capacity monitoring for a particular dataSource." ::= { dsmonPdistStatsEntry 7 } dsmonPdistStatsCreateTime OBJECT-TYPE SYNTAX LastCreateTime MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this dsmonPdistStats entry was last instantiated by the agent. This can be used by the management station to detect if the entry has been deleted and recreated between polls." ::= { dsmonPdistStatsEntry 8 }