-- ***************************************************************** -- CISCO-ENHANCED-MEMPOOL-MIB -- -- April 2001, Ranjana Rao -- -- Copyright (c) 2001, 2003, 2008 by cisco Systems Inc. -- All rights reserved. -- **************************************************************** CISCO-ENHANCED-MEMPOOL-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Integer32, Gauge32, Counter32, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TruthValue, AutonomousType, TimeStamp FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB entPhysicalIndex FROM ENTITY-MIB CounterBasedGauge64 FROM HCNUM-TC ciscoMgmt FROM CISCO-SMI; ciscoEnhancedMemPoolMIB MODULE-IDENTITY LAST-UPDATED "200812050000Z" ORGANIZATION "Cisco Systems, Inc." CONTACT-INFO "Cisco Systems Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 USA Tel: +1 800 553-NETS E-mail: cs-memory@cisco.com" DESCRIPTION "New MIB module for monitoring the memory pools of all physical entities on a managed system." REVISION "200812050000Z" DESCRIPTION "Added the following High Capacity and Overflow objects in cempMemPoolTable. cempMemPoolUsedOvrflw, cempMemPoolHCUsed, cempMemPoolFreeOvrflw, cempMemPoolHCFree, cempMemPoolLargestFreeOvrflw, cempMemPoolHCLargestFree, cempMemPoolLowestFreeOvrflw, cempMemPoolHCLowestFree, cempMemPoolUsedLowWaterMarkOvrflw, cempMemPoolHCUsedLowWaterMark, cempMemPoolSharedOvrflw, cempMemPoolHCShared. Added couple of new groups cempMemPoolHCGroup and cempMemPoolOvrflwGroup. Added a new compliance cempMIBComplianceRev3 which deprecates cempMIBComplianceRev2." REVISION "200805070000Z" DESCRIPTION "Added a new object cempMemPoolShared in cempMemPoolTable. Deprecated cempMemPoolGroup OBJECT-GROUP. Added cempMemPoolGroupRev1 OBJECT-GROUP. Deprecated cempMIBComplianceRev1 MODULE-COMPLIANCE. Added cempMIBComplianceRev2 MODULE-COMPLIANCE." REVISION "200302240000Z" DESCRIPTION "Revised version of this MIB,added Objects to the existing cempMemPoolTable, added buffer pools. Different types of memory buffer pools may be present in a managed device. For example: 1. Public buffers, these are standard pools of packets of different sizes (eg: 104B, 600B, 1536B, 4520B, 5024B, 18024B ...). 2. Private [Interface] buffers (eg. ipc, channel ...). 3. Header pool. Pool of dynamic packet headers. Header buffers have no associated data blocks or particles. (Particles are a mechanism for representing a data packet as a collection of discontigious buffers.). The new objects added are cempMemPoolUsedLowWaterMark, cempMemPoolAllocHit, cempMemPoolAllocMiss, cempMemPoolFreeHit, cempMemPoolFreeMiss, cempMemBufferPoolTable & cempMemBufferCachePoolTable." REVISION "200106050000Z" DESCRIPTION "Initial version of this MIB." ::= { ciscoMgmt 221 } cempMIBNotifications OBJECT IDENTIFIER ::= { ciscoEnhancedMemPoolMIB 0 } cempMIBObjects OBJECT IDENTIFIER ::= { ciscoEnhancedMemPoolMIB 1 } cempMemPool OBJECT IDENTIFIER ::= { cempMIBObjects 1 } cempNotificationConfig OBJECT IDENTIFIER ::= { cempMIBObjects 2 } -- Textual Conventions CempMemPoolIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A unique value, greater than zero, for each memory pool in a particular physical entity. It is recommended that values are assigned contiguously starting from 1 such that the index will be unique within a particular physical entity." SYNTAX Integer32 (1..2147483647) CempMemPoolIndexOrNone ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This textual convention is an extension of the CempMemPoolIndex. The latter defines a value greater than zero to identify a memory pool in a particular physical entity. This extension permits the additional value of zero. The value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. Examples of the usage of zero might include situations where memory pool was unknown, or when none or all memory pools need to be referenced." SYNTAX Integer32 (0..2147483647) CempMemPoolTypes ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Represents the different types of memory pools that may be present in a managed device. Note that only the processor pool is required to be supported by all devices. Support for other pool types is dependent on the device being managed. processorMemory - processor associated heap memory. ioMemory - shared memory for buffer data and controller descriptor blocks. pciMemory - Peripheral Component Interconnect bus memory which is visible to all devices on the PCI buses in a platform. fastMemory - memory defined by the particular platform for speed critical applications. multibusMemory - memory present on some platforms that is used as a fallback pool. interruptStackMemory - memory for allocating interrupt stacks. It is usually allocated from heap. processStackMemory - memory for allocating process stacks. It is usually allocated from heap. localExceptionMemory - memory reserved for processing a system core dump. virtualMemory - memory used to increase available RAM. reservedMemory - memory used for packet headers, particle headers and particles. imageMemory - memory which corresponds to the image file system. asicMemory - Application Specific Integrated Circuit memory. posixMemory - Heap memory associated with posix style processes in ion." SYNTAX INTEGER { other(1), -- none of the following processorMemory(2), ioMemory(3), pciMemory(4), fastMemory(5), multibusMemory(6), interruptStackMemory(7), processStackMemory(8), localExceptionMemory(9), virtualMemory(10), reservedMemory(11), imageMemory(12), asicMemory(13), posixMemory(14) } CempMemBufferPoolIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A unique value, greater than zero, for each buffer pool in the memory pool on a physical entity. It is recommended that values are assigned contiguously starting from 1 such that the index will be unique within a physical entity. Note that the index does not overlap among different memory pools." SYNTAX Unsigned32 (1..4294967295) -- MemPool cempMemPoolTable OBJECT-TYPE SYNTAX SEQUENCE OF CempMemPoolEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of memory pool monitoring entries for all physical entities on a managed system." ::= { cempMemPool 1 } cempMemPoolEntry OBJECT-TYPE SYNTAX CempMemPoolEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the memory pool monitoring table." INDEX { entPhysicalIndex, cempMemPoolIndex } ::= { cempMemPoolTable 1 } CempMemPoolEntry ::= SEQUENCE { cempMemPoolIndex CempMemPoolIndex, cempMemPoolType CempMemPoolTypes, cempMemPoolName SnmpAdminString, cempMemPoolPlatformMemory AutonomousType, cempMemPoolAlternate CempMemPoolIndexOrNone, cempMemPoolValid TruthValue, cempMemPoolUsed Gauge32, cempMemPoolFree Gauge32, cempMemPoolLargestFree Gauge32, cempMemPoolLowestFree Gauge32, cempMemPoolUsedLowWaterMark Gauge32, cempMemPoolAllocHit Counter32, cempMemPoolAllocMiss Counter32, cempMemPoolFreeHit Counter32, cempMemPoolFreeMiss Counter32, cempMemPoolShared Gauge32, cempMemPoolUsedOvrflw Gauge32, cempMemPoolHCUsed CounterBasedGauge64, cempMemPoolFreeOvrflw Gauge32, cempMemPoolHCFree CounterBasedGauge64, cempMemPoolLargestFreeOvrflw Gauge32, cempMemPoolHCLargestFree CounterBasedGauge64, cempMemPoolLowestFreeOvrflw Gauge32, cempMemPoolHCLowestFree CounterBasedGauge64, cempMemPoolUsedLowWaterMarkOvrflw Gauge32, cempMemPoolHCUsedLowWaterMark CounterBasedGauge64, cempMemPoolSharedOvrflw Gauge32, cempMemPoolHCShared CounterBasedGauge64 } cempMemPoolIndex OBJECT-TYPE SYNTAX CempMemPoolIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Within each physical entity, the unique value greater than zero, used to represent each memory pool. It is recommended that values are assigned contiguously starting from 1." ::= { cempMemPoolEntry 1 } cempMemPoolType OBJECT-TYPE SYNTAX CempMemPoolTypes MAX-ACCESS read-only STATUS current DESCRIPTION "The type of memory pool for which this entry contains information." ::= { cempMemPoolEntry 2 } cempMemPoolName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "A textual name assigned to the memory pool. This object is suitable for output to a human operator, and may also be used to distinguish among the various pool types." ::= { cempMemPoolEntry 3 } cempMemPoolPlatformMemory OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of the platform-specific memory pool type. The associated instance of cempMemPoolType is used to indicate the general type of memory pool. If no platform specific memory hardware type identifier exists for this physical entity, or the value is unknown by this agent, then the value { 0 0 } is returned." ::= { cempMemPoolEntry 4 } cempMemPoolAlternate OBJECT-TYPE SYNTAX CempMemPoolIndexOrNone MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates whether or not this memory pool has an alternate pool configured. Alternate pools are used for fallback when the current pool runs out of memory. If an instance of this object has a value of zero, then this pool does not have an alternate. Otherwise the value of this object is the same as the value of cempMemPoolType of the alternate pool." ::= { cempMemPoolEntry 5 } cempMemPoolValid OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates whether or not cempMemPoolUsed, cempMemPoolFree, cempMemPoolLargestFree and cempMemPoolLowestFree in this entry contain accurate data. If an instance of this object has the value false (which in and of itself indicates an internal error condition), the values of these objects in the conceptual row may contain inaccurate information (specifically, the reported values may be less than the actual values)." ::= { cempMemPoolEntry 6 } cempMemPoolUsed OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of bytes from the memory pool that are currently in use by applications on the physical entity." ::= { cempMemPoolEntry 7 } cempMemPoolFree OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of bytes from the memory pool that are currently unused on the physical entity. Note that the sum of cempMemPoolUsed and cempMemPoolFree is the total amount of memory in the pool" ::= { cempMemPoolEntry 8 } cempMemPoolLargestFree OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the largest number of contiguous bytes from the memory pool that are currently unused on the physical entity." ::= { cempMemPoolEntry 9 } cempMemPoolLowestFree OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The lowest amount of available memory in the memory pool recorded at any time during the operation of the system." ::= { cempMemPoolEntry 10 } cempMemPoolUsedLowWaterMark OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the lowest number of bytes from the memory pool that have been used by applications on the physical entity since sysUpTime.Similarly,the Used High Watermark indicates the largest number of bytes from the memory pool that have been used by applications on the physical entity since sysUpTime.This can be derived as follows: Used High Watermark = cempMemPoolUsed + cempMemPoolFree - cempMemPoolLowestFree." ::= { cempMemPoolEntry 11 } cempMemPoolAllocHit OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of successful allocations from the memory pool" ::= { cempMemPoolEntry 12 } cempMemPoolAllocMiss OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of unsuccessful allocations from the memory pool" ::= { cempMemPoolEntry 13 } cempMemPoolFreeHit OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of successful frees/ deallocations from the memory pool" ::= { cempMemPoolEntry 14 } cempMemPoolFreeMiss OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of unsuccessful attempts to free/deallocate memory from the memory pool. For example, this could be due to ownership errors where the application that did not assign the memory is trying to free it." ::= { cempMemPoolEntry 15 } cempMemPoolShared OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of bytes from the memory pool that are currently shared on the physical entity." ::= { cempMemPoolEntry 16 } cempMemPoolUsedOvrflw OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the upper 32-bits of cempMemPoolUsed. This object needs to be supported only if the used bytes in the memory pool exceeds 32-bits, otherwise this object value would be set to 0." ::= { cempMemPoolEntry 17 } cempMemPoolHCUsed OBJECT-TYPE SYNTAX CounterBasedGauge64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of bytes from the memory pool that are currently in use by applications on the physical entity. This object is a 64-bit version of cempMemPoolUsed." ::= { cempMemPoolEntry 18 } cempMemPoolFreeOvrflw OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the upper 32-bits of cempMemPoolFree. This object needs to be supported only if the unused bytes in the memory pool exceeds 32-bits, otherwise this object value would be set to 0." ::= { cempMemPoolEntry 19 } cempMemPoolHCFree OBJECT-TYPE SYNTAX CounterBasedGauge64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of bytes from the memory pool that are currently unused on the physical entity. This object is a 64-bit version of cempMemPoolFree." ::= { cempMemPoolEntry 20 } cempMemPoolLargestFreeOvrflw OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the upper 32-bits of cempMemPoolLargestFree. This object needs to be supported only if the value of cempMemPoolLargestFree exceeds 32-bits, otherwise this object value would be set to 0." ::= { cempMemPoolEntry 21 } cempMemPoolHCLargestFree OBJECT-TYPE SYNTAX CounterBasedGauge64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the largest number of contiguous bytes from the memory pool that are currently unused on the physical entity. This object is a 64-bit version of cempMemPoolLargestFree." ::= { cempMemPoolEntry 22 } cempMemPoolLowestFreeOvrflw OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the upper 32-bits of cempMemPoolLowestFree. This object needs to be supported only if the value of cempMemPoolLowestFree exceeds 32-bits, otherwise this object value would be set to 0." ::= { cempMemPoolEntry 23 } cempMemPoolHCLowestFree OBJECT-TYPE SYNTAX CounterBasedGauge64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The lowest amount of available memory in the memory pool recorded at any time during the operation of the system. This object is a 64-bit version of cempMemPoolLowestFree." ::= { cempMemPoolEntry 24 } cempMemPoolUsedLowWaterMarkOvrflw OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the upper 32-bits of cempMemPoolUsedLowWaterMark. This object needs to be supported only if the value of cempMemPoolUsedLowWaterMark exceeds 32-bits, otherwise this object value would be set to 0." ::= { cempMemPoolEntry 25 } cempMemPoolHCUsedLowWaterMark OBJECT-TYPE SYNTAX CounterBasedGauge64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the lowest number of bytes from the memory pool that have been used by applications on the physical entity since sysUpTime. This object is a 64-bit version of cempMemPoolUsedLowWaterMark." ::= { cempMemPoolEntry 26 } cempMemPoolSharedOvrflw OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the upper 32-bits of cempMemPoolShared. This object needs to be supported only if the value of cempMemPoolShared exceeds 32-bits, otherwise this object value would be set to 0." ::= { cempMemPoolEntry 27 } cempMemPoolHCShared OBJECT-TYPE SYNTAX CounterBasedGauge64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of bytes from the memory pool that are currently shared on the physical entity. This object is a 64-bit version of cempMemPoolShared." ::= { cempMemPoolEntry 28 } -- Buffer Pool cempMemBufferPoolTable OBJECT-TYPE SYNTAX SEQUENCE OF CempMemBufferPoolEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entries in this table define entities (buffer pools in this case) which are contained in an entity (memory pool) defined by an entry from cempMemPoolTable. -- Basic Pool Architecture -- 1)Pools are classified as being either Static or Dynamic. Static pools make no attempt to increase the number of buffers contained within them if the number of free buffers (cempMemBufferFree) are less than the number of minimum buffers (cempMemBufferMin). With Dynamic pools, the pool attempts to meet the demands of its users. 2)Buffers in a pool are classified as being either Permanent or Temporary. Permanent buffers, as their name suggests, are always in the pool and are never destroyed unless the number of permanent buffers (cempMemBufferPermanent) is changed. Temporary buffers are transient buffers that are created in dynamic pools whenever the free count (cempMemBufferFree) of buffers in the pool drops below the minimum (cempMemBufferMin). 3)Buffers pools are classified as either Public or Private. Public pools are available for all users to allocate buffers from. Private pools are primarily used by interface drivers." ::= { cempMemPool 2 } cempMemBufferPoolEntry OBJECT-TYPE SYNTAX CempMemBufferPoolEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This contains all the memory buffer pool configurations object values. The entPhysicalIndex identifies the entity on which memory buffer pools are present." INDEX { entPhysicalIndex, cempMemBufferPoolIndex } ::= { cempMemBufferPoolTable 1 } CempMemBufferPoolEntry ::= SEQUENCE { cempMemBufferPoolIndex CempMemBufferPoolIndex, cempMemBufferMemPoolIndex CempMemPoolIndex, cempMemBufferName SnmpAdminString, cempMemBufferDynamic TruthValue, cempMemBufferSize Unsigned32, cempMemBufferMin Unsigned32, cempMemBufferMax Unsigned32, cempMemBufferPermanent Unsigned32, cempMemBufferTransient Unsigned32, cempMemBufferTotal Gauge32, cempMemBufferFree Gauge32, cempMemBufferHit Counter32, cempMemBufferMiss Counter32, cempMemBufferFreeHit Counter32, cempMemBufferFreeMiss Counter32, cempMemBufferPermChange Integer32, cempMemBufferPeak Counter32, cempMemBufferPeakTime TimeStamp, cempMemBufferTrim Counter32, cempMemBufferGrow Counter32, cempMemBufferFailures Counter32, cempMemBufferNoStorage Counter32 } cempMemBufferPoolIndex OBJECT-TYPE SYNTAX CempMemBufferPoolIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Within a physical entity, a unique value used to represent each buffer pool." ::= { cempMemBufferPoolEntry 1 } cempMemBufferMemPoolIndex OBJECT-TYPE SYNTAX CempMemPoolIndex MAX-ACCESS read-only STATUS current DESCRIPTION "This index corresponds to the memory pool (with cemMemPoolIndex as index in cempMemPoolTable) from which buffers are allocated." ::= { cempMemBufferPoolEntry 2 } cempMemBufferName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "A textual name assigned to the buffer pool. This object is suitable for output to a human operator, and may also be used to distinguish among the various buffer types. For example: 'Small', 'Big', 'Serial0/1' etc." ::= { cempMemBufferPoolEntry 3 } cempMemBufferDynamic OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Boolean poolDynamic; if TRUE, the number of buffers in the pool is adjusted (adding more packet buffers or deleting excesses) dynamically by the background process. If FALSE, the number of buffers in the pool is never adjusted, even if it falls below the minimum, or to zero." ::= { cempMemBufferPoolEntry 4 } cempMemBufferSize OBJECT-TYPE SYNTAX Unsigned32 UNITS "bytes" MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the size of buffer element in number of bytes on the physical entity." ::= { cempMemBufferPoolEntry 5 } cempMemBufferMin OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the minimum number of free buffers allowed in the buffer pool or low-water mark (lwm). For example of its usage : If cempMemBufferFree < cempMemBufferMin & pool is dynamic, then signal for growth of particular buffer pool." ::= { cempMemBufferPoolEntry 6 } cempMemBufferMax OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the maximum number of free buffers allowed in the buffer pool or high-water mark (hwm). For example of its usage : If cempMemBufferFree > cempMemBufferMax & pool is dynamic, then signal for trim of particular buffer pool." ::= { cempMemBufferPoolEntry 7 } cempMemBufferPermanent OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the total number of permanent buffers in the pool on the physical entity." ::= { cempMemBufferPoolEntry 8 } cempMemBufferTransient OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the initial number of temporary buffers in the pool on the physical entity. This object instructs the system to create this many number of temporary extra buffers, just after a system restart. A change in this object will be effective only after a system restart." ::= { cempMemBufferPoolEntry 9 } cempMemBufferTotal OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the total number of buffers (include allocated and free buffers) in the buffer pool on the physical entity." ::= { cempMemBufferPoolEntry 10 } cempMemBufferFree OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the current number of free buffers in the buffer pool on the physical entity. Note that the cempMemBufferFree is less than or equal to cempMemBufferTotal." ::= { cempMemBufferPoolEntry 11 } cempMemBufferHit OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of buffers successfully allocated from the buffer pool." ::= { cempMemBufferPoolEntry 12 } cempMemBufferMiss OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of times a buffer has been requested, but no buffers were available in the buffer pool, or when there were fewer than min buffers(cempMemBufferMin) in the buffer pool. Note : For interface pools, a miss is actually a fall back to its corresponding public buffer pool." ::= { cempMemBufferPoolEntry 13 } cempMemBufferFreeHit OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of successful frees/deallocations from the buffer pool." ::= { cempMemBufferPoolEntry 14 } cempMemBufferFreeMiss OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of unsuccessful attempts to free/deallocate a buffer from the buffer pool. For example, this could be due to ownership errors where the application that did not assign the buffer is trying to free it." ::= { cempMemBufferPoolEntry 15 } cempMemBufferPermChange OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value is the difference of the desired number of permanent buffer & total number of permanent buffers present in the pool. A positive value of this object tells the number of buffers needed & a negative value of the object tells the extra number of buffers in the pool." ::= { cempMemBufferPoolEntry 16 } cempMemBufferPeak OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the peak number of buffers in pool on the physical entity." ::= { cempMemBufferPoolEntry 17 } cempMemBufferPeakTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the time of most recent change in the peak number of buffers (cempMemBufferPeak object) in the pool." ::= { cempMemBufferPoolEntry 18 } cempMemBufferTrim OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of buffers that have been trimmed from the pool when the number of free buffers (cempMemBufferFree) exceeded the number of max allowed buffers(cempMemBufferMax)." ::= { cempMemBufferPoolEntry 19 } cempMemBufferGrow OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of buffers that have been created in the pool when the number of free buffers(cempMemBufferFree) was less than minimum(cempMemBufferMix)." ::= { cempMemBufferPoolEntry 20 } cempMemBufferFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of failures to grant a buffer to a requester due to reasons other than insufficient memory. For example, in systems where there are different execution contexts, it may be too expensive to create new buffers when running in certain contexts. In those cases it may be preferable to fail the request." ::= { cempMemBufferPoolEntry 21 } cempMemBufferNoStorage OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the system tried to create new buffers, but could not due to insufficient free memory in the system." ::= { cempMemBufferPoolEntry 22 } -- Buffer Cache Pool cempMemBufferCachePoolTable OBJECT-TYPE SYNTAX SEQUENCE OF CempMemBufferCachePoolEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table that lists the cache buffer pools configured on a managed system. 1)To provide a noticeable performance boost, Cache Pool can be used. A Cache Pool is effectively a lookaside list of free buffers that can be accessed quickly. Cache Pool is tied to Buffer Pool. 2)Cache pools can optionally have a threshold value on the number of cache buffers used in a pool. This can provide flow control management by having a implementation specific approach such as invoking a vector when pool cache rises above the optional threshold set for it on creation." ::= { cempMemPool 3 } cempMemBufferCachePoolEntry OBJECT-TYPE SYNTAX CempMemBufferCachePoolEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry represents one of the cache buffer pools available in the system and it contains the parameters configured for it. Note : cempMemBufferCachePoolTable has a sparse dependency with cempMemBufferPoolTable (i.e all the entires in cempMemBufferPoolTable need not have an entry in cempMemBufferCachePoolTable." INDEX { entPhysicalIndex, cempMemBufferPoolIndex } ::= { cempMemBufferCachePoolTable 1 } CempMemBufferCachePoolEntry ::= SEQUENCE { cempMemBufferCacheSize Unsigned32, cempMemBufferCacheTotal Gauge32, cempMemBufferCacheUsed Gauge32, cempMemBufferCacheHit Counter32, cempMemBufferCacheMiss Counter32, cempMemBufferCacheThreshold Gauge32, cempMemBufferCacheThresholdCount Counter32 } cempMemBufferCacheSize OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of buffers in the cache pool on the physical entity." ::= { cempMemBufferCachePoolEntry 1 } cempMemBufferCacheTotal OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the maximum number of free buffers allowed in the cache pool." ::= { cempMemBufferCachePoolEntry 2 } cempMemBufferCacheUsed OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of cache buffers from the pool that are currently used on the physical entity. Note that the cempMemBufferCacheUsed is less than or equal to cempMemBufferCacheTotal." ::= { cempMemBufferCachePoolEntry 3 } cempMemBufferCacheHit OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of buffers successfully allocated from the cache pool." ::= { cempMemBufferCachePoolEntry 4 } cempMemBufferCacheMiss OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of times a buffer has been requested, but no buffers were available in the cache pool." ::= { cempMemBufferCachePoolEntry 5 } cempMemBufferCacheThreshold OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the threshold limit for number of cache buffers used(cempMemBufferCacheUsed)." ::= { cempMemBufferCachePoolEntry 6 } cempMemBufferCacheThresholdCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates how many times the number of cache buffers used(cempMemBufferCacheUsed) has crossed the threshold value(cempMemBufferCacheThreshold)." ::= { cempMemBufferCachePoolEntry 7 } -- Notification Configuration cempMemBufferNotifyEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This variable controls generation of the cempMemBufferNotify. When this variable is 'true', generation of cempMemBufferNotify is enabled. When this variable is 'false', generation of cempMemBufferNotify is disabled." DEFVAL { false } ::= { cempNotificationConfig 1 } -- Notifications cempMemBufferNotify NOTIFICATION-TYPE OBJECTS { cempMemBufferName, cempMemBufferPeak, cempMemBufferPeakTime } STATUS current DESCRIPTION "Whenever cempMemBufferPeak object is updated in the buffer pool, a cempMemBufferNotify notification is sent. The sending of these notifications can be enabled/disabled via the cempMemBufferNotifyEnabled object." ::= { cempMIBNotifications 1 } cempMIBConformance OBJECT IDENTIFIER ::= { ciscoEnhancedMemPoolMIB 3 } cempMIBCompliances OBJECT IDENTIFIER ::= { cempMIBConformance 1 } cempMIBGroups OBJECT IDENTIFIER ::= { cempMIBConformance 2 } -- Conformance cempMIBCompliance MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for entities which implement the Cisco Enhanced MemPool MIB." MODULE -- this module MANDATORY-GROUPS { cempMemPoolGroup } GROUP cempMemPoolExtGroup DESCRIPTION "This group is optional for all entities." ::= { cempMIBCompliances 1 } cempMIBComplianceRev1 MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for entities which implement the Cisco Enhanced MemPool MIB. This compliance module deprecates cempMIBCompliance." MODULE -- this module MANDATORY-GROUPS { cempMemPoolGroup, cempMemBufferGroup } GROUP cempMemPoolExtGroupRev1 DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if mempool statistics is required.This group is defined after deprecating cempMemPoolExtGroup." GROUP cempMemBufferExtGroup DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if bufferpool statistics is required." GROUP cempMemBufferNotifyEnableGroup DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if bufferpool statistics is required." GROUP cempMemBufferNotifyGroup DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if bufferpool statistics is required." ::= { cempMIBCompliances 2 } cempMIBComplianceRev2 MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for entities which implement the Cisco Enhanced MemPool MIB. This compliance module deprecates cempMIBComplianceRev1." MODULE -- this module MANDATORY-GROUPS { cempMemPoolGroupRev1, cempMemBufferGroup } GROUP cempMemPoolExtGroupRev1 DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if mempool statistics is required.This group is defined after deprecating cempMemPoolExtGroup." GROUP cempMemBufferExtGroup DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if bufferpool statistics is required." GROUP cempMemBufferNotifyEnableGroup DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if bufferpool statistics is required." GROUP cempMemBufferNotifyGroup DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if bufferpool statistics is required." ::= { cempMIBCompliances 3 } cempMIBComplianceRev3 MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the Cisco Enhanced MemPool MIB. This compliance module deprecates cempMIBComplianceRev2." MODULE -- this module MANDATORY-GROUPS { cempMemPoolGroupRev1, cempMemBufferGroup } GROUP cempMemPoolExtGroupRev1 DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if mempool statistics is required.This group is defined after deprecating cempMemPoolExtGroup." GROUP cempMemBufferExtGroup DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if bufferpool statistics is required." GROUP cempMemBufferNotifyEnableGroup DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if bufferpool statistics is required." GROUP cempMemBufferNotifyGroup DESCRIPTION "This group is optional for all entities. Support for these objects is mandatory if bufferpool statistics is required" GROUP cempMemPoolHCGroup DESCRIPTION "This group is optional for the entities which do not support memory pools greater than 32bits in size." GROUP cempMemPoolOvrflwGroup DESCRIPTION "This group is optional for the entities which do not support memory pools greater than 32bits in size." ::= { cempMIBCompliances 4 } -- Units of Conformance cempMemPoolGroup OBJECT-GROUP OBJECTS { cempMemPoolType, cempMemPoolName, cempMemPoolValid, cempMemPoolUsed, cempMemPoolFree } STATUS deprecated DESCRIPTION "A collection of objects providing memory pool monitoring." ::= { cempMIBGroups 1 } cempMemPoolExtGroup OBJECT-GROUP OBJECTS { cempMemPoolPlatformMemory, cempMemPoolAlternate, cempMemPoolLargestFree, cempMemPoolLowestFree } STATUS deprecated DESCRIPTION "A collection of objects providing additional memory pool information. This group is deprecated as new objects cempMemPoolUsedLowWaterMark, cempMemPoolAllocHit, cempMemPoolAllocMiss, cempMemPoolFreeHit, cempMemPool are being added. A new group cempMemPoolExtGroupRev1 is being added in it's place." ::= { cempMIBGroups 2 } cempMemBufferGroup OBJECT-GROUP OBJECTS { cempMemBufferMemPoolIndex, cempMemBufferName, cempMemBufferDynamic, cempMemBufferSize, cempMemBufferMin, cempMemBufferMax, cempMemBufferPermanent, cempMemBufferTransient, cempMemBufferTotal, cempMemBufferFree, cempMemBufferHit, cempMemBufferMiss, cempMemBufferFreeHit, cempMemBufferFreeMiss, cempMemBufferPermChange, cempMemBufferPeak, cempMemBufferPeakTime, cempMemBufferTrim, cempMemBufferGrow, cempMemBufferFailures, cempMemBufferNoStorage } STATUS current DESCRIPTION "A collection of objects providing memory buffer pool monitoring." ::= { cempMIBGroups 3 } cempMemBufferExtGroup OBJECT-GROUP OBJECTS { cempMemBufferCacheSize, cempMemBufferCacheTotal, cempMemBufferCacheUsed, cempMemBufferCacheHit, cempMemBufferCacheMiss, cempMemBufferCacheThreshold, cempMemBufferCacheThresholdCount } STATUS current DESCRIPTION "A collection of objects providing additional memory buffer pool monitoring." ::= { cempMIBGroups 4 } cempMemBufferNotifyEnableGroup OBJECT-GROUP OBJECTS { cempMemBufferNotifyEnabled } STATUS current DESCRIPTION "A group of objects related to enabling notifications." ::= { cempMIBGroups 5 } cempMemBufferNotifyGroup NOTIFICATION-GROUP NOTIFICATIONS { cempMemBufferNotify } STATUS current DESCRIPTION "A group of notifications providing additional memory buffer pool monitoring." ::= { cempMIBGroups 6 } cempMemPoolExtGroupRev1 OBJECT-GROUP OBJECTS { cempMemPoolPlatformMemory, cempMemPoolAlternate, cempMemPoolLargestFree, cempMemPoolLowestFree, cempMemPoolUsedLowWaterMark, cempMemPoolAllocHit, cempMemPoolAllocMiss, cempMemPoolFreeHit, cempMemPoolFreeMiss } STATUS current DESCRIPTION "A group of objects providing additional memory pool information.This group deprecates cempMemPoolExtGroup." ::= { cempMIBGroups 7 } cempMemPoolGroupRev1 OBJECT-GROUP OBJECTS { cempMemPoolType, cempMemPoolName, cempMemPoolValid, cempMemPoolUsed, cempMemPoolFree, cempMemPoolShared } STATUS current DESCRIPTION "A collection of objects providing memory pool monitoring. This group deprecates cempMemPoolGroup." ::= { cempMIBGroups 8 } cempMemPoolHCGroup OBJECT-GROUP OBJECTS { cempMemPoolHCUsed, cempMemPoolHCFree, cempMemPoolHCLargestFree, cempMemPoolHCLowestFree, cempMemPoolHCUsedLowWaterMark, cempMemPoolHCShared } STATUS current DESCRIPTION "A collection of High Capacity(HC) objects providing memory pool monitoring." ::= { cempMIBGroups 9 } cempMemPoolOvrflwGroup OBJECT-GROUP OBJECTS { cempMemPoolUsedOvrflw, cempMemPoolFreeOvrflw, cempMemPoolLargestFreeOvrflw, cempMemPoolLowestFreeOvrflw, cempMemPoolUsedLowWaterMarkOvrflw, cempMemPoolSharedOvrflw } STATUS current DESCRIPTION "A collection of Overflow (Ovrflw) objects providing memory pool monitoring." ::= { cempMIBGroups 10 } END